diff --git a/docs/changelog.md b/docs/changelog.md index 25145e0d..ec647a57 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -9,7 +9,111 @@ toc_depth: 2 # :material-script-text: Changelog -## 9.5.5 [September 8th, 2025] +## 9.5.7 May 5th, 2026 + +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 `.pdn` thumbnails. by @Sola-ris in #1149 +- feat: render `.mdp` thumbnails. by @Sola-ris in #1153 +- feat: update notification by @Computerdores in #1166 +- feat: render `.clip` thumbnails. 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 + +--- + +## 9.5.6 October 20th, 2025 + +### 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 A` returning 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 + +--- + +## 9.5.5 September 8th, 2025 ### Added @@ -56,13 +160,13 @@ toc_depth: 2 --- -## 9.5.4 [September 1st, 2025] +## 9.5.4 September 1st, 2025 ### 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](https://docs.tagstud.io/utilities/ignore/)" page on the documentation site. +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](https://docs.tagstud.io/ignore/)" page on the documentation site. Screenshot 2025-08-22 at 14 31 15 @@ -141,7 +245,7 @@ A new "Library Information" window has been added and is accessible under the "V --- -## 9.5.3 [August 7th, 2025] +## 9.5.3 August 7th, 2025 ### Added @@ -220,103 +324,103 @@ A new "Library Information" window has been added and is accessible under the "V --- -## 9.5.2 [March 31st, 2025] +## 9.5.2 March 31st, 2025 ### Added #### Search -- feat(ui): add setting to not display full filepaths by [@HermanKassler](https://github.com/HermanKassler) in [#841](https://github.com/TagStudioDev/TagStudio/pull/841) -- feat: add filename and path sorting by [@Computerdores](https://github.com/Computerdores) in [#842](https://github.com/TagStudioDev/TagStudio/pull/842) +- feat(ui): add setting to not display full filepaths by @HermanKassler in #841 +- feat: add filename and path sorting by @Computerdores in #842 #### Settings -- feat: new settings menu + settings backend by [@Computerdores](https://github.com/Computerdores) in [#859](https://github.com/TagStudioDev/TagStudio/pull/859) +- feat: new settings menu + settings backend by @Computerdores in #859 #### UI -- feat(ui): merge media controls by [@csponge](https://github.com/csponge) in [#805](https://github.com/TagStudioDev/TagStudio/pull/805) - - fix: Remove border from video preview top and left by [@zfbx](https://github.com/zfbx) in [#900](https://github.com/TagStudioDev/TagStudio/pull/900) -- feat(ui): add more default icons and file type equivalencies by [@CyanVoxel](https://github.com/CyanVoxel) in [#882](https://github.com/TagStudioDev/TagStudio/pull/882) -- ui: recent libraries list improvements by [@CyanVoxel](https://github.com/CyanVoxel) in [#881](https://github.com/TagStudioDev/TagStudio/pull/881) +- feat(ui): merge media controls by @csponge in #805 + - fix: Remove border from video preview top and left by @zfbx in #900 +- feat(ui): add more default icons and file type equivalencies by @CyanVoxel in #882 +- ui: recent libraries list improvements by @CyanVoxel in #881 #### Misc -- feat: provide a .desktop file by [@xarvex](https://github.com/xarvex) in [#870](https://github.com/TagStudioDev/TagStudio/pull/870) +- feat: provide a .desktop file by @xarvex in #870 ### Fixed -- fix: catch NotImplementedError for Float16 JPEG-XL files by [@CyanVoxel](https://github.com/CyanVoxel) in [#849](https://github.com/TagStudioDev/TagStudio/pull/849) -- fix(nix/package): account for GTK platform by [@xarvex](https://github.com/xarvex) in [#868](https://github.com/TagStudioDev/TagStudio/pull/868) -- fix: do not set palette for Linux-like systems that offer theming by [@xarvex](https://github.com/xarvex) in [#869](https://github.com/TagStudioDev/TagStudio/pull/869) -- fix(flake): remove pinned input, only consume in Nix shell by [@xarvex](https://github.com/xarvex) in [#872](https://github.com/TagStudioDev/TagStudio/pull/872) -- fix: stop ffmpeg cmd windows, refactor ffmpeg_checker by [@CyanVoxel](https://github.com/CyanVoxel) in [#855](https://github.com/TagStudioDev/TagStudio/pull/855) -- fix: hide mnemonics on macOS by [@CyanVoxel](https://github.com/CyanVoxel) in [#856](https://github.com/TagStudioDev/TagStudio/pull/856) -- fix: use UNION instead of UNION ALL by [@CyanVoxel](https://github.com/CyanVoxel) in [#877](https://github.com/TagStudioDev/TagStudio/pull/877) -- fix: remove unescaped ampersand from "about.description" by [@CyanVoxel](https://github.com/CyanVoxel) in [#885](https://github.com/TagStudioDev/TagStudio/pull/885) -- fix(ui): display 0 frame webp files in preview panel by [@CyanVoxel](https://github.com/CyanVoxel) in [64dc88a](https://github.com/TagStudioDev/TagStudio/commit/64dc88afa90bb11f3c9b74a2522f947370ce21db) -- fix: close pdf file object in thumb renderer by [@Computerdores](https://github.com/Computerdores) in [#893](https://github.com/TagStudioDev/TagStudio/pull/893) -- perf: improve responsiveness of GIF entries by [@Computerdores](https://github.com/Computerdores) in [#894](https://github.com/TagStudioDev/TagStudio/pull/894) -- fix(ui): seamlessly loop videos by [@CyanVoxel](https://github.com/CyanVoxel) in [#902](https://github.com/TagStudioDev/TagStudio/pull/902) +- fix: catch NotImplementedError for Float16 JPEG-XL files by @CyanVoxel in #849 +- fix(nix/package): account for GTK platform by @xarvex in #868 +- fix: do not set palette for Linux-like systems that offer theming by @xarvex in #869 +- fix(flake): remove pinned input, only consume in Nix shell by @xarvex in #872 +- fix: stop ffmpeg cmd windows, refactor ffmpeg_checker by @CyanVoxel in #855 +- fix: hide mnemonics on macOS by @CyanVoxel in #856 +- fix: use UNION instead of UNION ALL by @CyanVoxel in #877 +- fix: remove unescaped ampersand from "about.description" by @CyanVoxel in #885 +- fix(ui): display 0 frame webp files in preview panel by @CyanVoxel in 64dc88afa90bb11f3c9b74a2522f947370ce21db +- fix: close pdf file object in thumb renderer by @Computerdores in #893 +- perf: improve responsiveness of GIF entries by @Computerdores in #894 +- fix(ui): seamlessly loop videos by @CyanVoxel in #902 ### Internal Changes -- refactor!: change layout; import and build change by [@xarvex](https://github.com/xarvex) and [@CyanVoxel](https://github.com/CyanVoxel) in [#844](https://github.com/TagStudioDev/TagStudio/pull/844) -- fix: log all problems in translation test by [@Computerdores](https://github.com/Computerdores) in [#839](https://github.com/TagStudioDev/TagStudio/pull/839) -- refactor: split translation keys for about screen by [@CyanVoxel](https://github.com/CyanVoxel) in [#845](https://github.com/TagStudioDev/TagStudio/pull/845) -- feat(ci): development tooling refresh and split documentation by [@xarvex](https://github.com/xarvex) in [#867](https://github.com/TagStudioDev/TagStudio/pull/867) -- refactor: type hints and improvements in file_opener.py by [@VasigaranAndAngel](https://github.com/VasigaranAndAngel) in [#876](https://github.com/TagStudioDev/TagStudio/pull/876) -- build: update spec file to use proper pathex and datas paths by [@Leonard2](https://github.com/Leonard2) in [#895](https://github.com/TagStudioDev/TagStudio/pull/895) -- refactor: fix various missing and broken type hints@VasigaranAndAngel in [#901](https://github.com/TagStudioDev/TagStudio/pull/901) -- refactor: fix type hints and overrides in flowlayout.py by [@VasigaranAndAngel](https://github.com/VasigaranAndAngel) in [#880](https://github.com/TagStudioDev/TagStudio/pull/880) +- refactor!: change layout; import and build change by @xarvex and @CyanVoxel in #844 +- fix: log all problems in translation test by @Computerdores in #839 +- refactor: split translation keys for about screen by @CyanVoxel in #845 +- feat(ci): development tooling refresh and split documentation by @xarvex in #867 +- refactor: type hints and improvements in file_opener.py by @VasigaranAndAngel in #876 +- build: update spec file to use proper pathex and datas paths by @Leonard2 in #895 +- refactor: fix various missing and broken type hints@VasigaranAndAngel in #901 +- refactor: fix type hints and overrides in flowlayout.py by @VasigaranAndAngel in #880 ### Documentation -- docs: fix typos and grammar by [@Gawidev](https://github.com/Gawidev) in [#879](https://github.com/TagStudioDev/TagStudio/pull/879) -- docs: update `ThumbRenderer` source by [@emmanuel-ferdman](https://github.com/emmanuel-ferdman) in [#896](https://github.com/TagStudioDev/TagStudio/pull/896) +- docs: fix typos and grammar by @Gawidev in #879 +- docs: update `ThumbRenderer` source by @emmanuel-ferdman in #896 ### Translations -- **Filipino** updated by [@searinminecraft](https://github.com/searinminecraft) -- **French** updated by [@kitsumed](https://github.com/kitsumed) -- **German** updated by [@DontBlameMe99](https://github.com/DontBlameMe99), [@Computerdores](https://github.com/Computerdores) +- **Filipino** updated by @searinminecraft +- **French** updated by @kitsumed +- **German** updated by @DontBlameMe99, @Computerdores - **Hungarian** updated by Szíjártó Levente Pál -- **Japanese** added by [@needledetector](https://github.com/needledetector) -- **Portuguese** _(Brazil)_ updated by [@viniciushelder](https://github.com/viniciushelder) -- **Russian** updated by werdi, [@Dott-rus](https://github.com/Dott-rus) -- **Spanish** updated by Joan, [@Nginearing](https://github.com/Nginearing) -- **Tamil** updated by [@TamilNeram](https://github.com/TamilNeram) -- **Toki Pona** updated by [@Math-Bee](https://github.com/Math-Bee) -- **Turkish** updated by [@Nyghl](https://github.com/Nyghl) +- **Japanese** added by @needledetector +- **Portuguese** _(Brazil)_ updated by @viniciushelder +- **Russian** updated by werdi, @Dott-rus +- **Spanish** updated by Joan, @Nginearing +- **Tamil** updated by @TamilNeram +- **Toki Pona** updated by @Math-Bee +- **Turkish** updated by @Nyghl --- -## 9.5.1 [March 6th, 2025] +## 9.5.1 March 6th, 2025 ### Fixed -- Fixed translations crashing the program and preventing it from being reopened ([#827](https://github.com/TagStudioDev/TagStudio/issues/827)) - - fix: restore `translate_formatted()` method as `format()` by [@CyanVoxel](https://github.com/CyanVoxel) in [#830](https://github.com/TagStudioDev/TagStudio/pull/830) - - tests: add tests for translations by [@Computerdores](https://github.com/Computerdores) in [#833](https://github.com/TagStudioDev/TagStudio/pull/833) - - fix(translations): fix invalid placeholders by [@CyanVoxel](https://github.com/CyanVoxel) in [#835](https://github.com/TagStudioDev/TagStudio/pull/835) +- Fixed translations crashing the program and preventing it from being reopened (#827) + - fix: restore `translate_formatted()` method as `format()` by @CyanVoxel in #830 + - tests: add tests for translations by @Computerdores in #833 + - fix(translations): fix invalid placeholders by @CyanVoxel in #835 - Removed empty parentheses from the "About" screen title - - fix: separate about screen title from translations by [@CyanVoxel](https://github.com/CyanVoxel) in [#836](https://github.com/TagStudioDev/TagStudio/pull/836) + - fix: separate about screen title from translations by @CyanVoxel in #836 ### Translations -- **French** updated by [@alessdangelo](https://github.com/alessdangelo), [@Bamowen](https://github.com/Bamowen), [@kitsumed](https://github.com/kitsumed) -- **German** updated by [@Thesacraft](https://github.com/Thesacraft) -- **Portuguese** _(Brazil)_ updated by [@viniciushelder](https://github.com/viniciushelder) +- **French** updated by @alessdangelo, @Bamowen, @kitsumed +- **German** updated by @Thesacraft +- **Portuguese** _(Brazil)_ updated by @viniciushelder - **Russian** updated by werdei -- **Spanish** updated by [@JCC1998](https://github.com/JCC1998) +- **Spanish** updated by @JCC1998 ### Documentation -- docs: fix category typo by [@salem404](https://github.com/salem404) in [#834](https://github.com/TagStudioDev/TagStudio/pull/834) +- docs: fix category typo by @salem404 in #834 --- -## 9.5.0 [March 3rd, 2025] +## 9.5.0 March 3rd, 2025 TagStudio 9.5 Banner @@ -326,80 +430,80 @@ A new "Library Information" window has been added and is accessible under the "V ##### Boolean Operators -- feat: implement query language by [@Computerdores](https://github.com/Computerdores) in [#606](https://github.com/TagStudioDev/TagStudio/pull/606) -- feat: optimize AND queries by [@Computerdores](https://github.com/Computerdores) in [#679](https://github.com/TagStudioDev/TagStudio/pull/679) +- feat: implement query language by @Computerdores in #606 +- feat: optimize AND queries by @Computerdores in #679 ##### Filetype, Mediatype, and Glob Path + Smartcase Searches -- fix: remove wildcard requirement for tags by [@Tyrannicodin](https://github.com/Tyrannicodin) in [#481](https://github.com/TagStudioDev/TagStudio/pull/481) -- feat: add filetype and mediatype searches by [@python357-1](https://github.com/python357-1) in [#575](https://github.com/TagStudioDev/TagStudio/pull/575) -- feat: make path search use globs by [@python357-1](https://github.com/python357-1) in [#582](https://github.com/TagStudioDev/TagStudio/pull/582) -- feat: implement search equivalence of "jpg" and "jpeg" filetypes by [@Computerdores](https://github.com/Computerdores) in [#649](https://github.com/TagStudioDev/TagStudio/pull/649) -- feat: add smartcase and globless path searches by [@CyanVoxel](https://github.com/CyanVoxel) in [#743](https://github.com/TagStudioDev/TagStudio/pull/743) +- fix: remove wildcard requirement for tags by @Tyrannicodin in #481 +- feat: add filetype and mediatype searches by @python357-1 in #575 +- feat: make path search use globs by @python357-1 in #582 +- feat: implement search equivalence of "jpg" and "jpeg" filetypes by @Computerdores in #649 +- feat: add smartcase and globless path searches by @CyanVoxel in #743 ##### Sortable Results -- feat: sort by "date added" in library by [@Computerdores](https://github.com/Computerdores) in [#674](https://github.com/TagStudioDev/TagStudio/pull/674) +- feat: sort by "date added" in library by @Computerdores in #674 ##### Autocomplete -- feat: add autocomplete for search engine by [@python357-1](https://github.com/python357-1) in [#586](https://github.com/TagStudioDev/TagStudio/pull/586) +- feat: add autocomplete for search engine by @python357-1 in #586 #### Replaced "Tag Fields" with Tag Categories 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. -- feat!: tag categories by [@CyanVoxel](https://github.com/CyanVoxel) in [#655](https://github.com/TagStudioDev/TagStudio/pull/655) +- feat!: tag categories by @CyanVoxel in #655 - Screenshot 2025-01-04 at 04 23 43 +Screenshot 2025-01-04 at 04 23 43 #### Thumbnails and File Previews ##### New Thumbnail Support -- feat: add svg thumbnail support (port [#442](https://github.com/TagStudioDev/TagStudio/pull/442)) by [@Tyrannicodin](https://github.com/Tyrannicodin) and [@CyanVoxel](https://github.com/CyanVoxel) in [#540](https://github.com/TagStudioDev/TagStudio/pull/540) -- feat: add pdf thumbnail support (port [#378](https://github.com/TagStudioDev/TagStudio/pull/378)) by [@Heiholf](https://github.com/Heiholf) and [@CyanVoxel](https://github.com/CyanVoxel) in [#543](https://github.com/TagStudioDev/TagStudio/pull/543) -- feat: add ePub thumbnail support (port [#387](https://github.com/TagStudioDev/TagStudio/pull/387)) by [@Heiholf](https://github.com/Heiholf) and [@CyanVoxel](https://github.com/CyanVoxel) in [#539](https://github.com/TagStudioDev/TagStudio/pull/539) -- feat: add OpenDocument thumbnail support (port [#366](https://github.com/TagStudioDev/TagStudio/pull/366)) by [@Joshua-Beatty](https://github.com/Joshua-Beatty) and [@CyanVoxel](https://github.com/CyanVoxel) in [#545](https://github.com/TagStudioDev/TagStudio/pull/545) -- feat: add JXL thumbnail and animated APNG + WEBP support (port [#344](https://github.com/TagStudioDev/TagStudio/pull/344) and partially port [#357](https://github.com/TagStudioDev/TagStudio/pull/357)) by [@BPplays](https://github.com/BPplays) and [@CyanVoxel](https://github.com/CyanVoxel) in [#549](https://github.com/TagStudioDev/TagStudio/pull/549) - - fix: catch ImportError for pillow_jxl module by [@CyanVoxel](https://github.com/CyanVoxel) in [a2f9685](https://github.com/TagStudioDev/TagStudio/commit/a2f9685bc0d744ea6f5334c6d2926aad3f6d375a) +- feat: add svg thumbnail support (port #442) by @Tyrannicodin and @CyanVoxel in #540 +- feat: add pdf thumbnail support (port #378) by @Heiholf and @CyanVoxel in #543 +- feat: add ePub thumbnail support (port #387) by @Heiholf and @CyanVoxel in #539 +- feat: add OpenDocument thumbnail support (port #366) by @Joshua-Beatty and @CyanVoxel in #545 +- feat: add JXL thumbnail and animated APNG + WEBP support (port #344 and partially port #357) by @BPplays and @CyanVoxel in #549 + - fix: catch ImportError for pillow_jxl module by @CyanVoxel in a2f9685bc0d744ea6f5334c6d2926aad3f6d375a ##### Audio Playback -- feat: audio playback by [@csponge](https://github.com/csponge) in [#576](https://github.com/TagStudioDev/TagStudio/pull/576) - - feat(ui): add audio volume slider by [@SkeleyM](https://github.com/SkeleyM) in [#691](https://github.com/TagStudioDev/TagStudio/pull/691) +- feat: audio playback by @csponge in #576 + - feat(ui): add audio volume slider by @SkeleyM in #691 ##### Thumbnail Caching -- feat(ui): add thumbnail caching by [@CyanVoxel](https://github.com/CyanVoxel) in [#694](https://github.com/TagStudioDev/TagStudio/pull/694) +- feat(ui): add thumbnail caching by @CyanVoxel in #694 #### Tags ##### Delete Tags _(Finally!)_ -- feat: remove and create tags from tag database panel by [@DandyDev01](https://github.com/DandyDev01) in [#569](https://github.com/TagStudioDev/TagStudio/pull/569) +- feat: remove and create tags from tag database panel by @DandyDev01 in #569 ##### Custom User-Created Tag Colors 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! -- feat(ui)!: user-created tag colors@CyanVoxel in [#801](https://github.com/TagStudioDev/TagStudio/pull/801) +- feat(ui)!: user-created tag colors by @CyanVoxel in #801 - - + + ##### New Tag Colors + UI -- feat: expanded tag color system by [@CyanVoxel](https://github.com/CyanVoxel) in [#709](https://github.com/TagStudioDev/TagStudio/pull/709) -- fix(ui): use correct pink tag color by [@CyanVoxel](https://github.com/CyanVoxel) in [431efe4](https://github.com/TagStudioDev/TagStudio/commit/431efe4fe93213141c763e59ca9887215766fd42) -- fix(ui): use consistent tag outline colors by [@CyanVoxel](https://github.com/CyanVoxel) in [020a73d](https://github.com/TagStudioDev/TagStudio/commit/020a73d095c74283d6c80426d3c3db8874409952) +- feat: expanded tag color system by @CyanVoxel in #709 +- fix(ui): use correct pink tag color by @CyanVoxel in 431efe4fe93213141c763e59ca9887215766fd42 +- fix(ui): use consistent tag outline colors by @CyanVoxel in 020a73d095c74283d6c80426d3c3db8874409952 Screenshot 2025-01-04 at 04 23 43 ##### New Tag Alias UI -- fix: preview panel aliases not staying up to date with database by [@DandyDev01](https://github.com/DandyDev01) in [#641](https://github.com/TagStudioDev/TagStudio/pull/641) -- fix: subtags/parent tags & aliases update the UI for building a tag by [@DandyDev01](https://github.com/DandyDev01) in [#534](https://github.com/TagStudioDev/TagStudio/pull/534) +- fix: preview panel aliases not staying up to date with database by @DandyDev01 in #641 +- fix: subtags/parent tags & aliases update the UI for building a tag by @DandyDev01 in #534 #### Translations @@ -407,50 +511,50 @@ TagStudio now has official translation support! Head to the new settings panel a Translation hosting generously provided by [Weblate](https://weblate.org/en/). Check out our [project page](https://hosted.weblate.org/projects/tagstudio/) to help translate TagStudio! Thank you to everyone who's helped contribute to the translations so far! -- translations: add string tokens for en.json by [@Bamowen](https://github.com/Bamowen) in [#507](https://github.com/TagStudioDev/TagStudio/pull/507) -- feat: translations by [@Computerdores](https://github.com/Computerdores) in [#662](https://github.com/TagStudioDev/TagStudio/pull/662) -- feat(ui): add language setting by [@CyanVoxel](https://github.com/CyanVoxel) in [#803](https://github.com/TagStudioDev/TagStudio/pull/803) +- translations: add string tokens for en.json by @Bamowen in #507 +- feat: translations by @Computerdores in #662 +- feat(ui): add language setting by @CyanVoxel in #803 Initial Languages: -- **Chinese** _(Traditional Han Script)_ by [@brisu](https://github.com/brisu) -- **Dutch** by [@Pheubel](https://github.com/Pheubel) -- **Filipino** by [@searinminecraft](https://github.com/searinminecraft) -- **French** by [@Bamowen](https://github.com/Bamowen), [@alessdangelo](https://github.com/alessdangelo), [@kitsumed](https://github.com/kitsumed), Obscaeris -- **German** by [@Ryussei](https://github.com/Ryussei), [@Computerdores](https://github.com/Computerdores), Aaron M, [@JoeJoeTV](https://github.com/JoeJoeTV), [@Kurty00](https://github.com/Kurty00) -- **Hungarian** by [@smileyhead](https://github.com/smileyhead) -- **Norwegian Bokmål** by [@comradekingu](https://github.com/comradekingu) +- **Chinese** _(Traditional Han Script)_ by @brisu +- **Dutch** by @Pheubel +- **Filipino** by @searinminecraft +- **French** by @Bamowen, @alessdangelo, @kitsumed, Obscaeris +- **German** by @Ryussei, @Computerdores, Aaron M, @JoeJoeTV, @Kurty00 +- **Hungarian** by @smileyhead +- **Norwegian Bokmål** by @comradekingu - **Polish** by Anonymous -- **Portuguese** _(Brazil)_ by [@LoboMetalurgico](https://github.com/LoboMetalurgico), [@SpaceFox1](https://github.com/SpaceFox1), [@DaviMarquezeli](https://github.com/DaviMarquezeli), [@viniciushelder](https://github.com/viniciushelder), Alexander Lennart Formiga Johnsson -- **Russian** by [@The-Stolas](https://github.com/The-Stolas) -- **Spanish** by [@gallegonovato](https://github.com/gallegonovato), [@Nginearing](https://github.com/Nginearing), [@noceno](https://github.com/noceno) -- **Swedish** by [@adampawelec](https://github.com/adampawelec), [@mashed5894](https://github.com/mashed5894) -- **Tamil** by [@VasigaranAndAngel](https://github.com/VasigaranAndAngel) -- **Toki Pona** by [@goldstargloww](https://github.com/goldstargloww) -- **Turkish** by [@Nyghl](https://github.com/Nyghl) +- **Portuguese** _(Brazil)_ by @LoboMetalurgico, @SpaceFox1, @DaviMarquezeli, @viniciushelder, Alexander Lennart Formiga Johnsson +- **Russian** by @The-Stolas +- **Spanish** by @gallegonovato, @Nginearing, @noceno +- **Swedish** by @adampawelec, @mashed5894 +- **Tamil** by @VasigaranAndAngel +- **Toki Pona** by @goldstargloww +- **Turkish** by @Nyghl #### Miscellaneous -- feat: about section by [@mashed5894](https://github.com/mashed5894) in [#712](https://github.com/TagStudioDev/TagStudio/pull/712) -- feat(ui): add configurable splash screens by [@CyanVoxel](https://github.com/CyanVoxel) in [#703](https://github.com/TagStudioDev/TagStudio/pull/703) -- feat(ui): show filenames in thumbnail grid by [@CyanVoxel](https://github.com/CyanVoxel) in [#633](https://github.com/TagStudioDev/TagStudio/pull/633) -- feat(about): clickable links to docs/discord/etc in about modal by [@SkeleyM](https://github.com/SkeleyM) in [#799](https://github.com/TagStudioDev/TagStudio/pull/799) +- feat: about section by @mashed5894 in #712 +- feat(ui): add configurable splash screens by @CyanVoxel in #703 +- feat(ui): show filenames in thumbnail grid by @CyanVoxel in #633 +- feat(about): clickable links to docs/discord/etc in about modal by @SkeleyM in #799 ### Fixed -- fix(ui): display all tags in panel during empty search by [@samuellieberman](https://github.com/samuellieberman) in [#328](https://github.com/TagStudioDev/TagStudio/pull/328) -- fix: avoid `KeyError` in `add_folders_to_tree()` (fix [#346](https://github.com/TagStudioDev/TagStudio/issues/346)) by [@CyanVoxel](https://github.com/CyanVoxel) in [#347](https://github.com/TagStudioDev/TagStudio/pull/347) -- fix: error on closing library by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#484](https://github.com/TagStudioDev/TagStudio/pull/484) -- fix: resolution info [#550](https://github.com/TagStudioDev/TagStudio/issues/550) by [@Roc25](https://github.com/Roc25) in [#551](https://github.com/TagStudioDev/TagStudio/pull/551) -- fix: remove queued thumnail jobs when closing library by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#583](https://github.com/TagStudioDev/TagStudio/pull/583) -- fix: use absolute ffprobe path on macos (Fix [#511](https://github.com/TagStudioDev/TagStudio/issues/511)) by [@CyanVoxel](https://github.com/CyanVoxel) in [#629](https://github.com/TagStudioDev/TagStudio/pull/629) -- fix(ui): prevent duplicate parent tags in UI by [@SkeleyM](https://github.com/SkeleyM) in [#665](https://github.com/TagStudioDev/TagStudio/pull/665) -- fix: fix -o flag not working if path has whitespace around it by [@python357-1](https://github.com/python357-1) in [#670](https://github.com/TagStudioDev/TagStudio/pull/670) -- fix: better file opening compatibility with non-ascii filenames by [@SkeleyM](https://github.com/SkeleyM) in [#667](https://github.com/TagStudioDev/TagStudio/pull/667) -- fix: restore environment before launching external programs by [@mashed5894](https://github.com/mashed5894) in [#707](https://github.com/TagStudioDev/TagStudio/pull/707) -- fix: have pydub use known ffmpeg + ffprobe locations by [@CyanVoxel](https://github.com/CyanVoxel) in [#724](https://github.com/TagStudioDev/TagStudio/pull/724) -- fix: add ".DS_Store" to `GLOBAL_IGNORE_SET` by [@CyanVoxel](https://github.com/CyanVoxel) in [b72a2f2](https://github.com/TagStudioDev/TagStudio/commit/b72a2f233141db4db6aa6be8796b626ebd3f0756) -- fix: don't add ".\_" files to libraries by [@CyanVoxel](https://github.com/CyanVoxel) in [eb1f634](https://github.com/TagStudioDev/TagStudio/commit/eb1f634d386cd8a5ecee1e6ff6a0b7d8811550fa) +- fix(ui): display all tags in panel during empty search by @samuellieberman in #328 +- fix: avoid `KeyError` in `add_folders_to_tree()` (fix #346) by @CyanVoxel in #347 +- fix: error on closing library by @yedpodtrzitko in #484 +- fix: resolution info #550 by @Roc25 in #551 +- fix: remove queued thumnail jobs when closing library by @yedpodtrzitko in #583 +- fix: use absolute ffprobe path on macos (Fix #511) by @CyanVoxel in #629 +- fix(ui): prevent duplicate parent tags in UI by @SkeleyM in #665 +- fix: fix -o flag not working if path has whitespace around it by @python357-1 in #670 +- fix: better file opening compatibility with non-ascii filenames by @SkeleyM in #667 +- fix: restore environment before launching external programs by @mashed5894 in #707 +- fix: have pydub use known ffmpeg + ffprobe locations by @CyanVoxel in #724 +- fix: add ".DS_Store" to `GLOBAL_IGNORE_SET` by @CyanVoxel in b72a2f233141db4db6aa6be8796b626ebd3f0756 +- fix: don't add ".\_" files to libraries by @CyanVoxel in eb1f634d386cd8a5ecee1e6ff6a0b7d8811550fa ### Changed @@ -458,82 +562,82 @@ Initial Languages: 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. -- refactor!: use SQLite and SQLAlchemy for database backend by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#332](https://github.com/TagStudioDev/TagStudio/pull/332) -- feat: make search results more ergonomic by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#498](https://github.com/TagStudioDev/TagStudio/pull/498) -- feat: store `Entry` suffix separately by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#503](https://github.com/TagStudioDev/TagStudio/pull/503) -- feat: port thumbnail ([#390](https://github.com/TagStudioDev/TagStudio/pull/390)) and related features to v9.5 by [@CyanVoxel](https://github.com/CyanVoxel) in [#522](https://github.com/TagStudioDev/TagStudio/pull/522) -- fix: don't check db version with new library by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#536](https://github.com/TagStudioDev/TagStudio/pull/536) -- fix(ui): update ui when removing fields by [@DandyDev01](https://github.com/DandyDev01) in [#560](https://github.com/TagStudioDev/TagStudio/pull/560) -- feat(parity): backend for aliases and parent tags by [@DandyDev01](https://github.com/DandyDev01) in [#596](https://github.com/TagStudioDev/TagStudio/pull/596) -- fix: "open in explorer" opens correct folder by [@KirilBourakov](https://github.com/KirilBourakov) in [#603](https://github.com/TagStudioDev/TagStudio/pull/603) -- fix: ui/ux parity fixes for thumbnails and files by [@CyanVoxel](https://github.com/CyanVoxel) in [#608](https://github.com/TagStudioDev/TagStudio/pull/608) -- feat(parity): migrate json libraries to sqlite by [@CyanVoxel](https://github.com/CyanVoxel) in [#604](https://github.com/TagStudioDev/TagStudio/pull/604) -- fix: clear all setting values when opening a library by [@VasigaranAndAngel](https://github.com/VasigaranAndAngel) in [#622](https://github.com/TagStudioDev/TagStudio/pull/622) -- fix: remove/rework windows path tests by [@VasigaranAndAngel](https://github.com/VasigaranAndAngel) in [#625](https://github.com/TagStudioDev/TagStudio/pull/625) -- fix: add check to see if library is loaded in filter_items by [@Roc25](https://github.com/Roc25) in [#547](https://github.com/TagStudioDev/TagStudio/pull/547) -- fix: multiple macro errors by [@Computerdores](https://github.com/Computerdores) in [#612](https://github.com/TagStudioDev/TagStudio/pull/612) -- fix: don't allow blank tag alias values in db by [@CyanVoxel](https://github.com/CyanVoxel) in [#628](https://github.com/TagStudioDev/TagStudio/pull/628) -- feat: Reimplement drag drop files on sql migration by [@seakrueger](https://github.com/seakrueger) in [#528](https://github.com/TagStudioDev/TagStudio/pull/528) -- fix: stop sqlite db from being updated while running tests by [@python357-1](https://github.com/python357-1) in [#648](https://github.com/TagStudioDev/TagStudio/pull/648) -- fix: enter/return adds top result tag by [@SkeleyM](https://github.com/SkeleyM) in [#651](https://github.com/TagStudioDev/TagStudio/pull/651) -- fix: show correct unlinked files count by [@SkeleyM](https://github.com/SkeleyM) in [#653](https://github.com/TagStudioDev/TagStudio/pull/653) -- feat: implement parent tag search by [@Computerdores](https://github.com/Computerdores) in [#673](https://github.com/TagStudioDev/TagStudio/pull/673) -- fix: only close add tag menu with no search by [@SkeleyM](https://github.com/SkeleyM) in [#685](https://github.com/TagStudioDev/TagStudio/pull/685) -- fix: drag and drop no longer resets by [@SkeleyM](https://github.com/SkeleyM) in [#710](https://github.com/TagStudioDev/TagStudio/pull/710) -- feat(ui): port "create and add tag" to main branch by [@SkeleyM](https://github.com/SkeleyM) in [#711](https://github.com/TagStudioDev/TagStudio/pull/711) -- fix: don't add default title field, use proper phrasing for adding files by [@CyanVoxel](https://github.com/CyanVoxel) in [#701](https://github.com/TagStudioDev/TagStudio/pull/701) -- fix: preview panel + main window fixes and optimizations by [@CyanVoxel](https://github.com/CyanVoxel) in [#700](https://github.com/TagStudioDev/TagStudio/pull/700) -- fix: sort tag results by [@mashed5894](https://github.com/mashed5894) in [#721](https://github.com/TagStudioDev/TagStudio/pull/721) -- fix: restore opening last library on startup by [@SkeleyM](https://github.com/SkeleyM) in [#729](https://github.com/TagStudioDev/TagStudio/pull/729) -- fix(ui): don't always create tag on enter by [@SkeleyM](https://github.com/SkeleyM) in [#731](https://github.com/TagStudioDev/TagStudio/pull/731) -- fix: use tag aliases in tag search by [@CyanVoxel](https://github.com/CyanVoxel) in [#726](https://github.com/TagStudioDev/TagStudio/pull/726) -- fix: keep initial id order in `get_entries_full()` by [@CyanVoxel](https://github.com/CyanVoxel) in [#736](https://github.com/TagStudioDev/TagStudio/pull/736) -- fix: always catch db mismatch by [@CyanVoxel](https://github.com/CyanVoxel) in [#738](https://github.com/TagStudioDev/TagStudio/pull/738) -- fix: relink unlinked entry to existing entry without sql error by [@mashed5894](https://github.com/mashed5894) in [#730](https://github.com/TagStudioDev/TagStudio/issues/730) -- fix: refactor and fix bugs with missing_files.py by [@CyanVoxel](https://github.com/CyanVoxel) in [#739](https://github.com/TagStudioDev/TagStudio/pull/739) -- fix: dragging files references correct entry IDs [@CyanVoxel](https://github.com/CyanVoxel) in [44ff17c](https://github.com/TagStudioDev/TagStudio/commit/44ff17c0b3f05570e356c112f005dbc14c7cc05d) -- ui: port splash screen from Alpha-v9.4 by [@CyanVoxel](https://github.com/CyanVoxel) in [af760ee](https://github.com/TagStudioDev/TagStudio/commit/af760ee61a523c84bab0fb03a68d7465866d0e05) -- fix: tags created from tag database now add aliases by [@CyanVoxel](https://github.com/CyanVoxel) in [2903dd2](https://github.com/TagStudioDev/TagStudio/commit/2903dd22c45c02498687073d075bb88886de6b62) -- fix: check for tag name parity during JSON migration by [@CyanVoxel](https://github.com/CyanVoxel) in [#748](https://github.com/TagStudioDev/TagStudio/pull/748) -- feat(ui): re-implement tag display names on sql by [@CyanVoxel](https://github.com/CyanVoxel) in [#747](https://github.com/TagStudioDev/TagStudio/pull/747) -- fix(ui): restore Windows accent color on PySide 6.8.0.1 by [@CyanVoxel](https://github.com/CyanVoxel) in [#755](https://github.com/TagStudioDev/TagStudio/pull/755) -- fix(ui): (mostly) fix right-click search option on tags by [@CyanVoxel](https://github.com/CyanVoxel) in [#756](https://github.com/TagStudioDev/TagStudio/pull/756) -- feat: copy/paste fields and tags by [@mashed5894](https://github.com/mashed5894) in [#722](https://github.com/TagStudioDev/TagStudio/pull/722) -- perf: optimize query methods and reduce preview panel updates by [@CyanVoxel](https://github.com/CyanVoxel) in [#794](https://github.com/TagStudioDev/TagStudio/pull/794) -- feat: port file trashing ([#409](https://github.com/TagStudioDev/TagStudio/pull/409)) to v9.5 by [@CyanVoxel](https://github.com/CyanVoxel) in [#792](https://github.com/TagStudioDev/TagStudio/pull/792) -- fix: prevent future library versions from being opened by [@CyanVoxel](https://github.com/CyanVoxel) in [bcf3b2f](https://github.com/TagStudioDev/TagStudio/commit/bcf3b2f96bc8b876ca4b0c1d1882ce14a190f249) +- refactor!: use SQLite and SQLAlchemy for database backend by @yedpodtrzitko in #332 +- feat: make search results more ergonomic by @yedpodtrzitko in #498 +- feat: store `Entry` suffix separately by @yedpodtrzitko in #503 +- feat: port thumbnail (#390) and related features to v9.5 by @CyanVoxel in #522 +- fix: don't check db version with new library by @yedpodtrzitko in #536 +- fix(ui): update ui when removing fields by @DandyDev01 in #560 +- feat(parity): backend for aliases and parent tags by @DandyDev01 in #596 +- fix: "open in explorer" opens correct folder by @KirilBourakov in #603 +- fix: ui/ux parity fixes for thumbnails and files by @CyanVoxel in #608 +- feat(parity): migrate json libraries to sqlite by @CyanVoxel in #604 +- fix: clear all setting values when opening a library by @VasigaranAndAngel in #622 +- fix: remove/rework windows path tests by @VasigaranAndAngel in #625 +- fix: add check to see if library is loaded in filter_items by @Roc25 in #547 +- fix: multiple macro errors by @Computerdores in #612 +- fix: don't allow blank tag alias values in db by @CyanVoxel in #628 +- feat: Reimplement drag drop files on sql migration by @seakrueger in #528 +- fix: stop sqlite db from being updated while running tests by @python357-1 in #648 +- fix: enter/return adds top result tag by @SkeleyM in #651 +- fix: show correct unlinked files count by @SkeleyM in #653 +- feat: implement parent tag search by @Computerdores in #673 +- fix: only close add tag menu with no search by @SkeleyM in #685 +- fix: drag and drop no longer resets by @SkeleyM in #710 +- feat(ui): port "create and add tag" to main branch by @SkeleyM in #711 +- fix: don't add default title field, use proper phrasing for adding files by @CyanVoxel in #701 +- fix: preview panel + main window fixes and optimizations by @CyanVoxel in #700 +- fix: sort tag results by @mashed5894 in #721 +- fix: restore opening last library on startup by @SkeleyM in #729 +- fix(ui): don't always create tag on enter by @SkeleyM in #731 +- fix: use tag aliases in tag search by @CyanVoxel in #726 +- fix: keep initial id order in `get_entries_full()` by @CyanVoxel in #736 +- fix: always catch db mismatch by @CyanVoxel in #738 +- fix: relink unlinked entry to existing entry without sql error by @mashed5894 in #730 +- fix: refactor and fix bugs with missing_files.py by @CyanVoxel in #739 +- fix: dragging files references correct entry IDs @CyanVoxel in 44ff17c0b3f05570e356c112f005dbc14c7cc05d +- ui: port splash screen from Alpha-v9.4 by @CyanVoxel in af760ee61a523c84bab0fb03a68d7465866d0e05 +- fix: tags created from tag database now add aliases by @CyanVoxel in 2903dd22c45c02498687073d075bb88886de6b62 +- fix: check for tag name parity during JSON migration by @CyanVoxel in #748 +- feat(ui): re-implement tag display names on sql by @CyanVoxel in #747 +- fix(ui): restore Windows accent color on PySide 6.8.0.1 by @CyanVoxel in #755 +- fix(ui): (mostly) fix right-click search option on tags by @CyanVoxel in #756 +- feat: copy/paste fields and tags by @mashed5894 in #722 +- perf: optimize query methods and reduce preview panel updates by @CyanVoxel in #794 +- feat: port file trashing (#409) to v9.5 by @CyanVoxel in #792 +- fix: prevent future library versions from being opened by @CyanVoxel in bcf3b2f96bc8b876ca4b0c1d1882ce14a190f249 #### UI/UX -- feat(ui): pre-select default tag name in `BuildTagPanel` by [@Cool-Game-Dev](https://github.com/Cool-Game-Dev) in [#592](https://github.com/TagStudioDev/TagStudio/pull/592) -- feat(ui): keyboard navigation for editing tags by [@Computerdores](https://github.com/Computerdores) in [#407](https://github.com/TagStudioDev/TagStudio/pull/407) -- feat(ui): use tag query as default new tag name by [@CyanVoxel](https://github.com/CyanVoxel) in [29c0dfd](https://github.com/TagStudioDev/TagStudio/commit/29c0dfdb2d88e8f473e27c7f1fe7ede6e5bd0feb) -- feat(ui): shortcut to add tags to selected entries; change click behavior of tags to edit by [@CyanVoxel](https://github.com/CyanVoxel) in [#749](https://github.com/TagStudioDev/TagStudio/pull/749) -- fix(ui): use consistent dark mode colors for all systems by [@CyanVoxel](https://github.com/CyanVoxel) in [#752](https://github.com/TagStudioDev/TagStudio/pull/752) -- fix(ui): use camera white balance for raw images by [@CyanVoxel](https://github.com/CyanVoxel) in [6ee5304](https://github.com/TagStudioDev/TagStudio/commit/6ee5304b52f217af0f5df543fcb389649203d6b2) +- feat(ui): pre-select default tag name in `BuildTagPanel` by @Cool-Game-Dev in #592 +- feat(ui): keyboard navigation for editing tags by @Computerdores in #407 +- feat(ui): use tag query as default new tag name by @CyanVoxel in 29c0dfdb2d88e8f473e27c7f1fe7ede6e5bd0feb +- feat(ui): shortcut to add tags to selected entries; change click behavior of tags to edit by @CyanVoxel in #749 +- fix(ui): use consistent dark mode colors for all systems by @CyanVoxel in #752 +- fix(ui): use camera white balance for raw images by @CyanVoxel in 6ee5304b52f217af0f5df543fcb389649203d6b2 - 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. -- fix(ui): improve tagging ux by [@CyanVoxel](https://github.com/CyanVoxel) in [#633](https://github.com/TagStudioDev/TagStudio/pull/633) -- fix(ui): hide library actions when no library is open by [@CyanVoxel](https://github.com/CyanVoxel) in [#787](https://github.com/TagStudioDev/TagStudio/pull/787) -- refactor(ui): recycle tag list in TagSearchPanel by [@CyanVoxel](https://github.com/CyanVoxel) in [#788](https://github.com/TagStudioDev/TagStudio/pull/788) +- fix(ui): improve tagging ux by @CyanVoxel in #633 +- fix(ui): hide library actions when no library is open by @CyanVoxel in #787 +- refactor(ui): recycle tag list in TagSearchPanel by @CyanVoxel in #788 - feat(ui): add tag view limit dropdown -- fix(ui): expand usage of esc and enter for modals by [@CyanVoxel](https://github.com/CyanVoxel) in [#793](https://github.com/TagStudioDev/TagStudio/pull/793) +- fix(ui): expand usage of esc and enter for modals by @CyanVoxel in #793 #### Performance -- feat: improve performance of "Delete Missing Entries" by [@Toby222](https://github.com/Toby222) and [@Computerdores](https://github.com/Computerdores) in [#696](https://github.com/TagStudioDev/TagStudio/pull/696) +- feat: improve performance of "Delete Missing Entries" by @Toby222 and @Computerdores in #696 #### Internal Changes -- refactor: combine open launch args by [@UnusualEgg](https://github.com/UnusualEgg) in [#364](https://github.com/TagStudioDev/TagStudio/pull/364) -- feat: add date_created, date_modified, and date_added columns to entries table by [@CyanVoxel](https://github.com/CyanVoxel) in [#740](https://github.com/TagStudioDev/TagStudio/pull/740) +- refactor: combine open launch args by @UnusualEgg in #364 +- feat: add date_created, date_modified, and date_added columns to entries table by @CyanVoxel in #740 --- -## 9.5.0-pr4 [February 17th, 2025] +## 9.5.0-pr4 February 17th, 2025 ### Added -#### Custom User-Created Tag Colors ([@CyanVoxel](https://github.com/CyanVoxel) in [#801](https://github.com/TagStudioDev/TagStudio/pull/801)) +#### Custom User-Created Tag Colors (@CyanVoxel in #801) 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! @@ -546,46 +650,46 @@ TagStudio now has official translation support! Head to the new settings panel a Translation hosting generously provided by [Weblate](https://weblate.org/en/). Check out our [project page](https://hosted.weblate.org/projects/tagstudio/) to help translate TagStudio! Thank you to everyone who's helped contribute to the translations so far! -- translations: add string tokens for en.json by [@Bamowen](https://github.com/Bamowen) in [#507](https://github.com/TagStudioDev/TagStudio/pull/507) -- feat: translations by [@Computerdores](https://github.com/Computerdores) in [#662](https://github.com/TagStudioDev/TagStudio/pull/662) -- feat(ui): add language setting by [@CyanVoxel](https://github.com/CyanVoxel) in [#803](https://github.com/TagStudioDev/TagStudio/pull/803) +- translations: add string tokens for en.json by @Bamowen in #507 +- feat: translations by @Computerdores in #662 +- feat(ui): add language setting by @CyanVoxel in #803 Initial Languages: - Chinese (Traditional) (68%) - - [@brisu](https://github.com/brisu) + - @brisu - Dutch (35%) - - [@Pheubel](https://github.com/Pheubel) + - @Pheubel - Filipino (15%) - - [@searinminecraft](https://github.com/searinminecraft) + - @searinminecraft - French (89%) - - [@Bamowen](https://github.com/Bamowen), [@alessdangelo](https://github.com/alessdangelo), [@kitsumed](https://github.com/kitsumed), Obscaeris + - @Bamowen, @alessdangelo, @kitsumed, Obscaeris - German (73%) - - [@Ryussei](https://github.com/Ryussei), [@Computerdores](https://github.com/Computerdores), Aaron M + - @Ryussei, @Computerdores, Aaron M - Hungarian (89%) - - [@smileyhead](https://github.com/smileyhead) + - @smileyhead - Norwegian Bokmål (16%) - - [@comradekingu](https://github.com/comradekingu) + - @comradekingu - Polish (76%) - Anonymous - Portuguese (Brazil) (22%) - - [@LoboMetalurgico](https://github.com/LoboMetalurgico), [@SpaceFox1](https://github.com/SpaceFox1) + - @LoboMetalurgico, @SpaceFox1 - Russian (22%) - - [@The-Stolas](https://github.com/The-Stolas) + - @The-Stolas - Spanish (46%) - - [@gallegonovato](https://github.com/gallegonovato), [@Nginearing](https://github.com/Nginearing), [@noceno](https://github.com/noceno) + - @gallegonovato, @Nginearing, @noceno - Swedish (24%) - - [@adampawelec](https://github.com/adampawelec), [@mashed5894](https://github.com/mashed5894) + - @adampawelec, @mashed5894 - Tamil (22%) - - [@VasigaranAndAngel](https://github.com/VasigaranAndAngel) + - @VasigaranAndAngel - Toki Pona (32%) - - [@goldstargloww](https://github.com/goldstargloww) + - @goldstargloww - Turkish (22%) - - [@Nyghl](https://github.com/Nyghl) + - @Nyghl ### Fixed -- feat(about): clickable links to docs/discord/etc in about modal by [@SkeleyM](https://github.com/SkeleyM) in [#799](https://github.com/TagStudioDev/TagStudio/pull/799) +- feat(about): clickable links to docs/discord/etc in about modal by @SkeleyM in #799 ### Internal Changes @@ -593,11 +697,11 @@ This release increases the internal `DB_VERSION` to 8. Libraries created with th --- -## 9.5.0-pr3 [February 10th, 2025] +## 9.5.0-pr3 February 10th, 2025 ### Added -##### [#743](https://github.com/TagStudioDev/TagStudio/pull/743) by [@CyanVoxel](https://github.com/CyanVoxel) +##### #743 by @CyanVoxel Added "Smartcase" and Globless Path Search @@ -613,48 +717,48 @@ Glob Patterns w/ Smartcase - `path: *temp`: Returns all paths that end with "temp" **(Case insensitive)** somewhere in the name. - `path: *TEmP`: Returns all paths that end with "TEmP" **(Case sensitive)** somewhere in the name. -##### [#788](https://github.com/TagStudioDev/TagStudio/pull/788) by [@CyanVoxel](https://github.com/CyanVoxel) +##### #788 by @CyanVoxel - 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. ### Changed -- fix(ui): expand usage of esc and enter for modals by [@CyanVoxel](https://github.com/CyanVoxel) in [#793](https://github.com/TagStudioDev/TagStudio/pull/793) -- perf: optimize query methods and reduce preview panel updates by [@CyanVoxel](https://github.com/CyanVoxel) in [#794](https://github.com/TagStudioDev/TagStudio/pull/794) +- fix(ui): expand usage of esc and enter for modals by @CyanVoxel in #793 +- perf: optimize query methods and reduce preview panel updates by @CyanVoxel in #794 -##### [#788](https://github.com/TagStudioDev/TagStudio/pull/788) by [@CyanVoxel](https://github.com/CyanVoxel) +##### #788 by @CyanVoxel - Improved performance of tag search boxes, including the tag manager ### Fixed -- fix(ui): hide library actions when no library is open by [@CyanVoxel](https://github.com/CyanVoxel) in [#787](https://github.com/TagStudioDev/TagStudio/pull/787) -- feat: port file trashing ([#409](https://github.com/TagStudioDev/TagStudio/pull/409)) to v9.5 by [@CyanVoxel](https://github.com/CyanVoxel) in [#792](https://github.com/TagStudioDev/TagStudio/pull/792) +- fix(ui): hide library actions when no library is open by @CyanVoxel in #787 +- feat: port file trashing (#409) to v9.5 by @CyanVoxel in #792 ### Docs -- Added references to alternative POSIX shells, as well as pyenv to CONTRIBUTING.md by [@ChloeZamorano](https://github.com/ChloeZamorano) in [#791](https://github.com/TagStudioDev/TagStudio/pull/791) +- Added references to alternative POSIX shells, as well as pyenv to CONTRIBUTING.md by @ChloeZamorano in #791 --- -## 9.5.0-pr2 [February 3rd, 2025] +## 9.5.0-pr2 February 3rd, 2025 ### Added -##### [#784](https://github.com/TagStudioDev/TagStudio/pull/784) by [@CyanVoxel](https://github.com/CyanVoxel) +##### #784 by @CyanVoxel - Add Ctrl+M shortcut to open the "Tag Manager" ### Fixed -- fix: don't wrap field names too early by [@CyanVoxel](https://github.com/CyanVoxel) in [2215403](https://github.com/TagStudioDev/TagStudio/commit/2215403201e3b416a43ead0a322688180af6d71b) and [90a826d](https://github.com/TagStudioDev/TagStudio/commit/90a826d12804b3386a0b9003abb20f23f88ab3be) -- fix: save all tag attributes from "Create & Add" modal by [@SkeleyM](https://github.com/SkeleyM) in [#762](https://github.com/TagStudioDev/TagStudio/pull/762) -- fix: allow tag names with colons in search by [@SkeleyM](https://github.com/SkeleyM) in [#765](https://github.com/TagStudioDev/TagStudio/pull/765) -- fix: catch `ParsingError` by [@CyanVoxel](https://github.com/CyanVoxel) in [#779](https://github.com/TagStudioDev/TagStudio/pull/779) -- fix: patch incorrect description type & invalid disambiguation_id refs by [@CyanVoxel](https://github.com/CyanVoxel) in [#782](https://github.com/TagStudioDev/TagStudio/pull/782) +- fix: don't wrap field names too early by @CyanVoxel in 2215403201e3b416a43ead0a322688180af6d71b and 90a826d12804b3386a0b9003abb20f23f88ab3be +- fix: save all tag attributes from "Create & Add" modal by @SkeleyM in #762 +- fix: allow tag names with colons in search by @SkeleyM in #765 +- fix: catch `ParsingError` by @CyanVoxel in #779 +- fix: patch incorrect description type & invalid disambiguation_id refs by @CyanVoxel in #782 -##### [#784](https://github.com/TagStudioDev/TagStudio/pull/784) by [@CyanVoxel](https://github.com/CyanVoxel) +##### #784 by @CyanVoxel - Reset tag search box and focus each time a tag search panel is opened - Include tag parents in tag search results (v9.4 parity) @@ -666,7 +770,7 @@ Glob Patterns w/ Smartcase ### Changed -##### [#784](https://github.com/TagStudioDev/TagStudio/pull/784) by [@CyanVoxel](https://github.com/CyanVoxel) +##### #784 by @CyanVoxel - 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 - Add "Create & Add" button to the bottom of all non-whitespace searches, even if they return some tags @@ -679,21 +783,21 @@ Glob Patterns w/ Smartcase ### Internal Changes -- refactor: wrap migration_iterator lambda in a try/except block by [@CyanVoxel](https://github.com/CyanVoxel) in [#773](https://github.com/TagStudioDev/TagStudio/pull/773) +- refactor: wrap migration_iterator lambda in a try/except block by @CyanVoxel in #773 ### Docs -- docs: update field and library pages by [@CyanVoxel](https://github.com/CyanVoxel) in [f5ff4d7](https://github.com/TagStudioDev/TagStudio/commit/f5ff4d78c1ad53134e9c64698886aee68c0f1dc1) -- docs: add information about "tag manager" by [@CyanVoxel](https://github.com/CyanVoxel) in [9bdbafa](https://github.com/TagStudioDev/TagStudio/commit/9bdbafa40c4274922f6533b5b5fcee9a4fe43030) -- docs: add note about glob searching in the readme by [@CyanVoxel](https://github.com/CyanVoxel) in [6e402ac](https://github.com/TagStudioDev/TagStudio/commit/6e402ac34d2d60e71fbd36ad234fe3914d5eb8e0) -- docs: add library_search page by [@CyanVoxel](https://github.com/CyanVoxel) in [5be7dfc](https://github.com/TagStudioDev/TagStudio/commit/5be7dfc314b21042c18b2f08893f2b452d12394a) -- docs: docs: add more links to index.md by [@CyanVoxel](https://github.com/CyanVoxel) in [d795889](https://github.com/TagStudioDev/TagStudio/commit/d7958892b7762586837204d686a6a2a993e3c26e) -- docs: fix typo for "category" in usage.md by [@pinheadtf2](https://github.com/pinheadtf2) in [#760](https://github.com/TagStudioDev/TagStudio/pull/760) -- fix(docs): fix screenshot sometimes not rendering by [@SkeleyM](https://github.com/SkeleyM) in [#775](https://github.com/TagStudioDev/TagStudio/pull/775) +- docs: update field and library pages by @CyanVoxel in f5ff4d78c1ad53134e9c64698886aee68c0f1dc1 +- docs: add information about "tag manager" by @CyanVoxel in 9bdbafa40c4274922f6533b5b5fcee9a4fe43030 +- docs: add note about glob searching in the readme by @CyanVoxel in 6e402ac34d2d60e71fbd36ad234fe3914d5eb8e0 +- docs: add library_search page by @CyanVoxel in 5be7dfc314b21042c18b2f08893f2b452d12394a +- docs: docs: add more links to index.md by @CyanVoxel in d7958892b7762586837204d686a6a2a993e3c26e +- docs: fix typo for "category" in usage.md by @pinheadtf2 in #760 +- fix(docs): fix screenshot sometimes not rendering by @SkeleyM in #775 --- -## 9.5.0-pr1 [January 31st, 2025] +## 9.5.0-pr1 January 31st, 2025 ### Added @@ -701,88 +805,88 @@ Glob Patterns w/ Smartcase ##### Boolean Operators -- feat: implement query language by [@Computerdores](https://github.com/Computerdores) in [#606](https://github.com/TagStudioDev/TagStudio/pull/606) -- feat: optimize AND queries by [@Computerdores](https://github.com/Computerdores) in [#679](https://github.com/TagStudioDev/TagStudio/pull/679) +- feat: implement query language by @Computerdores in #606 +- feat: optimize AND queries by @Computerdores in #679 ##### Filetype, Mediatype, and Glob Path Searches -- fix: remove wildcard requirement for tags by [@Tyrannicodin](https://github.com/Tyrannicodin) in [#481](https://github.com/TagStudioDev/TagStudio/pull/481) -- feat: add filetype and mediatype searches by [@python357-1](https://github.com/python357-1) in [#575](https://github.com/TagStudioDev/TagStudio/pull/575) -- feat: make path search use globs by [@python357-1](https://github.com/python357-1) in [#582](https://github.com/TagStudioDev/TagStudio/pull/582) -- feat: implement search equivalence of "jpg" and "jpeg" filetypes by [@Computerdores](https://github.com/Computerdores) in [#649](https://github.com/TagStudioDev/TagStudio/pull/649) +- fix: remove wildcard requirement for tags by @Tyrannicodin in #481 +- feat: add filetype and mediatype searches by @python357-1 in #575 +- feat: make path search use globs by @python357-1 in #582 +- feat: implement search equivalence of "jpg" and "jpeg" filetypes by @Computerdores in #649 ##### Sortable Results -- feat: sort by "date added" in library by [@Computerdores](https://github.com/Computerdores) in [#674](https://github.com/TagStudioDev/TagStudio/pull/674) +- feat: sort by "date added" in library by @Computerdores in #674 ##### Autocomplete -- feat: add autocomplete for search engine by [@python357-1](https://github.com/python357-1) in [#586](https://github.com/TagStudioDev/TagStudio/pull/586) +- feat: add autocomplete for search engine by @python357-1 in #586 #### Replaced "Tag Fields" with Tag Categories 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. -- feat!: tag categories by [@CyanVoxel](https://github.com/CyanVoxel) in [#655](https://github.com/TagStudioDev/TagStudio/pull/655) +- feat!: tag categories by @CyanVoxel in #655 #### Thumbnails and File Previews ##### New Thumbnail Support -- feat: add svg thumbnail support (port [#442](https://github.com/TagStudioDev/TagStudio/pull/442)) by [@Tyrannicodin](https://github.com/Tyrannicodin) and [@CyanVoxel](https://github.com/CyanVoxel) in [#540](https://github.com/TagStudioDev/TagStudio/pull/540) -- feat: add pdf thumbnail support (port [#378](https://github.com/TagStudioDev/TagStudio/pull/378)) by [@Heiholf](https://github.com/Heiholf) and [@CyanVoxel](https://github.com/CyanVoxel) in [#543](https://github.com/TagStudioDev/TagStudio/pull/543) -- feat: add ePub thumbnail support (port [#387](https://github.com/TagStudioDev/TagStudio/pull/387)) by [@Heiholf](https://github.com/Heiholf) and [@CyanVoxel](https://github.com/CyanVoxel) in [#539](https://github.com/TagStudioDev/TagStudio/pull/539) -- feat: add OpenDocument thumbnail support (port [#366](https://github.com/TagStudioDev/TagStudio/pull/366)) by [@Joshua-Beatty](https://github.com/Joshua-Beatty) and [@CyanVoxel](https://github.com/CyanVoxel) in [#545](https://github.com/TagStudioDev/TagStudio/pull/545) -- feat: add JXL thumbnail and animated APNG + WEBP support (port [#344](https://github.com/TagStudioDev/TagStudio/pull/344) and partially port [#357](https://github.com/TagStudioDev/TagStudio/pull/357)) by [@BPplays](https://github.com/BPplays) and [@CyanVoxel](https://github.com/CyanVoxel) in [#549](https://github.com/TagStudioDev/TagStudio/pull/549) - - fix: catch ImportError for pillow_jxl module by [@CyanVoxel](https://github.com/CyanVoxel) in [a2f9685](https://github.com/TagStudioDev/TagStudio/commit/a2f9685bc0d744ea6f5334c6d2926aad3f6d375a) +- feat: add svg thumbnail support (port #442) by @Tyrannicodin and @CyanVoxel in #540 +- feat: add pdf thumbnail support (port #378) by @Heiholf and @CyanVoxel in #543 +- feat: add ePub thumbnail support (port #387) by @Heiholf and @CyanVoxel in #539 +- feat: add OpenDocument thumbnail support (port #366) by @Joshua-Beatty and @CyanVoxel in #545 +- feat: add JXL thumbnail and animated APNG + WEBP support (port #344 and partially port #357) by @BPplays and @CyanVoxel in #549 + - fix: catch ImportError for pillow_jxl module by @CyanVoxel in a2f9685bc0d744ea6f5334c6d2926aad3f6d375a ##### Audio Playback -- feat: audio playback by [@csponge](https://github.com/csponge) in [#576](https://github.com/TagStudioDev/TagStudio/pull/576) - - feat(ui): add audio volume slider by [@SkeleyM](https://github.com/SkeleyM) in [#691](https://github.com/TagStudioDev/TagStudio/pull/691) +- feat: audio playback by @csponge in #576 + - feat(ui): add audio volume slider by @SkeleyM in #691 ##### Thumbnail Caching -- feat(ui): add thumbnail caching by [@CyanVoxel](https://github.com/CyanVoxel) in [#694](https://github.com/TagStudioDev/TagStudio/pull/694) +- feat(ui): add thumbnail caching by @CyanVoxel in #694 #### Tags ##### Delete Tags _(Finally!)_ -- feat: remove and create tags from tag database panel by [@DandyDev01](https://github.com/DandyDev01) in [#569](https://github.com/TagStudioDev/TagStudio/pull/569) +- feat: remove and create tags from tag database panel by @DandyDev01 in #569 ##### New Tag Colors + UI -- feat: expanded tag color system by [@CyanVoxel](https://github.com/CyanVoxel) in [#709](https://github.com/TagStudioDev/TagStudio/pull/709) -- fix(ui): use correct pink tag color by [@CyanVoxel](https://github.com/CyanVoxel) in [431efe4](https://github.com/TagStudioDev/TagStudio/commit/431efe4fe93213141c763e59ca9887215766fd42) -- fix(ui): use consistent tag outline colors by [@CyanVoxel](https://github.com/CyanVoxel) in [020a73d](https://github.com/TagStudioDev/TagStudio/commit/020a73d095c74283d6c80426d3c3db8874409952) +- feat: expanded tag color system by @CyanVoxel in #709 +- fix(ui): use correct pink tag color by @CyanVoxel in 431efe4fe93213141c763e59ca9887215766fd42 +- fix(ui): use consistent tag outline colors by @CyanVoxel in 020a73d095c74283d6c80426d3c3db8874409952 ##### New Tag Alias UI -- fix: preview panel aliases not staying up to date with database by [@DandyDev01](https://github.com/DandyDev01) in [#641](https://github.com/TagStudioDev/TagStudio/pull/641) -- fix: subtags/parent tags & aliases update the UI for building a tag by [@DandyDev01](https://github.com/DandyDev01) in [#534](https://github.com/TagStudioDev/TagStudio/pull/534) +- fix: preview panel aliases not staying up to date with database by @DandyDev01 in #641 +- fix: subtags/parent tags & aliases update the UI for building a tag by @DandyDev01 in #534 #### Miscellaneous -- feat: about section by [@mashed5894](https://github.com/mashed5894) in [#712](https://github.com/TagStudioDev/TagStudio/pull/712) -- feat(ui): add configurable splash screens by [@CyanVoxel](https://github.com/CyanVoxel) in [#703](https://github.com/TagStudioDev/TagStudio/pull/703) -- feat(ui): show filenames in thumbnail grid by [@CyanVoxel](https://github.com/CyanVoxel) in [#633](https://github.com/TagStudioDev/TagStudio/pull/633) +- feat: about section by @mashed5894 in #712 +- feat(ui): add configurable splash screens by @CyanVoxel in #703 +- feat(ui): show filenames in thumbnail grid by @CyanVoxel in #633 ### Fixed -- fix(ui): display all tags in panel during empty search by [@samuellieberman](https://github.com/samuellieberman) in [#328](https://github.com/TagStudioDev/TagStudio/pull/328) -- fix: avoid `KeyError` in `add_folders_to_tree()` (fix [#346](https://github.com/TagStudioDev/TagStudio/issues/346)) by [@CyanVoxel](https://github.com/CyanVoxel) in [#347](https://github.com/TagStudioDev/TagStudio/pull/347) -- fix: error on closing library by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#484](https://github.com/TagStudioDev/TagStudio/pull/484) -- fix: resolution info [#550](https://github.com/TagStudioDev/TagStudio/issues/550) by [@Roc25](https://github.com/Roc25) in [#551](https://github.com/TagStudioDev/TagStudio/pull/551) -- fix: remove queued thumnail jobs when closing library by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#583](https://github.com/TagStudioDev/TagStudio/pull/583) -- fix: use absolute ffprobe path on macos (Fix [#511](https://github.com/TagStudioDev/TagStudio/issues/511)) by [@CyanVoxel](https://github.com/CyanVoxel) in [#629](https://github.com/TagStudioDev/TagStudio/pull/629) -- fix(ui): prevent duplicate parent tags in UI by [@SkeleyM](https://github.com/SkeleyM) in [#665](https://github.com/TagStudioDev/TagStudio/pull/665) -- fix: fix -o flag not working if path has whitespace around it by [@python357-1](https://github.com/python357-1) in [#670](https://github.com/TagStudioDev/TagStudio/pull/670) -- fix: better file opening compatibility with non-ascii filenames by [@SkeleyM](https://github.com/SkeleyM) in [#667](https://github.com/TagStudioDev/TagStudio/pull/667) -- fix: restore environment before launching external programs by [@mashed5894](https://github.com/mashed5894) in [#707](https://github.com/TagStudioDev/TagStudio/pull/707) -- fix: have pydub use known ffmpeg + ffprobe locations by [@CyanVoxel](https://github.com/CyanVoxel) in [#724](https://github.com/TagStudioDev/TagStudio/pull/724) -- fix: add ".DS_Store" to `GLOBAL_IGNORE_SET` by [@CyanVoxel](https://github.com/CyanVoxel) in [b72a2f2](https://github.com/TagStudioDev/TagStudio/commit/b72a2f233141db4db6aa6be8796b626ebd3f0756) -- fix: don't add ".\_" files to libraries by [@CyanVoxel](https://github.com/CyanVoxel) in [eb1f634](https://github.com/TagStudioDev/TagStudio/commit/eb1f634d386cd8a5ecee1e6ff6a0b7d8811550fa) +- fix(ui): display all tags in panel during empty search by @samuellieberman in #328 +- fix: avoid `KeyError` in `add_folders_to_tree()` (fix #346) by @CyanVoxel in #347 +- fix: error on closing library by @yedpodtrzitko in #484 +- fix: resolution info #550 by @Roc25 in #551 +- fix: remove queued thumnail jobs when closing library by @yedpodtrzitko in #583 +- fix: use absolute ffprobe path on macos (fix #511) by @CyanVoxel in #629 +- fix(ui): prevent duplicate parent tags in UI by @SkeleyM in #665 +- fix: fix -o flag not working if path has whitespace around it by @python357-1 in #670 +- fix: better file opening compatibility with non-ascii filenames by @SkeleyM in #667 +- fix: restore environment before launching external programs by @mashed5894 in #707 +- fix: have pydub use known ffmpeg + ffprobe locations by @CyanVoxel in #724 +- fix: add ".DS_Store" to `GLOBAL_IGNORE_SET` by @CyanVoxel in b72a2f233141db4db6aa6be8796b626ebd3f0756 +- fix: don't add ".\_" files to libraries by @CyanVoxel in eb1f634d386cd8a5ecee1e6ff6a0b7d8811550fa ### Changed @@ -790,78 +894,78 @@ Instead of tags needing to be added to a tag field type such as "Meta Tags", "Co 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. -- refactor!: use SQLite and SQLAlchemy for database backend by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#332](https://github.com/TagStudioDev/TagStudio/pull/332) -- feat: make search results more ergonomic by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#498](https://github.com/TagStudioDev/TagStudio/pull/498) -- feat: store `Entry` suffix separately by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#503](https://github.com/TagStudioDev/TagStudio/pull/503) -- feat: port thumbnail ([#390](https://github.com/TagStudioDev/TagStudio/pull/390)) and related features to v9.5 by [@CyanVoxel](https://github.com/CyanVoxel) in [#522](https://github.com/TagStudioDev/TagStudio/pull/522) -- fix: don't check db version with new library by [@yedpodtrzitko](https://github.com/yedpodtrzitko) in [#536](https://github.com/TagStudioDev/TagStudio/pull/536) -- fix(ui): update ui when removing fields by [@DandyDev01](https://github.com/DandyDev01) in [#560](https://github.com/TagStudioDev/TagStudio/pull/560) -- feat(parity): backend for aliases and parent tags by [@DandyDev01](https://github.com/DandyDev01) in [#596](https://github.com/TagStudioDev/TagStudio/pull/596) -- fix: "open in explorer" opens correct folder by [@KirilBourakov](https://github.com/KirilBourakov) in [#603](https://github.com/TagStudioDev/TagStudio/pull/603) -- fix: ui/ux parity fixes for thumbnails and files by [@CyanVoxel](https://github.com/CyanVoxel) in [#608](https://github.com/TagStudioDev/TagStudio/pull/608) -- feat(parity): migrate json libraries to sqlite by [@CyanVoxel](https://github.com/CyanVoxel) in [#604](https://github.com/TagStudioDev/TagStudio/pull/604) -- fix: clear all setting values when opening a library by [@VasigaranAndAngel](https://github.com/VasigaranAndAngel) in [#622](https://github.com/TagStudioDev/TagStudio/pull/622) -- fix: remove/rework windows path tests by [@VasigaranAndAngel](https://github.com/VasigaranAndAngel) in [#625](https://github.com/TagStudioDev/TagStudio/pull/625) -- fix: add check to see if library is loaded in filter_items by [@Roc25](https://github.com/Roc25) in [#547](https://github.com/TagStudioDev/TagStudio/pull/547) -- fix: multiple macro errors by [@Computerdores](https://github.com/Computerdores) in [#612](https://github.com/TagStudioDev/TagStudio/pull/612) -- fix: don't allow blank tag alias values in db by [@CyanVoxel](https://github.com/CyanVoxel) in [#628](https://github.com/TagStudioDev/TagStudio/pull/628) -- feat: Reimplement drag drop files on sql migration by [@seakrueger](https://github.com/seakrueger) in [#528](https://github.com/TagStudioDev/TagStudio/pull/528) -- fix: stop sqlite db from being updated while running tests by [@python357-1](https://github.com/python357-1) in [#648](https://github.com/TagStudioDev/TagStudio/pull/648) -- fix: enter/return adds top result tag by [@SkeleyM](https://github.com/SkeleyM) in [#651](https://github.com/TagStudioDev/TagStudio/pull/651) -- fix: show correct unlinked files count by [@SkeleyM](https://github.com/SkeleyM) in [#653](https://github.com/TagStudioDev/TagStudio/pull/653) -- feat: implement parent tag search by [@Computerdores](https://github.com/Computerdores) in [#673](https://github.com/TagStudioDev/TagStudio/pull/673) -- fix: only close add tag menu with no search by [@SkeleyM](https://github.com/SkeleyM) in [#685](https://github.com/TagStudioDev/TagStudio/pull/685) -- fix: drag and drop no longer resets by [@SkeleyM](https://github.com/SkeleyM) in [#710](https://github.com/TagStudioDev/TagStudio/pull/710) -- feat(ui): port "create and add tag" to main branch by [@SkeleyM](https://github.com/SkeleyM) in [#711](https://github.com/TagStudioDev/TagStudio/pull/711) -- fix: don't add default title field, use proper phrasing for adding files by [@CyanVoxel](https://github.com/CyanVoxel) in [#701](https://github.com/TagStudioDev/TagStudio/pull/701) -- fix: preview panel + main window fixes and optimizations by [@CyanVoxel](https://github.com/CyanVoxel) in [#700](https://github.com/TagStudioDev/TagStudio/pull/700) -- fix: sort tag results by [@mashed5894](https://github.com/mashed5894) in [#721](https://github.com/TagStudioDev/TagStudio/pull/721) -- fix: restore opening last library on startup by [@SkeleyM](https://github.com/SkeleyM) in [#729](https://github.com/TagStudioDev/TagStudio/pull/729) -- fix(ui): don't always create tag on enter by [@SkeleyM](https://github.com/SkeleyM) in [#731](https://github.com/TagStudioDev/TagStudio/pull/731) -- fix: use tag aliases in tag search by [@CyanVoxel](https://github.com/CyanVoxel) in [#726](https://github.com/TagStudioDev/TagStudio/pull/726) -- fix: keep initial id order in `get_entries_full()` by [@CyanVoxel](https://github.com/CyanVoxel) in [#736](https://github.com/TagStudioDev/TagStudio/pull/736) -- fix: always catch db mismatch by [@CyanVoxel](https://github.com/CyanVoxel) in [#738](https://github.com/TagStudioDev/TagStudio/pull/738) -- fix: relink unlinked entry to existing entry without sql error by [@mashed5894](https://github.com/mashed5894) in [#730](https://github.com/TagStudioDev/TagStudio/issues/730) -- fix: refactor and fix bugs with missing_files.py by [@CyanVoxel](https://github.com/CyanVoxel) in [#739](https://github.com/TagStudioDev/TagStudio/pull/739) -- fix: dragging files references correct entry IDs [@CyanVoxel](https://github.com/CyanVoxel) in [44ff17c](https://github.com/TagStudioDev/TagStudio/commit/44ff17c0b3f05570e356c112f005dbc14c7cc05d) -- ui: port splash screen from Alpha-v9.4 by [@CyanVoxel](https://github.com/CyanVoxel) in [af760ee](https://github.com/TagStudioDev/TagStudio/commit/af760ee61a523c84bab0fb03a68d7465866d0e05) -- fix: tags created from tag database now add aliases by [@CyanVoxel](https://github.com/CyanVoxel) in [2903dd2](https://github.com/TagStudioDev/TagStudio/commit/2903dd22c45c02498687073d075bb88886de6b62) -- fix: check for tag name parity during JSON migration by [@CyanVoxel](https://github.com/CyanVoxel) in [#748](https://github.com/TagStudioDev/TagStudio/pull/748) -- feat(ui): re-implement tag display names on sql by [@CyanVoxel](https://github.com/CyanVoxel) in [#747](https://github.com/TagStudioDev/TagStudio/pull/747) -- fix(ui): restore Windows accent color on PySide 6.8.0.1 by [@CyanVoxel](https://github.com/CyanVoxel) in [#755](https://github.com/TagStudioDev/TagStudio/pull/755) -- fix(ui): (mostly) fix right-click search option on tags by [@CyanVoxel](https://github.com/CyanVoxel) in [#756](https://github.com/TagStudioDev/TagStudio/pull/756) -- feat: copy/paste fields and tags by [@mashed5894](https://github.com/mashed5894) in [#722](https://github.com/TagStudioDev/TagStudio/pull/722) +- refactor!: use SQLite and SQLAlchemy for database backend by @yedpodtrzitko in #332 +- feat: make search results more ergonomic by @yedpodtrzitko in #498 +- feat: store `Entry` suffix separately by @yedpodtrzitko in #503 +- feat: port thumbnail (#390) and related features to v9.5 by @CyanVoxel in #522 +- fix: don't check db version with new library by @yedpodtrzitko in #536 +- fix(ui): update ui when removing fields by @DandyDev01 in #560 +- feat(parity): backend for aliases and parent tags by @DandyDev01 in #596 +- fix: "open in explorer" opens correct folder by @KirilBourakov in #603 +- fix: ui/ux parity fixes for thumbnails and files by @CyanVoxel in #608 +- feat(parity): migrate json libraries to sqlite by @CyanVoxel in #604 +- fix: clear all setting values when opening a library by @VasigaranAndAngel in #622 +- fix: remove/rework windows path tests by @VasigaranAndAngel in #625 +- fix: add check to see if library is loaded in filter_items by @Roc25 in #547 +- fix: multiple macro errors by @Computerdores in #612 +- fix: don't allow blank tag alias values in db by @CyanVoxel in #628 +- feat: Reimplement drag drop files on sql migration by @seakrueger in #528 +- fix: stop sqlite db from being updated while running tests by @python357-1 in #648 +- fix: enter/return adds top result tag by @SkeleyM in #651 +- fix: show correct unlinked files count by @SkeleyM in #653 +- feat: implement parent tag search by @Computerdores in #673 +- fix: only close add tag menu with no search by @SkeleyM in #685 +- fix: drag and drop no longer resets by @SkeleyM in #710 +- feat(ui): port "create and add tag" to main branch by @SkeleyM in #711 +- fix: don't add default title field, use proper phrasing for adding files by @CyanVoxel in #701 +- fix: preview panel + main window fixes and optimizations by @CyanVoxel in #700 +- fix: sort tag results by @mashed5894 in #721 +- fix: restore opening last library on startup by @SkeleyM in #729 +- fix(ui): don't always create tag on enter by @SkeleyM in #731 +- fix: use tag aliases in tag search by @CyanVoxel in #726 +- fix: keep initial id order in `get_entries_full()` by @CyanVoxel in #736 +- fix: always catch db mismatch by @CyanVoxel in #738 +- fix: relink unlinked entry to existing entry without sql error by @mashed5894 in #730 +- fix: refactor and fix bugs with missing_files.py by @CyanVoxel in #739 +- fix: dragging files references correct entry IDs @CyanVoxel in 44ff17c0b3f05570e356c112f005dbc14c7cc05d +- ui: port splash screen from Alpha-v9.4 by @CyanVoxel in af760ee61a523c84bab0fb03a68d7465866d0e05 +- fix: tags created from tag database now add aliases by @CyanVoxel in 2903dd22c45c02498687073d075bb88886de6b62 +- fix: check for tag name parity during JSON migration by @CyanVoxel in #748 +- feat(ui): re-implement tag display names on sql by @CyanVoxel in #747 +- fix(ui): restore Windows accent color on PySide 6.8.0.1 by @CyanVoxel in #755 +- fix(ui): (mostly) fix right-click search option on tags by @CyanVoxel in #756 +- feat: copy/paste fields and tags by @mashed5894 in #722 #### UI/UX -- feat(ui): pre-select default tag name in `BuildTagPanel` by [@Cool-Game-Dev](https://github.com/Cool-Game-Dev) in [#592](https://github.com/TagStudioDev/TagStudio/pull/592) -- feat(ui): keyboard navigation for editing tags by [@Computerdores](https://github.com/Computerdores) in [#407](https://github.com/TagStudioDev/TagStudio/pull/407) -- feat(ui): use tag query as default new tag name by [@CyanVoxel](https://github.com/CyanVoxel) in [29c0dfd](https://github.com/TagStudioDev/TagStudio/commit/29c0dfdb2d88e8f473e27c7f1fe7ede6e5bd0feb) -- feat(ui): shortcut to add tags to selected entries; change click behavior of tags to edit by [@CyanVoxel](https://github.com/CyanVoxel) in [#749](https://github.com/TagStudioDev/TagStudio/pull/749) -- fix(ui): use consistent dark mode colors for all systems by [@CyanVoxel](https://github.com/CyanVoxel) in [#752](https://github.com/TagStudioDev/TagStudio/pull/752) -- fix(ui): use camera white balance for raw images by [@CyanVoxel](https://github.com/CyanVoxel) in [6ee5304](https://github.com/TagStudioDev/TagStudio/commit/6ee5304b52f217af0f5df543fcb389649203d6b2) +- feat(ui): pre-select default tag name in `BuildTagPanel` by @Cool-Game-Dev in #592 +- feat(ui): keyboard navigation for editing tags by @Computerdores in #407 +- feat(ui): use tag query as default new tag name by @CyanVoxel in 29c0dfdb2d88e8f473e27c7f1fe7ede6e5bd0feb +- feat(ui): shortcut to add tags to selected entries; change click behavior of tags to edit by @CyanVoxel in #749 +- fix(ui): use consistent dark mode colors for all systems by @CyanVoxel in #752 +- fix(ui): use camera white balance for raw images by @CyanVoxel in 6ee5304b52f217af0f5df543fcb389649203d6b2 - 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. #### Performance -- feat: improve performance of "Delete Missing Entries" by [@Toby222](https://github.com/Toby222) and [@Computerdores](https://github.com/Computerdores) in [#696](https://github.com/TagStudioDev/TagStudio/pull/696) +- feat: improve performance of "Delete Missing Entries" by @Toby222 and @Computerdores in #696 #### Internal Changes -- refactor: combine open launch args by [@UnusualEgg](https://github.com/UnusualEgg) in [#364](https://github.com/TagStudioDev/TagStudio/pull/364) -- feat: add date_created, date_modified, and date_added columns to entries table by [@CyanVoxel](https://github.com/CyanVoxel) in [#740](https://github.com/TagStudioDev/TagStudio/pull/740) +- refactor: combine open launch args by @UnusualEgg in #364 +- feat: add date_created, date_modified, and date_added columns to entries table by @CyanVoxel in #740 --- -## 9.4.2 [December 1st, 2024] +## 9.4.2 December 1st, 2024 ### Added/Fixed -- Create auto-backup of library for use in save failures (Fix [#343](https://github.com/TagStudioDev/TagStudio/issues/343)) by [@CyanVoxel](https://github.com/CyanVoxel) in [#554](https://github.com/TagStudioDev/TagStudio/pull/554) +- Create auto-backup of library for use in save failures (fix #343) by @CyanVoxel in #554 --- -## 9.4.1 [September 13th, 2024] +## 9.4.1 September 13th, 2024 ### Added @@ -880,7 +984,7 @@ This was the main focus of this update, and where the majority of development ti --- -## 9.4.0 [September 3rd, 2024] +## 9.4.0 September 3rd, 2024 ### Added @@ -928,7 +1032,7 @@ This was the main focus of this update, and where the majority of development ti - Revamp Nix flake with devenv/direnv in cb4798b - Remove impurity of Nix flake when used with direnv in bc38e56 -## 9.3.2 [July 18th, 2024] +## 9.3.2 July 18th, 2024 ### Fixed @@ -945,7 +1049,7 @@ This was the main focus of this update, and where the majority of development ti --- -## 9.3.1 [June 13th, 2024] +## 9.3.1 June 13th, 2024 ### Fixed @@ -956,7 +1060,7 @@ This was the main focus of this update, and where the majority of development ti --- -## 9.3.0 [June 8th, 2024] +## 9.3.0 June 8th, 2024 ### Added @@ -988,7 +1092,7 @@ This was the main focus of this update, and where the majority of development ti --- -## 9.2.1 [May 23rd, 2024] +## 9.2.1 May 23rd, 2024 ### Added @@ -1006,7 +1110,7 @@ This was the main focus of this update, and where the majority of development ti --- -## 9.2.0 [May 14th, 2024] +## 9.2.0 May 14th, 2024 ### Added @@ -1058,7 +1162,7 @@ This was the main focus of this update, and where the majority of development ti --- -## 9.1.0 [April 22nd, 2024] +## 9.1.0 April 22nd, 2024 ### Added diff --git a/docs/colors.md b/docs/colors.md index 6316d0c6..99d1ce89 100644 --- a/docs/colors.md +++ b/docs/colors.md @@ -1,4 +1,5 @@ --- +title: Colors icon: material/palette --- diff --git a/docs/contributing.md b/docs/contributing.md index 0408ced2..d101f807 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,11 +1,12 @@ --- +title: Contributing icon: material/file-plus --- -# :material-file-plus: Contributing +# :material-file-plus: Contribution Guidelines Thank you so much for showing interest in contributing to TagStudio! This page goes over the instructions and guidelines for contributing to the TagStudio. This page will change over time, so make sure that your contributions still line up with the current guidelines before submitting a pull request. diff --git a/docs/developing.md b/docs/developing.md index 9ebcb554..58686616 100644 --- a/docs/developing.md +++ b/docs/developing.md @@ -1,4 +1,5 @@ --- +title: Developing icon: material/code-braces --- @@ -189,7 +190,7 @@ Pyright/basedpyright should automatically discover the configuration options ins ### Pytest -[Pytest](<(https://github.com/pytest-dev/pytest)>) runs our Python code against the tests inside the [`tests/`](https://github.com/TagStudioDev/TagStudio/tree/main/tests) directory. +[Pytest](https://github.com/pytest-dev/pytest) runs our Python code against the tests inside the [`tests/`](https://github.com/TagStudioDev/TagStudio/tree/main/tests) directory. Pytest is installed alongside the `pip install -e ".[dev]"` command. diff --git a/docs/entries.md b/docs/entries.md index 8b6d6ece..d16442c3 100644 --- a/docs/entries.md +++ b/docs/entries.md @@ -1,4 +1,5 @@ --- +title: Entries icon: material/file --- diff --git a/docs/fields.md b/docs/fields.md index 93edc2f7..768e61a8 100644 --- a/docs/fields.md +++ b/docs/fields.md @@ -1,4 +1,5 @@ --- +title: Fields icon: material/text-box --- diff --git a/docs/help/ffmpeg.md b/docs/help/ffmpeg.md index 4f3bb7a6..066dfd90 100644 --- a/docs/help/ffmpeg.md +++ b/docs/help/ffmpeg.md @@ -1,4 +1,5 @@ --- +title: Installing FFmpeg icon: material/movie-open-cog --- diff --git a/docs/install.md b/docs/install.md index d6dc76e0..d6619ea3 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,4 +1,5 @@ --- +title: Installation icon: material/download --- @@ -229,15 +230,17 @@ To generate thumbnails for RAR-based files (like `.cbr`) you'll need an extracto - :fontawesome-brands-apple: On macOS `unrar` can be installed through Homebrew's [`rar`](https://formulae.brew.sh/cask/rar) formula. - + + !!! warning ":fontawesome-brands-apple: macOS "Privacy & Security" Popup" - On macOS, you may be met with a message similar to "**"unrar" Not Opened. Apple could not verify "unrar" is free of malware that may harm your Mac or compromise your privacy**" If you encounter this, then you'll need to go to the "Settings" app, navigate to "Privacy & Security", and scroll down to a section that says "**"unrar" was blocked from use because it is not from an identified developer.**" Click the "Open Anyway" button to allow unrar to be used. + On macOS, you may be met with a message similar to "**"unrar" Not Opened. Apple could not verify "unrar" is free of malware that may harm your Mac or compromise your privacy**" If you encounter this, then you'll need to go to the "Settings" app, navigate to "Privacy & Security", and scroll down to a section that says "**"unrar" was blocked from use because it is not from an identified developer.**" Click the "Open Anyway" button to allow unrar to be used. - :fontawesome-brands-windows: On Windows you'll need to install either [`WinRAR`](https://www.rarlab.com/download.htm) or [`7-zip`](https://www.7-zip.org/) and add their folder to you `PATH`. - + + !!! tip "WinRAR License" - Both `unrar` and `WinRAR` require a license, but since the evaluation copy has no time limit you can simply dismiss the prompt. + Both `unrar` and `WinRAR` require a license, but since the evaluation copy has no time limit you can simply dismiss the prompt. ### ripgrep diff --git a/docs/libraries.md b/docs/libraries.md index decd7ac8..4c0c77c2 100644 --- a/docs/libraries.md +++ b/docs/libraries.md @@ -1,4 +1,5 @@ --- +title: Libraries icon: material/database --- diff --git a/docs/library-changes.md b/docs/library-changes.md index 11e69739..90ac93b5 100644 --- a/docs/library-changes.md +++ b/docs/library-changes.md @@ -1,4 +1,5 @@ --- +title: Library Format icon: material/database-edit --- @@ -98,9 +99,9 @@ Migration from the legacy JSON format is provided via a walkthrough when opening #### Version 100 -| Used From | Format | Location | -| ---------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- | -| [74383e3](https://github.com/TagStudioDev/TagStudio/commit/74383e3c3c12f72be1481ab0b86c7360b95c2d85) | SQLite | ``/.TagStudio/ts_library.sqlite | +| Used From | Format | Location | +| --------- | ------ | ----------------------------------------------- | +| 74383e3 | SQLite | ``/.TagStudio/ts_library.sqlite | - Introduces built-in minor versioning - The version number divided by 100 (and floored) constitutes the **major** version. Major version indicate breaking changes that prevent libraries from being opened in TagStudio versions older than the ones they were created in. @@ -109,9 +110,9 @@ Migration from the legacy JSON format is provided via a walkthrough when opening #### Version 101 -| Used From | Format | Location | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- | -| [12e074b](https://github.com/TagStudioDev/TagStudio/commit/12e074b71d8860282b44e49e0e1a41b7a2e4bae8)/[v9.5.4](https://github.com/TagStudioDev/TagStudio/releases/tag/v9.5.4) | SQLite | ``/.TagStudio/ts_library.sqlite | +| Used From | Format | Location | +| ------------------------------------------------------------------------------- | ------ | ----------------------------------------------- | +| 12e074b/[v9.5.4](https://github.com/TagStudioDev/TagStudio/releases/tag/v9.5.4) | SQLite | ``/.TagStudio/ts_library.sqlite | - Deprecates the `preferences` table, set to be removed in a future TagStudio version. - Introduces the `versions` table @@ -123,24 +124,24 @@ Migration from the legacy JSON format is provided via a walkthrough when opening #### Version 102 -| Used From | Format | Location | -| ---------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- | -| [71d0425](https://github.com/TagStudioDev/TagStudio/commit/71d04254cf87f4200bb7ffc81656e50dfb122e4d) | SQLite | ``/.TagStudio/ts_library.sqlite | +| Used From | Format | Location | +| --------- | ------ | ----------------------------------------------- | +| 71d0425 | SQLite | ``/.TagStudio/ts_library.sqlite | - Applies repairs to the `tag_parents` table created in [version 100](#version-100), removing rows that reference tags that have been deleted. -| Used From | Format | Location | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- | -| [88d0b47](https://github.com/TagStudioDev/TagStudio/commit/88d0b47a86821ccfadba653f30a515abce5b24b0)/[v9.5.7](https://github.com/TagStudioDev/TagStudio/releases/tag/v9.5.7) | SQLite | ``/.TagStudio/ts_library.sqlite | +| Used From | Format | Location | +| ------------------------------------------------------------------------------- | ------ | ----------------------------------------------- | +| 88d0b47/[v9.5.7](https://github.com/TagStudioDev/TagStudio/releases/tag/v9.5.7) | SQLite | ``/.TagStudio/ts_library.sqlite | - Adds the `is_hidden` column to the `tags` table (default `0`). Used for excluding entries tagged with hidden tags from library searches. - Sets the `is_hidden` field on the built-in Archived tag to `1`, to match the Archived tag now being hidden by default. #### Version 104 -| Used From | Format | Location | -| ---------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- | -| [ad2cbbc](https://github.com/TagStudioDev/TagStudio/commit/ad2cbbca483018d245b44348e2c4f5a0e0bb28f1) | SQLite | ``/.TagStudio/ts_library.sqlite | +| Used From | Format | Location | +| --------- | ------ | ----------------------------------------------- | +| ad2cbbc | SQLite | ``/.TagStudio/ts_library.sqlite | - Removes the `preferences` table, after migrating the contained extension list to the .ts_ignore file, if necessary. @@ -148,9 +149,9 @@ Migration from the legacy JSON format is provided via a walkthrough when opening #### Version 200 -| Used From | Format | Location | -| ---------------------------------------------------------------------------------------------------- | ------ | ----------------------------------------------- | -| [c15e2b5](https://github.com/TagStudioDev/TagStudio/commit/c15e2b56eedd0a3c13391fa43571b8f8f7c7a91f) | SQLite | ``/.TagStudio/ts_library.sqlite | +| Used From | Format | Location | +| --------- | ------ | ----------------------------------------------- | +| c15e2b5 | SQLite | ``/.TagStudio/ts_library.sqlite | - Adds `text_field_templates` and `date_field_templates` tables. - Drops `boolean_fields` and `value_type` tables. diff --git a/docs/macros.md b/docs/macros.md index 8660dd0a..bc45059b 100644 --- a/docs/macros.md +++ b/docs/macros.md @@ -1,4 +1,5 @@ --- +title: Tools & Macros icon: material/script-text --- diff --git a/docs/preview-support.md b/docs/preview-support.md index 25e5be5e..68d75a42 100644 --- a/docs/preview-support.md +++ b/docs/preview-support.md @@ -1,4 +1,5 @@ --- +title: Supported Previews icon: material/image-check --- diff --git a/docs/roadmap.md b/docs/roadmap.md index 3b9a04ed..b0af8e0a 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -1,4 +1,5 @@ --- +title: Roadmap icon: material/map-check --- @@ -143,7 +144,7 @@ Some form of official plugin support for TagStudio, likely with its own API that --- -## [Library](libraries.md) +## Library ### :material-wrench: Library Mechanics @@ -160,9 +161,9 @@ Some form of official plugin support for TagStudio, likely with its own API that - [x] Thumbnail Caching **[[v9.5.0](changelog.md#950-march-3rd-2025)]** - [ ] Audio Waveform Caching :material-chevron-double-up:{ .priority-med title="Medium Priority" } **[v9.7.x]** -### :material-grid: [Entries](entries.md) +### :material-grid: Entries -Library representations of files or file-like objects. +File or file-like [entries](entries.md) stored in the library. - [x] File Entries **[v1.0.0]** - [ ] Folder Entries :material-chevron-triple-up:{ .priority-high title="High Priority" } @@ -181,7 +182,7 @@ Library representations of files or file-like objects. - [ ] Group is treated as entry with tags and metadata :material-chevron-double-up:{ .priority-med title="Medium Priority" } - [ ] Nested groups :material-chevron-double-up:{ .priority-med title="Medium Priority" } -### :material-tag-text: [Tags](tags.md) +### :material-tag-text: Tags Discrete library objects representing [attributes](). Can be applied to library [entries](entries.md), or applied to other tags to build traversable relationships. @@ -212,7 +213,7 @@ Discrete library objects representing [attributes]( +
  • - - + + + + + {% if toc_item.typeset %} + + {{ toc_item.typeset.title }} + + + + {% else %} {{ toc_item.title }} - - + {% endif %} + + {% if toc_item.children %} diff --git a/pyproject.toml b/pyproject.toml index dfac463b..d3dc8a40 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,7 +43,7 @@ dependencies = [ [project.optional-dependencies] dev = ["tagstudio[mkdocs,pyright,pre-commit,pyinstaller,pytest,ruff]"] -mkdocs = ["mkdocs-material[imaging]>=9.6.14", "mkdocs-redirects~=1.2"] +mkdocs = ["mkdocs-material[imaging]>=9.7", "mkdocs-redirects~=1.2"] pyright = ["pyright~=1.1.409"] pre-commit = ["pre-commit~=4.2"] pyinstaller = ["Pyinstaller~=6.13"]