GitHub Releaseshttps://github.com/2026-08-24T14:42:59Ztag:github.com,2008:Repository/578822531/v1.18.22026-08-24T14:42:59Zlocalsend: v1.18.2<p>This release fixes compatibility issues with 1.17.0 and earlier.<br>
Unfortunately, the Windows EXE installer is not published yet (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5114614052" data-permission-text="Title is private" data-url="https://github.com/localsend/localsend/issues/3270" data-hovercard-type="issue" data-hovercard-url="/localsend/localsend/issues/3270/hovercard" href="https://github.com/localsend/localsend/issues/3270">#3270</a>).</p>
<ul>
<li>feat: drag and drop files into the "Receive via link" browser page</li>
<li>feat(desktop): allow customizing the web share pages by placing HTML files in a <code>web</code> folder next to the executable</li>
<li>feat(cli): add version info to the Windows executable</li>
<li>feat(linux): set actual version in the AppImage</li>
<li>security: do not follow HTTP redirects sent by peers</li>
<li>fix: restore compatibility with 1.17.0 and earlier versions on missing multicast networks</li>
<li>fix: devices running 1.17.0 and earlier could not add 1.18.0+ device as favorite</li>
<li>fix: ignore proxies, fixes "TLS info not found" when a system proxy (e.g. Shadowrocket) is enabled</li>
<li>fix: automatically restart the HTTP / multicast server when it dies or when the app resumes</li>
<li>fix: drag and drop with a mix of folders and files</li>
<li>fix: during transfer, add bottom padding when Advanced is open (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Chethan616/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Chethan616">@Chethan616</a>)</li>
<li>fix: do not crash at startup when the executable path cannot be resolved (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Shlomo116/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Shlomo116">@Shlomo116</a>)</li>
<li>fix(android): ignore unknown or invalid file modification times when reading files</li>
<li>i18n: add Armenian</li>
</ul>github-actions[bot]tag:github.com,2008:Repository/1096895/v3.052026-08-24T13:13:24Zqaac: v3.05<p>Fixed <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5234643450" data-permission-text="Title is private" data-url="https://github.com/nu774/qaac/issues/133" data-hovercard-type="issue" data-hovercard-url="/nu774/qaac/issues/133/hovercard" href="https://github.com/nu774/qaac/issues/133">#133</a> .<br>
Sample rate > 65535 was not working on the new mmtisobmff based multiplexer.</p>nu774tag:github.com,2008:Repository/381546263/nightly2026-08-24T12:09:53Zares: nightly 2026-08-24<p>Merge commit '8a22cd8096c8ce366cccd44813b6210c2160ff29'</p>github-actions[bot]tag:github.com,2008:Repository/599431918/oxlint_v1.80.02026-08-24T11:33:15Zoxc: oxlint_v1.80.0: release(apps): oxlint v1.80.0 && oxfmt v0.65.0 (#26045)<h1>Oxlint</h1>
<h3>🚀 Features</h3>
<ul>
<li>70c3e35 linter/typescript/no-confusing-non-null-assertion: Implement suggestion (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5226634758" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/26012" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/26012/hovercard" href="https://github.com/oxc-project/oxc/pull/26012">#26012</a>) (Mikhail Baev)</li>
</ul>
<h3>🐛 Bug Fixes</h3>
<ul>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/8a353a76e99c543a90095cda21facce1f687969f/hovercard" href="https://github.com/oxc-project/oxc/commit/8a353a76e99c543a90095cda21facce1f687969f"><tt>8a353a7</tt></a> linter/eslint/no-control-regex: Refine help message text (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5221569068" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25996" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25996/hovercard" href="https://github.com/oxc-project/oxc/pull/25996">#25996</a>) (Rahul Mishra)</li>
<li>8a9bdbd estree: Include decorators in <code>FormalParameterRest </code> spans (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5227954483" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/26021" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/26021/hovercard" href="https://github.com/oxc-project/oxc/pull/26021">#26021</a>) (camc314)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/8d94cd16353e0f4928e932838f46cb02ac8a4cc0/hovercard" href="https://github.com/oxc-project/oxc/commit/8d94cd16353e0f4928e932838f46cb02ac8a4cc0"><tt>8d94cd1</tt></a> linter/eslint/no-useless-rename: Preserve type modifiers (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5227937678" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/26020" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/26020/hovercard" href="https://github.com/oxc-project/oxc/pull/26020">#26020</a>) (Cameron)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/2cde1f667174aa49c8d482b0ab443f25eb334c12/hovercard" href="https://github.com/oxc-project/oxc/commit/2cde1f667174aa49c8d482b0ab443f25eb334c12"><tt>2cde1f6</tt></a> rust: Address nightly deprecations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5221664629" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25998" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25998/hovercard" href="https://github.com/oxc-project/oxc/pull/25998">#25998</a>) (Boshen)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/51d36d72283d516a29c63259dcb84af2a161cef2/hovercard" href="https://github.com/oxc-project/oxc/commit/51d36d72283d516a29c63259dcb84af2a161cef2"><tt>51d36d7</tt></a> linter/vue: Resolve <code>vue</code> imports via shared import helpers (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188375149" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25903" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25903/hovercard" href="https://github.com/oxc-project/oxc/pull/25903">#25903</a>) (Connor Shea)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/83a68d2296d488bee7fd5cb7db3bc3566afd6c70/hovercard" href="https://github.com/oxc-project/oxc/commit/83a68d2296d488bee7fd5cb7db3bc3566afd6c70"><tt>83a68d2</tt></a> linter/react/no-react-children: Resolve <code>react</code> imports by symbol (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188241485" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25901" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25901/hovercard" href="https://github.com/oxc-project/oxc/pull/25901">#25901</a>) (Connor Shea)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/124e1965517d144cbc45333f230f2d80bacf7ff8/hovercard" href="https://github.com/oxc-project/oxc/commit/124e1965517d144cbc45333f230f2d80bacf7ff8"><tt>124e196</tt></a> linter: Resolve globals by reference, not by name (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188514449" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25905" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25905/hovercard" href="https://github.com/oxc-project/oxc/pull/25905">#25905</a>) (Connor Shea)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/a701bccac9d478fd347fdf1effca2ada6cebfe0f/hovercard" href="https://github.com/oxc-project/oxc/commit/a701bccac9d478fd347fdf1effca2ada6cebfe0f"><tt>a701bcc</tt></a> linter: Remove invalid React compiler doc links (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188215049" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25900" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25900/hovercard" href="https://github.com/oxc-project/oxc/pull/25900">#25900</a>) (Boshen)</li>
</ul>
<h3>📚 Documentation</h3>
<ul>
<li>9b7e153 linter: Set <code>version</code> to 1.79.0 for rules shipped in 1.79.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188278265" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25902" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25902/hovercard" href="https://github.com/oxc-project/oxc/pull/25902">#25902</a>) (connorshea)</li>
</ul>
<h1>Oxfmt</h1>
<h3>🐛 Bug Fixes</h3>
<ul>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/bf37dd5c438c23b98fafed103471239c47b6331b/hovercard" href="https://github.com/oxc-project/oxc/commit/bf37dd5c438c23b98fafed103471239c47b6331b"><tt>bf37dd5</tt></a> formatter: Preserve class decorators before export when the statement is suppressed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5231315871" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/26034" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/26034/hovercard" href="https://github.com/oxc-project/oxc/pull/26034">#26034</a>) (leaysgur)</li>
</ul>oxc-guard[bot]tag:github.com,2008:Repository/599431918/oxfmt_v0.65.02026-08-24T11:33:15Zoxc: oxfmt_v0.65.0: release(apps): oxlint v1.80.0 && oxfmt v0.65.0 (#26045)<h1>Oxlint</h1>
<h3>🚀 Features</h3>
<ul>
<li>70c3e35 linter/typescript/no-confusing-non-null-assertion: Implement suggestion (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5226634758" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/26012" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/26012/hovercard" href="https://github.com/oxc-project/oxc/pull/26012">#26012</a>) (Mikhail Baev)</li>
</ul>
<h3>🐛 Bug Fixes</h3>
<ul>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/8a353a76e99c543a90095cda21facce1f687969f/hovercard" href="https://github.com/oxc-project/oxc/commit/8a353a76e99c543a90095cda21facce1f687969f"><tt>8a353a7</tt></a> linter/eslint/no-control-regex: Refine help message text (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5221569068" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25996" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25996/hovercard" href="https://github.com/oxc-project/oxc/pull/25996">#25996</a>) (Rahul Mishra)</li>
<li>8a9bdbd estree: Include decorators in <code>FormalParameterRest </code> spans (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5227954483" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/26021" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/26021/hovercard" href="https://github.com/oxc-project/oxc/pull/26021">#26021</a>) (camc314)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/8d94cd16353e0f4928e932838f46cb02ac8a4cc0/hovercard" href="https://github.com/oxc-project/oxc/commit/8d94cd16353e0f4928e932838f46cb02ac8a4cc0"><tt>8d94cd1</tt></a> linter/eslint/no-useless-rename: Preserve type modifiers (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5227937678" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/26020" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/26020/hovercard" href="https://github.com/oxc-project/oxc/pull/26020">#26020</a>) (Cameron)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/2cde1f667174aa49c8d482b0ab443f25eb334c12/hovercard" href="https://github.com/oxc-project/oxc/commit/2cde1f667174aa49c8d482b0ab443f25eb334c12"><tt>2cde1f6</tt></a> rust: Address nightly deprecations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5221664629" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25998" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25998/hovercard" href="https://github.com/oxc-project/oxc/pull/25998">#25998</a>) (Boshen)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/51d36d72283d516a29c63259dcb84af2a161cef2/hovercard" href="https://github.com/oxc-project/oxc/commit/51d36d72283d516a29c63259dcb84af2a161cef2"><tt>51d36d7</tt></a> linter/vue: Resolve <code>vue</code> imports via shared import helpers (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188375149" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25903" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25903/hovercard" href="https://github.com/oxc-project/oxc/pull/25903">#25903</a>) (Connor Shea)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/83a68d2296d488bee7fd5cb7db3bc3566afd6c70/hovercard" href="https://github.com/oxc-project/oxc/commit/83a68d2296d488bee7fd5cb7db3bc3566afd6c70"><tt>83a68d2</tt></a> linter/react/no-react-children: Resolve <code>react</code> imports by symbol (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188241485" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25901" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25901/hovercard" href="https://github.com/oxc-project/oxc/pull/25901">#25901</a>) (Connor Shea)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/124e1965517d144cbc45333f230f2d80bacf7ff8/hovercard" href="https://github.com/oxc-project/oxc/commit/124e1965517d144cbc45333f230f2d80bacf7ff8"><tt>124e196</tt></a> linter: Resolve globals by reference, not by name (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188514449" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25905" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25905/hovercard" href="https://github.com/oxc-project/oxc/pull/25905">#25905</a>) (Connor Shea)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/a701bccac9d478fd347fdf1effca2ada6cebfe0f/hovercard" href="https://github.com/oxc-project/oxc/commit/a701bccac9d478fd347fdf1effca2ada6cebfe0f"><tt>a701bcc</tt></a> linter: Remove invalid React compiler doc links (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188215049" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25900" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25900/hovercard" href="https://github.com/oxc-project/oxc/pull/25900">#25900</a>) (Boshen)</li>
</ul>
<h3>📚 Documentation</h3>
<ul>
<li>9b7e153 linter: Set <code>version</code> to 1.79.0 for rules shipped in 1.79.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188278265" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25902" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25902/hovercard" href="https://github.com/oxc-project/oxc/pull/25902">#25902</a>) (connorshea)</li>
</ul>
<h1>Oxfmt</h1>
<h3>🐛 Bug Fixes</h3>
<ul>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/bf37dd5c438c23b98fafed103471239c47b6331b/hovercard" href="https://github.com/oxc-project/oxc/commit/bf37dd5c438c23b98fafed103471239c47b6331b"><tt>bf37dd5</tt></a> formatter: Preserve class decorators before export when the statement is suppressed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5231315871" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/26034" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/26034/hovercard" href="https://github.com/oxc-project/oxc/pull/26034">#26034</a>) (leaysgur)</li>
</ul>oxc-guard[bot]tag:github.com,2008:Repository/599431918/crates_v0.147.02026-08-24T11:31:39Zoxc: crates_v0.147.0<h3>🚀 Features</h3>
<ul>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/b6e9e5efdab2ae76f6828b9f633e1b2d936a7971/hovercard" href="https://github.com/oxc-project/oxc/commit/b6e9e5efdab2ae76f6828b9f633e1b2d936a7971"><tt>b6e9e5e</tt></a> minifier: Fold switch stmt whose parent is not block stmt (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5097768509" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25403" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25403/hovercard" href="https://github.com/oxc-project/oxc/pull/25403">#25403</a>) (Armano)</li>
</ul>
<h3>🐛 Bug Fixes</h3>
<ul>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/8db105342fb28c924dac7f4a54ff8f71b7c68197/hovercard" href="https://github.com/oxc-project/oxc/commit/8db105342fb28c924dac7f4a54ff8f71b7c68197"><tt>8db1053</tt></a> codegen: Require sourcemap for example (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5233345617" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/26047" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/26047/hovercard" href="https://github.com/oxc-project/oxc/pull/26047">#26047</a>) (camc314)</li>
<li>8a9bdbd estree: Include decorators in <code>FormalParameterRest </code> spans (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5227954483" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/26021" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/26021/hovercard" href="https://github.com/oxc-project/oxc/pull/26021">#26021</a>) (camc314)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/6f0c7cf31bb5e26cdd888ddce42c20a59cc9f66b/hovercard" href="https://github.com/oxc-project/oxc/commit/6f0c7cf31bb5e26cdd888ddce42c20a59cc9f66b"><tt>6f0c7cf</tt></a> minifier: Avoid merging <code>if</code> to <code>for</code> in sloppy mode when containing function declaration (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5147877646" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25638" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25638/hovercard" href="https://github.com/oxc-project/oxc/pull/25638">#25638</a>) (sapphi-red)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/2cde1f667174aa49c8d482b0ab443f25eb334c12/hovercard" href="https://github.com/oxc-project/oxc/commit/2cde1f667174aa49c8d482b0ab443f25eb334c12"><tt>2cde1f6</tt></a> rust: Address nightly deprecations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5221664629" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25998" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25998/hovercard" href="https://github.com/oxc-project/oxc/pull/25998">#25998</a>) (Boshen)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/6c5ad1b7232be75fb6ef718b2696fc7055cd1388/hovercard" href="https://github.com/oxc-project/oxc/commit/6c5ad1b7232be75fb6ef718b2696fc7055cd1388"><tt>6c5ad1b</tt></a> codegen: Only add mapping names for <code>PrivateIdentifier</code>s which have changed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5214430578" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25958" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25958/hovercard" href="https://github.com/oxc-project/oxc/pull/25958">#25958</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/2dad1e0ec7ba2878fc5472c9430b8ee28aa41b54/hovercard" href="https://github.com/oxc-project/oxc/commit/2dad1e0ec7ba2878fc5472c9430b8ee28aa41b54"><tt>2dad1e0</tt></a> parser: Track irregular line terminators in trivia (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5206738511" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25947" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25947/hovercard" href="https://github.com/oxc-project/oxc/pull/25947">#25947</a>) (camc314)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/58ba651e5c03817b12589c1163e6400d0eb0ac1f/hovercard" href="https://github.com/oxc-project/oxc/commit/58ba651e5c03817b12589c1163e6400d0eb0ac1f"><tt>58ba651</tt></a> minifier: Avoid merging <code>if</code> to <code>for</code> when the body contains a function declaration (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5147877526" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25637" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25637/hovercard" href="https://github.com/oxc-project/oxc/pull/25637">#25637</a>) (sapphi-red)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/a185ac3ff3167e7d734df1ae656bad9394fa63bb/hovercard" href="https://github.com/oxc-project/oxc/commit/a185ac3ff3167e7d734df1ae656bad9394fa63bb"><tt>a185ac3</tt></a> codegen: Print <code>#</code> before private identifier in TS signature key (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5204180191" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25938" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25938/hovercard" href="https://github.com/oxc-project/oxc/pull/25938">#25938</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/af82a0707a4c0cb26e5a292a0a2534e49e7c8ef9/hovercard" href="https://github.com/oxc-project/oxc/commit/af82a0707a4c0cb26e5a292a0a2534e49e7c8ef9"><tt>af82a07</tt></a> minifier: Keep unary <code>+</code> when the other operand has side effects (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5149394079" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25645" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25645/hovercard" href="https://github.com/oxc-project/oxc/pull/25645">#25645</a>) (Kotaro Chikuba)</li>
</ul>
<h3>⚡ Performance</h3>
<ul>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/20711f4995fc295a21cc2e599417913b8a2287b9/hovercard" href="https://github.com/oxc-project/oxc/commit/20711f4995fc295a21cc2e599417913b8a2287b9"><tt>20711f4</tt></a> packages/codegen: Remove <code>node</code> param from <code>write</code> and <code>markMap</code> functions in sourcemap builds (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219479462" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25989" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25989/hovercard" href="https://github.com/oxc-project/oxc/pull/25989">#25989</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/29a774930a1bda5b1ccdcf809a9f804eb61d352a/hovercard" href="https://github.com/oxc-project/oxc/commit/29a774930a1bda5b1ccdcf809a9f804eb61d352a"><tt>29a7749</tt></a> packages/codegen: Pass <code>start</code> and <code>end</code> to <code>write</code> and <code>mark</code> functions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219479151" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25986" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25986/hovercard" href="https://github.com/oxc-project/oxc/pull/25986">#25986</a>) (overlookmotel)</li>
<li>8ae741b packages/codegen: Replace <code>write</code> calls with <code>writeIdent</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219373355" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25984" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25984/hovercard" href="https://github.com/oxc-project/oxc/pull/25984">#25984</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/a78ed30bbf28d0dcbd10041f26ec2647df109843/hovercard" href="https://github.com/oxc-project/oxc/commit/a78ed30bbf28d0dcbd10041f26ec2647df109843"><tt>a78ed30</tt></a> packages/codegen: Remove <code>last</code> param from <code>writeWithMapNamed</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219373281" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25983" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25983/hovercard" href="https://github.com/oxc-project/oxc/pull/25983">#25983</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/53f62701f822e870011c71d597a141a0581dfbc9/hovercard" href="https://github.com/oxc-project/oxc/commit/53f62701f822e870011c71d597a141a0581dfbc9"><tt>53f6270</tt></a> packages/codegen: Eagerly initialize <code>mapNames</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219270796" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25979" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25979/hovercard" href="https://github.com/oxc-project/oxc/pull/25979">#25979</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/5b43c603866da8f226169fb86b3248e6365cf0d7/hovercard" href="https://github.com/oxc-project/oxc/commit/5b43c603866da8f226169fb86b3248e6365cf0d7"><tt>5b43c60</tt></a> packages/codegen: Split recording mappings into multiple functions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219270644" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25978" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25978/hovercard" href="https://github.com/oxc-project/oxc/pull/25978">#25978</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/cc947b5a370296143af26bb4bc46a877eaccb85f/hovercard" href="https://github.com/oxc-project/oxc/commit/cc947b5a370296143af26bb4bc46a877eaccb85f"><tt>cc947b5</tt></a> packages/codegen: Reduce property lookups (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219270521" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25977" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25977/hovercard" href="https://github.com/oxc-project/oxc/pull/25977">#25977</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/c22a9cc26000dccb8aceb9113d9ae3c72e0013fa/hovercard" href="https://github.com/oxc-project/oxc/commit/c22a9cc26000dccb8aceb9113d9ae3c72e0013fa"><tt>c22a9cc</tt></a> packages/codegen: Combine condition checks (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219270429" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25976" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25976/hovercard" href="https://github.com/oxc-project/oxc/pull/25976">#25976</a>) (overlookmotel)</li>
<li>215a6a5 packages/codegen: Add functions for writing/marking unnamed mappings (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219270327" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25975" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25975/hovercard" href="https://github.com/oxc-project/oxc/pull/25975">#25975</a>) (overlookmotel)</li>
<li>fe444cc codegen: Avoid allocations for single comment anchors (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5141857734" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25598" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25598/hovercard" href="https://github.com/oxc-project/oxc/pull/25598">#25598</a>) (camc314)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/a0aee8187f871d3afe858f8642a5b19b8d409bec/hovercard" href="https://github.com/oxc-project/oxc/commit/a0aee8187f871d3afe858f8642a5b19b8d409bec"><tt>a0aee81</tt></a> minifier: Do not rebuild expression when substituting void to null (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5218805071" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25964" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25964/hovercard" href="https://github.com/oxc-project/oxc/pull/25964">#25964</a>) (Armano)</li>
<li>1004439 packages/codegen: Merge <code>mark</code> and <code>write</code> calls in <code>printImportAttributes</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219051219" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25972" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25972/hovercard" href="https://github.com/oxc-project/oxc/pull/25972">#25972</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/94c8a34376f706870c56c84ba898f80de68450a3/hovercard" href="https://github.com/oxc-project/oxc/commit/94c8a34376f706870c56c84ba898f80de68450a3"><tt>94c8a34</tt></a> packages/codegen: Remove <code>node</code> param from <code>printString</code> and <code>printNonNegativeFloat</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219051065" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25971" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25971/hovercard" href="https://github.com/oxc-project/oxc/pull/25971">#25971</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/7e2b4b36a14ee8f460e163d1fea211ede9a02ea3/hovercard" href="https://github.com/oxc-project/oxc/commit/7e2b4b36a14ee8f460e163d1fea211ede9a02ea3"><tt>7e2b4b3</tt></a> packages/codegen: <code>printNonNegativeFloat</code> write mapping directly (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219050675" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25968" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25968/hovercard" href="https://github.com/oxc-project/oxc/pull/25968">#25968</a>) (overlookmotel)</li>
<li>f09c8ab minifier: Avoid creation of unnecessary conditional expressions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5198363193" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25931" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25931/hovercard" href="https://github.com/oxc-project/oxc/pull/25931">#25931</a>) (Armano)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/53ff08068d2487489db9fe739937438fbb66db56/hovercard" href="https://github.com/oxc-project/oxc/commit/53ff08068d2487489db9fe739937438fbb66db56"><tt>53ff080</tt></a> packages/codegen: Remove <code>lastWasPostfixClose</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5183860916" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25888" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25888/hovercard" href="https://github.com/oxc-project/oxc/pull/25888">#25888</a>) (overlookmotel)</li>
</ul>
<h3>📚 Documentation</h3>
<ul>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/07de64608c36f0afcff7c9fb3b7a198edf578461/hovercard" href="https://github.com/oxc-project/oxc/commit/07de64608c36f0afcff7c9fb3b7a198edf578461"><tt>07de646</tt></a> packages/codegen: Fix JSDoc comments on <code>write*</code> methods (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5219050305" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25966" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25966/hovercard" href="https://github.com/oxc-project/oxc/pull/25966">#25966</a>) (overlookmotel)</li>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/oxc-project/oxc/commit/3b09c04fb35f50df0042f6610ef9372d2c51e312/hovercard" href="https://github.com/oxc-project/oxc/commit/3b09c04fb35f50df0042f6610ef9372d2c51e312"><tt>3b09c04</tt></a> packages/codegen: Clarify comment (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5214848417" data-permission-text="Title is private" data-url="https://github.com/oxc-project/oxc/issues/25959" data-hovercard-type="pull_request" data-hovercard-url="/oxc-project/oxc/pull/25959/hovercard" href="https://github.com/oxc-project/oxc/pull/25959">#25959</a>) (overlookmotel)</li>
</ul>github-actions[bot]tag:github.com,2008:Repository/1238504280/v2.5.92026-08-24T04:25:36Zaria2-next: v2.5.9 - Atomic Magnet File Selection<h2>Summary</h2>
<p>Aria2 Next 2.5.9 makes magnet file selection atomic. BitTorrent payload transfer now remains paused until libtorrent confirms the complete file-priority plan, preventing unselected files from downloading while metadata selections are applied.</p>
<h3>Changed</h3>
<ul>
<li>Delayed magnet payload transfer until libtorrent confirms the selected file and piece priorities.</li>
<li>Centralized native torrent activation so paused, auto-managed, and stop-when-ready flags are cleared in the correct order.</li>
<li>Preserved the selected task and file totals while an asynchronous priority update is in progress, then refreshed them from libtorrent after confirmation.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed magnet tasks downloading all files after users excluded files in the metadata selection dialog.</li>
<li>Fixed pre-metadata placeholder files starting an invalid native priority transaction that blocked the real multi-file selection.</li>
<li>Fixed stale full-torrent progress values replacing selected-file progress while the selection transaction was pending.</li>
<li>Fixed resumed magnet tasks starting peer transfer before file priorities reached the libtorrent disk thread.</li>
</ul>
<h3>Downloads</h3>
<table>
<thead>
<tr>
<th>Platform</th>
<th>Download</th>
</tr>
</thead>
<tbody>
<tr>
<td>Linux x86_64</td>
<td><code>aria2-next-2.5.9-linux-x86_64</code></td>
</tr>
<tr>
<td>Linux ARM64</td>
<td><code>aria2-next-2.5.9-linux-aarch64</code></td>
</tr>
<tr>
<td>macOS Apple Silicon</td>
<td><code>aria2-next-2.5.9-macos-arm64</code></td>
</tr>
<tr>
<td>macOS Intel</td>
<td><code>aria2-next-2.5.9-macos-x86_64</code></td>
</tr>
<tr>
<td>Windows x86_64</td>
<td><code>aria2-next-2.5.9-windows-x86_64.exe</code></td>
</tr>
<tr>
<td>Windows ARM64</td>
<td><code>aria2-next-2.5.9-windows-arm64.exe</code></td>
</tr>
<tr>
<td>Android ARM64</td>
<td><code>aria2-next-2.5.9-android-arm64</code></td>
</tr>
<tr>
<td>Checksums</td>
<td><code>aria2-next-2.5.9-checksums.sha256</code></td>
</tr>
</tbody>
</table>AnInsomniacytag:github.com,2008:Repository/1238504280/v2.5.82026-08-24T03:22:13Zaria2-next: v2.5.8 - BitTorrent Resume and Selection Reliability<h2>Summary</h2>
<p>Aria2 Next 2.5.8 improves BitTorrent resume, selective-download, and seeding behavior. Paused tasks now restore verified progress without starting network transfer, file selection has an explicit transaction state, and RPC clients receive consistent completion and sharing status across restarts.</p>
<h3>Added</h3>
<ul>
<li>Added <code>bittorrent.fileSelectionState</code> to expose the native file-selection transaction as <code>none</code>, <code>awaiting</code>, <code>ready</code>, or <code>applying</code>.</li>
<li>Added structured <code>bittorrent.error</code> details for recoverable and terminal BitTorrent failures.</li>
<li>Added native <code>activeTime</code>, <code>finishedTime</code>, and <code>seedingTime</code> metrics to BitTorrent RPC status.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Restored paused BitTorrent tasks into libtorrent with stop-when-ready so resume data and local files are validated without peer, tracker, or payload activity.</li>
<li>Reused the restored native torrent handle when a paused task resumes.</li>
<li>Preserved all representable tracker tiers and compacted only excess lowest-priority tiers.</li>
<li>Clarified daemon startup requirements when no URI or input file is supplied.</li>
<li>Defined <code>finished</code> as selected payload completion and <code>seeding</code> as full torrent completion.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed paused BitTorrent tasks reporting zero task and file progress after an engine restart.</li>
<li>Fixed resume-time progress resets while libtorrent validates fast-resume data.</li>
<li>Fixed file-selection state transitions for magnet downloads and resumed tasks.</li>
<li>Fixed selective downloads reporting an incorrect non-seeder state after their selected payload completed.</li>
<li>Fixed unpause behavior so a completed selective download resumes sharing through the existing native torrent state.</li>
<li>Fixed native BitTorrent errors overwriting independent file-selection state.</li>
</ul>
<h3>Downloads</h3>
<table>
<thead>
<tr>
<th>Platform</th>
<th>Download</th>
</tr>
</thead>
<tbody>
<tr>
<td>Linux x86_64</td>
<td><code>aria2-next-2.5.8-linux-x86_64</code></td>
</tr>
<tr>
<td>Linux ARM64</td>
<td><code>aria2-next-2.5.8-linux-aarch64</code></td>
</tr>
<tr>
<td>macOS Apple Silicon</td>
<td><code>aria2-next-2.5.8-macos-arm64</code></td>
</tr>
<tr>
<td>macOS Intel</td>
<td><code>aria2-next-2.5.8-macos-x86_64</code></td>
</tr>
<tr>
<td>Windows x86_64</td>
<td><code>aria2-next-2.5.8-windows-x86_64.exe</code></td>
</tr>
<tr>
<td>Windows ARM64</td>
<td><code>aria2-next-2.5.8-windows-arm64.exe</code></td>
</tr>
<tr>
<td>Android ARM64</td>
<td><code>aria2-next-2.5.8-android-arm64</code></td>
</tr>
<tr>
<td>Checksums</td>
<td><code>aria2-next-2.5.8-checksums.sha256</code></td>
</tr>
</tbody>
</table>AnInsomniacytag:github.com,2008:Repository/294977469/v1.9.322026-08-24T02:30:59Zclink: v1.9.32<h4>Recent Breaking Change</h4>
<ul>
<li><strong>Breaking Change:</strong> the "gray text" auto-suggestions display is now off by default, due to too many complaints and frustration and support cost.
<ul>
<li>The <a href="https://chrisant996.github.io/clink/clink.html#suggestion-list" rel="nofollow">Suggestions List</a> since v1.8.0 is friendlier and more powerful; toggle it by pressing <kbd>F2</kbd> or enable it by default via <code>clink set suggestionlist.default true</code>.</li>
<li>The "gray text" or "inline" auto-suggestions display can be turned on again via <code>clink set autosuggest.inline true</code> if preferred.</li>
</ul>
</li>
</ul>
<h4>v1.9.32</h4>
<ul>
<li>Fixed agnoster, Headline, and pure custom prompts to show just the base directory name for the Python virtual env.</li>
<li>Fixed <code>rl.gethistoryindex()</code> during the <code>onbeginedit</code> callback and the first prompt filter per input line.</li>
<li>Fixed width calculation for combining marks such as diacritics; there's no fully reliable way to predict how a terminal will render combining marks, but Clink tries to accommodate different OS versions and console configuration modes and grapheme combinations to predict as closely as possible.</li>
</ul>chrisant996tag:github.com,2008:Repository/1056194120/1.1-rc52026-08-23T19:53:27ZSuper-Mario-Bros.-Remastered-Public: 1.1 RC5<ul>
<li>Fixed castles having some really dumb choices for its bg tiles, now uses the normal 16x16 one.</li>
<li>ACTULLY fixed cannon balls crashing the game when being stomped, fr this time i promise</li>
<li>Resource packs will only give warnings now, IF enabled in their <code>pack_info.json</code> file, using <code>"enable_warnings": true</code> (automatically enabled on creation of a new pack), otherwise they wont show</li>
<li>Fixed loop offsets on animations, not being applied correctly, on cached spriteframes</li>
<li>Clamped the level pack world select number icon sprite thingy to be "+" at maximum</li>
<li>Added custom level autosave folder to the list of directories automatically created, at startup</li>
<li>Fixed the second camera continuing to move, while the game is paused</li>
<li>Fixed players sfx map not being able to have randomized sfx's</li>
<li>Fixed resource pack config descriptions being part of the scroll container</li>
<li>fixed burners not working properly in yvb</li>
<li>made the labels in the results menus non clickable</li>
<li>fixed overlapping invisible blocks in smbs 3-4 challenge mode</li>
<li>marathon medal icons are replacable in the level select</li>
</ul>JHDev2006tag:github.com,2008:Repository/348053395/20.2.02026-08-23T16:11:13ZConvertWithMoss: 20.2.0<ul>
<li>New: Added support for the ISLA Instruments S2400 kit format (KIT). Each pad of a kit becomes one zone mapped to a MIDI note (A1 is note 36, as in the default sample track MIDI map), carrying its sample, gain, fine tuning, choke group, filter (low/band/high-pass with its cutoff in Hertz and resonance) and HiFi volume envelope; loops are read from and written to the WAV 'smpl' chunk, where the device stores them. Writing creates the kit folder with the kit file named after it and one WAV per pad in the device native 48 kHz / 16-bit format. The format was reverse-engineered from the official S2400 Kit Builder web application since the device firmware is encrypted - not yet verified on real hardware.</li>
<li>New: Added support for the E-mu Emulator II (IMG, EMUIIFD, HFE). One disk becomes one multi-sample: the key map of the bank gives the zones with their key ranges and root keys and each voice its name, its loop and its audio, which is expanded from the companded bytes the sampler feeds to its AM6072 DAC. A bank which is larger than one floppy is reported as continuing on another disk. Read only.</li>
<li>New: Added support for the Roland S-10/S-220/MKS-100 System Exclusive files (*.syx) - read only</li>
<li>New: The Analyse run can log for every found multi-sample what it contains (option "Log analysis details", on the command line <code>-ad</code>): the mapping of its zones with their sample format, loops with their cross-fades, envelopes, LFOs and the filter with its modulators. Only attributes which a source actually uses are logged, so searching the log finds the sources which use a specific feature - e.g. all presets of a library with a filter envelope, a loop cross-fade or a release trigger. The details describe the source as it was read, before any processing is applied.</li>
<li>New: A note is logged when a loop of a converted preset audibly clicks at its wrap-around point (the step back to the loop start is many times the normal movement of the waveform and a substantial part of the level). Sample libraries ship such loops surprisingly often - 17 of 152 presets across three commercial Ensoniq libraries - and without the note the first hint is the converted preset ticking on the destination device. Nothing is changed: the loop is written as the source authored it, and the note points to the snap-to-zero-crossing and loop cross-fade processing options which remove such clicks. A loop which already has a cross-fade is not reported.</li>
<li>New: A note is logged when samples are re-sampled because the destination format does not support their sample rate or bit resolution - e.g. a 24 bit / 48 kHz sample which is written as a Waldorf Quantum/Iridium preset with its 'Re-sample to 16bit/44.1kHz' option enabled, or written for a device whose hardware dictates the format of its samples. So far this conversion happened silently and the log gave no hint that the created preset does not contain the audio of the source unchanged; the note states the source format and the format it becomes. Each distinct conversion is logged once per run.</li>
<li>New: Added several new tags for better category detection.</li>
<li>Fixed: The sample and program files which a preset references are now looked up ignoring the upper/lower case of their name. Sampler file systems are case-insensitive and their CD-ROMs store all names in upper case, but a preset might well reference them in lower case. On a case-sensitive file system, which is the normal case on Linux, none of those samples could be found (e.g. 'STR SEC.6 -L.WAV' referenced as 'STR SEC.6 -L.wav'). This affects the Akai S5000/S6000 (AKP/AKM), Akai MESA, Akai MPC and MPC1000, FL Studio DirectWave, Teenage Engineering OP-XY and Synclavier Regen formats as well as all formats which use the common sample search (Ableton, Deluge, EXS24, NI Kontakt, NI Maschine, 1010music, SXT and TX16Wx) - the latter did only try the file ending in all upper and all lower case, so a name which differs in its case anywhere else was still not found.</li>
<li>Fixed: When a sample was not found next to its preset, the search jumped the configured number of folder levels up in one go and took whatever the recursive search found first. Two libraries below the same folder which name their samples alike - the normal case for the variants of a library - then fed a preset the sample of the other library, which sounds wrong and, since the preset keeps its own loop points, clicks at the loop. The search now goes up one level at a time and stops at the first level which contains the file, so a sample close to the preset always wins over one of the same name further away.</li>
<li>Fixed: The category names 'Winds' and 'World' were not detected when they were read back from a preset which stores the category as text: 'Winds' was detected as FX - from the 'Wind' sound effect - and 'World' was not detected at all. The name of a category is now a keyword of its own, which is checked for all of them.</li>
<li>Fixed: Samples which are converted to the sample rate of the destination format (the conversions the re-sampling note reports) are now converted with the same band-limited resampler which the sample processing options use. The Java sound converter used before produced a slightly wrong number of frames - 88204 instead of exactly 88200 when a 2 second 48 kHz sample becomes 44.1 kHz - which stretches the audio against the sample and loop positions that are re-calculated with the exact rate ratio. A loop which wraps perfectly in the source then steps at its wrap-around point, the more the longer the loop is: measured on a 200 Hz sine with a 1.5 second loop, the step was 4.5% of the peak level and is 0.04% now. Up- and down-sampling also gain the band-limiting of that resampler, which the Java converter does not have.</li>
<li>Fixed: An option which is enabled by default in the user interface was disabled when the conversion was started from the command line without giving that option. The command line only tested the value of a parameter, so an absent parameter always meant 'off', while the check-box of the same option is ticked in the user interface - the identical conversion therefore produced a different result depending on how it was started. Twelve options across eleven formats were affected, among them 'Re-sample to 16bit/44.1kHz' of the Waldorf Quantum/Iridium and 'Re-sample to 24bit/48kHz' of the Elektron Tonverk and the 1010music formats. Converting the Elektron Tonverk factory library to a Waldorf Quantum/Iridium preset from the command line wrote 1554 samples which the device cannot play: the library ships 64 bit float files and single-cycle waveforms whose pitch the Tonverk stores as a sample rate of up to 12 MHz, and without the re-sampling both were passed through unchanged. A parameter which is not given now keeps the default of its option.</li>
<li>Backend
<ul>
<li>New: Added transpose, tuning, gain and panning attributes to performances (1010music bento/blackbox, Akai AKM, NI Kontakt 1, Roland S-7xx, TX16w, Yamaha Montage/MODX).</li>
<li>New: Improved setting of MIDI channels, with distinct values for OFF and OMNI for all performances.</li>
<li>Fixed: An error while one preset of a source file was converted ended the conversion of that whole file, so that every preset after it was silently lost - a disk image, a bank or a library delivers all of its presets from one read. The error is now reported with the name of the preset which caused it and with its stack, and the source is continued with the next preset. The same applies to performances.</li>
</ul>
</li>
<li>User Interface
<ul>
<li>Improved: The audition of the Contents dialog holds the note as long as the sound needs to show its character instead of fixed 2 seconds: through the delay, attack and decay of its amplitude envelope, dwelling on the sustain, or until the body of its longest sample was heard once (an evolving texture or a phrase which only loops near its end) - at most 6 seconds. A sound which decays to silence is held through its whole decay, so nothing of its natural tail is cut off; short one-shots still end at their sample end as before.</li>
<li>New: Contents dialog: A preset which shares its name with another preset in the same folder of the tree additionally shows the index which addresses it inside its file, e.g. 'Soul Ah's (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1295209449" data-permission-text="Title is private" data-url="https://github.com/git-moss/ConvertWithMoss/issues/12" data-hovercard-type="issue" data-hovercard-url="/git-moss/ConvertWithMoss/issues/12/hovercard" href="https://github.com/git-moss/ConvertWithMoss/issues/12">#12</a>, 21 zones, C1-C6)'. Sample library CD-ROMs re-use a name for a variant of a preset more often than one would expect - the 'Emulator Standards' library of the E-mu Emulator III does so in 45 of its banks, where the bank 'Soul Ahs' holds two presets called 'Soul Ah's' which differ in their velocity sensitivity - and those rows were indistinguishable, so it was not possible to tell which of them to tick. The index is the one the exported list writes and by which the imported list selects a preset, so the tree and the list address the same preset. A name which is unique in its folder is shown unchanged.</li>
<li>New: Contents dialog: The new 'Export List...' button writes the listed presets - not the presets themselves - as a CSV or JSON file with the name, category, number of zones, key range (as note names and MIDI note numbers), folder, file, containers, index inside of the file and the ticked state of each of them. This gives an inventory of a disk image, a bank or a preset folder which can be used in a spreadsheet or a script. A search filter applies to the written list as well.</li>
<li>New: Contents dialog: The new 'Import List...' button reads such a list back in and ticks exactly the presets which it selects, so the presets to convert can be picked in another application: export the list, tick the presets in e.g. a spreadsheet, save it as CSV again and import it. A row selects its preset when its 'Selected' field says so ('true', 'x', '1' or 'yes'); a list without that field selects every preset it contains, so deleting rows works as well. Presets are matched by their file and their index inside of it, which tells presets of the same name in different banks apart and still finds a library which was moved to another folder.</li>
</ul>
</li>
<li>Akai MPC
<ul>
<li>Fixed: The Version element was created but never added to a written XPM file. Since it is the element by which the format is recognized, such a file was rejected when it was read back ("Could not read metadata: Unknown Root"). The platform is now written as well, so that the version log line is complete.</li>
</ul>
</li>
<li>Akai S-900
<ul>
<li>New: Reading of missing filter parameters (envelope, velocity mod., key-tracking), pitch LFO and envelope.</li>
<li>Fixed: The amplitude envelope and pitch key-tracking were read from the wrong bytes.</li>
<li>Fixed: Referenced samples can be on a continuation disk. For disks which point to a missing samples a continuation disk is searched in the same folder.</li>
<li>Fixed: Improved logging.</li>
<li>Fixed: The filter cutoff is now converted with the law of the sampler instead of a straight line over its range. The S900 does not filter digitally: each of its 8 voices runs through an analog switched-capacitor low-pass (MF6CN-50, a 6th order Butterworth) whose corner sits at a fixed fraction of the clock it is fed with, and that clock is a timer counter which the operating system loads with a divider it looks up with the setting. The scale follows from what the sampler does when it records: its block diagram sets the same filter to 0.4 times the sampling frequency while its operating system loads the divider with 80000/frequency, which fixes the cut-off at 32000/divider. The setting is scaled, offset and clipped to the range of that table, so the filter is fully closed below a setting of 24, fully open from 76 upwards, and follows a curve in between: setting 50 is 889 Hz and not 10.1 kHz, setting 70 is 4 kHz and not 14.1 kHz. Measured over the SL5000 factory library (20 disks, 71 programs, 209 filters) the cut-offs move from a range of 9.3-19.6 kHz to 0.7-6.4 kHz - the sampler is a good deal darker than a linear reading of the setting suggests, which is a large part of its character.</li>
</ul>
</li>
<li>Akai S-1000/S-3000
<ul>
<li>New: Programs of a volume which share their MIDI program number (on the same MIDI channel) are combined into one multi-sample with one group per program. Selecting that program number on the sampler activates all of them, so they always sound layered - many CD-ROMs build their final patches this way from 2 or 3 component programs, which each sounded like a bare fragment when they were converted one by one (e.g. 'DIGIJAZZ A' + 'DIGIJAZZ B' of East West's Twisted Textures, a bright and a dark layer, become the multi-sample 'DIGIJAZZ'). Each program keeps its own envelopes, filter and volume in its group, and the combination can be seen on the multi-sample itself: it is named after the programs it combines and every one of them becomes a group which carries its name.</li>
<li>Fixed: Ignore undefined volumes (type 0xFFFFE5E5) and continue conversion.</li>
<li>Fixed: Images with broken sample or program data blocks can now be read. Conversion does not stop but continues with also improved error logging.</li>
<li>Fixed: The loudness of a program and the loudness offset of a key-group sample are now converted with the scale of the sound hardware, which spans 60.5 dB over its range in steps of 0.237 dB. The program loudness was read as a fraction of full level (90 of 99 became -0.8 dB where the sampler plays it 6.2 dB down) and the offset of a key-group sample was assumed to span +/-6 dB where it actually spans +/-30 dB. Both errors flatten the balance a sound designer set between the layers of a preset: the two programs of 'JAZZNSPACE' in East West's Twisted Textures are 18.3 dB apart on the sampler and were 3.3 dB apart after conversion, which put the bright layer far in front of the sound instead of behind it.</li>
<li>Fixed: The envelope of the loudness is now shaped the way the sound hardware moves it. The level of a voice is an index into the gain table of the sampler, which is exponential with a step of 0.237 dB, and the operating system adds the rate of the envelope to that index - a stage is therefore a straight line in decibel and a curve in loudness. It was written as a straight line in loudness, which keeps a note near its full level for most of the stage and then drops it: the electric piano of 'DIGIJAZZ', whose decay is 9.5 seconds, reached -6 dB after 4.7 seconds and -20 dB after 8.6, where the sampler is 6 dB down after 0.9 seconds and 20 dB down after 3.1 - it did not sound like a piano at all. The envelope of the filter is deliberately left as it is, since its index addresses the cut-off table, which is exponential in frequency, so a straight line there already is one in the cut-off of the destination.</li>
<li>Fixed: The sustain of an envelope is now converted with the same loudness scale. It is not a share of the level but an attenuation: the sampler scales the parameter with its loudness table and subtracts the remainder to the full level from the index into its gain table while a note is held. A sustain of 50 therefore does not hold a note at half of its level but 30.4 dB below it, which is 3 %. Read as half the level such a note sits about 24 dB too loud and the difference a sound designer set between the layers of a preset disappears. Measured over a commercial CD-ROM 2975 of its 5975 amplitude envelopes change, 242 of them by more than 6 dB and the largest by 15.4 dB.</li>
<li>Fixed: The filter cut-off is now converted with the law of the sampler instead of a straight line over its range. The filter setting is scaled to the range of the sound hardware and looks up the coefficient of the three one-pole stages which form the 18dB/octave low-pass, which places the middle of the range far lower than a linear reading suggests: setting 43 is 306 Hz and not 8.7 kHz, setting 53 is 627 Hz and not 10.7 kHz. Converted presets were therefore up to 5 octaves too bright - the filter of a dark, evolving layer did nothing at all, so a preset which layers a bright and a dark program (the way most S1000 CD-ROMs build their sounds) converted with both layers wide open.</li>
<li>Fixed: The times of the two ADSR envelopes are now converted with the rate table of the sampler instead of a straight line over the range of a setting. The sound hardware moves an envelope at a rate which the operating system looks up with '99 - setting', and those rates span a range of 16384 to 1 - a setting of 60 is therefore not 'a bit above half of the maximum time' but a small fraction of it. The same table serves the attack, the decay and the release of both envelopes, so the separate maxima which were assumed for them (2 seconds for the attack and the release, 6 seconds for the decay) do not exist either. Measured over two commercial libraries the settings which are actually used sit between 30 and 86, where the old law was up to seven times too long in the middle of the range and up to twenty times too short at its end: the electric piano of 'DIGIJAZZ' now decays over 9.5 seconds and releases in 0.11 seconds, as an electric piano does, instead of decaying in 5.0 seconds and releasing in 0.75.</li>
<li>Fixed: Do not report samples for key-groups with upper velocity set to zero. These are used creatively by some companies to add their copyright info to each key-group.</li>
<li>Fixed: Samples which were recorded at 22050Hz were read with a sample rate of 0Hz. The sampler fills in the exact sample rate only for the samples it records at 44100Hz and marks the 22050Hz ones solely by an index at the start of the sample header, which was not read. Such a sample was written as an unplayable file which claims a sample rate of 0Hz and, with the sample rate processing option enabled, made the conversion fail - which stopped the whole disk image, so that all presets after it were lost (32 of the 124 presets of a commercial CD-ROM).</li>
<li>Fixed: Zones with an upper velocity of 0 are skipped entirely. A velocity of 0 is a note-off, so such a zone can never be triggered - they mute the layers which belong to the partner program of a layered stack (and carry the copyright info, see above). Before, they became dead zones on the destination and the audition played them as always-on, which doubled the layers.</li>
</ul>
</li>
<li>Audiomodern Soundbox
<ul>
<li>New: Added reading/writing of category.</li>
</ul>
</li>
<li>Bliss
<ul>
<li>Fixed: A zone with a trimmed sample start was re-sampled to exactly 96 kHz (the maximum rate of the format was applied as a fixed rate, up-sampling included). Worse, the trim positions count in frames of the source rate, so after the up-sampling they pointed at the wrong place and cut the later part of the sample audio away. The samples now keep their rate; only the actual limits of the format are enforced - a rate above 96 kHz or a bit resolution which the format does not store (e.g. 8 bit) is converted, and this now also happens for zones which are not trimmed, whose samples went into the file unchanged before.</li>
</ul>
</li>
<li>Casio FZ
<ul>
<li>Fixed: The filter cut-off is now converted with the law of the filter chips instead of an assumed exponential curve. The value which a voice stores is not what the chips receive: the sampler adds 32 to it before it writes the result as an 8 bit code, so the range of the value covers exactly the codes 32 to 159 - and 159 is both the code the sampler initializes its filters with and the point its own documentation calls fully open, which is the confirmation that the offset is right. The frequencies of those codes follow three linear sections rather than an exponential curve (20 Hz at code 0 and 20 kHz at code 159 from the service manual, 4.5 kHz at code 108 and 9 kHz at code 124 from the anti-aliasing filters the sampler itself selects). Converted presets were therefore far too dark: measured over the FZ-1 factory library (12 disks, 153 programs, 1221 filtered zones) the cut-offs move from a range of 89 Hz - 11 kHz to 2.5 - 17.2 kHz, which is 1.9 octaves at the median.</li>
<li>Fixed: The times of the 8-stage envelopes are now converted with the increment table of the sampler instead of an assumed law. The sampler advances an envelope by an amount which it looks up with the rate of the stage, 500 times a second, and those increments span 3 to 32767 - the times are therefore not a curve which halves every 8 rates as was assumed. The error is largest in the middle of the range, where the settings of real voices sit: a rate of 16 is 0.47 seconds and not 15, a rate of 32 is 0.14 seconds and not 3.75, and only at the very top of the range do the two agree. Measured over the FZ-1 factory library (12 disks, 153 programs, 674 envelopes) the amplitude decays drop from a maximum of 2.8 to 0.84 seconds and the releases from 6.3 to 0.85 - the brass ensemble of 'BRASS ENS 1' decays in 0.11 seconds and releases in 0.08, where it was 0.84 and 0.16 before.</li>
</ul>
</li>
<li>CWITEC TX16Wx
<ul>
<li>New: Added support for bank output (*.txbank). Select 'Preset Library' as destination output.</li>
</ul>
</li>
<li>DecentSampler
<ul>
<li>Fixed: The command line parameters 'DecentSamplerTemplateFolderPath' and 'DecentSamplerAddFilterToGroups' were read into each other's setting: the template folder path was taken from the add-filter parameter and the add-filter flag from the path. Giving a template folder on the command line therefore never reached the creator - it set the filter flag to false instead, since a path is not '1' - and giving the filter flag put the literal value into the template path. Neither option could be used from the command line; the user interface was not affected. The add-filter option now also keeps its default of enabled when its parameter is not given.</li>
</ul>
</li>
<li>E-mu Emulator III/IIIX/ESI
<ul>
<li>Fixed: Reading a CD-ROM or hard disk image kept its own copy of the audio of a sample for every zone which plays it. The presets of a bank map the same samples over and over - the first volume of the 'Emulator Standards' library plays 1480 samples from 25580 zones - so an image was expanded to many times its size while it was read: that 304 MB volume held 3.5 GB of audio instead of the 192 MB it contains, and the conversion ended with 'Java heap space' and no presets at all on a machine whose Java heap is smaller than that. The audio of a sample is now decoded once and shared by all zones which play it, whether they belong to the same preset or not, which is what the samplers themselves do. Reading that volume now holds 192 MB and finishes in a 512 MB heap.</li>
</ul>
</li>
<li>Fairlight CMI
<ul>
<li>Fixed: Reading a Voice file whose version is not recognized wrote a copy of that file into a hard-coded folder of the developer's machine which did crash the conversion.</li>
</ul>
</li>
<li>FL Studio DirectWave
<ul>
<li>Fixed: Monolithic programs whose samples are stored uncompressed could not be read ("None of the samples of the program could be found next to the DWP file and it contains no embedded sample data"). DirectWave writes the embedded audio of a monolithic program either FLAC compressed or, in older versions, as uncompressed PCM in a block of its own; only the FLAC variant was recognized. The uncompressed block stores the channels one after the other instead of interleaved.</li>
<li>Fixed: The embedded audio of a monolithic program is stored with 256 frames of silence before the sample and 256 after it, and the loop points of DirectWave do not count the leading silence. The silence was kept when such a program was read, so every sample started 5.8 ms late and its loop sat 256 frames early in the audio - silent on the perfectly periodic synthesizer loops of the library this was verified with, a click on anything sampled. Written programs padded the audio at the end only, so DirectWave skipped the first 5.8 ms of every sample and looped 256 frames late. Both now use the layout of the plug-in.</li>
</ul>
</li>
<li>ISO File
<ul>
<li>Fixed: An image of the E-mu disk file system was read twice, once for each of the two E-mu formats which share that file system (Emulator III and EOS) since neither of them can read the banks of the other. Reading the files of an image reads all of their content, so a full library CD-ROM was loaded a second time only to find that it holds no bank of the second format. The image is now read once and both formats are offered its files.</li>
</ul>
</li>
<li>Roland MV-8000
<ul>
<li>Fixed: A written patch loaded on the device but was silent, and the device showed a start point, loop start and end point of 0 for every sample. The hardware plays - and displays - the three points which are stored in the SMT slot of a partial, not the ones of the sample parameter block, and only the latter were written. The slot points are written now; the 103 factory patches carry identical values in both places in all of their 1918 slots. Reading prefers the slot points as well, so a patch whose points were edited on the device converts with the points it actually plays.</li>
<li>Fixed: The wave data of a written sample now keeps 2 frames behind its end point, as the device does for every sample it writes itself - none of the 1918 samples of the factory patches ends closer to the end of its data. A sample whose end point sat at the last frame of its data (a one-shot which plays to its very end, e.g. every sample of an Akai S1000 program whose end marker is its last frame) is padded with 2 frames of silence.</li>
<li>Fixed: The envelope times are now converted with the time table of the sound engine instead of a formula borrowed from the S-7xx series. Every time is a 0-127 setting which the engine looks up in a 128 entry table, and that table sits in the firmware of both machines - at offset 0xB63EE of the S-760 system disk and 0x50538C of the decompressed MV-8000 operating system, with all 127 overlapping entries identical, which is also what shows that the MV-8000 runs the S-7xx sound engine and not the XV one whose category list it borrows. Its unit follows from the S-760 owner's manual, which documents the LFO delay - a 0-127 setting like the envelope times - as covering "0.01 - 22 sec": the table runs 30 to 65535, so an entry is 1/3000 second and the range is 0.0100 to 21.845 seconds, matching both ends of the documented range within one percent. The formula used before spans only 64:1 and cannot express anything below 302 ms, so it was up to 29 times too slow where the music is - a setting of 1 is 0.011 s and not 0.313 s, and 15, the median of the factory patches, is 0.025 s and not 0.496 s - and agreed only near the top of the range. The electric piano of the factory patch 'Mark V' now attacks in 0.011 s and releases in 0.016 s, as an electric piano does, instead of taking 0.3 s to do either.</li>
</ul>
</li>
<li>Roland S-7xx
<ul>
<li>Fixed: The envelope times are now converted with the same table, which is the sampler's own; the formula used before was an uncalibrated approximation of it with the same 29-fold error at the fast end.</li>
</ul>
</li>
<li>Teenage Engineering OP-XY
<ul>
<li>Fixed: The samples which do not make it into the written preset - the dropped velocity layers and the regions beyond the maximum of 24 - were still copied into the preset folder, although the description file does not reference them. They only occupied space on the device and could make the preset folder too big to load. Only the samples of the written regions are stored now.</li>
</ul>
</li>
<li>Waldorf Quantum/Iridium
<ul>
<li>New: All layers of a preset are read instead of only the first two. The MK2 generation of the instruments stores 4 layers where the first one stores 2, and it always writes all four of them with the unused ones switched off; a layer which is switched off or which does not play samples is now reported and skipped instead of being converted or, as before, taking the whole preset down with it.</li>
<li>New: A written preset can use a second layer ('Use a second layer for more than 3 groups', on the command line <code>QPATUseSecondLayer=1</code>). Each layer has 3 oscillators with a multi-sample of its own, so a preset holds up to 6 multi-samples instead of 3 and a source with more groups no longer has to merge them all into the last oscillator; the second set of groups also gets its own filter and amplitude envelope, which the oscillators of one layer have to share. Two layers are stored the same way by every instrument of the family, from the Quantum to the Iridium MK2. Only sounds which are meant to be heard together are put into a separate layer: the device has no velocity range for a layer, so a velocity split stays inside the sample maps. Disabled by default, which writes exactly what previous versions wrote. Verified on an Iridium MK2: a written two-layer preset loads and its second layer carries its own filter and its own amplitude envelope, and the oscillators which are not written stay off instead of keeping what the previously loaded preset had.</li>
<li>New: A vibrato and a tremolo of the source are now written and read back - this was the last of the larger formats without them. The device has 6 low frequency oscillators and 40 modulation matrix slots, of which the slots 1-3 already carry the pitch envelopes of the 3 oscillators, so the vibrato takes the slot 4 and the tremolo the slot 5 and the slots 6-40 as well as the LFOs 3-6 stay untouched for the user. The vibrato drives the destination 'Pitch', which moves all three oscillators with a single slot instead of one slot per oscillator - a vibrato of a multi-sample belongs to the whole instrument and not to one of its layers. The tremolo drives the destination 'VCA' from the full level of the amplifier downwards with a unipolar oscillator, so that it attenuates instead of being pressed against the upper end of the amplifier for half of every cycle; its depth uses the loudness law of the device, where the full depth of the model (96 dB) is the swing from the full level down to silence. The waveform, rate, delay and fade-in are converted with the laws of the sound engine, which were read from the firmware of an Iridium MK2: the rate is 1/240 Hz + (100 Hz - 1/240 Hz) * x^4, which gives at the middle of its range the 6.25 Hz that the manual documents as the default, and the delay and the fade-in are 20 * x^2 and 10 * x^2 seconds. An oscillator of a read preset which runs on the tempo of the song is skipped, since a multi-sample carries no tempo with which its note lengths could be converted into Hertz.</li>
<li>Fixed: A preset whose second layer does not play samples - a wave-table or virtual-analog layer next to a sampled one - was dropped completely, including the layer which did have samples ("Preset is not sample based"). 6 of the 16 two-layer presets of one factory folder were lost this way. Such a layer is now skipped and the sampled ones are converted.</li>
<li>Fixed: A preset which contains a resource of an unknown type could not be read at all ("Unknown resource type"). The MK2 stores its parameter sequence in such a resource, so every MK2 preset which uses one was lost. Unknown resource types are now reported and skipped, and the message finally names the type.</li>
<li>Fixed: The instrument on which a preset was saved was logged as 'null' for the Iridium MK2, and the layer mode was taken from a header field which only holds a meaningful value when the preset really has more than one layer, so single-layer presets were logged with a random mode.</li>
<li>Fixed: Presets clicked when a key was released if the source left the amplitude release unset. An unset release becomes zero when it is clamped into range, and the de-click minimum was only applied to a release which is already greater than zero - so exactly the instant release which the minimum exists to prevent was written through unchanged. A release of zero gates the VCA off in a single sample and cuts the waveform wherever it stands, which for a looped zone is at full level, so the preset clicked on every key release. The minimum is now applied to the amplitude release whether or not the source set one. The attack is unchanged: it still passes a zero through, since a sample starts from silence at its own beginning.</li>
<li>Fixed: The depth of a pitch envelope was converted on the wrong scale, in both directions. A depth of the model covers 12000 cent while one slot of the modulation matrix reaches 24 semi-tones, but the conversion treated the model as if it covered 4800 cent. Writing therefore made every pitch envelope 2.5 times too shallow - a source which sweeps 756 cent was written as an amount of -12.60 %, which the device plays as 302 cent - and reading made every one of them 2.5 times too deep, so a preset of the device whose slot stands at +50 %, and which the device plays as +12 semi-tones, was read as 3000 cent instead of 1200. The two errors mirror each other exactly, which is why a round-trip through the format looked correct and only the sound of the device gave it away. Of the 1292 zones which carry a pitch envelope on the E-mu Emulator III 'Emulator Standards' CD-ROM, 927 change what the device plays and the remaining 365 ask for more pitch than the device can reach at all and stay at the end of its range. The vibrato uses the same conversion, so both now agree.</li>
<li>Fixed: A percussive sound lost its attack. The instant attack which such a source asks for gates the VCA open in one sample, which clicks, so every short amplitude attack was lifted to the shortest length the device can play - and that erases the strike of a drum, a plucked string or a piano. The audio is now inspected: the stage is only lifted when the first sample of a zone is far enough from zero to be heard as a click (2 % of its own peak, the same ratio at which a loop wrap becomes audible), and a source which fades in from silence keeps its instant attack. The device itself uses an attack of zero in 35 % of its factory presets.</li>
<li>Fixed: The key tracking of the filter was written at twice the intended amount. The parameter spans -200 % to +200 % - the same scale the key tracking of an oscillator uses, where +100 % is the 1:1 tracking of the manual - but it was written over -100 % to +100 %, so a source which tracks the keyboard fully ended up at +200 % on the device (verified on an Iridium MK2). Such a preset opens its filter twice as far towards the top of the keyboard as the source does, and since the cut-off runs into its limit early the upper half of the range sounds equally bright. Reading is corrected the same way, which affects the presets of the device itself: a filter key tracking read from a preset was half of what the device shows.</li>
<li>Fixed: A layer which the source pans as a whole is now panned on the oscillator which plays it. The panning of the single entries of a sample map is ignored by the device, so a preset which places its layers left and right - the way samplers build a wide, detuned sound, e.g. 'DIGIPAD ST' of East West's Twisted Textures, whose two layers sit hard left and hard right six cents apart - collapsed to the centre. Layers whose zones are not panned alike are left in the centre as before, and of 264 oscillators across a converted CD-ROM 166 stay centred while the presets which gain a panning are the ones whose names announce a stereo spread.</li>
<li>Fixed: Reading a preset shifted the sample start/end and loop points of many zones one frame down. The positions are stored as a fraction of the sample length with 8 decimal places, which can land marginally below the exact frame boundary (frame 3977 of 5469 is written as 0.72718961, and 0.72718961 * 5469 = 3976.9999787); the fraction was truncated instead of rounded, which loses one frame for every such position - on a converted card of 165 presets, 759 of 2270 loop positions were affected. The device's own exported presets write fractions which land marginally below the frame the same way, so rounding to the nearest frame is also what the device does when it reads them.</li>
<li>Fixed: The attributes of a written preset - the device lists them next to the preset name and filters the patches by them - now use the wording of the factory sound sets: 'Keys' instead of 'Keyboard', 'Bells' instead of 'Bell', 'Percussive' instead of 'Percussion', 'Loop' instead of 'Loops' and so on. Both words ended up in the filter list of the device otherwise, each of them finding only a part of the sounds.</li>
<li>Fixed: A preset whose category could not be detected wrote the word 'Unknown' into the first attribute, which fills the filter list of the device with an entry that says nothing. The attribute is left empty now, like the factory sound sets do. A keyword which repeats the category is no longer written a second time.</li>
</ul>
</li>
<li>Yamaha YSFC
<ul>
<li>Fixed: The play start, loop start and loop end of a written library still counted in frames of the source sample rate, although the audio itself is always converted to 44.1 kHz. For a 48 kHz source - e.g. every sample of a Korg Trinity KMP multi-sample - each position landed about 9% too far into the sample and the loop end that far beyond the end of the sample data, which clicks on every loop pass. The positions are now re-calculated to the destination rate, as the other creators with a fixed destination rate do.</li>
</ul>
</li>
</ul>git-mosstag:github.com,2008:Repository/1238504280/v2.5.72026-08-23T16:09:44Zaria2-next: v2.5.7 - Libtorrent Stability and Cross-Platform Reliability<h2>Summary</h2>
<p>Aria2 Next 2.5.7 completes the libtorrent-based BitTorrent engine transition, improves resume reliability and progress reporting, expands runtime control and observability, and strengthens standalone release builds across all maintained platforms.</p>
<h3>Added</h3>
<ul>
<li>Added persistent BitTorrent resume data and session settings management.</li>
<li>Added RPC methods for tracker management, session status, peer visibility, blocklists, and runtime tuning.</li>
<li>Added a centralized legacy option adapter across CLI, configuration, RPC, session input, and libaria2 entry points.</li>
<li>Added persistent ED2K session state.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Consolidated BitTorrent downloading, discovery, tracker handling, file selection, statistics, and progress around libtorrent-native behavior.</li>
<li>Refined high-throughput request scheduling, tracker recovery, network routing, metadata pause handling, and resume checkpoints.</li>
<li>Reduced repetitive runtime logging while preserving actionable diagnostics at each configured level.</li>
<li>Standardized Windows x86_64 and ARM64 releases on the same stable LLVM-MinGW UCRT toolchain.</li>
<li>Hardened cross-platform release staging, reproducible build metadata, and Windows Schannel TLS 1.3 integration.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Preserved task-level and file-level BitTorrent progress throughout pause and resume until libtorrent supplies authoritative verified values.</li>
<li>Fixed BitTorrent selection totals, global statistics, resume state transitions, and progress consistency.</li>
<li>Fixed Windows x86_64 compiler crashes by removing unreliable cross-module LTO from the Windows release profile.</li>
<li>Fixed Windows ARM64 artifact rejection by removing build-runner paths from embedded OpenSSL compiler metadata.</li>
<li>Removed obsolete MinGW header workarounds that corrupted modern libc++ declarations, and corrected Windows socket and time compatibility code.</li>
<li>Fixed host and target separation in cross-platform release checks.</li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>The BitTorrent implementation now uses libtorrent-rasterbar. Removed engine internals and obsolete compatibility paths are no longer part of the runtime.</li>
<li>Canonical configuration and serialized state use current option names. Removed input names are handled only by the centralized legacy option adapter.</li>
</ul>
<h3>Downloads</h3>
<table>
<thead>
<tr>
<th>Platform</th>
<th>Download</th>
</tr>
</thead>
<tbody>
<tr>
<td>Linux x86_64</td>
<td><code>aria2-next-2.5.7-linux-x86_64</code></td>
</tr>
<tr>
<td>Linux ARM64</td>
<td><code>aria2-next-2.5.7-linux-aarch64</code></td>
</tr>
<tr>
<td>macOS Apple Silicon</td>
<td><code>aria2-next-2.5.7-macos-arm64</code></td>
</tr>
<tr>
<td>macOS Intel</td>
<td><code>aria2-next-2.5.7-macos-x86_64</code></td>
</tr>
<tr>
<td>Windows x86_64</td>
<td><code>aria2-next-2.5.7-windows-x86_64.exe</code></td>
</tr>
<tr>
<td>Windows ARM64</td>
<td><code>aria2-next-2.5.7-windows-arm64.exe</code></td>
</tr>
<tr>
<td>Android ARM64</td>
<td><code>aria2-next-2.5.7-android-arm64</code></td>
</tr>
<tr>
<td>Checksums</td>
<td><code>aria2-next-2.5.7-checksums.sha256</code></td>
</tr>
</tbody>
</table>AnInsomniacytag:github.com,2008:Repository/830127839/release-2026_08_232026-08-23T14:07:55Zgbe_fork: Release 2026 08 23<h2>What's Changed</h2>
<ul>
<li>Fix Steam Input not updating when the game calls Init(false) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vic-41148/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vic-41148">@Vic-41148</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5031675881" data-permission-text="Title is private" data-url="https://github.com/Detanup01/gbe_fork/issues/583" data-hovercard-type="pull_request" data-hovercard-url="/Detanup01/gbe_fork/pull/583/hovercard" href="https://github.com/Detanup01/gbe_fork/pull/583">#583</a></li>
<li>Update Simplified Chinese translations in overlay by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rcyggdra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rcyggdra">@rcyggdra</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5069056040" data-permission-text="Title is private" data-url="https://github.com/Detanup01/gbe_fork/issues/586" data-hovercard-type="pull_request" data-hovercard-url="/Detanup01/gbe_fork/pull/586/hovercard" href="https://github.com/Detanup01/gbe_fork/pull/586">#586</a></li>
<li>steam_overlay_translations.h: Add French translation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheKingFireS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheKingFireS">@TheKingFireS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5136892094" data-permission-text="Title is private" data-url="https://github.com/Detanup01/gbe_fork/issues/587" data-hovercard-type="pull_request" data-hovercard-url="/Detanup01/gbe_fork/pull/587/hovercard" href="https://github.com/Detanup01/gbe_fork/pull/587">#587</a></li>
<li>Add SDK 1.65 Support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WowIsntThisInconvenient/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WowIsntThisInconvenient">@WowIsntThisInconvenient</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5039531786" data-permission-text="Title is private" data-url="https://github.com/Detanup01/gbe_fork/issues/584" data-hovercard-type="pull_request" data-hovercard-url="/Detanup01/gbe_fork/pull/584/hovercard" href="https://github.com/Detanup01/gbe_fork/pull/584">#584</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Vic-41148/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Vic-41148">@Vic-41148</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5031675881" data-permission-text="Title is private" data-url="https://github.com/Detanup01/gbe_fork/issues/583" data-hovercard-type="pull_request" data-hovercard-url="/Detanup01/gbe_fork/pull/583/hovercard" href="https://github.com/Detanup01/gbe_fork/pull/583">#583</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheKingFireS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheKingFireS">@TheKingFireS</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5136892094" data-permission-text="Title is private" data-url="https://github.com/Detanup01/gbe_fork/issues/587" data-hovercard-type="pull_request" data-hovercard-url="/Detanup01/gbe_fork/pull/587/hovercard" href="https://github.com/Detanup01/gbe_fork/pull/587">#587</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/WowIsntThisInconvenient/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/WowIsntThisInconvenient">@WowIsntThisInconvenient</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5039531786" data-permission-text="Title is private" data-url="https://github.com/Detanup01/gbe_fork/issues/584" data-hovercard-type="pull_request" data-hovercard-url="/Detanup01/gbe_fork/pull/584/hovercard" href="https://github.com/Detanup01/gbe_fork/pull/584">#584</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Detanup01/gbe_fork/compare/release-2026_07_19...release-2026_08_23"><tt>release-2026_07_19...release-2026_08_23</tt></a></p>Detanup01tag:github.com,2008:Repository/140602476/1.2.352026-08-23T13:19:32Zlsp-plugins: Release 1.2.35<p>LSP Plugins 1.2.35 - now on Windows!</p>
<p>That was a hard way but we finally managed to open our online store with official builds of LSP Plugins for Windows!<br>
You may now register and get your personal builds on the <a href="https://lsp-builds.com" rel="nofollow">LSP-BUILDS.COM</a> site!</p>
<p>The release is mostly minor and contains few fixes of regressions in 1.2.34 release:</p>
<ul>
<li>Bugfix in JACK driver that could cause connection estimation problem on the libjack library that could not be detected under PipeWire.</li>
<li>Updated build scripts that could crash on binary dependencies when issuing multithreaded build.</li>
</ul>sadko4utag:github.com,2008:Repository/1096895/v3.042026-08-23T12:52:44Zqaac: v3.04<p>Now properly set maxBitrate, avgBitrate field of esds DecoderConfig.<br>
Addresses following issues:<br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5124521498" data-permission-text="Title is private" data-url="https://github.com/nu774/qaac/issues/129" data-hovercard-type="issue" data-hovercard-url="/nu774/qaac/issues/129/hovercard" href="https://github.com/nu774/qaac/issues/129">#129</a><br>
<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5164690492" data-permission-text="Title is private" data-url="https://github.com/nu774/qaac/issues/132" data-hovercard-type="issue" data-hovercard-url="/nu774/qaac/issues/132/hovercard" href="https://github.com/nu774/qaac/issues/132">#132</a></p>nu774tag:github.com,2008:Repository/1305551246/v1.122026-08-23T08:29:56Zgander: Gander 1.12<p>One fix, for the largest documents Gander is asked to open.</p>
<h3>Large PDFs no longer bring the phone to its knees</h3>
<p>(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5218362346" data-permission-text="Title is private" data-url="https://github.com/mokshablr/gander/issues/16" data-hovercard-type="issue" data-hovercard-url="/mokshablr/gander/issues/16/hovercard" href="https://github.com/mokshablr/gander/issues/16">#16</a>, thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/logannc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/logannc">@logannc</a>, who found this and worked out that scrolling made it worse, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjschwart/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjschwart">@mjschwart</a>, who reproduced it on quite different hardware with a much heavier file)</p>
<p>Gander lays out an empty box for every page in a document before it draws any of them, so the scrollbar is the right length from the moment it opens. Until now those boxes had no size: each was 300 by 150 pixels, a business card standing in for a page.</p>
<p>That was visible as a column of small white rectangles whenever you scrolled faster than pages could be drawn, and it was the cause of a good deal more besides. Gander decides which pages are close enough to be worth drawing by looking a fixed distance ahead of you, and at that size about fifty of them fitted in the distance meant to hold three or four. So it started fifty at once, kept every one it had ever finished, and kept the artwork it decoded for them on top.</p>
<p>On a 357-page illustrated rulebook, one flick through it took the renderer past 900 MB and Android killed it, sometimes taking other apps' browser windows down with it.</p>
<p>The boxes are now the shape of the page they stand for, no more than three pages are ever drawn at once, a page you have flung past stops being drawn rather than finishing into a bitmap nobody will see, and a page far enough behind you gives back both its bitmap and its artwork. How far ahead Gander draws is now counted in pages rather than in screenfuls, which is the only version of that number that means the same thing when you turn the phone sideways.</p>
<p>The rulebook now sits flat at about 180 MB however it is read, and a 520-page, 114 MB ebook at about 300 MB, neither of them climbing.</p>
<h3>Install</h3>
<p><code>Gander-1.12.apk</code> runs on every phone. The app ships no native code, so there is no architecture to choose.</p>
<p>Viewing PDFs needs Android System WebView 125 or newer (May 2024). Any phone still receiving WebView updates is well past that.</p>
<p>Verify before installing if you like. Signing certificate SHA-256:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="5B:5C:F6:4A:94:23:7C:D5:F0:E0:85:76:00:38:BC:1C:EB:DF:18:DA:BA:5C:B3:EA:CA:7C:15:9F:22:A7:E2:4B"><pre class="notranslate"><code>5B:5C:F6:4A:94:23:7C:D5:F0:E0:85:76:00:38:BC:1C:EB:DF:18:DA:BA:5C:B3:EA:CA:7C:15:9F:22:A7:E2:4B
</code></pre></div>
<hr>
<p><strong>Help get Gander onto the Play Store.</strong> Publishing from a personal developer account needs 12 testers opted in for 14 days, and Google now checks they actually used the app rather than just installing it. If you can spare two minutes: join <code>gander-testers@googlegroups.com</code> with your Play Store Google account, then use this opt-in link — <a href="https://play.google.com/apps/testing/com.arjun.gander" rel="nofollow">https://play.google.com/apps/testing/com.arjun.gander</a> — and set it as your default PDF viewer for two weeks. Details in the <a href="https://github.com/mokshablr/gander/discussions/14" data-hovercard-type="discussion" data-hovercard-url="/mokshablr/gander/discussions/14/hovercard">pinned Discussion</a>.</p>mokshablrtag:github.com,2008:Repository/482265185/v6.2.22026-08-23T08:24:42Zbreezy-weather: Breezy Weather v6.2.2<p><strong>If you don’t know what to do, download and install <code>breezy-weather-v6.2.2_standard.apk</code>, or check <a href="https://github.com/breezy-weather/breezy-weather/blob/main/INSTALL.md">INSTALL instructions</a> for more details.</strong></p>
<p><strong>Improvements and fixes</strong></p>
<ul>
<li>Main screen - Add precipitation probability to hourly feels like tab</li>
<li>Main screen - Make the sun dark instead of bright when the user explicitly asked for dark mode</li>
</ul>
<p><strong>Sources</strong></p>
<ul>
<li>BMKG - Fix refresh errors</li>
<li>Met Office (UK) - Fix shifted day sequence in locations with a different timezone than UTC</li>
<li>NCEI - Fix parsing error</li>
</ul>
<p><strong>Technical</strong></p>
<ul>
<li>[Breezy Update Notifier] Fix broadcast when the location list is changed from the app</li>
</ul>
<p><strong>Translations</strong></p>
<ul>
<li>Initial translation for Creoles and pidgins (English based) (En Oh)</li>
<li>Initial translation for Hawaiian (En Oh)</li>
<li>Initial translation for Kannada (Vinay)</li>
<li>Initial translation for Urdu (haseebwt)</li>
<li>Translations updated</li>
</ul>
<hr>
<h3>Checksums</h3>
<table>
<thead>
<tr>
<th>Flavor</th>
<th>Variant</th>
<th>SHA-256</th>
</tr>
</thead>
<tbody>
<tr>
<td>Standard</td>
<td>Universal</td>
<td>20a33a588e884257ab9329fee794d30a9d15ea067f64302c70c69c9adc3c6309</td>
</tr>
<tr>
<td>Standard</td>
<td>arm64-v8a</td>
<td>829175ceb23d0e539f99b27d22ff10e06ba8d446ac070b28585a36316fd295d5</td>
</tr>
<tr>
<td>Standard</td>
<td>armeabi-v7a</td>
<td>9900fa4a5ffc1360bb2d1d88d271fe05e98d1daff5a1aa08452bbf077467c1a6</td>
</tr>
<tr>
<td>Standard</td>
<td>x86</td>
<td>5e3199df2e7b5a31192492c6d5a0ebb4700a2cc1510ebe06e831352cb3cb4457</td>
</tr>
<tr>
<td>Standard</td>
<td>x86_64</td>
<td>1d95a963ac4176f4b3563056a700b7fc5c5540aeb3ddcd83bfb8fcc5000bd167</td>
</tr>
<tr>
<td>Freenet</td>
<td>Universal</td>
<td>1369d817d426498715f8ccb6750baff19dadd78e85f707088e9bca43977570c0</td>
</tr>
</tbody>
</table>github-actions[bot]tag:github.com,2008:Repository/127519518/v2.16.02026-08-22T18:52:38Zsubfinder: v2.16.0
<h2>What's Changed</h2>
<ul>
<li>feat(sources): honor -max-results across paginating sources by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gerijacki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gerijacki">@Gerijacki</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4933932046" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/subfinder/issues/1810" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/subfinder/pull/1810/hovercard" href="https://github.com/projectdiscovery/subfinder/pull/1810">#1810</a></li>
<li>fix(extractor): match the target domain literally and reject partial hosts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gerijacki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gerijacki">@Gerijacki</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4933933408" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/subfinder/issues/1811" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/subfinder/pull/1811/hovercard" href="https://github.com/projectdiscovery/subfinder/pull/1811">#1811</a></li>
<li>fix(subscraping): cap untrusted source response bodies with a size limit by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamsjack711-ux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamsjack711-ux">@adamsjack711-ux</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4878715753" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/subfinder/issues/1809" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/subfinder/pull/1809/hovercard" href="https://github.com/projectdiscovery/subfinder/pull/1809">#1809</a></li>
<li>fix(subscraping): use DialContext instead of the deprecated Dial by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonaslejon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonaslejon">@jonaslejon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5222080266" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/subfinder/issues/1835" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/subfinder/pull/1835/hovercard" href="https://github.com/projectdiscovery/subfinder/pull/1835">#1835</a></li>
<li>feat: add scanmalware passive source by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jonaslejon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jonaslejon">@jonaslejon</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5221893262" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/subfinder/issues/1834" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/subfinder/pull/1834/hovercard" href="https://github.com/projectdiscovery/subfinder/pull/1834">#1834</a></li>
<li>fix(crtsh): set statement_timeout via SQL query to avoid PgBouncer handshake rejection (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5147107924" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/subfinder/issues/1828" data-hovercard-type="issue" data-hovercard-url="/projectdiscovery/subfinder/issues/1828/hovercard" href="https://github.com/projectdiscovery/subfinder/issues/1828">#1828</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gcoinstash-cmd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gcoinstash-cmd">@gcoinstash-cmd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5207449690" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/subfinder/issues/1832" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/subfinder/pull/1832/hovercard" href="https://github.com/projectdiscovery/subfinder/pull/1832">#1832</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/J12934/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/J12934">@J12934</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5081125667" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/subfinder/issues/1823" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/subfinder/pull/1823/hovercard" href="https://github.com/projectdiscovery/subfinder/pull/1823">#1823</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamsjack711-ux/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamsjack711-ux">@adamsjack711-ux</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4878715753" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/subfinder/issues/1809" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/subfinder/pull/1809/hovercard" href="https://github.com/projectdiscovery/subfinder/pull/1809">#1809</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gcoinstash-cmd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gcoinstash-cmd">@gcoinstash-cmd</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5207449690" data-permission-text="Title is private" data-url="https://github.com/projectdiscovery/subfinder/issues/1832" data-hovercard-type="pull_request" data-hovercard-url="/projectdiscovery/subfinder/pull/1832/hovercard" href="https://github.com/projectdiscovery/subfinder/pull/1832">#1832</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/projectdiscovery/subfinder/compare/v2.15.0...v2.16.0"><tt>v2.15.0...v2.16.0</tt></a></p>ehsandeeptag:github.com,2008:Repository/671654508/@biomejs/biome@2.5.102026-08-21T17:40:37Zbiome: Biome CLI v2.5.10
<h2>2.5.10</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed Astro rejecting JavaScript comments between attributes.</p>
<div class="highlight highlight-source-astro notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<div /* block comment */ class="something"></div>
<Component /* c */ client:load />"><pre><<span class="pl-ent">div</span> /* <span class="pl-e">block</span> <span class="pl-e">comment</span> */ <span class="pl-e">class</span>=<span class="pl-s"><span class="pl-pds">"</span>something<span class="pl-pds">"</span></span>></<span class="pl-ent">div</span>>
<<span class="pl-c1">Component</span> /* <span class="pl-e">c</span> */ <span class="pl-e">client:load</span> /></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed a bare <code><</code> in Astro text being treated as the start of a tag, such as <code><p>5 < 6 and 7 > 6</p></code>. As in HTML, a <code><</code> that cannot open a tag is text and needs no escaping.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11438" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11438/hovercard">#11438</a> <a href="https://github.com/biomejs/biome/commit/3133ffa9ae6beaa3c4464edac60de47d5c6f6426"><code>3133ffa</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/8294" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/8294/hovercard">#8294</a>: an Astro expression holding only a comment is no longer reported as a parse error, which also stopped the whole file from being formatted.</p>
<div class="highlight highlight-source-astro notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<div>{/* a note */}</div>
<div class={/* a note */}>x</div>"><pre><<span class="pl-ent">div</span>><span class="pl-pse">{</span><span class="pl-c"><span class="pl-c">/*</span> a note <span class="pl-c">*/</span></span><span class="pl-pse">}</span></<span class="pl-ent">div</span>>
<<span class="pl-ent">div</span> <span class="pl-e">class</span>=<span class="pl-pse">{</span><span class="pl-c"><span class="pl-c">/*</span> a note <span class="pl-c">*/</span></span><span class="pl-pse">}</span>>x</<span class="pl-ent">div</span>></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/9165" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/9165/hovercard">#9165</a>: an empty Astro expression such as <code><div>{}</div></code> no longer fails to parse. Astro renders <code>{}</code> as nothing.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed Astro expressions containing a comment failing to parse.</p>
<div class="highlight highlight-source-astro notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<div>{/* block comment */ x}</div>
<div>{/* only a comment */}</div>"><pre><<span class="pl-ent">div</span>><span class="pl-pse">{</span><span class="pl-c"><span class="pl-c">/*</span> block comment <span class="pl-c">*/</span></span> <span class="pl-smi">x</span><span class="pl-pse">}</span></<span class="pl-ent">div</span>>
<<span class="pl-ent">div</span>><span class="pl-pse">{</span><span class="pl-c"><span class="pl-c">/*</span> only a comment <span class="pl-c">*/</span></span><span class="pl-pse">}</span></<span class="pl-ent">div</span>></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Added support for Astro's fragment shorthand.</p>
<div class="highlight highlight-source-astro notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<>
<p>a</p>
</>"><pre><>
<<span class="pl-ent">p</span>>a</<span class="pl-ent">p</span>>
</></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed an Astro frontmatter block being cut short by a closing tag inside a string or comment.</p>
<div class="highlight highlight-source-astro notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="---
const a = "</script>";
// </script> in a comment
---"><pre><span class="pl-c">---</span><span class="pl-s1"></span>
<span class="pl-s1"><span class="pl-k"><span class="pl-k">const</span></span> a <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span></script><span class="pl-pds">"</span></span>;</span>
<span class="pl-s1"><span class="pl-c"><span class="pl-c">//</span> </script> in a comment</span></span>
<span class="pl-s1"></span><span class="pl-c">---</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed <code>---</code> being read as an Astro frontmatter fence when markup precedes it. Astro only recognizes frontmatter at the very start of a file, so a file opening with a comment now has no frontmatter, and its <code>---</code> lines are content.</p>
<div class="highlight highlight-source-astro notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<!-- c -->
---
this is text, not frontmatter
---"><pre><span class="pl-c"><span class="pl-c"><!--</span> c <span class="pl-c">--></span></span>
---
this is text, not frontmatter
---</pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed an Astro frontmatter block ending early on a line that merely starts with a dash.</p>
<div class="highlight highlight-source-astro notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="---
--count;
---"><pre><span class="pl-c">---</span><span class="pl-s1"></span>
<span class="pl-s1"><span class="pl-k">--</span><span class="pl-smi">count</span>;</span>
<span class="pl-s1"></span><span class="pl-c">---</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed the children of an Astro element carrying <code>is:raw</code> being parsed as markup instead of raw text. This now also covers <code><script></code> and <code><style></code>, whose contents Astro emits verbatim rather than processing, so they are no longer linted as JavaScript or CSS.</p>
<div class="highlight highlight-source-astro notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<article is:raw><% awesome %></article>
<script is:raw>{{ mustache }}</script>"><pre><<span class="pl-ent">article</span><span class="pl-s1"> <span class="pl-e">is:raw</span>><% awesome %></span></<span class="pl-ent">article</span>>
<<span class="pl-ent">script</span><span class="pl-s1"> <span class="pl-e">is:raw</span>>{{ mustache }}</span></<span class="pl-ent">script</span>></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed Astro rejecting attribute names that start with a colon, such as <code>:href</code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed the Astro parser failing to recover from a malformed closing tag such as <code><div></{<//</code>, so that a later mistake is reported where it happens rather than cascading.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed <code>{</code> inside an Astro <code><math></code> element opening an expression. MathML is foreign content where Astro parses no expressions, so LaTeX such as <code>R^{2x}</code> now survives as text. <code><svg></code> is unaffected.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed <code>{{</code> at the start of an Astro expression being read as an interpolation. Astro has no <code>{{ }}</code> syntax, so <code>{{ a: 1 }}</code> and <code><Comp a={{ b: 1 }} /></code> are object literals.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed expressions inside an Astro <code><pre></code> or <code><textarea></code> being read as raw text. Astro parses both as ordinary elements, so their markup and interpolations are now parsed, and a variable used only inside one is no longer reported as unused.</p>
<div class="highlight highlight-source-astro notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<pre>{value}</pre>
<textarea><div>{value}</div></textarea>"><pre><<span class="pl-ent">pre</span>><span class="pl-pse">{</span><span class="pl-smi">value</span><span class="pl-pse">}</span></<span class="pl-ent">pre</span>>
<<span class="pl-ent">textarea</span>><<span class="pl-ent">div</span>><span class="pl-pse">{</span><span class="pl-smi">value</span><span class="pl-pse">}</span></<span class="pl-ent">div</span>></<span class="pl-ent">textarea</span>></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Added support for template literal attribute values in Astro, such as <code><div class=`a ${b} c`></code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed Astro rejecting HTML5 unquoted attribute values that contain <code>`</code>, <code>=</code>, <code>'</code> or <code>"</code>, such as <code><a href=a=b></code> and <code><a href=a'b></code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11393" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11393/hovercard">#11393</a> <a href="https://github.com/biomejs/biome/commit/dec5a8fadcb565867526e51da0895c2be27400bb"><code>dec5a8f</code></a> Thanks <a href="https://github.com/1678092075">@1678092075</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11207" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11207/hovercard">#11207</a>: <a href="https://biomejs.dev/linter/rules/use-strict-mode/" rel="nofollow"><code>useStrictMode</code></a> no longer reports Vue event handlers such as <code>@click="count++"</code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11431" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11431/hovercard">#11431</a> <a href="https://github.com/biomejs/biome/commit/c065f995909d16cbf98c247a280a48c156aeb61f"><code>c065f99</code></a> Thanks <a href="https://github.com/levrik">@levrik</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11429" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11429/hovercard">#11429</a>: Variables and imports used by Vue same-name bindings such as <code>:disabled</code> or <code>v-bind:disabled</code> are no longer reported as unused.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11409" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11409/hovercard">#11409</a> <a href="https://github.com/biomejs/biome/commit/405dedb0ff65dd29927faf587f6542e3c29db248"><code>405dedb</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed a memory leak in the LSP server where memory usage kept growing over long editor sessions.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11422" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11422/hovercard">#11422</a> <a href="https://github.com/biomejs/biome/commit/a51eff7f7ca71e8786a2f0db1d560455b83ce21c"><code>a51eff7</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11416" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11416/hovercard">#11416</a>: Biome no longer crashes when parsing incomplete <code>{let}</code> or <code>{const}</code> declarations in Svelte files.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11378" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11378/hovercard">#11378</a> <a href="https://github.com/biomejs/biome/commit/34b715cb417d482bfb4630c05a576b748c8faa8b"><code>34b715c</code></a> Thanks <a href="https://github.com/Netail">@Netail</a>! - Added extra rule sources from <code>@eslint/css</code>. <code>biome migrate eslint</code> detects rules in your eslint configurations more reliably.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard">#11403</a> <a href="https://github.com/biomejs/biome/commit/8f7786ff62aef61cf75a91e1604cd380456a60f4"><code>8f7786f</code></a> Thanks <a href="https://github.com/Princesseuh">@Princesseuh</a>! - Fixed <code>{#</code>, <code>{/</code>, <code>{:</code> and <code>{@</code> being read as Svelte block openings in every HTML-like file. They are now Svelte-only, so in HTML, Vue and Angular files a sequence such as <code>{#if x}</code> is ordinary text instead of a parse error.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11443" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11443/hovercard">#11443</a> <a href="https://github.com/biomejs/biome/commit/8d452293d04272c876b0414292540645cfea87e4"><code>8d45229</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11390" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11390/hovercard">#11390</a>: <a href="https://biomejs.dev/linter/rules/no-floating-promises/" rel="nofollow"><code>noFloatingPromises</code></a> no longer performs unnecessary type inference on call arguments when checking methods of non-generic class instances created with <code>new</code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11425" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11425/hovercard">#11425</a> <a href="https://github.com/biomejs/biome/commit/9c2667ba2010441054bc0b54a1a810e851207560"><code>9c2667b</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6426" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6426/hovercard">#6426</a>: GritQL plugins now match and rewrite metavariables embedded in quoted strings.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11441" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11441/hovercard">#11441</a> <a href="https://github.com/biomejs/biome/commit/00317c353a65214d8f4cb0f2d930d7c4e1f305dd"><code>00317c3</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Improved performance of <a href="https://biomejs.dev/linter/rules/use-named-capture-group/" rel="nofollow"><code>useNamedCaptureGroup</code></a>, <a href="https://biomejs.dev/linter/rules/no-misplaced-assertion/" rel="nofollow"><code>noMisplacedAssertion</code></a>, <a href="https://biomejs.dev/linter/rules/no-skipped-tests/" rel="nofollow"><code>noSkippedTests</code></a>, <a href="https://biomejs.dev/linter/rules/no-exports-in-test/" rel="nofollow"><code>noExportsInTest</code></a>, <a href="https://biomejs.dev/linter/rules/no-duplicate-test-hooks/" rel="nofollow"><code>noDuplicateTestHooks</code></a>, <a href="https://biomejs.dev/linter/rules/no-identical-test-title/" rel="nofollow"><code>noIdenticalTestTitle</code></a>, <a href="https://biomejs.dev/linter/rules/use-test-hooks-in-order/" rel="nofollow"><code>useTestHooksInOrder</code></a>, and <a href="https://biomejs.dev/linter/rules/use-test-hooks-on-top/" rel="nofollow"><code>useTestHooksOnTop</code></a>.</p>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>refactor(analyze): avoid boxed rule state strings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5176006237" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11385" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11385/hovercard" href="https://github.com/biomejs/biome/pull/11385">#11385</a></li>
<li>ci: fix advistories by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5180794325" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11391" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11391/hovercard" href="https://github.com/biomejs/biome/pull/11391">#11391</a></li>
<li>chore: update <code>spin</code> to resolve yanked package warning by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5180862649" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11392" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11392/hovercard" href="https://github.com/biomejs/biome/pull/11392">#11392</a></li>
<li>fix(useStrictMode): ignore Vue event handlers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1678092075/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1678092075">@1678092075</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5181751791" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11393" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11393/hovercard" href="https://github.com/biomejs/biome/pull/11393">#11393</a></li>
<li>refactor(core): settings as tracked functions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5164817875" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11363" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11363/hovercard" href="https://github.com/biomejs/biome/pull/11363">#11363</a></li>
<li>feat(md): frontmatter parsing support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5182979933" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11395" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11395/hovercard" href="https://github.com/biomejs/biome/pull/11395">#11395</a></li>
<li>chore: add CodSpeed and Cloudflare to sponsors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5191556594" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11410" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11410/hovercard" href="https://github.com/biomejs/biome/pull/11410">#11410</a></li>
<li>chore: missing rule sources by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Netail/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Netail">@Netail</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5172223276" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11378" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11378/hovercard" href="https://github.com/biomejs/biome/pull/11378">#11378</a></li>
<li>chore: replace cargo-audit with cargo-deny by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Netail/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Netail">@Netail</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5192579322" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11413" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11413/hovercard" href="https://github.com/biomejs/biome/pull/11413">#11413</a></li>
<li>feat(js_plugin): runtime AST bindings for JS plugins by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/siketyan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/siketyan">@siketyan</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4895222582" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/10954" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/10954/hovercard" href="https://github.com/biomejs/biome/pull/10954">#10954</a></li>
<li>chore: split just test-lintrule by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Netail/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Netail">@Netail</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5193518143" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11414" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11414/hovercard" href="https://github.com/biomejs/biome/pull/11414">#11414</a></li>
<li>feat(js_plugin): query AST nodes by their kind by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/siketyan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/siketyan">@siketyan</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5193676627" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11415" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11415/hovercard" href="https://github.com/biomejs/biome/pull/11415">#11415</a></li>
<li>fix(core): files eviction and project by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5190691048" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11409" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11409/hovercard" href="https://github.com/biomejs/biome/pull/11409">#11409</a></li>
<li>fix(parse/js): handle incomplete declarations more gracefully by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5195297864" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11422" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11422/hovercard" href="https://github.com/biomejs/biome/pull/11422">#11422</a></li>
<li>fix(grit): handle metavariables inside quoted strings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5198597696" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11425" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11425/hovercard" href="https://github.com/biomejs/biome/pull/11425">#11425</a></li>
<li>chore(wasm): enable JS plugins via <code>unstable</code> feature by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/siketyan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/siketyan">@siketyan</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5195130919" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11421" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11421/hovercard" href="https://github.com/biomejs/biome/pull/11421">#11421</a></li>
<li>feat(js_transform): erase type annotations in TypeScript code by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/siketyan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/siketyan">@siketyan</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5194301398" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11417" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11417/hovercard" href="https://github.com/biomejs/biome/pull/11417">#11417</a></li>
<li>fix(html/parser): correct Astro document parsing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Princesseuh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Princesseuh">@Princesseuh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5188418214" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11403" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11403/hovercard" href="https://github.com/biomejs/biome/pull/11403">#11403</a></li>
<li>fix(visitor): register references from Vue same-name bindings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/levrik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/levrik">@levrik</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5202698786" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11431" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11431/hovercard" href="https://github.com/biomejs/biome/pull/11431">#11431</a></li>
<li>refactor(deserialize): type-erased visitor for reduce binary size by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/siketyan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/siketyan">@siketyan</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5200634058" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11428" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11428/hovercard" href="https://github.com/biomejs/biome/pull/11428">#11428</a></li>
<li>fix(js_plugin): use web-time clock on Boa engine by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/siketyan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/siketyan">@siketyan</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5204838855" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11434" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11434/hovercard" href="https://github.com/biomejs/biome/pull/11434">#11434</a></li>
<li>fix(tools): conformance checkout by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5212339251" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11444" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11444/hovercard" href="https://github.com/biomejs/biome/pull/11444">#11444</a></li>
<li>fix(js/parser): accept comment-only Astro template expressions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Princesseuh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Princesseuh">@Princesseuh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5206770956" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11438" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11438/hovercard" href="https://github.com/biomejs/biome/pull/11438">#11438</a></li>
<li>fix(inference): use local inference for constructor dependent members by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5212052117" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11443" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11443/hovercard" href="https://github.com/biomejs/biome/pull/11443">#11443</a></li>
<li>perf(lint/js): optimize some rule queries and unit test call shared logic by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5209587073" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11441" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11441/hovercard" href="https://github.com/biomejs/biome/pull/11441">#11441</a></li>
<li>fix(parse/js): handle incomplete svelte declarations even more by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5215202583" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11448" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11448/hovercard" href="https://github.com/biomejs/biome/pull/11448">#11448</a></li>
<li>ci: release by @github-actions[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5215889529" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11450" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11450/hovercard" href="https://github.com/biomejs/biome/pull/11450">#11450</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/1678092075/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/1678092075">@1678092075</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5181751791" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11393" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11393/hovercard" href="https://github.com/biomejs/biome/pull/11393">#11393</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/levrik/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/levrik">@levrik</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5202698786" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11431" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11431/hovercard" href="https://github.com/biomejs/biome/pull/11431">#11431</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/biomejs/biome/compare/@biomejs/biome@2.5.9...@biomejs/biome@2.5.10">https://github.com/biomejs/biome/compare/@biomejs/biome@2.5.9...@biomejs/biome@2.5.10</a></p>github-actions[bot]tag:github.com,2008:Repository/341787720/latest-commit2026-08-21T12:10:11Zdiffutils: latest-commit<p>commit: <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/uutils/diffutils/commit/3d34e509de8dabd2c771293a2f7aa1674bbf9498/hovercard" href="https://github.com/uutils/diffutils/commit/3d34e509de8dabd2c771293a2f7aa1674bbf9498"><tt>3d34e50</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/1305551246/v1.112026-08-21T10:42:29Zgander: Gander 1.11<p>This one is mostly about documents Gander could open but would not, and about files it was only ever handed a look at.</p>
<h3>Password-protected PDFs</h3>
<p>(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5115510452" data-permission-text="Title is private" data-url="https://github.com/mokshablr/gander/issues/11" data-hovercard-type="issue" data-hovercard-url="/mokshablr/gander/issues/11/hovercard" href="https://github.com/mokshablr/gander/issues/11">#11</a>, thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/juxuanu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/juxuanu">@juxuanu</a>)</p>
<p>A PDF that wants a password now asks you for it. Type it and the document opens. Get it wrong and it says so and lets you try again, as often as you like, and none of that rereads the file.</p>
<p>Before this the renderer raised its password error and the viewer showed you the raw text of it, which is about the least useful thing it could say.</p>
<p>The prompt is drawn in the page rather than as an Android dialog. Gander has no bridge between a document and the app in either direction, and that absence is most of what keeps an untrusted file from reaching the app, so a password is not worth opening one for.</p>
<p>Nothing is kept. The password lives as long as the document is on screen and goes when you leave.</p>
<p>A file encrypted in a way the renderer cannot read at all now says so in a sentence too, rather than printing the exception at you.</p>
<h3>Save a copy</h3>
<p>(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5194374090" data-permission-text="Title is private" data-url="https://github.com/mokshablr/gander/issues/15" data-hovercard-type="issue" data-hovercard-url="/mokshablr/gander/issues/15/hovercard" href="https://github.com/mokshablr/gander/issues/15">#15</a>, thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sebestyn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sebestyn">@sebestyn</a>)</p>
<p>The file you are looking at can be kept, through <strong>Save a copy</strong> in the viewer menu.</p>
<p>It is meant for the file that came from somewhere else: an attachment, or a document another app hands over, which Gander is allowed to read only for as long as that screen is open and which is out of reach once you leave.</p>
<p>Where the copy goes is chosen in Android's own picker, so this asks for no permission, and Gander is handed the one file it just wrote and nothing around it.</p>
<p>A large copy reports its progress under the toolbar. One that fails takes its half-written file with it, rather than leaving something that opens and looks complete.</p>
<h3>A document left open no longer takes the app down with it</h3>
<p>(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5126368845" data-permission-text="Title is private" data-url="https://github.com/mokshablr/gander/issues/12" data-hovercard-type="issue" data-hovercard-url="/mokshablr/gander/issues/12/hovercard" href="https://github.com/mokshablr/gander/issues/12">#12</a>, thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rosyzc7/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rosyzc7">@rosyzc7</a>)</p>
<p>Everything the sandboxed viewer draws, PDFs included, is rendered in a process of its own, and Android is free to end that process when memory runs short. Sharing a file to a large app is exactly that situation: the other app starts up in front, and the process holding the document is left with nobody looking at it.</p>
<p>Gander had never answered that notification, and not answering it does not mean nothing happens. It means the framework closes the application. So the app disappeared with no crash of its own behind it and nothing on screen to account for it.</p>
<p>It now stays open, says that Android closed the document to free up memory, and offers to load it again.</p>
<h3>Messages in the PDF viewer are drawn at a readable size</h3>
<p>A PDF page is laid out at a fixed width and zoomed to fit, which is what keeps it sharp. The cards the viewer puts on screen had been quietly riding along with that, at about a third of the size they were meant to be. The card explaining that a phone's browser engine is too old for PDFs was one of them.</p>
<p>They are sized for that zoom now rather than against it.</p>
<h3>Install</h3>
<p><code>Gander-1.11.apk</code> runs on every phone. The app ships no native code, so there is no architecture to choose.</p>
<p>Viewing PDFs needs Android System WebView 125 or newer (May 2024). Any phone still receiving WebView updates is well past that.</p>
<p>Verify before installing if you like. Signing certificate SHA-256:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="5B:5C:F6:4A:94:23:7C:D5:F0:E0:85:76:00:38:BC:1C:EB:DF:18:DA:BA:5C:B3:EA:CA:7C:15:9F:22:A7:E2:4B"><pre class="notranslate"><code>5B:5C:F6:4A:94:23:7C:D5:F0:E0:85:76:00:38:BC:1C:EB:DF:18:DA:BA:5C:B3:EA:CA:7C:15:9F:22:A7:E2:4B
</code></pre></div>
<hr>
<p><strong>Help get Gander onto the Play Store.</strong> Publishing from a personal developer account needs 12 testers opted in for 14 days, and Google now checks they actually used the app rather than just installing it. If you can spare two minutes: join <code>gander-testers@googlegroups.com</code> with your Play Store Google account, then use this opt-in link — <a href="https://play.google.com/apps/testing/com.arjun.gander" rel="nofollow">https://play.google.com/apps/testing/com.arjun.gander</a> — and set it as your default PDF viewer for two weeks. Details in the <a href="https://github.com/mokshablr/gander/discussions/14" data-hovercard-type="discussion" data-hovercard-url="/mokshablr/gander/discussions/14/hovercard">pinned Discussion</a>.</p>mokshablrtag:github.com,2008:Repository/1305267222/v1.0.22026-08-20T23:38:43ZObsidian-B7000: v1.0.2<p>Add Intel MacOS version (Untested as I don't have an intel mac)</p>github-actions[bot]tag:github.com,2008:Repository/1296938385/v1.0.22026-08-20T23:34:26ZNoAmp-Low-Rider-DI: NoAmpLowRiderDI v1.0.2<p>Add Intel MacOS version (Untested as I don't have an intel mac)</p>github-actions[bot]tag:github.com,2008:Repository/1305551246/v1.102026-08-18T19:29:10Zgander: Gander 1.10<p>This one is mostly about making Gander's claims checkable rather than just stated. There is also a real fix for phones whose WebView comes from the manufacturer, where PDFs had been failing with a confusing error.</p>
<h3>An About screen that asks rather than asserts</h3>
<p>There is an About screen now, in the menu on the home screen. The permission line on it does not repeat a promise typed in months ago. It asks Android what this install actually requests, and shows you the answer.</p>
<p>The build has always failed if a dependency slipped a permission in. This is the same check, put somewhere you can see it without taking my word for anything.</p>
<h3>The licences now travel with the app</h3>
<p>The full licence text for every bundled rendering library ships inside the APK and opens from About, drawn by Gander's own Markdown viewer.</p>
<p>They were in the repository before, which is not the same thing. Apache-2.0 §4(a) and the MIT and BSD notice clauses ask that the notices travel with the binary, not that they exist somewhere on the internet.</p>
<h3>Gander has left Android's app backup</h3>
<p>Gander no longer takes part in Android's app backup. The recents list was the only thing there was to copy, and a restored one is always empty anyway, because the folder permissions it points at do not survive being moved to another phone.</p>
<p>So it was putting your file names into a Drive backup in exchange for nothing, and putting an asterisk on the one claim the app is built around.</p>
<h3>PDFs on phones whose WebView comes from the manufacturer</h3>
<p>(<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5107862055" data-permission-text="Title is private" data-url="https://github.com/mokshablr/gander/issues/9" data-hovercard-type="issue" data-hovercard-url="/mokshablr/gander/issues/9/hovercard" href="https://github.com/mokshablr/gander/issues/9">#9</a>, thanks <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sdiddssew/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sdiddssew">@sdiddssew</a>)</p>
<p>The check that decides whether a phone can render PDFs read the version off the WebView package. A manufacturer numbering its own builds <code>15.0.4.326</code> was read as version 15, dismissed as not a real version, and let through. Those phones then failed on the PDF with a parser error naming a file nobody has heard of.</p>
<p>The version now comes from the browser engine itself, which reports it the same way no matter who makes the phone.</p>
<p>Where the WebView is supplied by the manufacturer and cannot be replaced, the message no longer tells you to go and update something you have no way to update. It says PDFs will not work on this phone, and leads with the fact that every other format still opens, which is the part you can act on.</p>
<h3>Install</h3>
<p><code>Gander-1.10.apk</code> runs on every phone. The app ships no native code, so there is no architecture to choose.</p>
<p>Viewing PDFs needs Android System WebView 125 or newer (May 2024). Any phone still receiving WebView updates is well past that.</p>
<p>Verify before installing if you like. Signing certificate SHA-256:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="5B:5C:F6:4A:94:23:7C:D5:F0:E0:85:76:00:38:BC:1C:EB:DF:18:DA:BA:5C:B3:EA:CA:7C:15:9F:22:A7:E2:4B"><pre class="notranslate"><code>5B:5C:F6:4A:94:23:7C:D5:F0:E0:85:76:00:38:BC:1C:EB:DF:18:DA:BA:5C:B3:EA:CA:7C:15:9F:22:A7:E2:4B
</code></pre></div>
<hr>
<p><strong>Help get Gander onto the Play Store.</strong> Publishing from a personal developer account needs 12 testers opted in for 14 days, and Google now checks they actually used the app rather than just installing it. If you can spare two minutes: join <code>gander-testers@googlegroups.com</code> with your Play Store Google account, then use this opt-in link — <a href="https://play.google.com/apps/testing/com.arjun.gander" rel="nofollow">https://play.google.com/apps/testing/com.arjun.gander</a> — and set it as your default PDF viewer for two weeks. Details in the <a href="https://github.com/mokshablr/gander/discussions/14" data-hovercard-type="discussion" data-hovercard-url="/mokshablr/gander/discussions/14/hovercard">pinned Discussion</a>.</p>mokshablrtag:github.com,2008:Repository/122750502/v5.37.02026-08-18T10:57:18Zgdu: v5.37.0<h1>What's New</h1>
<p>This release brings a browser-based UI, more control over long scans, richer<br>
file-list information, and finer-grained configuration and export options. Below<br>
is a walkthrough of each new feature.</p>
<h2>Web UI</h2>
<p>Gdu can now serve a browser-based interface instead of the terminal UI.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="gdu --web /some/dir"><pre class="notranslate"><code>gdu --web /some/dir
</code></pre></div>
<p>Gdu scans the directory, prints the URL, and (by default) opens it in your<br>
default browser. The interface shows an animated donut chart of the current<br>
directory's contents alongside a sortable table with size bars, breadcrumb<br>
navigation, and a disk-usage/apparent-size toggle. Scan progress is streamed<br>
live while the analysis runs.</p>
<p>By default the server binds to <code>localhost</code> on a random free port. Use<br>
<code>--web-listen</code> (or the <code>web.listen</code> config option) to pin a fixed address, and<br>
<code>--web-open=false</code> to print the URL without launching a browser.</p>
<p>The compiled web assets are embedded in the binary, so no extra files or network<br>
access are required.</p>
<p><strong>Security:</strong> the web UI is read-only and has no authentication. It exposes file<br>
names and sizes over HTTP, so keep it bound to <code>localhost</code> (the default). Binding<br>
to a non-loopback address makes those details reachable by other hosts on the<br>
network and prints a warning.</p>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/27106/637496175-ad3ba0f1-cad6-4e7f-8bcd-7e20dce8f004.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODc1OTk2NTUsIm5iZiI6MTc4NzU5OTM1NSwicGF0aCI6Ii8yNzEwNi82Mzc0OTYxNzUtYWQzYmEwZjEtY2FkNi00ZTdmLThiY2QtN2UyMGRjZThmMDA0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwODI0VDE5MjIzNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE4NGRjZGZjOTEyM2QxYTQ2ZGZkZmU4ZTljODAyZjY4YzBkMTU2ZDg4MGZlMDE0OWM0MzIxNjMzZTk1ZGQ2MTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.M6vLDGQf0aCO5Vnloe7RTH-MUwTmHz8QSPPdE30aSnY"><img width="1032" height="563" alt="Screenshot 2026-08-18 at 12 56 21" src="https://private-user-images.githubusercontent.com/27106/637496175-ad3ba0f1-cad6-4e7f-8bcd-7e20dce8f004.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODc1OTk2NTUsIm5iZiI6MTc4NzU5OTM1NSwicGF0aCI6Ii8yNzEwNi82Mzc0OTYxNzUtYWQzYmEwZjEtY2FkNi00ZTdmLThiY2QtN2UyMGRjZThmMDA0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA4MjQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwODI0VDE5MjIzNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE4NGRjZGZjOTEyM2QxYTQ2ZGZkZmU4ZTljODAyZjY4YzBkMTU2ZDg4MGZlMDE0OWM0MzIxNjMzZTk1ZGQ2MTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRnBuZyJ9.M6vLDGQf0aCO5Vnloe7RTH-MUwTmHz8QSPPdE30aSnY" content-type-secured-asset="image/png" style="max-width: 100%; height: auto; max-height: 563px;"></a>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5129148027" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/617" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/617/hovercard" href="https://github.com/dundee/gdu/pull/617">#617</a></em></p>
<h2>Preview results during a scan (Tab)</h2>
<p>You no longer have to wait for a scan to finish before looking at results. Press<br>
<code>Tab</code> during a scan to preview the directory totals found so far, then keep<br>
watching them update as the analysis continues.</p>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ultranity/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ultranity">@ultranity</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4698869691" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/594" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/594/hovercard" href="https://github.com/dundee/gdu/pull/594">#594</a></em></p>
<h2>Stop scanning and keep partial results</h2>
<p>Long scans can now be cut short without losing work. Press <code>Ctrl+C</code> during a scan<br>
to stop scheduling new work and keep the results found so far, so you can start<br>
browsing (or exporting) immediately instead of aborting the whole run.</p>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ShivamB25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ShivamB25">@ShivamB25</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4912927905" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/606" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/606/hovercard" href="https://github.com/dundee/gdu/pull/606">#606</a></em></p>
<h2>Show symlink target</h2>
<p>Symlinks can be displayed as <code>name -> target</code>, showing the link destination next<br>
to the name just like <code>ls -l</code>. Enable it with:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="gdu --show-symlink-target /some/dir"><pre class="notranslate"><code>gdu --show-symlink-target /some/dir
</code></pre></div>
<p>Symlinks and sockets continue to be marked with the <code>@</code> file flag.</p>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yurenchen000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yurenchen000">@yurenchen000</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5034909460" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/612" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/612/hovercard" href="https://github.com/dundee/gdu/pull/612">#612</a></em></p>
<h2>Move items to XDG trash (D key)</h2>
<p>In addition to permanent deletion (<code>d</code>), you can now move the selected file or<br>
directory to the XDG trash with the <code>D</code> key on Linux, matching the behavior of most<br>
desktop file managers so items can be recovered later.</p>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/phaethix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/phaethix">@phaethix</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960752249" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/608" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/608/hovercard" href="https://github.com/dundee/gdu/pull/608">#608</a></em></p>
<h2>Configurable colors for marked items</h2>
<p>The colors used for marked items can now be customized in the configuration<br>
file:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="style:
marked:
text-color: white
background-color: "#6600cc""><pre class="notranslate"><code>style:
marked:
text-color: white
background-color: "#6600cc"
</code></pre></div>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401609036" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/566" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/566/hovercard" href="https://github.com/dundee/gdu/pull/566">#566</a></em></p>
<h2>System-wide config: /etc/gdu.yaml</h2>
<p>Gdu now loads <code>/etc/gdu.yaml</code> as a system-wide configuration file, letting<br>
administrators set defaults for all users on a machine. Per-user config files<br>
(<code>$HOME/.config/gdu/gdu.yaml</code> and <code>$HOME/.gdu.yaml</code>) still apply on top of it.</p>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/graysky2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/graysky2">@graysky2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4405376044" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/567" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/567/hovercard" href="https://github.com/dundee/gdu/pull/567">#567</a></em></p>
<h2>Numeric percentage on usage bars</h2>
<p>Usage bars now display the numeric percentage alongside the bar, making it easier<br>
to read exactly how much space each item takes relative to its siblings.</p>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4643680951" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/590" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/590/hovercard" href="https://github.com/dundee/gdu/pull/590">#590</a></em></p>
<h2>Confirm before quitting after a long scan</h2>
<p>To prevent accidentally discarding the results of a long scan, gdu now asks for<br>
confirmation before quitting when a lengthy scan's results would otherwise be<br>
lost. You can disable the prompt with <code>--no-confirm-quit</code>.</p>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ultranity/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ultranity">@ultranity</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4698869390" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/593" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/593/hovercard" href="https://github.com/dundee/gdu/pull/593">#593</a></em></p>
<h2>Honor block size environment variables</h2>
<p>Terminal output now honors the <code>BLOCK_SIZE</code> and <code>BLOCKSIZE</code> environment<br>
variables. <code>BLOCK_SIZE</code> takes precedence; both accept GNU coreutils block-size<br>
values such as <code>1K</code>, <code>kB</code>, <code>human-readable</code>, and <code>si</code>. Explicit size-format flags<br>
override these variables, and exported JSON always retains raw byte values.</p>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ShivamB25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ShivamB25">@ShivamB25</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4911362947" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/604" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/604/hovercard" href="https://github.com/dundee/gdu/pull/604">#604</a></em></p>
<h2>Customize JSON export attributes</h2>
<p>The JSON export can now be trimmed to only the attributes you need:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="gdu --output-attrs=asize,dsize -o out.json /some/dir"><pre class="notranslate"><code>gdu --output-attrs=asize,dsize -o out.json /some/dir
</code></pre></div>
<p><code>name</code> is always included; available optional attributes are <code>asize</code>, <code>dsize</code>,<br>
<code>items</code>, <code>mtime</code>, and <code>notreg</code>. Directories always retain their <code>asize</code>, <code>dsize</code>,<br>
and <code>items</code> summary stats so they can be preserved on import.</p>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ShivamB25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ShivamB25">@ShivamB25</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4911835229" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/605" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/605/hovercard" href="https://github.com/dundee/gdu/pull/605">#605</a></em></p>
<h2>Exclude OneDrive online-only file sizes</h2>
<p>Gdu can now exclude the sizes of OneDrive online-only ("cloud") files, so<br>
placeholder files that aren't actually stored locally don't inflate your disk<br>
usage totals.</p>
<p><em>by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tpill90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tpill90">@tpill90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971979159" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/609" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/609/hovercard" href="https://github.com/dundee/gdu/pull/609">#609</a></em></p>
<h2>Summary of all changes</h2>
<ul>
<li>feat: add web UI by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5129148027" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/617" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/617/hovercard" href="https://github.com/dundee/gdu/pull/617">#617</a></li>
<li>feat: preview results found so far during a scan (Tab) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ultranity/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ultranity">@ultranity</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4698869691" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/594" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/594/hovercard" href="https://github.com/dundee/gdu/pull/594">#594</a></li>
<li>feat: stop scanning and keep partial results by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ShivamB25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ShivamB25">@ShivamB25</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4912927905" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/606" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/606/hovercard" href="https://github.com/dundee/gdu/pull/606">#606</a></li>
<li>feat: show symlink target <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1772820750" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/260" data-hovercard-type="issue" data-hovercard-url="/dundee/gdu/issues/260/hovercard" href="https://github.com/dundee/gdu/issues/260">#260</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yurenchen000/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yurenchen000">@yurenchen000</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5034909460" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/612" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/612/hovercard" href="https://github.com/dundee/gdu/pull/612">#612</a></li>
<li>feat: move items to XDG trash with D key (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="783834096" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/12" data-hovercard-type="issue" data-hovercard-url="/dundee/gdu/issues/12/hovercard" href="https://github.com/dundee/gdu/issues/12">#12</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/phaethix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/phaethix">@phaethix</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960752249" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/608" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/608/hovercard" href="https://github.com/dundee/gdu/pull/608">#608</a></li>
<li>feat: config option to change colors for marked items by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4401609036" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/566" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/566/hovercard" href="https://github.com/dundee/gdu/pull/566">#566</a></li>
<li>feat: load /etc/gdu.yaml as system-wide config by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/graysky2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/graysky2">@graysky2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4405376044" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/567" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/567/hovercard" href="https://github.com/dundee/gdu/pull/567">#567</a></li>
<li>feat: show numeric percentage on usage bars by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4643680951" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/590" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/590/hovercard" href="https://github.com/dundee/gdu/pull/590">#590</a></li>
<li>feat: confirm before quitting when a long scan would be lost by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ultranity/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ultranity">@ultranity</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4698869390" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/593" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/593/hovercard" href="https://github.com/dundee/gdu/pull/593">#593</a></li>
<li>feat: honor block size environment by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ShivamB25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ShivamB25">@ShivamB25</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4911362947" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/604" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/604/hovercard" href="https://github.com/dundee/gdu/pull/604">#604</a></li>
<li>feat: customize JSON export attributes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ShivamB25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ShivamB25">@ShivamB25</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4911835229" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/605" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/605/hovercard" href="https://github.com/dundee/gdu/pull/605">#605</a></li>
<li>feat: excluding OneDrive online file storage sizes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tpill90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tpill90">@tpill90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971979159" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/609" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/609/hovercard" href="https://github.com/dundee/gdu/pull/609">#609</a></li>
<li>feat: update vite by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5176685996" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/628" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/628/hovercard" href="https://github.com/dundee/gdu/pull/628">#628</a></li>
<li>fix: respect --show-apparent-size for file paths in non-interactive mode by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wahajahmed010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wahajahmed010">@wahajahmed010</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339212170" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/558" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/558/hovercard" href="https://github.com/dundee/gdu/pull/558">#558</a></li>
<li>fix: ignore for root directory not working by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4446285286" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/573" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/573/hovercard" href="https://github.com/dundee/gdu/pull/573">#573</a></li>
<li>fix: correct item count and size for empty dirs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4468762887" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/574" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/574/hovercard" href="https://github.com/dundee/gdu/pull/574">#574</a></li>
<li>fix: stack overflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4512917359" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/577" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/577/hovercard" href="https://github.com/dundee/gdu/pull/577">#577</a></li>
<li>fix: import panic for empty array by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4518039525" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/578" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/578/hovercard" href="https://github.com/dundee/gdu/pull/578">#578</a></li>
<li>fix: import panic on wrong name by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4541535583" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/581" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/581/hovercard" href="https://github.com/dundee/gdu/pull/581">#581</a></li>
<li>fix: implement IsDir and GetPath for SimpleDir by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4569996272" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/583" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/583/hovercard" href="https://github.com/dundee/gdu/pull/583">#583</a></li>
<li>fix: SQLite analyzer permission error flags by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjh9714/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjh9714">@sjh9714</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4814122834" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/598" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/598/hovercard" href="https://github.com/dundee/gdu/pull/598">#598</a></li>
<li>fix(report): make JSON export respect -t, --depth and --summarize filters by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ShivamB25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ShivamB25">@ShivamB25</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4832114183" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/600" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/600/hovercard" href="https://github.com/dundee/gdu/pull/600">#600</a></li>
<li>fix: sanitize control characters in paths printed on quit by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carfeii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carfeii">@carfeii</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5121499788" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/616" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/616/hovercard" href="https://github.com/dundee/gdu/pull/616">#616</a></li>
<li>fix(report): preserve directory stats in JSON export by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ShivamB25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ShivamB25">@ShivamB25</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4910749397" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/603" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/603/hovercard" href="https://github.com/dundee/gdu/pull/603">#603</a></li>
<li>fix(device): skip malformed mount lines instead of panicking by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VXNCXNX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VXNCXNX">@VXNCXNX</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5159717559" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/625" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/625/hovercard" href="https://github.com/dundee/gdu/pull/625">#625</a></li>
<li>fix(cmd): stop truncating a --config-file path at the first space by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VXNCXNX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VXNCXNX">@VXNCXNX</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5159717424" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/624" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/624/hovercard" href="https://github.com/dundee/gdu/pull/624">#624</a></li>
<li>fix(ignore): anchor the whole ignore-pattern alternation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VXNCXNX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VXNCXNX">@VXNCXNX</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5158838233" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/623" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/623/hovercard" href="https://github.com/dundee/gdu/pull/623">#623</a></li>
<li>fix: don't materialize dataless files when scanning on macOS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngrilly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngrilly">@ngrilly</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5158834699" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/622" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/622/hovercard" href="https://github.com/dundee/gdu/pull/622">#622</a></li>
<li>fix(timefilter): drop the stray separator in the until= filter footer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VXNCXNX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VXNCXNX">@VXNCXNX</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5158805243" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/621" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/621/hovercard" href="https://github.com/dundee/gdu/pull/621">#621</a></li>
<li>perf: concurrent processing in sqlite analyzer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4356145620" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/565" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/565/hovercard" href="https://github.com/dundee/gdu/pull/565">#565</a></li>
<li>refactor: use atomic counter instead of mutex by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4804810398" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/597" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/597/hovercard" href="https://github.com/dundee/gdu/pull/597">#597</a></li>
<li>docs: fix typo "relase" -> "release" in release run-book by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxtaran2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxtaran2010">@maxtaran2010</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4835842355" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/601" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/601/hovercard" href="https://github.com/dundee/gdu/pull/601">#601</a></li>
<li>docs: for contributors and agents by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dundee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dundee">@dundee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5173991070" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/626" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/626/hovercard" href="https://github.com/dundee/gdu/pull/626">#626</a></li>
<li>chore(deps): bump golang.org/x/text from 0.36.0 to 0.37.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4410131425" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/569" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/569/hovercard" href="https://github.com/dundee/gdu/pull/569">#569</a></li>
<li>chore(deps): bump golang.org/x/sys from 0.43.0 to 0.44.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4410131079" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/568" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/568/hovercard" href="https://github.com/dundee/gdu/pull/568">#568</a></li>
<li>chore(deps): bump golang.org/x/sys from 0.44.0 to 0.45.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4498680585" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/575" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/575/hovercard" href="https://github.com/dundee/gdu/pull/575">#575</a></li>
<li>chore(deps): bump github.com/gdamore/tcell/v2 from 2.13.9 to 2.13.10 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4521561548" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/579" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/579/hovercard" href="https://github.com/dundee/gdu/pull/579">#579</a></li>
<li>chore(deps): bump github.com/mattn/go-isatty from 0.0.21 to 0.0.22 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4340130054" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/559" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/559/hovercard" href="https://github.com/dundee/gdu/pull/559">#559</a></li>
<li>chore(deps): bump modernc.org/sqlite from 1.49.1 to 1.51.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4544657725" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/582" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/582/hovercard" href="https://github.com/dundee/gdu/pull/582">#582</a></li>
<li>chore(deps): bump actions/checkout from 6 to 7 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4696765419" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/592" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/592/hovercard" href="https://github.com/dundee/gdu/pull/592">#592</a></li>
<li>chore(deps): bump golang.org/x/net from 0.47.0 to 0.55.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4803387416" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/596" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/596/hovercard" href="https://github.com/dundee/gdu/pull/596">#596</a></li>
<li>chore(deps): bump actions/setup-go from 6 to 7 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4906827639" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/602" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/602/hovercard" href="https://github.com/dundee/gdu/pull/602">#602</a></li>
<li>chore(deps): bump actions/setup-node from 4 to 7 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5146822184" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/620" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/620/hovercard" href="https://github.com/dundee/gdu/pull/620">#620</a></li>
<li>chore(deps-dev): bump vitest from 2.1.9 to 3.2.6 in /webui/frontend by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5138560048" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/619" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/619/hovercard" href="https://github.com/dundee/gdu/pull/619">#619</a></li>
<li>chore(deps): bump github/codeql-action from 4 to 4.37.4 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5055211436" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/613" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/613/hovercard" href="https://github.com/dundee/gdu/pull/613">#613</a></li>
<li>chore(deps): bump docker/login-action from 4 to 4.5.2 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5024977369" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/610" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/610/hovercard" href="https://github.com/dundee/gdu/pull/610">#610</a></li>
<li>chore(deps): bump modernc.org/sqlite from 1.51.0 to 1.52.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617488323" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/588" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/588/hovercard" href="https://github.com/dundee/gdu/pull/588">#588</a></li>
<li>chore(deps): bump golang.org/x/sys from 0.45.0 to 0.46.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617487810" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/587" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/587/hovercard" href="https://github.com/dundee/gdu/pull/587">#587</a></li>
<li>chore(deps): bump codecov/codecov-action from 6 to 7 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617486898" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/585" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/585/hovercard" href="https://github.com/dundee/gdu/pull/585">#585</a></li>
<li>chore(deps): bump github.com/dgraph-io/badger/v4 from 4.9.1 to 4.9.2 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4626592349" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/589" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/589/hovercard" href="https://github.com/dundee/gdu/pull/589">#589</a></li>
<li>chore(deps): bump golang.org/x/text from 0.37.0 to 0.41.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4617487472" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/586" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/586/hovercard" href="https://github.com/dundee/gdu/pull/586">#586</a></li>
<li>chore(deps): bump go.opentelemetry.io/otel from 1.38.0 to 1.41.0 by <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/dependabot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dependabot">@dependabot</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4325412664" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/556" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/556/hovercard" href="https://github.com/dundee/gdu/pull/556">#556</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wahajahmed010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wahajahmed010">@wahajahmed010</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4339212170" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/558" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/558/hovercard" href="https://github.com/dundee/gdu/pull/558">#558</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/graysky2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/graysky2">@graysky2</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4405376044" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/567" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/567/hovercard" href="https://github.com/dundee/gdu/pull/567">#567</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ultranity/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ultranity">@ultranity</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4698869390" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/593" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/593/hovercard" href="https://github.com/dundee/gdu/pull/593">#593</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maxtaran2010/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maxtaran2010">@maxtaran2010</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4835842355" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/601" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/601/hovercard" href="https://github.com/dundee/gdu/pull/601">#601</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjh9714/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sjh9714">@sjh9714</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4814122834" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/598" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/598/hovercard" href="https://github.com/dundee/gdu/pull/598">#598</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carfeii/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carfeii">@carfeii</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5121499788" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/616" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/616/hovercard" href="https://github.com/dundee/gdu/pull/616">#616</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/phaethix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/phaethix">@phaethix</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4960752249" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/608" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/608/hovercard" href="https://github.com/dundee/gdu/pull/608">#608</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tpill90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tpill90">@tpill90</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4971979159" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/609" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/609/hovercard" href="https://github.com/dundee/gdu/pull/609">#609</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VXNCXNX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VXNCXNX">@VXNCXNX</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5159717559" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/625" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/625/hovercard" href="https://github.com/dundee/gdu/pull/625">#625</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngrilly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngrilly">@ngrilly</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5158834699" data-permission-text="Title is private" data-url="https://github.com/dundee/gdu/issues/622" data-hovercard-type="pull_request" data-hovercard-url="/dundee/gdu/pull/622/hovercard" href="https://github.com/dundee/gdu/pull/622">#622</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/dundee/gdu/compare/v5.36.1...v5.37.0"><tt>v5.36.1...v5.37.0</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/671654508/@biomejs/biome@2.5.92026-08-17T23:03:27Zbiome: Biome CLI v2.5.9
<h2>2.5.9</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11321" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11321/hovercard">#11321</a> <a href="https://github.com/biomejs/biome/commit/41386f38935b299f1a1f759a2c7fdd5c2050bded"><code>41386f3</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11315" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11315/hovercard">#11315</a>: The CSS parser now recovers at declaration boundaries after bogus declarations, allowing subsequent valid declarations to be parsed.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11248" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11248/hovercard">#11248</a> <a href="https://github.com/biomejs/biome/commit/57b197e6d5a2432ff6904afff24125e4d8ec01cd"><code>57b197e</code></a> Thanks <a href="https://github.com/yanthomasdev">@yanthomasdev</a>! - Expanded the environment variable metadata used by <code>biome rage</code> to include <code>BIOME_BINARY</code>, <code>BIOME_LOG_FILE</code>, and <code>RUST_BACKTRACE</code> as well as reworded explanations for better readability.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11377" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11377/hovercard">#11377</a> <a href="https://github.com/biomejs/biome/commit/a8798ea9f2569fab4524704c99a8e2fe45c2ca32"><code>a8798ea</code></a> Thanks <a href="https://github.com/Netail">@Netail</a>! - Added a new nursery rule <a href="https://biomejs.dev/linter/rules/use-named-layer" rel="nofollow"><code>useNamedLayer</code></a> which disallows anonymous cascade layers.</p>
<div class="highlight highlight-source-css notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="@layer {
a {
color: red;
}
}"><pre><span class="pl-k">@layer</span> {
<span class="pl-ent">a</span> {
<span class="pl-c1">color</span><span class="pl-kos">:</span> red;
}
}</pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11327" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11327/hovercard">#11327</a> <a href="https://github.com/biomejs/biome/commit/6771cf5bd2e64f256468a33b811adec8e793d933"><code>6771cf5</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - The HTML formatter now preserves meaningful blank lines in HTML, including spacing after elements with trailing spaces and blank lines between comment groups.</p>
<div class="highlight highlight-source-diff notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" <div>
<!-- first group -->
+
<!-- second group -->
</div>"><pre> <div>
<!-- first group -->
<span class="pl-mi1"><span class="pl-mi1">+</span></span>
<!-- second group -->
</div></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/10312" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/10312/hovercard">#10312</a> <a href="https://github.com/biomejs/biome/commit/ba8aa183371b3080691ed80e5a9f6f0239cf451b"><code>ba8aa18</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Added the nursery rule <a href="https://biomejs.dev/linter/rules/use-tailwind-shorthand-classes/" rel="nofollow"><code>useTailwindShorthandClasses</code></a>, which suggests shorter Tailwind utility classes. For example, the rule suggests replacing <code>w-4 h-4</code> with <code>size-4</code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11333" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11333/hovercard">#11333</a> <a href="https://github.com/biomejs/biome/commit/715e0cd1b3e6c88d153554901a659378c728e408"><code>715e0cd</code></a> Thanks <a href="https://github.com/kkkhs">@kkkhs</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11328" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11328/hovercard">#11328</a>: <code>lint/nursery/useExpect</code> now recognizes Vitest Browser Mode <code>expect.element()</code> calls as assertions.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11343" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11343/hovercard">#11343</a> <a href="https://github.com/biomejs/biome/commit/9b982113dba8b37c163662d59611ecba0fc02f5a"><code>9b98211</code></a> Thanks <a href="https://github.com/johncarmack1984">@johncarmack1984</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11311" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11311/hovercard">#11311</a>: the CSS parser now accepts Tailwind container-query variant names in <code>@variant</code>, such as <code>@xl</code> and <code>@max-xl</code>. These previously produced a parse error and a <a href="https://biomejs.dev/linter/rules/no-unknown-at-rules/" rel="nofollow"><code>noUnknownAtRules</code></a> diagnostic.</p>
<div class="highlight highlight-source-css notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="@variant @xl {
div {
background: red;
}
}"><pre><span class="pl-k">@variant</span> <span class="pl-k">@xl</span> {
<span class="pl-ent">div</span> {
<span class="pl-c1">background</span><span class="pl-kos">:</span> red;
}
}</pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11220" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11220/hovercard">#11220</a> <a href="https://github.com/biomejs/biome/commit/3e8c4887c4ef87df45f56aafa4fbc5f497dae42f"><code>3e8c488</code></a> Thanks <a href="https://github.com/santichausis">@santichausis</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/9541" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/9541/hovercard">#9541</a>: <a href="https://biomejs.dev/linter/rules/no-undeclared-variables/" rel="nofollow"><code>noUndeclaredVariables</code></a>, <a href="https://biomejs.dev/linter/rules/no-unused-imports/" rel="nofollow"><code>noUnusedImports</code></a>, and <a href="https://biomejs.dev/linter/rules/no-unused-variables/" rel="nofollow"><code>noUnusedVariables</code></a> now correctly recognise exported variables and functions declared in one embedded <code><script></code> block as usable from a sibling <code><script></code> block, in Svelte's <code><script module></code>/<code><script></code> pair and Vue's non-<code>setup</code> <code><script></code> blocks.</p>
<p>For example, Biome no longer reports <code>greet</code> as undeclared in the following Svelte component:</p>
<div class="highlight highlight-source-svelte notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<script module>
export function greet() {
console.log("Hello!");
}
</script>
<script>
greet();
</script>"><pre><<span class="pl-ent">script</span> <span class="pl-e">module</span>><span class="pl-s1"></span>
<span class="pl-s1"> <span class="pl-k">export</span> <span class="pl-k">function</span> <span class="pl-en">greet</span>() {</span>
<span class="pl-s1"> <span class="pl-en">console</span>.<span class="pl-c1">log</span>(<span class="pl-s"><span class="pl-pds">"</span>Hello!<span class="pl-pds">"</span></span>);</span>
<span class="pl-s1"> }</span>
<span class="pl-s1"></span></<span class="pl-ent">script</span>>
<<span class="pl-ent">script</span>><span class="pl-s1"></span>
<span class="pl-s1"> <span class="pl-en">greet</span>();</span>
<span class="pl-s1"></span></<span class="pl-ent">script</span>></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11300" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11300/hovercard">#11300</a> <a href="https://github.com/biomejs/biome/commit/36430ebb9679d1ca5d9c231a36b709a4b5eab9b3"><code>36430eb</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Fixed the HTML formatter's whitespace handling for <code>marquee</code>, <code>noscript</code>, <code>video</code>, <code>audio</code>, and <code>object</code> elements.</p>
<div class="highlight highlight-source-diff notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="- <marquee behavior="alternate"> This text will bounce </marquee>
+ <marquee behavior="alternate">This text will bounce</marquee>"><pre><span class="pl-md"><span class="pl-md">-</span> <marquee behavior="alternate"> This text will bounce </marquee></span>
<span class="pl-mi1"><span class="pl-mi1">+</span> <marquee behavior="alternate">This text will bounce</marquee></span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11299" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11299/hovercard">#11299</a> <a href="https://github.com/biomejs/biome/commit/6559e6ced6d4ebe8c26e818931df15d02829130d"><code>6559e6c</code></a> Thanks <a href="https://github.com/jp-knj">@jp-knj</a>! - Added the nursery rule <code>useAstroClientOnlyDirectiveValue</code>, which reports Astro <code>client:only</code> directives without an initializer.</p>
<p>For example, <code><Component client:only /></code> triggers the rule.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11365" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11365/hovercard">#11365</a> <a href="https://github.com/biomejs/biome/commit/7529811358079edb5a2a9d4a5f67a9f639a63f3a"><code>7529811</code></a> Thanks <a href="https://github.com/MHJahanbakhsh">@MHJahanbakhsh</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11229" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11229/hovercard">#11229</a>: The <a href="https://biomejs.dev/linter/rules/use-generic-font-names/" rel="nofollow"><code>useGenericFontNames</code></a> rule now treats <code>math</code> as a valid generic font family.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11346" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11346/hovercard">#11346</a> <a href="https://github.com/biomejs/biome/commit/674f5f4b4e6923b6c7fd12d76e366f82ffe6405b"><code>674f5f4</code></a> Thanks <a href="https://github.com/Jayllyz">@Jayllyz</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11335" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11335/hovercard">#11335</a>: <a href="https://biomejs.dev/linter/rules/no-component-hook-factories/" rel="nofollow"><code>noComponentHookFactories</code></a> now reports a <code>use</code>-prefixed variable only when a function is assigned to it directly.</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="function factory() {
const useColors = true; // no longer reported
const useStore = createStore({ count: 0 }); // no longer reported
const useData = () => useState(null); // still reported
return useColors;
}"><pre><span class="pl-k">function</span> <span class="pl-en">factory</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-k">const</span> <span class="pl-s1">useColors</span> <span class="pl-c1">=</span> <span class="pl-c1">true</span><span class="pl-kos">;</span> <span class="pl-c">// no longer reported</span>
<span class="pl-k">const</span> <span class="pl-s1">useStore</span> <span class="pl-c1">=</span> <span class="pl-en">createStore</span><span class="pl-kos">(</span><span class="pl-kos">{</span> <span class="pl-c1">count</span>: <span class="pl-c1">0</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// no longer reported</span>
<span class="pl-k">const</span> <span class="pl-en">useData</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-c1">=></span> <span class="pl-en">useState</span><span class="pl-kos">(</span><span class="pl-c1">null</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// still reported</span>
<span class="pl-k">return</span> <span class="pl-s1">useColors</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11334" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11334/hovercard">#11334</a> <a href="https://github.com/biomejs/biome/commit/c87c46ab350a40fd38b2288887e2d6e930a2d62d"><code>c87c46a</code></a> Thanks <a href="https://github.com/zkasuran">@zkasuran</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11317" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11317/hovercard">#11317</a>: <a href="https://biomejs.dev/linter/rules/no-svg-without-title/" rel="nofollow"><code>noSvgWithoutTitle</code></a> no longer reports an <code>svg</code> that uses the boolean shorthand <code>aria-hidden</code> (equivalent to <code>aria-hidden={true}</code> in React).</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11364" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11364/hovercard">#11364</a> <a href="https://github.com/biomejs/biome/commit/13853b16685d96bfb9158de7d5f4c101d114ba32"><code>13853b1</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed a bug where <a href="https://biomejs.dev/linter/rules/use-jsx-key-in-iterable/" rel="nofollow"><code>useJsxKeyInIterable</code></a> incorrectly flagged Astro files.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11321" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11321/hovercard">#11321</a> <a href="https://github.com/biomejs/biome/commit/41386f38935b299f1a1f759a2c7fdd5c2050bded"><code>41386f3</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11315" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11315/hovercard">#11315</a>: Invalid CSS declarations in HTML <code>style</code> attributes now produce parser diagnostics instead of causing a panic.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11325" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11325/hovercard">#11325</a> <a href="https://github.com/biomejs/biome/commit/67c3bf01131c0c079fa058eef96dc28d52c2c59f"><code>67c3bf0</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Fixed HTML text wrapping to account for the width of an adjacent closing tag, avoiding lines that exceed the configured width when the final word and tag must move together.</p>
<div class="highlight highlight-source-diff notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" <a-long-long-long-element
- >foo bar foo bar foo bar foo bar foo bar foo bar foo bar</a-long-long-long-element
+ >foo bar foo bar foo bar foo bar foo bar foo
+ bar</a-long-long-long-element
>"><pre> <a-long-long-long-element
<span class="pl-md"><span class="pl-md">-</span> >foo bar foo bar foo bar foo bar foo bar foo bar foo bar</a-long-long-long-element</span>
<span class="pl-mi1"><span class="pl-mi1">+</span> >foo bar foo bar foo bar foo bar foo bar foo</span>
<span class="pl-mi1"><span class="pl-mi1">+</span> bar</a-long-long-long-element</span>
></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11367" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11367/hovercard">#11367</a> <a href="https://github.com/biomejs/biome/commit/fe5b5d41c863d5e2f3b58570e15f483c189d2825"><code>fe5b5d4</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed TypeScript <code>compilerOptions.paths</code> resolution when mapping targets omit <code>./</code>. Biome now resolves these targets relative to their configured path base.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11316" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11316/hovercard">#11316</a> <a href="https://github.com/biomejs/biome/commit/17e48d6088f23ec30a1e17e315b52369f1e4836c"><code>17e48d6</code></a> Thanks <a href="https://github.com/wanxiankai">@wanxiankai</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11289" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11289/hovercard">#11289</a>: the safe fix for <a href="https://biomejs.dev/linter/rules/no-extra-boolean-cast/" rel="nofollow"><code>noExtraBooleanCast</code></a> now preserves parentheses around nested conditional expressions.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11254" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11254/hovercard">#11254</a> <a href="https://github.com/biomejs/biome/commit/d25d113aed23ca9b5ee9b7cdedb208d8a0b2cd00"><code>d25d113</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11242" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11242/hovercard">#11242</a>: Biome no longer crashes with an access violation when analysing files on Windows ARM64.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11221" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11221/hovercard">#11221</a> <a href="https://github.com/biomejs/biome/commit/85aac73d32a5f4a0db7bab3ebd195e35b32d513d"><code>85aac73</code></a> Thanks <a href="https://github.com/freeatnet">@freeatnet</a>! - Added the nursery rule <a href="https://biomejs.dev/linter/rules/no-unsafe-type-assertion/" rel="nofollow"><code>noUnsafeTypeAssertion</code></a>, which disallows TypeScript type assertions while allowing const assertions.</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="const value = input as SomeType;"><pre><span class="pl-k">const</span> <span class="pl-s1">value</span> <span class="pl-c1">=</span> <span class="pl-s1">input</span> <span class="pl-k">as</span> <span class="pl-smi">SomeType</span><span class="pl-kos">;</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11314" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11314/hovercard">#11314</a> <a href="https://github.com/biomejs/biome/commit/7ffb677159c96f072a508e58bfad26ca9c301ac4"><code>7ffb677</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/11310" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/11310/hovercard">#11310</a>: Restored the performance of <a href="https://biomejs.dev/linter/rules/no-misused-promises/" rel="nofollow"><code>noMisusedPromises</code></a> and <a href="https://biomejs.dev/linter/rules/no-floating-promises/" rel="nofollow"><code>noFloatingPromises</code></a> when analyzed expressions share deep imported type paths.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11356" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11356/hovercard">#11356</a> <a href="https://github.com/biomejs/biome/commit/6cd32636f463551b8dfe46aeefb1191d437b4694"><code>6cd3263</code></a> Thanks <a href="https://github.com/johncarmack1984">@johncarmack1984</a>! - The Tailwind parser now understands modifiers on bare utilities (<code>@container/sidebar</code>, <code>shadow/50</code>).</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11318" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11318/hovercard">#11318</a> <a href="https://github.com/biomejs/biome/commit/76059e9f03f5962a18f3569714f8f207ef7c1d91"><code>76059e9</code></a> Thanks <a href="https://github.com/johncarmack1984">@johncarmack1984</a>! - The Tailwind parser now understands container-query variants (<code>@sm:</code>, <code>@max-lg:</code>, <code>@min-[400px]:</code>) and child and descendant variants (<code>*:</code>, <code>**:</code>).</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11357" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11357/hovercard">#11357</a> <a href="https://github.com/biomejs/biome/commit/faa2074472bc0f4a11f4e80cb4d2b0e55883226a"><code>faa2074</code></a> Thanks <a href="https://github.com/johncarmack1984">@johncarmack1984</a>! - The Tailwind parser now accepts the legacy leading <code>!</code> important marker (<code>!flex</code>, <code>hover:!p-4</code>).</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11344" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11344/hovercard">#11344</a> <a href="https://github.com/biomejs/biome/commit/f34e15c946511d998c01b6c6e410f0c220c2943e"><code>f34e15c</code></a> Thanks <a href="https://github.com/johncarmack1984">@johncarmack1984</a>! - The Tailwind parser now understands combinator selectors in arbitrary variants (<code>has-[>svg]:</code>, <code>has-[+p]:</code>), modifiers on variants (<code>group-hover/menu:</code>, <code>@sm/main:</code>), and arbitrary container-query sizes (<code>@[400px]:</code>).</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11324" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11324/hovercard">#11324</a> <a href="https://github.com/biomejs/biome/commit/2f5d452015ee80a02d4e50c4bb2ba930092048a2"><code>2f5d452</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Fixed HTML formatting that inserted rendered whitespace between an element and touching text when the line wrapped.</p>
<div class="highlight highlight-source-diff notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" <div>
- before<meter value=".5"></meter>
- after
+ before<meter value=".5"></meter
+ >after
</div>"><pre> <div>
<span class="pl-md"><span class="pl-md">-</span> before<meter value=".5"></meter></span>
<span class="pl-md"><span class="pl-md">-</span> after</span>
<span class="pl-mi1"><span class="pl-mi1">+</span> before<meter value=".5"></meter</span>
<span class="pl-mi1"><span class="pl-mi1">+</span> >after</span>
</div></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11312" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11312/hovercard">#11312</a> <a href="https://github.com/biomejs/biome/commit/e65f07e06342c7d8d74b98ff219d72c7e081b4f2"><code>e65f07e</code></a> Thanks <a href="https://github.com/xosnos">@xosnos</a>! - Added a new nursery rule <a href="https://biomejs.dev/linter/rules/use-control-label/" rel="nofollow"><code>useControlLabel</code></a> for both HTML and JSX, which reports interactive control elements (<code>button</code>, <code>menuitem</code>) without an accessible label.</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<button />"><pre><span class="pl-c1"><</span><span class="pl-s1">button</span> <span class="pl-kos">/></span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11364" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11364/hovercard">#11364</a> <a href="https://github.com/biomejs/biome/commit/13853b16685d96bfb9158de7d5f4c101d114ba32"><code>13853b1</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed SVG parsing for files with an XML declaration followed by a <code>PUBLIC</code> doctype, such as <code><?xml version="1.0"?><!DOCTYPE svg PUBLIC "a" "b"></code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/11301" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11301/hovercard">#11301</a> <a href="https://github.com/biomejs/biome/commit/610ee282989ac73908e0f8bd6e49bc40cccfef77"><code>610ee28</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Fixed parent tag wrapping when an HTML element starts or ends with a block-like or hidden child such as <code>source</code>, <code>track</code>, or <code>param</code>.</p>
<div class="highlight highlight-source-diff notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="- <video src="brave.webm"><track kind="subtitles" src="brave.en.vtt"></video>
+ <video src="brave.webm">
+ <track kind="subtitles" src="brave.en.vtt">
+ </video>"><pre><span class="pl-md"><span class="pl-md">-</span> <video src="brave.webm"><track kind="subtitles" src="brave.en.vtt"></video></span>
<span class="pl-mi1"><span class="pl-mi1">+</span> <video src="brave.webm"></span>
<span class="pl-mi1"><span class="pl-mi1">+</span> <track kind="subtitles" src="brave.en.vtt"></span>
<span class="pl-mi1"><span class="pl-mi1">+</span> </video></span></pre></div>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>fix(deps): revert mimalloc to older version to mitigate access violation errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5080873256" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11254" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11254/hovercard" href="https://github.com/biomejs/biome/pull/11254">#11254</a></li>
<li>chore(deps): update github-actions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5105767037" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11288" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11288/hovercard" href="https://github.com/biomejs/biome/pull/11288">#11288</a></li>
<li>feat(flags): add missing flags and reword metadata by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yanthomasdev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yanthomasdev">@yanthomasdev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5074956303" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11248" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11248/hovercard" href="https://github.com/biomejs/biome/pull/11248">#11248</a></li>
<li>feat(useSortedClasses): sort custom properties and reject invalid modifiers in sort_v4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johncarmack1984/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johncarmack1984">@johncarmack1984</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5093344010" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11274" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11274/hovercard" href="https://github.com/biomejs/biome/pull/11274">#11274</a></li>
<li>fix(format/html): correct whitespace display classifications by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5111136972" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11300" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11300/hovercard" href="https://github.com/biomejs/biome/pull/11300">#11300</a></li>
<li>fix(noExtraBooleanCast): preserve conditional parentheses by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wanxiankai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wanxiankai">@wanxiankai</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5131194534" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11316" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11316/hovercard" href="https://github.com/biomejs/biome/pull/11316">#11316</a></li>
<li>fix(parse/css): handle bogus declarations slightly more gracefully by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5136113913" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11321" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11321/hovercard" href="https://github.com/biomejs/biome/pull/11321">#11321</a></li>
<li>fix(format/html): keep block edge children structural by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5111137567" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11301" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11301/hovercard" href="https://github.com/biomejs/biome/pull/11301">#11301</a></li>
<li>fix(format/html): preserve touching text adjacency by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5140495344" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11324" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11324/hovercard" href="https://github.com/biomejs/biome/pull/11324">#11324</a></li>
<li>fix(format/html): include closing tags in fill width by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5141252436" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11325" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11325/hovercard" href="https://github.com/biomejs/biome/pull/11325">#11325</a></li>
<li>fix(lint): recognize expect.element assertions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kkkhs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kkkhs">@kkkhs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5149164028" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11333" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11333/hovercard" href="https://github.com/biomejs/biome/pull/11333">#11333</a></li>
<li>docs: address changes on CLI rework by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yanthomasdev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yanthomasdev">@yanthomasdev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5031443706" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11151" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11151/hovercard" href="https://github.com/biomejs/biome/pull/11151">#11151</a></li>
<li>fix(linter): noSvgWithoutTitle allows svg with shorthand aria-hidden by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zkasuran/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zkasuran">@zkasuran</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5149654426" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11334" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11334/hovercard" href="https://github.com/biomejs/biome/pull/11334">#11334</a></li>
<li>fix(md/parse): remove inline node from html comments by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5150606673" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11337" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11337/hovercard" href="https://github.com/biomejs/biome/pull/11337">#11337</a></li>
<li>refactor: store projects in salsa db by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5144352689" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11330" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11330/hovercard" href="https://github.com/biomejs/biome/pull/11330">#11330</a></li>
<li>fix(css/parser): allow Tailwind variant names to reference container-query variants by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johncarmack1984/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johncarmack1984">@johncarmack1984</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5154493047" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11343" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11343/hovercard" href="https://github.com/biomejs/biome/pull/11343">#11343</a></li>
<li>fix(noMisusedPromises): perf regression by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5130142265" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11314" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11314/hovercard" href="https://github.com/biomejs/biome/pull/11314">#11314</a></li>
<li>feat(useSortedClasses): parse and sort container-query and child variants by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johncarmack1984/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johncarmack1984">@johncarmack1984</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5132441715" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11318" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11318/hovercard" href="https://github.com/biomejs/biome/pull/11318">#11318</a></li>
<li>feat(useSortedClasses): parse combinator selectors and variant modifiers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johncarmack1984/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johncarmack1984">@johncarmack1984</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5154908576" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11344" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11344/hovercard" href="https://github.com/biomejs/biome/pull/11344">#11344</a></li>
<li>fix(js_analyze): recognize exported bindings across embedded script blocks by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/santichausis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/santichausis">@santichausis</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5053438423" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11220" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11220/hovercard" href="https://github.com/biomejs/biome/pull/11220">#11220</a></li>
<li>fix(noComponentHookFactories): don't report non-function use* bindings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jayllyz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jayllyz">@Jayllyz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5158470815" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11346" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11346/hovercard" href="https://github.com/biomejs/biome/pull/11346">#11346</a></li>
<li>fix(format/html): preserve meaningful blank lines by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5141582643" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11327" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11327/hovercard" href="https://github.com/biomejs/biome/pull/11327">#11327</a></li>
<li>feat(lint): add <code>useTailwindShorthandClasses</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4408124361" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/10312" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/10312/hovercard" href="https://github.com/biomejs/biome/pull/10312">#10312</a></li>
<li>fix(inference): skip return arguments lookup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5158653831" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11347" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11347/hovercard" href="https://github.com/biomejs/biome/pull/11347">#11347</a></li>
<li>test(noUnnecessaryConditions): add regression fixture for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4701026219" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/10704" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/10704/hovercard" href="https://github.com/biomejs/biome/issues/10704">#10704</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jayllyz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jayllyz">@Jayllyz</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5159049187" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11350" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11350/hovercard" href="https://github.com/biomejs/biome/pull/11350">#11350</a></li>
<li>feat(useSortedClasses): sort <code>@container</code> and other bare utilities with modifiers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johncarmack1984/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johncarmack1984">@johncarmack1984</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5161252098" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11356" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11356/hovercard" href="https://github.com/biomejs/biome/pull/11356">#11356</a></li>
<li>feat(lint): nursery useControlLabel by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xosnos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xosnos">@xosnos</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5121510062" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11312" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11312/hovercard" href="https://github.com/biomejs/biome/pull/11312">#11312</a></li>
<li>fix: html and svg bugs, plus false positive on lint rule by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5164991267" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11364" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11364/hovercard" href="https://github.com/biomejs/biome/pull/11364">#11364</a></li>
<li>fix(lint/css): treat math as a generic font family by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MHJahanbakhsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MHJahanbakhsh">@MHJahanbakhsh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5165107771" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11365" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11365/hovercard" href="https://github.com/biomejs/biome/pull/11365">#11365</a></li>
<li>fix(resolver): relative paths without dot prefix by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ematipico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ematipico">@ematipico</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5165467805" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11367" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11367/hovercard" href="https://github.com/biomejs/biome/pull/11367">#11367</a></li>
<li>chore(deps): update github-actions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5167761170" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11369" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11369/hovercard" href="https://github.com/biomejs/biome/pull/11369">#11369</a></li>
<li>chore(deps): update pnpm to v11.21.0 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renovate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renovate">@renovate</a>[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5168549157" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11371" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11371/hovercard" href="https://github.com/biomejs/biome/pull/11371">#11371</a></li>
<li>fix(useSortedClasses): match Tailwind on ties, handle the legacy <code>!</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/johncarmack1984/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/johncarmack1984">@johncarmack1984</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5161883580" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11357" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11357/hovercard" href="https://github.com/biomejs/biome/pull/11357">#11357</a></li>
<li>feat(lint): add <code>noUnsafeTypeAssertion</code> rule by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freeatnet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freeatnet">@freeatnet</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5053575074" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11221" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11221/hovercard" href="https://github.com/biomejs/biome/pull/11221">#11221</a></li>
<li>feat: useNamedLayer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Netail/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Netail">@Netail</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5171052442" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11377" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11377/hovercard" href="https://github.com/biomejs/biome/pull/11377">#11377</a></li>
<li>feat: adds the <code>useAstroClientOnlyDirectiveValue</code> rule for .astro files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jp-knj/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jp-knj">@jp-knj</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5110173846" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11299" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11299/hovercard" href="https://github.com/biomejs/biome/pull/11299">#11299</a></li>
<li>refactor(lint): put <code>impl Rule</code> blocks first by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyc3/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/dyc3">@dyc3</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5174657935" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11382" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11382/hovercard" href="https://github.com/biomejs/biome/pull/11382">#11382</a></li>
<li>ci: release by @github-actions[bot] in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5120004792" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11309" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11309/hovercard" href="https://github.com/biomejs/biome/pull/11309">#11309</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wanxiankai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wanxiankai">@wanxiankai</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5131194534" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11316" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11316/hovercard" href="https://github.com/biomejs/biome/pull/11316">#11316</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kkkhs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kkkhs">@kkkhs</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5149164028" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11333" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11333/hovercard" href="https://github.com/biomejs/biome/pull/11333">#11333</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zkasuran/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zkasuran">@zkasuran</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5149654426" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11334" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11334/hovercard" href="https://github.com/biomejs/biome/pull/11334">#11334</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/santichausis/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/santichausis">@santichausis</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5053438423" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11220" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11220/hovercard" href="https://github.com/biomejs/biome/pull/11220">#11220</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xosnos/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xosnos">@xosnos</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5121510062" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11312" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11312/hovercard" href="https://github.com/biomejs/biome/pull/11312">#11312</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MHJahanbakhsh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MHJahanbakhsh">@MHJahanbakhsh</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5165107771" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11365" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11365/hovercard" href="https://github.com/biomejs/biome/pull/11365">#11365</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/freeatnet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/freeatnet">@freeatnet</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5053575074" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11221" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11221/hovercard" href="https://github.com/biomejs/biome/pull/11221">#11221</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jp-knj/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jp-knj">@jp-knj</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5110173846" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/11299" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/11299/hovercard" href="https://github.com/biomejs/biome/pull/11299">#11299</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/biomejs/biome/compare/@biomejs/biome@2.5.8...@biomejs/biome@2.5.9">https://github.com/biomejs/biome/compare/@biomejs/biome@2.5.8...@biomejs/biome@2.5.9</a></p>github-actions[bot]tag:github.com,2008:Repository/10289758/0.832026-08-17T09:23:13ZLAVFilters: 0.83<p><strong>0.83.0 - 2026/08/17</strong><br>
<strong>LAV Splitter</strong></p>
<ul>
<li>Fixed: Various stability improvements for Dolby Vision Enhancement Layer processing</li>
<li>Fixed: Matroska files would only show the first 64 tracks</li>
</ul>
<p><strong>LAV Audio</strong></p>
<ul>
<li>Fixed: Minor timing corrections for TrueHD Atmos bitstreaming</li>
</ul>Nevcairieltag:github.com,2008:Repository/13807606/v0.74.32026-08-17T03:10:34Zfzf: 0.74.3<ul>
<li>Performance optimizations for non-ASCII input
<ul>
<li>ASCII queries are up to 16x faster</li>
<li>Non-ASCII queries are up to 12x faster</li>
<li>Reading accented Latin input is up to 37% faster</li>
<li>Reading CJK input reduces memory use by up to 29%</li>
<li>ASCII input is unaffected</li>
</ul>
</li>
<li>Fixed an image from a preview command being torn apart when its rows are separated by IND instead of newlines, as <code>chafa</code> does under tmux (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5046119501" data-permission-text="Title is private" data-url="https://github.com/junegunn/fzf/issues/4885" data-hovercard-type="issue" data-hovercard-url="/junegunn/fzf/issues/4885/hovercard" href="https://github.com/junegunn/fzf/issues/4885">#4885</a>)</li>
<li>Fixed <code>replace-query</code> corrupting the item text when the query is edited afterwards</li>
<li>fzf no longer turns bracketed paste mode off on exit when the terminal already had it on, which broke pasting in shells that run fzf from a line editor widget (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="5051277982" data-permission-text="Title is private" data-url="https://github.com/junegunn/fzf/issues/4887" data-hovercard-type="issue" data-hovercard-url="/junegunn/fzf/issues/4887/hovercard" href="https://github.com/junegunn/fzf/issues/4887">#4887</a>)</li>
<li>Fixed startup blocking on terminals that never answer escape sequences, such as FreeBSD virtual terminals. fzf waited for a reply until a key was pressed, then dropped that keystroke (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1289031766" data-permission-text="Title is private" data-url="https://github.com/junegunn/fzf/issues/2860" data-hovercard-type="issue" data-hovercard-url="/junegunn/fzf/issues/2860/hovercard" href="https://github.com/junegunn/fzf/issues/2860">#2860</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="243280479" data-permission-text="Title is private" data-url="https://github.com/junegunn/fzf/issues/976" data-hovercard-type="issue" data-hovercard-url="/junegunn/fzf/issues/976/hovercard" href="https://github.com/junegunn/fzf/issues/976">#976</a>)</li>
</ul>junegunntag:github.com,2008:Repository/998759049/1.3.02026-08-16T16:07:31ZNKXTool: 1.3.0<h2>What's new</h2>
<ul>
<li>Added nki-version command, used to determine minimum Kontakt version needed for a nki instrument.</li>
<li>NKI scan (information purpose only)</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/manzing/NKXTool/compare/1.2.1...1.3.0"><tt>1.2.1...1.3.0</tt></a></p>manzingtag:github.com,2008:Repository/88200328/9.4.212026-08-16T02:15:09ZLibreraReader: 9.4.21<ul>
<li>Fixed text replacement for multiple words.</li>
<li>Updated the UI for changing text and background colors.</li>
<li>Added an alert for permanent file deletion.</li>
<li>Clicking on File Information metadata now navigates to the library.</li>
<li>Added the "iw" translation and fixed other translations.</li>
<li>Fixed the grid view widget.</li>
<li>Fixed the eye reset timer.</li>
</ul>foobnix