<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Version 2.2.1 on RawCull</title><link>https://rawcull.netlify.app/tags/version-2.2.1/</link><description>Recent content in Version 2.2.1 on RawCull</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 27 Jun 2026 09:54:41 +0200</lastBuildDate><atom:link href="https://rawcull.netlify.app/tags/version-2.2.1/index.xml" rel="self" type="application/rss+xml"/><item><title>Version 2.2.1</title><link>https://rawcull.netlify.app/blog/2026/06/27/version-2.2.1/</link><pubDate>Sat, 27 Jun 2026 00:00:00 +0000</pubDate><guid>https://rawcull.netlify.app/blog/2026/06/27/version-2.2.1/</guid><description>&lt;h1 id="rawcull-changelog--v218--221"&gt;RawCull Changelog — v2.1.8 → 2.2.1&lt;a class="td-heading-self-link" href="#rawcull-changelog--v218--221" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;To be submitted for update on &lt;a href="https://apps.apple.com/no/app/rawcull/id6759362764?mt=12"&gt;Apple App Store&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="-added"&gt;✨ Added&lt;a class="td-heading-self-link" href="#-added" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added native parsing and display of rsync itemized output.&lt;/li&gt;
&lt;li&gt;Added categorized output rows for added, updated, deleted, metadata-only, and unknown rsync changes.&lt;/li&gt;
&lt;li&gt;Added support for both rsync and openrsync itemized output formats.&lt;/li&gt;
&lt;li&gt;Added burst-analysis regression documentation in &lt;code&gt;issues.md&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-burst-grouping"&gt;🧠 Burst Grouping&lt;a class="td-heading-self-link" href="#-burst-grouping" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Reworked burst-analysis task ownership so cancellation now controls the full analysis pipeline.&lt;/li&gt;
&lt;li&gt;Added generation and catalog checks to prevent old burst-analysis work from publishing stale results.&lt;/li&gt;
&lt;li&gt;Added completed-analysis scope tracking so review-state saves use the same file set that produced the analysis.&lt;/li&gt;
&lt;li&gt;Added a complete burst similarity cache signature including sensitivity, Vision revision, thumbnail size, embedding pipeline version, and grouping config.&lt;/li&gt;
&lt;li&gt;Incremented burst-analysis cache schema to invalidate incompatible older cache files.&lt;/li&gt;
&lt;li&gt;Restored burst review states by exact group membership instead of transient group IDs.&lt;/li&gt;
&lt;li&gt;Excluded singleton groups from burst review queues and review counts while keeping them visible in the grid.&lt;/li&gt;
&lt;li&gt;Simplified burst group headers to focus on opening, reviewing, and deferring groups.&lt;/li&gt;
&lt;li&gt;Simplified burst comparison overlay with a lighter back/inspector hint control.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-performance--reliability"&gt;⚡ Performance &amp;amp; Reliability&lt;a class="td-heading-self-link" href="#-performance--reliability" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Moved burst cache JSON encoding and decoding off &lt;code&gt;MainActor&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Added cancellation checks around cache load/save operations.&lt;/li&gt;
&lt;li&gt;Reworked similarity embedding generation to stay within structured concurrency.&lt;/li&gt;
&lt;li&gt;Prevented cancelled or superseded similarity indexing jobs from committing stale embeddings.&lt;/li&gt;
&lt;li&gt;Added score revision tracking to sharpness scoring.&lt;/li&gt;
&lt;li&gt;Improved culling grid cache invalidation by tracking full group membership, visible file identity, score revision, and max score.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-fixed"&gt;🐛 Fixed&lt;a class="td-heading-self-link" href="#-fixed" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixed cancelled burst analysis applying late cache results.&lt;/li&gt;
&lt;li&gt;Fixed catalog cancellation leaving burst-analysis state behind.&lt;/li&gt;
&lt;li&gt;Fixed cache reuse after changing burst sensitivity or embedding configuration.&lt;/li&gt;
&lt;li&gt;Fixed review states moving to the wrong burst after regrouping.&lt;/li&gt;
&lt;li&gt;Fixed singleton images appearing as reviewable burst work.&lt;/li&gt;
&lt;li&gt;Fixed stale culling grid render cache results when middle files, group membership, or sharpness scores changed.&lt;/li&gt;
&lt;li&gt;Fixed review-state persistence overwriting cache snapshots with the wrong analysis scope.&lt;/li&gt;
&lt;li&gt;Fixed main-thread stalls from large burst cache serialization.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-maintenance"&gt;🧹 Maintenance&lt;a class="td-heading-self-link" href="#-maintenance" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Removed the &lt;code&gt;RsyncAnalyse&lt;/code&gt; package dependency.&lt;/li&gt;
&lt;li&gt;Updated app version/build settings to &lt;code&gt;2.2.1&lt;/code&gt; / build &lt;code&gt;221&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Updated README release information for &lt;code&gt;v2.1.8&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>