Releases: TagStudioDev/TagStudio
Release list
Alpha v9.6.4
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
Alpha v9.6.3
This update includes some critical library bugfixes along with a handful QoL tweaks and additions to the tag/field search bars. The documentation on this feature has been updated to include the new improvements.
Added
- feat(ui): show library format version in "About" window by @CyanVoxel in 102cfdf
Tag and Field Bars
- feat(ui): keep tag/field search bars open by default (new setting) by @CyanVoxel in #1472
- feat(ui): translate vertical scrolling to horizontal scrolling in tag/field search bars by @CyanVoxel in #1473
- feat(ui): use tab and shift+tab to navigate tag/field search bars by @CyanVoxel in #1474
- feat(ui): add hint icons to tag/field search bars by @CyanVoxel in #1475
Changed
Internal Changes
- refactor: almost final migrations cleanup by @Computerdores in #1456
Translations
- French updated by @kitsumed
- Hebrew updated by @Tatrask
- Hungarian updated by @smileyhead
- Japanese updated by @coolzdaddy55-art
Fixed
- fix: fix being unable to create new colors by @CyanVoxel in dd00f4d
- fix(ui): increase spacing between color palettes by @CyanVoxel in 354c0a0
- fix: fix infinite loading in various refresh operations by @CyanVoxel in 3ce6555
- fix(ui): fix update popup showing after closing main window by @CyanVoxel in 30c8125
- fix(ui): fix accent color issues on Windows by @CyanVoxel in #1477
Full Changelog: v9.6.2...v9.6.3
Alpha v9.6.2
Added
- feat(thumbs): render
.ai(Adobe Illustrator) thumbnails by @purpletennisball in #1453
Changed
Tag & Field Search/Create Bars (by @CyanVoxel in #1451)
The tagging workflow has gotten a major overhaul! Clicking the "Add Tag" button or pressing Ctrl+T will now activate an inline tag search bar that you can also use to quickly create and apply new or existing tags! Creating new tags in an empty library is now as simple as clicking the "Add Tag" button, typing in the name of a tag you wish to create, and hitting Enter! The whole workflow was redone with both casual and power users in mind, and is entirely keyboard friendly. And fields have also gotten the same treatment!
You can read the brief feature overview below or read the updated documentation to see the full changes and features:
- Open tagging bar clicking "Add Tag" or using Ctrl+T
- Open field bar clicking "Add Field" or using Ctrl+L
- When searching, the underlined tag/field template will be added on Enter
- With no search results, a new tag or field template will be created on Enter and added to the selection
- Holding Shift while pressing Enter will force create a new tag/field template, regardless of the search results
- An option to always open an Edit window for new tags after creation is available by right-clicking the search bar or by going to the Settings (off by default)
- An option to always open an Edit window for field content after applying a template is available by right-clicking the search bar or by going to the Settings (on by default)
- Field templates are always edited after being created
- The classic tag search panel can be accessed from File -> Add Tag to Selected / Shift+Ctrl+T
Internal Changes
- refactor: split out sql migrations from library by @Computerdores in #1432
- refactor: remove dead folders table by @Computerdores in #1444
- ci(docs): migrate from mkdocs to properdocs by @CyanVoxel in #1459
- refactor(ui): refactor PanelModal and PanelWidget into MVC Modal, ModalView, and ModalContent classes by @CyanVoxel in #1454
- refactor(ui): apply new MVC guidelines to search panels by @CyanVoxel in #1461
- refactor: split ThumbRenderer class by @CyanVoxel in #1462
Translations
- French updated by @kitsumed
- Hungarian updated by @smileyhead
- Chinese (Simplified Han Script) updated by οΌοΌοΌ
- Spanish updated by @2004milenadiaz-source, @JulArr22
Fixed
- fix: thumbnail rendering for older pxd files by @purpletennisball in #1441
- fix: correctly display duration statistic in preview panel by @ludvig-sandh in #1421
- fix: fix new aliases not saving on new tags by @CyanVoxel in #1455
- fix: don't update media playback when adding tags from menu modal by @CyanVoxel in f52e0fa
Full Changelog: v9.6.1...v9.6.2
Alpha v9.6.1
Added
Changed
- feat(ui): organize settings into panels by @purpletennisball in #1425
- feat(ui): left click to edit tag in tag manager by @purpletennisball in #1416
Fixed
- fix: fix issues with updating tag aliases causing freezes by @CyanVoxel in #1412
- fix: make TagStudio python package executable by @Computerdores in #1414
- fix: use optimized SQL when selecting non-hidden entries by @racerand in #1240
- fix: fix ripgrep not being found in macOS builds by @CyanVoxel in #1427
- fix: remove invalid child_id relationships from tag_parents by @CyanVoxel in #1423
- fix(ui): fix "search for tag" function in tag manager by @CyanVoxel in #1411
- fix(ui): mouse down selects thumbnail instead of mouse up by @purpletennisball in #1420
- fix(ui): thumbnail grid not resizing to fill width by @TheBobBobs in #1433
Internal Changes
- fix(nix): add pyright to devshell by @Computerdores in #1415
- fix(deps): replace optional dependencies with dependency groups by @xarvex in #1435
- feat(ci)!: complete workflows revamp by @xarvex in #1437
Translations
- French updated by @kitsumed
- Hungarian updated by @smileyhead
- Russian updated by @romandobra
- Spanish updated by @JCC1998, @2004milenadiaz-source
New Contributors
Full Changelog: v9.6.0...v9.6.1
Alpha v9.6.0
Note
There was an issue publishing macOS x86 (Intel) builds for this release. We will have the issue resolved shortly.
Added
Customizable Fields
Fields are now fully customizable!
- The built-in list of fields (now referred to as "field templates") has been reduced to a list of handy essential templates that can be fully modified or deleted
- "Text Line" and "Text Box" field types have been combined into a single "Text" type with a "Multiline" option that can be configured on templates or toggled dynamically on existing text fields
- You can now create your own field templates in with custom names, types, and other options
- Fields applied to file entries can now have their names edited
- refactor!: uncouple fields from hard-coded values by @CyanVoxel in #1354
- fix: drop type_key column from text_fields and datetime_fields tables by @CyanVoxel in #1370
- feat: field template manager by @TrigamDev in #1374
- feat: add field template editor, editable field names by @CyanVoxel in #1396
Other Additions
- feat: add global setting to toggle refreshing when opening a library by @socalledtheraven in #1349
- feat: dismiss update notification, change missing ffmpeg popup to banner by @CyanVoxel in #1400
- feat: allow all raster images to be used as archive thumbnails by @Sola-ris in #1373
Fixed
- fix: fix update notification crash by @Sola-ris in #1278
- fix: correct ESCAPABLE_CHARS in query_lang tokenizer by @hieuit095 in #1334
- fix: empty ORLists now return false by @TheBobBobs in #1297
- fix: update thumb grid when adding tags from preview panel by @TheBobBobs in #1245
- fix: match against the correct path in the ignore registry by @TrigamDev in #1382
- fix: fix tag aliases by @CyanVoxel in #1399
- fix: fix faulty progress bars by @ludvig-sandh in #1293
- perf: optimize searching tags with DB indexes by @TheBobBobs in #1129
Changed
- ui: add v9.6 assets, update misc resources by @CyanVoxel in #1398
Internal Changes
- minor refactor: cleanup parameters of open_library and open_sqlite_library by @Computerdores in #1294
- refactor: sql migrations by @Computerdores in #1295
- fix: remove preferences table by @Computerdores in #1298
- doc: add REUSE license information by @Computerdores in #1361
- docs/chore: add .editorconfig and .prettierrc.toml configs by @CyanVoxel in #1362
- refactor(docs): uniform formatting pass by @CyanVoxel in #1363
- fix: pyright errors in ts_qt.py by @Computerdores in #1237
- fix(ci): address remaining pyright errors by @CyanVoxel in #1368
- ci: add pyright workflow by @Computerdores in #1232
- refactor(ci): remove mypy by @CyanVoxel in #1371
- chore(deps-dev): bump pytest from 8.3.5 to 9.0.3 by @dependabot[bot] in #1372
- doc(install): add common error message help text by @Computerdores in #1369
- chore(ci): bump ruff to 0.15.17 by @CyanVoxel in #1393
- fix(pyproject): allow Python 3.13 to function by @xarvex in #1047
Translations
- Amharic added by @Birhant (11%, can manually enable in settings file)
- Hebrew added by @JonathanGlixman (2%, can manually enable in settings file)
- French updated by @SodiumBismuth, @kitsumed
- Russian updated by @WerDei, @NikitaNik-of, @Dott-rus
- Hungarian updated by @smileyhead
- Japanese updated by wany-oh
- Italian updated by @EdelFlosWeiss
- Spanish updated by @JulArr22
- Toki Pona updated by Cyborus
- Viossa updated by @Nginearing
- Portuguese updated by ssantos
New Contributors
- @hieuit095 made their first contribution in #1334
- @socalledtheraven made their first contribution in #1349
- @ludvig-sandh made their first contribution in #1293
Full Changelog: v9.5.7...v9.6.0
Alpha v9.5.7
This update adds several bugfixes and additions that have been sitting on the main branch for quite some time.
Added
- feat: add hidden tags by @TrigamDev in #1139
- feat: render
.pdnthumbnails. by @Sola-ris in #1149 - feat: render
.mdpthumbnails. by @Sola-ris in #1153 - feat: update notification by @Computerdores in #1166
- feat: render
.clipthumbnails. by @Sola-ris in #1150 - feat: render archive thumbnails by @Sola-ris in #1194
Fixed
- fix: "Search for Tag" in Tag Manager executes multiple queries by @CallMeHein in #1173
- fix: 'Add Tag to Selected' action fails by @TrigamDev in #1224
- fix: escape dash in URL regex by @TrigamDev in #1255
- fix: running the 'Fix Ignored Entries' tool from the menu bar causes an error in the log by @TrigamDev in #1188
- fix: when deleting tag remove all TagParent rows with it's id by @TheBobBobs in #1250
- fix: remove entry even if deleting it's file failed by @TheBobBobs in #1246
- fix: tab order in build_tag modal by @Computerdores in #1235
- fix: prevent deadlock when wanted mnemonics conflict by @Computerdores in #1200
- fix: call ripgrep with explicit utf-8 encoding. by @Sola-ris in #1199
- fix: persist entry selection across pages and save scroll positions by @TheBobBobs in #1248
- fix: MacOS system theme fix (#999) by @terahidro2003 in #1328
- perf: Bulk insert/delete tag_entries by @TheBobBobs in #1296
Changed
Internal Changes
- fix(nix): replace wrapGAppsHook with wrapGAppsHook3 by @Ambossmann in #1189
- feat: add windows runner for pytest by @Sola-ris in #1201
- chore(thumb_renderer): bump Pillow by @xarvex in #1227
- fix(nix): add requests and semver to nix package by @Ambossmann in #1265
- fix: errors in DupeFilesRegistry by @Computerdores in #1233
- fix: pyright errors in blender_renderer.py by @Computerdores in #1236
Translations
- Cebuano added by @StartsMercury
- Chinese (Simpliflied Han Script) updated by @ngivanyh
- Chinese (Traditional Han Script) updated by @ngivanyh
- Dutch updated by @timomen
- French updated by @kitsumed
- Finnish updated by @JonneSaloranta
- German updated by @Dariton4000, @HerrChaos
- Greek updated by @Gvolexe
- Hungarian updated by @smileyhead
- Icelandic updated by @kristinnssig
- Italian updated by @EdelFlosWeiss
- Japanese updated by wany-oh
- Portugese (Brazil) updated by JosΓ© Victor, dmto dmto, @AsmodeumX
- Spanish updated by @JCC1998, @JulArr22, @r40s-0
- Swedish updated by @vimml
- Tamil updated by @TamilNeram
- Toki Pona updated by @Math-Bee, Star Athendwyl
New Contributors
- @Ambossmann made their first contribution in #1189
- @CallMeHein made their first contribution in #1173
- @terahidro2003 made their first contribution in #1328
Full Changelog: v9.5.6...v9.5.7
Alpha v9.5.6
Added
- feat: render .cb7 thumbnails. by @Sola-ris in #1118
- feat: add infinite scrolling, improve page performance by @TheBobBobs in #1119
Fixed
- fix: process ignore patterns for wcmatch in unlinked registry by @CyanVoxel in #1124
- fix: respect trailing slash patterns in glob by @CyanVoxel in #1127
- fix: always hide duration badge on non video ext by @TheBobBobs in #1134
- fix: update entry cache when toggling tags by @TheBobBobs in #1135
- fix: use absolute path for file opener by @TheBobBobs in #1136
- fix: toggle play only with left mouse button click by @csponge in #1152
- fix: Fix searching
A AND Areturning no results by @TrigamDev in #1138 - fix: add periodic yield to save_new_files by @TheBobBobs in #1040
Changed
Internal Changes
- fix: apply unwrap where necessary by @Computerdores in #1113
- fix: renderer type fixes by @Computerdores in #1114
Translations
- Dutch updated by @FlannyH
- French updated by @kitsumed
- Hungarian updated by @smileyhead
- Italian added and updated by @OmnipresentW
- Japanese updated by wany-oh
- Norwegian BokmΓ₯l updated by @Neemek
- Spanish updated by @jcc1999
Full Changelog: v9.5.5...v9.5.6
Alpha v9.5.5
This is a quick patch to squash some bugs, add a few new settings, and update translations.
Added
New Settings
- feat(ui): add thumbnail cache size setting to settings panel by @CyanVoxel in #1088
- feat: add cached thumbnail quality and resolution settings by @CyanVoxel in #1101
- Only available by editing the
cached_thumb_qualityandcached_thumb_resolutionoptions in thesettings.tomlconfig file
- Only available by editing the
- fix: add option to use old Windows 'start' command by @CyanVoxel in #1084
- Only available by editing the
windows_start_commandoption in thesettings.tomlfile - Fixes niche issue on Windows systems, see #1036
- Only available by editing the
- translations: add Czech, Portuguese (Portugal), and Romanian to settings panel (2db8bed)
File Previews
- feat: render .cbr thumbnails by @Sola-ris in #1112
- feat: render .cbt thumbnails by @Sola-ris in #1116
Fixed
- fix: JSON migration window getting stuck on finishing migration by @CyanVoxel in #1094
- fix: VTF files not rendering on Linux by @CyanVoxel in #1093
- fix: account for leading slash ignore pattern by @CyanVoxel in #1092
- fix: add option to use old Windows 'start' command by @CyanVoxel in #1084
- fix: always show first frame of video; autoplay will always play by @SumithSudheer and @CyanVoxel in #1104
- feat: read epub cover from ComicInfo.xml, if available. by @Sola-ris in #1109 and #1111
- fix: prevent mnemonic removal from removing escaped ampersands by @CyanVoxel in #1110
- fix: properly delete tag_parents row when deleting tag by @CyanVoxel in #1107
Changed
Translations
- French updated by @kitsumed , @RustyNova016
- Hungarian updated by @smileyhead
- Russian updated by @purpletennisball
- Spanish updated by @danpg94
- Toki Pona updated by @Math-Bee
Internal Changes
- refactor: untangle backend and frontend files by @CyanVoxel in #1095
- refactor: fix most pyright issues in
library/alchemy/by @CyanVoxel in #1103
New Contributors
- @SumithSudheer made their first contribution in #1104
- @Sola-ris made their first contribution in #1109
Full Changelog: v9.5.4...v9.5.5
Alpha v9.5.4
Added
.ts_ignore File and Folder Ignore System
The previous system for ignoring file extensions has been replaced by a new .gitignore-style pattern matching system. This uses a .ts_ignore file inside your library's .TagStudio 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 "Ignore Files" page on the documentation site.
Along with this system also comes the additional features:
- TagStudio can now traverse symlinks in your library folders
- TagStudio can now leverage ripgrep, a rust-based directory search tool, for faster library refreshing
- ripgrep must be installed on your system and able to be located by TagStudio
Pull Requests:
- feat: add
.ts_ignorepattern ignoring system by @CyanVoxel in #897 - feat: replace extension exclusion system with
.ts_ignoreby @CyanVoxel in #1046
Library Information Window
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.
Pull Requests:
- feat: add LibraryInfoWindow with library statistics by @CyanVoxel in #1056
- feat: add library cleanup screen and 'fix ignored files' window by @CyanVoxel in #1070
Other Additions
- feat: add random sorting by @TheBobBobs in #1029
- feat: add exr thumbnail support by @CyanVoxel in #1035
- feat: add thumbnail generation toggle by @ZwodahS in #1057
- feat: cli version argument by @HeikoWasTaken in #1060
- feat: add setting to select splash screen by @CyanVoxel in #1077
- Includes a new "'95" splash screen originally intended for the 9.5.0 release
Fixed
- fix: searching with internal tag ids ignores sorting order by @CyanVoxel in #1038
- fix: folders with names of unlinked entries are linked by @purpletennisball in #1027
- fix: parent tags in tag editor are uneditable by @purpletennisball in #1073
- feat: auto mnemonics by @Computerdores in #1082 and #1083
Changed
Performance
- perf: optimize sql for or queries by @TheBobBobs in #948
- perf: Optimize db queries for preview panel by @TheBobBobs in #942
- fix: add tags to selected entries in bulk not individually by @Computerdores in #1028
Translations
- Chinese (Traditional Han Script) by @tkiuvvv233
- French updated by @Bamowen, @kitsumed
- German updated by @Livesi5e
- Hungarian updated by @smileyhead
- Japanese updated by wany-oh
- Polish updated by @FeatherPrince
- Portuguese updated by @SantosSi
- Romanian updated by @VLTNOgithub
- Russian updated by @Dott-rus
- Spanish updated by @JCC1998
- Swedish updated by konto
Internal Changes
- feat: swap IDs in tag_parents table by @HeikoWasTaken in #998
- fix: swap parent and child logic for TAG_CHILDREN_QUERY by @CyanVoxel in #1064
- fix(nix): fixup and rework, always use nixpkgs PySide/Qt by @xarvex in #1048
- refactor: make cache_manager thread safe by @TheBobBobs in #1039
- ci(tests): fix broken tests and add type hints by @CyanVoxel in #1062
- refactor: store DB version inside
versionstable by @CyanVoxel in #1058 - refactor: unwrap instead of assert not None by @Computerdores in #1068
- chore(thumb_renderer): prepare for pillow_heif removing AVIF support by @xarvex in #1065
New Contributors
- @HeikoWasTaken made their first contribution in #998
- @ZwodahS made their first contribution in #1057
Full Changelog: v9.5.3...v9.5.4
Alpha v9.5.3
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 should 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!
- Travis (CyanVoxel)
Added
- Datetime fields by @Computerdores in #921, #946, and #926
- Add date_format and hour_format settings by @JCC1998 in #904
- Invert selection by @zfbx in #909
- Show stems for extension-less files by @CyanVoxel in #899
- Press enter when adding fields by @rsazra in #941
- Option to change tag click behavior by @Computerdores in #945
- Krita/Open Raster thumbnails by @mashed5894 in #985
- Zoom keyboard shortcuts by @purpletennisball in #956
- Clickable links in text fields by @TrigamDev in #924
Fixed
- Restore page navigation state by @Computerdores in #933
- Proper error on unterminated quoted string by @Computerdores in #936
- Creating new tag now refreshes the menu using the current search text by @purpletennisball in #939
- Preview thumbnails don't scale as large as they could by @Computerdores in #1005
- Add Nix path to FFmpeg locations on macOS by @thibmaek in #990
- Use srctools instead of vtf2img to render vtf files by @CyanVoxel in #1014
Changed
- Add parent tags to
folders_to_tagsmacro and start tagging at root folder by @rsazra in #940 - Optimize page loading by @TheBobBobs in #954
- Add arrow icons for navigation buttons by @CyanVoxel in #1016
- Tweak media player style and behavior by @CyanVoxel in #1025
Translations
- Added Chinese (Simplified Han Script)
- @tkiuvvv233, Luoyu, @ngivanyh
- Updated Dutch
- Updated Filipino
- Updated French
- Updated German
- Updated Hungarian
- Updated Japanese
- wany-oh
- Updated Norwegian BokmΓ₯l
- Updated Polish
- Updated Russian
- @Dott-rus, Utof, @maximmax42
- Updated Spanish
- Updated Tamil
- Updated Toki Pona
- Updated Viossa
Internal Changes
- refactor: type fixes and minor improvements to preview_thumb.py by @VasigaranAndAngel in #906
- fix(test): Fix tests to pass on windows without disrupting other platforms by @zfbx in #903
- chore(pyproject): version bumping/relaxing by @xarvex in #886
- fix: tests were overwriting the settings.toml by @Computerdores in #928
- fix(nix/package): override PySide6 if later version is being used by @xarvex in #917
- refactor: split QtDriver into View and Controller to follow MVC model by @Computerdores in #935
- refactor: resource_manager.py by @VasigaranAndAngel in #958
- Type fixes to folders_to_tags.py, collage_icon.py and item_thumb.py by @VasigaranAndAngel in #959
- Type fixes to preview_panel.py, progress.py, tag.py and tag_box.py by @VasigaranAndAngel in #961
- Type improvements to landing.py and panel.py by @VasigaranAndAngel in #960
- refactor(preview_panel): mvc split by @Computerdores in #952
- refactor(preview_thumb): mvc split by @Computerdores in #978
- refactor: type improvements for main_window.py by @VasigaranAndAngel in #957
- fix(library): get_tag_by_name by @Computerdores in #1006
- fix: ensure initial browsing state uses UI values by @CyanVoxel in #1008
- refactor(tag_box): mvc split by @Computerdores in #1003
- fix(ui): hide empty ProgressWidget cancel button by @CyanVoxel in #1011
- fix(ui): fix audio waveform generation on numpy 2.3 by @CyanVoxel in #1013
- refactor: replace remaining instances of logging with structlog by @CyanVoxel in #1012
- fix: don't fail when posix env var is not present by @Computerdores in #1018
- fix(ui): show correct thumb labels by @CyanVoxel in #1010
Documentation
- Update CHANGELOG.md by @Math-Bee in #914
- Add QT MVC structure to style guide by @Computerdores in #950
- Fix wrong date on Changelog by @ugurozturk in #966
New Contributors
- @JCC1998 made their first contribution in #904
- @Math-Bee made their first contribution in #914
- @rsazra made their first contribution in #941
- @purpletennisball made their first contribution in #939
- @ngivanyh made their first contribution in #974
- @ugurozturk made their first contribution in #966
- @thibmaek made their first contribution in #990
- @TheBobBobs made their first contribution in #954
- @TrigamDev made their first contribution in #924
Full Changelog: v9.5.2...v9.5.3







