Releases: CheetahTemplate3/cheetah3
3.4.0
Bug fixes:
-
Fixed
ImportHooks: it must raiseModuleNotFoundError
instead ofImportError. -
Fixed absolute import in
ImportHooksunder Python 3. -
Use
cache_from_sourceinImportManagerto find out
.pyc/.pyobyte-code files. -
Fixed unmarshalling
.pyc/.pyobyte-code files
inImportManager. -
Fixed
Template.webInput: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage; Python 3.13 droppedcgi. -
Fixed
_namemapper.c: Silent an inadvertentTypeErrorexception
inPyMapping_HasKeyStringunder Python 3.13+
caused by_namemapperlooking up a key in a non-dictionary. -
Fixed
_namemapper.c: SilenceIndexErrorwhen testing
name[attr]. Some objects likere.MatchObjectimplement both
attribute access and index access. This confusesNameMapperbecause
it expectsname[attr]to raiseTypeErrorfor objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py:
Python 3.13 brough a new mapping typeFrameLocalsProxy. -
Fixed another
RecursionErrorinImportHooksunder 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
Bug fixes:
-
Fixed
ImportHooks: it must raiseModuleNotFoundError
instead ofImportError. -
Fixed absolute import in
ImportHooksunder Python 3. -
Use
cache_from_sourceinImportManagerto find out
.pyc/.pyobyte-code files. -
Fixed unmarshalling
.pyc/.pyobyte-code files
inImportManager. -
Fixed
Template.webInput: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage; Python 3.13 droppedcgi. -
Fixed
_namemapper.c: Silent an inadvertentTypeErrorexception
inPyMapping_HasKeyStringunder Python 3.13+
caused by_namemapperlooking up a key in a non-dictionary. -
Fixed
_namemapper.c: SilenceIndexErrorwhen testing
name[attr]. Some objects likere.MatchObjectimplement both
attribute access and index access. This confusesNameMapperbecause
it expectsname[attr]to raiseTypeErrorfor objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py:
Python 3.13 brough a new mapping typeFrameLocalsProxy. -
Fixed another
RecursionErrorinImportHooksunder 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
Bug fixes:
-
Fixed
ImportHooks: it must raiseModuleNotFoundError
instead ofImportError. -
Fixed absolute import in
ImportHooksunder Python 3. -
Use
cache_from_sourceinImportManagerto find out
.pyc/.pyobyte-code files. -
Fixed unmarshalling
.pyc/.pyobyte-code files
inImportManager. -
Fixed
Template.webInput: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage; Python 3.13 droppedcgi. -
Fixed
_namemapper.c: Silent an inadvertentTypeErrorexception
inPyMapping_HasKeyStringunder Python 3.13+
caused by_namemapperlooking up a key in a non-dictionary. -
Fixed
_namemapper.c: SilenceIndexErrorwhen testing
name[attr]. Some objects likere.MatchObjectimplement both
attribute access and index access. This confusesNameMapperbecause
it expectsname[attr]to raiseTypeErrorfor objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py:
Python 3.13 brough a new mapping typeFrameLocalsProxy. -
Fixed another
RecursionErrorinImportHooksunder 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
Bug fixes:
-
Fixed
ImportHooks: it must raiseModuleNotFoundError
instead ofImportError. -
Fixed absolute import in
ImportHooksunder Python 3. -
Fixed
Template.webInput: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage; Python 3.13 droppedcgi. -
Fixed
_namemapper.c: Silent an inadvertentTypeErrorexception
inPyMapping_HasKeyStringunder Python 3.13+
caused by_namemapperlooking up a key in a non-dictionary. -
Fixed
_namemapper.c: SilenceIndexErrorwhen testing
name[attr]. Some objects likere.MatchObjectimplement both
attribute access and index access. This confusesNameMapperbecause
it expectsname[attr]to raiseTypeErrorfor objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py:
Python 3.13 brough a new mapping typeFrameLocalsProxy. -
Fixed another
RecursionErrorinImportHooksunder 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
Bug fixes:
-
Fixed
ImportHooks: it must raiseModuleNotFoundError
instead ofImportError. -
Fixed absolute import in
ImportHooksunder Python 3. -
Fixed
Template.webInput: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage; Python 3.13 droppedcgi. -
Fixed
_namemapper.c: Silent an inadvertentTypeErrorexception
inPyMapping_HasKeyStringunder Python 3.13+
caused by_namemapperlooking up a key in a non-dictionary. -
Fixed
_namemapper.c: SilenceIndexErrorwhen testing
name[attr]. Some objects likere.MatchObjectimplement both
attribute access and index access. This confusesNameMapperbecause
it expectsname[attr]to raiseTypeErrorfor objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py:
Python 3.13 brough a new mapping typeFrameLocalsProxy. -
Fixed another
RecursionErrorinImportHooksunder 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
Bug fixes:
-
Fixed
ImportHooks: it must raiseModuleNotFoundError
instead ofImportError. -
Fixed absolute import in
ImportHooksunder Python 3. -
Fixed
Template.webInput: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage; Python 3.13 droppedcgi. -
Fixed
_namemapper.c: Silent an inadvertentTypeErrorexception
inPyMapping_HasKeyStringunder Python 3.13+
caused by_namemapperlooking up a key in a non-dictionary. -
Fixed
_namemapper.c: SilenceIndexErrorwhen testing
name[attr]. Some objects likere.MatchObjectimplement both
attribute access and index access. This confusesNameMapperbecause
it expectsname[attr]to raiseTypeErrorfor objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py:
Python 3.13 brough a new mapping typeFrameLocalsProxy. -
Fixed another
RecursionErrorinImportHooksunder 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
Bug fixes:
-
Fixed
ImportHooks: it must raiseModuleNotFoundError
instead ofImportError. -
Fixed absolute import in
ImportHooksunder Python 3. -
Fixed
Template.webInput: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage; Python 3.13 droppedcgi. -
Fixed
_namemapper.c: Silent an inadvertentTypeErrorexception
inPyMapping_HasKeyStringunder Python 3.13+
caused by_namemapperlooking up a key in a non-dictionary. -
Fixed
_namemapper.c: SilenceIndexErrorwhen testing
name[attr]. Some objects likere.MatchObjectimplement both
attribute access and index access. This confusesNameMapperbecause
it expectsname[attr]to raiseTypeErrorfor objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py:
Python 3.13 brough a new mapping typeFrameLocalsProxy. -
Fixed another
RecursionErrorinImportHooksunder 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
CI(GHActions): Build and publish wheels on Linux/aarch64.
3.3.3.post1
CI(GHActions): Build and publish wheels on Linux/aarch64.
3.3.4a2
CI(GHActions): Build and publish wheels on Linux/aarch64.