Skip to content

v0.4.2

Latest

Choose a tag to compare

@rskmoi rskmoi released this 12 Oct 06:23
7e6a615

πŸš€ 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 \r characters 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_name settings instead of silently ignoring them. Benchmark examples also include the required --no-mask-cache option #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.pickle or gbdt_model_v1.txt cache files with custom data, move those files to a separate path and configure path_family_names or path_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