Releases: vagabondHustler/subsearch
3.0.0
TL;DR
Subsearch 3.0.0 introduces a new PySide6 UI, smarter subtitle matching with customizable scoring, and new TVsubtitles and Gestdown providers. The Subtitle Workspace replaces the old download manager with in-app searches, drag-and-drop support, fuzzy matching, and IMDb/episode suggestions. Subsource now works with a user-provided API key. The release also adds improved networking, crash recovery, diagnostics, logging, bug reporting, and performance improvements.
‼️ Breaking changes:
- Subsearch is now licensed under GPL v3 instead of MIT.
Downstream users and redistributors are bound by the GPL v3 copyleft
terms, including the obligation to provide corresponding source. - e029c0a
✨ Features:
- season/episode suggestions, raw subtitle downloads, and lazy UI init - ab5dbb4
- providers: add Gestdown provider for TV series subtitles - 9eb3fae
- providers: add TvSubtitles provider for TV series subtitles - 37fe835
- io: add a crash-recovery file tracker and configurable post-processing paths - 585ac7e
- pre-import the UI in a background thread to reduce startup latency - cf90669
- diagnostics: add provider health diagnostics - 487ecb8
- logging: add a structured log catalog, crash log, and secret sanitizer - 02cb42e
- config: switch the config format from TOML to JSON - 32408e3
- io: replace cloudscraper with a curl_cffi HTTP session - ceea463
- providers: add mirror fallback and per-subtitle download isolation - d810332
- providers: use the Subsource official v1 API to bypass Cloudflare - f0db8ab
- parsing: add IMDb title suggestions and typed-term release parsing - 5c2b384
- parsing: introduce token-scoring system for more accurate matches - b455d07
- ui: add token-tuning grid with float multipliers and new input widgets - f9947f7
- ui: rework the download manager into a live-search Subtitle workspace - 55fb00c
- ui: rework settings into role-based cards with live preview and restore-defaults - 7c5a307
- ui: replace tkinter GUI with a PySide6 settings and download-manager UI - 768c7a0
- relicense subsearch under GPL v3 - e029c0a
🐛 Fixes:
- io: harden zip extraction and report download success honestly - 6c17083
- resolve icon path and cx_Freeze base name for 8.6.4 compatibility - 3c0dbfc
- use 'gui' base for cx_Freeze Executable (Win32GUI removed in 8.6.4) - 63f13d0
⚙️ Other:
- reconcile registry in all modes, expand CI test report - 3cb08f1
- consolidate runtime keys, restructure UI, and extend test suite - 52c1386
- restructure into domain packages and centralize runtime keys - 76de5e6
VirusTotal: Subsearch-3.0.0-win64.msi
VirusTotal: Subsearch.exe
Full changelog: 2.47.7...3.0.0
2.47.7
🐛 Fixes:
- Fix method signature for _sanitize_filename in _PrepareSubtitleDownload class - PR861
VirusTotal analysis: Subsearch-2.47.7-win64.msi
VirusTotal analysis: Subsearch.exe
Full changelog: 2.47.7
2.47.6
🐛 Fixes:
- Fix method signature nr2 - PR858
VirusTotal analysis: Subsearch-2.47.6-win64.msi
VirusTotal analysis: Subsearch.exe
Full changelog: 2.47.6
2.47.2
🐛 Fixes:
- Fix download manager and subtitle post processing - PR770
- Fix subtitle post processing not running in some cases - PR775
⚙️ Other:
- Bump pytest-cov from 6.0.0 to 6.1.1 - PR773
- Bump cx-freeze from 8.0.0 to 8.1.0 - PR772
- Bump tox from 4.24.2 to 4.25.0 - PR771
- Use native run app after installer finished - PR774
- Add missing function annotations - PR776
VirusTotal analysis: Subsearch-2.47.2-win64.msi
VirusTotal analysis: Subsearch.exe
Full changelog: 2.47.2
2.47.1
🐛 Fixes:
- Fix Move best/all subtitle(s) to destination folder - PR767
⚙️ Other:
- Bump pytest from 8.3.1 to 8.3.2 - PR702
- Bump black from 24.4.2 to 24.8.0 - PR705
- Bump mypy from 1.11.0 to 1.11.1 - PR704
- Bump mikepenz/release-changelog-builder-action from 4 to 5 - PR703
- Bump tox from 4.16.0 to 4.18.0 - PR708
- Bump build from 1.2.1 to 1.2.2 - PR711
- Bump tox from 4.18.0 to 4.18.1 - PR710
- Bump mypy from 1.11.1 to 1.11.2 - PR709
- Bump cx-freeze from 7.2.0 to 7.2.1 - PR712
- Bump pytest from 8.3.2 to 8.3.3 - PR713
- Bump psutil from 6.0.0 to 6.1.0 - PR728
- Bump tox from 4.18.1 to 4.23.0 - PR727
- Bump pillow from 10.4.0 to 11.0.0 - PR726
- Bump mypy from 1.11.2 to 1.12.0 - PR724
- Bump cx-freeze from 7.2.1 to 7.2.3 - PR719
- Bump selectolax from 0.3.21 to 0.3.24 - PR723
- Bump build from 1.2.2 to 1.2.2.post1 - PR721
- Bump selectolax from 0.3.24 to 0.3.26 - PR739
- Bump cx-freeze from 7.2.3 to 7.2.5 - PR738
- Bump packaging from 24.1 to 24.2 - PR737
- Bump pytest-cov from 5.0.0 to 6.0.0 - PR736
- Bump mypy from 1.12.0 to 1.13.0 - PR732
- Bump black from 24.8.0 to 24.10.0 - PR730
- Bump tox from 4.23.0 to 4.23.2 - PR733
- Bump cx-freeze from 7.2.5 to 7.2.7 - PR741
- Bump pytest from 8.3.3 to 8.3.4 - PR743
- Bump psutil from 6.1.0 to 6.1.1 - PR746
- Bump num2words from 0.5.13 to 0.5.14 - PR745
- Bump mypy from 1.13.0 to 1.14.0 - PR747
- Bump twine from 5.1.1 to 6.0.1 - PR742
- Bump psutil from 6.1.1 to 7.0.0 - PR758
- Bump cx-freeze from 7.2.7 to 7.2.10 - PR757
- Bump mypy from 1.14.0 to 1.15.0 - PR756
- Bump tox from 4.23.2 to 4.24.1 - PR752
- Bump pillow from 11.0.0 to 11.1.0 - PR749
- Bump isort from 5.13.2 to 6.0.0 - PR753
- Bump twine from 6.0.1 to 6.1.0 - PR751
- Bump black from 24.10.0 to 25.1.0 - PR754
- Bump python-dotenv from 1.0.1 to 1.1.0 - PR765
- Bump cx-freeze from 7.2.10 to 8.0.0 - PR764
- Bump selectolax from 0.3.26 to 0.3.28 - PR760
- Bump isort from 6.0.0 to 6.0.1 - PR761
- Bump tox from 4.24.1 to 4.24.2 - PR763
- Bump pytest from 8.3.4 to 8.3.5 - PR762
VirusTotal analysis: Subsearch-2.47.1-win64.msi
VirusTotal analysis: Subsearch.exe
Full changelog: 2.47.1
2.47.0
✨ Features:
- Implement subsource as a provider - PR697
- API call limit, request connection timeout, and request read timeout can now be controlled through the GUI - PR700
🐛 Fixes:
- Fix infinite loop if a provider can't be reached - PR700
- Fix bug in tests - PR697
- Fix downloaded message in summary toast - PR697
- Fix unmatched f-string - PR697
- Fix incorrect value being displayed during download - PR697
⚙️ Other:
- Bump tox from 4.15.0 to 4.16.0 - PR694
- Bump pillow from 10.3.0 to 10.4.0 - PR693
- Bump twine from 5.0.0 to 5.1.1 - PR692
- Bump mypy from 1.10.0 to 1.10.1 - PR691
- Bump packaging from 24.0 to 24.1 - PR687
- Bump requests from 2.31.0 to 2.32.3 - PR683
- Bump psutil from 5.9.8 to 6.0.0 - PR690
- Bump pyperclip from 1.8.2 to 1.9.0 - PR689
- Bump pytest from 8.2.0 to 8.2.2 - PR685
- Bump cx-freeze from 7.0.0 to 7.1.1 - PR688
- Bump cx-freeze from 7.1.1 to 7.2.0 - PR696
- Bump mypy from 1.10.1 to 1.11.0 - PR699
- Bump pytest from 8.2.2 to 8.3.1 - PR698
VirusTotal analysis: Subsearch-2.47.0-win64.msi
VirusTotal analysis: Subsearch.exe
Full changelog: 2.47.0
Btw, subsearch-2.47.0.zip and subsearch-2.47.0.tar.gz are one PR behind and do not include PR701, which they should.
2.46.0
⚙️ Other:
VirusTotal analysis: Subsearch-2.46.0-win64.msi
VirusTotal analysis: Subsearch.exe
Full changelog: 2.46.0
2.45.1
🐛 Fixes:
- KeyError - PR671
⚙️ Other:
VirusTotal analysis: Subsearch-2.45.1-win64.msi
VirusTotal analysis: Subsearch.exe
Full changelog: 2.45.1
2.45.0
🐛 Fixes:
- Fix unnecessary creation of threads - PR662
- Fix partially initialized module - PR664
- Fix partially initialized module - PR665
- Fix value error caused by ongoing show year - PR663
💤 Chores:
- Chore remove support for python 3.10 & 3.11 - PR666
📦 Dependencies & workflows:
- Bump TimonVS/pr-labeler-action from 4 to 5 - PR652
- Bump softprops/action-gh-release from 1 to 2 - PR653
- Bump dorny/paths-filter from 2 to 3 - PR651
VirusTotal analysis: Subsearch-2.45.0-win64.msi
VirusTotal analysis: Subsearch.exe
Full changelog: 2.45.0
2.44.1
Note
Support for Python 3.10 and 3.11 will be dropped in next minor release
🐛 Fixes:
- Fix pillow buffer overflow vulnerability #640
VirusTotal analysis: Subsearch-2.44.1-win64.msi
VirusTotal analysis: Subsearch.exe
Full changelog: 2.44.1
