dependabot[bot] opened a new pull request, #39771: URL: https://github.com/apache/beam/pull/39771
Bumps [nltk](https://github.com/nltk/nltk) from 3.9.4 to 3.10.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/nltk/nltk/releases">nltk's releases</a>.</em></p> <blockquote> <h2>v3.10.0</h2> <h2>What's Changed</h2> <ul> <li>Let TextCat.guess_language return None for ties by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3543">nltk/nltk#3543</a></li> <li>Fix FunctionalCategory.substitute() ignoring substituted direction by <a href="https://github.com/elias-ba"><code>@elias-ba</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3547">nltk/nltk#3547</a></li> <li>Fix concurrent download race conditions with file-based locking by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3549">nltk/nltk#3549</a></li> <li>Fix proxy settings ignored by pathsec.urlopen by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3552">nltk/nltk#3552</a></li> <li>Fix CCG variable direction parsing pipeline by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3556">nltk/nltk#3556</a></li> <li>Fix failing CCG unit tests by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3561">nltk/nltk#3561</a></li> <li>Fix CCG variable capture, chart explosion, and type-raising scope bugs by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3557">nltk/nltk#3557</a></li> <li>fix(security): block XML entity expansion (XXE) in downloader by <a href="https://github.com/scruge1"><code>@scruge1</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3544">nltk/nltk#3544</a></li> <li>Fix _create_token_table skipping last paragraph break transition + regression test by <a href="https://github.com/13rac1"><code>@13rac1</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3553">nltk/nltk#3553</a></li> <li>ci(deps): bump actions/github-script from 7 to 8 in the github-actions group by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/nltk/nltk/pull/3546">nltk/nltk#3546</a></li> <li>Add HuggingFace datasets integration (nltk.huggingface) by <a href="https://github.com/alvations"><code>@alvations</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3569">nltk/nltk#3569</a></li> <li>fix PorterStemmer not using lowercased word in stem() for irregular forms in NLTK mode by <a href="https://github.com/Lemm1"><code>@Lemm1</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3568">nltk/nltk#3568</a></li> <li>ci(deps): bump the github-actions group with 2 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/nltk/nltk/pull/3572">nltk/nltk#3572</a></li> <li>Fix WordNetObject comparisons for incompatible types by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3570">nltk/nltk#3570</a></li> <li>Align TnT with Brants (2000) specifications by <a href="https://github.com/jhnwnstd"><code>@jhnwnstd</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3564">nltk/nltk#3564</a></li> <li>Avoid KeyError in langnames.py by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3404">nltk/nltk#3404</a></li> <li>Fix TransitionParser sparse index dtype for scikit-learn 1.9 by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3591">nltk/nltk#3591</a></li> <li>Enable ENFORCE by default and harden downloader concurrency by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3593">nltk/nltk#3593</a></li> <li>Use commonpath for downloader path containment on Windows by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3594">nltk/nltk#3594</a></li> <li>Use lexical containment for downloader target paths by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3595">nltk/nltk#3595</a></li> <li>fix(security): prevent DNS-rebinding SSRF in pathsec.urlopen by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3582">nltk/nltk#3582</a></li> <li>fix(security): block URL-encoded path traversal in nltk: resource URLs by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3575">nltk/nltk#3575</a></li> <li>fix(security): block path traversal in NKJPCorpusReader by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3579">nltk/nltk#3579</a></li> <li>fix(security): block path traversal in FramenetCorpusReader.frame() by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3581">nltk/nltk#3581</a></li> <li>fix(security): prevent ReDoS in ReviewsCorpusReader FEATURES regex (CWE-1333) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3583">nltk/nltk#3583</a></li> <li>Fix remaining corpus reader pathsec gaps before ENFORCE=True RC by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3588">nltk/nltk#3588</a></li> <li>Cache WordNet max depth lazily for lch_similarity() by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3592">nltk/nltk#3592</a></li> <li>Fix remaining post-merge issues from <a href="https://redirect.github.com/nltk/nltk/issues/3477">#3477</a> and <a href="https://redirect.github.com/nltk/nltk/issues/3498">#3498</a> by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3599">nltk/nltk#3599</a></li> <li>Replace unsafe exec() with importlib in utility CLI by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3609">nltk/nltk#3609</a></li> <li>Document NLTK's new security policy by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3597">nltk/nltk#3597</a></li> <li>Check that CI succeeded on the commit a release tag points to by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3506">nltk/nltk#3506</a></li> <li>Prepare release metadata for 3.10.0 by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3610">nltk/nltk#3610</a></li> <li>Fix release workflow CI check for tagged commits by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3611">nltk/nltk#3611</a></li> <li>Fix perfect-agreement edge cases in agreement metrics by <a href="https://github.com/Muhtasim-Munif-Fahim"><code>@Muhtasim-Munif-Fahim</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3608">nltk/nltk#3608</a></li> <li>fix(security): prevent ReDoS in TextTilingTokenizer paragraph-break regex (CWE-1333) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3612">nltk/nltk#3612</a></li> <li>fix(security): prevent ReDoS in SensevalCorpusReader _fixXML (CWE-400) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3614">nltk/nltk#3614</a></li> <li>fix(security): resolve relative MaltParser dir via MALT_PARSER, not the CWD (CWE-426) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3616">nltk/nltk#3616</a></li> <li>fix(security): bound LogicParser recursion depth to prevent uncaught RecursionError (CWE-674) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3617">nltk/nltk#3617</a></li> <li>fix(security): resolve relative ReppTokenizer dir via REPP_TOKENIZER, not the CWD (CWE-427) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3618">nltk/nltk#3618</a></li> <li>fix(security): do not load weka.jar from the CWD (CWE-494) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3620">nltk/nltk#3620</a></li> <li>fix(security): do not run the senna binary from the CWD (CWE-829) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3621">nltk/nltk#3621</a></li> <li>fix(security): prevent ReDoS in chunk tag-pattern parsing (CWE-1333) by <a href="https://github.com/LiteshGhute"><code>@LiteshGhute</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3630">nltk/nltk#3630</a></li> <li>Route _download_package() writes through pathsec.open by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3622">nltk/nltk#3622</a></li> <li>fix(security): resolve symlinks in downloader containment check (CWE-59) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3619">nltk/nltk#3619</a></li> <li>fix(security): use defusedxml in corpus readers to block XML entity-expansion DoS (CWE-776) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3615">nltk/nltk#3615</a></li> <li>fix(security): stop exponential ReDoS in XMLCorpusView _VALID_XML_RE (CWE-1333) by <a href="https://github.com/LinZiyuu"><code>@LinZiyuu</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3646">nltk/nltk#3646</a></li> <li>fix(security): route read_sents through pathsec sentinel by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3626">nltk/nltk#3626</a></li> <li>Add RELEASE-Github.md documentation by <a href="https://github.com/ekaf"><code>@ekaf</code></a> in <a href="https://redirect.github.com/nltk/nltk/pull/3627">nltk/nltk#3627</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/nltk/nltk/blob/develop/ChangeLog">nltk's changelog</a>.</em></p> <blockquote> <p>Version 3.10.3 2026-08-12</p> <ul> <li>docs: wrap Chat-80 HOWTO output</li> <li>Sandbox Stanford JAR execution to nltk_data directories</li> <li>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)</li> <li>Extend algorithmic-complexity DoS hardening: repo-wide sweep + two-string distances (CWE-407/CWE-400)</li> <li>Bound unbounded-work DoS in parsers and grammar transforms (CWE-407/674/835)</li> <li>fix(security): sandbox MaltParser's Java execution (CVE-2026-12252, CVE-2026-12841)</li> <li>fix(security): trust the system temp dir only when it is private (CWE-377/CWE-378)</li> <li>fix(security): validate corpus-reader roots against the data sandbox (CWE-73)</li> <li>fix(security): validate per-call java() options and replace the -XX:/-D allowlist with a minimal one (CWE-88)</li> <li>Additional security hardening (CWE-407, CWE-426, CWE-427, CWE-502, CWE-59, CWE-776, CWE-918)</li> </ul> <p>Thanks to the following contributors to 3.10.3: Mohammad Favas S, leduckhuong, Ziyu Lin, dougtrainer28-cmyk, Chaitanya Kadian, 0xRenSec, Arpit Jain, Jace, nguyencanhthuong, Liling Tan, medimedi, Eric Kafe.</p> <p>Version 3.10.2 2026-08-05</p> <ul> <li>Remove inisec.py and document PYTHONSAFEPATH instead</li> <li>Skip draft step in release workflow</li> <li>Fix symlink escape in FramenetCorpusReader (CWE-59)</li> <li>Guard tempfile.gettempdir() when building pathsec allowed roots</li> <li>add tests for transitive_closure</li> </ul> <p>Thanks to the following contributors to 3.10.2: Litesh Ghute, Eric Kafe, Evan Kiefer, tarann26 and Rav Singh Chandan</p> <p>Version 3.10.1 2026-07-29</p> <ul> <li>Expand <code>~</code> in env-var paths</li> <li>Validate types after WordNet app pickle deserialization</li> <li>Fix uncontrolled search path in HunposTagger</li> <li>Use exact thirds in <code>masi_distance</code></li> <li>Avoid retaining bllip import exceptions</li> <li>Fix <code>word_tokenize</code>: pad opening single quote before multi-letter words.</li> <li>Implement <code>Tree.pformat_latex_forest</code>.</li> <li>Prevent module hijacking in inline imports.</li> <li>Fix ReDoS in TweetTokenizer URL and email regexes.</li> </ul> <p>Thanks to the following contributors to 3.10.1: Abhinav, Litesh Ghute, Eric Kafe, Eryk Kaźmierczak, Selim C., Muhtasim Munif Fahim, Triniti K., and Tom Y. Mitich.</p> <p>Version 3.10.0 2026-06-11</p> <ul> <li>Enforce the stricter <code>nltk.pathsec</code> security policy by default</li> <li>Document the new security model and migration guidance</li> <li>Harden resource loading against path traversal and SSRF/DNS-rebinding</li> <li>Harden downloader path handling and block XML entity expansion</li> <li>Close remaining corpus-reader security edge cases</li> <li>Replace unsafe <code>exec()</code> usage in the utility CLI</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/nltk/nltk/commit/bd49f9011d7dc8c6a36b3c4ae71f04060c9b3fb9"><code>bd49f90</code></a> allow escaped brackets in Tree.fromstring (<a href="https://redirect.github.com/nltk/nltk/issues/3694">#3694</a>)</li> <li><a href="https://github.com/nltk/nltk/commit/27b8ad6cd50a484590cb9409e5d2a891ab56e16c"><code>27b8ad6</code></a> don't crash chomsky_normal_form on terminals with siblings (<a href="https://redirect.github.com/nltk/nltk/issues/3693">#3693</a>)</li> <li><a href="https://github.com/nltk/nltk/commit/52227d2afe764648864e59c851e991cf1d6cb77e"><code>52227d2</code></a> Use os.name for Windows path handling (<a href="https://redirect.github.com/nltk/nltk/issues/3605">#3605</a>)</li> <li><a href="https://github.com/nltk/nltk/commit/06c0e2cc94f763d43320812ee9d2a7b6bff68f9b"><code>06c0e2c</code></a> Avoid RIBES zero division on empty inputs (<a href="https://redirect.github.com/nltk/nltk/issues/3604">#3604</a>)</li> <li><a href="https://github.com/nltk/nltk/commit/a167389c027a02a9d1f019630ed827f4069b3353"><code>a167389</code></a> Treat missing unzip output as stale (<a href="https://redirect.github.com/nltk/nltk/issues/3607">#3607</a>)</li> <li><a href="https://github.com/nltk/nltk/commit/c94c967a332e19af0a022db51467ee2baf6ccfeb"><code>c94c967</code></a> Fix EOF empty document bug in IEER corpus reader (<a href="https://redirect.github.com/nltk/nltk/issues/3648">#3648</a>)</li> <li><a href="https://github.com/nltk/nltk/commit/94a259c815370df66f98460f22478030e2954913"><code>94a259c</code></a> Enforce restrictive primitive type checking in pathsec wrappers (<a href="https://redirect.github.com/nltk/nltk/issues/3692">#3692</a>)</li> <li><a href="https://github.com/nltk/nltk/commit/5ac475d2ab95ea95d2890c745a05e5275137fb98"><code>5ac475d</code></a> fix(security): isolate Stanford Java options and clean temp files (<a href="https://redirect.github.com/nltk/nltk/issues/3683">#3683</a>)</li> <li><a href="https://github.com/nltk/nltk/commit/986f26e71bf22ee392a5e87285ee8398284aef2b"><code>986f26e</code></a> ci(deps): bump the github-actions group with 3 updates (<a href="https://redirect.github.com/nltk/nltk/issues/3691">#3691</a>)</li> <li><a href="https://github.com/nltk/nltk/commit/f26b3753038d937b68145daf15e9636f8451053c"><code>f26b375</code></a> fix(security): prevent pickle RCE in TransitionParser model loading (CWE-502)...</li> <li>Additional commits viewable in <a href="https://github.com/nltk/nltk/compare/3.9.4...v3.10.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/apache/beam/network/alerts). </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
