Releases · CheetahTemplate3/cheetah3 · GitHub
Skip to content

Releases: CheetahTemplate3/cheetah3

3.4.0.post5

Choose a tag to compare

@github-actions github-actions released this 29 Nov 12:38
3.4.0.post5

What's new in CheetahTemplate3

  • Tested with Python 3.14.

3.4.0.post4

Choose a tag to compare

@github-actions github-actions released this 28 Nov 15:25
3.4.0.post4
  • Tested with Python 3.14.

3.4.0

Choose a tag to compare

@github-actions github-actions released this 02 Dec 12:56
3.4.0

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.0b6

3.4.0b6 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Dec 15:33
3.4.0b6

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

3.4.0b5 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Nov 11:16
3.4.0b5

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

3.4.0b4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Nov 19:51
3.4.0b4

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

3.4.0b3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Nov 19:21
3.4.0b3

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

3.4.0b2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Nov 17:57
3.4.0b2

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

3.4.0b1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Nov 17:26
3.4.0b1

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

3.3.4a3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Feb 10:39
3.3.4a3

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