Releases: CheetahTemplate3/cheetah3
3.4.0b6
Bug fixes:
-
Fixed
ImportHooks
: it must raiseModuleNotFoundError
instead ofImportError
. -
Fixed absolute import in
ImportHooks
under Python 3. -
Use
cache_from_source
inImportManager
to find out
.pyc
/.pyo
byte-code files. -
Fixed unmarshalling
.pyc
/.pyo
byte-code files
inImportManager
. -
Fixed
Template.webInput
: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage
; Python 3.13 droppedcgi
. -
Fixed
_namemapper.c
: Silent an inadvertentTypeError
exception
inPyMapping_HasKeyString
under Python 3.13+
caused by_namemapper
looking up a key in a non-dictionary. -
Fixed
_namemapper.c
: SilenceIndexError
when testing
name[attr]
. Some objects likere.MatchObject
implement both
attribute access and index access. This confusesNameMapper
because
it expectsname[attr]
to raiseTypeError
for objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py
:
Python 3.13 brough a new mapping typeFrameLocalsProxy
. -
Fixed another
RecursionError
inImportHooks
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
Bug fixes:
-
Fixed
ImportHooks
: it must raiseModuleNotFoundError
instead ofImportError
. -
Fixed absolute import in
ImportHooks
under Python 3. -
Use
cache_from_source
inImportManager
to find out
.pyc
/.pyo
byte-code files. -
Fixed unmarshalling
.pyc
/.pyo
byte-code files
inImportManager
. -
Fixed
Template.webInput
: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage
; Python 3.13 droppedcgi
. -
Fixed
_namemapper.c
: Silent an inadvertentTypeError
exception
inPyMapping_HasKeyString
under Python 3.13+
caused by_namemapper
looking up a key in a non-dictionary. -
Fixed
_namemapper.c
: SilenceIndexError
when testing
name[attr]
. Some objects likere.MatchObject
implement both
attribute access and index access. This confusesNameMapper
because
it expectsname[attr]
to raiseTypeError
for objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py
:
Python 3.13 brough a new mapping typeFrameLocalsProxy
. -
Fixed another
RecursionError
inImportHooks
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
Bug fixes:
-
Fixed
ImportHooks
: it must raiseModuleNotFoundError
instead ofImportError
. -
Fixed absolute import in
ImportHooks
under Python 3. -
Fixed
Template.webInput
: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage
; Python 3.13 droppedcgi
. -
Fixed
_namemapper.c
: Silent an inadvertentTypeError
exception
inPyMapping_HasKeyString
under Python 3.13+
caused by_namemapper
looking up a key in a non-dictionary. -
Fixed
_namemapper.c
: SilenceIndexError
when testing
name[attr]
. Some objects likere.MatchObject
implement both
attribute access and index access. This confusesNameMapper
because
it expectsname[attr]
to raiseTypeError
for objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py
:
Python 3.13 brough a new mapping typeFrameLocalsProxy
. -
Fixed another
RecursionError
inImportHooks
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
Bug fixes:
-
Fixed
ImportHooks
: it must raiseModuleNotFoundError
instead ofImportError
. -
Fixed absolute import in
ImportHooks
under Python 3. -
Fixed
Template.webInput
: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage
; Python 3.13 droppedcgi
. -
Fixed
_namemapper.c
: Silent an inadvertentTypeError
exception
inPyMapping_HasKeyString
under Python 3.13+
caused by_namemapper
looking up a key in a non-dictionary. -
Fixed
_namemapper.c
: SilenceIndexError
when testing
name[attr]
. Some objects likere.MatchObject
implement both
attribute access and index access. This confusesNameMapper
because
it expectsname[attr]
to raiseTypeError
for objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py
:
Python 3.13 brough a new mapping typeFrameLocalsProxy
. -
Fixed another
RecursionError
inImportHooks
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
Bug fixes:
-
Fixed
ImportHooks
: it must raiseModuleNotFoundError
instead ofImportError
. -
Fixed absolute import in
ImportHooks
under Python 3. -
Fixed
Template.webInput
: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage
; Python 3.13 droppedcgi
. -
Fixed
_namemapper.c
: Silent an inadvertentTypeError
exception
inPyMapping_HasKeyString
under Python 3.13+
caused by_namemapper
looking up a key in a non-dictionary. -
Fixed
_namemapper.c
: SilenceIndexError
when testing
name[attr]
. Some objects likere.MatchObject
implement both
attribute access and index access. This confusesNameMapper
because
it expectsname[attr]
to raiseTypeError
for objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py
:
Python 3.13 brough a new mapping typeFrameLocalsProxy
. -
Fixed another
RecursionError
inImportHooks
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
Bug fixes:
-
Fixed
ImportHooks
: it must raiseModuleNotFoundError
instead ofImportError
. -
Fixed absolute import in
ImportHooks
under Python 3. -
Fixed
Template.webInput
: Useurllib.parse.parse_qs
instead ofcgi.FieldStorage
; Python 3.13 droppedcgi
. -
Fixed
_namemapper.c
: Silent an inadvertentTypeError
exception
inPyMapping_HasKeyString
under Python 3.13+
caused by_namemapper
looking up a key in a non-dictionary. -
Fixed
_namemapper.c
: SilenceIndexError
when testing
name[attr]
. Some objects likere.MatchObject
implement both
attribute access and index access. This confusesNameMapper
because
it expectsname[attr]
to raiseTypeError
for objects that don't
implement mapping protocol. -
Fixed mapping test in
NameMapper.py
:
Python 3.13 brough a new mapping typeFrameLocalsProxy
. -
Fixed another
RecursionError
inImportHooks
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
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.
3.3.4a1
CI(GHActions): Build and publish wheels on Linux/aarch64.