GitHub Releaseshttps://github.com/2025-08-12T06:15:40Ztag:github.com,2008:Repository/14712850/v2.0.02025-08-12T06:15:40Zsyncthing: v2.0.0<h2><g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> First 2.0 release <g-emoji class="g-emoji" alias="warning">⚠️</g-emoji></h2>
<p>This is the first release of the new 2.0 series. Expect some rough edges and keep a sense of adventure! 🙏</p>
<h2>Major changes in 2.0</h2>
<ul>
<li>
<p>Database backend switched from LevelDB to SQLite. There is a migration on<br>
first launch which can be lengthy for larger setups. The new database is<br>
easier to understand and maintain and, hopefully, less buggy.</p>
</li>
<li>
<p>The logging format has changed to use structured log entries (a message<br>
plus several key-value pairs). Additionally, we can now control the log<br>
level per package, and a new log level WARNING has been inserted between<br>
INFO and ERROR (which was previously known as WARNING...). The INFO level<br>
has become more verbose, indicating the sync actions taken by Syncthing. A<br>
new command line flag <code>--log-level</code> sets the default log level for all<br>
packages, and the <code>STTRACE</code> environment variable and GUI has been updated<br>
to set log levels per package. The <code>--verbose</code> and <code>--logflags</code> command<br>
line options have been removed and will be ignored if given.</p>
</li>
<li>
<p>Deleted items are no longer kept forever in the database, instead they are<br>
forgotten after six months. If your use case require deletes to take<br>
effect after more than a six month delay, set the<br>
<code>--db-delete-retention-interval</code> command line option or corresponding<br>
environment variable to zero, or a longer time interval of your choosing.</p>
</li>
<li>
<p>Modernised command line options parsing. Old single-dash long options are<br>
no longer supported, e.g. <code>-home</code> must be given as <code>--home</code>. Some options<br>
have been renamed, others have become subcommands. All serve options are<br>
now also accepted as environment variables. See <code>syncthing --help</code> and<br>
<code>syncthing serve --help</code> for details.</p>
</li>
<li>
<p>Rolling hash detection of shifted data is no longer supported as this<br>
effectively never helped. Instead, scanning and syncing is faster and more<br>
efficient without it.</p>
</li>
<li>
<p>A "default folder" is no longer created on first startup.</p>
</li>
<li>
<p>Multiple connections are now used by default between v2 devices. The new<br>
default value is to use three connections: one for index metadata and two<br>
for data exchange.</p>
</li>
<li>
<p>The following platforms unfortunately no longer get prebuilt binaries for<br>
download at syncthing.net and on GitHub, due to complexities related to<br>
cross compilation with SQLite:</p>
<ul>
<li>dragonfly/amd64</li>
<li>illumos/amd64 and solaris/amd64</li>
<li>linux/ppc64</li>
<li>netbsd/*</li>
<li>openbsd/386 and openbsd/arm</li>
<li>windows/arm</li>
</ul>
</li>
<li>
<p>The handling of conflict resolution involving deleted files has changed. A<br>
delete can now be the winning outcome of conflict resolution, resulting in<br>
the deleted file being moved to a conflict copy.</p>
</li>
</ul>
<p>This release is also available as:</p>
<ul>
<li>
<p>APT repository: <a href="https://apt.syncthing.net/" rel="nofollow">https://apt.syncthing.net/</a></p>
</li>
<li>
<p>Docker image: <code>docker.io/syncthing/syncthing:2.0.0</code> or <code>ghcr.io/syncthing/syncthing:2.0.0</code><br>
(<code>{docker,ghcr}.io/syncthing/syncthing:2</code> to follow just the major version)</p>
</li>
</ul>
<h2>What's Changed</h2>
<h3>Fixes</h3>
<ul>
<li>fix(db): handle large numbers of blocks in update by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2967056476" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10025" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10025/hovercard" href="https://github.com/syncthing/syncthing/pull/10025">#10025</a></li>
<li>fix(syncthing): make directory flags global for all commands by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2967644972" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10028" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10028/hovercard" href="https://github.com/syncthing/syncthing/pull/10028">#10028</a></li>
<li>fix(sqlite): apply options by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pixelspark/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pixelspark">@pixelspark</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2980954973" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10049" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10049/hovercard" href="https://github.com/syncthing/syncthing/pull/10049">#10049</a></li>
<li>fix(db): version vector serialisation :( by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2983203375" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10050" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10050/hovercard" href="https://github.com/syncthing/syncthing/pull/10050">#10050</a></li>
<li>fix(model): loop-break regression while block copying in puller by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3015402081" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10069" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10069/hovercard" href="https://github.com/syncthing/syncthing/pull/10069">#10069</a></li>
<li>fix(model): close fd immediately in copier by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3034053289" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10079" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10079/hovercard" href="https://github.com/syncthing/syncthing/pull/10079">#10079</a></li>
<li>fix(model): use same folder first in copier by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3035438524" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10093" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10093/hovercard" href="https://github.com/syncthing/syncthing/pull/10093">#10093</a></li>
<li>fix(model): correct bufferpool handling; simplify by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3069798757" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10113" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10113/hovercard" href="https://github.com/syncthing/syncthing/pull/10113">#10113</a></li>
<li>fix(protocol): avoid deadlock with concurrent connection start and close by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3096256832" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10140" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10140/hovercard" href="https://github.com/syncthing/syncthing/pull/10140">#10140</a></li>
<li>fix(syncthing): avoid writing panic log to nil fd by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3111749700" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10154" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10154/hovercard" href="https://github.com/syncthing/syncthing/pull/10154">#10154</a></li>
<li>fix(fs): check for unsupported error on modern Windows (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3128916258" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10164" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10164/hovercard" href="https://github.com/syncthing/syncthing/issues/10164">#10164</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rasa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rasa">@rasa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3128930945" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10165" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10165/hovercard" href="https://github.com/syncthing/syncthing/pull/10165">#10165</a></li>
<li>fix(gui): don't show dial errors for paused devices (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3129025413" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10166" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10166/hovercard" href="https://github.com/syncthing/syncthing/issues/10166">#10166</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3129057057" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10167" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10167/hovercard" href="https://github.com/syncthing/syncthing/pull/10167">#10167</a></li>
<li>fix: track invalid files in LocalFlags to fix global count by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3138054508" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10170" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10170/hovercard" href="https://github.com/syncthing/syncthing/pull/10170">#10170</a></li>
<li>fix(watchaggregator): properly handle sub-second watch durations (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2795033655" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9927" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9927/hovercard" href="https://github.com/syncthing/syncthing/issues/9927">#9927</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3144821078" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10179" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10179/hovercard" href="https://github.com/syncthing/syncthing/pull/10179">#10179</a></li>
<li>fix(db): remove invalid member from FileMetadata by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3146332389" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10180" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10180/hovercard" href="https://github.com/syncthing/syncthing/pull/10180">#10180</a></li>
<li>fix(model): avoid flashing "Sync Waiting" unnecessarily by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3148892525" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10181" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10181/hovercard" href="https://github.com/syncthing/syncthing/pull/10181">#10181</a></li>
<li>fix(protocol): slightly loosen/correct ownership comparison criteria (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2749588786" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9879" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9879/hovercard" href="https://github.com/syncthing/syncthing/issues/9879">#9879</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yparitcher/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yparitcher">@yparitcher</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3142096544" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10176" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10176/hovercard" href="https://github.com/syncthing/syncthing/pull/10176">#10176</a></li>
<li>fix(model): don't clobber local flags when receiving index by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3158994657" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10190" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10190/hovercard" href="https://github.com/syncthing/syncthing/pull/10190">#10190</a></li>
<li>fix(beacon, osutil, upnp): fix local discovery send and intf detection on Android by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Catfriend1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Catfriend1">@Catfriend1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3176088007" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10196" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10196/hovercard" href="https://github.com/syncthing/syncthing/pull/10196">#10196</a></li>
<li>fix(pmp, netutil): workaround native code denied to discover gateway ipv4 addr on Android 14+ by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Catfriend1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Catfriend1">@Catfriend1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186062144" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10204" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10204/hovercard" href="https://github.com/syncthing/syncthing/pull/10204">#10204</a></li>
<li>fix: allow deleted files to win conflict resolution by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3204556991" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10207" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10207/hovercard" href="https://github.com/syncthing/syncthing/pull/10207">#10207</a></li>
<li>fix(gui): show revert buttons only when folder is idle (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3161087217" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10191" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10191/hovercard" href="https://github.com/syncthing/syncthing/issues/10191">#10191</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3207101068" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10212" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10212/hovercard" href="https://github.com/syncthing/syncthing/pull/10212">#10212</a></li>
<li>fix(gui): fix identicon generation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aionescu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aionescu">@aionescu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3287179514" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10228" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10228/hovercard" href="https://github.com/syncthing/syncthing/pull/10228">#10228</a></li>
<li>fix(model): properly set folder state "syncing" when copying data by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3287028554" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10227" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10227/hovercard" href="https://github.com/syncthing/syncthing/pull/10227">#10227</a></li>
<li>fix(slogutil): quote values with parentheses in them by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3299774362" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10229" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10229/hovercard" href="https://github.com/syncthing/syncthing/pull/10229">#10229</a></li>
<li>fix(test): remove lib/logger from testmocks target by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rasa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rasa">@rasa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3305118730" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10231" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10231/hovercard" href="https://github.com/syncthing/syncthing/pull/10231">#10231</a></li>
<li>fix: correct logging of our ID after startup & generate by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307224818" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10234" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10234/hovercard" href="https://github.com/syncthing/syncthing/pull/10234">#10234</a></li>
</ul>
<h3>Features</h3>
<ul>
<li>feat: add <code>syncthing debug database-statistics</code> command by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3076576811" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10117" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10117/hovercard" href="https://github.com/syncthing/syncthing/pull/10117">#10117</a></li>
<li>feat(config): enable multiple connections by default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3102420685" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10151" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10151/hovercard" href="https://github.com/syncthing/syncthing/pull/10151">#10151</a></li>
<li>feat(config): expose folder and device info as metrics (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2266117621" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9519" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9519/hovercard" href="https://github.com/syncthing/syncthing/issues/9519">#9519</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3102305474" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10148" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10148/hovercard" href="https://github.com/syncthing/syncthing/pull/10148">#10148</a></li>
<li>feat: use Ed25519 keys for sync connections by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3128078585" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10162" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10162/hovercard" href="https://github.com/syncthing/syncthing/pull/10162">#10162</a></li>
<li>feat(gui): add option to limit bandwidth in LAN to Settings (ref <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2979923003" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10046" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10046/hovercard" href="https://github.com/syncthing/syncthing/issues/10046">#10046</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3150659906" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10182" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10182/hovercard" href="https://github.com/syncthing/syncthing/pull/10182">#10182</a></li>
<li>feat(connections, nat): add UDP portmapping/pinhole for QUIC (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="815608128" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/7403" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/7403/hovercard" href="https://github.com/syncthing/syncthing/issues/7403">#7403</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3138186942" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10171" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10171/hovercard" href="https://github.com/syncthing/syncthing/pull/10171">#10171</a></li>
<li>feat: add debug commands for folder counts and files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3201637784" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10206" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10206/hovercard" href="https://github.com/syncthing/syncthing/pull/10206">#10206</a></li>
<li>feat(ignore): add .stignore escaping on Windows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rasa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rasa">@rasa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186414101" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10205" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10205/hovercard" href="https://github.com/syncthing/syncthing/pull/10205">#10205</a></li>
<li>feat: switch logging framework by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3267420471" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10220" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10220/hovercard" href="https://github.com/syncthing/syncthing/pull/10220">#10220</a></li>
</ul>
<h3>Other</h3>
<ul>
<li>chore: remove abandoned next-gen-gui experiment by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2956524627" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10004" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10004/hovercard" href="https://github.com/syncthing/syncthing/pull/10004">#10004</a></li>
<li>chore: remove weak hashing which does not pull its weight by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2956588498" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10005" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10005/hovercard" href="https://github.com/syncthing/syncthing/pull/10005">#10005</a></li>
<li>chore: switch database engine to sqlite (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2842934499" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9954" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9954/hovercard" href="https://github.com/syncthing/syncthing/issues/9954">#9954</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2873307974" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9965" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/9965/hovercard" href="https://github.com/syncthing/syncthing/pull/9965">#9965</a></li>
<li>chore: harmonise command line flags by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958534167" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10007" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10007/hovercard" href="https://github.com/syncthing/syncthing/pull/10007">#10007</a></li>
<li>chore(db): increase journal limit to 64MiB by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bt90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bt90">@bt90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2965893978" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10022" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10022/hovercard" href="https://github.com/syncthing/syncthing/pull/10022">#10022</a></li>
<li>chore: forget deleted files older than six months (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="552807317" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/6284" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/6284/hovercard" href="https://github.com/syncthing/syncthing/issues/6284">#6284</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2966294655" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10023" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10023/hovercard" href="https://github.com/syncthing/syncthing/pull/10023">#10023</a></li>
<li>chore(db): use shorter read transactions and periodic checkpoint for smaller WAL by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2967356280" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10027" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10027/hovercard" href="https://github.com/syncthing/syncthing/pull/10027">#10027</a></li>
<li>chore: configurable delete retention interval by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2968598175" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10030" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10030/hovercard" href="https://github.com/syncthing/syncthing/pull/10030">#10030</a></li>
<li>chore(db): fix debug logging by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bt90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bt90">@bt90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2970332468" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10033" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10033/hovercard" href="https://github.com/syncthing/syncthing/pull/10033">#10033</a></li>
<li>chore(db): buffer pulled files for smaller WAL by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2971346438" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10036" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10036/hovercard" href="https://github.com/syncthing/syncthing/pull/10036">#10036</a></li>
<li>chore(db): use one SQLite database per folder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2974885610" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10042" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10042/hovercard" href="https://github.com/syncthing/syncthing/pull/10042">#10042</a></li>
<li>chore(model): delay starting a pull while there are incoming index updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2974883846" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10041" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10041/hovercard" href="https://github.com/syncthing/syncthing/pull/10041">#10041</a></li>
<li>chore(syncthing): remove "default" folder concept by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3012747206" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10068" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10068/hovercard" href="https://github.com/syncthing/syncthing/pull/10068">#10068</a></li>
<li>chore(syncthing): ensure migrated database is closed before exiting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xjtdy888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xjtdy888">@xjtdy888</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3028270328" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10076" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10076/hovercard" href="https://github.com/syncthing/syncthing/pull/10076">#10076</a></li>
<li>chore(db, model): simplify per hash DB lookup in copier by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3034064391" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10080" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10080/hovercard" href="https://github.com/syncthing/syncthing/pull/10080">#10080</a></li>
<li>chore(model): refactor copier for more flatness by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3035453856" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10094" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10094/hovercard" href="https://github.com/syncthing/syncthing/pull/10094">#10094</a></li>
<li>build: upgrade setup-zig action by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3091053923" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10134" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10134/hovercard" href="https://github.com/syncthing/syncthing/pull/10134">#10134</a></li>
<li>build: properly propagate build tags to Debian build by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3100617295" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10144" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10144/hovercard" href="https://github.com/syncthing/syncthing/pull/10144">#10144</a></li>
<li>chore(protocol): don't start connection routines a second time by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3101213291" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10146" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10146/hovercard" href="https://github.com/syncthing/syncthing/pull/10146">#10146</a></li>
<li>chore(protocol): only allow enc. password changes on cluster config by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3101212814" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10145" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10145/hovercard" href="https://github.com/syncthing/syncthing/pull/10145">#10145</a></li>
<li>chore: various linter fixes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3124276343" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10157" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10157/hovercard" href="https://github.com/syncthing/syncthing/pull/10157">#10157</a></li>
<li>build: streamline gathering of facts, checkouts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3126874810" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10158" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10158/hovercard" href="https://github.com/syncthing/syncthing/pull/10158">#10158</a></li>
<li>build: build both Debian armel and armhf (though they are the same for us) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3127045900" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10159" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10159/hovercard" href="https://github.com/syncthing/syncthing/pull/10159">#10159</a></li>
<li>build: explicitly trigger build after pushing release tag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3127064833" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10160" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10160/hovercard" href="https://github.com/syncthing/syncthing/pull/10160">#10160</a></li>
<li>chore(syncthing): ensure response body is closed in upgrade request by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3131221927" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10169" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10169/hovercard" href="https://github.com/syncthing/syncthing/pull/10169">#10169</a></li>
<li>refactor(syncthing): use named constant for SIGHUP by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3131213110" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10168" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10168/hovercard" href="https://github.com/syncthing/syncthing/pull/10168">#10168</a></li>
<li>chore(model): remove redundant removal of internal fields in indexsender by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3141564431" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10173" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10173/hovercard" href="https://github.com/syncthing/syncthing/pull/10173">#10173</a></li>
<li>chore: add migration for remote invalid local flag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3141662458" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10174" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10174/hovercard" href="https://github.com/syncthing/syncthing/pull/10174">#10174</a></li>
<li>chore(config): increase max concurrent writes default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3180308273" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10200" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10200/hovercard" href="https://github.com/syncthing/syncthing/pull/10200">#10200</a></li>
<li>chore(gui): added spacing between folder name and error message by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3183037332" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10201" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10201/hovercard" href="https://github.com/syncthing/syncthing/pull/10201">#10201</a></li>
<li>build: unset build ID in generated binaries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Catfriend1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Catfriend1">@Catfriend1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3184905539" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10203" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10203/hovercard" href="https://github.com/syncthing/syncthing/pull/10203">#10203</a></li>
<li>chore(protocol): minor cleanup of ClusterConfig messages; remove DisableTempIndexes option by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3184770457" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10202" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10202/hovercard" href="https://github.com/syncthing/syncthing/pull/10202">#10202</a></li>
<li>refactor(beacon, osutil, upnp, netutil): only use anet on Android by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3206933825" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10211" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10211/hovercard" href="https://github.com/syncthing/syncthing/pull/10211">#10211</a></li>
<li>chore(gui): fix "Shut Down" spelling in Actions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3216487743" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10213" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10213/hovercard" href="https://github.com/syncthing/syncthing/pull/10213">#10213</a></li>
<li>chore(gui): update fancytree from 2.38.0 to 2.38.5 (ref <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2984124115" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10051" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10051/hovercard" href="https://github.com/syncthing/syncthing/issues/10051">#10051</a>, ref <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3121547764" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10155" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10155/hovercard" href="https://github.com/syncthing/syncthing/issues/10155">#10155</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3216894287" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10214" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10214/hovercard" href="https://github.com/syncthing/syncthing/pull/10214">#10214</a></li>
<li>chore(config): remove fallback STUN servers that are CNAMEs to stun.counterpath.com by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3258406618" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10219" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10219/hovercard" href="https://github.com/syncthing/syncthing/pull/10219">#10219</a></li>
<li>chore(scanner): reduce memory pressure by using pools inside hasher by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3276396412" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10222" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10222/hovercard" href="https://github.com/syncthing/syncthing/pull/10222">#10222</a></li>
<li>chore(fs): slightly reduce memory usage of IsParent by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3276900160" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10223" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10223/hovercard" href="https://github.com/syncthing/syncthing/pull/10223">#10223</a></li>
<li>refactor(scanner): use recommended pattern for slice pool by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3283033587" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10225" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10225/hovercard" href="https://github.com/syncthing/syncthing/pull/10225">#10225</a></li>
<li>chore(slogutil): ensure quoting of empty and confusing log values by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307308395" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10236" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10236/hovercard" href="https://github.com/syncthing/syncthing/pull/10236">#10236</a></li>
<li>chore: remove GUI "debugging" toggle, debug HTTP metrics by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307235574" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10235" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10235/hovercard" href="https://github.com/syncthing/syncthing/pull/10235">#10235</a></li>
<li>chore(gui): remove redundant "authenticated" conditions from Actions menu (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307235574" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10235" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10235/hovercard" href="https://github.com/syncthing/syncthing/pull/10235">#10235</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307917032" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10237" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10237/hovercard" href="https://github.com/syncthing/syncthing/pull/10237">#10237</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3111749700" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10154" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10154/hovercard" href="https://github.com/syncthing/syncthing/pull/10154">#10154</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yparitcher/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yparitcher">@yparitcher</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3142096544" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10176" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10176/hovercard" href="https://github.com/syncthing/syncthing/pull/10176">#10176</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3276396412" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10222" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10222/hovercard" href="https://github.com/syncthing/syncthing/pull/10222">#10222</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/syncthing/syncthing/compare/v1.29.7...v2.0.0"><tt>v1.29.7...v2.0.0</tt></a></p>st-releasetag:github.com,2008:Repository/14712850/v2.0.0-rc.252025-08-11T17:52:32Zsyncthing: v2.0.0-rc.25<h2>Major changes in 2.0</h2>
<ul>
<li>
<p>Database backend switched from LevelDB to SQLite. There is a migration on<br>
first launch which can be lengthy for larger setups. The new database is<br>
easier to understand and maintain and, hopefully, less buggy.</p>
</li>
<li>
<p>The logging format has changed to use structured log entries (a message<br>
plus several key-value pairs). Additionally, we can now control the log<br>
level per package, and a new log level WARNING has been inserted between<br>
INFO and ERROR (which was previously known as WARNING...). The INFO level<br>
has become more verbose, indicating the sync actions taken by Syncthing. A<br>
new command line flag <code>--log-level</code> sets the default log level for all<br>
packages, and the <code>STTRACE</code> environment variable and GUI has been updated<br>
to set log levels per package. The <code>--verbose</code> and <code>--logflags</code> command<br>
line options have been removed and will be ignored if given.</p>
</li>
<li>
<p>Deleted items are no longer kept forever in the database, instead they are<br>
forgotten after six months. If your use case require deletes to take<br>
effect after more than a six month delay, set the<br>
<code>--db-delete-retention-interval</code> command line option or corresponding<br>
environment variable to zero, or a longer time interval of your choosing.</p>
</li>
<li>
<p>Modernised command line options parsing. Old single-dash long options are<br>
no longer supported, e.g. <code>-home</code> must be given as <code>--home</code>. Some options<br>
have been renamed, others have become subcommands. All serve options are<br>
now also accepted as environment variables. See <code>syncthing --help</code> and<br>
<code>syncthing serve --help</code> for details.</p>
</li>
<li>
<p>Rolling hash detection of shifted data is no longer supported as this<br>
effectively never helped. Instead, scanning and syncing is faster and more<br>
efficient without it.</p>
</li>
<li>
<p>A "default folder" is no longer created on first startup.</p>
</li>
<li>
<p>Multiple connections are now used by default between v2 devices. The new<br>
default value is to use three connections: one for index metadata and two<br>
for data exchange.</p>
</li>
<li>
<p>The following platforms unfortunately no longer get prebuilt binaries for<br>
download at syncthing.net and on GitHub, due to complexities related to<br>
cross compilation with SQLite:</p>
<ul>
<li>dragonfly/amd64</li>
<li>illumos/amd64 and solaris/amd64</li>
<li>linux/ppc64</li>
<li>netbsd/*</li>
<li>openbsd/386 and openbsd/arm</li>
<li>windows/arm</li>
</ul>
</li>
<li>
<p>The handling of conflict resolution involving deleted files has changed. A<br>
delete can now be the winning outcome of conflict resolution, resulting in<br>
the deleted file being moved to a conflict copy.</p>
</li>
</ul>
<p>This release is also available as:</p>
<ul>
<li>
<p>APT repository: <a href="https://apt.syncthing.net/" rel="nofollow">https://apt.syncthing.net/</a></p>
</li>
<li>
<p>Docker image: <code>docker.io/syncthing/syncthing:2.0.0-rc.25</code> or <code>ghcr.io/syncthing/syncthing:2.0.0-rc.25</code><br>
(<code>{docker,ghcr}.io/syncthing/syncthing:2</code> to follow just the major version)</p>
</li>
</ul>
<h2>What's Changed</h2>
<h3>Fixes</h3>
<ul>
<li>fix(db): handle large numbers of blocks in update by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2967056476" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10025" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10025/hovercard" href="https://github.com/syncthing/syncthing/pull/10025">#10025</a></li>
<li>fix(syncthing): make directory flags global for all commands by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2967644972" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10028" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10028/hovercard" href="https://github.com/syncthing/syncthing/pull/10028">#10028</a></li>
<li>fix(sqlite): apply options by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pixelspark/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pixelspark">@pixelspark</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2980954973" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10049" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10049/hovercard" href="https://github.com/syncthing/syncthing/pull/10049">#10049</a></li>
<li>fix(db): version vector serialisation :( by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2983203375" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10050" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10050/hovercard" href="https://github.com/syncthing/syncthing/pull/10050">#10050</a></li>
<li>fix(model): loop-break regression while block copying in puller by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3015402081" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10069" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10069/hovercard" href="https://github.com/syncthing/syncthing/pull/10069">#10069</a></li>
<li>fix(model): close fd immediately in copier by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3034053289" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10079" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10079/hovercard" href="https://github.com/syncthing/syncthing/pull/10079">#10079</a></li>
<li>fix(model): use same folder first in copier by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3035438524" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10093" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10093/hovercard" href="https://github.com/syncthing/syncthing/pull/10093">#10093</a></li>
<li>fix(model): correct bufferpool handling; simplify by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3069798757" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10113" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10113/hovercard" href="https://github.com/syncthing/syncthing/pull/10113">#10113</a></li>
<li>fix(protocol): avoid deadlock with concurrent connection start and close by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3096256832" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10140" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10140/hovercard" href="https://github.com/syncthing/syncthing/pull/10140">#10140</a></li>
<li>fix(syncthing): avoid writing panic log to nil fd by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3111749700" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10154" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10154/hovercard" href="https://github.com/syncthing/syncthing/pull/10154">#10154</a></li>
<li>fix(fs): check for unsupported error on modern Windows (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3128916258" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10164" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10164/hovercard" href="https://github.com/syncthing/syncthing/issues/10164">#10164</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rasa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rasa">@rasa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3128930945" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10165" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10165/hovercard" href="https://github.com/syncthing/syncthing/pull/10165">#10165</a></li>
<li>fix(gui): don't show dial errors for paused devices (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3129025413" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10166" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10166/hovercard" href="https://github.com/syncthing/syncthing/issues/10166">#10166</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3129057057" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10167" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10167/hovercard" href="https://github.com/syncthing/syncthing/pull/10167">#10167</a></li>
<li>fix: track invalid files in LocalFlags to fix global count by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3138054508" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10170" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10170/hovercard" href="https://github.com/syncthing/syncthing/pull/10170">#10170</a></li>
<li>fix(watchaggregator): properly handle sub-second watch durations (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2795033655" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9927" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9927/hovercard" href="https://github.com/syncthing/syncthing/issues/9927">#9927</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3144821078" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10179" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10179/hovercard" href="https://github.com/syncthing/syncthing/pull/10179">#10179</a></li>
<li>fix(db): remove invalid member from FileMetadata by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3146332389" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10180" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10180/hovercard" href="https://github.com/syncthing/syncthing/pull/10180">#10180</a></li>
<li>fix(model): avoid flashing "Sync Waiting" unnecessarily by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3148892525" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10181" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10181/hovercard" href="https://github.com/syncthing/syncthing/pull/10181">#10181</a></li>
<li>fix(protocol): slightly loosen/correct ownership comparison criteria (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2749588786" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9879" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9879/hovercard" href="https://github.com/syncthing/syncthing/issues/9879">#9879</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yparitcher/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yparitcher">@yparitcher</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3142096544" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10176" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10176/hovercard" href="https://github.com/syncthing/syncthing/pull/10176">#10176</a></li>
<li>fix(model): don't clobber local flags when receiving index by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3158994657" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10190" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10190/hovercard" href="https://github.com/syncthing/syncthing/pull/10190">#10190</a></li>
<li>fix(beacon, osutil, upnp): fix local discovery send and intf detection on Android by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Catfriend1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Catfriend1">@Catfriend1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3176088007" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10196" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10196/hovercard" href="https://github.com/syncthing/syncthing/pull/10196">#10196</a></li>
<li>fix(pmp, netutil): workaround native code denied to discover gateway ipv4 addr on Android 14+ by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Catfriend1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Catfriend1">@Catfriend1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186062144" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10204" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10204/hovercard" href="https://github.com/syncthing/syncthing/pull/10204">#10204</a></li>
<li>fix: allow deleted files to win conflict resolution by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3204556991" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10207" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10207/hovercard" href="https://github.com/syncthing/syncthing/pull/10207">#10207</a></li>
<li>fix(gui): show revert buttons only when folder is idle (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3161087217" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10191" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10191/hovercard" href="https://github.com/syncthing/syncthing/issues/10191">#10191</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3207101068" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10212" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10212/hovercard" href="https://github.com/syncthing/syncthing/pull/10212">#10212</a></li>
<li>fix(gui): fix identicon generation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aionescu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aionescu">@aionescu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3287179514" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10228" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10228/hovercard" href="https://github.com/syncthing/syncthing/pull/10228">#10228</a></li>
<li>fix(model): properly set folder state "syncing" when copying data by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3287028554" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10227" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10227/hovercard" href="https://github.com/syncthing/syncthing/pull/10227">#10227</a></li>
<li>fix(slogutil): quote values with parentheses in them by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3299774362" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10229" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10229/hovercard" href="https://github.com/syncthing/syncthing/pull/10229">#10229</a></li>
<li>fix(test): remove lib/logger from testmocks target by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rasa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rasa">@rasa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3305118730" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10231" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10231/hovercard" href="https://github.com/syncthing/syncthing/pull/10231">#10231</a></li>
<li>fix: correct logging of our ID after startup & generate by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307224818" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10234" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10234/hovercard" href="https://github.com/syncthing/syncthing/pull/10234">#10234</a></li>
</ul>
<h3>Features</h3>
<ul>
<li>feat: add <code>syncthing debug database-statistics</code> command by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3076576811" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10117" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10117/hovercard" href="https://github.com/syncthing/syncthing/pull/10117">#10117</a></li>
<li>feat(config): enable multiple connections by default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3102420685" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10151" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10151/hovercard" href="https://github.com/syncthing/syncthing/pull/10151">#10151</a></li>
<li>feat(config): expose folder and device info as metrics (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2266117621" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9519" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9519/hovercard" href="https://github.com/syncthing/syncthing/issues/9519">#9519</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3102305474" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10148" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10148/hovercard" href="https://github.com/syncthing/syncthing/pull/10148">#10148</a></li>
<li>feat: use Ed25519 keys for sync connections by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3128078585" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10162" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10162/hovercard" href="https://github.com/syncthing/syncthing/pull/10162">#10162</a></li>
<li>feat(gui): add option to limit bandwidth in LAN to Settings (ref <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2979923003" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10046" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10046/hovercard" href="https://github.com/syncthing/syncthing/issues/10046">#10046</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3150659906" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10182" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10182/hovercard" href="https://github.com/syncthing/syncthing/pull/10182">#10182</a></li>
<li>feat(connections, nat): add UDP portmapping/pinhole for QUIC (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="815608128" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/7403" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/7403/hovercard" href="https://github.com/syncthing/syncthing/issues/7403">#7403</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3138186942" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10171" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10171/hovercard" href="https://github.com/syncthing/syncthing/pull/10171">#10171</a></li>
<li>feat: add debug commands for folder counts and files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3201637784" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10206" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10206/hovercard" href="https://github.com/syncthing/syncthing/pull/10206">#10206</a></li>
<li>feat(ignore): add .stignore escaping on Windows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rasa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rasa">@rasa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186414101" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10205" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10205/hovercard" href="https://github.com/syncthing/syncthing/pull/10205">#10205</a></li>
<li>feat: switch logging framework by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3267420471" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10220" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10220/hovercard" href="https://github.com/syncthing/syncthing/pull/10220">#10220</a></li>
</ul>
<h3>Other</h3>
<ul>
<li>chore: remove abandoned next-gen-gui experiment by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2956524627" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10004" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10004/hovercard" href="https://github.com/syncthing/syncthing/pull/10004">#10004</a></li>
<li>chore: remove weak hashing which does not pull its weight by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2956588498" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10005" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10005/hovercard" href="https://github.com/syncthing/syncthing/pull/10005">#10005</a></li>
<li>chore: switch database engine to sqlite (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2842934499" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9954" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9954/hovercard" href="https://github.com/syncthing/syncthing/issues/9954">#9954</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2873307974" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9965" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/9965/hovercard" href="https://github.com/syncthing/syncthing/pull/9965">#9965</a></li>
<li>chore: harmonise command line flags by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958534167" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10007" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10007/hovercard" href="https://github.com/syncthing/syncthing/pull/10007">#10007</a></li>
<li>chore(db): increase journal limit to 64MiB by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bt90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bt90">@bt90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2965893978" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10022" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10022/hovercard" href="https://github.com/syncthing/syncthing/pull/10022">#10022</a></li>
<li>chore: forget deleted files older than six months (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="552807317" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/6284" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/6284/hovercard" href="https://github.com/syncthing/syncthing/issues/6284">#6284</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2966294655" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10023" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10023/hovercard" href="https://github.com/syncthing/syncthing/pull/10023">#10023</a></li>
<li>chore(db): use shorter read transactions and periodic checkpoint for smaller WAL by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2967356280" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10027" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10027/hovercard" href="https://github.com/syncthing/syncthing/pull/10027">#10027</a></li>
<li>chore: configurable delete retention interval by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2968598175" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10030" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10030/hovercard" href="https://github.com/syncthing/syncthing/pull/10030">#10030</a></li>
<li>chore(db): fix debug logging by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bt90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bt90">@bt90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2970332468" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10033" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10033/hovercard" href="https://github.com/syncthing/syncthing/pull/10033">#10033</a></li>
<li>chore(db): buffer pulled files for smaller WAL by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2971346438" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10036" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10036/hovercard" href="https://github.com/syncthing/syncthing/pull/10036">#10036</a></li>
<li>chore(db): use one SQLite database per folder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2974885610" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10042" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10042/hovercard" href="https://github.com/syncthing/syncthing/pull/10042">#10042</a></li>
<li>chore(model): delay starting a pull while there are incoming index updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2974883846" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10041" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10041/hovercard" href="https://github.com/syncthing/syncthing/pull/10041">#10041</a></li>
<li>chore(syncthing): remove "default" folder concept by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3012747206" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10068" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10068/hovercard" href="https://github.com/syncthing/syncthing/pull/10068">#10068</a></li>
<li>chore(syncthing): ensure migrated database is closed before exiting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xjtdy888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xjtdy888">@xjtdy888</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3028270328" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10076" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10076/hovercard" href="https://github.com/syncthing/syncthing/pull/10076">#10076</a></li>
<li>chore(db, model): simplify per hash DB lookup in copier by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3034064391" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10080" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10080/hovercard" href="https://github.com/syncthing/syncthing/pull/10080">#10080</a></li>
<li>chore(model): refactor copier for more flatness by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3035453856" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10094" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10094/hovercard" href="https://github.com/syncthing/syncthing/pull/10094">#10094</a></li>
<li>build: upgrade setup-zig action by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3091053923" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10134" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10134/hovercard" href="https://github.com/syncthing/syncthing/pull/10134">#10134</a></li>
<li>build: properly propagate build tags to Debian build by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3100617295" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10144" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10144/hovercard" href="https://github.com/syncthing/syncthing/pull/10144">#10144</a></li>
<li>chore(protocol): don't start connection routines a second time by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3101213291" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10146" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10146/hovercard" href="https://github.com/syncthing/syncthing/pull/10146">#10146</a></li>
<li>chore(protocol): only allow enc. password changes on cluster config by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3101212814" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10145" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10145/hovercard" href="https://github.com/syncthing/syncthing/pull/10145">#10145</a></li>
<li>chore: various linter fixes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3124276343" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10157" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10157/hovercard" href="https://github.com/syncthing/syncthing/pull/10157">#10157</a></li>
<li>build: streamline gathering of facts, checkouts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3126874810" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10158" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10158/hovercard" href="https://github.com/syncthing/syncthing/pull/10158">#10158</a></li>
<li>build: build both Debian armel and armhf (though they are the same for us) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3127045900" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10159" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10159/hovercard" href="https://github.com/syncthing/syncthing/pull/10159">#10159</a></li>
<li>build: explicitly trigger build after pushing release tag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3127064833" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10160" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10160/hovercard" href="https://github.com/syncthing/syncthing/pull/10160">#10160</a></li>
<li>chore(syncthing): ensure response body is closed in upgrade request by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3131221927" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10169" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10169/hovercard" href="https://github.com/syncthing/syncthing/pull/10169">#10169</a></li>
<li>refactor(syncthing): use named constant for SIGHUP by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3131213110" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10168" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10168/hovercard" href="https://github.com/syncthing/syncthing/pull/10168">#10168</a></li>
<li>chore(model): remove redundant removal of internal fields in indexsender by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3141564431" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10173" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10173/hovercard" href="https://github.com/syncthing/syncthing/pull/10173">#10173</a></li>
<li>chore: add migration for remote invalid local flag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3141662458" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10174" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10174/hovercard" href="https://github.com/syncthing/syncthing/pull/10174">#10174</a></li>
<li>chore(config): increase max concurrent writes default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3180308273" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10200" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10200/hovercard" href="https://github.com/syncthing/syncthing/pull/10200">#10200</a></li>
<li>chore(gui): added spacing between folder name and error message by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3183037332" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10201" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10201/hovercard" href="https://github.com/syncthing/syncthing/pull/10201">#10201</a></li>
<li>build: unset build ID in generated binaries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Catfriend1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Catfriend1">@Catfriend1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3184905539" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10203" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10203/hovercard" href="https://github.com/syncthing/syncthing/pull/10203">#10203</a></li>
<li>chore(protocol): minor cleanup of ClusterConfig messages; remove DisableTempIndexes option by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3184770457" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10202" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10202/hovercard" href="https://github.com/syncthing/syncthing/pull/10202">#10202</a></li>
<li>refactor(beacon, osutil, upnp, netutil): only use anet on Android by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3206933825" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10211" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10211/hovercard" href="https://github.com/syncthing/syncthing/pull/10211">#10211</a></li>
<li>chore(gui): fix "Shut Down" spelling in Actions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3216487743" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10213" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10213/hovercard" href="https://github.com/syncthing/syncthing/pull/10213">#10213</a></li>
<li>chore(gui): update fancytree from 2.38.0 to 2.38.5 (ref <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2984124115" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10051" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10051/hovercard" href="https://github.com/syncthing/syncthing/issues/10051">#10051</a>, ref <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3121547764" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10155" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10155/hovercard" href="https://github.com/syncthing/syncthing/issues/10155">#10155</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3216894287" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10214" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10214/hovercard" href="https://github.com/syncthing/syncthing/pull/10214">#10214</a></li>
<li>chore(config): remove fallback STUN servers that are CNAMEs to stun.counterpath.com by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3258406618" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10219" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10219/hovercard" href="https://github.com/syncthing/syncthing/pull/10219">#10219</a></li>
<li>chore(scanner): reduce memory pressure by using pools inside hasher by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3276396412" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10222" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10222/hovercard" href="https://github.com/syncthing/syncthing/pull/10222">#10222</a></li>
<li>chore(fs): slightly reduce memory usage of IsParent by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3276900160" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10223" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10223/hovercard" href="https://github.com/syncthing/syncthing/pull/10223">#10223</a></li>
<li>refactor(scanner): use recommended pattern for slice pool by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3283033587" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10225" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10225/hovercard" href="https://github.com/syncthing/syncthing/pull/10225">#10225</a></li>
<li>chore(slogutil): ensure quoting of empty and confusing log values by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307308395" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10236" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10236/hovercard" href="https://github.com/syncthing/syncthing/pull/10236">#10236</a></li>
<li>chore: remove GUI "debugging" toggle, debug HTTP metrics by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307235574" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10235" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10235/hovercard" href="https://github.com/syncthing/syncthing/pull/10235">#10235</a></li>
<li>chore(gui): remove redundant "authenticated" conditions from Actions menu (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307235574" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10235" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10235/hovercard" href="https://github.com/syncthing/syncthing/pull/10235">#10235</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307917032" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10237" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10237/hovercard" href="https://github.com/syncthing/syncthing/pull/10237">#10237</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3111749700" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10154" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10154/hovercard" href="https://github.com/syncthing/syncthing/pull/10154">#10154</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yparitcher/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yparitcher">@yparitcher</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3142096544" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10176" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10176/hovercard" href="https://github.com/syncthing/syncthing/pull/10176">#10176</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3276396412" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10222" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10222/hovercard" href="https://github.com/syncthing/syncthing/pull/10222">#10222</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/syncthing/syncthing/compare/v1.29.7...v2.0.0-rc.25"><tt>v1.29.7...v2.0.0-rc.25</tt></a></p>st-releasetag:github.com,2008:Repository/840832278/latest2025-08-11T15:47:18Zjv880_juce: jv880 Latest<h2>Commits</h2>
<ul>
<li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/giulioz/jv880_juce/commit/dfbed342ef1b9ce6a0f8037ccb84385975abb61b/hovercard" href="https://github.com/giulioz/jv880_juce/commit/dfbed342ef1b9ce6a0f8037ccb84385975abb61b"><tt>dfbed34</tt></a>: Update gitignore (Mario Kruselj)</li>
</ul>github-actions[bot]tag:github.com,2008:Repository/61958135/v25.01-v1.5.7-R12025-08-11T14:53:17Z7-Zip-zstd: 7-Zip ZS 25.01 - v1.5.7 - Release 1<p>7-Zip ZS 25.01 - v1.5.7 - Release 1</p>
<p>Updates and Fixes:</p>
<ul>
<li>update 7-Zip 25.01 - by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sebres/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sebres">@sebres</a></li>
</ul>
<p>Compression versions in this release:</p>
<ul>
<li>Brotli Version 1.1.0</li>
<li>Fast LZMA2 1.0.1</li>
<li>Lizard Version 1.0</li>
<li>LZ4 Version 1.9.4</li>
<li>LZ5 Version 1.5</li>
<li>Zstandard Version 1.5.7</li>
</ul>mcmilktag:github.com,2008:Repository/233472199/3.52025-08-10T21:17:27ZMicrosoft-Activation-Scripts: v3.5 ESU for Home editions / Powershell method for Windows 7<h2>Changelog: 3.5</h2>
<h4>HWID:</h4>
<ul>
<li>The script now won't change region (temporarily) in the top countries.</li>
</ul>
<h4>KMS38:</h4>
<ul>
<li>Removed KMS38 protection (registry lock) feature, it's not important.</li>
</ul>
<h4>TSforge:</h4>
<ul>
<li>Added ESU support for Home editions (license files updated in Windows 10 19045.6156).</li>
<li>Fixed a bug on W10 ARM64.</li>
</ul>
<h4>Change Office Edition:</h4>
<ul>
<li>Fixed an issue with add/remove apps when more than one language is installed.</li>
<li>Added detection for unsupported languages in the Office 2019 Perpetual VL update channel.</li>
</ul>
<h4>All:</h4>
<ul>
<li>Fixed a bug in detecting Terminal app.</li>
<li>The AIO script will now show a tip about ESU updates on Windows 10.</li>
<li>The AIO script will highlight Ohook in green if O365 is installed.</li>
<li>In all KMS-related activation options, the script will display a message about KMS renewal notifications on build 26200 and later.</li>
<li>Added checks for .NET corruption and Windows Sandbox.</li>
<li>Various fixes and improvements.</li>
</ul>
<h4>Powershell command to launch MAS:</h4>
<ul>
<li>The command <code>irm https://massgrave.dev/get | iex</code> is now officially retired. It will display info on how to get the updated code.</li>
<li>Added a new command for Windows 7, along with an alternative DoH-based command for cases where <code>get.activated.win</code> is blocked by ISP/DNS. See <a href="https://massgrave.dev/" rel="nofollow">https://massgrave.dev/</a> for details.</li>
</ul>
<hr>
<h2>Download / How to use it?</h2>
<p><a href="https://github.com/massgravel/Microsoft-Activation-Scripts?tab=readme-ov-file#download--how-to-use-it">https://github.com/massgravel/Microsoft-Activation-Scripts?tab=readme-ov-file#download--how-to-use-it</a></p>
<h2>Don't download from the below Source code (zip) link. Check the above link for the info.</h2>WindowsAddicttag:github.com,2008:Repository/61176492/v0.12.1102025-08-10T07:36:06ZDriverStoreExplorer: DriverStore Explorer v0.12.110<h2>New features</h2>
<ul>
<li>Disable Native Driver Store for Win 7 and 32 bit OS</li>
<li>Separate DISM and PnPUtil options</li>
<li>Bug fixes and localization updates</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Update Language.ko-KR.resx by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VenusGirl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VenusGirl">@VenusGirl</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3295671324" data-permission-text="Title is private" data-url="https://github.com/lostindark/DriverStoreExplorer/issues/362" data-hovercard-type="pull_request" data-hovercard-url="/lostindark/DriverStoreExplorer/pull/362/hovercard" href="https://github.com/lostindark/DriverStoreExplorer/pull/362">#362</a></li>
<li>Update Language.tr-TR.resx by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BouRock/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BouRock">@BouRock</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3295930389" data-permission-text="Title is private" data-url="https://github.com/lostindark/DriverStoreExplorer/issues/363" data-hovercard-type="pull_request" data-hovercard-url="/lostindark/DriverStoreExplorer/pull/363/hovercard" href="https://github.com/lostindark/DriverStoreExplorer/pull/363">#363</a></li>
<li>Update Language.pt-BR.resx by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/igorruckert/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/igorruckert">@igorruckert</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3296401876" data-permission-text="Title is private" data-url="https://github.com/lostindark/DriverStoreExplorer/issues/364" data-hovercard-type="pull_request" data-hovercard-url="/lostindark/DriverStoreExplorer/pull/364/hovercard" href="https://github.com/lostindark/DriverStoreExplorer/pull/364">#364</a></li>
<li>Update Language.ru-RU.resx by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/solokot/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/solokot">@solokot</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3303181380" data-permission-text="Title is private" data-url="https://github.com/lostindark/DriverStoreExplorer/issues/366" data-hovercard-type="pull_request" data-hovercard-url="/lostindark/DriverStoreExplorer/pull/366/hovercard" href="https://github.com/lostindark/DriverStoreExplorer/pull/366">#366</a></li>
<li>Update Language.uk-UA.resx by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Lan72/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Lan72">@Lan72</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3304431988" data-permission-text="Title is private" data-url="https://github.com/lostindark/DriverStoreExplorer/issues/367" data-hovercard-type="pull_request" data-hovercard-url="/lostindark/DriverStoreExplorer/pull/367/hovercard" href="https://github.com/lostindark/DriverStoreExplorer/pull/367">#367</a></li>
<li>Update Language.es-ES.resx by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/MELERIX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/MELERIX">@MELERIX</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3305485100" data-permission-text="Title is private" data-url="https://github.com/lostindark/DriverStoreExplorer/issues/368" data-hovercard-type="pull_request" data-hovercard-url="/lostindark/DriverStoreExplorer/pull/368/hovercard" href="https://github.com/lostindark/DriverStoreExplorer/pull/368">#368</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/lostindark/DriverStoreExplorer/compare/v0.12.100...v0.12.110"><tt>v0.12.100...v0.12.110</tt></a></p>lostindarktag:github.com,2008:Repository/15337142/v1.27.0-preview2025-08-09T22:42:11Zmicropython: v1.27.0-preview: all: Bump version to 1.27.0-preview.<p>Signed-off-by: Damien George <a href="mailto:damien@micropython.org">damien@micropython.org</a></p>dpgeorgetag:github.com,2008:Repository/259488212/nightly2025-08-09T17:27:09Zf2: Development build (master)<p>This build is directly sourced from the <code>master</code> branch in active development. As such, it may include experimental features and potential bugs.</p>github-actions[bot]tag:github.com,2008:Repository/15337142/v1.26.02025-08-09T15:08:31Zmicropython: I2CTarget, improved floats and native emitter, STM32N6 & ESP32C2 support<p>This release of MicroPython sees the introduction of <code>machine.I2CTarget</code>, which allows Python code to implement an I2C target device. It's available on the alif, esp32, mimxrt, rp2, samd, stm32 and zephyr ports. In the simplest case it can create an I2C register/memory device that connects to a bytearray (or similar buffer) and allows an I2C controller to read from and write into that bytearray. For more complex scenarios the <code>I2CTarget</code> class exposes a set of interrupts which can be acted upon by Python code, allowing an arbitrary I2C device to be created. See the documentation for more details and examples.</p>
<p>Floating point support has been improved in a few ways in this release. First, the formatting (printing) of floats has been rewritten to significantly improve the <code>repr</code> reversibility of floating-point numbers. That is, formatting and then re-parsing a float should return the original value. In MicroPython the percentage of floats that correctly repr and parse back was around 28% (single precision) and 38% (double precision), but has now been improved (in the standard build configuration) to 98.5% and 99.8% (single and double respectively). In addition to printing out more accurate floats, that helps a lot when saving floats to .mpy files, because it means they can be loaded back to the same value.</p>
<p>Second, there is now support in the compiler for handling floats as constants. Floats can now be folded (along with integers) in arithmetic operations, and be part of <code>const</code> assignments. This helps to optimize bytecode because constant float expressions can now be evaluated in the compiler instead of at runtime.</p>
<p>The third float improvement involves object representation C, where floats are stored within the immediate object value rather than on the heap. In this object module, the float can only take up 30 bits, so the last two bits of the single precision number are lost. Previously they were just truncated, but now a heuristic is applied when recovering the float value from the object such that the last two bits are copied from the previous two. This alleviates a bias towards zero and in general improves floating point calculations when using this representation.</p>
<p>The native and viper emitter backends have been improved to emit more optimal machine code, for example to use more compact instructions in loads and stores. This is for all supported architectures: ARM, Thumb, Xtensa, RISC-V 32, x86 and x64. Thumb v1 (for example RP2040) now supports long jumps greater than 12 bits, allowing larger Python functions to be compiled to this native architecture. Also, the inline Xtensa assembler now implements most of the LX3 opcodes, with additions including addx2, subx2, ssl and ssr, among others.</p>
<p>Two new MCUs are supported by this release: STM32N6xx and ESP32-C2 (aka ESP8684). The STM32N6xx is a new STMicroelectronics MCU running at 800MHz with a large amount of RAM and machine-learning accelerators. MicroPython now supports this MCU with USB, XSPI memory-mapped external flash, a filesystem, basic peripherals and deepsleep. The ESP32-C2 is by Espressif and is a small and low cost RISC-V MCU with WiFi and BLE. MicroPython running on this MCU supports a REPL, filesystem, GPIO, I2C, ADC, PWM, timers, WiFi and BLE.</p>
<p>The date range supported by the <code>time</code> module has now been standardized to work the same across all platforms. The functions <code>time()</code>, <code>localtime()</code> and <code>mktime()</code> now work properly on a reasonable range of dates, from at least 1970 up to 2099, regardless of the Epoch used by the platform.</p>
<p>The MicroPython virtual machine is now able to avoid heap-allocating slices when subscripting bytearray and memoryview objects, for example expressions like <code>bytearray_obj[a:b] = c</code>. The slice object is now allocated on the C stack, helping to reduce memory churn and allowing such expressions to work when the heap is locked, for example during a hard interrupt handler. This improvement goes in the general direction of MicroPython using the heap as little as possible, making execution more deterministic.</p>
<p>Other improvements to the core runtime include support for using <code>__all__</code> in star imports, support for PEP487's <code>__set_name__</code> special method, support for the _b/o/x specifier in <code>str.format</code>, and arrays can now be extended from any iterable, not just from an object with the buffer protocol. A new MicroPython-specific <code>sys.implementation._thread</code> attribute has been added, which exists when threading is enabled and tells which threading model is used (GIL or unsafe/no-GIL).</p>
<p>The <code>framebuf</code> module now supports blit'ing read-only data to a <code>FrameBuffer</code>, which helps when implementing custom fonts that can now be stored in ROM. The DTLS implementation in the <code>tls</code> module now enables DTLS HelloVerify and Anti Replay protection (for the mbedTLS backend), allowing proper DTLS servers to be implemented. The lwIP socket layer now has a queue of incoming UDP and raw packets (previously it only had room for one outstanding packet), allowing for more robust and efficient UDP protocols.</p>
<p>Mpremote has had a few improvements. There is a new <code>fs tree</code> command which mimics the Unix <code>tree</code> command, and includes the <code>-s</code> and <code>-h</code> options to show the file sizes in the output. The <code>df</code> command has been enhanced to use the new no-argument <code>vfs.mount()</code> query, and shows a much better summary of the mounted filesystems. The <code>mip install</code> command now uses hashes to skip files that exist. The location of the user <code>config.py</code> file is now more portable across many different OSes and configuration styles, thanks to the use of the <code>platformdirs</code> helper package. There is also support for targets without the <code>errno</code> module, improved disconnect handling, and better ESP-device detection for USB-CDC ports.</p>
<p>The <code>mpy_ld.py</code> linker can now resolve fixed-address symbols if requested, for example on ESP8266 it can link to ROM-provided functions. There is also now support for ABS32 text relocations on ARMv6M (RP2040). These improvements extend the set of C extensions that can be compiled for such targets.</p>
<p>Libraries that have been updated in this release include: lwIP updated to STABLE-2_2_1_RELEASE, LittleFS updated to v2.11, libhydrogen updated to the latest release, and stm32lib updated to include support for STM32N6.</p>
<p>There have been many improvements to the test suite, to both the tests and the test runners. This is in part to aid the new Octoprobe test framework, which provides hardware-in-the-loop testing. The continuous integration testing now also includes an undefined behaviour sanitizer (UBSan) build, an address sanitizer (ASan) build, a long-long unix variant, and also testing of object representation C. MicroPython has a lot of tests!</p>
<p>The alif port now supports pin interrupts, has improved SPI transfers, and I2C configuration now allows changing the SCL and SDA pins.</p>
<p>The esp32 port is updated to use ESP-IDF v5.4.2, and now supports ESP32-C2. Most ESP32-based boards now auto-detect the size of their flash on boot and automatically create an appropriate vfs partition based on the size of the flash. This allows the same firmware image to work on boards with various flash sizes. This port has also added a new <code>esp32.PCNT</code> class along with <code>machine.Counter</code> and <code>machine.Encoder</code>, which can count input edges, including motor rotation. The PWM class has been improved, and its API now matches other ports. There is support for the LAN8670 PHY, and a new <code>esp32.idf_task_info()</code> function (useful with the new <code>utop</code> package in micropython-lib). The <code>UART.sendbreak()</code> method has been rewritten so that it doesn't reconfigure the UART during its execution.</p>
<p>The nrf port has had fixes and improvements to its UART REPL to make it more robust, and work with mpremote. It also now uses the correct iRAM address for native code execution on nRF52 MCUs. The nrf implementation of <code>machine.enable_irq()</code> and <code>machine.disable_irq()</code> has been reworked so it uses the code common with all other ports, and this is a breaking change (on nrf boards only) due to the signature change of <code>enable_irq()</code>. Previously the signature was <code>enable_irq()</code>, and now the signature matches other ports, and the docs, and is <code>enable_irq(state)</code>, where <code>state</code> is the return value from <code>disable_irq()</code>.</p>
<p>The rp2 port now enables compressed error messages by default, which reduces firmware size by about 3000 bytes. The pico-sdk alarm pool is now used (again, instead of custom soft-time code) for power-saving delays, and lightsleep has been improved. Open drain mode has been fixed on RP2350 with more than 32 GPIOs, and support for hard IRQ timer callbacks has been added.</p>
<p>The webassembly port has seen improvements to its FFI interface with JavaScript: it improves "has" and "get" proxying, fixes binding of self to JavaScript methods, implements equality for <code>JsProxy</code> objects, and reuses <code>JsProxy</code> references when possible to improve equality relationships of JavaScript objects on the Python side.</p>
<p>The zephyr port has been updated to use Zephyr v4.0.0, and many improvements have been made: PWM support has been added, UARTs are now interrupt driven with ring-buffers and can set the baudrate and other parameters, GPIO supports open-drain mode, SoftI2C and SoftSPI have been enabled, and the <code>zephyr.FlashArea</code> class now contains constants which enumerate the available partitions. REPL reliability has also been improved and it now supports ctrl-C in the default configuration. BLE can now create services at runtime using the standard <code>BLE.register_services()</code> method. Other small things have been added to make the zephyr port match the behaviour of other bare-metal ports, including: <code>boot.py</code> and <code>main.py</code> are now executed at start-up, <code>/lib</code> is added to <code>sys.path</code> as appropriate, stdin/out/err have been enabled in the <code>sys</code> module, along with the ability to import .mpy files, and await/async keywords are enabled. This port now uses the standardized ROM configuration levels, with the default being the<br>
"basic" level.</p>
<p>New boards added in this release are: GARATRONIC_PYBSTICK26_ESP32C3 and SPARKFUN_IOT_REDBOARD_ESP32 (esp32 port), SPARKFUN_REDBOARD_TURBO and SPARKFUN_SAMD21_DEV_BREAKOUT (samd port), NUCLEO_N657X0 and OPENMV_N6 (stm32 port), beagleplay_cc1352p7, nrf5340dk, nrf9151dk and rpi_pico (zephyr port).</p>
<p>The change in code size since the previous release for select builds of various ports is (absolute and percentage change in the text section):</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" bare-arm: -96 -0.168%
minimal x86: -207 -0.112%
unix x64: -376 -0.045%
stm32: +3776 +0.966%
cc3200: +392 +0.212%
esp8266: +3484 +0.498%
esp32: +19064 +1.122%
mimxrt: +3600 +0.970%
renesas-ra: +1296 +0.207%
nrf: +1140 +0.607%
rp2: +556 +0.245% (RPI_PICO board)
rp2: +2252 +0.245% (RPI_PICO_W board)
samd: +3296 +1.233%"><pre class="notranslate"><code> bare-arm: -96 -0.168%
minimal x86: -207 -0.112%
unix x64: -376 -0.045%
stm32: +3776 +0.966%
cc3200: +392 +0.212%
esp8266: +3484 +0.498%
esp32: +19064 +1.122%
mimxrt: +3600 +0.970%
renesas-ra: +1296 +0.207%
nrf: +1140 +0.607%
rp2: +556 +0.245% (RPI_PICO board)
rp2: +2252 +0.245% (RPI_PICO_W board)
samd: +3296 +1.233%
</code></pre></div>
<p>The leading causes of these changes in code size are:</p>
<ul>
<li>bare-arm, minimal: various code size improvements including optimized integer var-arg handling</li>
<li>unix: remove static PATH variable (bss size reduction), implement DTLS HelloVerify and Anti Replay protection (size increase)</li>
<li>stm32: implement <code>machine.I2CTarget</code>, improve accuracy of float formatting and range of time functions, improve native emitter and inline assembler, update LittleFS to v2.11.</li>
<li>cc3200: enable <code>io.IOBase</code> at core feature level, avoid heap-allocating slices when subscripting built-ins.</li>
<li>esp8266: add more LX3 opcodes to the inline assembler, update LittleFS to v2.11, native emitter improvements, add float constant folding.</li>
<li>esp32: update to IDF 5.4.2 (+10k), implement <code>machine.I2CTarget</code>.</li>
<li>mimxrt: implement <code>machine.I2CTarget</code>, improve accuracy of float formatting, improve native emitter, add float constant folding, update LittleFS to v2.11.</li>
<li>renesas-ra: improve accuracy of float formatting, native emitter improvements, add float constant folding.</li>
<li>nrf: improve accuracy of float formatting, enable <code>io.IOBase</code>, standardize the range of time functions.</li>
<li>rp2 (RPI_PICO): enable compressed error messages (-3k), implement <code>machine.I2CTarget</code>, improve accuracy of float formatting.</li>
<li>rp2 (RPI_PICO_W): enable compressed error messages (-3k), implement <code>machine.I2CTarget</code>, implement DTLS HelloVerify and Anti Replay.</li>
<li>samd: implement <code>machine.I2CTarget</code>, improve accuracy of float formatting, improve native emitter, float constant folding.</li>
</ul>
<p>Thanks to everyone who contributed to this release: Alessandro Gatti, Andrea Giammarchi, Andrew Leech, Angus Gratton, Anson Mansfield, Anton Blanchard, Ayush Singh, Chris Webb, Christian Lang, Damien George, Daniel Campora, Daniël van de Giessen, David Schneider, David Yang, Detlev Zundel, Dryw Wade, dubiousjim, Elvis Pfutzenreuter, ennyKey, Garatronic, Herwin Grobben, iabdalkader, IhorNehrutsa, Jeff Epler, Jim Mussared, Jonathan Hogg, Jos Verlinde, Koudai Aono, Malcolm McKellips, Matt Trentini, Maureen Helm, Meir Armon, Patrick Joy, Peter Harper, Phil Howard, purewack, Rick Sorensen, robert-hh, root, SiZiOUS, stijn, TianShuang Ke, Vdragon, Yanfeng Liu, Yoctopuce dev, Yuuki NAGAO.</p>
<p>MicroPython is a global Open Source project, and contributions were made from the following timezones: -0600, -0500, -0400, -0300, +0000, +0100, +0200, +0300, +0530, +0800, +0900, +1000, +1100.</p>
<p>The work done in this release was funded in part through GitHub Sponsors, and in part by George Robotics, Espressif, Arduino, OpenMV, Yoctopuce, Microbric and Planet Innovation.</p>
<p>What follows is a detailed list of changes, generated from the git commit history, and organized into sections.</p>
<h1>Main components</h1>
<p>all:</p>
<ul>
<li>rename the "NORETURN" macro to "MP_NORETURN"</li>
<li>bump Ruff version to v0.11.6</li>
<li>go back to using default ruff quote style</li>
</ul>
<p>py core:</p>
<ul>
<li>objrange: match CPython range slicing</li>
<li>objstr: fix handling of OP_MODULO with namedtuple</li>
<li>dynruntime.mk: fix use of musl's libm.a when LINK_RUNTIME=1</li>
<li>mkrules.cmake: add CMake support for compressed error messages</li>
<li>make struct-initializing macros compatible with C++</li>
<li>malloc: add mutex for tracked allocations</li>
<li>modthread: initialize thread state nlr_top to NULL</li>
<li>makeversionhdr.py: change utcfromtimestamp() to fromtimestamp()</li>
<li>mpconfig: enable io.IOBase at core feature level</li>
<li>emitinlinethumb: refactor string literal as array initializer</li>
<li>objstr: add support for the :_b/o/x specifier in str.format</li>
<li>emitnative: improve Viper register-indexed code for Arm</li>
<li>emitnative: improve Viper register-indexed code for Thumb</li>
<li>emitnative: refactor Viper register-indexed load/stores</li>
<li>asm: remove unused generic ASM API opcode definitions</li>
<li>asmthumb: generate proper sequences for large register offsets</li>
<li>emitnative: clean up int-indexed Viper load/store code</li>
<li>persistentcode: allow a port a custom commit function and track data</li>
<li>asmxtensa: replace printf messages with exceptions</li>
<li>asmxtensa: make the generated code dumper work on mpy-cross</li>
<li>emitinlinextensa: add the rest of LX3 opcodes to the assembler</li>
<li>asmxtensa: emit prologue jump only when constants table is in use</li>
<li>scheduler: only run scheduler callbacks queued before run started</li>
<li>emitnative: let Viper int-indexed code use appropriate operands</li>
<li>asmthumb: extend load/store generators with ARMv7-M opcodes</li>
<li>asmxtensa: extend existing specialised load/store operations range</li>
<li>emitnative: remove redundant RV32 Viper int-indexed code</li>
<li>asmarm: extend int-indexed 32-bit load/store offset ranges</li>
<li>asmarm: give a proper name to the temporary register</li>
<li>asmxtensa: extend BCCZ range to 18 bits</li>
<li>asmxtensa: extend BCC range to 18 bits</li>
<li>asmthumb: implement long jumps on Thumb/armv6m architecture</li>
<li>dynruntime.mk: enable single-precision float by default on armv6/7m</li>
<li>parsenum: reduce code size in check for inf/nan</li>
<li>parsenum: further reduce code size in check for inf/nan</li>
<li>objarray: allow extending array with any iterable</li>
<li>parsenum: fix parsing complex literals with negative real part</li>
<li>objfloat: change MSVC workaround for NAN being a constant</li>
<li>mpz: avoid undefined behavior decrementing NULL</li>
<li>objlist: reduce code size in slice operations</li>
<li>mpprint: remove unused "PF_FLAG_NO_TRAILZ" flag</li>
<li>asmbase: fix assertion error with viper code</li>
<li>fix undefined left shift operations</li>
<li>modio: fix the case where write fails in BufferedWriter.flush</li>
<li>repl: skip private variables when printing tab completion options</li>
<li>runtime: add support for using <strong>all</strong> in star import</li>
<li>obj: fix nan handling in object REPR_C and REPR_D</li>
<li>misc: fix fallback implementation of mp_popcount</li>
<li>misc: introduce macros to check values' bits size</li>
<li>asmrv32: implement the full set of Viper load/store operations</li>
<li>asmarm: implement the full set of Viper load/store operations</li>
<li>asmxtensa: implement the full set of Viper load/store operations</li>
<li>asmthumb: remove redundant load/store opcode implementations</li>
<li>asmx86: implement the full set of Viper load/store operations</li>
<li>asmx64: implement the full set of Viper load/store operations</li>
<li>asmthumb: clean up integer-indexed load/store emitters</li>
<li>emitnative: let emitters know the compiled entity's name</li>
<li>runtime: initialize profile fields in mp_thread_init_state</li>
<li>profile: fix printing lineno in frame objects</li>
<li>bc: factor out helper for line-number decoding</li>
<li>showbc: use line-number decoding helper</li>
<li>objcode: implement co_lines method</li>
<li>obj: add functions to retrieve large integers from mp_obj_t</li>
<li>vm: avoid heap-allocating slices when subscripting built-ins</li>
<li>mpprint: rework integer vararg handling</li>
<li>objint_longlong: add arithmetic overflow checks</li>
<li>smallint: update mp_small_int_mul_overflow() to perform the multiply</li>
<li>parsenum: extend mp_parse_num_integer() to parse long long</li>
<li>objcode: remove co_lnotab from v2 preview</li>
<li>mkrules.mk: mute blobless errors</li>
<li>modsys: add sys.implementation._thread attribute</li>
<li>obj: fix REPR_C bias toward zero</li>
<li>obj: add new type flag to indicate subscr accepts slice-on-stack</li>
<li>objint_longlong: fix left shift of negative values</li>
<li>mpconfig: define new HEX_FMT formatting macro</li>
<li>cast type names to qstr explicitly</li>
<li>fix mp_printf integer size mismatches</li>
<li>objcell: fix printing of cell ID/pointer</li>
<li>mpprint: fix printing pointers with upper bit set</li>
<li>objint_mpz: fix pow3 where third argument is zero</li>
<li>objint_longlong: fix overflow check in mp_obj_int_get_checked</li>
<li>objint_longlong: fix longlong interoperability with floats</li>
<li>objtype: add support for PEP487 <strong>set_name</strong></li>
<li>mphal: add stddef.h header for size_t</li>
<li>objboundmeth: add option to use mp_is_equal instead of == comparison</li>
<li>parsenum: refactor float parsing code</li>
<li>formatfloat: improve accuracy of float formatting code</li>
<li>parse: add support for math module constants and float folding</li>
<li>asmthumb: don't corrupt base register in large offset store</li>
<li>parse: fix missing nlr_pop call in complex path of binary_op_maybe</li>
</ul>
<p>extmod:</p>
<ul>
<li>machine_usb_device: add exception text wrappers</li>
<li>modbluetooth: use newer mp_map_slot_is_filled function</li>
<li>asyncio: fix early exit of asyncio scheduler</li>
<li>create common cyw43 driver config header</li>
<li>cyw43: move the LWIP responder fix into common CYW43 config</li>
<li>moductypes: refactor string literal as array initializer</li>
<li>modlwip: implement a queue of incoming UDP/raw packets</li>
<li>vfs_lfsx: fix errno value raised from chdir</li>
<li>modjson: detect unterminated composite entities</li>
<li>network_cyw43: disconnect STA if making inactive</li>
<li>modlwip: add optional flags argument for recv and recvfrom</li>
<li>modbluetooth: add timeout to deinit</li>
<li>modframebuf: add support for blit'ing read-only data</li>
<li>modnetwork: consolidate definition of common drivers</li>
<li>modre: use specific error message if regex is too complex</li>
<li>machine_pulse: optimise time_pulse_us for code size</li>
<li>modlwip: fix crash when calling recv on listening socket</li>
<li>network_lwip: add sys_untimeout_all_with_arg helper function</li>
<li>mbedtls: implement DTLS HelloVerify cookie support</li>
<li>mbedtls: implement recommended DTLS features, make optional</li>
<li>mbedtls: undefine ARRAY_SIZE if defined by platform</li>
<li>vfs_lfsx: allow overriding the LFS2 on-disk version format</li>
<li>vfs_posix: add additional readonly checks</li>
<li>vfs_posix: add MICROPY_VFS_POSIX_WRITABLE option</li>
<li>modlwip: print timeout with correct format string</li>
<li>modtls_mbedtls: do gc_collect and retry ssl_init on any error</li>
<li>machine_i2c_target: add new machine.I2CTarget class</li>
</ul>
<p>shared:</p>
<ul>
<li>tinyusb: use device event hook to schedule USB task</li>
<li>timeutils: standardize supported date range on all platforms</li>
<li>netutils: cast the ticks value before printing</li>
</ul>
<p>drivers:</p>
<ul>
<li>ninaw10/machine_pin_nina: add exception text wrappers</li>
<li>esp-hosted: rename Bluetooth HCI backend driver</li>
<li>ninaw10: rename Bluetooth HCI backend driver</li>
<li>cyw43: remove old BTHCI UART backend</li>
<li>esp-hosted: replace EVENT_POLL_HOOK with mp_event_wait_ms</li>
<li>support special QSPI direct-read protocol</li>
</ul>
<p>mpy-cross:</p>
<ul>
<li>main: exit with error if arch not specified with emit=native</li>
<li>main: document emit=host option in help</li>
</ul>
<p>lib:</p>
<ul>
<li>lwip: update lwIP to STABLE-2_2_1_RELEASE</li>
<li>littlefs: update LittleFS to v2.10.2</li>
<li>littlefs: reuse existing CRC32 function to save space</li>
<li>littlefs: fix string initializer in lfs1.c</li>
<li>littlefs: update LittleFS to v2.11</li>
<li>libhydrogen: update to latest release</li>
<li>berkeley-db-1.xx: update submodule to latest</li>
<li>libm_dbl: support FLT_EVAL_METHOD == 16</li>
<li>stm32lib: update library for N6 v1.1.0</li>
<li>pico-sdk: fix Pico SDK fetching develop picotool</li>
<li>micropython-lib: update submodule to latest</li>
</ul>
<h1>Support components</h1>
<p>docs:</p>
<ul>
<li>zephyr: add quick reference for PWM support</li>
<li>zephyr: add zephyr FlashArea IDs docs</li>
<li>fix SparkFun capitalization</li>
<li>esp32: improve PWM documentation and examples</li>
<li>esp32/quickref: add PWM lightsleep example</li>
<li>reference/mpremote: document the 'fs tree' command</li>
<li>library/time: amend the documentation of time.mktime()</li>
<li>esp32/quickref: mention the different timer counts</li>
<li>esp32: mention the use of Timer(0) by UART.IRQ_RXIDLE</li>
<li>add a description of recv/recvfrom flags argument</li>
<li>rp2: document the new rp2 Timer hard= option</li>
<li>develop/natmod: add notes on Picolibc and natmods</li>
<li>reference/speed_python: document schedule/GIL limitation of native</li>
<li>document PEP487 <strong>set_name</strong> implementation</li>
<li>library/bluetooth: document all allowed args to UUID constructor</li>
<li>library/rp2.StateMachine: add a note about PIO in and jmp pins</li>
<li>library/btree: fix method links to explicitly specify class</li>
<li>library: document the new machine.I2CTarget class</li>
<li>esp32: add documentation for esp32.PCNT</li>
<li>library/machine: add docs for Counter and Encoder</li>
<li>reference/mpremote: document location of config file</li>
</ul>
<p>examples:</p>
<ul>
<li>natmod/random: fix build for Xtensa</li>
<li>natmod/framebuf: fix build for Xtensa</li>
<li>natmod/deflate: fix build for Xtensa</li>
<li>natmod/btree: fix build for Xtensa</li>
<li>rp2/pio_uart_rx.py: fix use of PIO constants</li>
<li>natmod/btree: fix build on RV32 with Picolibc</li>
<li>natmod: use LINK_RUNTIME=1 when building for armv6m</li>
<li>usercmodule: cast arguments for printf</li>
<li>bluetooth/ble_advertising.py: fix decoding UUIDs</li>
</ul>
<p>tests:</p>
<ul>
<li>basics/builtin_range.py: add more tests for range slicing</li>
<li>extmod: skip binascii tests when hexlify/unhexlify don't exist</li>
<li>extmod/vfs_lfs_ilistdir_del.py: skip test if not enough memory</li>
<li>extmod/vfs_mountinfo.py: don't import unused errno module</li>
<li>extmod/vfs_posix.py: fix test on Android</li>
<li>net_hosted: only run network loopback test on supported targets</li>
<li>ports/rp2: convert rp2.DMA test to a unittest</li>
<li>ports/rp2: tune rp2.DMA test so it runs in all configurations</li>
<li>extmod: rename ssl tests that only use the tls module</li>
<li>net_inet: update micropython.org certificate for SSL tests</li>
<li>extmod/vfs_rom.py: clear sys.path before running test</li>
<li>multi_net: add test that requires queuing UDP packets</li>
<li>ports/rp2: update machine idle test to revert skip for RP2350</li>
<li>ports/rp2: add a test case for light sleeping from CPU1</li>
<li>cpydiff: document format separator difference</li>
<li>extmod/vfs_lfs_error.py: test value of all OSError's errno</li>
<li>cpydiff: explain the numeric literal parsing difference</li>
<li>cpydiff: document that uPy requires space after number+period</li>
<li>cpydiff: add test of underscore-in-literals</li>
<li>cpydiff: ensure all have two levels of category</li>
<li>run-tests.py: add list of passed/skipped tests to _result.json</li>
<li>micropython/viper_ptr: add tests for arch edge cases</li>
<li>float/math_constants.py: test actual e and pi constant values</li>
<li>run-tests.py: change _results.json to have a combined result list</li>
<li>multi_net: add test coverage for socket recv flag MSG_PEEK</li>
<li>multi_net: add test coverage for socket recv flag MSG_DONTWAIT</li>
<li>run-natmodtests.py: allow injected code customisation</li>
<li>run-tests.py: automatically skip tests that are too large</li>
<li>run-tests.py: remove filename arg from prepare_script_for_target</li>
<li>run-tests.py: unconditionally enable native tests if asked</li>
<li>extmod/random_extra_float.py: skip when funcs not available</li>
<li>run-tests.py: factor out helper function to create test report</li>
<li>run-multitests.py: create a _result.json at end of run</li>
<li>run-natmodtests.py: create a _result.json at end of run</li>
<li>run-perfbench.py: create a _result.json at end of run</li>
<li>run-natmodtests.py: consider a test skipped if mpy doesn't exist</li>
<li>ports/rp2: add tests for rp2-specific timer options</li>
<li>cpydiff: document complex() parsing difference</li>
<li>extmod: add platform_basic.py for basic coverage test of platform</li>
<li>run-tests.py: add support for ctrl keys in REPL tests</li>
<li>cmdline: add a test for REPL paste mode</li>
<li>micropython: improve viper ptr boundary tests</li>
<li>run-tests.py: allow injected code customisation</li>
<li>misc: improve test coverage of py/profile.c</li>
<li>extmod/machine_uart_tx.py: support STM32WB boards</li>
<li>extmod_hardware: add UART config for STM32WB boards</li>
<li>extmod_hardware/machine_uart_irq_rxidle.py: ignore inital IRQ</li>
<li>extmod_hardware/machine_uart_irq_rxidle.py: test multiple writes</li>
<li>ports/stm32: tweak tests to run on a wider set of boards</li>
<li>extmod/select_poll_eintr.py: skip test if target can't bind</li>
<li>basics/fun_code_full: test code objects with full feature set</li>
<li>basics/fun_code_colines: test decoded co_lines values</li>
<li>extmod/asyncio_iterator_event.py: use format instead of f-string</li>
<li>micropython: add missing SystemExit after printing SKIP</li>
<li>run-tests.py: consider tests ending in _async.py as async tests</li>
<li>extmod: close UDP sockets at end of test</li>
<li>add specific tests for "long long" 64-bit bigints</li>
<li>extmod/json_loads_int_64.py: add test cases for LONGINT parse</li>
<li>thread: rename thread_lock4 test to thread_lock4_intbig</li>
<li>skip bm_pidigits perf test if no arbitrary precision int support</li>
<li>basics/fun_code_lnotab: test removal of co_lnotab from v2</li>
<li>extmod/select_poll_eintr.py: pre-allocate global variables</li>
<li>thread/stress_aes.py: reduce test time on PC targets</li>
<li>run-tests.py: detect threading and automatically run thread tests</li>
<li>thread: allow thread tests to pass with the native emitter</li>
<li>net_inet: update micropython.org certificate for SSL tests</li>
<li>run-tests.py: use TEST_TIMEOUT as timeout for bare-metal tests</li>
<li>extmod_hardware/machine_uart_irq_break.py: remove send_uart</li>
<li>multi_bluetooth: synchronise MTU exchange in BLE MTU tests</li>
<li>multi_net: update DTLS multi-net test</li>
<li>extmod: add (failing) test for VfsPosix in readonly mode</li>
<li>micropython: rename viper boundary tests that depend on big int</li>
<li>basics: add tests for PEP487 <strong>set_name</strong></li>
<li>internal_bench/class_create: benchmark class creation</li>
<li>internal_bench/var: benchmark descriptor access</li>
<li>run-internalbench.py: allow running internalbench on hardware</li>
<li>run-natmodtests.py: automatically skip tests that are too large</li>
<li>multi_bluetooth: extend the deep sleep test timeout</li>
<li>run-multitests.py: escape encoding errors instead of crashing</li>
<li>cpydiff: remove passing types_float_rounding test</li>
<li>micropython: test that viper offset stores don't clobber base reg</li>
<li>extmod_hardware: add self unittest for I2CTarget</li>
<li>multi_extmod: add I2CTarget multi tests</li>
<li>extmod_hardware: add basic tests for machine.Counter and Encoder</li>
</ul>
<p>tools:</p>
<ul>
<li>mpremote: use zlib.compressobj instead of zlib.compress</li>
<li>mpremote/tests: add tests for errno behavior</li>
<li>mpremote: refactor error handling to apply generally to any errno</li>
<li>mpremote: fix possibly-missing EOPNOTSUPP errno name</li>
<li>mpremote/tests: add test for rm -r on /remote vfs</li>
<li>mpremote: prevent deletion of /remote files via rm -r</li>
<li>ci.sh: update URL for xtensa-lx106-elf-standalone.tar.gz</li>
<li>mpremote: for mip install, use hash to skip files that exist</li>
<li>verifygitlog.py: apply stricter rules on git subject line</li>
<li>verifygitlog.py: disallow a leading slash in commit subject line</li>
<li>verifygitlog.py: allow long co-author and sign-off names</li>
<li>gen-cpydiff.py: improve stdout vs stderr interleaving</li>
<li>gen-cpydiff.py: fix RST heading generation</li>
<li>gen-cpydiff.py: ensure every item has at least 2 TOC levels</li>
<li>mpremote: add new 'fs tree' command</li>
<li>mpremote/tests: add tests for 'fs tree' command</li>
<li>pyboard.py: avoid initial blocking read in read_until()</li>
<li>pyboard.py: introduce timeout_overall for read_until()</li>
<li>pyboard.py: add write_timeout and catch errors in enter_raw_repl</li>
<li>mpy_ld.py: resolve fixed-address symbols if requested</li>
<li>ci.sh: remove natmod build restrictions for Xtensa</li>
<li>ci.sh: clean the correct MPY files when batch compiling</li>
<li>ci.sh: allow errors in code-size build to fail the CI</li>
<li>boardgen.py: ensure board pin locals_dict has consistent order</li>
<li>ci.sh: fix nanbox CI test runs</li>
<li>mpy_ld.py: support R_ARM_ABS32 relocation in text</li>
<li>mpremote: improve df command to use new no-arg vfs.mount() query</li>
<li>ci.sh: add functions for sanitizer builds</li>
<li>autobuild: build alif boards as part of auto-build</li>
<li>ci.sh: disable "stack use after return" in ASan build</li>
<li>mpremote: fix disconnect handling on Windows and Linux</li>
<li>ci.sh: increase test timeout to 60s in coverage jobs</li>
<li>mpremote: support OSError's on targets without errno</li>
<li>ci.sh: always call <code>apt-get update</code> before <code>apt-get install</code></li>
<li>pyboard.py: align execpty prefix</li>
<li>ci.sh: increase timeout for unix qemu test runs</li>
<li>ci.sh: increase timeout for stackless clang test runs</li>
<li>ci.sh: skip thread/stress_heap.py test on macOS test run</li>
<li>ci.sh: skip thread/stress_recurse.py on unix qemu test runs</li>
<li>ci.sh: change averaging to 1 for run-perfbench.py test</li>
<li>pyboard.py: add timeout argument to Pyboard.exec_/exec</li>
<li>ci.sh: test building all natmod examples with all ARM-M archs</li>
<li>mpremote: fix errno.ENOTBLK attribute error on Windows</li>
<li>mpremote: update ESPxxx detection for USB-CDC ports</li>
<li>mpremote: add platformdirs dependency to requirements.txt</li>
<li>mpremote: locate config.py location across different host OSes</li>
</ul>
<p>CI:</p>
<ul>
<li>workflows: split QEMU/Arm builds into separate entries</li>
<li>workflows: use windows-latest runner for all Windows CI jobs</li>
<li>workflows: add sanitize_undefined workflow to unix port CI</li>
<li>workflows: run the address sanitizer (ASan) build during CI</li>
<li>workflows: remove the unix "settrace" CI job</li>
<li>workflows: use Python 3.11 for unix coverage testing</li>
<li>workflows: add new CI job to test unix port with GIL enabled</li>
<li>workflows: build unix port for docs and run workflow more often</li>
<li>workflows: add a CI job to build ESP32-C2 and ESP32-C6 boards</li>
</ul>
<h1>The ports</h1>
<p>all ports:</p>
<ul>
<li>fix SparkFun capitalization</li>
<li>update board.json files for vendor/product consistency</li>
<li>eliminate define of {U,}INT_FMT where redundant</li>
<li>define new HEX_FMT formatting macro</li>
</ul>
<p>alif port:</p>
<ul>
<li>create common cyw43 driver config header</li>
<li>Makefile: create firmware.zip with files needed for deploying</li>
<li>boards/ALIF_ENSEMBLE: add board.json and deploy instructions</li>
<li>README: update README with build instructions</li>
<li>Makefile: allow specifying a custom build directory</li>
<li>machine_pin: add support for machine.Pin IRQ</li>
<li>machine_spi: improve transfer function to poll events</li>
<li>lwip_inc: refactor lwipopts.h to use extmod's common options</li>
<li>machine_i2c_target: implement I2CTarget class</li>
<li>machine_i2c: allow changing I2C SCL/SDA pins</li>
</ul>
<p>bare-arm port: no changes specific to this component/port</p>
<p>cc3200 port: no changes specific to this component/port</p>
<p>embed port:</p>
<ul>
<li>port: fix alloca include for Windows platforms</li>
</ul>
<p>esp8266 port:</p>
<ul>
<li>main: print error information on crash-induced reboots</li>
<li>modmachine: use common machine_time_pulse_us implementation</li>
</ul>
<p>esp32 port:</p>
<ul>
<li>enable compressed error messages by default</li>
<li>esp32_common.cmake: skip BTree module when requested</li>
<li>tools: update metrics_esp32 script for ESP-IDF >=v5.4.x</li>
<li>esp32_common.cmake: use the tinyusb source files from ESP-IDF</li>
<li>machine_timer: fix timer.value() for an uninitialized timer</li>
<li>esp32_common.cmake: allow adding defines and compiler flags</li>
<li>main: make the entry point function name configurable</li>
<li>machine_uart: correctly manage UART queue and event task</li>
<li>network_common: raise a memory error on ESP_ERR_NO_MEM</li>
<li>network_ppp: restructure to match extmod/network_ppp_lwip</li>
<li>machine_pwm: improve PWM and make its API match other ports</li>
<li>mpconfigport: document how to get more debug info</li>
<li>mpthreadport: fix double delete of tasks on soft reset</li>
<li>update to use ESP-IDF v5.4.1</li>
<li>network_lan: add support for LAN8670 PHY</li>
<li>modesp32: implement esp32.idf_task_info()</li>
<li>machine_i2c: fix default I2C pins for C3, S3</li>
<li>network_lan: add PHY_GENERIC device type</li>
<li>boards/SPARKFUN_IOT_REDBOARD_ESP32: add SparkFun board</li>
<li>modsocket: add optional flags argument for recv and recvfrom</li>
<li>machine_timer: do not free interrupt from ISR</li>
<li>re-use allocated timer interrupts and simplify UART timer code</li>
<li>update ADC driver update to the new esp_adc API</li>
<li>main: auto detect the size of flash and auto create vfs partition</li>
<li>boards: convert all boards to auto detect flash size</li>
<li>README: update README to describe auto filesystem sizing</li>
<li>modesp32: make wake_on_ulp available only on SoCs that support it</li>
<li>modesp32: make wake_on_touch available only on SoCs supporting it</li>
<li>modesp32: make wake_on_ext0 available only on SoCs supporting it</li>
<li>modesp32: make wake_on_ext1 available only on SoCs supporting it</li>
<li>modesp32: fix access to ext0_pin only if defined</li>
<li>boards/GARATRONIC_PYBSTICK26_ESP32C3: add pybstick26-esp32c3 defn</li>
<li>panichandler: support building against IDFv5.4.2</li>
<li>machine_uart: improve sendbreak so it doesn't reconfig the UART</li>
<li>update to use ESP-IDF v5.4.2</li>
<li>add support for ESP32-C2 (aka ESP8684)</li>
<li>add "Free RAM" optimisation config flags</li>
<li>fix first line ESP32-C2 serial output after reset or deepsleep</li>
<li>machine_i2c: factor default pin macros to header file</li>
<li>machine_i2c_target: implement I2CTarget class</li>
<li>modesp32: add esp32.PCNT class</li>
<li>modules/machine.py: add Counter and Encoder classes</li>
<li>mpconfigport: disable I2CTarget on ESP32-C6 to reduce code size</li>
<li>machine_timer: enable timer clock source for ESP32C6</li>
<li>machine_timer: fix machine.Timer() tick frequency on ESP32C2,C6</li>
</ul>
<p>mimxrt port:</p>
<ul>
<li>machine_uart: enable CTS SION so it can be read</li>
<li>cyw43_configport: update cyw43 config to use new BTHCI UART</li>
<li>create common cyw43 driver config header</li>
<li>machine_i2c_target: support I2C target mode</li>
</ul>
<p>minimal port: no changes specific to this component/port</p>
<p>nrf port:</p>
<ul>
<li>use correct IRAM address for native code execution on nRF52</li>
<li>only process interrupt chars on UARTs used for REPL</li>
<li>fix UART write on parts that can't write more than 255 bytes</li>
<li>boards: use 64 byte raw-paste buffer on PCA10028 and PCA10040</li>
<li>use common implementation of machine disable/enable IRQ</li>
<li>revert "nrf/Makefile: Enable LTO by default only on newer gcc."</li>
<li>drivers/bluetooth: change soft-device download URL to self hosted</li>
</ul>
<p>pic16bit port: no changes specific to this component/port</p>
<p>powerpc port: no changes specific to this component/port</p>
<p>qemu port:</p>
<ul>
<li>Makefile: allow passing flags to test_natmod via RUN_TESTS_EXTRA</li>
</ul>
<p>renesas-ra port:</p>
<ul>
<li>replace MICROPY_EVENT_POLL_HOOK with mp_event_wait</li>
<li>mpconfigport: enable MICROPY_TIME_SUPPORT_Y1969_AND_BEFORE</li>
</ul>
<p>rp2 port:</p>
<ul>
<li>add exception text wrappers</li>
<li>enable compressed error messages by default</li>
<li>create common cyw43 driver config header</li>
<li>move the LWIP responder fix into common CYW43 config</li>
<li>Makefile: add deploy target that uses picotool load</li>
<li>rp2_dma: fix default value used in pack_ctrl on RP2350</li>
<li>add temporary workaround for GCC 15.1 build failure</li>
<li>use pico-sdk alarm pool instead of soft timer for sleep</li>
<li>modmachine: add debug code for mp_machine_lightsleep</li>
<li>modmachine: add mutual exclusion for machine.lightsleep()</li>
<li>disable the LWIP tick timer when not needed</li>
<li>machine_pin: replace macros with Pico SDK functions</li>
<li>machine_pin: fix simulated open drain with more than 32 GPIOs</li>
<li>boards/SPARKFUN_XRP_CONTROLLER_BETA: fix default I2C to use I2C1</li>
<li>make FLASH LENGTH match PICO_FLASH_SIZE_BYTES in .ld files</li>
<li>machine_timer: support hard IRQ timer callbacks</li>
<li>rp2_flash: add MICROPY_HW_FLASH_MAX_FREQ to replace fixed max freq</li>
<li>rp2_flash: add default MICROPY_HW_FLASH_MAX_FREQ</li>
<li>CMakeLists.txt: make board's pins.csv configurable</li>
<li>CMakeLists.txt: make linker script configurable</li>
<li>mpnetworkport: deregister all sys timeouts when netif is removed</li>
<li>modmachine: do not use deprecated XOSC_MHZ and XOSC_KHZ</li>
<li>rp2_pio: configure jmp_pin for PIO use if it's isolation is set</li>
<li>CMakeLists.txt: fix flash size check logic</li>
<li>rp2_pio: fix use of PIO2 in prog data structure</li>
<li>machine_i2c: factor default pin macros to header file</li>
<li>machine_i2c_target: implement I2CTarget class</li>
<li>rp2_flash: add binary info for ROMFS</li>
</ul>
<p>samd port:</p>
<ul>
<li>boards/SAMD_GENERIC_Dxxx: add Microchip URL to board.json</li>
<li>machine_i2c: add the timeout keyword argument to the constructor</li>
<li>modtime: change time.time_ns() to follow the RTC time</li>
<li>boards/SAMD_GENERIC_D51xxx: fix VFS settings for internal flash</li>
<li>samd_spiflash: improve the flash type detection</li>
<li>samd_qspiflash: remove the attempt to handle a unknown device</li>
<li>boards: add two SparkFun SAMD21 boards</li>
<li>boards: change the SparkFun vendor name to SparkFun</li>
<li>machine_i2c_target: support I2C target mode</li>
</ul>
<p>stm32 port:</p>
<ul>
<li>main: replace mp_stack_set calls with new mp_cstack_init_with_top</li>
<li>cyw43_configport: update cyw43 config to use new BTHCI UART</li>
<li>create common cyw43 driver config header</li>
<li>allow QSPI to work on STM32G4</li>
<li>machine_adc: enable ADC re-read errata handling for STM32WB55</li>
<li>boards/ARDUINO_PORTENTA_H7: free reserved timer</li>
<li>main: add support for additional GC blocks</li>
<li>boards/ARDUINO_GIGA: define additional GC blocks in SDRAM</li>
<li>uart: enable UART FIFO for H7 MCUs</li>
<li>adc: apply re-read errata for WB55</li>
<li>adc: simplify ADC calibration settings</li>
<li>adc: fix core temperature reading on WB55</li>
<li>machine_adc: fix internal ADC channel reading on WB MCUs</li>
<li>uart: suppress additional RX idle IRQs on F4/L1</li>
<li>irq: change SPI IRQ priority to be higher than DMA IRQ</li>
<li>dma: extend STM32H5 DMA use to SPI3 and SPI4</li>
<li>machine_adc: add machine.ADC implementation for STM32L1</li>
<li>boards/make-pins.py: support up to GPIO-O</li>
<li>add support for STM32N6xx MCUs</li>
<li>main: disable D-cache when debugging N6</li>
<li>lwip_inc: increase lwIP memory on N6</li>
<li>boards: add board support files for N6</li>
<li>mboot: add support for STM32N6xx MCUs</li>
<li>spi: fail spi_init if pins can't be configured</li>
<li>boards/OPENMV_N6: add new board definition files</li>
<li>boards/NUCLEO_N657X0: add new board definition files</li>
<li>stm32.mk: error out if compiling for cortex-m55 on old gcc</li>
<li>add casts when printing small integers</li>
<li>i2c: move I2C IRQ handlers from stm32_it.c to i2c.c</li>
<li>i2cslave: change irq handler name to i2c_slave_irq_handler</li>
<li>i2cslave: add functions to read/write I2C data</li>
<li>i2cslave: support i2c_slave_process_tx_end callback on F4</li>
<li>i2cslave: account for slow addr_match callback</li>
<li>machine_i2c_target: implement I2CTarget class</li>
</ul>
<p>unix port:</p>
<ul>
<li>variants: enable os.uname() in coverage build for tests</li>
<li>main: remove PATH_MAX from realpath</li>
<li>mpthreadport: work around lack of thread cancellation on Android</li>
<li>coveragecpp: verify struct-initializing macros' C++-compatibility</li>
<li>modsocket: expose MSG_PEEK flag for recv & recvfrom</li>
<li>coverage: add coverage test for mp_sched_schedule_node</li>
<li>coverage: add coverage test for left adjusted print</li>
<li>README: add some small documentation about sanitizers</li>
<li>variants/coverage: enable sys.settrace</li>
<li>coverage: initialize more code_state fields</li>
<li>coverage: add missing MP_OBJ_FROM_PTR casts</li>
<li>Makefile: drop include path of "i686-linux-gnu"</li>
<li>coverage: expand mp_printf coverage tests</li>
<li>variants: add a 'longlong' variant to test 64-bit bigints in CI</li>
<li>allow the GIL to be enabled</li>
<li>variants/longlong: use REPR_C on this variant</li>
<li>mpconfigport: include time.h to get definition of time_t</li>
<li>mpthreadport: ensure consistent type of PTHREAD_STACK_MIN</li>
<li>coverage: avoid type checking an invalid string</li>
<li>coverage: cast type names to qstr explicitly</li>
<li>coverage: cast values to fit %x formatting code</li>
<li>coverage: cast values to int for format printing</li>
<li>coverage: provide argmuents of expected integer types</li>
<li>coverage: remove unused printf arguments</li>
</ul>
<p>webassembly port:</p>
<ul>
<li>objpyproxy: avoid throwing on symbol or iterator has-check</li>
<li>objpyproxy: avoid throwing on implicit symbols access</li>
<li>proxy_c: provide constants for fixed JsProxy refs</li>
<li>objjsproxy: fix binding of self to JavaScript methods</li>
<li>objjsproxy: implement equality for JsProxy objects</li>
<li>proxy_js: reuse JsProxy ref if object matches</li>
</ul>
<p>windows port: no changes specific to this component/port</p>
<p>zephyr port:</p>
<ul>
<li>fix prj.conf for v4.1-rc1</li>
<li>fix call to thread_analyzer_print for v4.0</li>
<li>remove reference to CONFIG_MMC_VOLUME_NAME for v4.0</li>
<li>upgrade to Zephyr v4.0.0</li>
<li>machine_pwm: implement PWM support</li>
<li>boards: enable PWM on beagleconnect_freedom</li>
<li>create options to enable frozen modules</li>
<li>boards: add nrf5340dk board configuration</li>
<li>boards: add nrf9151dk board configuration</li>
<li>create ability to use device_next with CDC ACM as REPL</li>
<li>introduce auto-listing of FlashArea Partitions</li>
<li>boards: enable ADC on beagleconnect_freedom</li>
<li>modbluetooth_zephyr: allow BLE to create services at runtime</li>
<li>mpconfigport: fix mp_int_t and mp_uint_t to work on 64-bit archs</li>
<li>boards: add support for BeaglePlay CC1352p7</li>
<li>boards/beagleconnect_freedom: enable networking</li>
<li>boards/beagleconnect_freedom: remove board overlay</li>
<li>machine_uart: complete UART driver and make it interrupt driven</li>
<li>machine_pin: configure OUT pin also as input so it's readable</li>
<li>boards: disable WDT on qemu boards and networking for cortex_m3</li>
<li>README: update URL describing QEMU network settings</li>
<li>prj.conf: use UART for console as default, not CONSOLE_SUBSYS</li>
<li>update generated header path</li>
<li>main: execute boot.py and main.py like other ports</li>
<li>main: add /flash/lib or /sd/lib to sys.path on start up</li>
<li>enable sys.stdin/out/err</li>
<li>src: increase UART input buffer to 512 bytes and reduce latency</li>
<li>src: fix USB device_next driver to work with zephyr 4.0.0</li>
<li>machine_pin: add Pin.OPEN_DRAIN constant</li>
<li>machine_pin: allow constructing a Pin with an existing Pin</li>
<li>mphalport: implement C-level pin HAL</li>
<li>mpconfigport: enable machine.SoftI2C and machine.SoftSPI</li>
<li>mpconfigport: enable import of mpy and a few related features</li>
<li>mpconfigport: enable MICROPY_NLR_THUMB_USE_LONG_JUMP</li>
<li>boards/frdm_k64f: improve board configuration</li>
<li>boards/nucleo_wb55rg: enable BLE, I2C, SPI and add filesystem</li>
<li>boards/rpi_pico: add board configuration for rpi_pico</li>
<li>mpconfigport: enable sys.maxsize</li>
<li>mpconfigport: enable emergency exception buffer</li>
<li>machine_timer: make machine.Timer id argument optional</li>
<li>machine_pin: retry configuring gpio with just GPIO_OUTPUT</li>
<li>mpconfigport_minimal: use MICROPY_CONFIG_ROM_LEVEL_MINIMUM</li>
<li>mpconfigport: use MICROPY_CONFIG_ROM_LEVEL_BASIC_FEATURES</li>
<li>machine_i2c_target: implement I2CTarget class</li>
</ul>dpgeorgetag:github.com,2008:Repository/865078036/v0.8.02025-08-09T14:01:35ZNuked-SC55-CLAP: v0.8.0<ul>
<li>Upgrade to v0.6.1 of J. C. Moyer's Nuked SC-55 fork</li>
<li>Fix SC-55 v2.0 ROM support</li>
<li>Add SC-55 v1.0 ROM support</li>
<li>Add support for CTF-patched SC-55 mk2 ROMs (via <a href="https://github.com/shingo45endo/sc55mk2-ctf-patcher">sc55mk2-ctf-patcher</a>)</li>
<li>Upgrade CLAP headers to v1.2.6</li>
<li>Add Windows & Linux arm64 support</li>
</ul>johnnovaktag:github.com,2008:Repository/21614326/v2.14.0.5-beta2025-08-08T10:59:51Zsws: v2.14.0.5-beta<p>Actions:</p>
<ul>
<li>Fix a crash in "SWS: Reset item rate, preserving length, clear 'preserve pitch'" when a selected item contains an empty take (issue 1939)</li>
</ul>
<p>Cycle actions:</p>
<ul>
<li>Add support for REAPER v7.40's new Crossfade Editor section</li>
</ul>
<p>Hit detection:</p>
<ul>
<li>Fix Y offset in hit detection of envelope points and segments [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="300987504" data-permission-text="Title is private" data-url="https://github.com/reaper-oss/sws/issues/954" data-hovercard-type="issue" data-hovercard-url="/reaper-oss/sws/issues/954/hovercard" href="https://github.com/reaper-oss/sws/issues/954">#954</a>]</li>
<li>Implement hit detection of envelope points within automation items [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="270381470" data-permission-text="Title is private" data-url="https://github.com/reaper-oss/sws/issues/922" data-hovercard-type="issue" data-hovercard-url="/reaper-oss/sws/issues/922/hovercard" href="https://github.com/reaper-oss/sws/issues/922">#922</a>]</li>
</ul>
<p>List view: [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3054475831" data-permission-text="Title is private" data-url="https://github.com/reaper-oss/sws/issues/1947" data-hovercard-type="issue" data-hovercard-url="/reaper-oss/sws/issues/1947/hovercard" href="https://github.com/reaper-oss/sws/issues/1947">#1947</a>]</p>
<ul>
<li>Fix incorrect width when enabling columns and more than one is hidden</li>
<li>Fix position of inserted columns ignoring preceding hidden ones</li>
<li>Preserve custom order when adding or removing columns</li>
</ul>
<p>Notes:</p>
<ul>
<li>Clear cached previous text when closing the window [<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3008433224" data-permission-text="Title is private" data-url="https://github.com/reaper-oss/sws/issues/1942" data-hovercard-type="issue" data-hovercard-url="/reaper-oss/sws/issues/1942/hovercard" href="https://github.com/reaper-oss/sws/issues/1942">#1942</a>]</li>
</ul>
<p>MIDI Editor:</p>
<ul>
<li>Repair regression caused by the MIDI Editor HiDPI fix on Windows and macOS [<a href="https://forum.cockos.com/showthread.php?p=2858128" rel="nofollow">p=2858128</a>]</li>
</ul>cfilliontag:github.com,2008:Repository/671654508/@biomejs/biome@2.1.42025-08-07T15:14:53Zbiome: Biome CLI v2.1.4
<h2>2.1.4</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7121" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7121/hovercard">#7121</a> <a href="https://github.com/biomejs/biome/commit/b9642abc6d05135180f4243df30524cf40ba12df"><code>b9642ab</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/7111" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/7111/hovercard">#7111</a>: Imported symbols using aliases are now correctly recognised.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7103" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7103/hovercard">#7103</a> <a href="https://github.com/biomejs/biome/commit/80515ecad8cc272feeae4c17762d3b150acd88e7"><code>80515ec</code></a> Thanks <a href="https://github.com/omasakun">@omasakun</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6933" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6933/hovercard">#6933</a> and <a href="https://github.com/biomejs/biome/issues/6994" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6994/hovercard">#6994</a>.</p>
<p>When the values of private member assignment expressions, increment expressions, etc. are used, those private members are no longer marked as unused.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6887" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6887/hovercard">#6887</a> <a href="https://github.com/biomejs/biome/commit/0cc38f59cd9ddf0fdcd12d6f8cb3642743cc4406"><code>0cc38f5</code></a> Thanks <a href="https://github.com/ptkagori">@ptkagori</a>! - Added the <a href="https://biomejs.dev/linter/rules/no-qwik-use-visible-task" rel="nofollow"><code>noQwikUseVisibleTask</code></a> rule to Qwik.</p>
<p>This rule is intended for use in Qwik applications to warn about the use of <code>useVisibleTask$()</code> functions which require careful consideration before use.</p>
<p><strong>Invalid:</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="useVisibleTask$(() => {
console.log("Component is visible");
});"><pre><span class="pl-en">useVisibleTask$</span><span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-c1">=></span> <span class="pl-kos">{</span>
<span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s">"Component is visible"</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p><strong>Valid:</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="useTask$(() => {
console.log("Task executed");
});"><pre><span class="pl-en">useTask$</span><span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-c1">=></span> <span class="pl-kos">{</span>
<span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s">"Task executed"</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7084" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7084/hovercard">#7084</a> <a href="https://github.com/biomejs/biome/commit/50ca1553f08348ab1e92dc7cf04013c85ff743a4"><code>50ca155</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Added the new nursery rule <code>noUnnecessararyConditions</code>, which detects whenever some conditions don't<br>
change during the life cycle of the program, and truthy or false, hence deemed redundant.</p>
<p>For example, the following snippets will trigger the rule:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="// Always truthy literal conditions
if (true) {
console.log("always runs");
}"><pre><span class="pl-c">// Always truthy literal conditions</span>
<span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-c1">true</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s">"always runs"</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="// Unnecessary condition on constrained string type
function foo(arg: "bar" | "baz") {
if (arg) {
// This check is unnecessary
}
}"><pre><span class="pl-c">// Unnecessary condition on constrained string type</span>
<span class="pl-k">function</span> <span class="pl-en">foo</span><span class="pl-kos">(</span><span class="pl-s1">arg</span>: <span class="pl-s">"bar"</span> <span class="pl-c1">|</span> <span class="pl-s">"baz"</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">arg</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-c">// This check is unnecessary</span>
<span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6887" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6887/hovercard">#6887</a> <a href="https://github.com/biomejs/biome/commit/0cc38f59cd9ddf0fdcd12d6f8cb3642743cc4406"><code>0cc38f5</code></a> Thanks <a href="https://github.com/ptkagori">@ptkagori</a>! - Added the <a href="https://biomejs.dev/linter/rules/use-image-size" rel="nofollow"><code>useImageSize</code></a> rule to Biome.</p>
<p>The <code>useImageSize</code> rule enforces the use of width and height attributes on <code><img></code> elements for performance reasons. This rule is intended to prevent layout shifts and improve Core Web Vitals by ensuring images have explicit dimensions.</p>
<p><strong>Invalid:</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<img src="/image.png" />
<img src="https://example.com/image.png" />
<img src="/image.png" width="200" />
<img src="/image.png" height="200" />"><pre><span class="pl-c1"><</span><span class="pl-s1">img</span> <span class="pl-c1">src</span><span class="pl-c1">=</span><span class="pl-s">"/image.png"</span> <span class="pl-kos">/></span>
<span class="pl-c1"><</span><span class="pl-s1">img</span> <span class="pl-s1">src</span><span class="pl-c1">=</span><span class="pl-s">"https://example.com/image.png"</span> <span class="pl-c1">/</span><span class="pl-c1">></span>
<span class="pl-c1"><</span><span class="pl-s1">img</span> <span class="pl-c1">src</span><span class="pl-c1">=</span><span class="pl-s">"/image.png"</span> <span class="pl-c1">width</span><span class="pl-c1">=</span><span class="pl-s">"200"</span> <span class="pl-kos">/></span>
<span class="pl-c1"><</span><span class="pl-s1">img</span> <span class="pl-s1">src</span><span class="pl-c1">=</span><span class="pl-s">"/image.png"</span> <span class="pl-s1">height</span><span class="pl-c1">=</span><span class="pl-s">"200"</span> <span class="pl-c1">/</span><span class="pl-c1">></span></pre></div>
<p><strong>Valid:</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<img width="200" height="600" src="/static/images/portrait-01.webp" />
<img width="100" height="100" src="https://example.com/image.png" />"><pre><span class="pl-c1"><</span><span class="pl-s1">img</span> <span class="pl-c1">width</span><span class="pl-c1">=</span><span class="pl-s">"200"</span> <span class="pl-c1">height</span><span class="pl-c1">=</span><span class="pl-s">"600"</span> <span class="pl-c1">src</span><span class="pl-c1">=</span><span class="pl-s">"/static/images/portrait-01.webp"</span> <span class="pl-kos">/></span>
<span class="pl-c1"><</span><span class="pl-s1">img</span> <span class="pl-s1">width</span><span class="pl-c1">=</span><span class="pl-s">"100"</span> <span class="pl-s1">height</span><span class="pl-c1">=</span><span class="pl-s">"100"</span> <span class="pl-s1">src</span><span class="pl-c1">=</span><span class="pl-s">"https://example.com/image.png"</span> <span class="pl-c1">/</span><span class="pl-c1">></span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6887" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6887/hovercard">#6887</a> <a href="https://github.com/biomejs/biome/commit/0cc38f59cd9ddf0fdcd12d6f8cb3642743cc4406"><code>0cc38f5</code></a> Thanks <a href="https://github.com/ptkagori">@ptkagori</a>! - Added the <a href="https://biomejs.dev/linter/rules/use-anchor-href" rel="nofollow"><code>useAnchorHref</code></a> rule to Biome.</p>
<p>The <code>useAnchorHref</code> rule enforces the presence of an <code>href</code> attribute on <code><a></code> elements in JSX. This rule is intended to ensure that anchor elements are always valid and accessible.</p>
<p><strong>Invalid:</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<a>Link</a>"><pre><span class="pl-c1"><</span><span class="pl-s1">a</span><span class="pl-c1">></span>Link<span class="pl-kos"></</span><span class="pl-s1">a</span><span class="pl-c1">></span></pre></div>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<a target="_blank">External</a>"><pre><span class="pl-c1"><</span><span class="pl-s1">a</span> <span class="pl-c1">target</span><span class="pl-c1">=</span><span class="pl-s">"_blank"</span><span class="pl-c1">></span>External<span class="pl-kos"></</span><span class="pl-s1">a</span><span class="pl-c1">></span></pre></div>
<p><strong>Valid:</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<a href="/home">Home</a>"><pre><span class="pl-c1"><</span><span class="pl-s1">a</span> <span class="pl-c1">href</span><span class="pl-c1">=</span><span class="pl-s">"/home"</span><span class="pl-c1">></span>Home<span class="pl-kos"></</span><span class="pl-s1">a</span><span class="pl-c1">></span></pre></div>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<a href="https://example.com" target="_blank">
External
</a>"><pre><span class="pl-c1"><</span><span class="pl-s1">a</span> <span class="pl-c1">href</span><span class="pl-c1">=</span><span class="pl-s">"https://example.com"</span> <span class="pl-c1">target</span><span class="pl-c1">=</span><span class="pl-s">"_blank"</span><span class="pl-c1">></span>
External
<span class="pl-kos"></</span><span class="pl-s1">a</span><span class="pl-c1">></span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7100" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7100/hovercard">#7100</a> <a href="https://github.com/biomejs/biome/commit/29fcb0540ed817d92a3f663132b658541706765b"><code>29fcb05</code></a> Thanks <a href="https://github.com/Jayllyz">@Jayllyz</a>! - Added the rule <a href="https://biomejs.dev/linter/rules/no-non-null-asserted-optional-chain" rel="nofollow"><code>noNonNullAssertedOptionalChain</code></a>.</p>
<p>This rule prevents the use of non-null assertions (<code>!</code>) immediately after optional chaining expressions (<code>?.</code>). Optional chaining is designed to safely handle nullable values by returning <code>undefined</code> when the chain encounters <code>null</code> or <code>undefined</code>. Using a non-null assertion defeats this purpose and can lead to runtime errors.</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="// Invalid - non-null assertion after optional chaining
obj?.prop!;
obj?.method()!;
obj?.[key]!;
obj?.prop!;
// Valid - proper optional chaining usage
obj?.prop;
obj?.method();
obj?.prop ?? defaultValue;
obj!.prop?.method();"><pre><span class="pl-c">// Invalid - non-null assertion after optional chaining</span>
<span class="pl-s1">obj</span><span class="pl-kos">?.</span><span class="pl-c1">prop</span><span class="pl-c1">!</span><span class="pl-kos">;</span>
<span class="pl-s1">obj</span><span class="pl-kos">?.</span><span class="pl-en">method</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-c1">!</span><span class="pl-kos">;</span>
<span class="pl-s1">obj</span><span class="pl-kos">?.</span><span class="pl-kos">[</span><span class="pl-s1">key</span><span class="pl-kos">]</span><span class="pl-c1">!</span><span class="pl-kos">;</span>
<span class="pl-s1">obj</span><span class="pl-kos">?.</span><span class="pl-c1">prop</span><span class="pl-c1">!</span><span class="pl-kos">;</span>
<span class="pl-c">// Valid - proper optional chaining usage</span>
<span class="pl-s1">obj</span><span class="pl-kos">?.</span><span class="pl-c1">prop</span><span class="pl-kos">;</span>
<span class="pl-s1">obj</span><span class="pl-kos">?.</span><span class="pl-en">method</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-s1">obj</span><span class="pl-kos">?.</span><span class="pl-c1">prop</span> <span class="pl-c1">??</span> <span class="pl-s1">defaultValue</span><span class="pl-kos">;</span>
<span class="pl-s1">obj</span><span class="pl-c1">!</span><span class="pl-kos">.</span><span class="pl-c1">prop</span><span class="pl-kos">?.</span><span class="pl-en">method</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7129" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7129/hovercard">#7129</a> <a href="https://github.com/biomejs/biome/commit/9f4538ab8bad8a974b8e408641b1fd4770d26c79"><code>9f4538a</code></a> Thanks <a href="https://github.com/drwpow">@drwpow</a>! - Removed option, combobox, listbox roles from <a href="https://biomejs.dev/linter/rules/use-semantic-elements/" rel="nofollow">useSemanticElements</a> suggestions</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7106" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7106/hovercard">#7106</a> <a href="https://github.com/biomejs/biome/commit/236deaadca077051f6e2ef01cfdbbc55cc1c3d78"><code>236deaa</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6985" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6985/hovercard">#6985</a>: Inference of return types no longer mistakenly picks up return types of nested functions.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7102" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7102/hovercard">#7102</a> <a href="https://github.com/biomejs/biome/commit/d3118c6ac3bba0ca29251fa7fc5ba36a9e4456b0"><code>d3118c6</code></a> Thanks <a href="https://github.com/omasakun">@omasakun</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/7101" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/7101/hovercard">#7101</a>: <a href="https://biomejs.dev/linter/rules/no-unused-private-class-members/" rel="nofollow"><code>noUnusedPrivateClassMembers</code></a> now handles members declared as part of constructor arguments:</p>
<ol>
<li>If a class member defined in a constructor argument is only used within the constructor, it removes the <code>private</code> modifier and makes it a plain method argument.</li>
<li>If it is not used at all, it will prefix it with an underscore, similar to <code>noUnusedFunctionParameter</code>.</li>
</ol>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7104" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7104/hovercard">#7104</a> <a href="https://github.com/biomejs/biome/commit/53952972cd5786cfdcc3deda0c226d6488ef1aee"><code>5395297</code></a> Thanks <a href="https://github.com/harxki">@harxki</a>! - Reverting to prevent regressions around ref handling</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7143" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7143/hovercard">#7143</a> <a href="https://github.com/biomejs/biome/commit/1a6933aaf2c5b57d70a60d607b5cab68d532eeb4"><code>1a6933a</code></a> Thanks <a href="https://github.com/siketyan">@siketyan</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6799" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6799/hovercard">#6799</a>: The <a href="https://biomejs.dev/linter/rules/no-import-cycles/" rel="nofollow"><code>noImportCycles</code></a> rule now ignores type-only imports if the new <code>ignoreTypes</code> option is enabled (enabled by default).</p>
<blockquote>
<p>[!WARNING]<br>
<strong>Breaking Change</strong>: The <code>noImportCycles</code> rule no longer detects import cycles that include one or more type-only imports by default.<br>
To keep the old behaviour, you can turn off the <code>ignoreTypes</code> option explicitly:</p>
<div class="highlight highlight-source-json notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{
"linter": {
"rules": {
"nursery": {
"noImportCycles": {
"options": {
"ignoreTypes": false
}
}
}
}
}
}"><pre>{
<span class="pl-ent">"linter"</span>: {
<span class="pl-ent">"rules"</span>: {
<span class="pl-ent">"nursery"</span>: {
<span class="pl-ent">"noImportCycles"</span>: {
<span class="pl-ent">"options"</span>: {
<span class="pl-ent">"ignoreTypes"</span>: <span class="pl-c1">false</span>
}
}
}
}
}
}</pre></div>
</blockquote>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7099" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7099/hovercard">#7099</a> <a href="https://github.com/biomejs/biome/commit/6cc84cb547480f83119d2cba5542e2d2afc65b4d"><code>6cc84cb</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/7062" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/7062/hovercard">#7062</a>: Biome now correctly considers extended configs when determining the mode for the scanner.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6887" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6887/hovercard">#6887</a> <a href="https://github.com/biomejs/biome/commit/0cc38f59cd9ddf0fdcd12d6f8cb3642743cc4406"><code>0cc38f5</code></a> Thanks <a href="https://github.com/ptkagori">@ptkagori</a>! - Added the <a href="https://biomejs.dev/linter/rules/use-qwik-classlist" rel="nofollow"><code>useQwikClasslist</code></a> rule to Biome.</p>
<p>This rule is intended for use in Qwik applications to encourage the use of the built-in <code>class</code> prop (which accepts a string, object, or array) instead of the <code>classnames</code> utility library.</p>
<p><strong>Invalid:</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<div class={classnames({ active: true, disabled: false })} />"><pre><span class="pl-c1"><</span><span class="pl-s1">div</span> <span class="pl-c1">class</span><span class="pl-c1">=</span><span class="pl-kos">{</span><span class="pl-en">classnames</span><span class="pl-kos">(</span><span class="pl-kos">{</span> <span class="pl-c1">active</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span> <span class="pl-c1">disabled</span>: <span class="pl-c1">false</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">}</span> <span class="pl-kos">/></span></pre></div>
<p><strong>Valid:</strong></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<div classlist={{ active: true, disabled: false }} />"><pre><span class="pl-c1"><</span><span class="pl-s1">div</span> <span class="pl-c1">classlist</span><span class="pl-c1">=</span><span class="pl-kos">{</span><span class="pl-kos">{</span> <span class="pl-c1">active</span>: <span class="pl-c1">true</span><span class="pl-kos">,</span> <span class="pl-c1">disabled</span>: <span class="pl-c1">false</span> <span class="pl-kos">}</span><span class="pl-kos">}</span> <span class="pl-kos">/></span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7019" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7019/hovercard">#7019</a> <a href="https://github.com/biomejs/biome/commit/57c15e6df5b6257ffb9f69d7614c3455a1f5c870"><code>57c15e6</code></a> Thanks <a href="https://github.com/fireairforce">@fireairforce</a>! - Added support in the JS parser for <code>import source</code>(a <a href="https://github.com/tc39/proposal-source-phase-imports">stage3 proposal</a>). The syntax looks like:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import source foo from "<specifier>";"><pre><span class="pl-k">import</span> <span class="pl-s1">source</span> <span class="pl-s1">foo</span> <span class="pl-k">from</span> <span class="pl-s">"<specifier>"</span><span class="pl-kos">;</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7053" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7053/hovercard">#7053</a> <a href="https://github.com/biomejs/biome/commit/655049e9e38f536b33fff6d7b160299f0b446908"><code>655049e</code></a> Thanks <a href="https://github.com/jakeleventhal">@jakeleventhal</a>! - Added the <a href="https://biomejs.dev/rules/use-consistent-type-definitions" rel="nofollow"><code>useConsistentTypeDefinitions</code></a> rule.</p>
<p>This rule enforces consistent usage of either <code>interface</code> or <code>type</code> for object type definitions in TypeScript.</p>
<p>The rule accepts an option to specify the preferred style:</p>
<ul>
<li><code>interface</code> (default): Prefer using <code>interface</code> for object type definitions</li>
<li><code>type</code>: Prefer using <code>type</code> for object type definitions</li>
</ul>
<p>Examples:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="// With default option (interface)
// ❌ Invalid
type Point = { x: number; y: number };
// ✅ Valid
interface Point {
x: number;
y: number;
}
// With option { style: "type" }
// ❌ Invalid
interface Point {
x: number;
y: number;
}
// ✅ Valid
type Point = { x: number; y: number };"><pre><span class="pl-c">// With default option (interface)</span>
<span class="pl-c">// ❌ Invalid</span>
<span class="pl-k">type</span> <span class="pl-smi">Point</span> <span class="pl-c1">=</span> <span class="pl-kos">{</span> <span class="pl-c1">x</span>: <span class="pl-smi">number</span><span class="pl-kos">;</span> <span class="pl-c1">y</span>: <span class="pl-smi">number</span> <span class="pl-kos">}</span><span class="pl-kos">;</span>
<span class="pl-c">// ✅ Valid</span>
<span class="pl-k">interface</span> <span class="pl-smi">Point</span> <span class="pl-kos">{</span>
<span class="pl-c1">x</span>: <span class="pl-smi">number</span><span class="pl-kos">;</span>
<span class="pl-c1">y</span>: <span class="pl-smi">number</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>
<span class="pl-c">// With option { style: "type" }</span>
<span class="pl-c">// ❌ Invalid</span>
<span class="pl-k">interface</span> <span class="pl-smi">Point</span> <span class="pl-kos">{</span>
<span class="pl-c1">x</span>: <span class="pl-smi">number</span><span class="pl-kos">;</span>
<span class="pl-c1">y</span>: <span class="pl-smi">number</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>
<span class="pl-c">// ✅ Valid</span>
<span class="pl-k">type</span> <span class="pl-smi">Point</span> <span class="pl-c1">=</span> <span class="pl-kos">{</span> <span class="pl-c1">x</span>: <span class="pl-smi">number</span><span class="pl-kos">;</span> <span class="pl-c1">y</span>: <span class="pl-smi">number</span> <span class="pl-kos">}</span><span class="pl-kos">;</span></pre></div>
<p>The rule will automatically fix simple cases where conversion is straightforward.</p>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>ci: use faster runners on Windows 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="3268282505" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7041" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7041/hovercard" href="https://github.com/biomejs/biome/pull/7041">#7041</a></li>
<li>chore: use own semver parser 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="3273097363" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7061" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7061/hovercard" href="https://github.com/biomejs/biome/pull/7061">#7061</a></li>
<li>docs(analyze): about "Services" 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="3271467205" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7058" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7058/hovercard" href="https://github.com/biomejs/biome/pull/7058">#7058</a></li>
<li>feat(parse/tailwind): start implementing lexer/parser 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="3255874973" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6986" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6986/hovercard" href="https://github.com/biomejs/biome/pull/6986">#6986</a></li>
<li>feat(qwik): add few new lint rules by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ptkagori/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ptkagori">@ptkagori</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3229944248" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6887" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6887/hovercard" href="https://github.com/biomejs/biome/pull/6887">#6887</a></li>
<li>chore: add Claude sub-agents 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="3277300065" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7066" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7066/hovercard" href="https://github.com/biomejs/biome/pull/7066">#7066</a></li>
<li>feat(format/html): implement suppression comments 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="2921263187" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/5356" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/5356/hovercard" href="https://github.com/biomejs/biome/pull/5356">#5356</a></li>
<li>feat: add tailwind domain 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="3250033337" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6972" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6972/hovercard" href="https://github.com/biomejs/biome/pull/6972">#6972</a></li>
<li>chore(lint): add version to the released rules 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="3285850491" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7087" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7087/hovercard" href="https://github.com/biomejs/biome/pull/7087">#7087</a></li>
<li>chore(deps): update rust:1.88.0 docker digest to af306cf 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="3268295972" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7042" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7042/hovercard" href="https://github.com/biomejs/biome/pull/7042">#7042</a></li>
<li>chore(deps): update rust crate serde_json to 1.0.142 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="3287744670" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7089" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7089/hovercard" href="https://github.com/biomejs/biome/pull/7089">#7089</a></li>
<li>chore(deps): update <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/biomejs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/biomejs">@biomejs</a> packages 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="3287788205" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7091" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7091/hovercard" href="https://github.com/biomejs/biome/pull/7091">#7091</a></li>
<li>chore(deps): update dependency @types/node to v22.17.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="3287788491" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7092" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7092/hovercard" href="https://github.com/biomejs/biome/pull/7092">#7092</a></li>
<li>chore(deps): update dependency eslint to v9.32.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="3288108084" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7093" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7093/hovercard" href="https://github.com/biomejs/biome/pull/7093">#7093</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="3288108707" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7094" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7094/hovercard" href="https://github.com/biomejs/biome/pull/7094">#7094</a></li>
<li>chore(deps): update rust crate tokio to 1.47.1 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="3288198768" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7096" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7096/hovercard" href="https://github.com/biomejs/biome/pull/7096">#7096</a></li>
<li>feat(analyze/js): added rule for <code>@typescript-eslint/consistent-type-definitions</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jakeleventhal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jakeleventhal">@jakeleventhal</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3270014195" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7053" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7053/hovercard" href="https://github.com/biomejs/biome/pull/7053">#7053</a></li>
<li>fix(core): consider extended configs for scan kind by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3290439220" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7099" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7099/hovercard" href="https://github.com/biomejs/biome/pull/7099">#7099</a></li>
<li>feat(analyse/js): add <code>noNonNullAssertedOptionalChain</code> rule 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="3290784972" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7100" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7100/hovercard" href="https://github.com/biomejs/biome/pull/7100">#7100</a></li>
<li>fix(core): return type inference no longer picks up nested returns by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3292125127" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7106" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7106/hovercard" href="https://github.com/biomejs/biome/pull/7106">#7106</a></li>
<li>fix(lint/noUnusedPrivateClassMembers): improve member usage check by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omasakun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omasakun">@omasakun</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3291569226" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7103" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7103/hovercard" href="https://github.com/biomejs/biome/pull/7103">#7103</a></li>
<li>fix(lint/noUnusedPrivateClassMembers): handle class members declared in constructor parameters correctly by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omasakun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omasakun">@omasakun</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3291353572" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7102" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7102/hovercard" href="https://github.com/biomejs/biome/pull/7102">#7102</a></li>
<li>chore: setup autofix.ci workflow by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3292962555" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7113" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7113/hovercard" href="https://github.com/biomejs/biome/pull/7113">#7113</a></li>
<li>revert: "fix(lint/noUnassignedVariables): handle JSX ref attribute ass… by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harxki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harxki">@harxki</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3291884967" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7104" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7104/hovercard" href="https://github.com/biomejs/biome/pull/7104">#7104</a></li>
<li>feat(lint): rule <code>noUnnecessaryConditions</code> 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="3283219470" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7084" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7084/hovercard" href="https://github.com/biomejs/biome/pull/7084">#7084</a></li>
<li>chore: add CodeRabbit config by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3293220197" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7114" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7114/hovercard" href="https://github.com/biomejs/biome/pull/7114">#7114</a></li>
<li>ci: use faster runners on depot 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="3293359572" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7115" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7115/hovercard" href="https://github.com/biomejs/biome/pull/7115">#7115</a></li>
<li>feat(parser): support import source by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fireairforce/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fireairforce">@fireairforce</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3266983353" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7019" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7019/hovercard" href="https://github.com/biomejs/biome/pull/7019">#7019</a></li>
<li>chore: apply CodeRabbit nits by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3293387359" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7116" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7116/hovercard" href="https://github.com/biomejs/biome/pull/7116">#7116</a></li>
<li>fix(core): resolve aliased imports by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3294033872" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7121" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7121/hovercard" href="https://github.com/biomejs/biome/pull/7121">#7121</a></li>
<li>fix: remove option, combobox, listbox from semantic element suggestions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/drwpow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/drwpow">@drwpow</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3295456242" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7129" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7129/hovercard" href="https://github.com/biomejs/biome/pull/7129">#7129</a></li>
<li>feat(analyze/js): add noVueDataObjectDeclaration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amousa11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amousa11">@amousa11</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3180922271" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6574" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6574/hovercard" href="https://github.com/biomejs/biome/pull/6574">#6574</a></li>
<li>feat(lint): add ignoreTypes option to the noImportCycles rule 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="3300568733" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7143" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7143/hovercard" href="https://github.com/biomejs/biome/pull/7143">#7143</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="3278519385" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7069" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7069/hovercard" href="https://github.com/biomejs/biome/pull/7069">#7069</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jakeleventhal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jakeleventhal">@jakeleventhal</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3270014195" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7053" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7053/hovercard" href="https://github.com/biomejs/biome/pull/7053">#7053</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/omasakun/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/omasakun">@omasakun</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3291569226" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7103" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7103/hovercard" href="https://github.com/biomejs/biome/pull/7103">#7103</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/amousa11/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/amousa11">@amousa11</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3180922271" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6574" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6574/hovercard" href="https://github.com/biomejs/biome/pull/6574">#6574</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/biomejs/biome/compare/@biomejs/biome@2.1.3...@biomejs/biome@2.1.4">https://github.com/biomejs/biome/compare/@biomejs/biome@2.1.3...@biomejs/biome@2.1.4</a></p>github-actions[bot]tag:github.com,2008:Repository/14712850/v2.0.0-rc.242025-08-07T10:53:04Zsyncthing: v2.0.0-rc.24<h2>Major changes in 2.0</h2>
<ul>
<li>
<p>Database backend switched from LevelDB to SQLite. There is a migration on<br>
first launch which can be lengthy for larger setups. The new database is<br>
easier to understand and maintain and, hopefully, less buggy.</p>
</li>
<li>
<p>The logging format has changed to use structured log entries (a message<br>
plus several key-value pairs). Additionally, we can now control the log<br>
level per package, and a new log level WARNING has been inserted between<br>
INFO and ERROR (which was previously known as WARNING...). The INFO level<br>
has become more verbose, indicating the sync actions taken by Syncthing. A<br>
new command line flag <code>--log-level</code> sets the default log level for all<br>
packages, and the <code>STTRACE</code> environment variable and GUI has been updated<br>
to set log levels per package. The <code>--verbose</code> and <code>--logflags</code> command<br>
line options have been removed and will be ignored if given.</p>
</li>
<li>
<p>Deleted items are no longer kept forever in the database, instead they are<br>
forgotten after six months. If your use case require deletes to take<br>
effect after more than a six month delay, set the<br>
<code>--db-delete-retention-interval</code> command line option or corresponding<br>
environment variable to zero, or a longer time interval of your choosing.</p>
</li>
<li>
<p>Modernised command line options parsing. Old single-dash long options are<br>
no longer supported, e.g. <code>-home</code> must be given as <code>--home</code>. Some options<br>
have been renamed, others have become subcommands. All serve options are<br>
now also accepted as environment variables. See <code>syncthing --help</code> and<br>
<code>syncthing serve --help</code> for details.</p>
</li>
<li>
<p>Rolling hash detection of shifted data is no longer supported as this<br>
effectively never helped. Instead, scanning and syncing is faster and more<br>
efficient without it.</p>
</li>
<li>
<p>A "default folder" is no longer created on first startup.</p>
</li>
<li>
<p>Multiple connections are now used by default between v2 devices. The new<br>
default value is to use three connections: one for index metadata and two<br>
for data exchange.</p>
</li>
<li>
<p>The following platforms unfortunately no longer get prebuilt binaries for<br>
download at syncthing.net and on GitHub, due to complexities related to<br>
cross compilation with SQLite:</p>
<ul>
<li>dragonfly/amd64</li>
<li>illumos/amd64 and solaris/amd64</li>
<li>linux/ppc64</li>
<li>netbsd/*</li>
<li>openbsd/386 and openbsd/arm</li>
<li>windows/arm</li>
</ul>
</li>
<li>
<p>The handling of conflict resolution involving deleted files has changed. A<br>
delete can now be the winning outcome of conflict resolution, resulting in<br>
the deleted file being moved to a conflict copy.</p>
</li>
</ul>
<p>This release is also available as:</p>
<ul>
<li>
<p>APT repository: <a href="https://apt.syncthing.net/" rel="nofollow">https://apt.syncthing.net/</a></p>
</li>
<li>
<p>Docker image: <code>docker.io/syncthing/syncthing:2.0.0-rc.24</code> or <code>ghcr.io/syncthing/syncthing:2.0.0-rc.24</code><br>
(<code>{docker,ghcr}.io/syncthing/syncthing:2</code> to follow just the major version)</p>
</li>
</ul>
<h2>What's Changed</h2>
<h3>Fixes</h3>
<ul>
<li>fix(db): handle large numbers of blocks in update by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2967056476" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10025" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10025/hovercard" href="https://github.com/syncthing/syncthing/pull/10025">#10025</a></li>
<li>fix(syncthing): make directory flags global for all commands by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2967644972" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10028" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10028/hovercard" href="https://github.com/syncthing/syncthing/pull/10028">#10028</a></li>
<li>fix(sqlite): apply options by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pixelspark/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pixelspark">@pixelspark</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2980954973" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10049" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10049/hovercard" href="https://github.com/syncthing/syncthing/pull/10049">#10049</a></li>
<li>fix(db): version vector serialisation :( by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2983203375" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10050" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10050/hovercard" href="https://github.com/syncthing/syncthing/pull/10050">#10050</a></li>
<li>fix(model): loop-break regression while block copying in puller by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3015402081" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10069" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10069/hovercard" href="https://github.com/syncthing/syncthing/pull/10069">#10069</a></li>
<li>fix(model): close fd immediately in copier by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3034053289" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10079" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10079/hovercard" href="https://github.com/syncthing/syncthing/pull/10079">#10079</a></li>
<li>fix(model): use same folder first in copier by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3035438524" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10093" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10093/hovercard" href="https://github.com/syncthing/syncthing/pull/10093">#10093</a></li>
<li>fix(model): correct bufferpool handling; simplify by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3069798757" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10113" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10113/hovercard" href="https://github.com/syncthing/syncthing/pull/10113">#10113</a></li>
<li>fix(protocol): avoid deadlock with concurrent connection start and close by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3096256832" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10140" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10140/hovercard" href="https://github.com/syncthing/syncthing/pull/10140">#10140</a></li>
<li>fix(syncthing): avoid writing panic log to nil fd by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3111749700" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10154" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10154/hovercard" href="https://github.com/syncthing/syncthing/pull/10154">#10154</a></li>
<li>fix(fs): check for unsupported error on modern Windows (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3128916258" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10164" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10164/hovercard" href="https://github.com/syncthing/syncthing/issues/10164">#10164</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rasa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rasa">@rasa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3128930945" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10165" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10165/hovercard" href="https://github.com/syncthing/syncthing/pull/10165">#10165</a></li>
<li>fix(gui): don't show dial errors for paused devices (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3129025413" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10166" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10166/hovercard" href="https://github.com/syncthing/syncthing/issues/10166">#10166</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3129057057" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10167" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10167/hovercard" href="https://github.com/syncthing/syncthing/pull/10167">#10167</a></li>
<li>fix: track invalid files in LocalFlags to fix global count by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3138054508" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10170" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10170/hovercard" href="https://github.com/syncthing/syncthing/pull/10170">#10170</a></li>
<li>fix(watchaggregator): properly handle sub-second watch durations (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2795033655" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9927" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9927/hovercard" href="https://github.com/syncthing/syncthing/issues/9927">#9927</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3144821078" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10179" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10179/hovercard" href="https://github.com/syncthing/syncthing/pull/10179">#10179</a></li>
<li>fix(db): remove invalid member from FileMetadata by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3146332389" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10180" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10180/hovercard" href="https://github.com/syncthing/syncthing/pull/10180">#10180</a></li>
<li>fix(model): avoid flashing "Sync Waiting" unnecessarily by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3148892525" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10181" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10181/hovercard" href="https://github.com/syncthing/syncthing/pull/10181">#10181</a></li>
<li>fix(protocol): slightly loosen/correct ownership comparison criteria (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2749588786" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9879" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9879/hovercard" href="https://github.com/syncthing/syncthing/issues/9879">#9879</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yparitcher/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yparitcher">@yparitcher</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3142096544" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10176" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10176/hovercard" href="https://github.com/syncthing/syncthing/pull/10176">#10176</a></li>
<li>fix(model): don't clobber local flags when receiving index by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3158994657" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10190" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10190/hovercard" href="https://github.com/syncthing/syncthing/pull/10190">#10190</a></li>
<li>fix(beacon, osutil, upnp): fix local discovery send and intf detection on Android by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Catfriend1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Catfriend1">@Catfriend1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3176088007" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10196" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10196/hovercard" href="https://github.com/syncthing/syncthing/pull/10196">#10196</a></li>
<li>fix(pmp, netutil): workaround native code denied to discover gateway ipv4 addr on Android 14+ by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Catfriend1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Catfriend1">@Catfriend1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186062144" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10204" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10204/hovercard" href="https://github.com/syncthing/syncthing/pull/10204">#10204</a></li>
<li>fix: allow deleted files to win conflict resolution by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3204556991" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10207" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10207/hovercard" href="https://github.com/syncthing/syncthing/pull/10207">#10207</a></li>
<li>fix(gui): show revert buttons only when folder is idle (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3161087217" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10191" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10191/hovercard" href="https://github.com/syncthing/syncthing/issues/10191">#10191</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3207101068" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10212" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10212/hovercard" href="https://github.com/syncthing/syncthing/pull/10212">#10212</a></li>
<li>fix(gui): fix identicon generation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aionescu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aionescu">@aionescu</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3287179514" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10228" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10228/hovercard" href="https://github.com/syncthing/syncthing/pull/10228">#10228</a></li>
<li>fix(model): properly set folder state "syncing" when copying data by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3287028554" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10227" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10227/hovercard" href="https://github.com/syncthing/syncthing/pull/10227">#10227</a></li>
<li>fix(slogutil): quote values with parentheses in them by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3299774362" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10229" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10229/hovercard" href="https://github.com/syncthing/syncthing/pull/10229">#10229</a></li>
</ul>
<h3>Features</h3>
<ul>
<li>feat: add <code>syncthing debug database-statistics</code> command by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3076576811" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10117" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10117/hovercard" href="https://github.com/syncthing/syncthing/pull/10117">#10117</a></li>
<li>feat(config): enable multiple connections by default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3102420685" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10151" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10151/hovercard" href="https://github.com/syncthing/syncthing/pull/10151">#10151</a></li>
<li>feat(config): expose folder and device info as metrics (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2266117621" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9519" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9519/hovercard" href="https://github.com/syncthing/syncthing/issues/9519">#9519</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3102305474" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10148" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10148/hovercard" href="https://github.com/syncthing/syncthing/pull/10148">#10148</a></li>
<li>feat: use Ed25519 keys for sync connections by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3128078585" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10162" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10162/hovercard" href="https://github.com/syncthing/syncthing/pull/10162">#10162</a></li>
<li>feat(gui): add option to limit bandwidth in LAN to Settings (ref <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2979923003" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10046" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10046/hovercard" href="https://github.com/syncthing/syncthing/issues/10046">#10046</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3150659906" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10182" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10182/hovercard" href="https://github.com/syncthing/syncthing/pull/10182">#10182</a></li>
<li>feat(connections, nat): add UDP portmapping/pinhole for QUIC (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="815608128" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/7403" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/7403/hovercard" href="https://github.com/syncthing/syncthing/issues/7403">#7403</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3138186942" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10171" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10171/hovercard" href="https://github.com/syncthing/syncthing/pull/10171">#10171</a></li>
<li>feat: add debug commands for folder counts and files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3201637784" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10206" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10206/hovercard" href="https://github.com/syncthing/syncthing/pull/10206">#10206</a></li>
<li>feat(ignore): add .stignore escaping on Windows by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rasa/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rasa">@rasa</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3186414101" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10205" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10205/hovercard" href="https://github.com/syncthing/syncthing/pull/10205">#10205</a></li>
<li>feat: switch logging framework by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3267420471" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10220" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10220/hovercard" href="https://github.com/syncthing/syncthing/pull/10220">#10220</a></li>
</ul>
<h3>Other</h3>
<ul>
<li>chore: remove abandoned next-gen-gui experiment by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2956524627" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10004" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10004/hovercard" href="https://github.com/syncthing/syncthing/pull/10004">#10004</a></li>
<li>chore: remove weak hashing which does not pull its weight by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2956588498" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10005" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10005/hovercard" href="https://github.com/syncthing/syncthing/pull/10005">#10005</a></li>
<li>chore: switch database engine to sqlite (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2842934499" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9954" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/9954/hovercard" href="https://github.com/syncthing/syncthing/issues/9954">#9954</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2873307974" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/9965" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/9965/hovercard" href="https://github.com/syncthing/syncthing/pull/9965">#9965</a></li>
<li>chore: harmonise command line flags by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958534167" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10007" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10007/hovercard" href="https://github.com/syncthing/syncthing/pull/10007">#10007</a></li>
<li>chore(db): increase journal limit to 64MiB by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bt90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bt90">@bt90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2965893978" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10022" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10022/hovercard" href="https://github.com/syncthing/syncthing/pull/10022">#10022</a></li>
<li>chore: forget deleted files older than six months (fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="552807317" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/6284" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/6284/hovercard" href="https://github.com/syncthing/syncthing/issues/6284">#6284</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2966294655" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10023" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10023/hovercard" href="https://github.com/syncthing/syncthing/pull/10023">#10023</a></li>
<li>chore(db): use shorter read transactions and periodic checkpoint for smaller WAL by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2967356280" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10027" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10027/hovercard" href="https://github.com/syncthing/syncthing/pull/10027">#10027</a></li>
<li>chore: configurable delete retention interval by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2968598175" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10030" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10030/hovercard" href="https://github.com/syncthing/syncthing/pull/10030">#10030</a></li>
<li>chore(db): fix debug logging by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bt90/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bt90">@bt90</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2970332468" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10033" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10033/hovercard" href="https://github.com/syncthing/syncthing/pull/10033">#10033</a></li>
<li>chore(db): buffer pulled files for smaller WAL by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2971346438" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10036" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10036/hovercard" href="https://github.com/syncthing/syncthing/pull/10036">#10036</a></li>
<li>chore(db): use one SQLite database per folder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2974885610" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10042" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10042/hovercard" href="https://github.com/syncthing/syncthing/pull/10042">#10042</a></li>
<li>chore(model): delay starting a pull while there are incoming index updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2974883846" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10041" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10041/hovercard" href="https://github.com/syncthing/syncthing/pull/10041">#10041</a></li>
<li>chore(syncthing): remove "default" folder concept by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3012747206" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10068" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10068/hovercard" href="https://github.com/syncthing/syncthing/pull/10068">#10068</a></li>
<li>chore(syncthing): ensure migrated database is closed before exiting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xjtdy888/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xjtdy888">@xjtdy888</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3028270328" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10076" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10076/hovercard" href="https://github.com/syncthing/syncthing/pull/10076">#10076</a></li>
<li>chore(db, model): simplify per hash DB lookup in copier by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3034064391" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10080" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10080/hovercard" href="https://github.com/syncthing/syncthing/pull/10080">#10080</a></li>
<li>chore(model): refactor copier for more flatness by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3035453856" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10094" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10094/hovercard" href="https://github.com/syncthing/syncthing/pull/10094">#10094</a></li>
<li>build: upgrade setup-zig action by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3091053923" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10134" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10134/hovercard" href="https://github.com/syncthing/syncthing/pull/10134">#10134</a></li>
<li>build: properly propagate build tags to Debian build by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3100617295" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10144" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10144/hovercard" href="https://github.com/syncthing/syncthing/pull/10144">#10144</a></li>
<li>chore(protocol): don't start connection routines a second time by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3101213291" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10146" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10146/hovercard" href="https://github.com/syncthing/syncthing/pull/10146">#10146</a></li>
<li>chore(protocol): only allow enc. password changes on cluster config by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3101212814" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10145" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10145/hovercard" href="https://github.com/syncthing/syncthing/pull/10145">#10145</a></li>
<li>chore: various linter fixes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3124276343" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10157" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10157/hovercard" href="https://github.com/syncthing/syncthing/pull/10157">#10157</a></li>
<li>build: streamline gathering of facts, checkouts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3126874810" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10158" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10158/hovercard" href="https://github.com/syncthing/syncthing/pull/10158">#10158</a></li>
<li>build: build both Debian armel and armhf (though they are the same for us) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3127045900" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10159" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10159/hovercard" href="https://github.com/syncthing/syncthing/pull/10159">#10159</a></li>
<li>build: explicitly trigger build after pushing release tag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3127064833" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10160" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10160/hovercard" href="https://github.com/syncthing/syncthing/pull/10160">#10160</a></li>
<li>chore(syncthing): ensure response body is closed in upgrade request by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3131221927" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10169" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10169/hovercard" href="https://github.com/syncthing/syncthing/pull/10169">#10169</a></li>
<li>refactor(syncthing): use named constant for SIGHUP by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3131213110" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10168" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10168/hovercard" href="https://github.com/syncthing/syncthing/pull/10168">#10168</a></li>
<li>chore(model): remove redundant removal of internal fields in indexsender by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3141564431" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10173" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10173/hovercard" href="https://github.com/syncthing/syncthing/pull/10173">#10173</a></li>
<li>chore: add migration for remote invalid local flag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3141662458" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10174" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10174/hovercard" href="https://github.com/syncthing/syncthing/pull/10174">#10174</a></li>
<li>chore(config): increase max concurrent writes default by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/imsodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/imsodin">@imsodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3180308273" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10200" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10200/hovercard" href="https://github.com/syncthing/syncthing/pull/10200">#10200</a></li>
<li>chore(gui): added spacing between folder name and error message by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3183037332" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10201" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10201/hovercard" href="https://github.com/syncthing/syncthing/pull/10201">#10201</a></li>
<li>build: unset build ID in generated binaries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Catfriend1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Catfriend1">@Catfriend1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3184905539" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10203" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10203/hovercard" href="https://github.com/syncthing/syncthing/pull/10203">#10203</a></li>
<li>chore(protocol): minor cleanup of ClusterConfig messages; remove DisableTempIndexes option by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/calmh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/calmh">@calmh</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3184770457" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10202" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10202/hovercard" href="https://github.com/syncthing/syncthing/pull/10202">#10202</a></li>
<li>refactor(beacon, osutil, upnp, netutil): only use anet on Android by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3206933825" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10211" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10211/hovercard" href="https://github.com/syncthing/syncthing/pull/10211">#10211</a></li>
<li>chore(gui): fix "Shut Down" spelling in Actions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3216487743" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10213" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10213/hovercard" href="https://github.com/syncthing/syncthing/pull/10213">#10213</a></li>
<li>chore(gui): update fancytree from 2.38.0 to 2.38.5 (ref <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2984124115" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10051" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10051/hovercard" href="https://github.com/syncthing/syncthing/issues/10051">#10051</a>, ref <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3121547764" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10155" data-hovercard-type="issue" data-hovercard-url="/syncthing/syncthing/issues/10155/hovercard" href="https://github.com/syncthing/syncthing/issues/10155">#10155</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tomasz1986/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tomasz1986">@tomasz1986</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3216894287" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10214" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10214/hovercard" href="https://github.com/syncthing/syncthing/pull/10214">#10214</a></li>
<li>chore(config): remove fallback STUN servers that are CNAMEs to stun.counterpath.com by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/marbens-arch/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/marbens-arch">@marbens-arch</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3258406618" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10219" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10219/hovercard" href="https://github.com/syncthing/syncthing/pull/10219">#10219</a></li>
<li>chore(scanner): reduce memory pressure by using pools inside hasher by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3276396412" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10222" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10222/hovercard" href="https://github.com/syncthing/syncthing/pull/10222">#10222</a></li>
<li>chore(fs): slightly reduce memory usage of IsParent by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3276900160" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10223" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10223/hovercard" href="https://github.com/syncthing/syncthing/pull/10223">#10223</a></li>
<li>refactor(scanner): use recommended pattern for slice pool by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3283033587" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10225" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10225/hovercard" href="https://github.com/syncthing/syncthing/pull/10225">#10225</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ardevd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ardevd">@ardevd</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3111749700" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10154" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10154/hovercard" href="https://github.com/syncthing/syncthing/pull/10154">#10154</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yparitcher/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yparitcher">@yparitcher</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3142096544" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10176" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10176/hovercard" href="https://github.com/syncthing/syncthing/pull/10176">#10176</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danog/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danog">@danog</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3276396412" data-permission-text="Title is private" data-url="https://github.com/syncthing/syncthing/issues/10222" data-hovercard-type="pull_request" data-hovercard-url="/syncthing/syncthing/pull/10222/hovercard" href="https://github.com/syncthing/syncthing/pull/10222">#10222</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/syncthing/syncthing/compare/v1.29.7...v2.0.0-rc.24"><tt>v1.29.7...v2.0.0-rc.24</tt></a></p>st-releasetag:github.com,2008:Repository/294977469/v1.7.222025-08-07T00:14:08Zclink: v1.7.22<ul>
<li>Explicitly disable <code>loadlib</code> and related support in Lua; Clink uses a statically linked Lua engine and does not support dynamic C libraries.</li>
<li>Fixed the <code>onprovideline</code> event so it doesn't interfere with the <code>same_dir</code> mode of <code>prompt.transient</code>.</li>
<li>Fixed input line coloring of <code>echo</code> in <code>for %i (1 2 3) do @echo %i</code> (regression introduced in v1.6.16).</li>
<li>Fixed how <code>clink autorun set</code> parses flags and quotes, so that <code>clink autorun set \"c:\my tools\clink\" inject --autorun</code> works as expected.</li>
<li>Fixed the <code>exec.commands</code> setting when an argmatcher uses <code>:chaincommand()</code>.</li>
<li>Fixed edge cases for <code>@</code> command prefix when an argmatcher uses <code>:chaincommand()</code>.</li>
<li>Fixed <a href="https://github.com/chrisant996/clink/issues/779" data-hovercard-type="discussion" data-hovercard-url="/chrisant996/clink/discussions/779/hovercard">#779</a>; an argmatcher's <code>onadvance</code> callback accidentally advanced two times if it advanced to the last argument slot.</li>
<li>Fixed <a href="https://github.com/chrisant996/clink/issues/782" data-hovercard-type="issue" data-hovercard-url="/chrisant996/clink/issues/782/hovercard">#782</a>; on Windows 8.1, some multiline prompts may render with extra blank lines.</li>
</ul>chrisant996tag:github.com,2008:Repository/20015012/v2.23.112025-08-06T20:37:38Zminify: v2.23.11<ul>
<li><a href="https://github.com/tdewolff/minify/commit/be2fabd516639683e939e303676c021627101635">HTML: support unofficial XML tag,</a> <a href="https://github.com/tdewolff/minify/commit/be2fabd516639683e939e303676c021627101635">fixes</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3287495032" data-permission-text="Title is private" data-url="https://github.com/tdewolff/minify/issues/832" data-hovercard-type="issue" data-hovercard-url="/tdewolff/minify/issues/832/hovercard" href="https://github.com/tdewolff/minify/issues/832">#832</a></li>
<li><a href="https://github.com/tdewolff/minify/commit/4d2531a3dccef3736e655464cb9ed01eca190f5c">Export vendored tarball,</a> <a href="https://github.com/tdewolff/minify/commit/4d2531a3dccef3736e655464cb9ed01eca190f5c">fixes</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3295176975" data-permission-text="Title is private" data-url="https://github.com/tdewolff/minify/issues/834" data-hovercard-type="issue" data-hovercard-url="/tdewolff/minify/issues/834/hovercard" href="https://github.com/tdewolff/minify/issues/834">#834</a></li>
</ul>tdewolfftag:github.com,2008:Repository/298255706/v2.862025-08-06T19:39:18ZdgVoodoo2: v2.86 - A little addition to the latest release<ul>
<li>Implementing the equivalent of software vertex processing along with model space lighting in D3D (B5 Into the Fire, House of The Dead 2, ...)</li>
<li>Fixing user clip planes for FF transformed vertices in D3D/8/9 (Monkey Island 4 shadows)</li>
<li>Adding option DirectX\DisableD3DTnLDevice to disable the T&L device with hw vertex processing</li>
<li>Fixing a DDraw flip attach crash (DirectShow video playback in MotoRacer 3)</li>
<li>Fixing a DDraw allocate crash (Hostile Waters - Antaeus Rising)</li>
<li>Fixing manual changing of screenmode of D3D9 multihead swapchains (applied to all windows)</li>
<li>Debug layer fixes, like a D3D crash, a false positive message, and other cosmetics</li>
</ul>dege-diosgtag:github.com,2008:Repository/61176492/v0.12.1002025-08-06T07:16:02ZDriverStoreExplorer: DriverStore Explorer v0.12.100<h2>New features</h2>
<ul>
<li>Update "Select Old Drivers" logic and add option to include Boot Critical drivers.</li>
<li>Add device name/category to backup folder name.</li>
<li>Enhance offline store validation.</li>
<li>Localization updates by AI.</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/lostindark/DriverStoreExplorer/compare/v0.12.95...v0.12.100"><tt>v0.12.95...v0.12.100</tt></a></p>lostindarktag:github.com,2008:Repository/610265820/2025-08-06-master2025-08-06T06:43:18Ztuxguitar: 2025-08-06-master<p><strong>Warning:</strong> This version of TuxGuitar is our development playground. It uses a <strong>new file format</strong> which is still under development and cannot be read by older versions. We cannot guarantee that the files saved with this version are error-free and compatible with future TuxGuitar versions!</p>
<p>The Windows packages include OpenJDK from portableapps.com.<br>
The macOS package includes OpenJDK from brew.sh.</p>helge17tag:github.com,2008:Repository/177409960/v2.12.22025-08-06T00:42:59ZTwire: 2.12.2<h2>What's Changed</h2>
<ul>
<li>Fix crash on older versions of Android</li>
<li>Fix player being used before it's ready</li>
<li>Fix some exception handling</li>
<li>Fix emotes and follows not being fetched in chunks</li>
<li>Fix search searching when there's no query</li>
<li>Fix streams being fetched when there's no stream results</li>
<li>Fix fetching viewers for offline streams</li>
</ul>
<p>This update contains a bunch of bug fixes to fix some of the bugs that have been caught using the new bug reporting system. At this point if I say bug one more time, I'm gonna bug out.</p>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/twireapp/Twire/compare/v2.12.1...v2.12.2"><tt>v2.12.1...v2.12.2</tt></a></p>samfundevtag:github.com,2008:Repository/865078036/v0.7.02025-08-03T08:25:08ZNuked-SC55-CLAP: v0.7.0<p>First release</p>johnnovaktag:github.com,2008:Repository/13807606/v0.65.12025-08-03T05:51:14Zfzf: 0.65.1<ul>
<li>Fixed incorrect <code>$FZF_CLICK_HEADER_WORD</code> and <code>$FZF_CLICK_FOOTER_WORD</code> when the header or footer contains ANSI escape sequences and tab characters.</li>
<li>Fixed a bug where you cannot unset the default <code>--nth</code> using <code>change-nth</code> action.</li>
<li>Fixed a highlighting bug when using <code>--color fg:dim,nth:regular</code> pattern over ANSI-colored items.</li>
</ul>junegunntag:github.com,2008:Repository/41889031/v0.28.02025-08-02T18:47:53ZNewPipe: v0.28.0<p><a href="https://newpipe.net/blog/pinned/announcement/newpipe-0.28.0-released/" rel="nofollow">➡️ ➡️ ➡️ Read the blog post ⬅️ ⬅️ ⬅️</a></p>
<h3>New</h3>
<ul>
<li>Add support for Android Auto (special thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haggaie/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haggaie">@haggaie</a>!) <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1510295127" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/9592" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/9592/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/9592">#9592</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2855999633" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12044" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12044/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12044">#12044</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3209022408" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12416" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12416/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12416">#12416</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3206519774" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12410" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12410/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12410">#12410</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3207153498" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12412" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12412/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12412">#12412</a></li>
<li>Add feed groups as main screen tabs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3105416357" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12325" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12325/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12325">#12325</a></li>
<li>[YouTube] Support new kiosks and add migration to change trending kiosk tab <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3250202700" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12450" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12450/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12450">#12450</a></li>
<li>[YouTube] Share as YouTube temporary playlist <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2879716476" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12065" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12065/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12065">#12065</a></li>
<li>[SoundCloud] Add support for likes in channel and feed <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3157145594" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12367" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12367/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12367">#12367</a></li>
<li>[SoundCloud] Add support for AAC 160k unprotected stream <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3209444045" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipeExtractor/issues/1317" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipeExtractor/pull/1317/hovercard" href="https://github.com/TeamNewPipe/NewPipeExtractor/pull/1317">TeamNewPipe/NewPipeExtractor#1317</a></li>
</ul>
<h3>Improved</h3>
<ul>
<li>[Android 13+] Support per-app language preferences <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2912581638" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12093" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12093/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12093">#12093</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3245336067" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12444" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12444/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12444">#12444</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3265833564" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12470" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12470/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12470">#12470</a><br>
ℹ️ This replaces the in-app setting of the app localization for Android 13+ devices. Your existing in-app preference will be migrated automatically to use Android's per-app language setting.</li>
<li>Show service name in search bar hint <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3045108121" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12258" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12258/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12258">#12258</a></li>
<li>Show download date in Downloads <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2940450200" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12117" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12117/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12117">#12117</a></li>
<li>Support RTL usernames in comment header <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3002440525" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12188" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12188/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12188">#12188</a></li>
<li>Disambiguate audio track labels <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2908840731" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12089" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12089/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12089">#12089</a></li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix broken text colors in dark mode <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2849038260" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12035" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12035/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12035">#12035</a></li>
<li>[YouTube] Fix playlists not loading more than 100 items <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3088286051" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipeExtractor/issues/1301" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipeExtractor/pull/1301/hovercard" href="https://github.com/TeamNewPipe/NewPipeExtractor/pull/1301">TeamNewPipe/NewPipeExtractor#1301</a></li>
<li>[YouTube] Fix missing recommended videos <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3210149906" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipeExtractor/issues/1320" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipeExtractor/pull/1320/hovercard" href="https://github.com/TeamNewPipe/NewPipeExtractor/pull/1320">TeamNewPipe/NewPipeExtractor#1320</a></li>
<li>[YouTube] Other miscellaneous fixes, see <a href="https://github.com/TeamNewPipe/NewPipeExtractor/releases/tag/v0.24.8">https://github.com/TeamNewPipe/NewPipeExtractor/releases/tag/v0.24.8</a></li>
<li>Fix crashes in History list view (caused by buggy header) <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3023197178" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12214" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12214/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12214">#12214</a></li>
<li>Fix stream notification grouping when channel URLs differ <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2883354708" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12067" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12067/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12067">#12067</a></li>
<li>Fix duplicate menu options in <code>ChannelFragment</code> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2904909798" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12083" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12083/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12083">#12083</a></li>
<li>Fix timestamps not working in comment replies <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3017371742" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12202" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12202/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12202">#12202</a></li>
<li>Add migration to remove the now-defunct SoundCloud Top 50 kiosk <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3242499141" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12438" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12438/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12438">#12438</a></li>
<li>Fix UI crash instead of proper error report if search next page can't be extracted <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3204739459" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12408" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12408/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12408">#12408</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3252865182" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12455" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12455/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12455">#12455</a></li>
</ul>
<h3>Translation / Localization</h3>
<ul>
<li>Update translations and add 15 new locales to the in-app language chooser <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2922259769" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12103" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12103/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12103">#12103</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3271217349" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12476" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12476/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12476">#12476</a></li>
<li>Do not capitalize "page" for main page content options <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3242484032" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12437" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12437/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12437">#12437</a></li>
<li>Add dev and refactor nightly build badges to README <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3075364515" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12298" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12298/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12298">#12298</a></li>
<li>Add matrix chat link and dev/refactor nightly badges to all translated READMEs <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3081925004" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12302" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12302/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12302">#12302</a></li>
<li>Fix "Get it on F-Droid" appearing giant in README <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3206456732" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12409" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12409/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12409">#12409</a></li>
<li>Fix new badge links on README being rendered incorrectly <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3237136442" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12434" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12434/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12434">#12434</a></li>
</ul>
<h3>Development</h3>
<ul>
<li>Disable logs about view animations by default <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2855991458" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12043" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12043/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12043">#12043</a></li>
<li>Add new Proguard rules for Mozilla Rhino <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2923314337" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12104" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12104/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12104">#12104</a></li>
<li>Improve extractor Jitpack workaround comment and fix its hash in <code>build.gradle</code> file <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3042036077" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12256" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12256/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12256">#12256</a></li>
<li>[YouTube] Fix accessing poToken challenge data at wrong index in some cases <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2967452533" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12150" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12150/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12150">#12150</a></li>
<li>Update user agent to Firefox 140 ESR <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3266841118" data-permission-text="Title is private" data-url="https://github.com/TeamNewPipe/NewPipe/issues/12472" data-hovercard-type="pull_request" data-hovercard-url="/TeamNewPipe/NewPipe/pull/12472/hovercard" href="https://github.com/TeamNewPipe/NewPipe/pull/12472">#12472</a></li>
</ul>Stypoxtag:github.com,2008:Repository/671654508/@biomejs/biome@2.1.32025-07-29T14:23:35Zbiome: Biome CLI v2.1.3
<h2>2.1.3</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7057" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7057/hovercard">#7057</a> <a href="https://github.com/biomejs/biome/commit/634a667ac8e9f74a4633895eab4bd4695ffffa1d"><code>634a667</code></a> Thanks <a href="https://github.com/mdevils">@mdevils</a>! - Added the rule <a href="https://biomejs.dev/linter/rules/no-vue-reserved-keys/" rel="nofollow"><code>noVueReservedKeys</code></a>, which prevents the use of reserved Vue keys.</p>
<p>It prevents the use of Vue reserved keys such as those starting with <code># @biomejs/biome (like </code>$el<code>, </code>$data<code>, </code>$props<code>) and keys starting with </code>_` in data properties, which can cause conflicts and unexpected behavior in Vue components.</p>
<h5>Invalid example</h5>
<div class="highlight highlight-source-vue notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<script>
export default {
data: {
$el: "",
_foo: "bar",
},
};
</script>"><pre><<span class="pl-ent">script</span>><span class="pl-s1"></span>
<span class="pl-s1"><span class="pl-k">export</span> <span class="pl-c1">default</span> {</span>
<span class="pl-s1"> data<span class="pl-k">:</span> {</span>
<span class="pl-s1"> $el<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>,</span>
<span class="pl-s1"> _foo<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>bar<span class="pl-pds">"</span></span>,</span>
<span class="pl-s1"> },</span>
<span class="pl-s1">};</span>
<span class="pl-s1"></span></<span class="pl-ent">script</span>></pre></div>
<div class="highlight highlight-source-vue notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<script>
export default {
computed: {
$data() {
return this.someData;
},
},
};
</script>"><pre><<span class="pl-ent">script</span>><span class="pl-s1"></span>
<span class="pl-s1"><span class="pl-k">export</span> <span class="pl-c1">default</span> {</span>
<span class="pl-s1"> computed<span class="pl-k">:</span> {</span>
<span class="pl-s1"> <span class="pl-en">$data</span>() {</span>
<span class="pl-s1"> <span class="pl-k">return</span> <span class="pl-c1">this</span>.<span class="pl-smi">someData</span>;</span>
<span class="pl-s1"> },</span>
<span class="pl-s1"> },</span>
<span class="pl-s1">};</span>
<span class="pl-s1"></span></<span class="pl-ent">script</span>></pre></div>
<h5>Valid examples</h5>
<div class="highlight highlight-source-vue notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<script>
export default {
data() {
return {
message: "Hello Vue!",
count: 0,
};
},
};
</script>"><pre><<span class="pl-ent">script</span>><span class="pl-s1"></span>
<span class="pl-s1"><span class="pl-k">export</span> <span class="pl-c1">default</span> {</span>
<span class="pl-s1"> <span class="pl-en">data</span>() {</span>
<span class="pl-s1"> <span class="pl-k">return</span> {</span>
<span class="pl-s1"> message<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>Hello Vue!<span class="pl-pds">"</span></span>,</span>
<span class="pl-s1"> count<span class="pl-k">:</span> <span class="pl-c1">0</span>,</span>
<span class="pl-s1"> };</span>
<span class="pl-s1"> },</span>
<span class="pl-s1">};</span>
<span class="pl-s1"></span></<span class="pl-ent">script</span>></pre></div>
<div class="highlight highlight-source-vue notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<script>
export default {
computed: {
displayMessage() {
return this.message;
},
},
};
</script>"><pre><<span class="pl-ent">script</span>><span class="pl-s1"></span>
<span class="pl-s1"><span class="pl-k">export</span> <span class="pl-c1">default</span> {</span>
<span class="pl-s1"> computed<span class="pl-k">:</span> {</span>
<span class="pl-s1"> <span class="pl-en">displayMessage</span>() {</span>
<span class="pl-s1"> <span class="pl-k">return</span> <span class="pl-c1">this</span>.<span class="pl-smi">message</span>;</span>
<span class="pl-s1"> },</span>
<span class="pl-s1"> },</span>
<span class="pl-s1">};</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/6941" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6941/hovercard">#6941</a> <a href="https://github.com/biomejs/biome/commit/734d708bd84f32d72e5972cc27c194d5da46a3c0"><code>734d708</code></a> Thanks <a href="https://github.com/JamBalaya56562">@JamBalaya56562</a>! - Added <code>@eslint-react/no-nested-component-definitions</code> as a rule source for <code>noNestedComponentDefinitions</code>. Now it will get picked up by <code>biome migrate --eslint</code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6463" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6463/hovercard">#6463</a> <a href="https://github.com/biomejs/biome/commit/0a16d54c2cffbf13c5144b53021923734f1c234e"><code>0a16d54</code></a> Thanks <a href="https://github.com/JamBalaya56562">@JamBalaya56562</a>! - Fixed a website link for the <code>useComponentExportOnlyModules</code> linter rule to point to the correct URL.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6944" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6944/hovercard">#6944</a> <a href="https://github.com/biomejs/biome/commit/e53f2fe03827a8dcad2184178ecfaee0e35af992"><code>e53f2fe</code></a> Thanks <a href="https://github.com/sterliakov">@sterliakov</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6910" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6910/hovercard">#6910</a>: Biome now ignores type casts and assertions when evaluating numbers for <code>noMagicNumbers</code> rule.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6991" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6991/hovercard">#6991</a> <a href="https://github.com/biomejs/biome/commit/476cd55e4e5b1b03335e14c65ad01b2bbb4b8d42"><code>476cd55</code></a> Thanks <a href="https://github.com/denbezrukov">@denbezrukov</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6973" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6973/hovercard">#6973</a>: Add support for parsing the :active-view-transition-type() pseudo-class</p>
<div class="highlight highlight-source-css notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=":active-view-transition-type(first second) {
}"><pre><span class="pl-kos">:</span><span class="pl-c1">active-view-transition-type</span>(<span class="pl-ent">first</span> <span class="pl-ent">second</span>) {
}</pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6992" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6992/hovercard">#6992</a> <a href="https://github.com/biomejs/biome/commit/0b1e19474e323c7354fccff0c5654d47024c7b91"><code>0b1e194</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Added a new JSON rule called <code>noQuickfixBiome</code>, which disallow the use of code action <code>quickfix.biome</code> inside code editor settings.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6943" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6943/hovercard">#6943</a> <a href="https://github.com/biomejs/biome/commit/249306db32b6a912f39d2c88a1b0d702b8b97a9b"><code>249306d</code></a> Thanks <a href="https://github.com/JamBalaya56562">@JamBalaya56562</a>! - Fixed <code>@vitest/eslint-plugin</code> source url.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6947" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6947/hovercard">#6947</a> <a href="https://github.com/biomejs/biome/commit/4c7ed0fda858424a21fb1766270aaa74838a46a1"><code>4c7ed0f</code></a> Thanks <a href="https://github.com/JamBalaya56562">@JamBalaya56562</a>! - Fixed ESLint migration for the rule <code>prefer-for</code> from <code>eslint-plugin-solid</code> to Biome's <code>useForComponent</code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6976" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6976/hovercard">#6976</a> <a href="https://github.com/biomejs/biome/commit/72ebadce0e192932d237d9a31c45cb230c8bbd91"><code>72ebadc</code></a> Thanks <a href="https://github.com/siketyan">@siketyan</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6692" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6692/hovercard">#6692</a>: The rules <code>noUnusedVariables</code> and <code>noUnusedFunctionParameters</code> no longer cause an infinite loop when the suggested name is not applicable (e.g. the suggested name is already declared in the scope).</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6990" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6990/hovercard">#6990</a> <a href="https://github.com/biomejs/biome/commit/333f5d0a11dc1b2c029c657905bc73d3daf72477"><code>333f5d0</code></a> Thanks <a href="https://github.com/rvanlaarhoven">@rvanlaarhoven</a>! - Fixed the documentation URL for <code>lint/correctness/noUnknownPseudoClass</code></p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7000" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7000/hovercard">#7000</a> <a href="https://github.com/biomejs/biome/commit/402116575ef570da02ccbce521645a3975b3e8ce"><code>4021165</code></a> Thanks <a href="https://github.com/harxki">@harxki</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6795" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6795/hovercard">#6795</a>: <code>noUnassignedVariables</code> now correctly recognizes variables used in JSX <code>ref</code> attributes.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7044" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7044/hovercard">#7044</a> <a href="https://github.com/biomejs/biome/commit/b091ddf73d323a6929b9601f05ede7e91e4d4cbb"><code>b091ddf</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6622" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6622/hovercard">#6622</a>, now the rule <code>useSemanticElements</code> works for JSX self-closing elements too.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7014" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7014/hovercard">#7014</a> <a href="https://github.com/biomejs/biome/commit/c4864e85ebbb1bbfbb8274c59bb6af9413d8f157"><code>c4864e8</code></a> Thanks <a href="https://github.com/siketyan">@siketyan</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6516" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6516/hovercard">#6516</a>: The <code>biome migrate</code> command no longer break the member list with trailing comments.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6979" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6979/hovercard">#6979</a> <a href="https://github.com/biomejs/biome/commit/29cb6da9a1e8f20af59f5e681b9d2aa1a23e8b27"><code>29cb6da</code></a> Thanks <a href="https://github.com/unvalley">@unvalley</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6767" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6767/hovercard">#6767</a>: <code>useSortedClasses</code> now correctly removes leading and trailing whitespace in className.</p>
<p>Previously, trailing spaces in className were not fully removed.</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="// Think we have this code:
<div className="text-sm font-bold " />
// Before: applied fix, but a trailing space was preserved
<div className="font-bold text-sm " />
// After: applied fix, trailing spaces removed
<div className="font-bold text-sm" />"><pre><span class="pl-c">// Think we have this code:</span>
<span class="pl-c1"><</span><span class="pl-s1">div</span> <span class="pl-c1">className</span><span class="pl-c1">=</span><span class="pl-s">"text-sm font-bold "</span> <span class="pl-kos">/></span>
<span class="pl-c">// Before: applied fix, but a trailing space was preserved</span>
<span class="pl-c1"><</span><span class="pl-s1">div</span> <span class="pl-s1">className</span><span class="pl-c1">=</span><span class="pl-s">"font-bold text-sm "</span> <span class="pl-c1">/</span><span class="pl-c1">></span>
<span class="pl-c">// After: applied fix, trailing spaces removed</span>
<span class="pl-c1"><</span><span class="pl-s1">div</span> <span class="pl-c1">className</span><span class="pl-c1">=</span><span class="pl-s">"font-bold text-sm"</span> <span class="pl-kos">/></span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7055" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7055/hovercard">#7055</a> <a href="https://github.com/biomejs/biome/commit/ee4828da9be5898c67b7feabfaaa296ad172109f"><code>ee4828d</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Added the nursery rule <a href="https://biomejs.dev/linter/rules/use-react-function-components/" rel="nofollow"><code>useReactFunctionComponents</code></a>. This rule enforces the preference to use function components instead of class components.</p>
<p>Valid:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="function Foo() {
return <div>Hello, world!</div>;
}"><pre><span class="pl-k">function</span> <span class="pl-v">Foo</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-k">return</span> <span class="pl-c1"><</span><span class="pl-s1">div</span><span class="pl-c1">></span>Hello, world!<span class="pl-kos"></</span><span class="pl-s1">div</span><span class="pl-c1">></span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
<p>Invalid:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="class Foo extends React.Component {
render() {
return <div>Hello, world!</div>;
}
}"><pre><span class="pl-k">class</span> <span class="pl-v">Foo</span> <span class="pl-k">extends</span> <span class="pl-v">React</span><span class="pl-kos">.</span><span class="pl-c1">Component</span> <span class="pl-kos">{</span>
<span class="pl-en">render</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-k">return</span> <span class="pl-c1"><</span><span class="pl-s1">div</span><span class="pl-c1">></span>Hello, world!<span class="pl-kos"></</span><span class="pl-s1">div</span><span class="pl-c1">></span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6924" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6924/hovercard">#6924</a> <a href="https://github.com/biomejs/biome/commit/2d21be9437fd77a1c534a1ea156d9a9421c17d30"><code>2d21be9</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed <a href="https://github.com/biomejs/biome-zed/issues/113" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome-zed/issues/113/hovercard">#113</a>, where the Biome Language Server didn't correctly update the diagnostics when the configuration file is modified in the editor. Now the diagnostics are correctly updated every time the configuration file is modified and saved.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6931" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6931/hovercard">#6931</a> <a href="https://github.com/biomejs/biome/commit/e6b238063f92bc95d951e3a78dac42408d0814c0"><code>e6b2380</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6915" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6915/hovercard">#6915</a>: <code>useHookAtTopLevel</code> no longer hangs when rules call themselves recursively.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/7012" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7012/hovercard">#7012</a> <a href="https://github.com/biomejs/biome/commit/01c0ab43ad7785e093e5069dda1d5e6969958bf8"><code>01c0ab4</code></a> Thanks <a href="https://github.com/siketyan">@siketyan</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/5837" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/5837/hovercard">#5837</a>: Invalid suppression comments such as <code>biome-ignore-all-start</code> or <code>biome-ignore-all-end</code> no longer causes a panic.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6949" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6949/hovercard">#6949</a> <a href="https://github.com/biomejs/biome/commit/48462f81ba4e98a95236365a5f9759fc41c045d7"><code>48462f8</code></a> Thanks <a href="https://github.com/fireairforce">@fireairforce</a>! - Support parse <code>import defer</code>(which is a <a href="https://github.com/tc39/proposal-defer-import-eval">stage3 proposal</a>). The syntax look like this:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import defer * as foo from "<specifier>";"><pre><span class="pl-k">import</span> <span class="pl-s1">defer</span> <span class="pl-c1">*</span> <span class="pl-k">as</span> <span class="pl-s1">foo</span> <span class="pl-k">from</span> <span class="pl-s">"<specifier>"</span><span class="pl-kos">;</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6938" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6938/hovercard">#6938</a> <a href="https://github.com/biomejs/biome/commit/5feb5a675adb246b04b1540cba16ff1c5fd49cb1"><code>5feb5a6</code></a> Thanks <a href="https://github.com/vladimir-ivanov">@vladimir-ivanov</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6919" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6919/hovercard">#6919</a> and <a href="https://github.com/biomejs/biome/issues/6920" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6920/hovercard">#6920</a>:<br>
<code>useReadonlyClassProperties</code> now does checks for mutations in async class methods.</p>
<p>Example:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="class Counter3 {
private counter: number;
async count() {
this.counter = 1;
const counterString = `${this.counter++}`;
}
}"><pre><span class="pl-k">class</span> <span class="pl-smi">Counter3</span> <span class="pl-kos">{</span>
<span class="pl-k">private</span> <span class="pl-c1">counter</span>: <span class="pl-smi">number</span><span class="pl-kos">;</span>
<span class="pl-k">async</span> <span class="pl-en">count</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">counter</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">counterString</span> <span class="pl-c1">=</span> <span class="pl-s">`<span class="pl-s1"><span class="pl-kos">${</span><span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">counter</span><span class="pl-c1">++</span><span class="pl-kos">}</span></span>`</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6942" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6942/hovercard">#6942</a> <a href="https://github.com/biomejs/biome/commit/cfda528169dcceb8422a0488b39a3b1b27a24645"><code>cfda528</code></a> Thanks <a href="https://github.com/sterliakov">@sterliakov</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6939" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6939/hovercard">#6939</a>. Biome now understands <code>this</code> binding in classes outside of methods.</p>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>docs: explain how to document options 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="3239549875" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6916" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6916/hovercard" href="https://github.com/biomejs/biome/pull/6916">#6916</a></li>
<li>chore: fix changelog 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="3239750826" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6917" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6917/hovercard" href="https://github.com/biomejs/biome/pull/6917">#6917</a></li>
<li>fix: update <code>useComponentExportOnlyModules</code> website link by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamBalaya56562/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamBalaya56562">@JamBalaya56562</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3165050911" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6463" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6463/hovercard" href="https://github.com/biomejs/biome/pull/6463">#6463</a></li>
<li>fix(lsp): update diagnostics on watched files 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="3241040755" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6924" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6924/hovercard" href="https://github.com/biomejs/biome/pull/6924">#6924</a></li>
<li>fix(linter): fix recursive hooks by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3242634129" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6931" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6931/hovercard" href="https://github.com/biomejs/biome/pull/6931">#6931</a></li>
<li>perf: introduce <code>Path</code> type by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3243843347" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6935" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6935/hovercard" href="https://github.com/biomejs/biome/pull/6935">#6935</a></li>
<li>ci: add French, Spanish and Ukrainian to labeler by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamBalaya56562/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamBalaya56562">@JamBalaya56562</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3241371493" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6926" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6926/hovercard" href="https://github.com/biomejs/biome/pull/6926">#6926</a></li>
<li>refactor: add <code>no-nested-component-definitions</code> rule to eslint migration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamBalaya56562/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamBalaya56562">@JamBalaya56562</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3245180528" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6941" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6941/hovercard" href="https://github.com/biomejs/biome/pull/6941">#6941</a></li>
<li>fix: typo <code>perfer-for</code> → <code>prefer-for</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamBalaya56562/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamBalaya56562">@JamBalaya56562</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3245591524" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6947" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6947/hovercard" href="https://github.com/biomejs/biome/pull/6947">#6947</a></li>
<li>fix(core): fix type inference of <code>this</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sterliakov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sterliakov">@sterliakov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3245490124" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6942" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6942/hovercard" href="https://github.com/biomejs/biome/pull/6942">#6942</a></li>
<li>fix(biome_js_analyze): ignore <code>as const</code> and similar wrappers in <code>noMagicNumbers</code> rule by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sterliakov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sterliakov">@sterliakov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3245573599" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6944" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6944/hovercard" href="https://github.com/biomejs/biome/pull/6944">#6944</a></li>
<li>fix: typo <code>@vitest/eslint-plugin</code> source url by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JamBalaya56562/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JamBalaya56562">@JamBalaya56562</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3245568466" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6943" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6943/hovercard" href="https://github.com/biomejs/biome/pull/6943">#6943</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="3246862130" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6954" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6954/hovercard" href="https://github.com/biomejs/biome/pull/6954">#6954</a></li>
<li>perf: shrink <code>Text</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3245586131" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6946" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6946/hovercard" href="https://github.com/biomejs/biome/pull/6946">#6946</a></li>
<li>fix(deps): update rust crate roaring to 0.11.1 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="3247164717" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6959" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6959/hovercard" href="https://github.com/biomejs/biome/pull/6959">#6959</a></li>
<li>chore(deps): update typescript-eslint monorepo to v8.37.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="3247165336" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6960" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6960/hovercard" href="https://github.com/biomejs/biome/pull/6960">#6960</a></li>
<li>chore(deps): update rust crate serde_json to 1.0.141 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="3246914932" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6957" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6957/hovercard" href="https://github.com/biomejs/biome/pull/6957">#6957</a></li>
<li>chore(deps): update dependency @types/node to v22.16.5 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="3246914071" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6956" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6956/hovercard" href="https://github.com/biomejs/biome/pull/6956">#6956</a></li>
<li>feat(biome-js-analyze): expanded support for useReadonlyClassProperties to cover async class methods too by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vladimir-ivanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vladimir-ivanov">@vladimir-ivanov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3244305246" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6938" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6938/hovercard" href="https://github.com/biomejs/biome/pull/6938">#6938</a></li>
<li>chore(deps): update dependency @types/node to v22.16.5 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="3246862852" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6955" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6955/hovercard" href="https://github.com/biomejs/biome/pull/6955">#6955</a></li>
<li>feat(parser): support import defer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fireairforce/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fireairforce">@fireairforce</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3246337691" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6949" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6949/hovercard" href="https://github.com/biomejs/biome/pull/6949">#6949</a></li>
<li>chore: split <code>Type</code> from <code>TypeData</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3247899598" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6963" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6963/hovercard" href="https://github.com/biomejs/biome/pull/6963">#6963</a></li>
<li>feat(yaml_parser): parse flow constructs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vohoanglong0107/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vohoanglong0107">@vohoanglong0107</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3247212416" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6961" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6961/hovercard" href="https://github.com/biomejs/biome/pull/6961">#6961</a></li>
<li>fix: remove infinite loop on <code>function A(A) {}</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="3252607474" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6976" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6976/hovercard" href="https://github.com/biomejs/biome/pull/6976">#6976</a></li>
<li>feat(parse): add tailwind grammar 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="3252994125" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6978" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6978/hovercard" href="https://github.com/biomejs/biome/pull/6978">#6978</a></li>
<li>fix(deps): update <a class="user-mention notranslate" data-hovercard-type="organization" data-hovercard-url="/orgs/biomejs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/biomejs">@biomejs</a> packages (major) 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="3247346167" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6962" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6962/hovercard" href="https://github.com/biomejs/biome/pull/6962">#6962</a></li>
<li>feat(parse): add tailwind parser 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="3253677925" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6980" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6980/hovercard" href="https://github.com/biomejs/biome/pull/6980">#6980</a></li>
<li>fix: update documentation URL for <code>noUnknownPseudoClass</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rvanlaarhoven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rvanlaarhoven">@rvanlaarhoven</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3258806113" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6990" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6990/hovercard" href="https://github.com/biomejs/biome/pull/6990">#6990</a></li>
<li>fix(lint/useSortedClasses): remove leading and trailing whitespaces by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/unvalley/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/unvalley">@unvalley</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3253592516" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6979" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6979/hovercard" href="https://github.com/biomejs/biome/pull/6979">#6979</a></li>
<li>feat(json/analyze): rule <code>noQuickfixBiome</code> 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="3259265966" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6992" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6992/hovercard" href="https://github.com/biomejs/biome/pull/6992">#6992</a></li>
<li>chore: update generated code from analyzer codegen by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harxki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harxki">@harxki</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3262128401" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7001" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7001/hovercard" href="https://github.com/biomejs/biome/pull/7001">#7001</a></li>
<li>refactor(formatter): specialised verbatim formatting 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="3262360137" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7002" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7002/hovercard" href="https://github.com/biomejs/biome/pull/7002">#7002</a></li>
<li>fix(css_parser): add active-view-transition-type() (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3251232943" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6973" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6973/hovercard" href="https://github.com/biomejs/biome/issues/6973">#6973</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denbezrukov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/denbezrukov">@denbezrukov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3258986937" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6991" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6991/hovercard" href="https://github.com/biomejs/biome/pull/6991">#6991</a></li>
<li>fix(suppression): invalid suppression comments should not cause a panic 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="3265783788" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7012" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7012/hovercard" href="https://github.com/biomejs/biome/pull/7012">#7012</a></li>
<li>fix(migrate): transfer comments to the separator 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="3265892924" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7014" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7014/hovercard" href="https://github.com/biomejs/biome/pull/7014">#7014</a></li>
<li>test(biome-js-analyze): add tests to cover tests to cover ??=, ||=, &&= by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vladimir-ivanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vladimir-ivanov">@vladimir-ivanov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3265355081" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7010" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7010/hovercard" href="https://github.com/biomejs/biome/pull/7010">#7010</a></li>
<li>fix(lint/noUnassignedVariables): handle JSX ref attribute assignments by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harxki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harxki">@harxki</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3262061571" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7000" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7000/hovercard" href="https://github.com/biomejs/biome/pull/7000">#7000</a></li>
<li>ci: use depot cargo in the PR workflow 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="3268607926" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7045" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7045/hovercard" href="https://github.com/biomejs/biome/pull/7045">#7045</a></li>
<li>Revert "ci: use depot cargo in the PR workflow" 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="3268660951" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7046" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7046/hovercard" href="https://github.com/biomejs/biome/pull/7046">#7046</a></li>
<li>fix(lint): <code>useSemanticElements</code> self-closing elements 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="3268534116" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7044" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7044/hovercard" href="https://github.com/biomejs/biome/pull/7044">#7044</a></li>
<li>chore(deps): update rust:1.88.0-bullseye docker digest to b315f98 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="3268296449" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7043" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7043/hovercard" href="https://github.com/biomejs/biome/pull/7043">#7043</a></li>
<li>ci: make it so windows devs don't get lints that don't show up on linux/macos 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="3263315164" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7003" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7003/hovercard" href="https://github.com/biomejs/biome/pull/7003">#7003</a></li>
<li>docs: update analyzer CONTRIBUTING.md 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="3270301377" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7056" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7056/hovercard" href="https://github.com/biomejs/biome/pull/7056">#7056</a></li>
<li>refactor(format): use specialised tokens 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="3269835344" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7052" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7052/hovercard" href="https://github.com/biomejs/biome/pull/7052">#7052</a></li>
<li>feat(lint): implement <code>noVueReservedKeys</code> rule by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mdevils/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mdevils">@mdevils</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3271309882" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7057" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7057/hovercard" href="https://github.com/biomejs/biome/pull/7057">#7057</a></li>
<li>feat(analyze/js): add useReactFunctionComponents rule 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="3270102865" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7055" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7055/hovercard" href="https://github.com/biomejs/biome/pull/7055">#7055</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="3241526903" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6927" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6927/hovercard" href="https://github.com/biomejs/biome/pull/6927">#6927</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rvanlaarhoven/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rvanlaarhoven">@rvanlaarhoven</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3258806113" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6990" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6990/hovercard" href="https://github.com/biomejs/biome/pull/6990">#6990</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/harxki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/harxki">@harxki</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3262128401" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/7001" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/7001/hovercard" href="https://github.com/biomejs/biome/pull/7001">#7001</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/biomejs/biome/compare/@biomejs/biome@2.1.2...@biomejs/biome@2.1.3">https://github.com/biomejs/biome/compare/@biomejs/biome@2.1.2...@biomejs/biome@2.1.3</a></p>github-actions[bot]tag:github.com,2008:Repository/348053395/14.1.02025-07-28T21:07:25ZConvertWithMoss: 14.1.0<ul>
<li>Logging: Improved logging output of missing samples. Added ConvertWithMoss version number and source/destination-format to log.</li>
<li>Sample search: Added support for finding samples with wrong upper/lower case in the extension of the samples name.</li>
<li>Improved processing cancellation.</li>
<li>DecentSampler
<ul>
<li>New: The value for the amplitude velocity sensitivity is now initialized in the template via the new variable %ENV_VELOCITY_SENSITIVITY%.</li>
<li>New: The delay Mix default value is now set to zero in the template.</li>
</ul>
</li>
<li>Kontakt
<ul>
<li>Fixed: Reading of Soundinfo could fail in rare cases with file version 4.2.</li>
<li>Fixed: File lists of version 4.2.4 and 5.0.x were not always read correctly.</li>
</ul>
</li>
<li>Yamaha YSFC
<ul>
<li>Fixed: Montage files were not written correctly.</li>
</ul>
</li>
</ul>git-mosstag:github.com,2008:Repository/13807606/v0.65.02025-07-27T01:43:27Zfzf: 0.65.0<ul>
<li>Added <code>click-footer</code> event that is triggered when the footer section is clicked. When the event is triggered, the following environment variables are set:
<ul>
<li><code>$FZF_CLICK_FOOTER_COLUMN</code> - clicked column (1-based)</li>
<li><code>$FZF_CLICK_FOOTER_LINE</code> - clicked line (1-based)</li>
<li><code>$FZF_CLICK_FOOTER_WORD</code> - the word under the cursor</li>
</ul>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="fzf --footer $'[Edit] [View]\n[Copy to clipboard]' \
--with-shell 'bash -c' \
--bind 'click-footer:transform:
[[ $FZF_CLICK_FOOTER_WORD =~ Edit ]] && echo "execute:vim \{}"
[[ $FZF_CLICK_FOOTER_WORD =~ View ]] && echo "execute:view \{}"
(( FZF_CLICK_FOOTER_LINE == 2 )) && (( FZF_CLICK_FOOTER_COLUMN < 20 )) &&
echo "execute-silent(echo -n \{} | pbcopy)+bell"
'"><pre>fzf --footer <span class="pl-s"><span class="pl-pds">$'</span>[Edit] [View]<span class="pl-cce">\n</span>[Copy to clipboard]<span class="pl-pds">'</span></span> \
--with-shell <span class="pl-s"><span class="pl-pds">'</span>bash -c<span class="pl-pds">'</span></span> \
--bind <span class="pl-s"><span class="pl-pds">'</span>click-footer:transform:</span>
<span class="pl-s"> [[ $FZF_CLICK_FOOTER_WORD =~ Edit ]] && echo "execute:vim \{}"</span>
<span class="pl-s"> [[ $FZF_CLICK_FOOTER_WORD =~ View ]] && echo "execute:view \{}"</span>
<span class="pl-s"> (( FZF_CLICK_FOOTER_LINE == 2 )) && (( FZF_CLICK_FOOTER_COLUMN < 20 )) &&</span>
<span class="pl-s"> echo "execute-silent(echo -n \{} | pbcopy)+bell"</span>
<span class="pl-s"> <span class="pl-pds">'</span></span></pre></div>
</li>
<li>Added <code>trigger(...)</code> action that triggers events bound to another key or event.
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="# You can click on each key name to trigger the actions bound to that key
fzf --footer 'Ctrl-E: Edit / Ctrl-V: View / Ctrl-Y: Copy to clipboard' \
--with-shell 'bash -c' \
--bind 'ctrl-e:execute:vim {}' \
--bind 'ctrl-v:execute:view {}' \
--bind 'ctrl-y:execute-silent(echo -n {} | pbcopy)+bell' \
--bind 'click-footer:transform:
[[ $FZF_CLICK_FOOTER_WORD =~ Ctrl ]] && echo "trigger(${FZF_CLICK_FOOTER_WORD%:})"
'"><pre><span class="pl-c"><span class="pl-c">#</span> You can click on each key name to trigger the actions bound to that key</span>
fzf --footer <span class="pl-s"><span class="pl-pds">'</span>Ctrl-E: Edit / Ctrl-V: View / Ctrl-Y: Copy to clipboard<span class="pl-pds">'</span></span> \
--with-shell <span class="pl-s"><span class="pl-pds">'</span>bash -c<span class="pl-pds">'</span></span> \
--bind <span class="pl-s"><span class="pl-pds">'</span>ctrl-e:execute:vim {}<span class="pl-pds">'</span></span> \
--bind <span class="pl-s"><span class="pl-pds">'</span>ctrl-v:execute:view {}<span class="pl-pds">'</span></span> \
--bind <span class="pl-s"><span class="pl-pds">'</span>ctrl-y:execute-silent(echo -n {} | pbcopy)+bell<span class="pl-pds">'</span></span> \
--bind <span class="pl-s"><span class="pl-pds">'</span>click-footer:transform:</span>
<span class="pl-s"> [[ $FZF_CLICK_FOOTER_WORD =~ Ctrl ]] && echo "trigger(${FZF_CLICK_FOOTER_WORD%:})"</span>
<span class="pl-s"> <span class="pl-pds">'</span></span></pre></div>
<ul>
<li>You can specify a series of keys and events
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="fzf --bind 'a:up,b:trigger(a,a,a)'"><pre>fzf --bind <span class="pl-s"><span class="pl-pds">'</span>a:up,b:trigger(a,a,a)<span class="pl-pds">'</span></span></pre></div>
</li>
</ul>
</li>
<li>Added support for <code>{*n}</code> and <code>{*nf}</code> placeholder.
<ul>
<li><code>{*n}</code> evaluates to the zero-based ordinal index of all matched items.</li>
<li><code>{*nf}</code> evaluates to the temporary file containing that.</li>
</ul>
</li>
<li>Bug fixes and improvements
<ul>
<li>[neovim] Fixed margin background color when <code>&winborder</code> is used (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3226257522" data-permission-text="Title is private" data-url="https://github.com/junegunn/fzf/issues/4453" data-hovercard-type="issue" data-hovercard-url="/junegunn/fzf/issues/4453/hovercard" href="https://github.com/junegunn/fzf/issues/4453">#4453</a>)</li>
<li>Fixed rendering error when hiding a preview window without border (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3247926019" data-permission-text="Title is private" data-url="https://github.com/junegunn/fzf/issues/4465" data-hovercard-type="issue" data-hovercard-url="/junegunn/fzf/issues/4465/hovercard" href="https://github.com/junegunn/fzf/issues/4465">#4465</a>)</li>
<li>fix(shell): check for mawk existence before version check (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3260660607" data-permission-text="Title is private" data-url="https://github.com/junegunn/fzf/issues/4468" data-hovercard-type="pull_request" data-hovercard-url="/junegunn/fzf/pull/4468/hovercard" href="https://github.com/junegunn/fzf/pull/4468">#4468</a>)
<ul>
<li>Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LangLangBart/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LangLangBart">@LangLangBart</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/akinomyoga/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/akinomyoga">@akinomyoga</a></li>
</ul>
</li>
<li>Fixed <code>--no-header-lines-border</code> behavior (<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/junegunn/fzf/commit/08027e7a79d49c7b1186a6e76415611d5b65b4e4/hovercard" href="https://github.com/junegunn/fzf/commit/08027e7a79d49c7b1186a6e76415611d5b65b4e4"><tt>08027e7</tt></a>)</li>
</ul>
</li>
</ul>junegunntag:github.com,2008:Repository/20015012/v2.23.102025-07-22T13:47:08Zminify: v2.23.10<p>Fix JS binding</p>tdewolfftag:github.com,2008:Repository/671832156/v0.23.02025-07-18T14:29:32Zeza: v0.23.0
<h1>Changelog</h1>
<h2>[0.23.0] - 2025-07-18</h2>
<h3>Bug Fixes</h3>
<ul>
<li>[<strong>breaking</strong>] Make --grid work when not in TTY</li>
<li>[<strong>breaking</strong>] if data is piped into eza, eza will not ignore it</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Add <code>--smart-group</code> option to README</li>
</ul>
<h3>Features</h3>
<ul>
<li>Add icons for changelog and todo files</li>
<li>Use CHANGES icon for CHANGELOG as well</li>
</ul>
<h3>Miscellaneous Tasks</h3>
<ul>
<li>Remove unused dependency</li>
<li>Eza v0.23.0 changelogs, version bump</li>
</ul>
<h1>Checksums</h1>
<h2>sha256sum</h2>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="4862e9c2e2ffbc80dc405bfa0564194dd8fde9bda523313122afbca929f4a977 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.tar.gz
0fe464ea35175f0784a5dd1cf71bf3562e5edcaae9b684dec9baf4a0b2e215af ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.zip
da8e5cf3b8ff79eccad910b3d88a44e484a2e1f781f48d8e35fbc5705079cf0e ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.tar.gz
2ab17e1dc6b2472413a403cc536ec7d8cd9276aab56a04de183089c57a998708 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.zip
f8ac69371ecbc3cc1ace7caf6ec18fe2cf5b1c49d79d6f57213c2fc0d27b4b07 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.tar.gz
567f931861e9dcc818073cd2126d1c3bd234a13ad302854e31b8b5b36feb8336 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.zip
9fc3fe57fff8b9a8722682d7cc5d0d3c2b281b76316efae453dd62f2a313f3a9 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.tar.gz
85c7bfbbbe0d425c20f9e4b9a171d6478161a3a3265fc16456b97fa8049427ab ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.zip
a2aa1d87b86b26183ebd8da1ca0822f0398daecc8446edb6ee674a626212fcf7 ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.tar.gz
f713c1a8ecbab8d3359e93df27e1fa952a64b989230e651627c2a684571acc95 ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.zip
cec0a92c919f1b93ae5e8ffa51ad5db91f0227246594444ab99b4a94771b0e69 ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.tar.gz
389e50e77c5b33bc80ae0733272b40c0e6c196843359528c62407e545707ed3c ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.zip
54573ed7216a130b01fdd07d3942243d9fd588e3147ee5b58fed92a5e1cc0484 ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.tar.gz
1f53e47806bef3d0bc75dc2417fb477d34b40a19aa4db746fb738b6ff5f97596 ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.zip"><pre class="notranslate"><code>4862e9c2e2ffbc80dc405bfa0564194dd8fde9bda523313122afbca929f4a977 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.tar.gz
0fe464ea35175f0784a5dd1cf71bf3562e5edcaae9b684dec9baf4a0b2e215af ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.zip
da8e5cf3b8ff79eccad910b3d88a44e484a2e1f781f48d8e35fbc5705079cf0e ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.tar.gz
2ab17e1dc6b2472413a403cc536ec7d8cd9276aab56a04de183089c57a998708 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.zip
f8ac69371ecbc3cc1ace7caf6ec18fe2cf5b1c49d79d6f57213c2fc0d27b4b07 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.tar.gz
567f931861e9dcc818073cd2126d1c3bd234a13ad302854e31b8b5b36feb8336 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.zip
9fc3fe57fff8b9a8722682d7cc5d0d3c2b281b76316efae453dd62f2a313f3a9 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.tar.gz
85c7bfbbbe0d425c20f9e4b9a171d6478161a3a3265fc16456b97fa8049427ab ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.zip
a2aa1d87b86b26183ebd8da1ca0822f0398daecc8446edb6ee674a626212fcf7 ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.tar.gz
f713c1a8ecbab8d3359e93df27e1fa952a64b989230e651627c2a684571acc95 ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.zip
cec0a92c919f1b93ae5e8ffa51ad5db91f0227246594444ab99b4a94771b0e69 ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.tar.gz
389e50e77c5b33bc80ae0733272b40c0e6c196843359528c62407e545707ed3c ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.zip
54573ed7216a130b01fdd07d3942243d9fd588e3147ee5b58fed92a5e1cc0484 ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.tar.gz
1f53e47806bef3d0bc75dc2417fb477d34b40a19aa4db746fb738b6ff5f97596 ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.zip
</code></pre></div>
<h2>md5sum</h2>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="1a6f736dda0ecdba6b1d5058ecc8beac ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.tar.gz
9587cf42123cd1413e45d0197ea1d39b ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.zip
cbb72a529ba0b3839abc8499c37beb82 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.tar.gz
76d37594a247726f68eb0427df764799 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.zip
55454afdd214bf08a4c0a0fcbc6d67c9 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.tar.gz
a5fecef1c2bcae7c1bf9bf6dbea5c572 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.zip
3e473f0e79c12197e645aa7bc3e1a4dd ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.tar.gz
de32e9ec37eb01a1509611be2efc594b ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.zip
c009194f2698d73481bb1888b1c38628 ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.tar.gz
15ad30e182c92315c166747d83470f88 ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.zip
dff0effbc6eb54939da415b5d6a6f5d5 ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.tar.gz
375b7213f3e002face9809f1208136c8 ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.zip
0cd71ff4563f9862ace8531f74662794 ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.tar.gz
f07f19ac95297cc99a38e76177ccc268 ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.zip"><pre class="notranslate"><code>1a6f736dda0ecdba6b1d5058ecc8beac ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.tar.gz
9587cf42123cd1413e45d0197ea1d39b ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.zip
cbb72a529ba0b3839abc8499c37beb82 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.tar.gz
76d37594a247726f68eb0427df764799 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.zip
55454afdd214bf08a4c0a0fcbc6d67c9 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.tar.gz
a5fecef1c2bcae7c1bf9bf6dbea5c572 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.zip
3e473f0e79c12197e645aa7bc3e1a4dd ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.tar.gz
de32e9ec37eb01a1509611be2efc594b ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.zip
c009194f2698d73481bb1888b1c38628 ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.tar.gz
15ad30e182c92315c166747d83470f88 ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.zip
dff0effbc6eb54939da415b5d6a6f5d5 ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.tar.gz
375b7213f3e002face9809f1208136c8 ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.zip
0cd71ff4563f9862ace8531f74662794 ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.tar.gz
f07f19ac95297cc99a38e76177ccc268 ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.zip
</code></pre></div>
<h2>blake3sum</h2>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="b6177ba7e8bcafa071bf795b81172d3d7468a59dbd768c431301fcfe7148b787 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.tar.gz
313011b1535e7b3f117fcca2039eac3ac1a3e99a23552ad9945999c60202cfa8 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.zip
e31fbfdc38363d4d6d23528254d1fc081c6edb02a091087035fef0fe508610f4 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.tar.gz
17d57cc582fd6e0bdb2f9f0d799011a536ad2976948570b93abfa9cdfd9b7afd ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.zip
9dc2985d3e2911d6dfb94a6753901bd3b46cd8506bea2d4ec8640ca3863f7dc4 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.tar.gz
065a13f463e90a11da2d47cda7223be4c66028b10fc2f47c313888a19a15e69b ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.zip
2fd4f49b62a73305c749e225af4896b18cd2d55c6b2b57e88f477ff371e5a75f ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.tar.gz
c61371e50093d6a3c00476c6607c03bf7d98f1d536f1e87656e70d71758f51dc ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.zip
42e8e5477f19a9496757cacb7695cbcf3566a7787c837cd9e72e4206cfaaa3fc ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.tar.gz
4da4d52cf6fcac2f4c5dbf43da8c71350f30e4baa4eaa35db673008df4af51ee ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.zip
9821196f1bf2ef3b035e2a43e208e70cd6759f8364a7820860e30f66294a165b ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.tar.gz
18e2a0093abecdcdb620457b83eb438f1a8fb8a5c5c0a393a2ab67815b7841ad ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.zip
5eefc6d5b5d3f36fa7d09abb6ee38b9287e938d142184bf8b7737adc12794018 ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.tar.gz
59bd412c648b5da17a8172cc60545b738e951d2c9aa2533664cae3e9ebb422cf ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.zip"><pre class="notranslate"><code>b6177ba7e8bcafa071bf795b81172d3d7468a59dbd768c431301fcfe7148b787 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.tar.gz
313011b1535e7b3f117fcca2039eac3ac1a3e99a23552ad9945999c60202cfa8 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu_no_libgit.zip
e31fbfdc38363d4d6d23528254d1fc081c6edb02a091087035fef0fe508610f4 ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.tar.gz
17d57cc582fd6e0bdb2f9f0d799011a536ad2976948570b93abfa9cdfd9b7afd ./target/bin-0.23.0/eza_aarch64-unknown-linux-gnu.zip
9dc2985d3e2911d6dfb94a6753901bd3b46cd8506bea2d4ec8640ca3863f7dc4 ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.tar.gz
065a13f463e90a11da2d47cda7223be4c66028b10fc2f47c313888a19a15e69b ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf_no_libgit.zip
2fd4f49b62a73305c749e225af4896b18cd2d55c6b2b57e88f477ff371e5a75f ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.tar.gz
c61371e50093d6a3c00476c6607c03bf7d98f1d536f1e87656e70d71758f51dc ./target/bin-0.23.0/eza_arm-unknown-linux-gnueabihf.zip
42e8e5477f19a9496757cacb7695cbcf3566a7787c837cd9e72e4206cfaaa3fc ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.tar.gz
4da4d52cf6fcac2f4c5dbf43da8c71350f30e4baa4eaa35db673008df4af51ee ./target/bin-0.23.0/eza.exe_x86_64-pc-windows-gnu.zip
9821196f1bf2ef3b035e2a43e208e70cd6759f8364a7820860e30f66294a165b ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.tar.gz
18e2a0093abecdcdb620457b83eb438f1a8fb8a5c5c0a393a2ab67815b7841ad ./target/bin-0.23.0/eza_x86_64-unknown-linux-gnu.zip
5eefc6d5b5d3f36fa7d09abb6ee38b9287e938d142184bf8b7737adc12794018 ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.tar.gz
59bd412c648b5da17a8172cc60545b738e951d2c9aa2533664cae3e9ebb422cf ./target/bin-0.23.0/eza_x86_64-unknown-linux-musl.zip
</code></pre></div>cafkafktag:github.com,2008:Repository/20015012/v2.23.92025-07-18T09:36:49Zminify: v2.23.9<ul>
<li><a href="https://github.com/tdewolff/minify/commit/5bc1abacc6a35f5ac5cd72670d8b3c70d63f8d27">XML: fix unescaping of >,</a> <a href="https://github.com/tdewolff/minify/commit/5bc1abacc6a35f5ac5cd72670d8b3c70d63f8d27">fixes</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3231169065" data-permission-text="Title is private" data-url="https://github.com/tdewolff/minify/issues/825" data-hovercard-type="issue" data-hovercard-url="/tdewolff/minify/issues/825/hovercard" href="https://github.com/tdewolff/minify/issues/825">#825</a></li>
<li><a href="https://github.com/tdewolff/minify/commit/78398641b9f81675c58efdae6f0920159e9516e8">Add 'speculationrules' as mimetype for JSON,</a> <a href="https://github.com/tdewolff/minify/commit/78398641b9f81675c58efdae6f0920159e9516e8">fixes</a> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3237960860" data-permission-text="Title is private" data-url="https://github.com/tdewolff/minify/issues/827" data-hovercard-type="issue" data-hovercard-url="/tdewolff/minify/issues/827/hovercard" href="https://github.com/tdewolff/minify/issues/827">#827</a></li>
<li>Update Python version to 3.13</li>
</ul>tdewolfftag:github.com,2008:Repository/671654508/@biomejs/biome@2.1.22025-07-17T14:04:30Zbiome: Biome CLI v2.1.2<h2>2.1.2</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6865" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6865/hovercard">#6865</a> <a href="https://github.com/biomejs/biome/commit/b35bf6448fb1950c922e627254588e96748e287f"><code>b35bf64</code></a> Thanks <a href="https://github.com/denbezrukov">@denbezrukov</a>! - Fix <a href="https://github.com/biomejs/biome/issues/6485" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6485/hovercard">#6485</a>: Handle multiple semicolons correctly in blocks (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3166296722" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6485" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6485/hovercard" href="https://github.com/biomejs/biome/issues/6485">#6485</a>)</p>
<div class="highlight highlight-source-css notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="div {
box-sizing: border-box;
color: red;
}"><pre><span class="pl-ent">div</span> {
<span class="pl-c1">box-sizing</span><span class="pl-kos">:</span> border-box;
<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/6798" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6798/hovercard">#6798</a> <a href="https://github.com/biomejs/biome/commit/3579ffaae4e86835b001fee4ab7dd8aabb03ae54"><code>3579ffa</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6762" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6762/hovercard">#6762</a>, Biome now knows that <code>~/.config/zed/settings.json</code> and <code>~/.config/Code/User/settings.json</code> allows comments by default.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6839" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6839/hovercard">#6839</a> <a href="https://github.com/biomejs/biome/commit/4cd62d8ae2e5cb24d6f308e05b38003486294548"><code>4cd62d8</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6838" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6838/hovercard">#6838</a>, where the Biome File Watcher incorrectly watched and stored ignored files, causing possible memory leaks when those files were dynamically created (e.g. built files).</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6879" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6879/hovercard">#6879</a> <a href="https://github.com/biomejs/biome/commit/0059cd9b5e6ba33cabb5e153bd03e2041effb0cd"><code>0059cd9</code></a> Thanks <a href="https://github.com/denbezrukov">@denbezrukov</a>! - Refactor: remove one level of indirection for CSS declarations with semicolon<br>
Previously, accessing a declaration from a list required an extra step:</p>
<div class="highlight highlight-source-rust notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="item
.as_any_css_declaration_with_semicolon()
.as_css_declaration_with_semicolon()"><pre>item
<span class="pl-kos">.</span><span class="pl-en">as_any_css_declaration_with_semicolon</span><span class="pl-kos">(</span><span class="pl-kos">)</span>
<span class="pl-kos">.</span><span class="pl-en">as_css_declaration_with_semicolon</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos"></span></pre></div>
<p>Now, it can be done directly with:</p>
<div class="highlight highlight-source-rust notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="item.as_css_declaration_with_semicolon()"><pre>item<span class="pl-kos">.</span><span class="pl-en">as_css_declaration_with_semicolon</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos"></span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6839" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6839/hovercard">#6839</a> <a href="https://github.com/biomejs/biome/commit/4cd62d8ae2e5cb24d6f308e05b38003486294548"><code>4cd62d8</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed a bug where the Biome Language Server didn't correctly ignore specific files when <code>vcs.useIgnoreFile</code> is set to <code>true</code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6884" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6884/hovercard">#6884</a> <a href="https://github.com/biomejs/biome/commit/5ff50f8291ca6f8f59fccfc326c8f0bdc3127842"><code>5ff50f8</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Improved the performance of <code>noImportCycles</code> by ~30%.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6903" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6903/hovercard">#6903</a> <a href="https://github.com/biomejs/biome/commit/241dd9e487226fc58b4ceceaf3164e36d8e22d3b"><code>241dd9e</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6829" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6829/hovercard">#6829</a>: Fixed a false positive reported by <code>useImportExtensions</code> when importing a <code>.js</code> file that had a matching <code>.d.ts</code> file in the same folder.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6846" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6846/hovercard">#6846</a> <a href="https://github.com/biomejs/biome/commit/446112e79d695c50ca9cc9f2d25c91cf03115f50"><code>446112e</code></a> Thanks <a href="https://github.com/darricheng">@darricheng</a>! - Fixed an issue where biome was using the wrong string quotes when the classes string has quotes, resulting in invalid code after applying the fix.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6823" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6823/hovercard">#6823</a> <a href="https://github.com/biomejs/biome/commit/eebc48e0120958a39186f510278e1e5eacad3f1c"><code>eebc48e</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Improved <a href="https://github.com/biomejs/biome/issues/6172" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6172/hovercard">#6172</a>: Optimised the way function arguments are stored in Biome's type inference. This led to about 10% performance improvement in <code>RedisCommander.d.ts</code> and about 2% on <code>@next/font</code> type definitions.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6878" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6878/hovercard">#6878</a> <a href="https://github.com/biomejs/biome/commit/340297602c1162928735d1c073d7a409c22e90bd"><code>3402976</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed a bug where the Biome Language Server would apply an unsafe fix when using the code action <code>quickfix.biome</code>.</p>
<p>Now Biome no longer applies an unsafe code fix when using the code action <code>quickfix.biome</code>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6794" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6794/hovercard">#6794</a> <a href="https://github.com/biomejs/biome/commit/4d5fc0ef38f8c4ad820e297749efc83e983b5a91"><code>4d5fc0e</code></a> Thanks <a href="https://github.com/vladimir-ivanov">@vladimir-ivanov</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6719" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6719/hovercard">#6719</a>: The <code>noInvalidUseBeforeDeclaration</code> rule covers additional use cases.</p>
<p>Examples:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="type Bar = { [BAR]: true };
const BAR = "bar";"><pre><span class="pl-k">type</span> <span class="pl-smi">Bar</span> <span class="pl-c1">=</span> <span class="pl-kos">{</span> <span class="pl-kos">[</span><span class="pl-c1">BAR</span><span class="pl-kos">]</span>: <span class="pl-c1">true</span> <span class="pl-kos">}</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-c1">BAR</span> <span class="pl-c1">=</span> <span class="pl-s">"bar"</span><span class="pl-kos">;</span></pre></div>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="interface Bar {
child: { grandChild: { [BAR]: typeof BAR; enumFoo: EnumFoo } };
}
const BAR = "bar";
enum EnumFoo {
BAR = "bar",
}"><pre><span class="pl-k">interface</span> <span class="pl-smi">Bar</span> <span class="pl-kos">{</span>
<span class="pl-c1">child</span>: <span class="pl-kos">{</span> <span class="pl-c1">grandChild</span>: <span class="pl-kos">{</span> <span class="pl-kos">[</span><span class="pl-c1">BAR</span><span class="pl-kos">]</span>: <span class="pl-k">typeof</span> <span class="pl-c1">BAR</span><span class="pl-kos">;</span> <span class="pl-c1">enumFoo</span>: <span class="pl-smi">EnumFoo</span> <span class="pl-kos">}</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-c1">BAR</span> <span class="pl-c1">=</span> <span class="pl-s">"bar"</span><span class="pl-kos">;</span>
<span class="pl-k">enum</span> <span class="pl-v">EnumFoo</span> <span class="pl-kos">{</span>
<span class="pl-c1">BAR</span> <span class="pl-c1">=</span> <span class="pl-s">"bar"</span><span class="pl-kos">,</span>
<span class="pl-kos">}</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6863" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6863/hovercard">#6863</a> <a href="https://github.com/biomejs/biome/commit/531e97e3f691e3ff34d2382fab414072ecb68e8b"><code>531e97e</code></a> Thanks <a href="https://github.com/dyc3">@dyc3</a>! - Biome now considers whether the linter is enabled when figuring out how the project should be scanned. Resolves <a href="https://github.com/biomejs/biome/issues/6815" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6815/hovercard">#6815</a>.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6832" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6832/hovercard">#6832</a> <a href="https://github.com/biomejs/biome/commit/bdbc2b10ac21dcb35b41e93b17e712ba80f421ca"><code>bdbc2b1</code></a> Thanks <a href="https://github.com/togami2864">@togami2864</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6165" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6165/hovercard">#6165</a>: Fixed false negative in <a href="https://biomejs.dev/linter/rules/no-unused-private-class-members/" rel="nofollow"><code>noUnusedPrivateClassMembers</code></a> rule when checking member usage in classes</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6839" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6839/hovercard">#6839</a> <a href="https://github.com/biomejs/biome/commit/4cd62d8ae2e5cb24d6f308e05b38003486294548"><code>4cd62d8</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed a bug where the root ignore file wasn't correctly loaded during the scanning phase, causing false positives and incorrect expectations among users.</p>
<p>Now, when using <code>vcs.useIgnoreFile</code>, the <strong>the globs specified in the ignore file from the project root</strong> will have the same semantics as the <code>files.includes</code> setting of the root configuration.</p>
<p>Refer to the <a href="https://biomejs.dev/internals/architecture/#configuring-the-scanner" rel="nofollow">relative web page</a> to understand how they work.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6898" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6898/hovercard">#6898</a> <a href="https://github.com/biomejs/biome/commit/5beb024d8e9af8733bc115ba4b07d20036fe336e"><code>5beb024</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6891" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6891/hovercard">#6891</a>: Improved type inference for array indices.</p>
<p><strong>Example:</strong></p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="const numbers: number[];
numbers[42]; // This now infers to `number | undefined`."><pre><span class="pl-k">const</span> <span class="pl-s1">numbers</span>: <span class="pl-smi">number</span><span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">;</span>
<span class="pl-s1">numbers</span><span class="pl-kos">[</span><span class="pl-c1">42</span><span class="pl-kos">]</span><span class="pl-kos">;</span> <span class="pl-c">// This now infers to `number | undefined`.</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6809" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6809/hovercard">#6809</a> <a href="https://github.com/biomejs/biome/commit/819245188e587d0a5ede53aa07899a2cb9fcce4f"><code>8192451</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6796" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6796/hovercard">#6796</a>: Fixed a false positive that happened in <code>noFloatingPromises</code> when calling functions that were declared as part of <code>for ... of</code> syntax inside <code>async</code> functions.</p>
<p>Instead, the variables declared inside <code>for ... of</code> loops are now correctly<br>
inferred if the expression being iterated evaluates to an <code>Array</code> (support for other iterables will follow later).</p>
<p><strong>Invalid example</strong></p>
<div class="highlight highlight-source-tsx notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="const txStatements: Array<(tx) => Promise<any>> = [];
db.transaction((tx: any) => {
for (const stmt of txStatements) {
// We correctly flag this resolves to a `Promise`:
stmt(tx);
}
});"><pre><span class="pl-k">const</span> <span class="pl-s1">txStatements</span>: <span class="pl-smi">Array</span><span class="pl-c1"><</span><span class="pl-kos">(</span><span class="pl-s1">tx</span><span class="pl-kos">)</span> <span class="pl-c1">=></span> <span class="pl-smi">Promise</span><span class="pl-c1"><</span><span class="pl-smi">any</span><span class="pl-c1">></span><span class="pl-c1">></span> <span class="pl-c1">=</span> <span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">;</span>
<span class="pl-s1">db</span><span class="pl-kos">.</span><span class="pl-en">transaction</span><span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-s1">tx</span>: <span class="pl-smi">any</span><span class="pl-kos">)</span> <span class="pl-c1">=></span> <span class="pl-kos">{</span>
<span class="pl-k">for</span> <span class="pl-kos">(</span><span class="pl-k">const</span> <span class="pl-s1">stmt</span> <span class="pl-k">of</span> <span class="pl-s1">txStatements</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-c">// We correctly flag this resolves to a `Promise`:</span>
<span class="pl-en">stmt</span><span class="pl-kos">(</span><span class="pl-s1">tx</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p><strong>Valid example</strong></p>
<div class="highlight highlight-source-tsx notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="async function valid(db) {
const txStatements: Array<(tx: any) => void> = [(tx) => tx.insert().run()];
db.transaction((tx: any) => {
for (const stmt of txStatements) {
// We don't flag a false positive here anymore:
stmt(tx);
}
});
}"><pre><span class="pl-k">async</span> <span class="pl-k">function</span> <span class="pl-en">valid</span><span class="pl-kos">(</span><span class="pl-s1">db</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-k">const</span> <span class="pl-s1">txStatements</span>: <span class="pl-smi">Array</span><span class="pl-c1"><</span><span class="pl-kos">(</span><span class="pl-s1">tx</span>: <span class="pl-smi">any</span><span class="pl-kos">)</span> <span class="pl-c1">=></span> <span class="pl-smi"><span class="pl-k">void</span></span><span class="pl-c1">></span> <span class="pl-c1">=</span> <span class="pl-kos">[</span><span class="pl-kos">(</span><span class="pl-s1">tx</span><span class="pl-kos">)</span> <span class="pl-c1">=></span> <span class="pl-s1">tx</span><span class="pl-kos">.</span><span class="pl-en">insert</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">.</span><span class="pl-en">run</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">]</span><span class="pl-kos">;</span>
<span class="pl-s1">db</span><span class="pl-kos">.</span><span class="pl-en">transaction</span><span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-s1">tx</span>: <span class="pl-smi">any</span><span class="pl-kos">)</span> <span class="pl-c1">=></span> <span class="pl-kos">{</span>
<span class="pl-k">for</span> <span class="pl-kos">(</span><span class="pl-k">const</span> <span class="pl-s1">stmt</span> <span class="pl-k">of</span> <span class="pl-s1">txStatements</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-c">// We don't flag a false positive here anymore:</span>
<span class="pl-en">stmt</span><span class="pl-kos">(</span><span class="pl-s1">tx</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6757" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6757/hovercard">#6757</a> <a href="https://github.com/biomejs/biome/commit/13a0818be8cc08efd303829252cbc3e64bcbca3a"><code>13a0818</code></a> Thanks <a href="https://github.com/mdevils">@mdevils</a>! - Added the rule <a href="https://biomejs.dev/linter/rules/no-vue-reserved-props/" rel="nofollow"><code>noVueReservedProps</code></a>, resolves <a href="https://github.com/biomejs/biome/issues/6309" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6309/hovercard">#6309</a>.</p>
<p>It prevents the use of reserved Vue prop names such as <code>key</code> and <code>ref</code> which can cause conflicts and unexpected behavior in Vue components.</p>
<h5>Invalid example</h5>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import { defineComponent } from "vue";
export default defineComponent({
props: ["ref", "key", "foo"],
});"><pre><span class="pl-k">import</span> <span class="pl-kos">{</span> <span class="pl-s1">defineComponent</span> <span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"vue"</span><span class="pl-kos">;</span>
<span class="pl-k">export</span> <span class="pl-k">default</span> <span class="pl-en">defineComponent</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
<span class="pl-c1">props</span>: <span class="pl-kos">[</span><span class="pl-s">"ref"</span><span class="pl-kos">,</span> <span class="pl-s">"key"</span><span class="pl-kos">,</span> <span class="pl-s">"foo"</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<div class="highlight highlight-source-vue notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<script setup>
defineProps({
ref: String,
key: String,
foo: String,
});
</script>"><pre><<span class="pl-ent">script</span> setup><span class="pl-s1"></span>
<span class="pl-s1"><span class="pl-en">defineProps</span>({</span>
<span class="pl-s1"> ref<span class="pl-k">:</span> <span class="pl-c1">String</span>,</span>
<span class="pl-s1"> key<span class="pl-k">:</span> <span class="pl-c1">String</span>,</span>
<span class="pl-s1"> foo<span class="pl-k">:</span> <span class="pl-c1">String</span>,</span>
<span class="pl-s1">});</span>
<span class="pl-s1"></span></<span class="pl-ent">script</span>></pre></div>
<h5>Valid examples</h5>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import { defineComponent } from "vue";
export default defineComponent({
props: ["foo"],
});"><pre><span class="pl-k">import</span> <span class="pl-kos">{</span> <span class="pl-s1">defineComponent</span> <span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">"vue"</span><span class="pl-kos">;</span>
<span class="pl-k">export</span> <span class="pl-k">default</span> <span class="pl-en">defineComponent</span><span class="pl-kos">(</span><span class="pl-kos">{</span>
<span class="pl-c1">props</span>: <span class="pl-kos">[</span><span class="pl-s">"foo"</span><span class="pl-kos">]</span><span class="pl-kos">,</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<div class="highlight highlight-source-vue notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<script setup>
defineProps({ foo: String });
</script>"><pre><<span class="pl-ent">script</span> setup><span class="pl-s1"></span>
<span class="pl-s1"><span class="pl-en">defineProps</span>({ foo<span class="pl-k">:</span> <span class="pl-c1">String</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/6840" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6840/hovercard">#6840</a> <a href="https://github.com/biomejs/biome/commit/1a57b51097c7bf4faeb0dcc5330d49e17f86789b"><code>1a57b51</code></a> Thanks <a href="https://github.com/denbezrukov">@denbezrukov</a>! - Allow multiple identifiers in ::part() pseudo-element selector.</p>
<div class="highlight highlight-source-css notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="::part(first second) {
}"><pre>::<span class="pl-c1">part</span>(<span class="pl-ent">first</span> <span class="pl-ent">second</span>) {
}</pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6845" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6845/hovercard">#6845</a> <a href="https://github.com/biomejs/biome/commit/4fd44ec17a3ac6a5486ac94f01e85e62310b8061"><code>4fd44ec</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6510" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6510/hovercard">#6510</a>: The scanner no longer shows diagnostics on inaccessible files unless <code>--verbose</code> is used.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6844" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6844/hovercard">#6844</a> <a href="https://github.com/biomejs/biome/commit/b7e2d4d3a8b2654278596eaecdccc30405457fc8"><code>b7e2d4d</code></a> Thanks <a href="https://github.com/sterliakov">@sterliakov</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6837" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6837/hovercard">#6837</a>: Fixed regression with multiple consecutive line suppression comments using instances (like <code>// biome-ignore lint/correctness/useExhaustiveDependencies(depName): reason</code>).</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6818" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6818/hovercard">#6818</a> <a href="https://github.com/biomejs/biome/commit/5f3f5a6e8c12b56dc36bcfb4f8d5077eb33ccf08"><code>5f3f5a6</code></a> Thanks <a href="https://github.com/siketyan">@siketyan</a>! - Fixed an issue where <code>textDocument/codeAction</code> in the LSP could respond with outdated text edits after the workspace watcher observed outdated changes to the file.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6804" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6804/hovercard">#6804</a> <a href="https://github.com/biomejs/biome/commit/3e6ab1663ab15f9f00ae069ee790e5fd90327082"><code>3e6ab16</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - <code>noFloatingPromises</code> will no longer suggest to add <code>await</code> keyword inside synchronous callbacks nested inside <code>async</code> functions.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6901" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6901/hovercard">#6901</a> <a href="https://github.com/biomejs/biome/commit/c9e969a84158b29d175cd04ea8b921c737b7ed8f"><code>c9e969a</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6777" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6777/hovercard">#6777</a>: Fixed type inference handling of <code>this</code> to avoid infinite recursion.</p>
<p>Thanks to <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sterliakov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sterliakov">@sterliakov</a> for the thorough investigation!</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6855" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6855/hovercard">#6855</a> <a href="https://github.com/biomejs/biome/commit/d1581c7c874b2917132a864d1c65df041ad9181b"><code>d1581c7</code></a> Thanks <a href="https://github.com/vladimir-ivanov">@vladimir-ivanov</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6775" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6775/hovercard">#6775</a>: <code>useReadonlyClassProperties</code> now also captures mutations inside function arguments.</p>
<p>Example:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="class Counter {
private counter: number;
count() {
console.log(this.counter++);
const counterString = `${this.counter++}`;
}
}"><pre><span class="pl-k">class</span> <span class="pl-smi">Counter</span> <span class="pl-kos">{</span>
<span class="pl-k">private</span> <span class="pl-c1">counter</span>: <span class="pl-smi">number</span><span class="pl-kos">;</span>
<span class="pl-en">count</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
<span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">counter</span><span class="pl-c1">++</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-k">const</span> <span class="pl-s1">counterString</span> <span class="pl-c1">=</span> <span class="pl-s">`<span class="pl-s1"><span class="pl-kos">${</span><span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">counter</span><span class="pl-c1">++</span><span class="pl-kos">}</span></span>`</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>
<span class="pl-kos">}</span></pre></div>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6839" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6839/hovercard">#6839</a> <a href="https://github.com/biomejs/biome/commit/4cd62d8ae2e5cb24d6f308e05b38003486294548"><code>4cd62d8</code></a> Thanks <a href="https://github.com/ematipico">@ematipico</a>! - Fixed a bug where Biome didn't throw any error when <code>vcs.useIgnoreFile</code> is set to <code>true</code>, and there wasn't any ignore file read. Now Biome correctly throws an error if no ignore files are found.</p>
</li>
<li>
<p><a href="https://github.com/biomejs/biome/pull/6911" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6911/hovercard">#6911</a> <a href="https://github.com/biomejs/biome/commit/6d68074bf2a2ca4bc514398a180524394690fafe"><code>6d68074</code></a> Thanks <a href="https://github.com/arendjr">@arendjr</a>! - Fixed <a href="https://github.com/biomejs/biome/issues/6838" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6838/hovercard">#6838</a>: Reduce resource consumption in the Biome Language Server by using non-recursive filesystem watchers instead of recursive ones.</p>
<p>Watchers are responsible for notifying Biome of changes to files in the filesystem. We used to set up a single recursive watcher, but that meant that Biome would receive filesystem notifications for <em>all</em> files in your project, even for ignored folders such as <code>build/</code> or <code>dist/</code> folders.</p>
<p>With this patch, we set up non-recursive watchers only for the folders that are relevant to a project.</p>
<p>Related to this, we also solved an issue where incoming notifications were incorrectly filtered, causing ignored files to be processed and stored in our module graph anyway.</p>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>chore: check milestone before releasing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3213165125" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6791" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6791/hovercard" href="https://github.com/biomejs/biome/pull/6791">#6791</a></li>
<li>chore: add tracing span for <code>open_file_internal()</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3214970302" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6803" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6803/hovercard" href="https://github.com/biomejs/biome/pull/6803">#6803</a></li>
<li>fix(core): correctly identify sync callbacks inside async functions by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3215191534" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6804" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6804/hovercard" href="https://github.com/biomejs/biome/pull/6804">#6804</a></li>
<li>fix(core): do not update the opened document when change observed by the watcher 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="3216396408" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6818" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6818/hovercard" href="https://github.com/biomejs/biome/pull/6818">#6818</a></li>
<li>feat(html/parser): text expressions 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="3214802770" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6802" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6802/hovercard" href="https://github.com/biomejs/biome/pull/6802">#6802</a></li>
<li>feat(lint): implement <code>noVueReservedProps</code> rule by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mdevils/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mdevils">@mdevils</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3209480338" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6757" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6757/hovercard" href="https://github.com/biomejs/biome/pull/6757">#6757</a></li>
<li>ci: add a job for linting markdown files 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="3217054800" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6825" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6825/hovercard" href="https://github.com/biomejs/biome/pull/6825">#6825</a></li>
<li>perf: faster function parameters in inference by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3216987176" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6823" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6823/hovercard" href="https://github.com/biomejs/biome/pull/6823">#6823</a></li>
<li>fix(core): infer for-of and for-in loop variables by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3216030348" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6809" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6809/hovercard" href="https://github.com/biomejs/biome/pull/6809">#6809</a></li>
<li>chore: fix typo by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nhedger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nhedger">@nhedger</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3220051198" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6834" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6834/hovercard" href="https://github.com/biomejs/biome/pull/6834">#6834</a></li>
<li>fix(noUnusedPrivateClassMembers): improve member usage checks in the class by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/togami2864/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/togami2864">@togami2864</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3219772453" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6832" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6832/hovercard" href="https://github.com/biomejs/biome/pull/6832">#6832</a></li>
<li>fix(core): silence diagnostics in scanner by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3223057677" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6845" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6845/hovercard" href="https://github.com/biomejs/biome/pull/6845">#6845</a></li>
<li>feat: add global vscode and zed settings file to well known files 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="3213853449" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6798" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6798/hovercard" href="https://github.com/biomejs/biome/pull/6798">#6798</a></li>
<li>fix(css_parser): support a list of identifiers in ::part() pseudo-element selector by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denbezrukov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/denbezrukov">@denbezrukov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3221987945" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6840" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6840/hovercard" href="https://github.com/biomejs/biome/pull/6840">#6840</a></li>
<li>fix(biome_js_analyze): fixed noInvalidUseBeforeDeclaration false positives by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vladimir-ivanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vladimir-ivanov">@vladimir-ivanov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3213597151" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6794" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6794/hovercard" href="https://github.com/biomejs/biome/pull/6794">#6794</a></li>
<li>fix: classes with single quotes in functions should use double quotes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/darricheng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/darricheng">@darricheng</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3223264248" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6846" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6846/hovercard" href="https://github.com/biomejs/biome/pull/6846">#6846</a></li>
<li>chore: fix <code>just new*</code> commands by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mdevils/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mdevils">@mdevils</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3225153432" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6853" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6853/hovercard" href="https://github.com/biomejs/biome/pull/6853">#6853</a></li>
<li>chore: fix <code>noVueReservedProps</code> changeset by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mdevils/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mdevils">@mdevils</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3225682804" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6858" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6858/hovercard" href="https://github.com/biomejs/biome/pull/6858">#6858</a></li>
<li>chore: remove platinum sponsor 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="3225252427" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6854" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6854/hovercard" href="https://github.com/biomejs/biome/pull/6854">#6854</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="3227036627" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6869" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6869/hovercard" href="https://github.com/biomejs/biome/pull/6869">#6869</a></li>
<li>chore(deps): update dependency eslint to v9.31.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="3227036240" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6868" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6868/hovercard" href="https://github.com/biomejs/biome/pull/6868">#6868</a></li>
<li>chore(deps): update dependency @types/node to v22.16.3 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="3226870218" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6866" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6866/hovercard" href="https://github.com/biomejs/biome/pull/6866">#6866</a></li>
<li>chore(deps): update dependency @types/node to v22.16.3 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="3226870298" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6867" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6867/hovercard" href="https://github.com/biomejs/biome/pull/6867">#6867</a></li>
<li>chore(deps): update typescript-eslint monorepo to v8.36.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="3227164322" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6873" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6873/hovercard" href="https://github.com/biomejs/biome/pull/6873">#6873</a></li>
<li>feat(cli): consider configuration when selecting ScanKind 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="3226679880" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6863" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6863/hovercard" href="https://github.com/biomejs/biome/pull/6863">#6863</a></li>
<li>docs(noImportCycles): add note about computation cost 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="3226707098" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6864" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6864/hovercard" href="https://github.com/biomejs/biome/pull/6864">#6864</a></li>
<li>fix(css_parser): handle multiple semicolons correctly in blocks (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3166296722" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6485" data-hovercard-type="issue" data-hovercard-url="/biomejs/biome/issues/6485/hovercard" href="https://github.com/biomejs/biome/issues/6485">#6485</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denbezrukov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/denbezrukov">@denbezrukov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3226773629" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6865" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6865/hovercard" href="https://github.com/biomejs/biome/pull/6865">#6865</a></li>
<li>fix(deps): update dependency prettier to v3.6.2 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="3227344299" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6874" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6874/hovercard" href="https://github.com/biomejs/biome/pull/6874">#6874</a></li>
<li>chore(deps): update rust crate tokio to 1.46.1 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="3227093041" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6871" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6871/hovercard" href="https://github.com/biomejs/biome/pull/6871">#6871</a></li>
<li>chore(deps): update rust crate criterion to v3 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="3227388076" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6876" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6876/hovercard" href="https://github.com/biomejs/biome/pull/6876">#6876</a></li>
<li>fix(deps): update rust crates 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="3227345915" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6875" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6875/hovercard" href="https://github.com/biomejs/biome/pull/6875">#6875</a></li>
<li>fix(lsp): skip unsafe fixes with quick fixes 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="3227600261" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6878" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6878/hovercard" href="https://github.com/biomejs/biome/pull/6878">#6878</a></li>
<li>perf: optimise <code>noImportCycles</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3228299529" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6884" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6884/hovercard" href="https://github.com/biomejs/biome/pull/6884">#6884</a></li>
<li>refactor(css_parser): flatten AnyCssDeclarationWithSemicolon (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3236342194" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6912" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6912/hovercard" href="https://github.com/biomejs/biome/pull/6912">#6912</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/denbezrukov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/denbezrukov">@denbezrukov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3227718280" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6879" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6879/hovercard" href="https://github.com/biomejs/biome/pull/6879">#6879</a></li>
<li>feat(biome_js_analyze): added support for call expressions arguments by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vladimir-ivanov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vladimir-ivanov">@vladimir-ivanov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3225280535" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6855" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6855/hovercard" href="https://github.com/biomejs/biome/pull/6855">#6855</a></li>
<li>fix(core): scanner ignores files inside VCS 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="3221924747" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6839" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6839/hovercard" href="https://github.com/biomejs/biome/pull/6839">#6839</a></li>
<li>fix(biome_analyze): restore support for multiple consecutive suppression comments with rule instances. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sterliakov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sterliakov">@sterliakov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3222998120" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6844" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6844/hovercard" href="https://github.com/biomejs/biome/pull/6844">#6844</a></li>
<li>refactor: make Watcher aware of <code>ScanKind</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3222632205" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6842" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6842/hovercard" href="https://github.com/biomejs/biome/pull/6842">#6842</a></li>
<li>fix(core): infer array indices by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3233254781" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6898" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6898/hovercard" href="https://github.com/biomejs/biome/pull/6898">#6898</a></li>
<li>fix(core): fix type inference of <code>this</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3235060790" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6901" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6901/hovercard" href="https://github.com/biomejs/biome/pull/6901">#6901</a></li>
<li>fix(linter): fix false positive with <code>.d.ts</code> files in <code>useImportExtensions</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3235531649" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6903" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6903/hovercard" href="https://github.com/biomejs/biome/pull/6903">#6903</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="3215554755" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6807" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6807/hovercard" href="https://github.com/biomejs/biome/pull/6807">#6807</a></li>
<li>Revert "ci: release" 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="3236183441" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6908" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6908/hovercard" href="https://github.com/biomejs/biome/pull/6908">#6908</a></li>
<li>fix(cli): apply <code>--assist-enabled</code> 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="3236342194" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6912" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6912/hovercard" href="https://github.com/biomejs/biome/pull/6912">#6912</a></li>
<li>fix(core): use non-recursive watchers by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arendjr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arendjr">@arendjr</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3236274630" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6911" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6911/hovercard" href="https://github.com/biomejs/biome/pull/6911">#6911</a></li>
<li>feat(yaml_parser): parse block sequence by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vohoanglong0107/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vohoanglong0107">@vohoanglong0107</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3206577090" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6727" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6727/hovercard" href="https://github.com/biomejs/biome/pull/6727">#6727</a></li>
<li>feat(linter): add <code>excludedComponents</code> option to <code>useUniqueElementIds</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sterliakov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sterliakov">@sterliakov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3205360032" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6723" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6723/hovercard" href="https://github.com/biomejs/biome/pull/6723">#6723</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="3236190475" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6909" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6909/hovercard" href="https://github.com/biomejs/biome/pull/6909">#6909</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/darricheng/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/darricheng">@darricheng</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3223264248" data-permission-text="Title is private" data-url="https://github.com/biomejs/biome/issues/6846" data-hovercard-type="pull_request" data-hovercard-url="/biomejs/biome/pull/6846/hovercard" href="https://github.com/biomejs/biome/pull/6846">#6846</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/biomejs/biome/compare/@biomejs/js-api@2.0.3...@biomejs/biome@2.1.2">https://github.com/biomejs/biome/compare/@biomejs/js-api@2.0.3...@biomejs/biome@2.1.2</a></p>github-actions[bot]tag:github.com,2008:Repository/294977469/v1.7.212025-07-13T22:29:33Zclink: v1.7.21<ul>
<li>Fixed TAB expansion of <code>foo ~</code> when there is no argmatcher for <code>foo</code>.</li>
<li>Fixed <a href="https://github.com/chrisant996/clink/issues/772" data-hovercard-type="issue" data-hovercard-url="/chrisant996/clink/issues/772/hovercard">#772</a>; uninstall fails to uninstall autorun if the logged on user is not an administrator.</li>
<li>Fixed <a href="https://github.com/chrisant996/clink/issues/773" data-hovercard-type="issue" data-hovercard-url="/chrisant996/clink/issues/773/hovercard">#773</a>; unexpected completion behavior after a doskey alias command.</li>
</ul>chrisant996