<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://amigo-labs.dev/releases.xml</id>
  <title>amigo-labs releases</title>
  <link href="https://amigo-labs.dev/releases/"/>
  <link rel="self" href="https://amigo-labs.dev/releases.xml"/>
  <updated>2026-11-12T11:47:44Z</updated>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.12.0</id>
    <title>Pincel 1.12.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.12.0"/>
    <updated>2026-11-12T11:47:44Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; add Edit &amp;gt; Settings... (Cmd+,) to the native macOS menu (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/bf94c4c21fccf72b07eaea945689ec182d51377f&quot;&gt;bf94c4c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; add files_exist to tell which recent paths still hold a file (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3a93b29b3dbd9976092be2a9f75224eae64dcb1c&quot;&gt;3a93b29&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; add the Settings dialog and move app settings out of View (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/84b71c6463611c21fad2497086e9e5071eb7ca9b&quot;&gt;84b71c6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; remove recent files whose file was deleted (AC-30, AC-31) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/33a7f50cb279a1566054265b2e240a5b0d24fe6f&quot;&gt;33a7f50&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; settings dialog and a tidy View menu (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8f879b3b7c4068dfea354c57f86b5058b1dcf345&quot;&gt;8f879b3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; show the clipboard card in the start screen between the New cards and the clipboard row (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/361f5921f6fe60accc23e392b87f576278701688&quot;&gt;361f592&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; mark OpenRaster entries as made on Unix on every platform (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ee89225003c9f4daf5d89f0592a835c6bd6a47bd&quot;&gt;ee89225&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; accept today&amp;#39;s release wasm in the perf setup (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/175aa5cc6bfe74be70d9c925d1c8a3c81666eca1&quot;&gt;175aa5c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; drop deleted recent files and place the clipboard card in the start screen (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/416bf7c714bd902c3156ba369b14093d894ba250&quot;&gt;416bf7c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; find the bundle&amp;#39;s wasm at its root path in the perf setup (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8da8218394c2f2eacededf5102ebfa32dc152087&quot;&gt;8da8218&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Performance Improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;faster convolutions, job digest pins and a working pnpm perf (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3302708d747601b984d442137337081af82cd47b&quot;&gt;3302708&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; convolve rows without per-tap clamping (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b8f85ad5b93304d2b5a3ede8878bc15fa7bef975&quot;&gt;b8f85ad&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; skip edge clamping inside the 3x3 convolution (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/275c3c5bc8b28ef13619dcf2ff1a84614edb9c6f&quot;&gt;275c3c5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; flatten over a background through lookup tables (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/caf9f64558251ea0ec5c355e7e73c272b27dbadc&quot;&gt;caf9f64&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; Image-mode quick wins for export, selection, open, thumbnails and redraw (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/1cbb72c452916190ad4885156f729b86f67faae9&quot;&gt;1cbb72c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; move decoded RGBA8 pixels instead of copying (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6e88011399a45241eb4384ffd9c8f5edb601d443&quot;&gt;6e88011&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; run selection modifiers in O(1) per pixel (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b4316d35043dd3377800111076994154139043c5&quot;&gt;b4316d3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; track a selection generation on the command bus (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8f5c4750d1d97a376a05f19d4dce40a68973face&quot;&gt;8f5c475&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; compose group thumbnails at thumbnail size (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/03b51f9118ba0afd628918c271a212d4e7920e05&quot;&gt;03b51f9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; report the selection generation in DocumentInfo (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/692788d98c308fcbb12475bbc04bfe3007d5ec61&quot;&gt;692788d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; present each Image-mode canvas change once per frame (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/2a5f98e6705f08a661b2ca0b2262f3bdff3c7a2e&quot;&gt;2a5f98e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; rebuild the selection outline only when the selection changes (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4ab193a9f93cccaa3720569df657a6c58761466a&quot;&gt;4ab193a&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.11.0</id>
    <title>Pincel 1.11.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.11.0"/>
    <updated>2026-11-12T07:46:08Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; describe font.list and font matching in pincel://guide (AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4ca94629429c3555fd9eedeeca4bf60593726633&quot;&gt;4ca9462&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; font.list and a font argument for draw.text (AC-01..AC-08, AC-10, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/7f061a25f7ad335e288b9a1990b6f7cfdd557993&quot;&gt;7f061a2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; run the tools on a document an editor owns (AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/19c43c61d0ae7014b619cec01455f0158e99eca3&quot;&gt;19c43c6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; draw text with a face of a font collection (AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6d28c9c46898cb054b436a2febd40b5e97707cc1&quot;&gt;6d28c9c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; text faces with a collection index and a live font edit (AC-07, AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4f21b53e73781b67961c873cbc8eda1a5cb2fe4c&quot;&gt;4f21b53&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; agent_call on the open document (AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a5a595e4eb20a0f684ba84f72063d060bfadfa6b&quot;&gt;a5a595e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; OCR session over a snapshot&amp;#39;s source area (AC-03, AC-10, AC-11, AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/bccc6b1c6676913c457b4712dcf754c269c1a172&quot;&gt;bccc6b1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; read and write palette files (AC-03, AC-04, AC-07, AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/421d265acf8337df01080ff3c542c220c4b404f4&quot;&gt;421d265&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; register_font takes an optional face index (AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/fb90e5b3e7a157b00ff9ac545be7413f741cadf9&quot;&gt;fb90e5b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-mcp:&lt;/strong&gt; offer the system&amp;#39;s fonts to draw.text and font.list (AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/74260004f13e8e1c08268f9112ab9d06936440d6&quot;&gt;7426000&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-ocr:&lt;/strong&gt; read whole pages in reading order (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4c96d9f095ea90a4ae188b23b6f1a6386736690a&quot;&gt;4c96d9f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-ocr:&lt;/strong&gt; read whole pages in reading order (AC-01, AC-02, AC-03, AC-04, AC-05, AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4ddfcd2f966d939d1cd2b0add4f07aa015dc589a&quot;&gt;4ddfcd2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-palette:&lt;/strong&gt; add shared palette file codec crate (AC-21) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/87539fa0a847a4e696ca6daebfa8bc47c689a3fb&quot;&gt;87539fa&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; agentCall on the open document (AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/00efee81139a1aa250c48dc64a5f97bbb0df4d88&quot;&gt;00efee8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; registerFont takes an optional face index (AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9223b093753a73b98de7e732360982b0693c0fa9&quot;&gt;9223b09&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; find, start and connect a ComfyUI server (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8fc7fca988d8bbf96ac708c54003674564c17dd4&quot;&gt;8fc7fca&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; find, start and end ComfyUI servers (AC-02 – AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9a8678cf0c888ae22891b7539de52011af524bfc&quot;&gt;9a8678c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; let the desktop app download the OCR models from pincel.amigo-labs.dev (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f3a96e47b29e13e1ea2cc2248397103ca1bb474c&quot;&gt;f3a96e4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; list system fonts with fontdb and read a listed font file (AC-15, AC-16) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8829edd1c9e4dd024edb736c591a79017fb00de5&quot;&gt;8829edd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; live MCP endpoint for agents on the open documents (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/85127e2435d3340be86098bc63e3984651429152&quot;&gt;85127e2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; live MCP endpoint on 127.0.0.1 (AC-05, AC-06, AC-08, AC-22, AC-23) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/2bb23a599ebc4ed81e2628f2947caf7e2087ae5e&quot;&gt;2bb23a5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; reach ComfyUI over HTTPS through reqwest and rustls (AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3ba039be9b4c3486af2a066b3c3ed45e4e83c345&quot;&gt;3ba039b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; font family list in the Pixel and Image Text tools (AC-01, AC-03, AC-04, AC-06, AC-07, AC-08, AC-09, AC-10, AC-12 – AC-14, AC-18, AC-22) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9b55740f7c22ebcb539b14507b0c46d9fe2931ed&quot;&gt;9b55740&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; font sources, face choice and added fonts for the Text tools (AC-02, AC-05, AC-07, AC-11, AC-20, AC-21, AC-23, AC-24) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/5c108be74ed911e22ca2e14991931c97bc85abe3&quot;&gt;5c108be&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; installed fonts in both Text tools (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f42ecabea879f08ee5e5f57914da6e9be7442c96&quot;&gt;f42ecab&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; load, save and reset Image mode&amp;#39;s palette (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f851ecf3e7d785330acad8ca8b7ea4918e2547d7&quot;&gt;f851ecf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; load, save, extend and reset Image mode&amp;#39;s palette (AC-01..AC-20, AC-22..AC-25) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/5cd3e20d54c57c6ffb1dd5828c86642a47a455b6&quot;&gt;5cd3e20&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; open the clipboard from the start screen as a pixel sprite or an image (AC-34, AC-35, AC-36, AC-37, AC-38) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9dd879328850b34444e3a0b75217f212880c2674&quot;&gt;9dd8793&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; run live agent calls on the open documents (AC-07, AC-09, AC-10, AC-11, AC-15, AC-16, AC-17, AC-18, AC-19) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/d6ff138081c04cd6b28a32f0c9d5beb24b44e9a7&quot;&gt;d6ff138&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Tools &amp;gt; Recognize Text dialog with the model download on first use (AC-01, AC-02, AC-03, AC-04, AC-07, AC-16, AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/653b05b07ed8fba13960ac00c8266494b7a6eb3e&quot;&gt;653b05b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Tools ▸ Recognize Text with the OCR model download on first use (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/1eabaa8ae17d828e26ff710ec7fadfe968f7256b&quot;&gt;1eabaa8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; View ▸ AI Agents… and the AI connected indicator (AC-01, AC-02, AC-03, AC-04, AC-12, AC-13, AC-14, AC-20, AC-21) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/16532b4a25a42b30c6322a99e18acecd1b8c9740&quot;&gt;16532b4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; View ▸ Image generation… dialog for the ComfyUI connection (AC-01 – AC-08, AC-11 – AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f4c170a688a40b808236426e3037e30d57c31e8f&quot;&gt;f4c170a&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; a chat that cannot store the port leaves nothing listening (AC-03) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f8af412fc5fb7f8571c780dbd5714b6d04983ea6&quot;&gt;f8af412&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; end stale sessions on a new token and stay off when the config cannot be written (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e7ffbd8400ea5b6ad105bea703216e975dc4a924&quot;&gt;e7ffbd8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; create the OCR model store in profiles already at schema 3 (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8e7e8a4a03e170c7bba0632c02cf7fb0c24f9dbf&quot;&gt;8e7e8a4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; read background Pixel tabs for doc.list without switching them (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/18d63b7e0257d7eb6e28734d24936a6fa9d9baef&quot;&gt;18d63b7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; render an added family from its added faces, never a system face (AC-05) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/974a18674d9a144d24963faa15f839cc820c66e2&quot;&gt;974a186&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-krake/releases/tag/krake-v0.1.0</id>
    <title>Krake 0.1.0</title>
    <link href="https://amigo-labs.dev/krake/releases/#krake-v0.1.0"/>
    <updated>2026-11-11T09:27:34Z</updated>
    <content type="html">&lt;h3&gt;⚠ BREAKING CHANGES&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;the workspace package names and the SDK&amp;#39;s CLI name changed.&lt;/li&gt;
&lt;li&gt;the database, config, temp and container paths are renamed (migrated automatically on start, except custom bind mounts onto /etc/amigo/plugins, which must now target /etc/krake/plugins).&lt;/li&gt;
&lt;li&gt;the build-time keys are read only as KRAKE_REGISTRY_PUBKEY_HEX and KRAKE_UPDATE_PUBKEY_HEX, and the signing script only takes KRAKE_UPDATE_SIGNING_KEY. The workflows map them from the unchanged AMIGO_* repository variables and secret.&lt;/li&gt;
&lt;li&gt;the crates and their library paths are renamed.&lt;/li&gt;
&lt;li&gt;name the desktop executable Krake&lt;/li&gt;
&lt;li&gt;the desktop app has a new bundle identifier.&lt;/li&gt;
&lt;li&gt;the container image has a new name.&lt;/li&gt;
&lt;li&gt;the binaries and release archives have new names.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;/spec-verify updates spec status and acceptance criteria (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/3e7c924a0c58c7895932bcec91de2f5b51520678&quot;&gt;3e7c924&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;10 UX features — tab badge, relative time, sort, delete confirm, system theme, compact view, bandwidth limit, context menu, notifications, progress ring (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a3470481b4abac5477f285cd41d107b74abbd738&quot;&gt;a347048&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add /spec-fix skill + update CLAUDE.md with all 5 skills (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/97c13c64be74f8eb19066ea9179a08dad30b7911&quot;&gt;97c13c6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add automated release management with release-please (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/fcbe87f1ccb140f4a5f6c16f3b7ed4286a72d7dc&quot;&gt;fcbe87f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add automated release management with release-please (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ce29bd68d4bfc2d2e1d4d74a62ececc884ddb010&quot;&gt;ce29bd6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add captcha UI, webhook settings, and notification frontend (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/8fa6a3827c3c75cdd41c062890ae7555bcd8a419&quot;&gt;8fa6a38&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add chunk persistence and resumable chunked downloads (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/8ef2ca552ab72d851325ed155123eb0617b8e7ba&quot;&gt;8ef2ca5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add crypto, captcha manager, notifications, and webhook system (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ee40ee1b8347b62f87bd87350aafbcc99893e36b&quot;&gt;ee40ee1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add Docker support with container management script and update docker-compose configuration (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ecc0a58bf9355ea637b013fa8f9bd0e8d827a954&quot;&gt;ecc0a58&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add integration tests and wire Extractor crate as URL resolver (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b92e40b88c85b3b8881034caa2888bea69672e0d&quot;&gt;b92e40b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add ProtocolBackend trait and activate HLS/DASH backends (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4f42a39e66c6ce8bad47308373c6bda2e9818678&quot;&gt;4f42a39&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add retry config UI in Settings page (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/7567d85dcb6290f1b6e2176419bd8d2420253928&quot;&gt;7567d85&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add skip() to test harness for network-dependent tests (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/67b31488aed24298c1266908489f945357ee4b7f&quot;&gt;67b3148&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add spec-driven development skills (/spec, /verify, /feature) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/78aa88dc50f2ebc2616eb3ca2cf29affac751194&quot;&gt;78aa88d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add spec-driven development skills (/spec, /verify, /feature) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/6c84cc7993032dc402295525057309c6b288e27d&quot;&gt;6c84cc7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add title and duration fields to DownloadInfo (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/fb236c1a6d629b2ab29094b2e965dcb2925312a1&quot;&gt;fb236c1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add URL resolver middleware for plugins and extractors (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/66b3987da45c1cff796e5ab0c7e9ab770db20fa6&quot;&gt;66b3987&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add Usenet UI — server management + NZB downloads pages (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0916355509bafef47d8be1ed187a217bcc3b01f3&quot;&gt;0916355&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add YouTube integration tests and fix plugin test runner (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/55e773914e675f89b7911b7dd19c2483c5a6716f&quot;&gt;55e7739&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add YouTube integration tests and fix plugin test runner (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ea6ea4361c7e58191c51b01372937013a261a591&quot;&gt;ea6ea43&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;cache bandwidth limit and add config validation (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/2732062279e5dacda1be01f6117e33f03ed73298&quot;&gt;2732062&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cli:&lt;/strong&gt; amigo-dl login / remote subcommands for device pairing (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/82aaa564602f95e576dc1d160da2f77dc4288cd8&quot;&gt;82aaa56&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;complete visual redesign of amigo-downloader web-ui with Cyberpunk Arcade theme and integrated audit fixes (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/63824eb746d68a7d652ad37c2bf669edbe787454&quot;&gt;63824eb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;confirm plugin network access on install and update (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/2563fad1237e40a5d814aa29ced1f83046785659&quot;&gt;2563fad&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;convert all plugins to TypeScript, smart generic-http link finder (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/80233fcd7d4f100a87002036884acb7830d08725&quot;&gt;80233fc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core/config:&lt;/strong&gt; extend ServerConfig for setup-wizard flow (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/037c32c42bb4a229a198e5b77661a5f6dc391681&quot;&gt;037c32c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core/storage:&lt;/strong&gt; sessions, api_tokens, pairing_requests tables (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5bdf810d5d71bd2565bafdb1fb2fc2eaa2cedb40&quot;&gt;5bdf810&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;cut initial v0.1.0 release (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4ac4bdb4c6f9d8748ee23936609ab99ae16734bb&quot;&gt;4ac4bdb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;cut initial v0.1.0 release (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/236c2a04f12cb47b2e13ad4d9c581e8d4819e7b4&quot;&gt;236c2a0&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;cyberpunk arcade redesign with 60:30:10 neon balance (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/83dc68c50683965ed581ada533f4a809a6aa28a8&quot;&gt;83dc68c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;docker, docs:&lt;/strong&gt; opt-in Docker defaults + reverse-proxy / Tailscale guide (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/659f47f6f1661d3677dc4a7f8a70d3b9929371d3&quot;&gt;659f47f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ETA, copy URL, keyboard nav, search, batch ops, speed graph (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/8a3a6842bfc157306b77826cf276ab16be4dcd69&quot;&gt;8a3a684&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;extend plugin Host API + activate post-processing pipeline (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/1c2a92742a683bc23f41693aeb3e7ac248813882&quot;&gt;1c2a927&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;feature toggles for RSS feeds and server stats (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/261ccdbc722a29310184bdddbe1e765cbf49b9bc&quot;&gt;261ccdb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;file icons, connection status, collapsible sidebar, i18n, DnD, favicon badge, aria-live, retry (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ecd607b170045849a5b47a348f6c6e899053084b&quot;&gt;ecd607b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;harden Docker deployment (docker-security spec) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0e0bfa24b8eb7e51069222dfa3ac4fc3903ebdad&quot;&gt;0e0bfa2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;i18n system with JSON locale files and auto language detection (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/906bcd8dd70a629760465a801d8bc1d9e6b46fbb&quot;&gt;906bcd8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;implement real light mode theme (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/e69e7aa46ad56ef8f44c5cb9f694bbc112508009&quot;&gt;e69e7aa&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;implement Usenet feature with server management and UI updates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4e160a2c9372fee4a880e280e455fb5ed99500ea&quot;&gt;4e160a2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;implement Usenet feature with server management and UI updates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b7c442eda0400f8c7f24137c2c1919086ea97bba&quot;&gt;b7c442e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;integrate bandwidth limiting and extract retry utility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d2675f9317f081d60498d456458db708e984ffc5&quot;&gt;d2675f9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;integrate Tauri into workspace (tauri-workspace-integration spec) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/07f89dabb40854e5f0dac9ca1983fd044febf012&quot;&gt;07f89da&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;library-based extraction, selective PAR2, NZB metadata wiring (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5c55adee5072faa8876466e046d3b85ff98c9da0&quot;&gt;5c55ade&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;local index cache, category folders, plugin suggestion API (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0e6f96d1ee197226d6851f0abb3ccaba599044af&quot;&gt;0e6f96d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;make /spec skill collaborative and interactive (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4fe55cacec6a07c8189dde1a4c79d15320dba821&quot;&gt;4fe55ca&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;make retry options configurable via config.toml (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a34e02be0cb2ffb69e9c01ab34b9d2bfb240f87c&quot;&gt;a34e02b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;nightly CI pipeline — CLI binaries, Docker multi-arch, Tauri installers (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/35923a2beb0c0f6fbd715c4a98450a0bab4298df&quot;&gt;35923a2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;nightly versioning with date-stamped tags and releases (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/fc1bd84549d8c98b13454df000556e84bfe8f09d&quot;&gt;fc1bd84&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;NZBGet API credentials + fix 6 more bugs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/6aa486bf64a59765c755fe96af47f257a334fd7f&quot;&gt;6aa486b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;NZBGet-compatible JSON-RPC API for Sonarr/Radarr integration (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5b01cbd9983e8cbabe96752bf1cce15cff0e82be&quot;&gt;5b01cbd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;PAR2/unrar config toggles, RSS background poller, NZB watch folder (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/52b94cd6f1442d5f5af29a19bd24fe6689ef4225&quot;&gt;52b94cd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;plugin spec test runner with test/assert/assertEqual/assertNotNull (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5cac74c8c577c8354113e67a744928ab6bd00431&quot;&gt;5cac74c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;plugin strategy foundation — generic extractor, multi-hoster priority, protocol hints (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ff71b5f1bbb0230a22b8fd5cc896da23f4b912da&quot;&gt;ff71b5f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;plugin strategy foundation — generic extractor, multi-hoster priority, protocol hints (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/78d57da8c0ae42d2dd3e13a78cf35e00d4b7ceee&quot;&gt;78d57da&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; Ed25519-signed plugin registry index (audit &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/31&quot;&gt;#31&lt;/a&gt;) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/300cfd5ba99e22b107373572e0c39aad508917d2&quot;&gt;300cfd5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; expose the plugin host API as &lt;code&gt;krake&lt;/code&gt; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/302ed271e799b2f7e4714945cb0880337e3af61c&quot;&gt;302ed27&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; QuickJS as a WebAssembly guest module (AC-01) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/48ce491241b1c707a4644a274dcf0d1a65fc2be3&quot;&gt;48ce491&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; run every plugin in a Wasm instance (AC-01 to AC-06, AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/eea66fe4e92cd069401bce94bf0d7a83326be120&quot;&gt;eea66fe&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; run every plugin in a WebAssembly instance; &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/99&quot;&gt;#99&lt;/a&gt; leftovers (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4c9de86f6f8386cffa96d6ca6ea88f78f89f3121&quot;&gt;4c9de86&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; run plugin JavaScript in an out-of-process host (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/331b413f920c1f6f7763655c32b4ce810fbd1a4a&quot;&gt;331b413&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; run plugin JavaScript in an out-of-process host (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0bd109cba2a1adaffa45a06eb0b7d80749cd16bc&quot;&gt;0bd109c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; SSRF blocklist on plugin HTTP calls (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/2e7acf990bd93ea86f84a24ee2bd48458e1c6ebb&quot;&gt;2e7acf9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; Wasm executor for plugin JavaScript (AC-02 to AC-13, AC-15 to AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/82955de41fe39d18d6c0353c496176fe17336a60&quot;&gt;82955de&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/account:&lt;/strong&gt; AccountConfig, Session, AccountStatus plumbed through definePlugin (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d9b2e541922b039b077a7cb113622fbccb63286d&quot;&gt;d9b2e54&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/browser:&lt;/strong&gt; Browser with redirects, cookies, referer, clone (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d6bb96ad5e7241e861a5748251ad19e1fed4c049&quot;&gt;d6bb96a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/browser:&lt;/strong&gt; case-insensitive Headers (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f043f0a8a4758ab33f8f1b8c78253daf18b2d4bd&quot;&gt;f043f0a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/browser:&lt;/strong&gt; CookieJar with RFC-6265-style domain matching (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/dc39b4b8a2ee92c3493cd1a93030bbc9d076143c&quot;&gt;dc39b4b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/captcha:&lt;/strong&gt; captcha namespace with auto-detection and host bridge (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/51f9637093859543fb297d91ca623563f7b071bc&quot;&gt;51f9637&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/cli:&lt;/strong&gt; amigo-plugin CLI with new/validate/test subcommands (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4048ee4d2dd3a5aded6b74e177069fa84ae1d3c5&quot;&gt;4048ee4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/container:&lt;/strong&gt; RSDF, CCF, DLC parsers + detect() (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/16fadc83932e95a9fcae55f902cec5dad8656940&quot;&gt;16fadc8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/errors:&lt;/strong&gt; PluginError, ErrorCode, factories with never-return typing (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/652aa5540906416bc3801bc97d499e11359bbaf7&quot;&gt;652aa55&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/extraction:&lt;/strong&gt; regex, json, encoding, html helpers (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/76f4dbebd4ac765e540b7d8dc728bcfbe19a7905&quot;&gt;76f4dbe&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/form:&lt;/strong&gt; Form extraction + Page.getForm + Browser.submitForm (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/413ebabe63811d66cfedabebf1d0affdafe7b085&quot;&gt;413ebab&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/host:&lt;/strong&gt; define host-api request/response types (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b831ccb2a763087b14a356694f40a9c2e6a273fa&quot;&gt;b831ccb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/host:&lt;/strong&gt; HostApi interface + injection hooks (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/16e52fe0e0e3c15bdb2968f388bb6d9e33d33723&quot;&gt;16e52fe&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/host:&lt;/strong&gt; MockHostApi with request recording and error injection (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/1e30a5b70d96908c932ecc86b609d2c973d309a9&quot;&gt;1e30a5b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/host:&lt;/strong&gt; Phase 1 tests + drop node-only deps from mock (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/17b15fc69d14e9239ea4cbe0684a6c2086757340&quot;&gt;17b15fc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/javascript:&lt;/strong&gt; run/unpack wrappers with permission gate (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a9b8e9d3a6e1a6a0cb26c4ee962b6b3cd19534d8&quot;&gt;a9b8e9d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/media:&lt;/strong&gt; HLS master+media, DASH, variant selection helpers (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/829f0dc835d1a35c152ddee5a26f4e7380bfe859&quot;&gt;829f0dc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/plugin:&lt;/strong&gt; shared types, PluginContext, definePlugin, defineDecrypter (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/65220e8e1a9f3168cfad55b310327d60312f2de0&quot;&gt;65220e8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk/utility:&lt;/strong&gt; parseSize, parseDuration, parseDate, formatFilename (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/629b5ddb82933c81172790b190727acacdcaf466&quot;&gt;629b5dd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk:&lt;/strong&gt; introduce @amigo/plugin-sdk (plan + implementation) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/12fb9fc4fc3e2406c617d706b1e92ac34d1d6f34&quot;&gt;12fb9fc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;plugins test always enables verbose/debug logging (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/47130264603fc00877b714f209d97d545a5ee64a&quot;&gt;4713026&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugins:&lt;/strong&gt; declare apiVersion and permissions.domains (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5b2489f7ecef2ed7726f1ff8bf5951c7191121fd&quot;&gt;5b2489f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;rename CLI binary to amigo-dl and enhance direct download functionality (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/74a8088cfaebb073dfec0d4016cee3711e7c378c&quot;&gt;74a8088&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve() returns DownloadPackage with grouped downloads (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d8e257ee5d924109f40aeaf3b356c756bdd6019c&quot;&gt;d8e257e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;server statistics UI behind feature toggle (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ca5303311e4160d0cf8d8daf21aa404b5779589a&quot;&gt;ca53033&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server/auth:&lt;/strong&gt; cookie + api-token auth, setup-guard, proxy-aware IP (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d2db4d4d8c5729fea7411ce72ba707553961602d&quot;&gt;d2db4d4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; add bulk download endpoints and fix the retry action (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/c4cb317edece110982cd3975cb446a060460fec5&quot;&gt;c4cb317&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; add POST /api/v1/downloads/container for DLC import (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b7c4c7d66f6993b4410023ec2dadac3178aac07a&quot;&gt;b7c4c7d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; background plugin auto-update task (opt-in) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/2f0fa5717c66725cd30ee459ca5d6ab1b380b56e&quot;&gt;2f0fa57&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; bind to loopback by default, add bearer-token auth, tighten CORS (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a09d19c6d92b2b222262707b7f8987c2eb3030c4&quot;&gt;a09d19c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; bind to loopback by default, add bearer-token auth, tighten CORS (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/e8ded1cc2649e42047d0d0e3f0461e7ccc214c39&quot;&gt;e8ded1c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; device-pairing endpoints + headless setup from env vars (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/05e427bf4237d77b8658af303026bc92037939cd&quot;&gt;05e427b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; live setup_complete + end-to-end auth flow tests (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/fc370626f51a94ef6a699194c7887b1a6ad6a635&quot;&gt;fc37062&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; name the session cookie krake_session (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/e3d6980655af2692c46b4df3244655a2bb648ef4&quot;&gt;e3d6980&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; send X-Krake-* webhook headers (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/8e578ce3d918a5d74bc94fa8a29aff14236cba6e&quot;&gt;8e578ce&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; setup wizard + login/logout/me endpoints (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ef137faaca2695a91ef704367c0aa38e15188c67&quot;&gt;ef137fa&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;site:&lt;/strong&gt; add marketing site skeleton + pnpm workspace refactor (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b60f139c72409dc58f3db4762c6c798d66756d50&quot;&gt;b60f139&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;stream progress over WebSocket and add URL-based routing (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f4a8199eff04b6a2c1effcfaea41d04e0bbabe3c&quot;&gt;f4a8199&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;suggest plugin installation when URL matches registry (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f116473cc0a7a51e2ce5f3e5f488bf0a54fd85ae&quot;&gt;f116473&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; register the krake:// deep-link scheme (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/18bb69775a27c10bf9c1867391eb695e9bc3cf43&quot;&gt;18bb697&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; use the Kr pixel monogram as the app icon (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ad0a94d1063a90a47489a41967b9e2731d523320&quot;&gt;ad0a94d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;TUI output modes, multi-hoster plugins, XFS plugin, host-API extensions (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4cdc89824085b985a5db69717e966c4613112a8a&quot;&gt;4cdc898&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; add accessible primitives to @amigo/ui (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ee41e0715da47ad9500775ca2496ebff088a5cde&quot;&gt;ee41e07&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; one accent, the brand lime, instead of six palettes (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/519a2a48508b2134d800f4f40c05aa9a0d1e2b63&quot;&gt;519a2a4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; split accent tokens by role and self-host Inter (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4d7d8c8fb87e61a0312aeaff61f07a5d05c96f78&quot;&gt;4d7d8c8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; use the Kr pixel monogram as favicon, PWA and in-app logo (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0547a9e3848c5cb858b29eb670cdcb83c03c4e64&quot;&gt;0547a9e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Usenet protocol dispatch, categories, duplicates, queue reorder (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d106dc2d2a98a5d193fb148967850e8d32780920&quot;&gt;d106dc2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;VS Code dark mode, unified side panel, plus button in header (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/361e4b898753e96726757d9818d88d31750f6f5f&quot;&gt;361e4b8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;VS Code dark mode, unified side panel, plus button in header (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/6f3871bb68b551c2e7ebf7f05e43dbd21756630e&quot;&gt;6f3871b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; &amp;quot;Command Deck&amp;quot; UI/UX redesign — palette, mobile nav, motion, i18n &amp;amp; a11y (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d46b59301338060cfad47eb8e1fdec1c9b5024ce&quot;&gt;d46b593&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; bring the off-system screens into the design system (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5ec52bf544614aaac1c32ae7505d5281b6a556e9&quot;&gt;5ec52bf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; command palette, mobile nav, header status bar, motion system (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/9579b07ca612a4502eb7d77afe18e003af669cef&quot;&gt;9579b07&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; download rows lay out by their own width, denser phone list (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b5a0ab70f469cd5503e01f9307e906a37c3b01eb&quot;&gt;b5a0ab7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; drop the colour palette setting (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/41e284ff1f43e4773ae650081c304e9010db435e&quot;&gt;41e284f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; i18n completion, focus traps, undo, settings a11y (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/148f82ab05273b6cfe3d64a29cfe0acc3bd31f38&quot;&gt;148f82a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; make the history page usable (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4df456db0a2cc376ae9f000f9411235f9eacca28&quot;&gt;4df456d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; offline empty state, plugin enable/disable toggle (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/46fbea3958e09e48ebb148b8428214c13ac62a36&quot;&gt;46fbea3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; setup wizard, login page, pairing modal, auth gate (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/271b9edcfcd3c79eeaea9db4607fc27f0e1db9c9&quot;&gt;271b9ed&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; show a download&amp;#39;s host instead of its full URL (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4ea25aa606dbe2444e5915bf5c296068a7c4f3ed&quot;&gt;4ea25aa&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; unify the download list and make it keyboard-operable (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ea86852e3c9af64baf6380b2f6309827055d7f73&quot;&gt;ea86852&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; wire up the plugin marketplace (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/39924fde315dc542dc04abecb4d3a0e407c496e7&quot;&gt;39924fd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;wire captcha, webhook, and notification endpoints end-to-end (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/30089521d3b9b70a3cf0f7d448d37cfb3bf7505d&quot;&gt;3008952&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;/spec-fix updates affected specs when fix changes spec&amp;#39;d behavior (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/c8374a9148b9e529bf2a526d39ccf8c7297e6528&quot;&gt;c8374a9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;adapt to rand 0.10 API changes (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/232fc7a1f148b11483d3b88745cc18986b9f9f58&quot;&gt;232fc7a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add libclang-dev to Docker build for rquickjs bindgen (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/396ba0686c7c88d46f90a87581be40f2f86c2156&quot;&gt;396ba06&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add protobuf-compiler and Cargo.lock for CI builds (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/fd22ab0f9c05f4923c948d94be17a4fffa4acb77&quot;&gt;fd22ab0&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;add protobuf-compiler and Cargo.lock for CI builds (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b3f3104d441d4071bdd731d8e92870870dc23d7c&quot;&gt;b3f3104&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;address all Copilot review comments on PR &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/15&quot;&gt;#15&lt;/a&gt; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/655ef30a70bc39fecf8bd53f8fb454a230c109c5&quot;&gt;655ef30&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;address Copilot review — bound login RL map, persist full reorder set (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/11080c8df3edbb8ab85959069c396d5b463bf518&quot;&gt;11080c8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;address Copilot review comments on PR &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/14&quot;&gt;#14&lt;/a&gt; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/46a2342ad04494e95716fe8c6152b19042ee38f1&quot;&gt;46a2342&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;address Copilot review comments on PR &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/19&quot;&gt;#19&lt;/a&gt; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a0d2095af03a0851c20f608396c72d38b8046e16&quot;&gt;a0d2095&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;address Copilot review comments on PR &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/19&quot;&gt;#19&lt;/a&gt; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/250e874fdd7ddbfc849bdc2a735ece918de586bb&quot;&gt;250e874&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;address Copilot review comments on PR &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/21&quot;&gt;#21&lt;/a&gt; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/af1016f18a3f52e788405fc8861c8e4b783ed971&quot;&gt;af1016f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;address HIGH-severity security tickets (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/29&quot;&gt;#29&lt;/a&gt;, &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/30&quot;&gt;#30&lt;/a&gt;, &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/32&quot;&gt;#32&lt;/a&gt;) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/65da865fdd91bed7d840a628bb22c0955b6c29e4&quot;&gt;65da865&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;address PR &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/72&quot;&gt;#72&lt;/a&gt; review — .sig asset, owner cache bound, blank secret (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d84fa1739c342da16395d5ab3ee356dbc63047e9&quot;&gt;d84fa17&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;bugs, dead code, misleading stubs, and UX gaps across backend and web-ui (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/db7525f4b01f1d9b642dfccb4278dca4bc1a1748&quot;&gt;db7525f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;bugs, dead code, misleading stubs, and UX gaps across backend and web-ui (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/c3215d6a5df1d2249a0d863a5e50849ce6ae83fa&quot;&gt;c3215d6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;change default port from 8080 to 1516 to avoid servarr conflicts (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/c82a1400637f43be13a87c11be9d3e57490dacaf&quot;&gt;c82a140&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;CI failures — suppress lib dead_code warnings, fix Docker image tags (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4785154dc08abe3a1a305e828b34efd98ad33c00&quot;&gt;4785154&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;CI pipeline failures from Tauri workspace integration (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/2428a39a7ac62f5248494763d39eddd80c558960&quot;&gt;2428a39&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ci:&lt;/strong&gt; build cleanly on the current stable toolchain; clarify signer naming (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/66af253ab60116c55e53498290387cd32085a6ef&quot;&gt;66af253&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ci:&lt;/strong&gt; bump versions without release-please&amp;#39;s rust strategy (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/3bf9f354618aa9d4ee6de802a22b8dfdc87a03c2&quot;&gt;3bf9f35&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ci:&lt;/strong&gt; bump versions without release-please&amp;#39;s rust strategy (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0ea62c72492bae217dff8592ffaad68d6412ae5e&quot;&gt;0ea62c7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ci:&lt;/strong&gt; grant packages:write to release-please caller workflow (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b8288e6e664a2b348586e3d693115258f93e9826&quot;&gt;b8288e6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ci:&lt;/strong&gt; grant packages:write to release-please caller workflow (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/09399686cfe7d73cbb47e6e06c683b921082e848&quot;&gt;0939968&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ci:&lt;/strong&gt; green main again: rustix 1.1.6 for cargo audit, release PR auto-merge without squash (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/cb5d8903ff8ad44bc9683da8461be770ab04576a&quot;&gt;cb5d890&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ci:&lt;/strong&gt; migrate web-ui, plugin-sdk, and docker build to pnpm (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b2402e9ccbcb6b68a4d10c3c3ccc1b66060a1a4b&quot;&gt;b2402e9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cli:&lt;/strong&gt; drop unused cancel sender in direct download path (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/528fb44df3eac94e0b9d9c2c3a30451f0090e305&quot;&gt;528fb44&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cli:&lt;/strong&gt; satisfy clippy::manual_checked_ops for download progress (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0568acc0e03a03aa666527dccd7e17f29947317b&quot;&gt;0568acc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;code review audit — bugs, dead code, and missing integrations (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0c51df1eff5f846473046b5424a4c02c12eb6e9d&quot;&gt;0c51df1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;code review audit — bugs, dead code, and missing integrations (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b879ce0536b90cc78af5022a231a92972329ceda&quot;&gt;b879ce0&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;code-review cleanup — security, download-engine correctness, plugins, web-ui (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/29fbb1c93603a3b63bc7d12fa69bdb608af1df15&quot;&gt;29fbb1c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;copy web-ui dist to correct path in Docker build (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b82c2ebbc6221dba0a89738fca674c7d314e3fbc&quot;&gt;b82c2eb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core,plugin-runtime:&lt;/strong&gt; address PR review on segment streaming &amp;amp; cache (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/02ee1a8f45f9982e051f0a35408a19a3fd507b9a&quot;&gt;02ee1a8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core/chunk:&lt;/strong&gt; kill the underflow in ChunkPlan::split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/6618743c919c8e141d0361e0a15f778a10f467b0&quot;&gt;6618743&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core/coordinator:&lt;/strong&gt; bigger event buffer, share progress channel across retries (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/9e36ef8a45b9c05176505ad0afc6f4bf339fe8d7&quot;&gt;9e36ef8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core/http:&lt;/strong&gt; fsync downloaded files before declaring success (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/928e9cffbeb35b1c6eb877be8a787f401aebc5a5&quot;&gt;928e9cf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core/nntp:&lt;/strong&gt; hostname validation, IO timeouts, explicit TLS verify (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f5c792b85b6ccfd6904956155b12a06509a49dbf&quot;&gt;f5c792b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core/postprocess:&lt;/strong&gt; block ZIP-Slip via symlink entries (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/aee87db601296e890bcfe15b2dd4efbfb5454c61&quot;&gt;aee87db&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; a paused download keeps the progress it had reached (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/e4cf21730f2803b1ad6b069c99aeacb6bada29a6&quot;&gt;e4cf217&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; address Copilot review on &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/58&quot;&gt;#58&lt;/a&gt; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/481149accb525255a2b4e00aeb11696d04499f7e&quot;&gt;481149a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; allow cancellation during retry and harden speed calc (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/1aa2de16c295356e8167e1bfba46761d59c61a00&quot;&gt;1aa2de1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; bound WAL growth with autocheckpoint (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4e81121d0d386bc66d5af8422090959d974eb93d&quot;&gt;4e81121&lt;/a&gt;), closes &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/38&quot;&gt;#38&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; cancel the in-flight task before retrying a download (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a47edfd3f169b66e88f2723b17e9462961183194&quot;&gt;a47edfd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; close TOCTOU race in add_download_with_options (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/53&quot;&gt;#53&lt;/a&gt;) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/470f92177f506f3a484329803897daff7acbe6f1&quot;&gt;470f921&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; close TOCTOU race in add_download_with_options (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/53&quot;&gt;#53&lt;/a&gt;) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/eb758214adf43258536dce1266695919b8bfeb2d&quot;&gt;eb75821&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; enforce retry base_delay floor to prevent hot-loop (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/2da7773177420cd5a1a25ca174b23b9e7e8d8638&quot;&gt;2da7773&lt;/a&gt;), closes &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/37&quot;&gt;#37&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; log completed downloads in the history (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0d1e692a92f434aeeaac43e8c59a634a476add4a&quot;&gt;0d1e692&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; mark a download as retrying during the backoff, not during the retry (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0ff59bf14d52423c6d97d125dba81f09701fd1e2&quot;&gt;0ff59bf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; migrate rand usage to the 0.9 API (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/6fc536357ff37fd5989ae5b34a4a3c0ff27b5529&quot;&gt;6fc5363&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; record filename and size of plain HTTP downloads, fail fast on 4xx (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4b08fd9cad30366121c677d9be4f4a90c59ee9c2&quot;&gt;4b08fd9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; repair Usenet binary path, bandwidth hang, chunk corruption, pause (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/fbb5c2b5f0ba52b524e93e395bf68bcc83ac8fe0&quot;&gt;fbb5c2b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; require checksum for self-update, guard 7z/RAR/tar against zip-slip (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f82fbd8e07cf9ece4321fad1a3612e9411a088f9&quot;&gt;f82fbd8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; robustness fixes across NZB, DASH, config, chunking, NNTP, coordinator (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/402d46dbf2dbbe37873a4b64869a9893235457c7&quot;&gt;402d46d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; tear down progress reporter and sibling chunk tasks on chunk failure (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ca3df341db22d60eac1d3fb4b9769c2a4507d845&quot;&gt;ca3df34&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; upgrade rusqlite to 0.41 for the libsqlite3-sys advisory (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f27380008ae2a99647ed7e6e73f4319789afa917&quot;&gt;f273800&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; verify reassembled chunk size before rename (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b2fe9fb2db959593220b83ddbe3c5a232fb0aee9&quot;&gt;b2fe9fb&lt;/a&gt;), closes &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/34&quot;&gt;#34&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;correct addToast argument order across all pages (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ad8b0154b7a55b405ee60a5da6097ec8058f3a1b&quot;&gt;ad8b015&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;critical security and logic bugs across codebase (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/9af9e16d254539bec83c55ad2697d7103abcaeb8&quot;&gt;9af9e16&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;critical security and logic bugs across codebase (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a8a0185b5447efc72253061979a6cb2629a1badb&quot;&gt;a8a0185&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; make rand 0.10 bump compile (openssl/tar cargo group update) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/43c62ee3bce9308ca4f955803326fa4db6220353&quot;&gt;43c62ee&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; make tauri 2.11.1 + rand 0.9 bump (PR &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/61&quot;&gt;#61&lt;/a&gt;) build green (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a1d14b17962797e7a76c403ca1cd2ec89e599f1d&quot;&gt;a1d14b1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; override fast-uri to &amp;gt;=3.1.2 to clear pnpm audit (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f949c25ba607dd2897c37d60e9ace76e1eda8c05&quot;&gt;f949c25&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; override svelte/ws/devalue to clear pnpm audit (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/01b410f5639ba07347f6ce002b02dcd46b95e3af&quot;&gt;01b410f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; pin vulnerable transitive npm deps via pnpm overrides (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/1645049efcf9107c7d608b2b4456b4568ac1635d&quot;&gt;1645049&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; replace sevenz-rust with sevenz-rust2 and bump vulnerable crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/292bcda56271c2c3a6a313056ea9529b41530f3f&quot;&gt;292bcda&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; resolve cargo and pnpm audit advisories (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/7270e69842c1d4de57b7524afb1f3d754950446f&quot;&gt;7270e69&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; resolve cargo and pnpm audit advisories (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5ddf08a2c77084d00061b00eb51bee97fa8b1b58&quot;&gt;5ddf08a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; resolve cargo-audit advisories (anyhow bump + quick-xml ignores) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/fa990a8bb4c807edc5d593c3c09462cd88dcc9a7&quot;&gt;fa990a8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; update hyper and the Tauri updater for open advisories (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f5c586c398f61ff4d561f8a55b2b271789618f89&quot;&gt;f5c586c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;docker:&lt;/strong&gt; add entrypoint with PUID/PGID and volume checks (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/3088a0d2e73be08409cac75801440a8bc88af63c&quot;&gt;3088a0d&lt;/a&gt;), closes &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/42&quot;&gt;#42&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;don&amp;#39;t check off acceptance criteria in spec files (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/6d6b526cea5ab297c426b85df0e10aa8c3d73702&quot;&gt;6d6b526&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;extractors/youtube:&lt;/strong&gt; TTL + LRU on player-JS cache, deadline on QuickJS (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ee695105cd6488bf123f829d9b9cd033e5bb72ba&quot;&gt;ee69510&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;harden coordinator, resume, extraction, plugin updates, JSON parsing (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/2ec8b783f17952ddb5fd3382c1b239b012eb7ffe&quot;&gt;2ec8b78&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;make webhook signing mandatory (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/29&quot;&gt;#29&lt;/a&gt;) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/40844ff50157df3526bcb37dc13328b7131f6c39&quot;&gt;40844ff&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;multiple bugs across core, plugins, web-ui, and docker (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ae75e5910b3b1b30c30d552dc3675b6b75e0b85d&quot;&gt;ae75e59&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;multiple bugs across core, plugins, web-ui, and docker (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f451bf9f3ccac0dff2e399bcf116c967e08ebdc8&quot;&gt;f451bf9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;multiple bugs across core, plugins, web-ui, and docker (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/689eae868897a3c5c136540c4be548084b325364&quot;&gt;689eae8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;multiple bugs across core, plugins, web-ui, and docker (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/9d110d8827232bb66712ff59b2039f695902f6c4&quot;&gt;9d110d8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;nightly build missing server binary and broken artifact upload (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/51d09b56b93ec4b973e1c8ab7361bde6837a5cb3&quot;&gt;51d09b5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;nightly build missing server binary and broken artifact upload (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d6c920acee5dda8229037d8c7299293328762946&quot;&gt;d6c920a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;path-traversal, resume corruption, zip-bomb, plugin updates, JSON parsing (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/88964a6f19010fecc455c6d0a1fc6e703560a258&quot;&gt;88964a6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;plugin sandbox hardening (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/78&quot;&gt;#78&lt;/a&gt;, &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/80&quot;&gt;#80&lt;/a&gt;–&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/85&quot;&gt;#85&lt;/a&gt;) + green dependency audits (supersedes &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/86&quot;&gt;#86&lt;/a&gt;) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/351f9d8c27b72da11260a8c47b4667945cc0295f&quot;&gt;351f9d8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; address review findings on the plugin host (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f9ed7871cc724b58e4100fa6a7819d5cb85a809c&quot;&gt;f9ed787&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; cap regex / HTML / base64 inputs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d8c09821e57fde222a6b930e2c391d52ae15c921&quot;&gt;d8c0982&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; collapse redirect match arm (clippy 1.96 collapsible_match) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f75868b6a495b016b7be6df256a829428253282d&quot;&gt;f75868b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; enforce per-plugin storage quota (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a9d6db85972663f51aff004a1956c2f486e27d23&quot;&gt;a9d6db8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; enforce resolve/postProcess timeouts via interrupt handler (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f0bc0bb6ac896fa5d793a6fb5cc2c88e0c29d5c9&quot;&gt;f0bc0bb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; harden the plugin sandbox boundary (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b528714bd129594192a0b77fe08ad166f227f922&quot;&gt;b528714&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; inject registry Ed25519 pubkey at compile time (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/e2a2d489ee3612cec0d789a87c63448b37a87b00&quot;&gt;e2a2d48&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; isolate plugin storage by declared id, harden HTTP (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/7157bcd9550874b4818a2317375511bb21a889fd&quot;&gt;7157bcd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; per-plugin cookie jars (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/4aff9a24ecb08e2c4648d013fe5b3d9525d377dd&quot;&gt;4aff9a2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; settle a Promise returned by resolve() (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b3293431eea25e4cccb562cf6b1660bacbd5df39&quot;&gt;b329343&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; show a thrown non-Error value as its string form (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/60f6e462be098c27fb28e48d13b36ef76719b7a9&quot;&gt;60f6e46&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; validate registry candidates before they reach disk (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/10ffee39c5d097e3b1d2ac99989d5d1f4dbf5386&quot;&gt;10ffee3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; Wasm executor reports a missing return value like the native engine (AC-06, AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/808d29ca0b9cffbd691e0081390fc3533b9bea97&quot;&gt;808d29c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-sdk:&lt;/strong&gt; address Copilot review comments (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b12dd321689fe3878ee9f17c0f176812703cc742&quot;&gt;b12dd32&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugins:&lt;/strong&gt; correct link pairing, honor XFS wait, validate keys before store (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/14d010e6ce946cbfdfda9b43a50cdb52de54f667&quot;&gt;14d010e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugins:&lt;/strong&gt; strip anchor tags to a fixed point (CodeQL: incomplete sanitization) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/c38d71fcde95d5970546db32b4299efff9089f01&quot;&gt;c38d71f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;prevent panic on malformed NZB with missing &amp;lt;/file&amp;gt; closing tag (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f6f62f23eeb2b94e9c871128a91413246458dd2b&quot;&gt;f6f62f2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;queue stall, non-atomic history, regex perf, test masking (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/e019ebee969968a3274612f623cbb9aa1f01f71f&quot;&gt;e019ebe&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;re-enable Click&amp;#39;n&amp;#39;Load in Tauri via amigo-server crate (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d30561549014a0161d91f88509a72032b175e4a5&quot;&gt;d305615&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;re-sync agent skills (acceptance-criteria headings in any case) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/080158912ff1652797877fd94b7acb622925b5b2&quot;&gt;0801589&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;re-sync agent skills (commit gate, spec-build completion) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/634c469370de499aa14815c301c90c22cd146092&quot;&gt;634c469&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve all CI clippy warnings and unused import errors (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/e8d20261a482bbb62ac3cd0be7644e6445fb5433&quot;&gt;e8d2026&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve all CI pipeline failures (clippy, svelte-check, warnings) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/196c98fa8ea54ae36dae0654562141490cbafa0a&quot;&gt;196c98f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve clippy redundant_closure warning in ZIP extraction (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/53e8cbb439e19c8db3904a7cb1a7606e55bf104d&quot;&gt;53e8cbb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve clippy redundant_closure warning in ZIP extraction (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5037c1c040ea177fad20a1188efcc87a598b2042&quot;&gt;5037c1c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve nightly build errors — missing icons, clippy warnings, and release-build stub (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/beb08a06ddf4825c0f90817a993d47e5ccfac0e3&quot;&gt;beb08a0&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve nightly build failures across all platforms (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/53e44617552d84732e2b53a345fa82bdd656c021&quot;&gt;53e4461&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve nightly build failures across all platforms (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/804810a0a493269cee31910f417660cefd5ff623&quot;&gt;804810a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve nightly build failures across macOS, aarch64-linux, and … (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/93be7113a2e5f695c7793dfd262b3ba6a5374c98&quot;&gt;93be711&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve nightly build failures across macOS, aarch64-linux, and Tauri installers (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/8be1cdad428782757ec06deece1e703bf197dd6a&quot;&gt;8be1cda&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resolve pre-existing clippy warnings in server crate (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a4eb6b3b43e495ac54aa73e6954e69ba6c12fb1d&quot;&gt;a4eb6b3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;restore libclang-dev in Docker for rquickjs (plugin-runtime) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f8520098951c010a0a001ffe62f7047e31d153cd&quot;&gt;f852009&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;scope WebSocket download events per owner (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/32&quot;&gt;#32&lt;/a&gt;) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d28e98b90fb98a9e1e9c54a595ba492c76e355ed&quot;&gt;d28e98b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sdk,core:&lt;/strong&gt; correct container detection ordering and DLC docs (F1/P4) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5eda1ea540215d8095d8661a88e10cb0b817e456&quot;&gt;5eda1ea&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; apply baseline security headers to every response (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f2e6b5d47113a2f0d98e6adcae8895f3427f4992&quot;&gt;f2e6b5d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; avoid Instant underflow in feedback rate limiter (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/617953991d7031337ae0b6d5bc869d07b30ce182&quot;&gt;6179539&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; cap upload body size for /downloads/nzb and /downloads/container (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/050481c35595a5757de708d6190d77cd37a50971&quot;&gt;050481c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; close NZBGet JSON-RPC auth bypass (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/868d3c71fc1ddd583ee2ecfc160ab3c5ae27cf57&quot;&gt;868d3c7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; mark session cookies Secure over HTTPS, clear both on logout (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/2fff42f74ae7125ee03b84d2496e7a14267097e1&quot;&gt;2fff42f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; mark session cookies Secure over HTTPS, clear both on logout (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f213cfb7e77622001f4423e5dd4dc909b3be3925&quot;&gt;f213cfb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; no duplicate NZBGet history entries, history delete removes the archive entry (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/1d16e7377f8db25365d506cdb204f860a0c27b89&quot;&gt;1d16e73&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; persist webhooks to config and keep the dispatcher in sync (SV3) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/c62ec0895c3b4dcc65d86e25e9b09738e02c7b50&quot;&gt;c62ec08&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; redact secrets in GET /api/v1/config (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/dc8113d1aaab5b6392a0abdbb78e1b28fefd4bb4&quot;&gt;dc8113d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; report live progress of running downloads over REST (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/0d826e4611844e8ed5b5ef4603cefd0d71065a92&quot;&gt;0d826e4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; scrub secrets from feedback before submitting (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/dfb6a5dd57b1e537566cea761dac35da44314e2f&quot;&gt;dfb6a5d&lt;/a&gt;), closes &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/36&quot;&gt;#36&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; SSRF guard for webhook + RSS outbound URLs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/517f40d43871c5a173904498418596abdeb160f1&quot;&gt;517f40d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; SSRF-guard download paths, rate-limit login, close IP-block gaps (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/2699954db1692a373a594dc109863b371ddfdf42&quot;&gt;2699954&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;server:&lt;/strong&gt; URL allowlist + body cap on Click&amp;#39;n&amp;#39;Load endpoints (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/96d5ac5dea8a11d1ccc33b152b44c74d7fe5cfb0&quot;&gt;96d5ac5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;site:&lt;/strong&gt; make &lt;code&gt;npx wrangler deploy&lt;/code&gt; work from workspace root (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/1ea65122375251ef4d2fb4a073307b255de9a9d0&quot;&gt;1ea6512&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;site:&lt;/strong&gt; make &lt;code&gt;npx wrangler deploy&lt;/code&gt; work from workspace root (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/a72ec464ba6e12e6edf9544e59cc8514ef109607&quot;&gt;a72ec46&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;site:&lt;/strong&gt; move wrangler.jsonc into site/ for Workers Builds (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/bcad54d4ac248482e5b110d151d69d56091e04b7&quot;&gt;bcad54d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tests:&lt;/strong&gt; address Copilot review on PR &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/60&quot;&gt;#60&lt;/a&gt; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/16230156aa1e23b26a34a9708f13f39f0b4a771c&quot;&gt;1623015&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;UI polish — hover states, focus styling, empty states, dead code cleanup (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/3ace98586a0c6bdd561a7d009a93fa24528312ee&quot;&gt;3ace985&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; full-height pause icon, muted knob on a switched-off toggle (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f4be71a68c771e7d453aad3d218f8734b75b5289&quot;&gt;f4be71a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;updater:&lt;/strong&gt; install release archives and sign them for self-update (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/8852168037dfbb9104e28486c0d1d25031fa3a06&quot;&gt;8852168&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;updater:&lt;/strong&gt; install release archives and sign them for self-update (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/72bdffdd403c5e251b0ec7956ff3d30c0eb1be42&quot;&gt;72bdffd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;URL decoding corruption, XML parser panics, timer leaks, DnD bug (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/c7341938eaea83936f966c2fe2335b44c6609690&quot;&gt;c734193&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;use cross tool for aarch64 in release-build + add Tauri signing pubkey (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ed9a95a8dcd9d48d5211cc5e864655a67ed3a273&quot;&gt;ed9a95a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;verify Ed25519 signature on core self-update (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/30&quot;&gt;#30&lt;/a&gt;) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/94be21faaf3537b4fffe518c7351a8344547d7b5&quot;&gt;94be21f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; add a layer manager and fix the broken drag and captcha trap (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/1fce7cdd43ff9f51398d06b486cfcf33ce6cec22&quot;&gt;1fce7cd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; address Copilot review on &lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/issues/65&quot;&gt;#65&lt;/a&gt; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/cc0d961d8a75c374e7d820ec6f641840d54e8a26&quot;&gt;cc0d961&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; cleanup popstate listener via onMount lifecycle (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/9088dc7bee30b3f2ba292ed69a5670513c7898b3&quot;&gt;9088dc7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; correct byte formatting units and clamp magnitude index (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/d718b59dc98e17e261107df08ce0aa46a5412a4c&quot;&gt;d718b59&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; guard shortcuts in inputs, wire reorder + report, i18n, ws proxy (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/93ff4877cbcc2cd64e4b3ea869573614a00e9671&quot;&gt;93ff487&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; keyboard-operable context menu (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5e2efd8c28af8666517fbac4e9d6775b88db43a7&quot;&gt;5e2efd8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; name the saved file in the completion notification (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/115febba8523673c82bd500127063ed89e0c98a3&quot;&gt;115febb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; read WebSocket events from the flat server payload (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/45d554ac4565a691f3470d8d50bf7bbbc42a01b1&quot;&gt;45d554a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; readable download rows: file name, failure reason, phone layout (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/065d5a707babd4f1bf5620b0453b0fe9257b99e0&quot;&gt;065d5a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; safe context-menu delete, in-flight action guards, i18n coverage (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/95a005de9151f2dbc48bcc42c67e50d347f26a8e&quot;&gt;95a005d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; shortcut hints as key caps, no doubled stats, dependent toggles (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ea5497fc465a1eb80aa99fb016abc83fa6ed25ad&quot;&gt;ea5497f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; show download progress, names and failure reasons; one accent; denser Downloads screen (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/6b6a4fb72ac4a2a4b54f6b49cf90c9101977405f&quot;&gt;6b6a4fb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;wrap env var mutations in unsafe blocks for Rust 2024 edition (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/34632812bd5f2bf2c32b3ea284f9f1b7723e2d91&quot;&gt;3463281&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Zip Slip path traversal + tar absolute path extraction (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/7f7c1126065b9255d23c7a40e18f236bc8dcb869&quot;&gt;7f7c112&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Performance Improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; add tuned release profile (fat LTO, codegen-units=1, strip) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ef5e3f35f9ea0371deb9ba352aa0a059550fca4b&quot;&gt;ef5e3f3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; set panic = &amp;quot;abort&amp;quot; for the release profile (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f71fb8227852a7eb9afe51e23e92978dda339fb0&quot;&gt;f71fb82&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core,server:&lt;/strong&gt; buffer download writes and stream chunk reassembly (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/203bb3a053e07717c48fbdc592949090b867592e&quot;&gt;203bb3a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; stream HLS/DASH segments to disk instead of buffering in RAM (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/27e32e508286af07ece7f1fb76cd9c1a1befc88a&quot;&gt;27e32e5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; tune SQLite pragmas, cache statements, batch chunk inserts (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/74446d7a2a48eabd5a62a22b432a2482eb523d2c&quot;&gt;74446d7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;deps:&lt;/strong&gt; trim tokio feature set and drop it from extractors (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/12291c5349779c9bf62358a714969b5e7688ef10&quot;&gt;12291c5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;extractors,server:&lt;/strong&gt; hoist hot-path regexes to LazyLock statics (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5efda970fcc4fe1a34a090f12828e506ee3bb97e&quot;&gt;5efda97&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;extractors:&lt;/strong&gt; store cached player JS as Arc&amp;lt;str&amp;gt; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/f39f8d9758a29f1be57c81e74a49014f8a124bf1&quot;&gt;f39f8d9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; cache compiled regexes; harden base64 and JS interop (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/32795583270d4b71425098ab231f294a46799cea&quot;&gt;3279558&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;plugin-runtime:&lt;/strong&gt; cache SWC transpilation and registry URL regexes (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/cc91feba861f86de82885b28530824c3120c1277&quot;&gt;cc91feb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;web-ui:&lt;/strong&gt; code-split pages and isolate the Svelte vendor chunk (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/ad02aad8c7af6e4d7940462a58427e8a32b26487&quot;&gt;ad02aad&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;whole-repo performance optimization (build, core, extractors, plugins, web-ui) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/bc95f03b8698d36460807a08c472223a3b4c8a0a&quot;&gt;bc95f03&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Code Refactoring&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;move amigo-named data paths to krake (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/1f67687dae86b4ef9c2defb47869009dc7420aca&quot;&gt;1f67687&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;name the desktop executable Krake (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/3f68392dc041504608c168b70dccb865f81bbe0e&quot;&gt;3f68392&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;rename the AMIGO_* environment variables to KRAKE_* (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/98c4d1950db200c04ba6d2350dbd837676c28172&quot;&gt;98c4d19&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;rename the app to Krake (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/5a7f26c14e3dd4db520519b2a31578995b753e4e&quot;&gt;5a7f26c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;rename the binaries to krake, krake-server and krake-plugin-host (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/b2d1b7bd6329f090017194fcf5fb00305dc1d86b&quot;&gt;b2d1b7b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;rename the workspace crates to krake-* (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/1aa155951ad495926fc08cf1925e90c5888a897d&quot;&gt;1aa1559&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Build System&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;move the npm workspace packages to the &lt;a href=&quot;https://github.com/amigo-labs&quot;&gt;@amigo-labs&lt;/a&gt; scope (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/57646c3f6f6aa006c847e19889b69beecd642e0d&quot;&gt;57646c3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;publish the container image as ghcr.io/amigo-labs/krake (&lt;a href=&quot;https://github.com/amigo-labs/amigo-krake/commit/3929364c549f23276ee3113d87a5fc939ce818f2&quot;&gt;3929364&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-blinzel/releases/tag/v1.7.1</id>
    <title>Blinzel 1.7.1</title>
    <link href="https://amigo-labs.dev/blinzel/releases/#v1.7.1"/>
    <updated>2026-11-11T09:13:26Z</updated>
    <content type="html">&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;windows:&lt;/strong&gt; show About in the viewer&amp;#39;s own notice, not a system message box (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/38f55ecd603478f9f9c6dba69c2e6ff63daf2aeb&quot;&gt;38f55ec&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;windows:&lt;/strong&gt; show About in the viewer&amp;#39;s own notice, not a system message box (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/4c78a31449b032d370cbed26bb5ede105e61813d&quot;&gt;4c78a31&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.10.1</id>
    <title>Pincel 1.10.1</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.10.1"/>
    <updated>2026-11-10T14:15:37Z</updated>
    <content type="html">&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; check the stamp&amp;#39;s target layer for the lock, not the active one (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8e0873688588446584283c80197d06443ccaa6d6&quot;&gt;8e08736&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; close the polygonal lasso on its first vertex and on Enter (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a9ee56735a06632be8137d9703b76740945d7231&quot;&gt;a9ee567&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; drop an open polygonal lasso when another tool is chosen (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a24664af2da187f0240db6afafacb2c1c6cb478d&quot;&gt;a24664a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep the selection when the first vertex is double-clicked (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3cc2ff3c2b4e81680688eeae2b58f7779fcc8624&quot;&gt;3cc2ff3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; polygonal lasso closing and three tool gaps found in a spec audit (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6af1c66230e946cf1cb88d446b7811a7dfa2b973&quot;&gt;6af1c66&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; refuse the newer shapes on a locked layer with the notice (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6973cd20351dd94f5e10941316da3a0126639107&quot;&gt;6973cd2&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.10.0</id>
    <title>Pincel 1.10.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.10.0"/>
    <updated>2026-11-10T12:41:34Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; add a Button component with busy state and shortcut keycap (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/aad8bcee088d94e633bc7982ad05c7b3da4906f0&quot;&gt;aad8bce&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; give buttons a pressed state, a danger variant and one on-state (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b1e9e4e376c25353851e2c3e4a9b510fa1d3ab2d&quot;&gt;b1e9e4e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; one button language, themed tooltips, duotone icon set (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e64a19847667f3ae764ab7ab46cd1885bc08045f&quot;&gt;e64a198&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; redraw the icon set in duotone (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/1e525e619c52542a7c56001c7de763a7f631c23d&quot;&gt;1e525e6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; show themed tooltips with the shortcut as a keycap (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/db9c59cbc4f1b3c8f0a33dc6069ee8e6157683e1&quot;&gt;db9c59c&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep control names and nested titles under the tooltip layer (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e3203688f8f8e47134e056a1e09f133d9f86d272&quot;&gt;e320368&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; make the Slice and Move Selection Outline icons readable (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/5d15c3dde157156fd11f635eac93a326249038f6&quot;&gt;5d15c3d&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.9.0</id>
    <title>Pincel 1.9.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.9.0"/>
    <updated>2026-11-10T10:37:44Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; lay the start screen out as a weighted action grid (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/140c864caeeddfa6cd9aed56433f950825457bed&quot;&gt;140c864&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; let the start screen layout follow the recent files (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/31e33762fb50295e4034f32e070bf39d41878309&quot;&gt;31e3376&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; say in the New dialog what Create will make (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c489fff1eb1d829b81ef99ed6c73c44ea75797b4&quot;&gt;c489fff&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;re-sync agent skills (acceptance-criteria headings in any case) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/cbb40a567d985d76ef2ee294ca381678ebdb4f37&quot;&gt;cbb40a5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;re-sync agent skills (commit gate, spec-build completion) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e6dc12e8a19cba6950710572eee2911b8a03896b&quot;&gt;e6dc12e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep the New dialog&amp;#39;s notes, Tab and size honest (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/714987d5c47258b3c8ca24d7e78cc4c648c4a37e&quot;&gt;714987d&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-blinzel/releases/tag/v1.7.0</id>
    <title>Blinzel 1.7.0</title>
    <link href="https://amigo-labs.dev/blinzel/releases/#v1.7.0"/>
    <updated>2026-11-10T09:59:34Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; batch dialog footer states what Start will do (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/61f692b044f9a08864f4e3c9415b3957c00bbeac&quot;&gt;61f692b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; batch dialog header holds the title, count and Remove all (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/d933852386d16170e6382a36d58b4b6ccd04ed08&quot;&gt;d933852&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; batch dialog on a label gutter with a measured height (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/21f0644a1290a5116bcc00fc324042a2408e671a&quot;&gt;21f0644&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; batch run sheet leads with its count as a headline (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/3091a8b98cd6cbccc88823635bcc416f782e453e&quot;&gt;3091a8b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; UI surfaces reworked in crumora tournaments (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/3f2e98abd2bb83c0d29125871b8896b60d536dc2&quot;&gt;3f2e98a&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;re-sync agent skills (acceptance-criteria headings in any case) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/701db34229ca0b7f2c560fde3c54b8d1b533a00b&quot;&gt;701db34&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;re-sync agent skills (commit gate, spec-build completion) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/2a038a343d1f5946372db61a33e544545327870f&quot;&gt;2a038a3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; batch dialog tests hold the language while comparing text (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/7c82792e7fc2cf5837ba68c5f49c20f54db6af68&quot;&gt;7c82792&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.8.1</id>
    <title>Pincel 1.8.1</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.8.1"/>
    <updated>2026-11-09T15:41:52Z</updated>
    <content type="html">&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; rename the tour store so Tour.svelte cannot shadow it (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6ec7d9138b791f6e8563edcafb0b54453b8925bb&quot;&gt;6ec7d91&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; rename the tour store so Tour.svelte cannot shadow it (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8d0bc915ccbcb145ea095ec410f0d8a1d668cc82&quot;&gt;8d0bc91&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-blinzel/releases/tag/v1.6.0</id>
    <title>Blinzel 1.6.0</title>
    <link href="https://amigo-labs.dev/blinzel/releases/#v1.6.0"/>
    <updated>2026-11-09T12:55:38Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;the app is called Blinzel (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/0f333a13b3d3c33759c55f434b18495f9b2d83a6&quot;&gt;0f333a1&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;app:&lt;/strong&gt; tray icon fills its slot at 125 % and 150 % scaling (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/362bb057247f6eeb4bd697f4e338a2e23d676f8d&quot;&gt;362bb05&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-blinzel/releases/tag/v1.5.0</id>
    <title>Blinzel 1.5.0</title>
    <link href="https://amigo-labs.dev/blinzel/releases/#v1.5.0"/>
    <updated>2026-11-08T21:55:54Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bl pixel monogram as app icon and site colour (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/bed526b015448e5ab03baae245735e5cc5f4f25b&quot;&gt;bed526b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;race:&lt;/strong&gt; benchmark file from blinzel-race, retire the website (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/1aee6a30eac3ae1c58fbcfea78ef06858da5a912&quot;&gt;1aee6a3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;race:&lt;/strong&gt; blinzel-race site writes the amigo-labs.dev benchmark file (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/967eb0ab304fb76e1847674c57c9e3d201d78cdf&quot;&gt;967eb0a&lt;/a&gt;), closes &lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/issues/50&quot;&gt;#50&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;the Bl pixel monogram as app icon (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/7229c7a3e5e4987a486b9c7643949b2e5f5ae448&quot;&gt;7229c7a&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;race:&lt;/strong&gt; check out the generated benchmark files with LF (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/bfc1c39af3c1bf2e5897e91a3daba9da3a9abdf3&quot;&gt;bfc1c39&lt;/a&gt;), closes &lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/issues/50&quot;&gt;#50&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.7.0</id>
    <title>Pincel 1.7.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.7.0"/>
    <updated>2026-11-05T12:58:08Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;paint.net effects, docked effect panel, document tabs and unsaved-changes prompt (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/aba129c4c074ebf972ed9d1f8e39d954144872cf&quot;&gt;aba129c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; colour parameter kind and the outline effect (AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/bbfd2c2e86026b6488a92db115d839f15b33569e&quot;&gt;bbfd2c2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; expose Drop Shadow, Stylize Outline, Quantize and Reduce Noise&amp;#39;s strength to agents (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/68ea4f19b24503a0844eda659e46c935b7071e39&quot;&gt;68ea4f1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; expose the paint.net adjustments to agents (AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/1043cc96b511a01cccfc34abc0992cc542a47759&quot;&gt;1043cc9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; expose the paint.net Artistic and Photo effects to agents (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ede3e9753c2b0b762394a8e84d3fe54378922a2d&quot;&gt;ede3e97&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; expose the paint.net blurs to agents (AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a3b1bbc6916220274e90f4d72d0ffe68bcb4f9cc&quot;&gt;a3b1bbc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; expose the paint.net distortions to agents (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/2daf47bfed1ec723a60f5754faef6a5c02807f21&quot;&gt;2daf47b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; expose the paint.net render effects to agents (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/72ee703b61d36807b1eb8b262581c7b9513ef893&quot;&gt;72ee703&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; add the DrawDitherGradient command (dithered-gradient AC-01, AC-02, AC-03, AC-04, AC-06, AC-07, AC-08, AC-14, AC-15) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/719b1f42fc93b022e5e185c80acc99df23f482b4&quot;&gt;719b1f4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; add the Shading ink to PencilStroke (shading-ink AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e9e93e7386a076a0f97736e2c7456aad5bfb975c&quot;&gt;e9e93e7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; compose indexed and grayscale sprites (AC-01 … AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/03233c80c3c26b0d3ffa2e692caa5b512c7887ea&quot;&gt;03233c8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; compose linked cels (AC-01 … AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a0b446369289138b23697195a40d66f7f86dddbf&quot;&gt;a0b4463&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; fold group opacity and blend mode in compose (AC-08 … AC-20) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6767bae95b2989af18591fe072ef7037a08a73c4&quot;&gt;6767bae&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; integer-scaled PNG frame and sheet export (AC-03, AC-04, AC-05, AC-06, AC-07, AC-08, AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9e7933c1dc0889413cc21f65aa9b3a46809e636a&quot;&gt;9e7933c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; mirror, wrap and cel growth in PencilStroke (AC-01, AC-02, AC-03, AC-05, AC-06, AC-07, AC-15, AC-16, AC-17, AC-19, AC-21) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/09eab06a938c3ebd693245c0d4f06b54133cd5c9&quot;&gt;09eab06&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; read and write Lospec .hex, JASC .pal and PNG palette strips (palette-formats AC-02, AC-03, AC-04, AC-05, AC-06, AC-07, AC-10, AC-11, AC-12, AC-13, AC-15) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/18cdce36bba2d540ba31199e5b9ab8b84de6f72d&quot;&gt;18cdce3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; undoable SetGrid command for the sprite grid (AC-08, AC-09, AC-10, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/d0ab686f962b839a0abd407ebcdf5ba4c88fe61e&quot;&gt;d0ab686&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; add Drop Shadow, Stylize Outline, Quantize and paint.net Reduce Noise (AC-03 – AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ac5d29976b94c2782d251310e939f87b54ab4972&quot;&gt;ac5d299&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; add the Outline Object effect with a colour wire slot (AC-02, AC-03, AC-04, AC-05, AC-06, AC-12, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c08b5869bac358a4006c8076316ea95f889abe7c&quot;&gt;c08b586&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; add the paint.net adjustments (AC-03 – AC-09, AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/868d4d6026cbfedda0df2cb2985bef6016a9e79b&quot;&gt;868d4d6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; add the paint.net Artistic effects (AC-05, AC-06, AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3dafe154081139156750b87f2955693b47e5c4d3&quot;&gt;3dafe15&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; add the paint.net blurs (AC-03 – AC-11, AC-13, AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6bb99735bed1494379de6edd45a3e97c875d2457&quot;&gt;6bb9973&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; add the paint.net distortions (AC-03 – AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/cdfb3094d2e042b7577e4b9af5dbae4afea66021&quot;&gt;cdfb309&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; add the paint.net Photo effects (AC-03, AC-04, AC-08 – AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/32ad03bc99efc60f338fd419526fc09887a04a65&quot;&gt;32ad03b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; add the paint.net render effects (AC-03 – AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/1122d87e59f82c90c9ba2ec572ba6aa9ff627301&quot;&gt;1122d87&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; outline effect with a colour wire slot (AC-02, AC-03, AC-04, AC-05, AC-06, AC-12, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c18400efbe7c3b64fce85f547562004990604c7c&quot;&gt;c18400e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; commands report the composite rect they change (AC-01) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c2b0443422707f59cdda578183ec250b83846384&quot;&gt;c2b0443&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; composite layer groups in isolation (AC-07, AC-08, AC-09, AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e60c6d4ab3e59e5a21e1728ef6ff84f76d089d9e&quot;&gt;e60c6d4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; group commands in the Image command format (AC-01, AC-02, AC-03, AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e63da69eb19fdca4fdb8a91e52cb881aece1dec8&quot;&gt;e63da69&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; layer groups in the Image-mode layer tree (AC-01, AC-02, AC-04, AC-05, AC-20) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ee30c68acb3c815ba263a434b3aaae130a1c5c51&quot;&gt;ee30c68&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; merge rules for layer groups (AC-06, AC-13, AC-14, AC-15) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/2deb1686b608a845e8d36bf4374990e147d3fa04&quot;&gt;2deb168&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; paste above a group and keep group buffers out of canvas ops (AC-19) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/bdb2420d2c203fed5454ff53cdc1fc16ba01d94e&quot;&gt;bdb2420&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; read 8-bit RGB PSD layers, groups and composite (AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-07, AC-08, AC-10, AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/adb9e415054cd86e1b93679758a6145ff14319d1&quot;&gt;adb9e41&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; read and write layer groups as nested OpenRaster stacks (AC-01, AC-02, AC-03, AC-04, AC-05, AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e6169bd22839dd42af8738c2d3bd0b9d55110997&quot;&gt;e6169bd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; refuse pixel edits on groups and move group content (AC-11, AC-12, AC-18) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8e35db57eb1b19537c573f644479af159062b8df&quot;&gt;8e35db5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; expose the open-document count for tests (AC-16) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/570508eb7a27e7139bcb4081bda607d3c361ab29&quot;&gt;570508e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; layer tree in the document info and group thumbnails (AC-11, AC-12, AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c395705ddc233f92d3fa45c0e7f4309e8850469e&quot;&gt;c395705&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; open_psd returns the handle and the import notices (AC-06, AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3b3059e7e2b8655896d0653d8025771db62da4a4&quot;&gt;3b3059e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; run effects on the selection as their target (AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/7427dc342611cf7c1621e7ec903a7f02aa52e70f&quot;&gt;7427dc3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; add beginShadingStroke for the Pencil&amp;#39;s Shading ink (shading-ink AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-11, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/7fc8a370f064927b68e4e2f0529ffd87bc45fd44&quot;&gt;7fc8a37&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; add composeFrame(frame, zoom, onion) for onion-free composites (animation-preview AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/fbd01bb7a095d318d47a2e15542977fc50dbb846&quot;&gt;fbd01bb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; add importPalette / exportPalette for every palette format (palette-formats AC-06, AC-07, AC-08, AC-09, AC-14, AC-15) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/cdca03cf06fd5a9e428a61bc4a68360b11e19705&quot;&gt;cdca03c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; anchor Pixelate to the canvas grid for trimmed cels (AC-06, AC-13, AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e4365fc22fde92c6d2bff1e3bad8e7b4d3feebde&quot;&gt;e4365fc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; count live documents for tests (AC-16) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f177eb8fe287eb38991e8094dcb772b4bb078ad7&quot;&gt;f177eb8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; expose applyGradient for the dithered Gradient tool (dithered-gradient AC-08, AC-12, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a3bba131eb21afe1827ea7287c08ad00ab27bda0&quot;&gt;a3bba13&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; grid accessors and undoable setGrid (AC-08, AC-09, AC-10, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/2a3fdbc816595ecfb13fc7c6590da2e4e7d24872&quot;&gt;2a3fdbc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; optional scale on exportPng and exportAtlas (AC-03, AC-04, AC-06, AC-07, AC-08, AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/799207f95035e07f1168e8d84b08acab264f6a41&quot;&gt;799207f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; run effects on the selection as their target (AC-10, AC-11, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9c5b9b98a6f862cce5cc1f752f5975e86d9719b3&quot;&gt;9c5b9b9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; setStrokeMirror and setStrokeWrap for the stroke gesture (AC-01, AC-02, AC-03, AC-15) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/37164b128a102ac1e2f062b0ac3aa1bc3f818704&quot;&gt;37164b1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; add File &amp;gt; Close with CmdOrCtrl+W to the native menu (AC-20) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b2fd942f3127ada68fc0043d2e2772f35183a9f6&quot;&gt;b2fd942&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; associate .psd files with Pincel as a viewer (AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/72616332274f84bfaeeca35a971820db31cb4fe1&quot;&gt;7261633&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; Help ▸ Keyboard Shortcuts in the native macOS menu (AC-03) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/39426a59b5a31b4422633d7236c408a0cbfbc830&quot;&gt;39426a5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; let the UI ask before the window closes (AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/5a80305b84c5913f284127d1182812d5f1254451&quot;&gt;5a80305&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; move the native Export Sprite Sheet accelerator to Cmd+Alt+E (power-user-shortcuts-coverage AC-19) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/85c67022cf739448887938806c7ea1a322ceb178&quot;&gt;85c6702&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; register the clipboard-manager plugin with read-image only (AC-27, AC-28, AC-33) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9691418b53d78e882772845fc3a55010aba7c223&quot;&gt;9691418&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; set_menu_accelerators rebuilds the macOS menu with rebound chords (AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c890ece753d61d3077dce0a6449cc9dc2749c935&quot;&gt;c890ece&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; add a Ctrl+K command palette over every menu command and tool (power-user-shortcuts-palette AC-01 – AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b445733b369f7c43aefb5673cd64bf236880c0e9&quot;&gt;b445733&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; add a Preview panel that plays the animation while you draw (animation-preview AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-07, AC-08, AC-10, AC-11, AC-12, AC-13, AC-14, AC-15, AC-16) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/14477e280e96a14714d334997770d7929ef9dd5c&quot;&gt;14477e2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; add the dithered Gradient tool to Pixel mode&amp;#39;s Fill group (dithered-gradient AC-09, AC-10, AC-11, AC-12, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4ed03644633ad89c776aeebf19feaffe8e4a0d72&quot;&gt;4ed0364&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; add tool-rail flyout model helpers (AC-02, AC-04, AC-05, AC-08, AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e507fe352794464bf65bf7c2370ce2defdd45eba&quot;&gt;e507fe3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; ask about unsaved changes before the desktop app closes (AC-01, AC-08, AC-09, AC-10, AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/924d878114ae7f2768770f92eabcc3c955c98efe&quot;&gt;924d878&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; ask Save / Don&amp;#39;t Save / Cancel before replacing unsaved work (AC-02, AC-03, AC-04, AC-05, AC-06, AC-07, AC-08, AC-12, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/0a2ac6873c56dd63543c261410e27c371629cbea&quot;&gt;0a2ac68&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; canvas only zooms and pans while an effect is open (AC-03) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a009345c10852414ab99ba97de2a37d89e594e48&quot;&gt;a009345&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; default shortcuts for layers, frames, flips, rotation, opacity, the palette and Toggle UI (power-user-shortcuts-coverage AC-01 – AC-19) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/85f381e3bf8994718200b29827780a5476186139&quot;&gt;85f381e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; dock the effect panel in the sidebar, drawer or bottom sheet (AC-01, AC-02, AC-04 – AC-06, AC-12 – AC-15) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c2536b68cd98353fb2bc01c96082e2d79b1a6966&quot;&gt;c2536b6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; drop images onto an open editor to add them as layers or open them (file-access AC-20, AC-21, AC-22, AC-23, AC-24, AC-25, AC-26, AC-27, AC-28) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b75c1b799b28d4fb8d3bd42f58b8649f51b1d280&quot;&gt;b75c1b7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Drop Shadow, Stylize Outline, Quantize and paint.net Reduce Noise in the Effects submenus (AC-01, AC-02, AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6560b2e26b2f6126ee0bb283f94eb70a8f0018be&quot;&gt;6560b2e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Effects &amp;gt; Object &amp;gt; Outline Object with a colour parameter in the effect panel (AC-01, AC-06, AC-08, AC-09, AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4650965cb899539c222dde1b3a50cb86ab8ada57&quot;&gt;4650965&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Effects ▸ Outline… with a colour parameter in both modes (AC-01, AC-08, AC-09, AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/964845bf61203765ae3d90a018ef55c23ff304b7&quot;&gt;964845b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; export and import the keymap as JSON (AC-07 – AC-11, AC-15 – AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/fef54f3e0da0837ac13b859a52b166766229f7e0&quot;&gt;fef54f3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; failed effects keep the panel, prompts and document switches end it (AC-16, AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a7bcb717d7799435c1bda25f2962cf64452d54e7&quot;&gt;a7bcb71&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Grid Settings dialog for the Pixel-mode grid (AC-07, AC-08, AC-09, AC-10, AC-13, AC-15, AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b9bf15c2111a2076098e6c7e1c5d8776e1b89bb6&quot;&gt;b9bf15c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; import any palette file and export .gpl, .hex, .pal or PNG strips (palette-formats AC-01, AC-02, AC-03, AC-05, AC-06, AC-09, AC-10, AC-11, AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/467023059b53ca111acbf7b386d0f1d3534ac18d&quot;&gt;4670230&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep the native macOS menu in step with the keymap (AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c0a929b964ec2a3c12bfc860e842224a4c16ad8a&quot;&gt;c0a929b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keyboard shortcuts overview dialog (AC-01, AC-02, AC-04 – AC-18) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/44ced131aa1f1f356a903b7e1642de847f885449&quot;&gt;44ced13&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; layer groups in Image mode&amp;#39;s layers panel and Layer menu (AC-01, AC-02, AC-03, AC-05, AC-07, AC-11, AC-12, AC-14, AC-16, AC-17, AC-20) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/62340ebe1f1668ad09f6c2d533739c087568b2b3&quot;&gt;62340eb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; mix both modes in one tab bar (AC-01 – AC-05, AC-07 – AC-11, AC-15 – AC-17, AC-19, AC-21 – AC-25) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/35ab4fd00da9caada19929bff11dd998152f10ac&quot;&gt;35ab4fd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; offer a clipboard image on the desktop start screen (AC-27 – AC-32) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/593daba33b1cef16dc5628ac4d4439c745ab27b8&quot;&gt;593daba&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; open a variant flyout from tool-rail group buttons (AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-07, AC-08, AC-09, AC-10, AC-11, AC-12, AC-13, AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6ffa0bd5700727d5249a43b36c1d07414f81e4ce&quot;&gt;6ffa0bd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; open PSD files in Image mode (AC-01, AC-05, AC-06, AC-07, AC-08, AC-09, AC-10, AC-11, AC-12, AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ed992f857e43e8c6851e29e5d67325cc72d61e7e&quot;&gt;ed992f8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; open several documents as tabs in each editor (AC-01 – AC-20) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/70cb8eb7752eac047f0e9b7b6e47d60c4c4ca31b&quot;&gt;70cb8eb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; open the shortcut overview from the native Help menu (AC-03) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/31c5a7d325e02a8c487fcadd1756fd1fc061120a&quot;&gt;31c5a7d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; paint.net adjustments in both modes&amp;#39; Adjustments menu (AC-01, AC-02, AC-10, AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/d4ea8a9c0605c880dcad17eb326662f6391aad04&quot;&gt;d4ea8a9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; paint.net Artistic and Photo effects in Image mode&amp;#39;s submenus (AC-01, AC-02, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e5c8fdfb7787358db70dbdb77d1ab2da61538d6a&quot;&gt;e5c8fdf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; paint.net blurs in Image mode&amp;#39;s Blurs submenu (AC-01, AC-02, AC-12, AC-15) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ec36c78c75add17e8f3484fb7cc172584333827e&quot;&gt;ec36c78&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; paint.net distortions in the Distort submenu (AC-01, AC-02, AC-15) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f49ed763a7085d2a4acaa8c440519da47bc74b17&quot;&gt;f49ed76&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; paint.net effect menus per mode with new parameter kinds (AC-01 – AC-07, AC-09 – AC-15) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a0b314e64f8ba04a685fc6a4e0b846c25a7a67aa&quot;&gt;a0b314e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; paint.net render effects in the Render submenu (AC-01, AC-02, AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/def5de7b3b0a38fe70c1714727fd2a4cb954ae02&quot;&gt;def5de7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Pencil Shading ink with a Shift+click palette ramp (shading-ink AC-01, AC-02, AC-07, AC-08, AC-09, AC-10, AC-11, AC-12, AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/41a4804228a3b238a5672350527e6c0432183766&quot;&gt;41a4804&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; pixel grid and custom grid in Pixel mode (AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-11, AC-12, AC-14, AC-16) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/00412daf04004f48c18162ccdb622d4bab7d0fbf&quot;&gt;00412da&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; rebind shortcuts in the Keyboard Shortcuts dialog (AC-01 – AC-06, AC-12, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/7c9373ccab2c945c3b22480a276abce4280beb75&quot;&gt;7c9373c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; recognize a dropped file as the file of an open tab (AC-03, AC-19) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/bd2cbbf621e591921fbf6a11d1143a48c54156ad&quot;&gt;bd2cbbf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; resizable docked sidebar with a splitter, width kept per mode (AC-07 – AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/852277da3d052b1df040297357ac77a59257f619&quot;&gt;852277d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; respect reduce motion and add View ▸ Reduce Motion (AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-07, AC-09, AC-10, AC-11, AC-12, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/1c894becf578c0192c8ac09c146af7fe7dbb2e83&quot;&gt;1c894be&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Scale choice for PNG frame and sprite-sheet export (AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-07, AC-08, AC-09, AC-10, AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/0c62d3c753052b43ef36895f9b5dfdfa32ca4ca1&quot;&gt;0c62d3c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; symmetry and tiled mode for the Pixel-mode Pencil and Eraser (AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-07, AC-08, AC-09, AC-10, AC-11, AC-12, AC-13, AC-14, AC-15, AC-16, AC-17, AC-18, AC-19, AC-20, AC-21, AC-22) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/da8bbbc3e2abf33274624c1399444a6375aa1424&quot;&gt;da8bbbc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;website:&lt;/strong&gt; scroll the comparison inside its wrapper on phones with Pincel kept in view (website-comparison AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/982bcaaf3ca19c77c359160a030bf318d4330ed2&quot;&gt;982bcaa&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; list the outline effect with a hex colour parameter (AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/0120e3cf8fb90e5f5551a9cc17fe2572eee04629&quot;&gt;0120e3c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; keep slice center and pivot relative on canvas changes (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/57a2c6c80b2d343c1569173bf44617ed40feef2f&quot;&gt;57a2c6c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; stamping on a frame without a grid creates it (AC-21) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/384f958fa03c2253aaf55261f4cefdd54e1f1b23&quot;&gt;384f958&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; keep transparent pixels&amp;#39; colour out of distort and reduce noise (AC-18) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/dc153adef1c3ecc0e0af71712d9a4a5689c6d91a&quot;&gt;dc153ad&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; list outline once in EFFECT_NAMES after the PR &lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/issues/123&quot;&gt;#123&lt;/a&gt; merge (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/428cac5f6a3d916849f1edd0c2e7cd0c816b911a&quot;&gt;428cac5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; read the radial blur centre as a fraction of the image (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3fe6b2c5966f43131d9f709a110f9f001ea4416f&quot;&gt;3fe6b2c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; read the radial blur centre as a fraction of the image (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/57b63a221c72070197fe5b4d6286b4cabd179c12&quot;&gt;57b63a2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-effects:&lt;/strong&gt; render Turbulence from gradient noise (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/7bf710ea652a9cd1706704c1d9f63af128944a7c&quot;&gt;7bf710e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; add_layer keeps the layer tree intact (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/2bc43a56a982a095254939eeacdcb23112183616&quot;&gt;2bc43a5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; PSD fill opacity scales the layer&amp;#39;s opacity (AC-01) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e1ead8e1422391eb3b6060a88acf60656d6ae096&quot;&gt;e1ead8e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; a new tileset stores the transparent tile 0 (AC-01, AC-04) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/734f76d79eefee4e01e8aabe92a6549bcc311b1f&quot;&gt;734f76d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;reconcile effect-panel AC-17 after integrating feat/clipboard-offer (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/1d40a74efb7d9e7c5f84b341a294b8440e1ddf52&quot;&gt;1d40a74&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;reconcile the effect-menu loading test after integrating feat/clipboard-offer (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9e0ef7d356e541e2908c84b0ce15f6d2c96f0c6f&quot;&gt;9e0ef7d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;reconcile the tool flyout with document tabs after integrating feat/tool-variant-flyout (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/306922f20241d51a0aaa5a433b28c6e334aa1dac&quot;&gt;306922f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; drop the test-only labels_for so clippy passes (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e9399f71c8d129f98eb48d45dbf369ecacb60033&quot;&gt;e9399f7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; route current_labels through labels_for (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/35c5fb1a0bcfa15f6c2a65fc0c5ca6f9175c8832&quot;&gt;35c5fb1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; a refused slice size snaps back to the stored value (AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4b0916f2e905ca9eb650f7330b789dfd0a449e74&quot;&gt;4b0916f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; apply Select ▸ Expand… / Contract… in Pixel mode (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/5dd2afe33a6cbb92ffdc2713daddc1f0509fc0ee&quot;&gt;5dd2afe&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; clamp an out-of-range New size instead of blocking Create (app-shell AC-06) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/0c3c7e0176ad2e80512e74e891edb7cd93ee9387&quot;&gt;0c3c7e0&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; count a Pixel inline layer rename as an undo step in the UI (pixel-layers-frames AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/d832ddf6217f7a3f85d1091fe9aa50e42a34565d&quot;&gt;d832ddf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; draw Image-mode selection ants on device pixel centres (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/08d3a76740bd2de77ed38671e6e383505ba48796&quot;&gt;08d3a76&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; drop the Image gesture in flight when a new tab opens (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/47aba67dc2e4f88766fe6342fa98b96a67a71146&quot;&gt;47aba67&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Enter on a menu entry or panel button keeps its own meaning while an effect is open (AC-04, AC-05) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f61f898d0fca48f85e794b1bf5ce33adaa3c756f&quot;&gt;f61f898&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; find &amp;quot;…&amp;quot; effect entries by their English name in the command palette (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c767961e7f584e129db22fc2857c3e33980d54d9&quot;&gt;c767961&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; fit a new Pixel document to the stage its panels leave (pen-input AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/362679015e507f831226f39c0c196124ff874f5d&quot;&gt;3626790&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; focus the inline layer rename field when it opens (AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/0f33109d3fbd9f9af4bcf4e9a8100ae592c756de&quot;&gt;0f33109&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep a focused size field selected when the clipboard prefill lands (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/92418b58180313d9567906d75022a76dd3c2df4f&quot;&gt;92418b5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep native-menu items from the editor while the unsaved prompt is open (AC-02, AC-07, AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/439e7b252a37fca26a89c35489015cfee426fbbb&quot;&gt;439e7b2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep the focus in the drop dialog when Add as layer is unavailable (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/0c5cd6d9207107149a23d8c8dc1b657f7fe0cc3c&quot;&gt;0c5cd6d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep the Pixel document unsaved when the save picker is cancelled (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3c795a511f6532ffefe6bf19263714324df4d7eb&quot;&gt;3c795a5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep the shell starting when the window API throws under a Tauri 1 bridge (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/7b505baab3896eb7e4b95972397e490d211b02c4&quot;&gt;7b505ba&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; name an unknown file opened from the Pixel editor (AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/638f4410a135277eae7b11f8c33e9cd8a53b6465&quot;&gt;638f441&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Preview off hides the preview of a parameterless effect (AC-03) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3fffeb3a992f59ab1d6b2e47a3b6de1a6da16d25&quot;&gt;3fffeb3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; refuse a drop under the unsaved-changes prompt with a notice (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b828d905ca623b22465bceeec1c628c1884b560f&quot;&gt;b828d90&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; report an effect refused on a locked Image layer (AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/59fbe353e526da8b176fcb18f4924dfc35e8d14b&quot;&gt;59fbe35&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; route an Image-mode recent from the Pixel editor&amp;#39;s Open Recent (app-shell AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b0317e3bb03725be41e5203f161a39d8ab4942ec&quot;&gt;b0317e3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; show the kept duration after a rejected frame duration entry (pixel-layers-frames AC-31) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/387faddb3694fd1a6209b6f900cf1dc5f0df0ef8&quot;&gt;387fadd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; show the shell notice when the Pixel editor cannot read a file (file-access AC-14, AC-16) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/51ec205bf36cfab5b562eb6a73a8a7af6b9b2935&quot;&gt;51ec205&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; slice 9-patch center and pivot relative to the bounds (AC-09, AC-12, AC-13) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f9abb3105086eab1174c0cc8a3d94199aaa8f20b&quot;&gt;f9abb31&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; the Add tileset form always opens with its defaults (AC-02) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/685edba3e9a3c40e159d4ef58dd954371d51f8e4&quot;&gt;685edba&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; the Add tileset form reports every bad tile size itself (AC-03) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ef9bea66ee41c25f94af5cbd72bb2b643461ed10&quot;&gt;ef9bea6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; the Image editor keeps the native Open Recent submenu current (AC-19) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/65c13c7f1a5a4becd359cbdb56e060cd56d91373&quot;&gt;65c13c7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; the Tilesets panel hides the empty tile 0 (AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/83516eb1c67b09f6247d147965b92a4040b1ae5c&quot;&gt;83516eb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Tilesets panel edits refresh the undo state (AC-01, AC-04) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3f28ab25c540f43fe3d5fc60e7dd412a3bba4ade&quot;&gt;3f28ab2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Tilesets panel strings go through t() (AC-01, AC-04, AC-06) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/0f15aa899b96a4ee845987a64e3d937ed1b5bfe3&quot;&gt;0f15aa8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; translate the Slices panel&amp;#39;s field labels and row texts (AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/0626569dfb025bcb01de4f0aa38fd8222198e848&quot;&gt;0626569&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; translate the sprite sheet dialog&amp;#39;s grid line (AC-16) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3830dde6aa186178c225b0493a50dcdbcc8a37da&quot;&gt;3830dde&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;website:&lt;/strong&gt; call Aseprite source-available and date Piskel&amp;#39;s last release (website-comparison AC-06, AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/973fdd2cc134925a3c1e296113f7148080e61019&quot;&gt;973fdd2&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;website:&lt;/strong&gt; set &lt;code&gt;&amp;lt;html lang&amp;gt;&lt;/code&gt; on a client-side language switch (website AC-01 – AC-05) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/75bf1bf9879e80a3b5ce20db7f49266f5d7b9611&quot;&gt;75bf1bf&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Performance Improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; bench a 4K brush stroke presented from the cache (AC-02) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c656e67cf66ee2ef519ef05318535b7a1ed9cd0e&quot;&gt;c656e67&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; cached composite with a downscaled pyramid (AC-01, AC-05, AC-06, AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/69ecefdffecb4ffc197b79beb811c71730867338&quot;&gt;69ecefd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; compose without powf, byte for byte (AC-01, AC-02, AC-04) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ba53299945d0e2128f658d7a9f7f620ec3b6285f&quot;&gt;ba53299&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; division-free pyramid filter for equal alphas (AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/018e2b7901a23f244c1678d5c0273d557ec4e482&quot;&gt;018e2b7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; composite_region presents from the render cache (AC-01, AC-05, AC-06, AC-07) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b97a773dbb3d5f60d1dd0685f7dfbaeb2c50fa1a&quot;&gt;b97a773&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.6.0</id>
    <title>Pincel 1.6.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.6.0"/>
    <updated>2026-11-03T21:12:06Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;integrate the Vectorizer (pincel-trace + File ▸ Export ▸ SVG…) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9a6ed3169e8f93a65ad442e48b58f39bfd88bd32&quot;&gt;9a6ed31&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; vectorizer over the composite for SVG export (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f2800ea302ae9e63ad75454f9ec906f8d9ed415f&quot;&gt;f2800ea&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-trace:&lt;/strong&gt; pixel-exact mode and the SVG document (AC-12 – AC-14, AC-16, AC-17, AC-20) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8c9286d4bf739fc0165976d494936c99248a3946&quot;&gt;8c9286d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-trace:&lt;/strong&gt; port the Vectorizer core (AC-02 – AC-11, AC-15, AC-18, AC-19) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4ae67adc8c51030ba3eb7e28f09df643d8f95dbc&quot;&gt;4ae67ad&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-trace:&lt;/strong&gt; read trace options from a flat wire vector (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/22c7d62facee7cae96d7a08f3d0426e28e233507&quot;&gt;22c7d62&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; Vectorizer over a composed frame for SVG export (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/aeb4797c39796cff202bcf4ff5312ddd78920a39&quot;&gt;aeb4797&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; Export as SVG… in the native File menu (AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/0abc73a12f5f18ab38d3e63ee9218ed33964d1dd&quot;&gt;0abc73a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; File ▸ Export ▸ SVG… in both editors (AC-01 – AC-09, AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/092dc60020a70f69af05f3cd60709b9eb5cb73ab&quot;&gt;092dc60&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; paste the clipboard image as a new document (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/2350eca304f9cb6fe6326f1bdff7ba7e9a4705c9&quot;&gt;2350eca&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; paste the clipboard image as a new document (AC-22, AC-23, AC-24, AC-25, AC-26) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f323697ef7773979f8be97372984990f911f8482&quot;&gt;f323697&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; start image selections on the stage, deselect by click and Escape (AC-29, AC-30, AC-31, AC-32) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9b852d4916770df28d1902556f4abc8d460e8408&quot;&gt;9b852d4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; start pixel selections on the stage beside the canvas (AC-01, AC-04, AC-07, AC-09, AC-12, AC-17, AC-18, AC-21, AC-22, AC-23, AC-24) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a554af6d0bf3866450326c4a68168ce8628cb56e&quot;&gt;a554af6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; start selections on the stage beside the canvas (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/14991b4a7092cccd036eeaaacc161892f25c2806&quot;&gt;14991b4&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pincel-trace:&lt;/strong&gt; reserve outline-sized buffers fallibly (AC-18) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/87ecaa4548e835a4f210e1f79ac483a1f36723ea&quot;&gt;87ecaa4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-trace:&lt;/strong&gt; share cached quantizations instead of copying them (AC-18) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/40498e5bf61bcf99d841540ea4cafd4e1b21e0df&quot;&gt;40498e5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-trace:&lt;/strong&gt; use as_chunks for RGBA pixels (clippy 1.99) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/cee3a28bb92a7526b818588e0a09355650a6960e&quot;&gt;cee3a28&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; stop the PWA service worker from freezing the desktop UI (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4c15c89a29e449195833b6fc0f125e80f0a349cc&quot;&gt;4c15c89&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; stop the PWA service worker from freezing the desktop UI (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a321a03235eb48d3e02d9a140ebdfde956f4e8c0&quot;&gt;a321a03&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; drop a pixel gesture on pointercancel instead of committing it (AC-09, AC-21, AC-22, AC-23, AC-24, AC-29, AC-30, AC-31, AC-32) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/501fb4260b0f5269e1ada2abf38a5cbe9031fd3f&quot;&gt;501fb42&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep the SVG export dialog modal for pointer and keyboard (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/866fe91eeac2bee8f274c1c49f302e6952ba8a52&quot;&gt;866fe91&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; let a key right after a marquee release see the new selection (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e75674126ec0696b4129a378f19c15c68b68015a&quot;&gt;e756741&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; march Image-mode selection ants instead of blinking the outline (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3bcb5ca2ef0bda3c042465dbbe389f0cc3065f5c&quot;&gt;3bcb5ca&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; march Image-mode selection ants instead of blinking the outline (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c8b134c10285ea6503baab405da462816becac76&quot;&gt;c8b134c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; snap both image-mode marquee corners to the pixel grid (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/1819fda248e08602b654fb2704773ff78b862e8d&quot;&gt;1819fda&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; tie the SVG tracer to the document it traces (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/72575352dde5a76e5c6c973c84116ad48d43b1ec&quot;&gt;7257535&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-blinzel/releases/tag/v1.4.0</id>
    <title>Blinzel 1.4.0</title>
    <link href="https://amigo-labs.dev/blinzel/releases/#v1.4.0"/>
    <updated>2026-11-03T06:54:26Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;macOS disk image download and self-signed app signature (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/e138f08be18a33e1455a20c618f81b029628a7ad&quot;&gt;e138f08&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;macOS disk image download and self-signed app signature (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/5f6cd2f5bd2285485bb0b67cfeef8021a5532de2&quot;&gt;5f6cd2f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;one signing certificate for amigo-labs, created by a script (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/661e4368e320006c26b8594812cac2dbf8b87018&quot;&gt;661e436&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resident mode on macOS with a menu bar icon and login item (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/ceaa5fe11623d325013abdb0eb028837e6d94aee&quot;&gt;ceaa5fe&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;resident mode on macOS with a menu bar icon and login item (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/5f3c5f6a97bfae0a75679151da325e0c3b6ba78b&quot;&gt;5f3c5f6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;screenshots always go to the clipboard, then save/open/edit as set (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/57203f99fdf36680cf648fad718efe202a22a97c&quot;&gt;57203f9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;screenshots always go to the clipboard, then save/open/edit as set (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/46b29f3ca241bf6d33c6aab05cf087b1d3a4e437&quot;&gt;46b29f3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;screenshots on macOS with ScreenCaptureKit and a Cmd+Shift+1 hot key (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/3b023f09b08c0655232751ad613a5e761480e036&quot;&gt;3b023f0&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;screenshots on macOS with ScreenCaptureKit and a Cmd+Shift+1 hot key (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/dedfd7c632b22e7e3ca9b0c711fe7ad6e7d69d2a&quot;&gt;dedfd7c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; decode a copied region in the shared UI crate (AC-08) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/164def7c8df6c31e8ab59678abd41a57bd6ba70b&quot;&gt;164def7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; decode a copy on its own thread with copy_in_background (AC-10, AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/546c24247cd8c38af71e3ea12c5751f8dd7ab92b&quot;&gt;546c242&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; save a cutout on a shared background thread (AC-20) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/b7855a39e1c93dd8ba4540fca6f2415b8efbb9e4&quot;&gt;b7855a3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; the batch dialog starts with the files marked in the grid (AC-23) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/860e7cf05c524da5d3797b407d024d9f6462a3ed&quot;&gt;860e7cf&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;app:&lt;/strong&gt; the shells exit with the App&amp;#39;s exit code (AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/c2afca34821970bb6db219f21f9ea63b76f833cf&quot;&gt;c2afca3&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;bench:&lt;/strong&gt; a tie with zune-jpeg no longer fails the JPEG gate (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/80d77b1ca0e16439ddd102fb6e28d4f3fa742478&quot;&gt;80d77b1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;benchmark gate ignores a noisy median when the minimum disagrees (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/258b798cdba7b73e3f694d335f202ff0ae7111b7&quot;&gt;258b798&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;benchmark gate ignores a noisy median when the minimum disagrees (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/fbadcec399092795e62a471a38b1ab789e14692f&quot;&gt;fbadcec&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;bench:&lt;/strong&gt; the CLI test points TMP and TEMP at its temp folder too, as Windows reads those (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/58a0e29110709c08a59e316afa1b9980ad27e446&quot;&gt;58a0e29&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; a file&amp;#39;s cache id folds case on Windows only (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/8cfbc3013c9d28f654b0d2e16c11f5e1c9ea199a&quot;&gt;8cfbc30&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; an animated GIF with a 0×0 screen plays at the first frame&amp;#39;s extent (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/eade330b6c1248bf19793bd5b1632d832c93b5c1&quot;&gt;eade330&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; an AVIF with major brand mif1 is detected as AVIF, not HEIF (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/7346c4f780f675e8487a0ae6dc5e8560224c0893&quot;&gt;7346c4f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; batch copies drop the source&amp;#39;s TIFF tile tags (AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/5d34a0c04fc3c45ce31e0f88c969e5695976951e&quot;&gt;5d34a0c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; drop ram_budget_mb and read settings more strictly (AC-02, AC-04, AC-07, AC-09, AC-16) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/f66b7c59551f192a37f26692be4dbc67d9aba6d6&quot;&gt;f66b7c5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; Format::is_native names TIFF, AVIF and (with heic) HEIF (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/1261425dbbadac36f3ed11bc43aeff8b040f5f3b&quot;&gt;1261425&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; gray + alpha TIFFs decode natively (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/d0e2932b8156bcd539d21dc97cb222f8708b6233&quot;&gt;d0e2932&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; hex keys, seeds and checksums take hex digits only (release AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/4bb233ab16156a434a009843ccc8e122e41c846d&quot;&gt;4bb233a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; read a HEIC&amp;#39;s colour profile from the container past its essential hvcC (AC-03) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/d9de6fa211d148e828f41de8a7b47d35fbd25b74&quot;&gt;d9de6fa&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; the GIF probe takes the first frame&amp;#39;s extent for a 0×0 screen (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/a08be66134c6405ce562a1cb04b357261406f36c&quot;&gt;a08be66&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; the thumbnail cache key folds case on Windows only (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/e5f76a9f36c8c0c25decbf14e93a52071c1d535b&quot;&gt;e5f76a9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;core:&lt;/strong&gt; write maximized only together with the window rect (AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/c1d52c916b54e6042b4d0c3045b57e96c7dc2d77&quot;&gt;c1d52c9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;linux:&lt;/strong&gt; a drop of several files reaches the App as one drop (AC-23) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/e837a068fd9deed0a19252b712c552e237c6024c&quot;&gt;e837a06&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;macos:&lt;/strong&gt; a --resident start with the setting off removes the LaunchAgent (AC-19) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/64b4557bd842d968a178c7586649e542d02f0c66&quot;&gt;64b4557&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;macos:&lt;/strong&gt; files dropped onto the batch dialog fill its list (AC-23) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/f293813ec8083e59e7b26045aa3c7ee34b1651c2&quot;&gt;f293813&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;macos:&lt;/strong&gt; name the icon type for ImageIO, which does not sniff it from data (AC-23) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/118476ad2693d41b50fc5ede5a76d2322bd83eb8&quot;&gt;118476a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;macos:&lt;/strong&gt; the batch drop handler compiles inside define_class (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/c5f32205a22d9171a7e4ba27872c3699952d6211&quot;&gt;c5f3220&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;release:&lt;/strong&gt; sign refuses an all-zero seed instead of panicking (AC-09, AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/a3c56f9824186bd828f7665b9331fd0ed78266cf&quot;&gt;a3c56f9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;signing certificate script refuses to be sourced (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/7d7fc932cfd75ddb6aa8be5319357f96d71b7b1e&quot;&gt;7d7fc93&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;signing certificate script refuses to be sourced (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/e6d8156baf58510348f3d441b6a95b2308ac69fd&quot;&gt;e6d8156&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;site:&lt;/strong&gt; an unknown race chart kind fails the build before its report exists (AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/5360caa1fd047e1029e760563475051e6bc23656&quot;&gt;5360caa&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;site:&lt;/strong&gt; the download button offers the Linux files only on Linux, not on a BSD desktop (AC-16, AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/8c066914a017164947e8793bd8ba9cf472946019&quot;&gt;8c06691&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; a click on a pannable image clears the selection (AC-05..AC-08, AC-12..AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/15ea3d4a7c2582c1a3d2a0ff781bf2f07d1faf2a&quot;&gt;15ea3d4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; a decode error midway keeps the animation&amp;#39;s loop count (AC-11, AC-12) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/4b229e64d34585c397ec89c4b6d9b228a1ddcd3d&quot;&gt;4b229e6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; a measurement without an image quits with exit code 1 (AC-09, AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/63ceb521b867e448f47dfa72cf7baa66c13c582c&quot;&gt;63ceb52&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; animation decoding runs inside catch_unwind (AC-11) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/808640676bb0942fb25a7cfcde5a26e9b91bf43b&quot;&gt;8086406&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Delete in the grid recycles the selected tile (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/386cd8cf8c5956196ccaf2022fa030cbc25c0fd5&quot;&gt;386cd8c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; keep browsing when the folder changes under the current image (AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/3e665016b05e60000ed40a5f06f25a163f1f3de6&quot;&gt;3e66501&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; saving a cutout never replaces its source (AC-20..AC-22) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/7721927351962eeebc2ebe6356173ee555fd2dcf&quot;&gt;7721927&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; show the window at once when no image is coming (AC-03) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/11b2f58602efca85cf8d6d2f6b27de32f4fafe0a&quot;&gt;11b2f58&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;windows:&lt;/strong&gt; a Print key that comes free on the last retry shows no notice (AC-03) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/bb6e0c8703a66b8297a2ffa13277911fc012f991&quot;&gt;bb6e0c8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;windows:&lt;/strong&gt; clippy explicit_auto_deref in the clipboard window procedure (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/8c2ab01c0a3e376f665ade22ed75db3aa2a56e18&quot;&gt;8c2ab01&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;windows:&lt;/strong&gt; import THREAD_PRIORITY for the scheduling helper (AC-18) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/7b1c78faf29268745bb0a638bce5309d75ccaf1e&quot;&gt;7b1c78f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;windows:&lt;/strong&gt; the startup report&amp;#39;s warp is true on the Basic Render Driver (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/5b829705730e82ee012ced0a7a73dbc07e3be69e&quot;&gt;5b82970&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;windows:&lt;/strong&gt; the tray menu opens leftwards while the UI language is right to left (AC-16) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/1e4162ad50450428b5411c880b087f988716247c&quot;&gt;1e4162a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;windows:&lt;/strong&gt; uninstalling from the downloaded setup shows why it failed (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/39fa8184dcec8321b366b0165c0e8d77eba0bf2e&quot;&gt;39fa818&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;windows:&lt;/strong&gt; warp recognises the Basic Render Driver by its vendor and device id (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/8707b8b38536e6f981d6e69ee7289d63032c04a1&quot;&gt;8707b8b&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.5.0</id>
    <title>Pincel 1.5.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.5.0"/>
    <updated>2026-10-30T07:54:17Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;add skills for feature specification and verification (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6526967d4e9afa5dbd4158800aeab8c22ed5ba09&quot;&gt;6526967&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;copy, cut and paste in both modes (copy-cut-paste) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/28b8cc54f573669ab38cb3c88b1cce49412ba8d7&quot;&gt;28b8cc5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;perf:&lt;/strong&gt; benchmarks, budgets and nightly performance workflow (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4229ec72edc2cf5471d1a64409a5b0c7e238b7d6&quot;&gt;4229ec7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; add pincel://guide and pincel://effects resources (AC-17, AC-18) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a2649fc1f8ba7e2b63eab0a017ce768f0f8ac909&quot;&gt;a2649fc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; add the Pixel agent tool layer (AC-02..AC-33, AC-43..AC-46) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/132926be6ac5eff75800583825b63986c570e5e5&quot;&gt;132926b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; Image documents over MCP (mcp-headless-image) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/5b65b7df2131aee1aa73dd940cb25144b2f04df3&quot;&gt;5b65b7d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; open, edit, save and export Image documents (AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-07, AC-08, AC-09, AC-10, AC-11, AC-12, AC-13, AC-14, AC-15, AC-16, AC-19, AC-20, AC-21) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a175f1af5fe661ecc887324c593fddbe5c794d3a&quot;&gt;a175f1a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; add CommandBatch and PutCel commands (AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f10b887afab2e4c3356e3efa3e7612b23a5df490&quot;&gt;f10b887&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; add copy_pixels and the PasteLayer command (AC-02, AC-04, AC-05, AC-07, AC-11, AC-18, AC-19) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/842fa4ce741d6cc8f2bb04c31f49886086aaa9c2&quot;&gt;842fa4c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; add PatchCel and AddEmptyCel dirty-rect commands (AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/05d67e81334f23ed1faa8081acb2be66695ef130&quot;&gt;05d67e8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; add PencilStroke command with brush sizes and pixel-perfect (AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-08, AC-09, AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/6a7e87eea8461e3f0e564be9faaa992112066e74&quot;&gt;6a7e87e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; animated export as APNG and GIF (animated-export) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/11545c5b1ad3aa507530aea336713005507c90b1&quot;&gt;11545c5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; export animations as APNG with tag direction and scale (AC-03, AC-04, AC-05, AC-07, AC-08, AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/74d5722d6fe0677138fffe0db0e70198cb619386&quot;&gt;74d5722&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; export animations as GIF and describe them for the dialog (AC-12, AC-13, AC-16, AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ad1cd367accdc96fd046173018ff3ea4f8ed54dc&quot;&gt;ad1cd36&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; scale PencilStroke stamps by pen pressure (AC-01, AC-02, AC-04, AC-05, AC-06, AC-09, AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3e205f028a21d5cca1eaea31bab6dcdac2f47c13&quot;&gt;3e205f0&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; add copy_selection and PasteLayer::at (AC-02, AC-03, AC-04, AC-05, AC-09, AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a08d80395a38c15db020f76715e82eb30bb9a56b&quot;&gt;a08d803&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; add copy_selection, cut_selection, image_key and a paste position (AC-02, AC-03, AC-04, AC-05, AC-06, AC-09, AC-10, AC-21) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a4f8a7f58b4a3362be42efe97e7fa939e015bc1e&quot;&gt;a4f8a7f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-mcp:&lt;/strong&gt; add the stdio MCP server with workspace sandbox (AC-01, AC-34..AC-40) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/c00ff713b9fc41080181a1da7bf108a8d39c3174&quot;&gt;c00ff71&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-mcp:&lt;/strong&gt; headless MCP server for Pixel documents (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/773b296fa75ee59999bc148cf799bb65a53abc75&quot;&gt;773b296&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-mcp:&lt;/strong&gt; serve resources with their MIME type and describe Image mode (AC-17, AC-18) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/50acfa0f3a984c02b3625a65c37d9ba4647192be&quot;&gt;50acfa0&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; add beginStroke / strokeTo gesture API for Pencil and Eraser (AC-01, AC-03, AC-04, AC-05, AC-06, AC-08, AC-14) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ec6b13528fbc078d2a5a931aeceb240a11423b50&quot;&gt;ec6b135&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; add copySelection, cutSelection, pasteLayer and imageKey (AC-02, AC-04, AC-05, AC-06, AC-07, AC-11, AC-12, AC-18, AC-19, AC-20, AC-21) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3e4198d1c78e077d6d4a961c026fb6b2e0c1f292&quot;&gt;3e4198d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; add optional pressure argument to strokeTo (AC-01, AC-04, AC-05, AC-09, AC-10) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f8f6a56e853d5e0a3abb348f6e7ac550f3cc6b2c&quot;&gt;f8f6a56&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-wasm:&lt;/strong&gt; expose exportAnimation and animationInfo (AC-18) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/74d3e7f2c2232eaad6587f9f274c253b2005ee71&quot;&gt;74d3e7f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pixel:&lt;/strong&gt; pen pressure scales the Pencil and Eraser (pixel-pressure) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4610e12fc5bf6beaf6b90604a266281377e6fc67&quot;&gt;4610e12&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pixel:&lt;/strong&gt; pencil brush sizes 1-8, round shape, pixel-perfect and Shift constrain (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/1afe8df514d8a76642a2426796cc2c2e357adcd3&quot;&gt;1afe8df&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; add Export Animation to the native File menu (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/44af9fbab1ad1e2860362149e0e314ce5f77dc18&quot;&gt;44af9fb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; add File &amp;gt; Export &amp;gt; Animation dialog for APNG and GIF (AC-01, AC-02, AC-06, AC-10, AC-11, AC-14, AC-15, AC-18, AC-19) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e7cee295c2420ec104fb2e0e7ff6b8203d031dcd&quot;&gt;e7cee29&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; brush size, shape, pixel-perfect and Shift constrain for the Pixel pencil (AC-01, AC-03, AC-07, AC-08, AC-10, AC-11, AC-12, AC-13, AC-15, AC-16, AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f730687f1fc898bcbec85873b94de19370697497&quot;&gt;f730687&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Cut, Copy, Copy Merged and Paste in both modes (AC-01, AC-02, AC-03, AC-04, AC-05, AC-06, AC-08, AC-09, AC-10, AC-11, AC-12, AC-13, AC-14, AC-15, AC-18, AC-19, AC-20, AC-21) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ee56179f58b2b62705c739b94bc06cb7172c650b&quot;&gt;ee56179&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; scale the Pixel-mode Pencil and Eraser with pen pressure (AC-03, AC-05, AC-07, AC-08, AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a8fc24ec367fb56c20e628e1ef63ad1193c4543f&quot;&gt;a8fc24e&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;aseprite-writer:&lt;/strong&gt; emit tileset chunks before the layers that reference them (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/dfd4fde9a2d72163ddb1a1dbda2a668af9026441&quot;&gt;dfd4fde&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; check every export.sheet output path before writing (AC-34) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/1e0ae49b68c4885b7c96e693ce7b45fcd5c1db38&quot;&gt;1e0ae49&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-agent:&lt;/strong&gt; store only the changed rectangle per pixel edit (AC-09) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/bd859a1e8f5b93d36fbdc1b824ed5ab1a9cd7da9&quot;&gt;bd859a1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; read and write tile flip bits the way Aseprite does (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/353439e92b4becf55bd78e9a3ddee8dd1d086f46&quot;&gt;353439e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; read and write tile flip bits the way Aseprite does (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/59b59af12d3976234bed9aca4fb4312734e9269a&quot;&gt;59b59af&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; Soft Light follows W3C Compositing-1, not Pegtop (AC-02) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/085b900cca543167b7c51fa17614b7a739ef8b28&quot;&gt;085b900&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; Soft Light follows W3C; close image-editing evidence gaps (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e57ab0dc9c8800eda90a248ec4289c575a6e620d&quot;&gt;e57ab0d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; lock the Shift pencil direction until Shift is released (AC-07, AC-17) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/cddb39ba604d0e32857b23212839efd74451f9ca&quot;&gt;cddb39b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; route every e2e path into an editor through waitForEditor (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e282fe044fc9788f5e2e9a626aef335cc0dc6856&quot;&gt;e282fe0&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; route every e2e path into an editor through waitForEditor (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a5b71e47f3a4ce4196781b26bca46c956fba1adf&quot;&gt;a5b71e4&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; skip off-canvas pixels of a pencil or eraser stroke silently (AC-04) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9e8930d41293e6296fd5b1065e1e2baafa516b9b&quot;&gt;9e8930d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; wait for editor readiness before e2e input (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/42c3e2bacb563d7002beb8ede9e3a37df95dad93&quot;&gt;42c3e2b&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; wait for editor readiness before e2e input (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8a6def77399a1a81505d2f40ba4c1d4aef215fee&quot;&gt;8a6def7&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-blinzel/releases/tag/v1.3.0</id>
    <title>Blinzel 1.3.0</title>
    <link href="https://amigo-labs.dev/blinzel/releases/#v1.3.0"/>
    <updated>2026-10-29T20:06:08Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;i18n:&lt;/strong&gt; add es, fr, it, ja, pt-BR, ru and zh-CN (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/0dcf877e1413d065daeae3818163e81b5046e923&quot;&gt;0dcf877&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;view:&lt;/strong&gt; grow the window for images larger than it (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/c3864df38c3c56676a1e960785f9345107f97d79&quot;&gt;c3864df&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;website:&lt;/strong&gt; one-page site with screenshots and batch tool comparison (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/730777e7e33e6a59e00f6728f3e562339782beba&quot;&gt;730777e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;website:&lt;/strong&gt; one-page site with screenshots and batch tool comparison (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/0ab9c765bc72a3131468002d42c2f01cc266b1ab&quot;&gt;0ab9c76&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-blinzel/releases/tag/v1.2.1</id>
    <title>Blinzel 1.2.1</title>
    <link href="https://amigo-labs.dev/blinzel/releases/#v1.2.1"/>
    <updated>2026-10-29T07:43:33Z</updated>
    <content type="html">&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;screenshot:&lt;/strong&gt; retry the Print key at sign-in and say when Windows keeps it (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/bf453fa9a5a0fbcf72609d340a177eae9e091bba&quot;&gt;bf453fa&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;screenshot:&lt;/strong&gt; retry the Print key at sign-in and say when Windows keeps it (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/03dc373bbf44bfbf2487427a9e4a8ea0062d25c6&quot;&gt;03dc373&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;screenshot:&lt;/strong&gt; tell in the tray when Windows keeps the Print key (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/3c5610ab2d2b015583a5fe4871b5482474572605&quot;&gt;3c5610a&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.4.0</id>
    <title>Pincel 1.4.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.4.0"/>
    <updated>2026-10-28T20:52:43Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; add PasteLayer command (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/acd8c72f4c885371ef69dd582de92934236e119c&quot;&gt;acd8c72&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-wasm:&lt;/strong&gt; export paste_layer (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/87add7311745239e297e69d66ed0b4bc5dfbd763&quot;&gt;87add73&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; open a new document on startup from a ticked New card (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/d603c0ad97ed2ed2a1f62154e4be01e323b9e1b1&quot;&gt;d603c0a&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; paste a clipboard image as a new layer in Image mode (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3cc61cc462a37bfcf8c751e906e5927ec5da38d8&quot;&gt;3cc61cc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; redraw the Smudge, Gradient and Stamp icons (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/39527513f163054e12217bca8e5b2b0042d09f57&quot;&gt;3952751&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; separate the tool rail into sections (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/52562c964cedfdbaa2349ba0f7274af508b17c2f&quot;&gt;52562c9&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; size a new image from the image on the clipboard (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/5843050e081290055e8cd47ee5011cc66adac18a&quot;&gt;5843050&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; startup document, clipboard image size and paste with canvas expand (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/bbbf6853b5c02f8af870630ddacfdb7a5b1aadca&quot;&gt;bbbf685&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; keep the paste&amp;#39;s layer index across redo (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/bce05bce02f57c7c08b9ad1f4dcbd7090a288828&quot;&gt;bce05bc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; never store a non-finite startup document size (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/4fefcf11af8580ee858f64f4bb0d1ff5f4bfdaa6&quot;&gt;4fefcf1&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; paste only into the document it was asked for (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/167d521568912dcc73a844173b041b7792f52559&quot;&gt;167d521&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.3.1</id>
    <title>Pincel 1.3.1</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.3.1"/>
    <updated>2026-10-27T15:13:11Z</updated>
    <content type="html">&lt;h3&gt;Miscellaneous&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;force the 1.3.1 release to validate the trusted publisher (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/ef4d693b7836e678eaca15e18660b3c3f0e704d2&quot;&gt;ef4d693&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.3.0</id>
    <title>Pincel 1.3.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.3.0"/>
    <updated>2026-10-27T13:24:27Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; move the selected pixels, and the selection alone (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/5575dcff9d43ec2430ae29ee6dea8f04aed09152&quot;&gt;5575dcf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; the Gradient tool (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/66ededdfa9925896c9cc7591345b55c4b26287bb&quot;&gt;66ededd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; the Recolor and Smudge tools (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/74128595e580594e9bbbce9cdc7d8deaa22dba17&quot;&gt;7412859&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; the selection outline travels with its pixels (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/5da1bcb6574c8d1e20a6a9a8757be6cf00352906&quot;&gt;5da1bcb&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; updater commands for the in-app Help menu (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/3b48369e7e917e9ddb7b3ab9d0cb9ea983b2867d&quot;&gt;3b48369&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; check for updates from the Help menu (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/78247ae3b4b93ca96fad47622b4433f11324f7d4&quot;&gt;78247ae&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; expand, contract and feather the selection by a radius (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f57fc16824f50cf46c8358f4d45fa42c84d2e1e2&quot;&gt;f57fc16&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; File ▸ Open Recent in Image mode (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9e05daf83e7c7bc1f7e77f81b192d6d64bfeafe2&quot;&gt;9e05daf&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; Help menu with About Pincel (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/785fa64b6b4807cd195d227e8b07476a9c6c870b&quot;&gt;785fa64&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; line, the four shapes, pan and zoom as Image-mode rail tools (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/abbe448d49a8e9d4501ac3dec0d3aff553c73a4e&quot;&gt;abbe448&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; move the selected pixels, or the selection alone (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/a9ea6dac0318c28162d0c33b972cdbafb5d60c05&quot;&gt;a9ea6da&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; the Gradient tool (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/603606406e30a674792c328d6cd6b08e4e23dca7&quot;&gt;6036064&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; the Recolor and Smudge tools (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/53a2c0f6a13f2c7775ef95f79e8583be6b6a56eb&quot;&gt;53a2c0f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pincel-image-core:&lt;/strong&gt; carry Smudge and Recolor state across a drag (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9a3dc0ee5898ea1458d9d14e5c9d278b9ec76e42&quot;&gt;9a3dc0e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; install the native menu only on macOS (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/046b87c5b9cd3c1b65b8c7eff5192f7781869b7e&quot;&gt;046b87c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; one menu bar per platform, and the Image-mode tools paint.net has (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/95b9b180869c79ca8aa0d14ea64e66a4e9c4969e&quot;&gt;95b9b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; four defects from the review of the new tools (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/e1bed0e3242c4346f31732e805f31a349caf6453&quot;&gt;e1bed0e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; the About dialog holds the keyboard while it is open (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/9574a2d6f2ff4dfaea0d77c06d3cb4a40eea21b6&quot;&gt;9574a2d&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.2.0</id>
    <title>Pincel 1.2.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.2.0"/>
    <updated>2026-10-27T09:55:32Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; HSL blend modes; LF line endings from feat/blend-modes (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/32280da7969d1b9dd57716cb772c6aae730d70b1&quot;&gt;32280da&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pincel-core:&lt;/strong&gt; render the Hue, Saturation, Color and Luminosity blend modes (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/581218e21ba2637dd9e26ca5f8986af831f5ae3f&quot;&gt;581218e&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.1.2</id>
    <title>Pincel 1.1.2</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.1.2"/>
    <updated>2026-10-27T09:15:48Z</updated>
    <content type="html">&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; updater trusts the new amigo-labs signing key (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/b3b942018b5984a4684dff2841daca9656baf066&quot;&gt;b3b9420&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tauri:&lt;/strong&gt; updater trusts the new amigo-labs signing key (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/80ae66c41c6764a4edbc2524c2f013b30333ba13&quot;&gt;80ae66c&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-pincel/releases/tag/v1.1.0</id>
    <title>Pincel 1.1.0</title>
    <link href="https://amigo-labs.dev/pincel/releases/#v1.1.0"/>
    <updated>2026-10-26T22:25:27Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;desktop downloads on the website, New cards open in place on the start screen (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/8d3e411e34403c37b54c7858046caab5763a8d93&quot;&gt;8d3e411&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ui:&lt;/strong&gt; New cards on the start screen open in place (&lt;a href=&quot;https://github.com/amigo-labs/amigo-pincel/commit/f3eb37a29c5696f5c3462a952f646efc6502dacd&quot;&gt;f3eb37a&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-blinzel/releases/tag/v1.2.0</id>
    <title>Blinzel 1.2.0</title>
    <link href="https://amigo-labs.dev/blinzel/releases/#v1.2.0"/>
    <updated>2026-10-26T14:12:36Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;batch:&lt;/strong&gt; drop zone, date formats and a name preview for resizing (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/922816c2797acf33706ac2041759e26b4569d05f&quot;&gt;922816c&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;batch:&lt;/strong&gt; drop zone, date formats and name preview; factual website with Windows measurement (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/e82aa18357e293819e9f877dcec6cd5230525dde&quot;&gt;e82aa18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;website:&lt;/strong&gt; Windows measurement from blinzel-race (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/294fc10d7804bba03112d8341c3952f76e69beff&quot;&gt;294fc10&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;setup:&lt;/strong&gt; don&amp;#39;t abort when the setup window is re-entered (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/266d0de62d60bcdebe4920ae3937944606d747f7&quot;&gt;266d0de&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-blinzel/releases/tag/v1.1.0</id>
    <title>Blinzel 1.1.0</title>
    <link href="https://amigo-labs.dev/blinzel/releases/#v1.1.0"/>
    <updated>2026-10-26T10:17:09Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;screenshots on Windows, &amp;quot;Open with&amp;quot; and &amp;quot;Edit with&amp;quot; (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/e6f13be693a2a26c945e8538ece58ef85f915ee2&quot;&gt;e6f13be&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;screenshots on Windows, &amp;quot;Open with&amp;quot;/&amp;quot;Edit with&amp;quot;, automated releases (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/52dae811ca54558f46e49a23fe232d683bf20a49&quot;&gt;52dae81&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;website:&lt;/strong&gt; light-table redesign, SEO metadata and platform download (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/98d7658b58d7edaa2a86b833a4c3e00755d7fec4&quot;&gt;98d7658&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;website:&lt;/strong&gt; light-table redesign, SEO metadata, platform download (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/37bb4b50f127dfa8f2083cf62790bd248f564e73&quot;&gt;37bb4b5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ci:&lt;/strong&gt; release tags v&amp;lt;version&amp;gt; and no failing env without a release PR (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/f958528f2f0dc95bd1b73472bcb54046d366e433&quot;&gt;f958528&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ci:&lt;/strong&gt; release tags v&amp;lt;version&amp;gt;, no failing env without a release PR (&lt;a href=&quot;https://github.com/amigo-labs/amigo-blinzel/commit/876de52c140c897a43c391737fdaab2c67179c17&quot;&gt;876de52&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/typst%400.4.0</id>
    <title>Native typst: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#typst%400.4.0"/>
    <updated>2026-10-08T21:52:13Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;typst:&lt;/strong&gt; add WASM binding — 33/33 dual-target crates complete (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/381726ee8bd05b05c336b2fde9655f2aaf8545e6&quot;&gt;381726e&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;typst:&lt;/strong&gt; commit Cargo.toml dep + README that were missed last commit (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/bbb875d8c0d4027318a82f7f353af2cb5c7405cb&quot;&gt;bbb875d&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/csv%400.4.1</id>
    <title>Native csv: v0.4.1</title>
    <link href="https://amigo-labs.dev/native/releases/#csv%400.4.1"/>
    <updated>2026-10-07T21:16:35Z</updated>
    <content type="html">&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;bench:&lt;/strong&gt; pass sampling options to run(), fail on partial results (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/86f6c89373fb4d5f6c574acc69e84c422a6a16fa&quot;&gt;86f6c89&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/argon2%400.3.1</id>
    <title>Native argon2: v0.3.1</title>
    <link href="https://amigo-labs.dev/native/releases/#argon2%400.3.1"/>
    <updated>2026-10-07T21:16:35Z</updated>
    <content type="html">&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;bench:&lt;/strong&gt; pass sampling options to run(), fail on partial results (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/86f6c89373fb4d5f6c574acc69e84c422a6a16fa&quot;&gt;86f6c89&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/jose%400.3.1</id>
    <title>Native jose: v0.3.1</title>
    <link href="https://amigo-labs.dev/native/releases/#jose%400.3.1"/>
    <updated>2026-10-07T21:12:37Z</updated>
    <content type="html">&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;bench:&lt;/strong&gt; pass sampling options to run(), fail on partial results (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/86f6c89373fb4d5f6c574acc69e84c422a6a16fa&quot;&gt;86f6c89&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/graph-layout%400.4.0</id>
    <title>Native graph-layout: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#graph-layout%400.4.0"/>
    <updated>2026-10-04T11:28:50Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;commonmark:&lt;/strong&gt; add WASM binding + fix wasm-test failures (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/9de161078f8cda2bcb78c886eb509c51d4773410&quot;&gt;9de1610&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;graph-layout:&lt;/strong&gt; add WASM binding via core split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b29490539deb0f0f8c3efd514916e97562ac01ee&quot;&gt;b294905&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/zip%400.4.0</id>
    <title>Native zip: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#zip%400.4.0"/>
    <updated>2026-10-02T12:30:27Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zip:&lt;/strong&gt; add WASM binding via core split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/23d649c8783b7ebae269afac0417b0a0307c5550&quot;&gt;23d649c&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/pngjs%400.4.0</id>
    <title>Native pngjs: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#pngjs%400.4.0"/>
    <updated>2026-10-02T12:24:54Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; scaffold + implement 8 new crates from the perf-review batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4fe17902ac078b73a1d9515855680046a6d18b25&quot;&gt;4fe1790&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;file-type,pngjs,jpeg-js:&lt;/strong&gt; add WASM bindings via core splits (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/74821809d09791cf0e4909c743bf0aebc945e1b2&quot;&gt;7482180&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; address CI failures from the 8-crate batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/bcb41ddbe601fb843253e03a8f8f98c27c0babff&quot;&gt;bcb41dd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; pixelmatch conformance + Copilot-flagged correctness bugs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d0c61744bd32f8e56f59e21eea61cdc2d10e8b86&quot;&gt;d0c6174&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;perf-review:&lt;/strong&gt; add 8 candidate decision docs (zstd, fuse, tldts, pngjs, linkify-it, jpeg-js, jimp, pixelmatch) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/e87bb01b055834c000cc156d6f0153da5752836b&quot;&gt;e87bb01&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/bm25%400.4.0</id>
    <title>Native bm25: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#bm25%400.4.0"/>
    <updated>2026-10-02T12:24:54Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;force-layout:&lt;/strong&gt; WASM binding + fix wasm-test serde_json dev-dep (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d16f2589e881d6eecaefa757726e5c05b5168b94&quot;&gt;d16f258&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fuse,bm25,minisearch:&lt;/strong&gt; add WASM bindings (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/40b51030acc6678280d42a50c035e20c37856ba5&quot;&gt;40b5103&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/svgo%400.4.0</id>
    <title>Native svgo: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#svgo%400.4.0"/>
    <updated>2026-10-02T12:19:22Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;svgo:&lt;/strong&gt; add WASM binding + fix test signatures in turndown/svgo cores (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/a37b525187cccb2f835c26f781919b79c1a66c91&quot;&gt;a37b525&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;svgo:&lt;/strong&gt; adopt quick-xml 0.40 with GeneralRef event support (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/0f664f89e51e62a443f30eb92d0f59b0aa79be09&quot;&gt;0f664f8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;svgo:&lt;/strong&gt; handle Event::GeneralRef from quick-xml 0.40 (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/56dcffe725f47d66c25fc4bbf545f320642f0f6a&quot;&gt;56dcffe&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/minisearch%400.4.0</id>
    <title>Native minisearch: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#minisearch%400.4.0"/>
    <updated>2026-10-02T12:19:22Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;commonmark:&lt;/strong&gt; add WASM binding + fix wasm-test failures (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/9de161078f8cda2bcb78c886eb509c51d4773410&quot;&gt;9de1610&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;force-layout:&lt;/strong&gt; WASM binding + fix wasm-test serde_json dev-dep (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d16f2589e881d6eecaefa757726e5c05b5168b94&quot;&gt;d16f258&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fuse,bm25,minisearch:&lt;/strong&gt; add WASM bindings (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/40b51030acc6678280d42a50c035e20c37856ba5&quot;&gt;40b5103&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/encoding%400.4.0</id>
    <title>Native encoding: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#encoding%400.4.0"/>
    <updated>2026-10-02T12:19:21Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;encoding:&lt;/strong&gt; add WASM binding via core split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/61dc20eb6e749bce859d6ba24313f58400da723f&quot;&gt;61dc20e&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/commonmark%400.4.0</id>
    <title>Native commonmark: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#commonmark%400.4.0"/>
    <updated>2026-10-02T12:19:21Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;commonmark:&lt;/strong&gt; add WASM binding + fix wasm-test failures (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/9de161078f8cda2bcb78c886eb509c51d4773410&quot;&gt;9de1610&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;readmes:&lt;/strong&gt; strip hardcoded benchmark numbers — dashboard is canonical (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b61b1d66966b9138ccafab30f961df397c716335&quot;&gt;b61b1d6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/xxhash%400.5.0</id>
    <title>Native xxhash: v0.5.0</title>
    <link href="https://amigo-labs.dev/native/releases/#xxhash%400.5.0"/>
    <updated>2026-10-02T12:14:51Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;xxhash:&lt;/strong&gt; add WASM binding via core split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/85c61662ee496e31c7d94bc3f1ec77a638d941cf&quot;&gt;85c6166&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;readmes:&lt;/strong&gt; restore qualitative perf taglines, keep tables removed (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/a7a2f8fef9e7b65b8df165310e3a45f131a8f019&quot;&gt;a7a2f8f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;readmes:&lt;/strong&gt; strip hardcoded benchmark numbers — dashboard is canonical (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b61b1d66966b9138ccafab30f961df397c716335&quot;&gt;b61b1d6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/zstd%400.4.0</id>
    <title>Native zstd: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#zstd%400.4.0"/>
    <updated>2026-10-02T12:01:03Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; scaffold + implement 8 new crates from the perf-review batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4fe17902ac078b73a1d9515855680046a6d18b25&quot;&gt;4fe1790&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;zstd:&lt;/strong&gt; WASM via ruzstd fallback (decompress-only) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/ba2b2920a27f9122bd790b1ec35e796e338865be&quot;&gt;ba2b292&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; address CI failures from the 8-crate batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/bcb41ddbe601fb843253e03a8f8f98c27c0babff&quot;&gt;bcb41dd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; pixelmatch conformance + Copilot-flagged correctness bugs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d0c61744bd32f8e56f59e21eea61cdc2d10e8b86&quot;&gt;d0c6174&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;perf-review:&lt;/strong&gt; add 8 candidate decision docs (zstd, fuse, tldts, pngjs, linkify-it, jpeg-js, jimp, pixelmatch) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/e87bb01b055834c000cc156d6f0153da5752836b&quot;&gt;e87bb01&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/sanitize-html%400.5.0</id>
    <title>Native sanitize-html: v0.5.0</title>
    <link href="https://amigo-labs.dev/native/releases/#sanitize-html%400.5.0"/>
    <updated>2026-10-02T12:01:03Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sanitize-html,force-layout:&lt;/strong&gt; add WASM bindings (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/e50371724cb0cd9793ce6976f928fb2d21899cae&quot;&gt;e503717&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;readmes:&lt;/strong&gt; restore qualitative perf taglines, keep tables removed (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/a7a2f8fef9e7b65b8df165310e3a45f131a8f019&quot;&gt;a7a2f8f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;readmes:&lt;/strong&gt; strip hardcoded benchmark numbers — dashboard is canonical (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b61b1d66966b9138ccafab30f961df397c716335&quot;&gt;b61b1d6&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/pixelmatch%400.4.0</id>
    <title>Native pixelmatch: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#pixelmatch%400.4.0"/>
    <updated>2026-10-02T12:01:03Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; scaffold + implement 8 new crates from the perf-review batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4fe17902ac078b73a1d9515855680046a6d18b25&quot;&gt;4fe1790&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;csv,inflate,pixelmatch:&lt;/strong&gt; add WASM bindings via core splits (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cfa1a29051654fb2ed197fe8bc11fa14ac4046db&quot;&gt;cfa1a29&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; address CI failures from the 8-crate batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/bcb41ddbe601fb843253e03a8f8f98c27c0babff&quot;&gt;bcb41dd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; pixelmatch conformance + Copilot-flagged correctness bugs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d0c61744bd32f8e56f59e21eea61cdc2d10e8b86&quot;&gt;d0c6174&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;perf-review:&lt;/strong&gt; add 8 candidate decision docs (zstd, fuse, tldts, pngjs, linkify-it, jpeg-js, jimp, pixelmatch) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/e87bb01b055834c000cc156d6f0153da5752836b&quot;&gt;e87bb01&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/language-detect%400.4.0</id>
    <title>Native language-detect: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#language-detect%400.4.0"/>
    <updated>2026-10-02T12:01:03Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;language-detect:&lt;/strong&gt; add WASM binding via core split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/67197a8c96c0cf8f3eedc7a6e90d46de356fb3d6&quot;&gt;67197a8&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/fuse%400.4.0</id>
    <title>Native fuse: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#fuse%400.4.0"/>
    <updated>2026-10-02T12:01:03Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; scaffold + implement 8 new crates from the perf-review batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4fe17902ac078b73a1d9515855680046a6d18b25&quot;&gt;4fe1790&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;force-layout:&lt;/strong&gt; WASM binding + fix wasm-test serde_json dev-dep (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d16f2589e881d6eecaefa757726e5c05b5168b94&quot;&gt;d16f258&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fuse,bm25,minisearch:&lt;/strong&gt; add WASM bindings (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/40b51030acc6678280d42a50c035e20c37856ba5&quot;&gt;40b5103&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; address CI failures from the 8-crate batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/bcb41ddbe601fb843253e03a8f8f98c27c0babff&quot;&gt;bcb41dd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; pixelmatch conformance + Copilot-flagged correctness bugs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d0c61744bd32f8e56f59e21eea61cdc2d10e8b86&quot;&gt;d0c6174&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;fuse:&lt;/strong&gt; switch sort_by → sort_by_key (clippy::unnecessary_sort_by) + revert CI lint split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/5d5a5e35786a1604e4e0c795b5b0d83fb48edab5&quot;&gt;5d5a5e3&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;perf-review:&lt;/strong&gt; add 8 candidate decision docs (zstd, fuse, tldts, pngjs, linkify-it, jpeg-js, jimp, pixelmatch) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/e87bb01b055834c000cc156d6f0153da5752836b&quot;&gt;e87bb01&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/pdf%400.4.0</id>
    <title>Native pdf: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#pdf%400.4.0"/>
    <updated>2026-09-02T09:48:11Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;pdf:&lt;/strong&gt; add WASM binding via core split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/1b84e4d505f1c78c6cc16891c7b5573116020fa5&quot;&gt;1b84e4d&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/jpeg-js%400.4.0</id>
    <title>Native jpeg-js: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#jpeg-js%400.4.0"/>
    <updated>2026-09-02T09:48:11Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; scaffold + implement 8 new crates from the perf-review batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4fe17902ac078b73a1d9515855680046a6d18b25&quot;&gt;4fe1790&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;file-type,pngjs,jpeg-js:&lt;/strong&gt; add WASM bindings via core splits (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/74821809d09791cf0e4909c743bf0aebc945e1b2&quot;&gt;7482180&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; address CI failures from the 8-crate batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/bcb41ddbe601fb843253e03a8f8f98c27c0babff&quot;&gt;bcb41dd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; pixelmatch conformance + Copilot-flagged correctness bugs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d0c61744bd32f8e56f59e21eea61cdc2d10e8b86&quot;&gt;d0c6174&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;perf-review:&lt;/strong&gt; add 8 candidate decision docs (zstd, fuse, tldts, pngjs, linkify-it, jpeg-js, jimp, pixelmatch) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/e87bb01b055834c000cc156d6f0153da5752836b&quot;&gt;e87bb01&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/force-layout%400.4.0</id>
    <title>Native force-layout: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#force-layout%400.4.0"/>
    <updated>2026-09-02T09:48:11Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;commonmark:&lt;/strong&gt; add WASM binding + fix wasm-test failures (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/9de161078f8cda2bcb78c886eb509c51d4773410&quot;&gt;9de1610&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;force-layout:&lt;/strong&gt; WASM binding + fix wasm-test serde_json dev-dep (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d16f2589e881d6eecaefa757726e5c05b5168b94&quot;&gt;d16f258&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sanitize-html,force-layout:&lt;/strong&gt; add WASM bindings (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/e50371724cb0cd9793ce6976f928fb2d21899cae&quot;&gt;e503717&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/tldts%400.4.0</id>
    <title>Native tldts: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#tldts%400.4.0"/>
    <updated>2026-09-02T09:45:14Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; scaffold + implement 8 new crates from the perf-review batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4fe17902ac078b73a1d9515855680046a6d18b25&quot;&gt;4fe1790&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tldts:&lt;/strong&gt; add WASM binding via core split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/ebcb89f0325509be50d8e437817b207f29c82645&quot;&gt;ebcb89f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; address CI failures from the 8-crate batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/bcb41ddbe601fb843253e03a8f8f98c27c0babff&quot;&gt;bcb41dd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; pixelmatch conformance + Copilot-flagged correctness bugs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d0c61744bd32f8e56f59e21eea61cdc2d10e8b86&quot;&gt;d0c6174&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;perf-review:&lt;/strong&gt; add 8 candidate decision docs (zstd, fuse, tldts, pngjs, linkify-it, jpeg-js, jimp, pixelmatch) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/e87bb01b055834c000cc156d6f0153da5752836b&quot;&gt;e87bb01&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/linkify-it%400.4.0</id>
    <title>Native linkify-it: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#linkify-it%400.4.0"/>
    <updated>2026-09-02T09:45:14Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; scaffold + implement 8 new crates from the perf-review batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4fe17902ac078b73a1d9515855680046a6d18b25&quot;&gt;4fe1790&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;linkify-it:&lt;/strong&gt; add WASM binding via core split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/e93152f403fd6165a6e573800ded09f2aca40d2c&quot;&gt;e93152f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; address CI failures from the 8-crate batch (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/bcb41ddbe601fb843253e03a8f8f98c27c0babff&quot;&gt;bcb41dd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; pixelmatch conformance + Copilot-flagged correctness bugs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/d0c61744bd32f8e56f59e21eea61cdc2d10e8b86&quot;&gt;d0c6174&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;perf-review:&lt;/strong&gt; add 8 candidate decision docs (zstd, fuse, tldts, pngjs, linkify-it, jpeg-js, jimp, pixelmatch) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/e87bb01b055834c000cc156d6f0153da5752836b&quot;&gt;e87bb01&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/diff%400.4.0</id>
    <title>Native diff: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#diff%400.4.0"/>
    <updated>2026-09-02T09:45:14Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;diff:&lt;/strong&gt; add WASM binding via core split (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cedb7350cfb7abdef481c05ecc93c7662d428f55&quot;&gt;cedb735&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;enhance WASM performance measurement and visibility (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4c129a7ff22c93f24e656a0d0f115cfe84c9d22f&quot;&gt;4c129a7&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;ship WASM bindings for all eligible crates (Angular/React support) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/792802f389e26463fad9269a0533d7f14cc8aa3f&quot;&gt;792802f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <id>https://github.com/amigo-labs/amigo-native/releases/tag/slugify%400.4.0</id>
    <title>Native slugify: v0.4.0</title>
    <link href="https://amigo-labs.dev/native/releases/#slugify%400.4.0"/>
    <updated>2026-09-02T09:45:13Z</updated>
    <content type="html">&lt;h3&gt;Features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;slugify:&lt;/strong&gt; dual-target pilot — core/napi split + WASM binding (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/53a582c18c984be568ebf0216920b0b14ad20152&quot;&gt;53a582c&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;build:&lt;/strong&gt; stop wasm-pack&amp;#39;s pkg/.gitignore from emptying npm tarballs (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/6a70b18577dd14d7776462fe286f15618a306e7b&quot;&gt;6a70b18&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;crates:&lt;/strong&gt; regenerate index.js with current versions across 26 crates (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/69116f537be60ab9cbae45294e8dd18db2834324&quot;&gt;69116f5&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;slugify:&lt;/strong&gt; make bench tolerate missing WASM artifact (Copilot review) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/bb5fc6f91e759d372d55bc0e8b5a9202a45b37b8&quot;&gt;bb5fc6f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;full UI/UX pass on the showcase site (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/4aea27241137cadabf61999ee3b869810717ea6c&quot;&gt;4aea272&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;source category from each crate&amp;#39;s amigo block (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/cbea23f2b0c0f1d0c59a4150b4ea9a990516562f&quot;&gt;cbea23f&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;specs:&lt;/strong&gt; expansion-2026 dual-target plan (draft) (&lt;a href=&quot;https://github.com/amigo-labs/amigo-native/commit/b30274f74e8d3103d79207c4232e674240a0034a&quot;&gt;b30274f&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
</feed>
