Repository navigation
π Highlights
- Added Python 3.15 support, with CI covering Python 3.10β3.15 on Linux, Windows, and macOS #66
- Added SHA-256 verification for standard family-name dictionaries and GBDT models, with automatic recovery of missing or corrupted caches #70
- Valid caches remain usable offline, and verified downloads are published through atomic replacement #70
Python 3.9 is no longer included in the officially supported test matrix. Installation on older Python versions remains unrestricted, with compatibility provided on a best-effort basis #66
π Bug Fixes
- Fixed OS-dependent newline handling in text dictionaries and CLI input, including trailing
\rcharacters in CRLF files #68 - Empty and whitespace-only lines are ignored; CLI commands complete without output for empty input #68
- Rust now reports unsupported custom
algorithm_namesettings instead of silently ignoring them. Benchmark examples also include the required--no-mask-cacheoption #69
π Compatibility Notes
Typical use of BasicNameDivider() and GBDTNameDivider() requires no migration. These notes apply to specialized custom setups and direct use of utility functions:
- If you have manually replaced the standard
family_name_repository.pickleorgbdt_model_v1.txtcache files with custom data, move those files to a separate path and configurepath_family_namesorpath_model. Standard cache paths are now reserved for verified official assets #70 - Custom pickle dictionaries remain usable but are deprecated; UTF-8 text dictionaries are recommended for custom data. Standard distribution pickles remain supported #71
- Legacy
download_*_if_needed()helpers remain available with deprecation warnings. No removal version has been scheduled #70
π οΈ Infrastructure Changes
- Added manually dispatched TestPyPI and PyPI workflows using Trusted Publishing, with distribution validation and isolated installation smoke tests #67
- Updated development dependencies and pinned the Rust backend test dependency to
namedivider-core==0.4.0#66
For detailed explanations and configuration notes, see the v0.4.2 pull request: #65