Skip to content

Releases: CheetahTemplate3/cheetah3

3.4.0b6

01 Dec 15:33
3.4.0b6
Compare
Choose a tag to compare
3.4.0b6 Pre-release
Pre-release

Bug fixes:

  • Fixed ImportHooks: it must raise ModuleNotFoundError
    instead of ImportError.

  • Fixed absolute import in ImportHooks under Python 3.

  • Use cache_from_source in ImportManager to find out
    .pyc/.pyo byte-code files.

  • Fixed unmarshalling .pyc/.pyo byte-code files
    in ImportManager.

  • Fixed Template.webInput: Use urllib.parse.parse_qs
    instead of cgi.FieldStorage; Python 3.13 dropped cgi.

  • Fixed _namemapper.c: Silent an inadvertent TypeError exception
    in PyMapping_HasKeyString under Python 3.13+
    caused by _namemapper looking up a key in a non-dictionary.

  • Fixed _namemapper.c: Silence IndexError when testing
    name[attr]. Some objects like re.MatchObject implement both
    attribute access and index access. This confuses NameMapper because
    it expects name[attr] to raise TypeError for objects that don't
    implement mapping protocol.

  • Fixed mapping test in NameMapper.py:
    Python 3.13 brough a new mapping type FrameLocalsProxy.

  • Fixed another RecursionError in ImportHooks under PyPy3.

Tests:

  • tox: Run tests under Python 3.13.

CI:

  • CI(GHActions): Switch to setup-miniconda.

  • CI(GHActions): Run tests under Python 3.13.

Build/release:

  • Rename sdist to lowercase; different build tools produce different case.
    This is important because stupid PyPI doesn't ignore sdists
    in different cases but also doesn't allow uploading.
    So we use single case, all lower. Also see PEP 625.

3.4.0b5

22 Nov 11:16
3.4.0b5
Compare
Choose a tag to compare
3.4.0b5 Pre-release
Pre-release

Bug fixes:

  • Fixed ImportHooks: it must raise ModuleNotFoundError
    instead of ImportError.

  • Fixed absolute import in ImportHooks under Python 3.

  • Use cache_from_source in ImportManager to find out
    .pyc/.pyo byte-code files.

  • Fixed unmarshalling .pyc/.pyo byte-code files
    in ImportManager.

  • Fixed Template.webInput: Use urllib.parse.parse_qs
    instead of cgi.FieldStorage; Python 3.13 dropped cgi.

  • Fixed _namemapper.c: Silent an inadvertent TypeError exception
    in PyMapping_HasKeyString under Python 3.13+
    caused by _namemapper looking up a key in a non-dictionary.

  • Fixed _namemapper.c: Silence IndexError when testing
    name[attr]. Some objects like re.MatchObject implement both
    attribute access and index access. This confuses NameMapper because
    it expects name[attr] to raise TypeError for objects that don't
    implement mapping protocol.

  • Fixed mapping test in NameMapper.py:
    Python 3.13 brough a new mapping type FrameLocalsProxy.

  • Fixed another RecursionError in ImportHooks under PyPy3.

Tests:

  • tox: Run tests under Python 3.13.

CI:

  • CI(GHActions): Switch to setup-miniconda.

  • CI(GHActions): Run tests under Python 3.13.

3.4.0b4

14 Nov 19:51
3.4.0b4
Compare
Choose a tag to compare
3.4.0b4 Pre-release
Pre-release

Bug fixes:

  • Fixed ImportHooks: it must raise ModuleNotFoundError
    instead of ImportError.

  • Fixed absolute import in ImportHooks under Python 3.

  • Fixed Template.webInput: Use urllib.parse.parse_qs
    instead of cgi.FieldStorage; Python 3.13 dropped cgi.

  • Fixed _namemapper.c: Silent an inadvertent TypeError exception
    in PyMapping_HasKeyString under Python 3.13+
    caused by _namemapper looking up a key in a non-dictionary.

  • Fixed _namemapper.c: Silence IndexError when testing
    name[attr]. Some objects like re.MatchObject implement both
    attribute access and index access. This confuses NameMapper because
    it expects name[attr] to raise TypeError for objects that don't
    implement mapping protocol.

  • Fixed mapping test in NameMapper.py:
    Python 3.13 brough a new mapping type FrameLocalsProxy.

  • Fixed another RecursionError in ImportHooks under PyPy3.

Tests:

  • tox: Run tests under Python 3.13.

CI:

  • CI(GHActions): Switch to setup-miniconda.

  • CI(GHActions): Run tests under Python 3.13.

3.4.0b3

