* Mon Sep 07 2026 Daniel Garcia <daniel.garcia@suse.com>
- Add custom patch to replace python-joblib dep with
multiprocessing.Pool
* remove-joblib-dep.patch
* Mon Aug 24 2026 Daniel Garcia <daniel.garcia@suse.com>
- Update to 3.10.3 (CVE-2026-71513, bsc#1276253, CVE-2026-71514, bsc#1276252):
* docs: wrap Chat-80 HOWTO output
* Sandbox Stanford JAR execution to nltk_data directories
* Harden path-traversal / file-I/O sandbox: close write-side symlink
TOCTOU + shared-temp squat, lock the cluster with a living audit
(CWE-22/59/377)
* Extend algorithmic-complexity DoS hardening: repo-wide sweep +
two-string distances (CWE-407/CWE-400)
* Bound unbounded-work DoS in parsers and grammar transforms
(CWE-407/674/835)
* fix(security): sandbox MaltParser's Java execution
(CVE-2026-12252, CVE-2026-12841)
* fix(security): trust the system temp dir only when it is private
(CWE-377/CWE-378)
* fix(security): validate corpus-reader roots against the data
sandbox (CWE-73)
* fix(security): validate per-call java() options and replace the
- XX:/-D allowlist with a minimal one (CWE-88)
* Additional security hardening (CWE-407, CWE-426, CWE-427, CWE-502,
CWE-59, CWE-776, CWE-918)
* Wed Aug 12 2026 Daniel Garcia <daniel.garcia@suse.com>
- Update to 3.10.2 (CVE-2026-12372, bsc#1274590):
* Remove inisec.py and document PYTHONSAFEPATH instead
* Skip draft step in release workflow
* Fix symlink escape in FramenetCorpusReader (CWE-59)
* Guard tempfile.gettempdir() when building pathsec allowed roots
* add tests for transitive_closure
* Mon Aug 03 2026 Markéta Machová <mmachova@suse.com>
- Update to 3.10.1
* fix ReDoS in TweetTokenizer url and email regexes
* Prevent module hijacking in inline imports
* use exact thirds in masi_distance
* Fix uncontrolled search path in HunposTagger
* Fix word_tokenize: pad opening single quote before multi-letter words
* Avoid retaining bllip import exceptions
* Implement Tree.pformat_latex_forest
* fix(security): validate types after wordnet_app pickle deserialization
* Expand ~ in env-var paths (NLTK_DATA, find_file_iter)
* Add custom import hook to prevent module hijacking from CWD
* detokenize periods mid-string, not just the last one
* don't collapse repeated non-Latin letters in TweetTokenizer
* Thu Jun 18 2026 Markéta Machová <mmachova@suse.com>
- Update to 3.10.0rc1 (CVE-2026-54293, bsc#1268526, bsc#1273252, CVE-2026-12061,
bsc#1273254, CVE-2026-12072, bsc#1273255, CVE-2026-12074, bsc#1273256, CVE-2026-12075)
* Let TextCat.guess_language return Unknown for ties (optional)
* fix(security): block XML entity expansion in downloader index parsing
* Fix FunctionalCategory.substitute() ignoring substituted direction
* Fix APP_RE rejecting variable direction underscore
* Precompute unigram fallback per candidate in TnT decoder
* fix(security): prevent DNS-rebinding SSRF in pathsec.urlopen
* fix(security): block URL-encoded path traversal in nltk: resource URLs
* fix(security): block path traversal in NKJPCorpusReader
* fix(security): block path traversal in FramenetCorpusReader.frame()
* fix(security): prevent ReDoS in ReviewsCorpusReader FEATURES regex (CWE-1333)
* Document NLTK's new security policy
* Tue Oct 29 2024 Daniel Garcia <daniel.garcia@suse.com>
- Use _service to download source and exclude documentation that has
non-commercial license (boo#1232448)
- Remove nltk_data to avoid redistribution of files with
non-commercial (boo#1232448):
> NLTK corpora are provided under the terms given in the README file
> for each corpus; all are redistributable and available for
> non-commercial use.
- Remove not needed skip-networked-test.patch
* Mon Sep 30 2024 Thiago Bertoldi <thiago.bertoldi@suse.com>
- Update to to 3.9.1 (changes since 3.8.1):
* Fixed bug that prevented wordnet from loading
* Fix security vulnerability CVE-2024-39705 (breaking change)
* Replace pickled models (punkt, chunker, taggers) by new
pickle-free "_tab" packages
* No longer sort Wordnet synsets and relations (sort in calling
function when required)
* Only strip the last suffix in Wordnet Morphy, thus
restricting synsets() results
* Add Python 3.12 support
* Many other minor fixes
- Refresh nltk_data
- Remome upstreamed patches:
- CVE-2024-39705.patch
- nltk-pr3207-py312.patch
* Mon Jul 01 2024 Matej Cepl <mcepl@cepl.eu>
- Use tarball from GitHub instead of the Zip archive from PyPI,
the latter has very messy combination of CRLF and LF EOLs,
which are hard to patch.
- Refresh all patches from the original locations.
- Add CVE-2024-39705-disable-download.patch to make a crude
workaround around CVE-2024-39705 (gh#nltk/nltk#3266,
bsc#1227174).
* Thu Mar 21 2024 Ben Greiner <code@bnavigator.de>
- Update to 3.8.1
* Resolve RCE & XSS vulnerabilities in localhost WordNet Browser
* Add Python 3.11 support
- Update nltk_data archive
- Drop port-2to3.patch
- Add nltk-pr3207-py312.patch for Python 3.12 support
* gh#nltk/nltk#3207
* Tue Mar 28 2023 pgajdos@suse.com
- python-six is not required
* Fri Jan 06 2023 Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to 3.8
* Refactor dispersion plot (#3082)
* Provide type hints for LazyCorpusLoader variables (#3081)
* Throw warning when LanguageModel is initialized with incorrect vocabulary (#3080)
* Fix WordNet's all_synsets() function (#3078)
* Resolve TreebankWordDetokenizer inconsistency with end-of-string contractions (#3070)
* Support both iso639-3 codes and BCP-47 language tags (#3060)
* Avoid DeprecationWarning in Regexp tokenizer (#3055)
* Fix many doctests, add doctests to CI (#3054, #3050, #3048)
* Fix bool field not being read in VerbNet (#3044)
* Greatly improve time efficiency of SyllableTokenizer when tokenizing numbers (#3042)
* Fix encodings of Polish udhr corpus reader (#3038)
* Allow TweetTokenizer to tokenize emoji flag sequences (#3034)
* Prevent LazyModule from increasing the size of nltk.__dict__ (#3033)
* Fix CoreNLPServer non-default port issue (#3031)
* Add "acion" suffix to the Spanish SnowballStemmer (#3030)
* Allow loading WordNet without OMW (#3026)
* Use input() in nltk.chat.chatbot() for Jupyter support (#3022)
* Fix edit_distance_align() in distance.py (#3017)
* Tackle performance and accuracy regression of sentence tokenizer since NLTK 3.6.6 (#3014)
* Add the Iota operator to semantic logic (#3010)
* Resolve critical errors in WordNet app (#3008)
* Resolve critical error in CHILDES Corpus (#2998)
* Make WordNet information_content() accept adjective satellites (#2995)
* Add "strict=True" parameter to CoreNLP (#2993, #3043)
* Resolve issue with WordNet's synset_from_sense_key (#2988)
* Handle WordNet synsets that were lost in mapping (#2985)
* Resolve TypeError in Boxer (#2979)
* Add function to retrieve WordNet synonyms (#2978)
* Warn about nonexistent OMW offsets instead of raising an error (#2974)
* Fix missing ic argument in res, jcn and lin similarity functions of WordNet (#2970)
* Add support for the extended OMW (#2946)
* Fix LC cutoff policy of text tiling (#2936)
* Optimize ConditionalFreqDist.__add__ performance (#2939)
* Add Markdown corpus reader (#2902)
* Mon Dec 26 2022 Matej Cepl <mcepl@suse.com>
- Complete nltk_data.tar.xz for offline testing
- Fix failing tests (gh#nltk/nltk#2969) by adding patches:
- port-2to3.patch
- skip-networked-test.patch
- Clean up the SPEC to get rid of rpmlint warnings.