Opened 11 months ago

Closed 11 months ago

Last modified 8 months ago

#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 Douglas R. Reno, 11 months ago

Owner: changed from blfs-book to Douglas R. Reno
Status: new → assigned

comment:2 by Douglas R. Reno, 11 months ago

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

comment:3 by Douglas R. Reno, 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 Douglas R. Reno, 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 Douglas R. Reno, 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 Douglas R. Reno, 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 Douglas R. Reno, 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 Douglas R. Reno, 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 Douglas R. Reno, 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 Douglas R. Reno, 11 months ago

Resolution: → fixed
Status: assigned → closed

comment:11 by Bruce Dubbs, 8 months ago

Milestone: 12.5 → 13.0

Milestone renamed

Note: See TracTickets for help on using tickets.