14 Nov 19:21
3.4.0b3
Compare
Choose a tag to compare
3.4.0b3 Pre-release
Pre-release

Bug fixes:

  • Fixed ImportHooks: it must raise ModuleNotFoundError
    instead of ImportError.

  • Fixed absolute import in ImportHooks under Python 3.

  • Fixed Template.webInput: Use urllib.parse.parse_qs
    instead of cgi.FieldStorage; Python 3.13 dropped cgi.

  • Fixed _namemapper.c: Silent an inadvertent TypeError exception
    in PyMapping_HasKeyString under Python 3.13+
    caused by _namemapper looking up a key in a non-dictionary.

  • Fixed _namemapper.c: Silence IndexError when testing
    name[attr]. Some objects like re.MatchObject implement both
    attribute access and index access. This confuses NameMapper because
    it expects name[attr] to raise TypeError for objects that don't
    implement mapping protocol.

  • Fixed mapping test in NameMapper.py:
    Python 3.13 brough a new mapping type FrameLocalsProxy.

  • Fixed another RecursionError in ImportHooks under PyPy3.

Tests:

  • tox: Run tests under Python 3.13.

CI:

  • CI(GHActions): Switch to setup-miniconda.

  • CI(GHActions): Run tests under Python 3.13.

3.4.0b2

14 Nov 17:57
3.4.0b2
Compare
Choose a tag to compare
3.4.0b2 Pre-release
Pre-release

Bug fixes:

  • Fixed ImportHooks: it must raise ModuleNotFoundError
    instead of ImportError.

  • Fixed absolute import in ImportHooks under Python 3.

  • Fixed Template.webInput: Use urllib.parse.parse_qs
    instead of cgi.FieldStorage; Python 3.13 dropped cgi.

  • Fixed _namemapper.c: Silent an inadvertent TypeError exception
    in PyMapping_HasKeyString under Python 3.13+
    caused by _namemapper looking up a key in a non-dictionary.

  • Fixed _namemapper.c: Silence IndexError when testing
    name[attr]. Some objects like re.MatchObject implement both
    attribute access and index access. This confuses NameMapper because
    it expects name[attr] to raise TypeError for objects that don't
    implement mapping protocol.

  • Fixed mapping test in NameMapper.py:
    Python 3.13 brough a new mapping type FrameLocalsProxy.

  • Fixed another RecursionError in ImportHooks under PyPy3.

Tests:

  • tox: Run tests under Python 3.13.

CI:

  • CI(GHActions): Switch to setup-miniconda.

  • CI(GHActions): Run tests under Python 3.13.

3.4.0b1

14 Nov 17:26
3.4.0b1
Compare
Choose a tag to compare
3.4.0b1 Pre-release
Pre-release

Bug fixes:

  • Fixed ImportHooks: it must raise ModuleNotFoundError
    instead of ImportError.

  • Fixed absolute import in ImportHooks under Python 3.

  • Fixed Template.webInput: Use urllib.parse.parse_qs
    instead of cgi.FieldStorage; Python 3.13 dropped cgi.

  • Fixed _namemapper.c: Silent an inadvertent TypeError exception
    in PyMapping_HasKeyString under Python 3.13+
    caused by _namemapper looking up a key in a non-dictionary.

  • Fixed _namemapper.c: Silence IndexError when testing
    name[attr]. Some objects like re.MatchObject implement both
    attribute access and index access. This confuses NameMapper because
    it expects name[attr] to raise TypeError for objects that don't
    implement mapping protocol.

  • Fixed mapping test in NameMapper.py:
    Python 3.13 brough a new mapping type FrameLocalsProxy.

  • Fixed another RecursionError in ImportHooks under PyPy3.

Tests:

  • tox: Run tests under Python 3.13.

CI:

  • CI(GHActions): Switch to setup-miniconda.

  • CI(GHActions): Run tests under Python 3.13.

3.3.4a3

28 Feb 10:39
3.3.4a3
Compare
Choose a tag to compare
3.3.4a3 Pre-release
Pre-release

CI(GHActions): Build and publish wheels on Linux/aarch64.

3.3.3.post1

28 Feb 15:19
3.3.3.post1
Compare
Choose a tag to compare

3.3.4a2

27 Feb 19:37
3.3.4a2
Compare
Choose a tag to compare
3.3.4a2 Pre-release
Pre-release

CI(GHActions): Build and publish wheels on Linux/aarch64.

3.3.4a1

27 Feb 19:29
3.3.4a1
Compare
Choose a tag to compare
3.3.4a1 Pre-release
Pre-release

CI(GHActions): Build and publish wheels on Linux/aarch64.