tag:github.com,2008:https://github.com/TagStudioDev/TagStudio/releasesRelease notes from TagStudio2025-10-08T08:39:06Ztag:github.com,2008:Repository/787908531/v9.5.62025-10-21T00:19:33ZAlpha v9.5.6<h2>Added</h2>
<ul>
<li>feat: render .cb7 thumbnails. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sola-ris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sola-ris">@Sola-ris</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3395952249" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1118" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1118/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1118">#1118</a></li>
<li>feat: add infinite scrolling, improve page performance by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3399798674" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1119" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1119/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1119">#1119</a></li>
</ul>
<h2>Fixed</h2>
<ul>
<li>fix: process ignore patterns for wcmatch in unlinked registry by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3406680666" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1124" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1124/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1124">#1124</a></li>
<li>fix: respect trailing slash patterns in glob by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3411685857" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1127" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1127/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1127">#1127</a></li>
<li>fix: always hide duration badge on non video ext by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3423558071" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1134" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1134/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1134">#1134</a></li>
<li>fix: update entry cache when toggling tags by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3426958064" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1135" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1135/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1135">#1135</a></li>
<li>fix: use absolute path for file opener by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3427024325" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1136" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1136/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1136">#1136</a></li>
<li>fix: toggle play only with left mouse button click by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/csponge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/csponge">@csponge</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3455661023" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1152" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1152/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1152">#1152</a></li>
<li>fix: Fix searching <code>A AND A</code> returning no results by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrigamDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TrigamDev">@TrigamDev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3438528355" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1138" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1138/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1138">#1138</a></li>
<li>fix: add periodic yield to save_new_files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3335654377" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1040" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1040/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1040">#1040</a></li>
</ul>
<h2>Changed</h2>
<h3>Internal Changes</h3>
<ul>
<li>fix: apply unwrap where necessary by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3395364441" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1113" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1113/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1113">#1113</a></li>
<li>fix: renderer type fixes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3395375067" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1114" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1114/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1114">#1114</a></li>
</ul>
<h2>Translations</h2>
<h3>Translations</h3>
<ul>
<li><strong>Dutch</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FlannyH/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FlannyH">@FlannyH</a></li>
<li><strong>French</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kitsumed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kitsumed">@kitsumed</a></li>
<li><strong>Hungarian</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/smileyhead/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/smileyhead">@smileyhead</a></li>
<li><strong>Italian</strong> added and updated by @OmnipresentW</li>
<li><strong>Japanese</strong> updated by wany-oh</li>
<li><strong>Norwegian Bokmål</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Neemek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Neemek">@Neemek</a></li>
<li><strong>Spanish</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcc1999/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcc1999">@jcc1999</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/TagStudioDev/TagStudio/compare/v9.5.5...v9.5.6"><tt>v9.5.5...v9.5.6</tt></a></p>CyanVoxeltag:github.com,2008:Repository/787908531/v9.5.52025-09-08T21:33:19ZAlpha v9.5.5<p>This is a quick patch to squash some bugs, add a few new settings, and update translations.</p>
<h2>Added</h2>
<h3>New Settings</h3>
<ul>
<li>feat(ui): add thumbnail cache size setting to settings panel by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3376922070" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1088" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1088/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1088">#1088</a></li>
<li>feat: add cached thumbnail quality and resolution settings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3389115469" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1101" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1101/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1101">#1101</a>
<ul>
<li>Only available by editing the <code>cached_thumb_quality</code> and <code>cached_thumb_resolution</code> options in the <code>settings.toml</code> config file</li>
</ul>
</li>
<li>fix: add option to use old Windows 'start' command by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3375354490" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1084" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1084/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1084">#1084</a>
<ul>
<li>Only available by editing the <code>windows_start_command</code> option in the <code>settings.toml</code> file</li>
<li>Fixes niche issue on Windows systems, see <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3332791007" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1036" data-hovercard-type="issue" data-hovercard-url="/TagStudioDev/TagStudio/issues/1036/hovercard" href="https://github.com/TagStudioDev/TagStudio/issues/1036">#1036</a></li>
</ul>
</li>
<li>translations: add Czech, Portuguese (Portugal), and Romanian to settings panel (<a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/2db8bed30410d7e18f841a004c243154c97a307e/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/2db8bed30410d7e18f841a004c243154c97a307e"><tt>2db8bed</tt></a>)</li>
</ul>
<h3>File Previews</h3>
<ul>
<li>feat: render .cbr thumbnails by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sola-ris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sola-ris">@Sola-ris</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3394740193" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1112" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1112/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1112">#1112</a></li>
<li>feat: render .cbt thumbnails by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sola-ris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sola-ris">@Sola-ris</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3395564191" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1116" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1116/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1116">#1116</a></li>
</ul>
<h2>Fixed</h2>
<ul>
<li>fix: JSON migration window getting stuck on finishing migration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3381308499" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1094" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1094/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1094">#1094</a></li>
<li>fix: VTF files not rendering on Linux by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3379114307" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1093" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1093/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1093">#1093</a></li>
<li>fix: account for leading slash ignore pattern by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3378902176" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1092" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1092/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1092">#1092</a></li>
<li>fix: add option to use old Windows 'start' command by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3375354490" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1084" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1084/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1084">#1084</a></li>
<li>fix: always show first frame of video; autoplay will always play by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SumithSudheer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SumithSudheer">@SumithSudheer</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3390910292" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1104" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1104/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1104">#1104</a></li>
<li>feat: read epub cover from ComicInfo.xml, if available. by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sola-ris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sola-ris">@Sola-ris</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3391900229" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1109" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1109/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1109">#1109</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3391976986" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1111" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1111/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1111">#1111</a></li>
<li>fix: prevent mnemonic removal from removing escaped ampersands by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3391972613" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1110" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1110/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1110">#1110</a></li>
<li>fix: properly delete tag_parents row when deleting tag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3391121861" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1107" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1107/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1107">#1107</a></li>
</ul>
<h2>Changed</h2>
<h3>Translations</h3>
<ul>
<li><strong>French</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kitsumed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kitsumed">@kitsumed</a> , <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/RustyNova016/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/RustyNova016">@RustyNova016</a></li>
<li><strong>Hungarian</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/smileyhead/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/smileyhead">@smileyhead</a></li>
<li><strong>Russian</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/purpletennisball/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/purpletennisball">@purpletennisball</a></li>
<li><strong>Spanish</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danpg94/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danpg94">@danpg94</a></li>
<li><strong>Toki Pona</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Math-Bee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Math-Bee">@Math-Bee</a></li>
</ul>
<h3>Internal Changes</h3>
<ul>
<li>refactor: untangle backend and frontend files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3383355753" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1095" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1095/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1095">#1095</a></li>
<li>refactor: fix most pyright issues in <code>library/alchemy/</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3389985402" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1103" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1103/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1103">#1103</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SumithSudheer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SumithSudheer">@SumithSudheer</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3390910292" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1104" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1104/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1104">#1104</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Sola-ris/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Sola-ris">@Sola-ris</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3391900229" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1109" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1109/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1109">#1109</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/TagStudioDev/TagStudio/compare/v9.5.4...v9.5.5"><tt>v9.5.4...v9.5.5</tt></a></p>CyanVoxeltag:github.com,2008:Repository/787908531/v9.5.42025-09-01T22:47:41ZAlpha v9.5.4<h2>Added</h2>
<h3><code>.ts_ignore</code> File and Folder Ignore System</h3>
<p>The previous system for ignoring file extensions has been replaced by a new <code>.gitignore</code>-style pattern matching system. This uses a <code>.ts_ignore</code> file inside your library's <code>.TagStudio</code> folder with glob-like rules to give more power options than what was previously possible. This file can be edited inside within TagStudio or externally, and rules are hot-reloaded in either case. Existing extension rules have been migrated as closely as possible to this new system. For more information on this new system, visit the "<a href="https://docs.tagstud.io/utilities/ignore/" rel="nofollow">Ignore Files</a>" page on the documentation site.</p>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/481146648-116d6b71-939c-4aa2-9101-6134e1c22341.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80ODExNDY2NDgtMTE2ZDZiNzEtOTM5Yy00YWEyLTkxMDEtNjEzNGUxYzIyMzQxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEyZjBhYzUxMGY2YWI1OGQ5ZWE3NjY4YzAxYzU5NjExYTUzZjdiMGRiYWU1MThmNzA2OTVlMjFiMTlmMDNkZTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.uyMtVC8-rbACgo7mLqnCPZWa9ESE__b_I_43ze1QiRc"><img width="764" height="677" alt="Screenshot 2025-08-22 at 14 31 15" src="https://private-user-images.githubusercontent.com/46939827/481146648-116d6b71-939c-4aa2-9101-6134e1c22341.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80ODExNDY2NDgtMTE2ZDZiNzEtOTM5Yy00YWEyLTkxMDEtNjEzNGUxYzIyMzQxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEyZjBhYzUxMGY2YWI1OGQ5ZWE3NjY4YzAxYzU5NjExYTUzZjdiMGRiYWU1MThmNzA2OTVlMjFiMTlmMDNkZTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.uyMtVC8-rbACgo7mLqnCPZWa9ESE__b_I_43ze1QiRc" content-type-secured-asset="image/png" style="max-width: 100%; height: auto; max-height: 677px;"></a>
<p>Along with this system also comes the additional features:</p>
<ul>
<li>TagStudio can now traverse symlinks in your library folders</li>
<li>TagStudio can now leverage <a href="https://github.com/BurntSushi/ripgrep">ripgrep</a>, a rust-based directory search tool, for faster library refreshing
<ul>
<li>ripgrep must be <a href="https://docs.tagstud.io/install/#ripgrep" rel="nofollow">installed on your system</a> and able to be located by TagStudio</li>
</ul>
</li>
</ul>
<h4>Pull Requests:</h4>
<ul>
<li>feat: add <code>.ts_ignore</code> pattern ignoring system by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2959046882" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/897" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/897/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/897">#897</a></li>
<li>feat: replace extension exclusion system with <code>.ts_ignore</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3346838189" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1046" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1046/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1046">#1046</a></li>
</ul>
<h3>Library Information Window</h3>
<p>A new "Library Information" window has been added and is accessible under the "View" window. This window includes statistics about your currently opened library, as well as convenient access to library cleanup tools. This includes a new tool to cleanup "ignored files", which are files that have been previously added to your library but now no longer meet the ignore pattern rules.</p>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/483914158-a12b4a2e-8c4a-448b-9e78-d84d39b19e3e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80ODM5MTQxNTgtYTEyYjRhMmUtOGM0YS00NDhiLTllNzgtZDg0ZDM5YjE5ZTNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIzMDg4ZDlmMDQ3NGUwNWEwNWJhYjRmYWU4Y2RjMGI1OGIyNzAwZjZmZjNlYjI2MDhiNjQxOWFkZWM0YjI0MWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.pIBaMKSafX-bJoz4K7klsq7HKbdYlHMyZwUsvThJQqU"><img width="912" height="620" alt="Screenshot 2025-08-30 at 15 53 08" src="https://private-user-images.githubusercontent.com/46939827/483914158-a12b4a2e-8c4a-448b-9e78-d84d39b19e3e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80ODM5MTQxNTgtYTEyYjRhMmUtOGM0YS00NDhiLTllNzgtZDg0ZDM5YjE5ZTNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIzMDg4ZDlmMDQ3NGUwNWEwNWJhYjRmYWU4Y2RjMGI1OGIyNzAwZjZmZjNlYjI2MDhiNjQxOWFkZWM0YjI0MWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.pIBaMKSafX-bJoz4K7klsq7HKbdYlHMyZwUsvThJQqU" content-type-secured-asset="image/png" style="max-width: 100%; height: auto; max-height: 620px;"></a>
<h4>Pull Requests:</h4>
<ul>
<li>feat: add LibraryInfoWindow with library statistics by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3350005906" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1056" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1056/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1056">#1056</a></li>
<li>feat: add library cleanup screen and 'fix ignored files' window by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3368869293" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1070" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1070/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1070">#1070</a></li>
</ul>
<h3>Other Additions</h3>
<ul>
<li>feat: add random sorting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3312352865" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1029" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1029/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1029">#1029</a></li>
<li>feat: add exr thumbnail support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3323967018" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1035" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1035/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1035">#1035</a></li>
<li>feat: add thumbnail generation toggle by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ZwodahS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ZwodahS">@ZwodahS</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3350413381" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1057" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1057/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1057">#1057</a></li>
<li>feat: cli version argument by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HeikoWasTaken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HeikoWasTaken">@HeikoWasTaken</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3353918468" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1060" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1060/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1060">#1060</a></li>
<li>feat: add setting to select splash screen by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3371653104" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1077" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1077/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1077">#1077</a>
<ul>
<li>Includes a new "'95" splash screen originally intended for the <a href="https://github.com/TagStudioDev/TagStudio/releases/tag/v9.5.0">9.5.0</a> release</li>
</ul>
</li>
</ul>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/484326724-3cd6562f-0eaf-420d-9d70-d10d1519da84.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80ODQzMjY3MjQtM2NkNjU2MmYtMGVhZi00MjBkLTlkNzAtZDEwZDE1MTlkYTg0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUxMjEzZWMyYjZhZTJjM2U1MmI5YmU5NzRhYThmMmMwN2ZkMjNjNmExZDcyY2M0M2NkZjM4OTljMDNjZDY5NWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.aG2dQgcAdGSiM2nTvzceGRUQyN1MNTTsj_20LpHKGh8"><img width="540" height="360" alt="splash_selection_half" src="https://private-user-images.githubusercontent.com/46939827/484326724-3cd6562f-0eaf-420d-9d70-d10d1519da84.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80ODQzMjY3MjQtM2NkNjU2MmYtMGVhZi00MjBkLTlkNzAtZDEwZDE1MTlkYTg0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUxMjEzZWMyYjZhZTJjM2U1MmI5YmU5NzRhYThmMmMwN2ZkMjNjNmExZDcyY2M0M2NkZjM4OTljMDNjZDY5NWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.aG2dQgcAdGSiM2nTvzceGRUQyN1MNTTsj_20LpHKGh8" content-type-secured-asset="image/png" style="max-width: 100%; height: auto; max-height: 360px;"></a>
<h2>Fixed</h2>
<ul>
<li>fix: searching with internal tag ids ignores sorting order by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3333411491" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1038" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1038/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1038">#1038</a></li>
<li>fix: folders with names of unlinked entries are linked by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/purpletennisball/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/purpletennisball">@purpletennisball</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3307078928" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1027" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1027/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1027">#1027</a></li>
<li>fix: parent tags in tag editor are uneditable by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/purpletennisball/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/purpletennisball">@purpletennisball</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3370506465" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1073" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1073/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1073">#1073</a></li>
<li>feat: auto mnemonics by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3373789737" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1082" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1082/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1082">#1082</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3373857362" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1083" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1083/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1083">#1083</a></li>
</ul>
<h2>Changed</h2>
<h3>Performance</h3>
<ul>
<li>perf: optimize sql for or queries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3121690746" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/948" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/948/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/948">#948</a></li>
<li>perf: Optimize db queries for preview panel by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3098842632" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/942" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/942/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/942">#942</a></li>
<li>fix: add tags to selected entries in bulk not individually by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3311080108" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1028" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1028/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1028">#1028</a></li>
</ul>
<h3>Translations</h3>
<ul>
<li><strong>Chinese</strong> <em>(Traditional Han Script)</em> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tkiuvvv233/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tkiuvvv233">@tkiuvvv233</a></li>
<li><strong>French</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bamowen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bamowen">@Bamowen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kitsumed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kitsumed">@kitsumed</a></li>
<li><strong>German</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Livesi5e/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Livesi5e">@Livesi5e</a></li>
<li><strong>Hungarian</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/smileyhead/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/smileyhead">@smileyhead</a></li>
<li><strong>Japanese</strong> updated by wany-oh</li>
<li><strong>Polish</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FeatherPrince/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FeatherPrince">@FeatherPrince</a></li>
<li><strong>Portuguese</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SantosSi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SantosSi">@SantosSi</a></li>
<li><strong>Romanian</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VLTNOgithub/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VLTNOgithub">@VLTNOgithub</a></li>
<li><strong>Russian</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dott-rus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dott-rus">@Dott-rus</a></li>
<li><strong>Spanish</strong> updated by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JCC1998/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JCC1998">@JCC1998</a></li>
<li><strong>Swedish</strong> updated by konto</li>
</ul>
<h3>Internal Changes</h3>
<ul>
<li>feat: swap IDs in tag_parents table by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HeikoWasTaken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HeikoWasTaken">@HeikoWasTaken</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3257547856" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/998" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/998/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/998">#998</a>
<ul>
<li>fix: swap parent and child logic for TAG_CHILDREN_QUERY by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3357127042" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1064" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1064/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1064">#1064</a></li>
</ul>
</li>
<li>fix(nix): fixup and rework, always use nixpkgs PySide/Qt by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xarvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xarvex">@xarvex</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3347428149" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1048" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1048/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1048">#1048</a></li>
<li>refactor: make cache_manager thread safe by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3335125746" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1039" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1039/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1039">#1039</a></li>
<li>ci(tests): fix broken tests and add type hints by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3354810931" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1062" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1062/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1062">#1062</a></li>
<li>refactor: store DB version inside <code>versions</code> table by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3350841916" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1058" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1058/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1058">#1058</a></li>
<li>refactor: unwrap instead of assert not None by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3364094552" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1068" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1068/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1068">#1068</a></li>
<li>chore(thumb_renderer): prepare for pillow_heif removing AVIF support by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xarvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xarvex">@xarvex</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3357687354" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1065" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1065/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1065">#1065</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HeikoWasTaken/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HeikoWasTaken">@HeikoWasTaken</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3257547856" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/998" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/998/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/998">#998</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ZwodahS/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ZwodahS">@ZwodahS</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3350413381" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1057" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1057/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1057">#1057</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/TagStudioDev/TagStudio/compare/v9.5.3...v9.5.4"><tt>v9.5.3...v9.5.4</tt></a></p>CyanVoxeltag:github.com,2008:Repository/787908531/v9.5.32025-08-18T05:04:37ZAlpha v9.5.3<p>Thank you for your patience during this latest development cycle! This update includes a whole host of new quality of life additions, changes, and bug fixes. The release cycle <em>should</em> be more consistent going forward with more frequent updates and larger features being developed. Thank you to everyone who contributed to this update, and thank you all for continuing to use TagStudio!</p>
<p><em>- Travis (CyanVoxel)</em></p>
<hr>
<h2>Added</h2>
<ul>
<li>Datetime fields by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3017991161" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/921" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/921/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/921">#921</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3119043306" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/946" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/946/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/946">#946</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3038171370" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/926" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/926/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/926">#926</a></li>
<li>Add date_format and hour_format settings by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JCC1998/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JCC1998">@JCC1998</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2964166897" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/904" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/904/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/904">#904</a></li>
<li>Invert selection by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zfbx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zfbx">@zfbx</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2971604789" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/909" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/909/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/909">#909</a></li>
<li>Show stems for extension-less files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2959540796" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/899" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/899/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/899">#899</a></li>
<li>Press enter when adding fields by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rsazra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rsazra">@rsazra</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3092770700" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/941" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/941/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/941">#941</a></li>
<li>Option to change tag click behavior by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3118763192" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/945" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/945/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/945">#945</a></li>
<li>Krita/Open Raster thumbnails by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mashed5894/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mashed5894">@mashed5894</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3217086977" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/985" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/985/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/985">#985</a></li>
<li>Zoom keyboard shortcuts by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/purpletennisball/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/purpletennisball">@purpletennisball</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3141145912" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/956" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/956/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/956">#956</a></li>
<li>Clickable links in text fields by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrigamDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TrigamDev">@TrigamDev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3018860694" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/924" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/924/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/924">#924</a></li>
</ul>
<h2>Fixed</h2>
<ul>
<li>Restore page navigation state by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3067269635" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/933" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/933/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/933">#933</a></li>
<li>Proper error on unterminated quoted string by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3081369863" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/936" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/936/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/936">#936</a></li>
<li>Creating new tag now refreshes the menu using the current search text by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/purpletennisball/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/purpletennisball">@purpletennisball</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3091572595" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/939" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/939/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/939">#939</a></li>
<li>Preview thumbnails don't scale as large as they could by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3287339173" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1005" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1005/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1005">#1005</a></li>
<li>Add Nix path to FFmpeg locations on macOS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thibmaek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thibmaek">@thibmaek</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3229874425" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/990" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/990/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/990">#990</a></li>
<li>Use srctools instead of vtf2img to render vtf files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3291166835" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1014" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1014/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1014">#1014</a></li>
</ul>
<h2>Changed</h2>
<ul>
<li>Add parent tags to <code>folders_to_tags</code> macro and start tagging at root folder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rsazra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rsazra">@rsazra</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3092718512" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/940" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/940/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/940">#940</a></li>
<li>Optimize page loading by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3135439923" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/954" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/954/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/954">#954</a></li>
<li>Add arrow icons for navigation buttons by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3291898173" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1016" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1016/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1016">#1016</a></li>
<li>Tweak media player style and behavior by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3298838977" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1025" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1025/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1025">#1025</a></li>
</ul>
<h2>Translations</h2>
<ul>
<li>Added Chinese (Simplified Han Script)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tkiuvvv233/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tkiuvvv233">@tkiuvvv233</a>, Luoyu, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngivanyh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngivanyh">@ngivanyh</a></li>
</ul>
</li>
<li>Updated Dutch
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Pheubel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Pheubel">@Pheubel</a></li>
</ul>
</li>
<li>Updated Filipino
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/searinminecraft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/searinminecraft">@searinminecraft</a></li>
</ul>
</li>
<li>Updated French
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kitsumed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kitsumed">@kitsumed</a></li>
</ul>
</li>
<li>Updated German
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Livesi5e/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Livesi5e">@Livesi5e</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Stereo157E/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Stereo157E">@Stereo157E</a></li>
</ul>
</li>
<li>Updated Hungarian
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/smileyhead/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/smileyhead">@smileyhead</a></li>
</ul>
</li>
<li>Updated Japanese
<ul>
<li>wany-oh</li>
</ul>
</li>
<li>Updated Norwegian Bokmål
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Neemek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Neemek">@Neemek</a></li>
</ul>
</li>
<li>Updated Polish
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FeatherPrince/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FeatherPrince">@FeatherPrince</a></li>
</ul>
</li>
<li>Updated Russian
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dott-rus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dott-rus">@Dott-rus</a>, Utof, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/maximmax42/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/maximmax42">@maximmax42</a></li>
</ul>
</li>
<li>Updated Spanish
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JCC1998/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JCC1998">@JCC1998</a>, Joan, Sunny, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danpg94/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danpg94">@danpg94</a></li>
</ul>
</li>
<li>Updated Tamil
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TamilNeram/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TamilNeram">@TamilNeram</a></li>
</ul>
</li>
<li>Updated Toki Pona
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Math-Bee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Math-Bee">@Math-Bee</a></li>
</ul>
</li>
<li>Updated Viossa
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nginearing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nginearing">@Nginearing</a></li>
</ul>
</li>
</ul>
<h2>Internal Changes</h2>
<ul>
<li>refactor: type fixes and minor improvements to preview_thumb.py by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2965200512" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/906" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/906/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/906">#906</a></li>
<li>fix(test): Fix tests to pass on windows without disrupting other platforms by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zfbx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zfbx">@zfbx</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2961958899" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/903" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/903/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/903">#903</a></li>
<li>chore(pyproject): version bumping/relaxing by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xarvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xarvex">@xarvex</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2940575848" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/886" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/886/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/886">#886</a></li>
<li>fix: tests were overwriting the settings.toml by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3040681575" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/928" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/928/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/928">#928</a></li>
<li>fix(nix/package): override PySide6 if later version is being used by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xarvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xarvex">@xarvex</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3011343145" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/917" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/917/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/917">#917</a></li>
<li>refactor: split QtDriver into View and Controller to follow MVC model by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3069826377" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/935" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/935/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/935">#935</a></li>
<li>refactor: resource_manager.py by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3141811478" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/958" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/958/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/958">#958</a></li>
<li>Type fixes to folders_to_tags.py, collage_icon.py and item_thumb.py by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3142046772" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/959" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/959/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/959">#959</a></li>
<li>Type fixes to preview_panel.py, progress.py, tag.py and tag_box.py by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3142207330" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/961" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/961/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/961">#961</a></li>
<li>Type improvements to landing.py and panel.py by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3142163041" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/960" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/960/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/960">#960</a></li>
<li>refactor(preview_panel): mvc split by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3127375423" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/952" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/952/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/952">#952</a></li>
<li>refactor(preview_thumb): mvc split by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3206600765" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/978" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/978/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/978">#978</a></li>
<li>refactor: type improvements for main_window.py by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3141149103" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/957" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/957/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/957">#957</a></li>
<li>fix(library): get_tag_by_name by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3287368152" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1006" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1006/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1006">#1006</a></li>
<li>fix: ensure initial browsing state uses UI values by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3290450191" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1008" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1008/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1008">#1008</a></li>
<li>refactor(tag_box): mvc split by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3286136613" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1003" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1003/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1003">#1003</a></li>
<li>fix(ui): hide empty ProgressWidget cancel button by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3290703975" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1011" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1011/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1011">#1011</a></li>
<li>fix(ui): fix audio waveform generation on numpy 2.3 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3290853869" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1013" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1013/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1013">#1013</a></li>
<li>refactor: replace remaining instances of logging with structlog by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3290723240" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1012" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1012/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1012">#1012</a></li>
<li>fix: don't fail when posix env var is not present by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3293993517" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1018" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1018/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1018">#1018</a></li>
<li>fix(ui): show correct thumb labels by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3290675227" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/1010" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/1010/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/1010">#1010</a></li>
</ul>
<h2>Documentation</h2>
<ul>
<li>Update CHANGELOG.md by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Math-Bee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Math-Bee">@Math-Bee</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2994319668" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/914" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/914/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/914">#914</a></li>
<li>Add QT MVC structure to style guide by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3126963902" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/950" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/950/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/950">#950</a></li>
<li>Fix wrong date on Changelog by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ugurozturk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ugurozturk">@ugurozturk</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3157696193" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/966" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/966/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/966">#966</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JCC1998/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JCC1998">@JCC1998</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2964166897" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/904" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/904/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/904">#904</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Math-Bee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Math-Bee">@Math-Bee</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2994319668" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/914" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/914/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/914">#914</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rsazra/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rsazra">@rsazra</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3092770700" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/941" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/941/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/941">#941</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/purpletennisball/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/purpletennisball">@purpletennisball</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3091572595" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/939" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/939/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/939">#939</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ngivanyh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ngivanyh">@ngivanyh</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3177899740" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/974" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/974/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/974">#974</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ugurozturk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ugurozturk">@ugurozturk</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3157696193" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/966" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/966/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/966">#966</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thibmaek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thibmaek">@thibmaek</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3229874425" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/990" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/990/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/990">#990</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheBobBobs/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheBobBobs">@TheBobBobs</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3135439923" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/954" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/954/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/954">#954</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TrigamDev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TrigamDev">@TrigamDev</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3018860694" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/924" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/924/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/924">#924</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/TagStudioDev/TagStudio/compare/v9.5.2...v9.5.3"><tt>v9.5.2...v9.5.3</tt></a></p>CyanVoxeltag:github.com,2008:Repository/787908531/v9.5.22025-03-31T23:56:39ZAlpha v9.5.2<div class="markdown-alert markdown-alert-note"><p class="markdown-alert-title"><svg class="octicon octicon-info mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p><p>Libraries created or opened in this version (v9.5.2) <strong>can not</strong> be opened in earlier versions of TagStudio. Libraries created in older versions of TagStudio (<=9.5.1) <strong>can still</strong> be opened in this version.</p>
<p><em>For more information, see the <a href="https://docs.tagstud.io/updates/schema_changes/#db_version-9" rel="nofollow">Save Format Changes</a> page on the docs site.</em></p>
</div>
<div class="markdown-alert markdown-alert-important"><p class="markdown-alert-title"><svg class="octicon octicon-report mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>Important</p><p>Due to the new settings backend, some settings such as video autoplaying and looping may have been reset and will need to be set again.</p>
</div>
<h2>Added</h2>
<h3>Search</h3>
<ul>
<li>feat(ui): add setting to not display full filepaths by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HermanKassler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HermanKassler">@HermanKassler</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2903527526" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/841" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/841/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/841">#841</a></li>
<li>feat: add filename and path sorting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2903848356" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/842" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/842/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/842">#842</a></li>
</ul>
<h3>Settings</h3>
<ul>
<li>feat: new settings menu + settings backend by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2915303974" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/859" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/859/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/859">#859</a></li>
</ul>
<h3>UI</h3>
<ul>
<li>feat(ui): merge media controls by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/csponge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/csponge">@csponge</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2859179229" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/805" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/805/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/805">#805</a>
<ul>
<li>fix: Remove border from video preview top and left by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zfbx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zfbx">@zfbx</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2960027422" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/900" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/900/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/900">#900</a></li>
</ul>
</li>
<li>feat(ui): add more default icons and file type equivalencies by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2939319573" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/882" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/882/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/882">#882</a></li>
<li>ui: recent libraries list improvements by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2938727436" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/881" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/881/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/881">#881</a></li>
</ul>
<h3>Misc</h3>
<ul>
<li>feat: provide a .desktop file by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xarvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xarvex">@xarvex</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2922798374" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/870" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/870/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/870">#870</a></li>
</ul>
<h2>Fixed</h2>
<ul>
<li>fix: catch NotImplementedError for Float16 JPEG-XL files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2905070218" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/849" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/849/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/849">#849</a></li>
<li>fix(nix/package): account for GTK platform by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xarvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xarvex">@xarvex</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2922795488" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/868" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/868/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/868">#868</a></li>
<li>fix: do not set palette for Linux-like systems that offer theming by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xarvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xarvex">@xarvex</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2922796110" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/869" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/869/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/869">#869</a></li>
<li>fix(flake): remove pinned input, only consume in Nix shell by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xarvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xarvex">@xarvex</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2923296652" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/872" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/872/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/872">#872</a></li>
<li>fix: stop ffmpeg cmd windows, refactor ffmpeg_checker by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2909169796" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/855" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/855/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/855">#855</a></li>
<li>fix: hide mnemonics on macOS by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2911561135" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/856" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/856/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/856">#856</a></li>
<li>fix: use UNION instead of UNION ALL by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2929975583" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/877" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/877/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/877">#877</a></li>
<li>fix: remove unescaped ampersand from "about.description" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2940571236" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/885" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/885/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/885">#885</a></li>
<li>fix(ui): display 0 frame webp files in preview panel by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/64dc88afa90bb11f3c9b74a2522f947370ce21db/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/64dc88afa90bb11f3c9b74a2522f947370ce21db"><tt>64dc88a</tt></a></li>
<li>fix: close pdf file object in thumb renderer by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958009275" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/893" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/893/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/893">#893</a></li>
<li>perf: improve responsiveness of GIF entries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958164589" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/894" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/894/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/894">#894</a></li>
<li>fix(ui): seamlessly loop videos by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2961360588" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/902" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/902/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/902">#902</a></li>
</ul>
<h2>Internal Changes</h2>
<ul>
<li>refactor!: change layout; import and build change by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xarvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xarvex">@xarvex</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2904127952" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/844" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/844/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/844">#844</a></li>
<li>fix: log all problems in translation test by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2903095037" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/839" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/839/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/839">#839</a></li>
<li>refactor: split translation keys for about screen by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2904175933" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/845" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/845/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/845">#845</a></li>
<li>feat(ci): development tooling refresh and split documentation by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/xarvex/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/xarvex">@xarvex</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2922793825" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/867" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/867/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/867">#867</a></li>
<li>refactor: type hints and improvements in file_opener.py by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2927441578" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/876" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/876/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/876">#876</a></li>
<li>build: update spec file to use proper pathex and datas paths by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Leonard2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Leonard2">@Leonard2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958615422" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/895" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/895/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/895">#895</a></li>
<li>refactor: fix various missing and broken type hints@VasigaranAndAngel in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2960734836" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/901" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/901/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/901">#901</a></li>
<li>refactor: fix type hints and overrides in flowlayout.py by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2937855520" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/880" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/880/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/880">#880</a></li>
</ul>
<h2>Documentation</h2>
<ul>
<li>docs: fix typos and grammar by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gawidev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gawidev">@Gawidev</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2933643770" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/879" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/879/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/879">#879</a></li>
<li>docs: update <code>ThumbRenderer</code> source by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emmanuel-ferdman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emmanuel-ferdman">@emmanuel-ferdman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958823910" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/896" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/896/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/896">#896</a></li>
</ul>
<h2>Translations</h2>
<ul>
<li>Added Japanese (50%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/needledetector/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/needledetector">@needledetector</a></li>
</ul>
</li>
<li>Updated Turkish (93%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nyghl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nyghl">@Nyghl</a></li>
</ul>
</li>
<li>Updated Filipino (57%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/searinminecraft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/searinminecraft">@searinminecraft</a></li>
</ul>
</li>
<li>Updated Tamil (92%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TamilNeram/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TamilNeram">@TamilNeram</a></li>
</ul>
</li>
<li>Updated Portuguese (Brazil) (83%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/viniciushelder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/viniciushelder">@viniciushelder</a></li>
</ul>
</li>
<li>Updated German (95%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DontBlameMe99/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DontBlameMe99">@DontBlameMe99</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a></li>
</ul>
</li>
<li>Updated Russian (85%)
<ul>
<li>werdi, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dott-rus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dott-rus">@Dott-rus</a></li>
</ul>
</li>
<li>Updated Hungarian (100%)
<ul>
<li>Szíjártó Levente Pál</li>
</ul>
</li>
<li>Updated Spanish (96%)
<ul>
<li>Joan, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nginearing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nginearing">@Nginearing</a></li>
</ul>
</li>
<li>Updated French (100%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kitsumed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kitsumed">@kitsumed</a></li>
</ul>
</li>
<li>Updated Toki Pona (80%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Math-Bee/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Math-Bee">@Math-Bee</a></li>
</ul>
</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HermanKassler/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HermanKassler">@HermanKassler</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2903527526" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/841" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/841/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/841">#841</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/emmanuel-ferdman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/emmanuel-ferdman">@emmanuel-ferdman</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958823910" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/896" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/896/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/896">#896</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Leonard2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Leonard2">@Leonard2</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2958615422" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/895" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/895/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/895">#895</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zfbx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zfbx">@zfbx</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2960027422" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/900" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/900/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/900">#900</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/TagStudioDev/TagStudio/compare/v9.5.1...v9.5.2"><tt>v9.5.1...v9.5.2</tt></a></p>CyanVoxeltag:github.com,2008:Repository/787908531/v9.5.12025-03-07T01:00:53ZAlpha v9.5.1<h2>Fixed</h2>
<ul>
<li>Fixed translations crashing the program and preventing it from being reopened (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2893703926" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/827" data-hovercard-type="issue" data-hovercard-url="/TagStudioDev/TagStudio/issues/827/hovercard" href="https://github.com/TagStudioDev/TagStudio/issues/827">#827</a>)
<ul>
<li>fix: restore <code>translate_formatted()</code> method as <code>format()</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2895552314" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/830" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/830/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/830">#830</a></li>
<li>tests: add tests for translations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2898542651" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/833" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/833/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/833">#833</a></li>
<li>fix(translations): fix invalid placeholders by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2901634632" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/835" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/835/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/835">#835</a></li>
</ul>
</li>
<li>Removed empty parentheses from the "About" screen title
<ul>
<li>fix: separate about screen title from translations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2901691200" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/836" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/836/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/836">#836</a></li>
</ul>
</li>
</ul>
<h2>Translations</h2>
<ul>
<li>Updated French (99%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alessdangelo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alessdangelo">@alessdangelo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bamowen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bamowen">@Bamowen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kitsumed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kitsumed">@kitsumed</a></li>
</ul>
</li>
<li>Updated German (98%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Thesacraft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Thesacraft">@Thesacraft</a></li>
</ul>
</li>
<li>Updated Portuguese (Brazil) (88%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/viniciushelder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/viniciushelder">@viniciushelder</a></li>
</ul>
</li>
<li>Updated Russian (73%)
<ul>
<li>werdei</li>
</ul>
</li>
<li>Updated Spanish (95%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JCC1998/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JCC1998">@JCC1998</a></li>
</ul>
</li>
</ul>
<h2>Documentation</h2>
<ul>
<li>docs: fix category typo by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/salem404/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/salem404">@salem404</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2898882090" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/834" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/834/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/834">#834</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/salem404/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/salem404">@salem404</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2898882090" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/834" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/834/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/834">#834</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/TagStudioDev/TagStudio/compare/v9.5.0...v9.5.1"><tt>v9.5.0...v9.5.1</tt></a></p>CyanVoxeltag:github.com,2008:Repository/787908531/v9.5.02025-03-03T23:43:12ZAlpha v9.5.0<p><a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/418770143-858f1494-216f-4521-aefe-d0aa4f754b9e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTg3NzAxNDMtODU4ZjE0OTQtMjE2Zi00NTIxLWFlZmUtZDBhYTRmNzU0YjllLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkwNzU3ZjNiMDEyMzVlZGU0ZDA0NWRiNzFiNzQ5YTA0OWM0MTg0OGFmYWUxMGI1MzA5YjlmM2IwYTE1NzM0MTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.PspoLL_f7oK7dqX1NAQRgF5Ra_of8Bx0WXp8qpdk7-I"><img src="https://private-user-images.githubusercontent.com/46939827/418770143-858f1494-216f-4521-aefe-d0aa4f754b9e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTg3NzAxNDMtODU4ZjE0OTQtMjE2Zi00NTIxLWFlZmUtZDBhYTRmNzU0YjllLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkwNzU3ZjNiMDEyMzVlZGU0ZDA0NWRiNzFiNzQ5YTA0OWM0MTg0OGFmYWUxMGI1MzA5YjlmM2IwYTE1NzM0MTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.PspoLL_f7oK7dqX1NAQRgF5Ra_of8Bx0WXp8qpdk7-I" alt="tagstudio_95_splash_half_indexed" content-type-secured-asset="image/png" style="max-width: 100%;"></a></p>
<p><strong>Welcome to TagStudio <del>95</del> v9.5!</strong> This update has been <em>several</em> months in the making, and has focused largely on internal changes that completely rework the library system to run on SQLite instead of a homebrew JSON solution. This key change has allowed us to dramatically improve the search engine, reduce memory usage for large libraries, and provide a stable framework for several new additions - both in this release and in future releases moving forward! Despite this being a largely backend-focused update, there's still some exciting new features and changes that should make your tagging experiences better than ever! Thank you so much to everyone who's helped make this happen!</p>
<p>- Travis (CyanVoxel)</p>
<h2>Added</h2>
<h3>Overhauled Search Engine</h3>
<h4>Boolean Operators</h4>
<ul>
<li>feat: implement query language by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2699665816" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/606" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/606/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/606">#606</a></li>
<li>feat: optimize AND queries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2765320708" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/679" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/679/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/679">#679</a></li>
</ul>
<h4>Filetype, Mediatype, and Glob Path + Smartcase Searches</h4>
<ul>
<li>fix: remove wildcard requirement for tags by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tyrannicodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tyrannicodin">@Tyrannicodin</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2514772338" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/481" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/481/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/481">#481</a></li>
<li>feat: add filetype and mediatype searches by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/python357-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/python357-1">@python357-1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2636581089" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/575" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/575/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/575">#575</a></li>
<li>feat: make path search use globs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/python357-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/python357-1">@python357-1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2647986448" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/582" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/582/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/582">#582</a></li>
<li>feat: implement search equivalence of "jpg" and "jpeg" filetypes by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2745754213" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/649" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/649/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/649">#649</a></li>
<li>feat: add smartcase and globless path searches by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2816772349" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/743" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/743/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/743">#743</a></li>
</ul>
<h4>Sortable Results</h4>
<ul>
<li>feat: sort by "date added" in library by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2763628083" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/674" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/674/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/674">#674</a></li>
</ul>
<h4>Autocomplete</h4>
<ul>
<li>feat: add autocomplete for search engine by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/python357-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/python357-1">@python357-1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2663537150" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/586" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/586/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/586">#586</a></li>
</ul>
<h3>Replaced "Tag Fields" with Tag Categories</h3>
<p>Instead of tags needing to be added to a tag field type such as "Meta Tags", "Content Tags", or just the "Tags" field, tags are now added directly to file entries with no intermediary step. While tag field types offered a way to further organize tags, it was cumbersome, inflexible, and simply not fully fleshed out. Tag Categories offer all of the previous (intentional) functionality while greatly increasing the ease of use and customization.</p>
<ul>
<li>
<p>feat!: tag categories by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2754493345" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/655" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/655/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/655">#655</a></p>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/400138597-0b92eca5-db8f-4e3e-954b-1b4f3795f073.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MDAxMzg1OTctMGI5MmVjYTUtZGI4Zi00ZTNlLTk1NGItMWI0ZjM3OTVmMDczLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNhYjZhY2ZhNjUyNjk3YjVlY2QyMDU4NGFiYjUyNmM4ZGFjODg0ZDcyMTllMzE3MGZkMjhlOWNhN2YwNGZiMTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.CGiWyHvQyga80WpY5nMAl9nJzoNkR2z03NBJOr689nE"><img width="200" alt="Screenshot 2025-01-04 at 04 23 43" src="https://private-user-images.githubusercontent.com/46939827/400138597-0b92eca5-db8f-4e3e-954b-1b4f3795f073.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MDAxMzg1OTctMGI5MmVjYTUtZGI4Zi00ZTNlLTk1NGItMWI0ZjM3OTVmMDczLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNhYjZhY2ZhNjUyNjk3YjVlY2QyMDU4NGFiYjUyNmM4ZGFjODg0ZDcyMTllMzE3MGZkMjhlOWNhN2YwNGZiMTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.CGiWyHvQyga80WpY5nMAl9nJzoNkR2z03NBJOr689nE" content-type-secured-asset="image/png" style="max-width: 100%;"></a>
</li>
</ul>
<h3>Thumbnails and File Previews</h3>
<h4>New Thumbnail Support</h4>
<ul>
<li>feat: add svg thumbnail support (port <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504172748" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/442" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/442/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/442">#442</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tyrannicodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tyrannicodin">@Tyrannicodin</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2580103965" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/540" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/540/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/540">#540</a></li>
<li>feat: add pdf thumbnail support (port <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2483001287" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/378" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/378/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/378">#378</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Heiholf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Heiholf">@Heiholf</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2582270898" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/543" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/543/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/543">#543</a></li>
<li>feat: add ePub thumbnail support (port <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2484739836" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/387" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/387/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/387">#387</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Heiholf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Heiholf">@Heiholf</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2579919219" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/539" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/539/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/539">#539</a></li>
<li>feat: add OpenDocument thumbnail support (port <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2481343116" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/366" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/366/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/366">#366</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Joshua-Beatty/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Joshua-Beatty">@Joshua-Beatty</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2584361095" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/545" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/545/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/545">#545</a></li>
<li>feat: add JXL thumbnail and animated APNG + WEBP support (port <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2457759759" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/344" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/344/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/344">#344</a> and partially port <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2479362173" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/357" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/357/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/357">#357</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/BPplays/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/BPplays">@BPplays</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2598693362" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/549" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/549/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/549">#549</a>
<ul>
<li>fix: catch ImportError for pillow_jxl module by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/a2f9685bc0d744ea6f5334c6d2926aad3f6d375a/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/a2f9685bc0d744ea6f5334c6d2926aad3f6d375a"><tt>a2f9685</tt></a></li>
</ul>
</li>
</ul>
<h4>Audio Playback</h4>
<ul>
<li>feat: audio playback by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/csponge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/csponge">@csponge</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2636898205" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/576" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/576/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/576">#576</a>
<ul>
<li>feat(ui): add audio volume slider by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2771514730" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/691" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/691/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/691">#691</a></li>
</ul>
</li>
</ul>
<h4>Thumbnail Caching</h4>
<ul>
<li>feat(ui): add thumbnail caching by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2778291440" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/694" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/694/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/694">#694</a></li>
</ul>
<h3>Tags</h3>
<h4>Delete Tags <em>(Finally!)</em></h4>
<ul>
<li>feat: remove and create tags from tag database panel by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DandyDev01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DandyDev01">@DandyDev01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2625797916" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/569" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/569/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/569">#569</a></li>
</ul>
<h4>Custom User-Created Tag Colors</h4>
<p>Create your own custom tag colors via the new Tag Color Manager! Tag colors are assigned a namespace (group) and include a name, primary color, and optional secondary color. By default the secondary color is used for the tag text color, but this can also be toggled to apply to the border color as well!</p>
<ul>
<li>feat(ui)!: user-created tag colors@CyanVoxel in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2854932159" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/801" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/801/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/801">#801</a></li>
</ul>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/413668576-b591f1fe-1c44-4d82-b6e5-d166590aeab1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTM2Njg1NzYtYjU5MWYxZmUtMWM0NC00ZDgyLWI2ZTUtZDE2NjU5MGFlYWIxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk4Njg0Yzk3ZGU1NzQ1MDQ1MDcxNGE3MTM5MjZmNzE0N2RiNDU1OTAyZDY2MjM5MDdmMzZiODY4NzlhYzg1N2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.NUDnFsFIUwFM6MmtIPWL59nflQPz7pIIiy04KqMg_m4"><img width="300" src="https://private-user-images.githubusercontent.com/46939827/413668576-b591f1fe-1c44-4d82-b6e5-d166590aeab1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTM2Njg1NzYtYjU5MWYxZmUtMWM0NC00ZDgyLWI2ZTUtZDE2NjU5MGFlYWIxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk4Njg0Yzk3ZGU1NzQ1MDQ1MDcxNGE3MTM5MjZmNzE0N2RiNDU1OTAyZDY2MjM5MDdmMzZiODY4NzlhYzg1N2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.NUDnFsFIUwFM6MmtIPWL59nflQPz7pIIiy04KqMg_m4" content-type-secured-asset="image/png" style="max-width: 100%;"></a>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/413668612-96e81b08-6993-4a5e-96d0-3b05b50fbe44.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTM2Njg2MTItOTZlODFiMDgtNjk5My00YTVlLTk2ZDAtM2IwNWI1MGZiZTQ0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY4ZjRmOWQ4NGJjMjg3ODdiYzg0YjM1YTQ1NzExOTc4YWNhYTEwZTA5NGUzNTE5NmIxNDA4NWE5N2RjNmU5YTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.RUh2hTcs4VDPbkktFAqIozbVg9sOL4nXAlunSeVuudg"><img width="500" src="https://private-user-images.githubusercontent.com/46939827/413668612-96e81b08-6993-4a5e-96d0-3b05b50fbe44.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTM2Njg2MTItOTZlODFiMDgtNjk5My00YTVlLTk2ZDAtM2IwNWI1MGZiZTQ0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY4ZjRmOWQ4NGJjMjg3ODdiYzg0YjM1YTQ1NzExOTc4YWNhYTEwZTA5NGUzNTE5NmIxNDA4NWE5N2RjNmU5YTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.RUh2hTcs4VDPbkktFAqIozbVg9sOL4nXAlunSeVuudg" content-type-secured-asset="image/png" style="max-width: 100%;"></a>
<h4>New Tag Colors + UI</h4>
<ul>
<li>feat: expanded tag color system by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2796204957" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/709" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/709/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/709">#709</a></li>
<li>fix(ui): use correct pink tag color by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/431efe4fe93213141c763e59ca9887215766fd42/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/431efe4fe93213141c763e59ca9887215766fd42"><tt>431efe4</tt></a></li>
<li>fix(ui): use consistent tag outline colors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/020a73d095c74283d6c80426d3c3db8874409952/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/020a73d095c74283d6c80426d3c3db8874409952"><tt>020a73d</tt></a></li>
</ul>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/408753168-c8f82d89-ad7e-4be6-830e-b91cdc58e4c6.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MDg3NTMxNjgtYzhmODJkODktYWQ3ZS00YmU2LTgzMGUtYjkxY2RjNThlNGM2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTcwOGQ1YjYxM2Q1NWQ5OTQ2OTExNGVlYjRhMjA1YjFhOTIyN2VkYzYwYTFkZmY3M2M0YjMwYjRmYTZkODBhMWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.jDJds9FJSIyBIXOca0El_bOJPl0-ChunDV_kA3HGZrE"><img width="250" alt="Screenshot 2025-01-04 at 04 23 43" src="https://private-user-images.githubusercontent.com/46939827/408753168-c8f82d89-ad7e-4be6-830e-b91cdc58e4c6.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MDg3NTMxNjgtYzhmODJkODktYWQ3ZS00YmU2LTgzMGUtYjkxY2RjNThlNGM2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTcwOGQ1YjYxM2Q1NWQ5OTQ2OTExNGVlYjRhMjA1YjFhOTIyN2VkYzYwYTFkZmY3M2M0YjMwYjRmYTZkODBhMWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.jDJds9FJSIyBIXOca0El_bOJPl0-ChunDV_kA3HGZrE" content-type-secured-asset="image/png" style="max-width: 100%;"></a>
<h4>New Tag Alias UI</h4>
<ul>
<li>fix: preview panel aliases not staying up to date with database by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DandyDev01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DandyDev01">@DandyDev01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2739194714" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/641" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/641/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/641">#641</a></li>
<li>fix: subtags/parent tags & aliases update the UI for building a tag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DandyDev01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DandyDev01">@DandyDev01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2569127072" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/534" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/534/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/534">#534</a></li>
</ul>
<h3>Translations</h3>
<p>TagStudio now has official translation support! Head to the new settings panel and select from one of the initial languages included. Note that many languages currently have incomplete translations.</p>
<p>Translation hosting generously provided by <a href="https://weblate.org/en/" rel="nofollow">Weblate</a>. Check out our <a href="https://hosted.weblate.org/projects/tagstudio/" rel="nofollow">project page</a> to help translate TagStudio! Thank you to everyone who's helped contribute to the translations so far!</p>
<ul>
<li>translations: add string tokens for en.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bamowen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bamowen">@Bamowen</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2529475645" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/507" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/507/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/507">#507</a></li>
<li>feat: translations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2755002157" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/662" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/662/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/662">#662</a></li>
<li>feat(ui): add language setting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2856729298" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/803" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/803/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/803">#803</a></li>
</ul>
<p>Initial Languages:</p>
<ul>
<li>Chinese (Traditional) (68%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brisu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brisu">@brisu</a></li>
</ul>
</li>
<li>Dutch (35%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Pheubel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Pheubel">@Pheubel</a></li>
</ul>
</li>
<li>Filipino (43%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/searinminecraft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/searinminecraft">@searinminecraft</a></li>
</ul>
</li>
<li>French (100%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bamowen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bamowen">@Bamowen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alessdangelo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alessdangelo">@alessdangelo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kitsumed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kitsumed">@kitsumed</a>, Obscaeris</li>
</ul>
</li>
<li>German (98%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ryussei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ryussei">@Ryussei</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a>, Aaron M, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JoeJoeTV/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JoeJoeTV">@JoeJoeTV</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kurty00/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kurty00">@Kurty00</a></li>
</ul>
</li>
<li>Hungarian (100%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/smileyhead/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/smileyhead">@smileyhead</a></li>
</ul>
</li>
<li>Norwegian Bokmål (16%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/comradekingu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/comradekingu">@comradekingu</a></li>
</ul>
</li>
<li>Polish (97%)
<ul>
<li>Anonymous</li>
</ul>
</li>
<li>Portuguese (Brazil) (64%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LoboMetalurgico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LoboMetalurgico">@LoboMetalurgico</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SpaceFox1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SpaceFox1">@SpaceFox1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DaviMarquezeli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DaviMarquezeli">@DaviMarquezeli</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/viniciushelder/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/viniciushelder">@viniciushelder</a>, Alexander Lennart Formiga Johnsson</li>
</ul>
</li>
<li>Russian (22%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/The-Stolas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/The-Stolas">@The-Stolas</a></li>
</ul>
</li>
<li>Spanish (57%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gallegonovato/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gallegonovato">@gallegonovato</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nginearing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nginearing">@Nginearing</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/noceno/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/noceno">@noceno</a></li>
</ul>
</li>
<li>Swedish (24%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adampawelec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adampawelec">@adampawelec</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mashed5894/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mashed5894">@mashed5894</a></li>
</ul>
</li>
<li>Tamil (22%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a></li>
</ul>
</li>
<li>Toki Pona (32%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/goldstargloww/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/goldstargloww">@goldstargloww</a></li>
</ul>
</li>
<li>Turkish (22%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nyghl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nyghl">@Nyghl</a></li>
</ul>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>feat: about section by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mashed5894/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mashed5894">@mashed5894</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2797103881" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/712" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/712/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/712">#712</a></li>
<li>feat(ui): add configurable splash screens by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2788646781" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/703" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/703/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/703">#703</a></li>
<li>feat(ui): show filenames in thumbnail grid by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2729660487" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/633" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/633/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/633">#633</a></li>
<li>feat(about): clickable links to docs/discord/etc in about modal by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2846422937" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/799" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/799/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/799">#799</a></li>
</ul>
<h2>Fixed</h2>
<ul>
<li>fix(ui): display all tags in panel during empty search by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/samuellieberman/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/samuellieberman">@samuellieberman</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2421808709" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/328" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/328/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/328">#328</a></li>
<li>fix: avoid <code>KeyError</code> in <code>add_folders_to_tree()</code> (fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2458444828" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/346" data-hovercard-type="issue" data-hovercard-url="/TagStudioDev/TagStudio/issues/346/hovercard" href="https://github.com/TagStudioDev/TagStudio/issues/346">#346</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2458577136" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/347" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/347/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/347">#347</a></li>
<li>fix: error on closing library by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yedpodtrzitko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yedpodtrzitko">@yedpodtrzitko</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2515165368" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/484" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/484/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/484">#484</a></li>
<li>fix: resolution info <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2598697082" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/550" data-hovercard-type="issue" data-hovercard-url="/TagStudioDev/TagStudio/issues/550/hovercard" href="https://github.com/TagStudioDev/TagStudio/issues/550">#550</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Roc25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Roc25">@Roc25</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2598937323" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/551" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/551/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/551">#551</a></li>
<li>fix: remove queued thumnail jobs when closing library by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yedpodtrzitko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yedpodtrzitko">@yedpodtrzitko</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2651140019" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/583" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/583/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/583">#583</a></li>
<li>fix: use absolute ffprobe path on macos (Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2531723542" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/511" data-hovercard-type="issue" data-hovercard-url="/TagStudioDev/TagStudio/issues/511/hovercard" href="https://github.com/TagStudioDev/TagStudio/issues/511">#511</a>) by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2719091445" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/629" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/629/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/629">#629</a></li>
<li>fix(ui): prevent duplicate parent tags in UI by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2756005151" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/665" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/665/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/665">#665</a></li>
<li>fix: fix -o flag not working if path has whitespace around it by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/python357-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/python357-1">@python357-1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2757313437" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/670" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/670/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/670">#670</a></li>
<li>fix: better file opening compatibility with non-ascii filenames by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2756934577" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/667" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/667/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/667">#667</a></li>
<li>fix: restore environment before launching external programs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mashed5894/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mashed5894">@mashed5894</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2792658788" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/707" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/707/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/707">#707</a></li>
<li>fix: have pydub use known ffmpeg + ffprobe locations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2807817334" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/724" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/724/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/724">#724</a></li>
<li>fix: add ".DS_Store" to <code>GLOBAL_IGNORE_SET</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/b72a2f233141db4db6aa6be8796b626ebd3f0756/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/b72a2f233141db4db6aa6be8796b626ebd3f0756"><tt>b72a2f2</tt></a></li>
<li>fix: don't add "._" files to libraries by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/eb1f634d386cd8a5ecee1e6ff6a0b7d8811550fa/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/eb1f634d386cd8a5ecee1e6ff6a0b7d8811550fa"><tt>eb1f634</tt></a></li>
</ul>
<h2>Changed</h2>
<h3>SQLite Save File Format</h3>
<p>This was the main focus of this update, and where the majority of development time and resources have been spent since v9.4. These changes include everything that was done to migrate from the JSON format to SQLite starting from the initial SQLite PR, while re-implementing every feature from v9.4 as the initial SQLite PR was based on v9.3.x at the time.</p>
<ul>
<li>refactor!: use SQLite and SQLAlchemy for database backend by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yedpodtrzitko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yedpodtrzitko">@yedpodtrzitko</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2428899854" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/332" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/332/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/332">#332</a></li>
<li>feat: make search results more ergonomic by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yedpodtrzitko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yedpodtrzitko">@yedpodtrzitko</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2520196242" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/498" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/498/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/498">#498</a></li>
<li>feat: store <code>Entry</code> suffix separately by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yedpodtrzitko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yedpodtrzitko">@yedpodtrzitko</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2526006010" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/503" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/503/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/503">#503</a></li>
<li>feat: port thumbnail (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2484967763" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/390" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/390/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/390">#390</a>) and related features to v9.5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2541270537" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/522" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/522/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/522">#522</a></li>
<li>fix: don't check db version with new library by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yedpodtrzitko/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yedpodtrzitko">@yedpodtrzitko</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2571849173" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/536" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/536/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/536">#536</a></li>
<li>fix(ui): update ui when removing fields by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DandyDev01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DandyDev01">@DandyDev01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2610257545" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/560" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/560/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/560">#560</a></li>
<li>feat(parity): backend for aliases and parent tags by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DandyDev01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DandyDev01">@DandyDev01</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2674438092" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/596" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/596/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/596">#596</a></li>
<li>fix: "open in explorer" opens correct folder by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KirilBourakov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KirilBourakov">@KirilBourakov</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2686866509" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/603" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/603/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/603">#603</a></li>
<li>fix: ui/ux parity fixes for thumbnails and files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2701196779" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/608" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/608/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/608">#608</a></li>
<li>feat(parity): migrate json libraries to sqlite by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2688647564" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/604" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/604/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/604">#604</a></li>
<li>fix: clear all setting values when opening a library by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2710948372" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/622" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/622/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/622">#622</a></li>
<li>fix: remove/rework windows path tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2714265366" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/625" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/625/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/625">#625</a></li>
<li>fix: add check to see if library is loaded in filter_items by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Roc25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Roc25">@Roc25</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2597376007" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/547" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/547/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/547">#547</a></li>
<li>fix: multiple macro errors by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2705550512" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/612" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/612/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/612">#612</a></li>
<li>fix: don't allow blank tag alias values in db by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2718704821" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/628" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/628/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/628">#628</a></li>
<li>feat: Reimplement drag drop files on sql migration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/seakrueger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/seakrueger">@seakrueger</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2554488317" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/528" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/528/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/528">#528</a></li>
<li>fix: stop sqlite db from being updated while running tests by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/python357-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/python357-1">@python357-1</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2743690377" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/648" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/648/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/648">#648</a></li>
<li>fix: enter/return adds top result tag by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2753662064" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/651" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/651/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/651">#651</a></li>
<li>fix: show correct unlinked files count by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2753978271" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/653" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/653/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/653">#653</a></li>
<li>feat: implement parent tag search by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2761789334" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/673" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/673/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/673">#673</a></li>
<li>fix: only close add tag menu with no search by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2769447266" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/685" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/685/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/685">#685</a></li>
<li>fix: drag and drop no longer resets by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2796431374" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/710" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/710/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/710">#710</a></li>
<li>feat(ui): port "create and add tag" to main branch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2796913658" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/711" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/711/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/711">#711</a></li>
<li>fix: don't add default title field, use proper phrasing for adding files by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2785749375" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/701" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/701/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/701">#701</a></li>
<li>fix: preview panel + main window fixes and optimizations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2785639429" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/700" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/700/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/700">#700</a></li>
<li>fix: sort tag results by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mashed5894/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mashed5894">@mashed5894</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2805778646" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/721" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/721/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/721">#721</a></li>
<li>fix: restore opening last library on startup by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2810402143" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/729" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/729/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/729">#729</a></li>
<li>fix(ui): don't always create tag on enter by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2810492558" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/731" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/731/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/731">#731</a></li>
<li>fix: use tag aliases in tag search by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2808140966" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/726" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/726/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/726">#726</a></li>
<li>fix: keep initial id order in <code>get_entries_full()</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2811399201" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/736" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/736/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/736">#736</a></li>
<li>fix: always catch db mismatch by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2811454590" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/738" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/738/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/738">#738</a></li>
<li>fix: relink unlinked entry to existing entry without sql error by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mashed5894/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mashed5894">@mashed5894</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2810462026" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/730" data-hovercard-type="issue" data-hovercard-url="/TagStudioDev/TagStudio/issues/730/hovercard" href="https://github.com/TagStudioDev/TagStudio/issues/730">#730</a></li>
<li>fix: refactor and fix bugs with missing_files.py by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2814865759" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/739" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/739/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/739">#739</a></li>
<li>fix: dragging files references correct entry IDs <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/44ff17c0b3f05570e356c112f005dbc14c7cc05d/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/44ff17c0b3f05570e356c112f005dbc14c7cc05d"><tt>44ff17c</tt></a></li>
<li>ui: port splash screen from Alpha-v9.4 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/af760ee61a523c84bab0fb03a68d7465866d0e05/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/af760ee61a523c84bab0fb03a68d7465866d0e05"><tt>af760ee</tt></a></li>
<li>fix: tags created from tag database now add aliases by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/2903dd22c45c02498687073d075bb88886de6b62/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/2903dd22c45c02498687073d075bb88886de6b62"><tt>2903dd2</tt></a></li>
<li>fix: check for tag name parity during JSON migration by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2819674461" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/748" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/748/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/748">#748</a></li>
<li>feat(ui): re-implement tag display names on sql by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2819635520" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/747" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/747/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/747">#747</a></li>
<li>fix(ui): restore Windows accent color on PySide 6.8.0.1 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2822526693" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/755" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/755/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/755">#755</a></li>
<li>fix(ui): (mostly) fix right-click search option on tags by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2822670966" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/756" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/756/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/756">#756</a></li>
<li>feat: copy/paste fields and tags by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mashed5894/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mashed5894">@mashed5894</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2807493657" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/722" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/722/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/722">#722</a></li>
<li>perf: optimize query methods and reduce preview panel updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2836458934" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/794" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/794/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/794">#794</a></li>
<li>feat: port file trashing (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2490616613" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/409" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/409/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/409">#409</a>) to v9.5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2831580175" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/792" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/792/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/792">#792</a></li>
<li>fix: prevent future library versions from being opened by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/bcf3b2f96bc8b876ca4b0c1d1882ce14a190f249/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/bcf3b2f96bc8b876ca4b0c1d1882ce14a190f249"><tt>bcf3b2f</tt></a></li>
</ul>
<h3>UI/UX</h3>
<ul>
<li>feat(ui): pre-select default tag name in <code>BuildTagPanel</code> by @Cool-Game-Dev in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2666774663" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/592" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/592/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/592">#592</a></li>
<li>feat(ui): keyboard navigation for editing tags by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2489342653" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/407" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/407/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/407">#407</a></li>
<li>feat(ui): use tag query as default new tag name by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/29c0dfdb2d88e8f473e27c7f1fe7ede6e5bd0feb/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/29c0dfdb2d88e8f473e27c7f1fe7ede6e5bd0feb"><tt>29c0dfd</tt></a></li>
<li>feat(ui): shortcut to add tags to selected entries; change click behavior of tags to edit by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2819902405" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/749" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/749/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/749">#749</a></li>
<li>fix(ui): use consistent dark mode colors for all systems by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2822034822" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/752" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/752/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/752">#752</a></li>
<li>fix(ui): use camera white balance for raw images by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/6ee5304b52f217af0f5df543fcb389649203d6b2/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/6ee5304b52f217af0f5df543fcb389649203d6b2"><tt>6ee5304</tt></a></li>
<li>Mixed field editing has been limited due to various bugs in both the JSON and SQL implementations. This will be re-implemented in a future release.</li>
<li>fix(ui): improve tagging ux by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2729660487" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/633" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/633/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/633">#633</a></li>
<li>fix(ui): hide library actions when no library is open by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2829129889" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/787" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/787/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/787">#787</a></li>
<li>refactor(ui): recycle tag list in TagSearchPanel by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2829314420" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/788" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/788/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/788">#788</a>
<ul>
<li>feat(ui): add tag view limit dropdown</li>
</ul>
</li>
<li>fix(ui): expand usage of esc and enter for modals by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2834107785" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/793" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/793/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/793">#793</a></li>
</ul>
<h3>Performance</h3>
<ul>
<li>feat: improve performance of "Delete Missing Entries" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Toby222/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Toby222">@Toby222</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2782061913" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/696" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/696/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/696">#696</a></li>
</ul>
<h3>Internal Changes</h3>
<ul>
<li>refactor: combine open launch args by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/UnusualEgg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/UnusualEgg">@UnusualEgg</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2480638149" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/364" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/364/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/364">#364</a></li>
<li>feat: add date_created, date_modified, and date_added columns to entries table by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2815124030" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/740" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/740/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/740">#740</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/UnusualEgg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/UnusualEgg">@UnusualEgg</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2480638149" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/364" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/364/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/364">#364</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zierf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zierf">@zierf</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2496220479" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/418" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/418/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/418">#418</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/floogulinc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/floogulinc">@floogulinc</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2510067249" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/460" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/460/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/460">#460</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CarterPillow/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CarterPillow">@CarterPillow</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2511638119" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/467" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/467/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/467">#467</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Kn4ughty/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Kn4ughty">@Kn4ughty</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2509023820" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/452" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/452/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/452">#452</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bamowen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bamowen">@Bamowen</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2512488270" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/474" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/474/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/474">#474</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Tyrannicodin/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Tyrannicodin">@Tyrannicodin</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2514772338" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/481" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/481/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/481">#481</a></li>
<li>@FB100 made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2519916972" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/496" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/496/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/496">#496</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/weblate/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/weblate">@weblate</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2551970947" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/526" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/526/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/526">#526</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Hissymaster/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Hissymaster">@Hissymaster</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2620028744" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/564" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/564/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/564">#564</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Roc25/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Roc25">@Roc25</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2598937323" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/551" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/551/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/551">#551</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/python357-1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/python357-1">@python357-1</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2643099421" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/581" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/581/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/581">#581</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jakehurst/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jakehurst">@jakehurst</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2667080690" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/594" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/594/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/594">#594</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DandyDev01/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DandyDev01">@DandyDev01</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2610257545" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/560" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/560/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/560">#560</a></li>
<li>@Cool-Game-Dev made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2666774663" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/592" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/592/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/592">#592</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KirilBourakov/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KirilBourakov">@KirilBourakov</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2686866509" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/603" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/603/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/603">#603</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/csponge/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/csponge">@csponge</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2636898205" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/576" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/576/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/576">#576</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2710948372" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/622" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/622/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/622">#622</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2753662064" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/651" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/651/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/651">#651</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nginearing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nginearing">@Nginearing</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2764759592" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/676" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/676/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/676">#676</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mashed5894/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mashed5894">@mashed5894</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2797103881" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/712" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/712/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/712">#712</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pinheadtf2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pinheadtf2">@pinheadtf2</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2824965766" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/760" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/760/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/760">#760</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ChloeZamorano/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ChloeZamorano">@ChloeZamorano</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2831506080" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/791" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/791/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/791">#791</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sinbadthepoet/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sinbadthepoet">@sinbadthepoet</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2859327817" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/806" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/806/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/806">#806</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/TagStudioDev/TagStudio/compare/v9.3.2...v9.5.0"><tt>v9.3.2...v9.5.0</tt></a></p>CyanVoxeltag:github.com,2008:Repository/787908531/v9.5.0-pr42025-02-23T22:41:12ZAlpha v9.5.0 Pre-Release 4<div class="markdown-alert markdown-alert-warning"><p class="markdown-alert-title"><svg class="octicon octicon-alert mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>Warning</p><p>There's a <a href="https://github.com/TagStudioDev/TagStudio/issues/813" data-hovercard-type="issue" data-hovercard-url="/TagStudioDev/TagStudio/issues/813/hovercard">known bug</a> where libraries last opened in v9.5.0 Pre-Release 1 can not be opened in this pre-release. This has already been <a href="https://github.com/TagStudioDev/TagStudio/pull/815" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/815/hovercard">addressed</a> for the next release, and in the meantime you can get around this by opening a library last opened in PR1 with either PR2 or PR3 before attempting to open it in PR4.</p>
</div>
<p>For the final Pre-Release before v9.5.0, the remainder of the slated features are here along with a few fixes!</p>
<h2>Added</h2>
<h3>Custom User-Created Tag Colors (<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2854932159" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/801" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/801/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/801">#801</a>)</h3>
<p>Create your own custom tag colors via the new Tag Color Manager! Tag colors are assigned a namespace (group) and include a name, primary color, and optional secondary color. By default the secondary color is used for the tag text color, but this can also be toggled to apply to the border color as well!</p>
<p><a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/413668576-b591f1fe-1c44-4d82-b6e5-d166590aeab1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTM2Njg1NzYtYjU5MWYxZmUtMWM0NC00ZDgyLWI2ZTUtZDE2NjU5MGFlYWIxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk4Njg0Yzk3ZGU1NzQ1MDQ1MDcxNGE3MTM5MjZmNzE0N2RiNDU1OTAyZDY2MjM5MDdmMzZiODY4NzlhYzg1N2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.NUDnFsFIUwFM6MmtIPWL59nflQPz7pIIiy04KqMg_m4"><img src="https://private-user-images.githubusercontent.com/46939827/413668576-b591f1fe-1c44-4d82-b6e5-d166590aeab1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTM2Njg1NzYtYjU5MWYxZmUtMWM0NC00ZDgyLWI2ZTUtZDE2NjU5MGFlYWIxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk4Njg0Yzk3ZGU1NzQ1MDQ1MDcxNGE3MTM5MjZmNzE0N2RiNDU1OTAyZDY2MjM5MDdmMzZiODY4NzlhYzg1N2YmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.NUDnFsFIUwFM6MmtIPWL59nflQPz7pIIiy04KqMg_m4" alt="Screenshot 2025-02-16 at 17 34 22" content-type-secured-asset="image/png" style="max-width: 100%;"></a></p>
<p><a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/413668612-96e81b08-6993-4a5e-96d0-3b05b50fbe44.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTM2Njg2MTItOTZlODFiMDgtNjk5My00YTVlLTk2ZDAtM2IwNWI1MGZiZTQ0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY4ZjRmOWQ4NGJjMjg3ODdiYzg0YjM1YTQ1NzExOTc4YWNhYTEwZTA5NGUzNTE5NmIxNDA4NWE5N2RjNmU5YTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.RUh2hTcs4VDPbkktFAqIozbVg9sOL4nXAlunSeVuudg"><img src="https://private-user-images.githubusercontent.com/46939827/413668612-96e81b08-6993-4a5e-96d0-3b05b50fbe44.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTM2Njg2MTItOTZlODFiMDgtNjk5My00YTVlLTk2ZDAtM2IwNWI1MGZiZTQ0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY4ZjRmOWQ4NGJjMjg3ODdiYzg0YjM1YTQ1NzExOTc4YWNhYTEwZTA5NGUzNTE5NmIxNDA4NWE5N2RjNmU5YTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.RUh2hTcs4VDPbkktFAqIozbVg9sOL4nXAlunSeVuudg" alt="Screenshot 2025-02-16 at 17 32 56" content-type-secured-asset="image/png" style="max-width: 100%;"></a></p>
<h3>Translations</h3>
<p>TagStudio now has official translation support! Head to the new settings panel and select from one of the initial languages included. Note that many languages currently have incomplete translations.</p>
<p>Translation hosting generously provided by <a href="https://weblate.org/en/" rel="nofollow">Weblate</a>. Check out our <a href="https://hosted.weblate.org/projects/tagstudio/" rel="nofollow">project page</a> to help translate TagStudio! Thank you to everyone who's helped contribute to the translations so far!</p>
<ul>
<li>translations: add string tokens for en.json by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bamowen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bamowen">@Bamowen</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2529475645" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/507" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/507/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/507">#507</a></li>
<li>feat: translations by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2755002157" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/662" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/662/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/662">#662</a></li>
<li>feat(ui): add language setting by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2856729298" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/803" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/803/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/803">#803</a></li>
</ul>
<p>Initial Languages:</p>
<ul>
<li>Chinese (Traditional) (68%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/brisu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/brisu">@brisu</a></li>
</ul>
</li>
<li>Dutch (35%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Pheubel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Pheubel">@Pheubel</a></li>
</ul>
</li>
<li>Filipino (15%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/searinminecraft/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/searinminecraft">@searinminecraft</a></li>
</ul>
</li>
<li>French (89%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Bamowen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Bamowen">@Bamowen</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/alessdangelo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/alessdangelo">@alessdangelo</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kitsumed/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kitsumed">@kitsumed</a>, Obscaeris</li>
</ul>
</li>
<li>German (73%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Ryussei/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Ryussei">@Ryussei</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Computerdores/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Computerdores">@Computerdores</a>, Aaron M</li>
</ul>
</li>
<li>Hungarian (89%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/smileyhead/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/smileyhead">@smileyhead</a></li>
</ul>
</li>
<li>Norwegian Bokmål (16%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/comradekingu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/comradekingu">@comradekingu</a></li>
</ul>
</li>
<li>Polish (76%)
<ul>
<li>Anonymous</li>
</ul>
</li>
<li>Portuguese (Brazil) (22%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/LoboMetalurgico/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/LoboMetalurgico">@LoboMetalurgico</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SpaceFox1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SpaceFox1">@SpaceFox1</a></li>
</ul>
</li>
<li>Russian (22%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/The-Stolas/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/The-Stolas">@The-Stolas</a></li>
</ul>
</li>
<li>Spanish (46%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gallegonovato/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gallegonovato">@gallegonovato</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nginearing/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nginearing">@Nginearing</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/noceno/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/noceno">@noceno</a></li>
</ul>
</li>
<li>Swedish (24%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adampawelec/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adampawelec">@adampawelec</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mashed5894/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mashed5894">@mashed5894</a></li>
</ul>
</li>
<li>Tamil (22%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/VasigaranAndAngel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/VasigaranAndAngel">@VasigaranAndAngel</a></li>
</ul>
</li>
<li>Toki Pona (32%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/goldstargloww/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/goldstargloww">@goldstargloww</a></li>
</ul>
</li>
<li>Turkish (22%)
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Nyghl/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Nyghl">@Nyghl</a></li>
</ul>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>feat(about): clickable links to docs/discord/etc in about modal by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2846422937" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/799" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/799/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/799">#799</a></li>
</ul>
<h3>Internal Changes</h3>
<p>This release increases the internal <code>DB_VERSION</code> to 8. Libraries created with this version of TagStudio can still be opened in earlier v9.5.0 pre-release versions, however the behavior of custom color borders will not be identical to the behavior in this PR. Otherwise it should still be possible to use any custom colors created in this version in these earlier pre-releases (but not really recommended).</p>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/TagStudioDev/TagStudio/compare/v9.5.0-pr3...v9.5.0-pr4"><tt>v9.5.0-pr3...v9.5.0-pr4</tt></a></p>CyanVoxeltag:github.com,2008:Repository/787908531/v9.5.0-pr32025-02-10T19:34:20ZAlpha v9.5.0 Pre-Release 3<h2>Added</h2>
<h4><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2816772349" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/743" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/743/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/743">#743</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a></h4>
<p>Added "Smartcase" and Globless Path Search</p>
<ul>
<li>
<p><code>path: temp</code>: Returns all paths that have "temp" <strong>(Case insensitive)</strong> somewhere in the name.</p>
</li>
<li>
<p><code>path: Temp</code>: Returns all paths that have "Temp" <strong>(Case sensitive)</strong> somewhere in the name.</p>
</li>
</ul>
<p>Glob Patterns w/ Smartcase</p>
<ul>
<li>
<p><code>path: *temp*</code>: Returns all paths that have "temp" <strong>(Case insensitive)</strong> somewhere in the name.</p>
</li>
<li>
<p><code>path: *Temp*</code>: Returns all paths that have "Temp" <strong>(Case sensitive)</strong> somewhere in the name.</p>
</li>
<li>
<p><code>path: temp*</code>: Returns all paths that start with "temp" <strong>(Case insensitive)</strong> somewhere in the name.</p>
</li>
<li>
<p><code>path: Temp*</code>: Returns all paths that start with "Temp" <strong>(Case sensitive)</strong> somewhere in the name.</p>
</li>
<li>
<p><code>path: *temp</code>: Returns all paths that end with "temp" <strong>(Case insensitive)</strong> somewhere in the name.</p>
</li>
<li>
<p><code>path: *TEmP</code>: Returns all paths that end with "TEmP" <strong>(Case sensitive)</strong> somewhere in the name.</p>
</li>
</ul>
<h4><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2829314420" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/788" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/788/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/788">#788</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a></h4>
<ul>
<li>Added a "View Limit" dropdown to tag search boxes to limit the number of on-screen tags. Previously this limit was hardcoded to 100, but now options range from 25 to unlimited.<br>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/46939827/411701461-7f7da065-888d-4fe5-a4e7-f99447bcce98.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTE3MDE0NjEtN2Y3ZGEwNjUtODg4ZC00ZmU1LWE0ZTctZjk5NDQ3YmNjZTk4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRmMjEzZjg2MTllMjE2MjIxODZhMGVmNzEzOTJmMDA2YTExZDYyMmU2ZDNiMjdjMDYxNjdiYTk0OTlmNjE4MjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.V0WHzfrIMg26lwskaJFQoy9iuyhPPZKEGwaycZXxCVw"><img width="350" src="https://private-user-images.githubusercontent.com/46939827/411701461-7f7da065-888d-4fe5-a4e7-f99447bcce98.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxMjI4NTAsIm5iZiI6MTc3NDEyMjU1MCwicGF0aCI6Ii80NjkzOTgyNy80MTE3MDE0NjEtN2Y3ZGEwNjUtODg4ZC00ZmU1LWE0ZTctZjk5NDQ3YmNjZTk4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIxVDE5NDkxMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRmMjEzZjg2MTllMjE2MjIxODZhMGVmNzEzOTJmMDA2YTExZDYyMmU2ZDNiMjdjMDYxNjdiYTk0OTlmNjE4MjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.V0WHzfrIMg26lwskaJFQoy9iuyhPPZKEGwaycZXxCVw" content-type-secured-asset="image/png" style="max-width: 100%;"></a></li>
</ul>
<h2>Changed</h2>
<ul>
<li>fix(ui): expand usage of esc and enter for modals by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2834107785" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/793" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/793/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/793">#793</a></li>
<li>perf: optimize query methods and reduce preview panel updates by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2836458934" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/794" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/794/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/794">#794</a></li>
</ul>
<h4><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2829314420" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/788" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/788/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/788">#788</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a></h4>
<ul>
<li>Improved performance of tag search boxes, including the tag manager</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>fix(ui): hide library actions when no library is open by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2829129889" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/787" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/787/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/787">#787</a></li>
<li>feat: port file trashing (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2490616613" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/409" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/409/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/409">#409</a>) to v9.5 by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2831580175" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/792" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/792/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/792">#792</a></li>
</ul>
<h2>Docs</h2>
<ul>
<li>Added references to alternative POSIX shells, as well as pyenv to CONTRIBUTING.md by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ChloeZamorano/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ChloeZamorano">@ChloeZamorano</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2831506080" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/791" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/791/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/791">#791</a></li>
</ul>
<h2>Still coming in v9.5.0</h2>
<p>The following features and fixes are still to come in either the next pre-release or the full v9.5.0 release:</p>
<ul>
<li>User-created tag colors</li>
<li>In-app option to select language</li>
<li>Fix for back/next button states</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ChloeZamorano/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ChloeZamorano">@ChloeZamorano</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2831506080" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/791" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/791/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/791">#791</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/TagStudioDev/TagStudio/compare/v9.5.0-pr2...v9.5.0-pr3"><tt>v9.5.0-pr2...v9.5.0-pr3</tt></a></p>CyanVoxeltag:github.com,2008:Repository/787908531/v9.5.0-pr22025-02-04T02:15:43ZAlpha v9.5.0 Pre-Release 2<p>Thank you all for the kind response to the first v9.5 Pre-Release! This patch includes several bugfixes and UX improvements to the tagging workflow.</p>
<p><em>Note: Libraries created or converted with PR1 will still open as usual in PR2, however libraries opened in PR2 cannot be opened in PR1 and below.</em></p>
<h2>Added</h2>
<h4><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826600721" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/784" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/784/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/784">#784</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a></h4>
<ul>
<li>Add <kbd>Ctrl</kbd>+<kbd>M</kbd> shortcut to open the "Tag Manager"</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>fix: don't wrap field names too early by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/2215403201e3b416a43ead0a322688180af6d71b/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/2215403201e3b416a43ead0a322688180af6d71b"><tt>2215403</tt></a> and <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/90a826d12804b3386a0b9003abb20f23f88ab3be/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/90a826d12804b3386a0b9003abb20f23f88ab3be"><tt>90a826d</tt></a></li>
<li>fix: save all tag attributes from "Create & Add" modal by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2825298112" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/762" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/762/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/762">#762</a></li>
<li>fix: allow tag names with colons in search by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2825412546" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/765" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/765/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/765">#765</a></li>
<li>fix: catch <code>ParsingError</code> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826102715" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/779" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/779/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/779">#779</a></li>
<li>fix: patch incorrect description type & invalid disambiguation_id refs by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826256331" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/782" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/782/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/782">#782</a></li>
</ul>
<h4><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826600721" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/784" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/784/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/784">#784</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a></h4>
<ul>
<li>Reset tag search box and focus each time a tag search panel is opened</li>
<li>Include tag parents in tag search results (v9.4 parity)</li>
<li>Lowercase tag names now get properly sorted with uppercase ones</li>
<li>Don't include tag display names in "closeness" factor when searching</li>
<li>Escape "&" characters inside tag names so Qt doesn't treat them as mnemonics</li>
<li>Set minimum tag width</li>
<li>Fix "Add Tags" panel missing its window title when accessing from the keyboard shortcut</li>
</ul>
<h2>Changed</h2>
<h4><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826600721" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/784" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/784/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/784">#784</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a></h4>
<ul>
<li>The "use for disambiguation" button has been moved to the right-hand side of parent tags in order to prevent accidental clicks involving the left-hand "remove tag" button</li>
<li>Add "Create & Add" button to the bottom of all non-whitespace searches, even if they return some tags</li>
<li>The awkward "+" button next to tags in the "Add Tags" panel has been removed in favor of clicking on tags themselves</li>
<li>Improved visual feedback for highlighting, keyboard focusing, and clicking tags</li>
<li>The clickable area of the "-" button on tags has been increased and has visual feedback when you hover and click it</li>
<li>You can now tab into the tag search list and add tags with a spacebar press (previously possible but very janky)</li>
<li>In tag search panels, pressing the <kbd>Esc</kbd> key will return your focus to the search bar and highlight your previous query. If the search box is already highlighted, pressing <kbd>Esc</kbd> will close the modal</li>
<li>In modals such as the "Add Tag" and "Edit Tag" panels, pressing <kbd>Esc</kbd> will cancel the operation and close the modal</li>
</ul>
<h2>Internal Changes</h2>
<ul>
<li>refactor: wrap migration_iterator lambda in a try/except block by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2825996345" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/773" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/773/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/773">#773</a></li>
</ul>
<h2>Docs</h2>
<ul>
<li>docs: update field and library pages by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/f5ff4d78c1ad53134e9c64698886aee68c0f1dc1/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/f5ff4d78c1ad53134e9c64698886aee68c0f1dc1"><tt>f5ff4d7</tt></a></li>
<li>docs: add information about "tag manager" by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/9bdbafa40c4274922f6533b5b5fcee9a4fe43030/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/9bdbafa40c4274922f6533b5b5fcee9a4fe43030"><tt>9bdbafa</tt></a></li>
<li>docs: add note about glob searching in the readme by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/6e402ac34d2d60e71fbd36ad234fe3914d5eb8e0/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/6e402ac34d2d60e71fbd36ad234fe3914d5eb8e0"><tt>6e402ac</tt></a></li>
<li>docs: add library_search page by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/5be7dfc314b21042c18b2f08893f2b452d12394a/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/5be7dfc314b21042c18b2f08893f2b452d12394a"><tt>5be7dfc</tt></a></li>
<li>docs: docs: add more links to index.md by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/CyanVoxel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/CyanVoxel">@CyanVoxel</a> in <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/TagStudioDev/TagStudio/commit/d7958892b7762586837204d686a6a2a993e3c26e/hovercard" href="https://github.com/TagStudioDev/TagStudio/commit/d7958892b7762586837204d686a6a2a993e3c26e"><tt>d795889</tt></a></li>
<li>docs: fix typo for "category" in usage.md by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pinheadtf2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pinheadtf2">@pinheadtf2</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2824965766" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/760" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/760/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/760">#760</a></li>
<li>fix(docs): fix screenshot sometimes not rendering by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/SkeleyM/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/SkeleyM">@SkeleyM</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2826020036" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/775" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/775/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/775">#775</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pinheadtf2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pinheadtf2">@pinheadtf2</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2824965766" data-permission-text="Title is private" data-url="https://github.com/TagStudioDev/TagStudio/issues/760" data-hovercard-type="pull_request" data-hovercard-url="/TagStudioDev/TagStudio/pull/760/hovercard" href="https://github.com/TagStudioDev/TagStudio/pull/760">#760</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/TagStudioDev/TagStudio/compare/v9.5.0-pr1...v9.5.0-pr2"><tt>v9.5.0-pr1...v9.5.0-pr2</tt></a></p>CyanVoxel