<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>RIOT News</title>
  <subtitle>Releases and notes from the Radical Image Optimization Tool — a free image optimizer.</subtitle>
  <link href="https://riot-optimizer.com/feed.xml" rel="self" />
  <link href="https://riot-optimizer.com/" />
  <id>https://riot-optimizer.com/</id>
  <updated>2026-09-18T12:00:00Z</updated>
  <author>
    <name>Lucian Sabo</name>
  </author>
  <entry>
    <title>RIOT 2026.10 — folders, saved settings, and a portable Windows build</title>
    <link href="https://riot-optimizer.com/news/riot-2026-10/" />
    <id>https://riot-optimizer.com/news/riot-2026-10/</id>
    <updated>2026-09-18T12:00:00Z</updated>
    <published>2026-09-18T12:00:00Z</published>
    <summary>Drop folders, reopen Last Used settings, open images from the file manager, and run a portable Windows zip. Collision handling is safer, and the batch summary reports skips and warnings.</summary>
    <content type="html"><![CDATA[<p>RIOT 2026.10 is the second public build of the rebuilt <strong>Radical Image Optimization Tool</strong>. The optimizer, compare view, and codecs from 2026.9 are still there. This release is about getting pictures in, keeping the settings you already chose, and writing results without stepping on files you meant to keep.</p>

<h2>Save your settings</h2>
<p>Encode options no longer reset when you quit. The Preset control above Output format offers <strong>Default Settings</strong> (factory encode and handling) and <strong>Last Used</strong> (the left-column job you actually ran, including automatic preview). Last Used is stored in the preferences file and restored on the next launch. Destination folder is remembered separately, as is whether File handling, Metadata, Transparency, and Animation panels are expanded.</p>
<figure>
  <img src="/news/riot-2026-10/media/preset.webp" width="1120" height="208" alt="Preset control open on Default Settings, with Default Settings and Last Used in the menu">
  <figcaption>Preset sits above Output format. Last Used comes back the next time you open the app.</figcaption>
</figure>

<h2>Collision policy</h2>
<p>File handling now has an explicit collision policy. <strong>Don’t replace</strong> leaves the existing file and marks the item Skipped. <strong>Use a unique name</strong> (the default) writes beside the collision — a format change becomes <code>photo.png.webp</code>, then a timestamp if needed; the same format becomes <code>photo_timestamp.jpg</code>. <strong>Replace</strong> overwrites a same-format destination; overwriting a different extension needs a separate checkbox, off by default. If <code>photo.webp</code> already sits next to <code>photo.png</code>, RIOT will not replace that sibling unless you asked it to.</p>
<figure>
  <img src="/news/riot-2026-10/media/collision.webp" width="808" height="330" alt="File handling panel with If a file exists open: Don’t replace, Use a unique name, and Replace">
  <figcaption>If a file exists: skip it, write a unique name, or replace. Unique name is the default.</figcaption>
</figure>
<p>When an auto encode is not smaller, the list shows a warning instead of a quiet success, and the original is left alone unless Replace is on. Delete originals runs only after a real, different optimized file is written.</p>

<h2>Portable version for Windows</h2>
<p>Alongside the installer there is a Windows portable zip. Extract it and run; settings live in a <code>riot-gui.ini</code> next to the executable when that file is writable, so a USB stick or a shared machine does not touch the usual AppData profile. Installed copies still use the per-user config directory, as before.</p>

<h2>Drag and drop folders</h2>
<p>Drop a folder onto the list and RIOT collects the images inside. If that folder has subfolders, it asks whether to include those too. The same choice is on the menu: <strong>Add folder</strong> for one directory, <strong>Add folder (recursive)</strong> for the tree. You can point the app at a directory from the command line as well — <code>--folder</code> or <code>--folder--recursive</code> — and repeat either flag.</p>

<h2>Open with, and a file on the command line</h2>
<p>Pass one or more image paths when you start RIOT and they land in the list. A single file opens straight in compare; several files are queued for a batch. That is what file-manager <strong>Open with</strong> uses, including the Linux desktop entry. Missing paths are reported instead of failing silently.</p>

<h2>Fixes</h2>
<p>The batch summary now counts skipped files and warnings, not only successes and errors. A re-encode that grew the file is flagged. Unique names are not invented for a copy of the original you were about to discard. In-place Don’t replace skips rather than rewriting the source.</p>

<p>Download 2026.10 from the <a href="/download/">download</a> page. The full list is in the <a href="/changelog/2026.10/">changelog</a>.</p>
]]></content>
  </entry>
  <entry>
    <title>RIOT 2026.9 — a new generation of the image optimizer</title>
    <link href="https://riot-optimizer.com/news/riot-2026-9/" />
    <id>https://riot-optimizer.com/news/riot-2026-9/</id>
    <updated>2026-09-01T12:00:00Z</updated>
    <published>2026-09-01T12:00:00Z</published>
    <summary>The first release of the rebuilt Radical Image Optimization Tool: a native desktop image optimizer for macOS, Windows, and Linux, with automatic analysis, multi-core batches, and live compare.</summary>
    <content type="html"><![CDATA[<p>RIOT 2026.9 is the first release of the rebuilt <strong>Radical Image Optimization Tool</strong> — a free desktop <strong>image optimizer</strong> for macOS, Windows, and Linux. It keeps the idea that made RIOT useful in 2008: squeeze image files without a trip through a browser or a cloud, and <em>see</em> the result before you commit.</p>

<p>This is a new application, written for today’s machines. It is not a skin on the classic Windows build. What it offers:</p>

<h2>New Optimization Engine</h2>
<p>A high-performance parallel processing engine sits under 2026.9, and it will be the core of every RIOT optimizer version from here on. There are plans for a web version, a highly performant Linux image optimization server, and likely a cloud-hosted, API-accessible service.</p>
<p>The engine for those future server and cloud versions is built for high throughput, with horizontal scaling when demand requires it. If you are interested in any of these, <a href="/contact/">contact us</a>.</p>

<h2>Automatic image optimization</h2>
<p>Drop photographs, screenshots, or graphics in and choose an Auto preset — HQ, Standard, Eco, or Lossless. RIOT analyses each file: how many colours it really uses, whether it behaves like a photo or a drawing, how much texture it has, and how hard the original was already compressed. Those signals pick lossless versus lossy encoding, quality, chroma subsampling, and palette size. Manual mode is still there when you want every knob.</p>

<h2>Multi-core batches</h2>
<p>Optimization is parallel. The app runs one worker per CPU core so a folder of images is processed together, with a live progress bar, cancel, and a summary of files processed, elapsed time, and bytes saved.</p>

<h2>Compare and preview</h2>
<p>Double-click a file for a curtain compare of original and optimized. Pan, zoom, and drag the split. The preview is encoded with your current settings, not a guess — including animated frames. A hold-to-swap control lets you flip sides instantly. Image info lists attributes for both files side by side.</p>
<p>Only the visible crop is painted each frame, so a 12,000×8,000 photograph pans and zooms as cheaply as a snapshot. Smaller copies for zoomed-out views are built only when needed — fitting the window never pays for work you will not see. Zoomed out, the picture stays smooth; zoomed in past actual size, RIOT shows real pixels. That is faster to draw, and it is how you actually judge compression artifacts.</p>

<h2>Formats and codecs</h2>
<p>Open JPEG, PNG, WebP, GIF, TIFF, HEIC, and AVIF. Save to JPEG, PNG, WebP, and GIF. JPEG uses a high-efficiency encoder with progressive scans and careful chroma. PNG offers a slower maximum-compression pass. WebP can be lossless, near-lossless, or lossy. <strong>Optimal</strong> format tries a smaller container and keeps the source file when it is already smaller. <strong>Original</strong> format stays in a supported source type.</p>

<h2>Resize, palettes, metadata, files</h2>
<p>Resize by pixels or percent, with aspect lock and a choice of resample filter. Quantization (2–256 colours, dither, effort) is available for PNG, WebP, and GIF in manual mode. Metadata can be stripped or kept (EXIF, XMP, IPTC, ICC, and other). Transparency can be preserved, blended to a colour, or made opaque. File handling covers overwrite, backup, delete originals, and original timestamps.</p>

<h2>Animation</h2>
<p>GIF, WebP, and AVIF animations keep their frames unless you ask to flatten to the first frame. Compare plays both sides with each file’s delays.</p>

<h2>Desktop, your way</h2>
<p>Light, dark, or system theme. English, Spanish, and Romanian, switchable at runtime. Bug reports and feature ideas go to the <a href="https://feedback.riot-optimizer.com/">User Portal</a>.</p>

<p>RIOT remains free. Work on the tool started in 2004; the first public release was in 2008. Version 2026.9 is the start of the cross-platform line — current, previous, and selected stable builds will stay listed on the <a href="/download/">download</a> page, each with its <a href="/changelog/2026.9/">changelog</a>.</p>
]]></content>
  </entry>
</feed>
