#22387 closed enhancement (fixed)
Python Dependency updates for Python 3.14 - certifi charset-normalizer idna iniconfig markdown msgpack setuptools_scm trove-classifiers
| Reported by: | Douglas R. Reno | Owned by: | Douglas R. Reno |
|---|---|---|---|
| Priority: | normal | Milestone: | 13.0 |
| Component: | BOOK | Version: | git |
| Severity: | medium | Keywords: | |
| Cc: |
Description
Since I'm updating to the new version of Python and putting it in the book in the next day or so, I figured it would be a good idea to check on the Python module dependencies. There are a few new versions, but thankfully no security fixes. A few of these are general updates, while others are specifically bugfixes for Python 3.14.
certifi 2025.8.3 2025.11.12 charset-normalizer 3.4.3 3.4.4 idna 3.10 3.11 iniconfig 2.1.0 2.3.0 markdown 3.8.2 3.10.0 msgpack 1.1.1 1.1.2 setuptools_scm 8.3.1 9.2.2 trove-classifiers 2025.8.6.13 2025.9.111.17
Of the above listed, Python 3.14 support or bugfixes are specifically mentioned in Markdown, idna, and msgpack.
Change History (11)
comment:1 by , 11 months ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:2 by , 11 months ago
comment:3 by , 11 months ago
trove_classifiers-2025.11.14.15
2025.8.26.11 Add Django 6 classifiers to trove_classifiers (#224) 2025.9.8.13 Add `"Programming Language :: Zig"` classifier (#218) * Add `"Programming Language :: Zig"` classifier * Sort classifiers; fix linting error 2025.9.9.12 Add classifier: Framework InvenTree (#223) * Add classifier: Framework InvenTree * fix style issue 2025.9.11.17 Add support for Odoo 19.0 in classifiers (#225) 2025.11.14.15 Latest Added Topic :: Scientific/Engineering :: Instrument Drivers :: IVI Co…
comment:4 by , 11 months ago
setuptools_scm-9.2.2
v9.0.0 (yanked)
Breaking
fix #1019: pass python version build tags from scm version to results propperly
Added
add setuptools-scm console_scripts entry point to make the CLI directly executable
make Mercurial command configurable by environment variable
SETUPTOOLS_SCM_HG_COMMAND
fix #1099 use file modification times for dirty working directory timestamps instead
of current time
fix #1059: add SETUPTOOLS_SCM_PRETEND_METADATA environment variable to override
individual ScmVersion fields
add scm parameter support to get_version() function for nested SCM configuration
fix #987: expand documentation on git archival files and add cli tools for good
defaults
fix #311: document github/gitlab ci pipelines that enable auto-upload to test-pypi/
pypi
fix #1022: allow version_keyword to override infer_version when configuration
differs
fix #554: document fallback_root parameter in programmatic usage and configuration
Changed
add pip to test optional dependencies for improved uv venv compatibility
migrate to selectable entrypoints for better extensibility
improve typing for entry_points
refactor file modification time logic into shared helper function for better
maintainability
reduce complexity of HgWorkdir.get_meta method by extracting focused helper methods
fix #1150: enable setuptools-scm when we are a build requirement
feature #1154: add the commit id the the default version file template
drop scriv
fix #921: document setuptools version requirements more consistently - 61 as minumum
asn 8 as recommended minimum
Fixed
fix #1145: ensure GitWorkdir.get_head_date returns consistent UTC dates regardless
of local timezone
fix #687: ensure calendar versioning tests use consistent time context to prevent
failures around midnight in non-UTC timezones
reintroduce Python 3.9 entrypoints shim for compatibility
fix #1136: update customizing.md to fix missing import
fix #1001: document the missing version schemes and add examples in the docs
fix #1115: explicitly document file finder behaviour
fix #879: add test that validates case different behavior on windows
migrate git describe command to new scm config
add support for failing on missing submodules
fix #279: expand errors when scm can be found upwards and relative_to wasnt used
fix #577: introduce explicit scmversion node and short node
fix #1100: add workaround for readthedocs worktress to the docs
fix #790: document shallow fail for rtd
fix #474: expand version not found error message to provide clearer guidance about
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_* environment variables
fix #324: document/recommend the v tag prefix
fix #501: add py.typed
fix #804: git - use fallback version instead of 0.0 when no version is found at all
fix #1139: use logging.lastResort instead of a own replica to avoid polluting
logging._handlerList
fix #873: don't infer version in cli if --no-version is given
fix #535: accept tags from a release action in the gh ui
fix #1073: explain namespaces for release-branch-semver
fix #1052: use consistent node hash length across all SCM backends
fix #1045: reindent the __all__ in the version template to sort
fix #986: harden environment override finding with better normalization and typo
suggestions
fix #846: add support for failing on missing submodules
yanked
regressions around auto-activate
v9.0.1 (yanked)
What's Changed
fix 1180 provide dummy scmversion for dump by @RonnyPfannschmidt in #1183
fix 1181 version keyword doesnt need config by @RonnyPfannschmidt in #1185
add codespell pre-commit hook by @RonnyPfannschmidt in #1188
Full Changelog: v9.0.0...v9.0.1
yanked
edge cases around auto-activate
v9.0.2 (yanked)
What's Changed
in case infer-version finds neither the config section, nor the requirement - skip
action by @RonnyPfannschmidt in #1189
Full Changelog: v9.0.1...v9.0.2
yanked
new edge cases with auto-activate and preexisting projects
v9.0.3 (yanked)
What's Changed
fix 1184 infer version indirect should ignore by @RonnyPfannschmidt in #1190
Full Changelog: v9.0.2...v9.0.3
yanked
regression wrt specific old project setups vs auto-activate
v9.1.0 (yanked)
yanked
a regression makes some sdists report version 0.0.0
What's Changed
reiterate version inference logic by @RonnyPfannschmidt in #1193
v9.1.1 (yanked)
What's Changed
handle missing pyproject config in case version keyword is used by
@RonnyPfannschmidt in #1195
v9.2.0
What's Changed
reiterate version inference by @RonnyPfannschmidt in #1202
simple activation now requires a extra instead of setting up many pre-existing projects
for failure/error
v9.2.1
What's Changed
Mark recently yanked versions in changelog by @seifertm in #1209
Fix 1216 explicitly deprecate setuptools dynamic version when active by
@RonnyPfannschmidt in #1219
prepare Release v9.2.1 by @RonnyPfannschmidt in #1226
New Contributors
@seifertm made their first contribution in #1209
v9.2.2 Latest
What's Changed
fix: don't warn about tool.setuptools.dynamic.version when only using file finder by
@RonnyPfannschmidt in #1232
comment:5 by , 11 months ago
iniconfig-2.3.0
2.3.0 ===== * add IniConfig.parse() classmethod with strip_inline_comments parameter (fixes #55) - by default (strip_inline_comments=True), inline comments are properly stripped from values - set strip_inline_comments=False to preserve old behavior if needed * IniConfig() constructor maintains backward compatibility (does not strip inline comments) * users should migrate to IniConfig.parse() for correct comment handling * add strip_section_whitespace parameter to IniConfig.parse() (regarding #4) - opt-in parameter to strip Unicode whitespace from section names - when True, strips Unicode whitespace (U+00A0, U+2000, U+3000, etc.) from section names - when False (default), preserves existing behavior for backward compatibility * clarify Unicode whitespace handling (regarding #4) - since iniconfig 2.0.0 (Python 3 only), all strings are Unicode by default - Python 3's str.strip() has handled Unicode whitespace since Python 3.0 (2008) - iniconfig automatically benefits from this in all supported versions (Python >= 3.10) - key names and values have Unicode whitespace properly stripped using Python's built- in methods 2.2.0 ===== * drop Python 3.8 and 3.9 support (now requires Python >= 3.10) * add Python 3.14 classifier * migrate from hatchling to setuptools 77 with setuptools_scm * adopt PEP 639 license specifiers and PEP 740 build attestations * migrate from black + pyupgrade to ruff * migrate CI to uv and unified test workflow * automate GitHub releases and PyPI publishing via Trusted Publishing * include tests in sdist * modernize code for Python 3.10+ (remove __future__ annotations, TYPE_CHECKING guards) * rename _ParsedLine to ParsedLine
comment:6 by , 11 months ago
markdown-3.10
[3.10.0] - 2025-11-03
Changed
Officially support Python 3.14 and PyPy 3.11 and drop support for Python 3.9 and
PyPy 3.9.
Fixed
Fix an HTML comment parsing case in some Python versions that can cause an infinite
loop (#1554).
Revert the default behavior of USE_DEFINITION_ORDER (to True). The new behavior
introduced in 3.9.0 is experimental and results are inconsistent. It should not have
been made the default behavior (#1561).
[3.9.0] - 2025-09-04
Changed
Footnotes are now ordered by the occurrence of their references in the document. A
new configuration option for the footnotes extension, USE_DEFINITION_ORDER, has been
added to support restoring the previous behavior of ordering footnotes by the occurrence
of definitions (#1367).
Fixed
Ensure inline processing iterates through elements in document order (#1546).
Fix handling of incomplete HTML tags in code spans in Python 3.14 (#1547).
comment:7 by , 11 months ago
Certifi is just going to be updates to the root certificates, and there is a commit there for adding Python 3.14 into the matrix in setup.py.
comment:8 by , 11 months ago
charset-normalizer-3.4.4
3.4.4 (2025-10-13)
Changed
Bound setuptools to a specific constraint setuptools>=68,<=81.
Raised upper bound of mypyc for the optional pre-built extension to v1.18.2
Removed
setuptools-scm as a build dependency.
Misc
Enforced hashes in dev-requirements.txt and created ci-requirements.txt for security
purposes.
Additional pre-built wheels for riscv64, s390x, and armv7l architectures.
Restore multiple.intoto.jsonl in GitHub releases in addition to individual
attestation file per wheel.
comment:9 by , 11 months ago
idna-3.11
History
3.11 (2025-10-12)
Update to Unicode 16.0.0, including significant changes to UTS46 processing. As a
result of Unicode ending support for it, transitional processing no longer has an effect
and returns the same result.
Add support for Python 3.14, lowest supported version is Python 3.8.
Various updates to packaging, including PEP 740 support.
comment:10 by , 11 months ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
- certifi updated to 2025.11.12 at c52bdc11ee21fe733af8d19df5c90ec1cff11c3e
- charset_normalizer updated to 3.4.4 at 58b80294c48c8158791df2ef4165824a54fab4cb
- idna updated to 3.11 at 9c2bb4cea0d2b29d621a5087795ac184e08508f0
- iniconfig updated to 2.3.0 at 5fe4e9a11c7825ab1b998d8f0fb433eb038e93cf
- markdown updated to 3.10 at ed13167ccce7d79bc0d6b3d776c89e22be4d97bc
- msgpack updated to 1.1.2 at b8051a04a1fff328e6c7544a6e5ed36d87db2d96
- setuptools_scm updated to 9.2.2 at 53c9646cb65d8c9e55800ed8015fde89a2ee15cf
- trove_classifiers updated to 2025.11.14.15 at 73d712d05c009bb82753968aa12542aa84a40d98

msgpack-1.1.2
What's Changed ci: update cibuildwheel and drop Python 3.8 by @methane in #642 ci: add support for building windows on arm wheels by @Greenie0701 in #643 README: fix typos and grammar by @ThomasWaldmann in #648 release v1.1.2 by @methane in #649