This update includes a way to selectively hide tags from appearing under any inherited categories, new ⓘ info buttons in the tag editor with explanations and examples of complex features, more QoL settings for the tag and field bars, a new changelog window, and several internal changes and bugfixes.
This will likely be the last small update before 9.7.0 (unless critical bugfixes are needed), which has been developed simultaneously and will include several major improvements and changes when it releases in a few weeks.
Thank you for continuing to use and support TagStudio!
Added
- feat: add per-tag category display options by @Sola-ris in #1470
- fix(ui): show a tag that's a category under its own visibility section by @CyanVoxel in #1526
- feat(ui): relayout tag editor and add info popover buttons by @CyanVoxel in #1521
- feat(ui): add more qol settings to tag and field bars by @CyanVoxel in #1513
- feat(ui): add changelog window by @CyanVoxel in #1517
Changed
- feat(ui): improve library opening error messages and correct behavior by @CyanVoxel in #1516
Internal Changes
- refactor(migrations): better library decoupling by @Computerdores in #1482
- refactor!: organize project layout by @CyanVoxel in #1483
- build: bump python version to 3.14 by @CyanVoxel in #1485
- refactor: media types rework, dynamically load preview renderers by @CyanVoxel in #1498
- refactor(migrations): sqlalchemy be gone by @Computerdores in #1499
- refactor(ui): refactor BuildTagPanel to use MVC (now EditTagPanel) by @CyanVoxel in #1519
- refactor(ui): merge various tag/tag-like widgets into single Capsule widget by @CyanVoxel in #1520
- fix(ui): adjust tag text baseline for different systems by @CyanVoxel in b69b469
- fix(dev): add reuse linter by @xarvex in c33455b
- fix(nix/package): update package and dependencies, temporarily ignore tests by @xarvex in 55b033e
Translations
- Dutch updated by @FlannyH, @Pheubel
- French updated by @kitsumed
- Hungarian updated by @smileyhead
Fixed
- fix: fix json migration UI and tests by @CyanVoxel in #1484
- fix(ui): only update inspector once per thumbnail click by @CyanVoxel in #1487
- fix: prevent segfaults after progress bar tasks by @CyanVoxel in #1490
- fix: escape filename in glob matching while relinking entries by @CyanVoxel in #1492
- fix: fix exceptions in folders to tags by @Huluk in #1497
- fix: update blender_thumbnailer.py to read Blender 5.x files by @050011-code in #1481
- fix(ui): don't refresh page after cancelling file deletion by @CyanVoxel in #1512
- fix(ui): shrink selection to normally clicked item by @CyanVoxel in #1515
- fix: unblock migrations of v9.5.6 libraries that somehow got v9.6.2 tables by @CyanVoxel in #1518
- fix(ui): use correct max count for search panels by @CyanVoxel in #1524
- fix: use copyfile() instead of copy2() by @CyanVoxel in 6a06e3e
- Fixes an issue with the
.ts_ignorefile on Nix
- Fixes an issue with the
New Contributors
Full Changelog: v9.6.3...v9.6.4


