Skip to content

Commit 7964c7c

Browse files
authored
Merge pull request #1321 from bact/changlog-530
Update changelog for 5.3.0
2 parents 59edaea + ad7ca4b commit 7964c7c

1 file changed

Lines changed: 30 additions & 16 deletions

File tree

CHANGELOG.md

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ and this project adheres to
1515
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1616

1717
- Full release notes: <https://github.com/PyThaiNLP/pythainlp/releases>
18-
- Commit history: <https://github.com/PyThaiNLP/pythainlp/compare/v5.2.0...HEAD>
18+
- Commit history: <https://github.com/PyThaiNLP/pythainlp/compare/v5.2.0...5.3.0>
1919

20-
## [Unreleased]
20+
## [5.3.0] - 2026-03-10
2121

2222
This release focuses on stability and performance, featuring optimized memory
2323
efficiency, better read-only environment support, and standardized error
@@ -30,22 +30,29 @@ The minimum requirement is now Python 3.9.
3030
### Added
3131

3232
- Tapsai et al. 2020 soundex (#1175)
33+
- Thai profanity detection (#1183)
34+
- Qwen3-0.6B language model (#1217)
3335
- Thai-NNER integration with top-level entity filtering (#1221)
36+
- `pythainlp.braille` module for Thai braille conversion (#1287)
3437
- BLEU, ROUGE, WER, and CER metrics to `pythainlp.benchmarks` (#1295)
3538
- Attaparse engine to dependency parser
3639
(`dependency_parsing`, engine="attaparse") (#1303)
37-
- `pythainlp.is_offline_mode()` helper function (#1306)
40+
- `pythainlp.is_offline_mode()` helper function;
41+
use `PYTHAINLP_OFFLINE=1` to disable automatic corpus downloads (#1306)
3842
- Thai consonant cluster detection (`check_khuap_klam`) (#1308)
3943
- `pythainlp.is_read_only_mode()` helper function;
40-
use `PYTHAINLP_READ_ONLY=1` to prevent all write operations
44+
use `PYTHAINLP_READ_ONLY=1` to prevent all write operations (#1317)
4145

4246
### Changed
4347

48+
- Optimized for performance (#1182, #1237, #1320)
4449
- Lazy load dictionaries to reduce memory usage (#1186)
45-
- Migrate configurations to `pyproject.toml` (#1188, #1226, #1239)
46-
- Update type hints; use Python 3.9 features (#1189, #1190)
50+
- Migrate configurations to `pyproject.toml` (#1188, #1190, #1226, #1239)
51+
- Update type hints; use Python 3.9 features (#1189, #1190, #1232,
52+
#1262, #1263, #1264, #1274, etc.)
4753
- Make package zip-safe (#1212)
4854
- Ensure thread-safety for tokenizers (#1213)
55+
- Replace TNC word frequency dataset with Phupha filtered by ORST words (#1284)
4956
- Reorganize "noauto" test suite by dependency groups
5057
(torch, tensorflow, onnx, cython, network) (#1290)
5158
- `get_corpus_path()` now respects `PYTHAINLP_OFFLINE` env var
@@ -55,7 +62,6 @@ The minimum requirement is now Python 3.9.
5562
- Callers raise `FileNotFoundError` with download instructions when
5663
a corpus path cannot be resolved (#1306)
5764
- Migrate build backend to `hatchling` (#1311)
58-
- Update HTTP links to HTTPS in source files and documentation
5965

6066
### Deprecated
6167

@@ -75,16 +81,24 @@ The minimum requirement is now Python 3.9.
7581

7682
### Fixed
7783

78-
- Consonant cluster boundary issue in `royin` romanization (#1172)
79-
- Final consonant classification in `check_marttra()` (#1173)
80-
- Kho Khon alphabet issue in `tltk` transliteration (#1187)
84+
- `royin` romanization: Consonant cluster boundary (#1172)
85+
- `check_marttra()`: Final consonant classification (#1173)
86+
- Base dependencies (#1185)
87+
- `tltk` transliteration: Kho Khon alphabet issue in (#1187)
88+
- Fix tone_detector and sound_syllable bugs (#1197)
89+
- `normalize()`: Remove spaces before tone marks and non-base
90+
characters (#1222)
8191
- Suppress Gensim duplicate-word warnings when loading word2vec
8292
binary files (#1316)
83-
- `db.json` is no longer created on import; created lazily only
84-
when a corpus is first downloaded (#1317)
85-
- Exponential-time explosion in "newmm" tokenization
86-
engine when tokenizing text with many ambiguous
87-
breaking points (#1319)
93+
- `db.json`: created lazily only when a corpus is first
94+
downloaded (#1317)
95+
- `newmm` tokenization: Exponential-time explosion when text has
96+
many ambiguous breaking points (#1319)
97+
98+
### Security
99+
100+
- Prevent path traversal and symlink attacks in archive extraction
101+
(#1225)
88102

89103
## [5.2.0] - 2025-12-20
90104

@@ -187,7 +201,7 @@ The minimum requirement is now Python 3.9.
187201

188202
- See <https://github.com/PyThaiNLP/pythainlp/releases/tag/v5.0.0>
189203

190-
[Unreleased]: https://github.com/PyThaiNLP/pythainlp/compare/v5.2.0...HEAD
204+
[5.3.0]: https://github.com/PyThaiNLP/pythainlp/compare/v5.2.0...v5.3.0
191205
[5.2.0]: https://github.com/PyThaiNLP/pythainlp/compare/v5.1.2...v5.2.0
192206
[5.1.2]: https://github.com/PyThaiNLP/pythainlp/compare/v5.1.1...v5.1.2
193207
[5.1.1]: https://github.com/PyThaiNLP/pythainlp/compare/v5.1.0...v5.1.1

0 commit comments

Comments
 (0)