News¶
3.2.4 (2019-10-22)¶
Minor features:
- Import from
collections
for Python 2, fromcollections.abc
for Python 3.
Bug fixes:
- Fixed infinite recursion in
ImportManager
on importing module_bootlocale
insideopen()
.
3.2.3 (2019-05-10)¶
Bug fixes:
- Fixed infinite recursion in
ImportManager
on importing a builtin module.
Documentation:
- The site https://cheetahtemplate.org/ is now served with HTTPS.
- Updated docs regarding fixed tests.
Tests:
- Removed
unittest.main()
calls from tests:python -m unittest discover -t Cheetah -s Cheetah/Tests -p '[A-Z]*.py'
does it.- Fixed
cheetah test
command.- Fixed script
buildandrun
: copy test templates to thebuild/lib
directory.
3.2.2 (2019-04-29)¶
Minor features:
- Replaced outdated and insecure
mktemp
withmkstemp
.
Bug fixes:
- Fixed bugs in
TemplateCmdLineIface.py
: read binary pickles from stdin and files.
Tests:
- Use
cgi.escape()
for Python 2,html.escape()
for Python 3.- Created tests for
TemplateCmdLineIface
.
3.2.1 (2019-03-19)¶
Minor features:
- Changed
LoadTemplate.loadTemplate{Module,Class}
: the loaded module’s__name__
set to just the file name.- Use
imp
for Python 2,importlib
for Python 3.
Bug fixes:
- Fix a bug in
LoadTemplate.loadTemplate{Module,Class}
: raiseImportError
if the template was not found.
CI:
- At Travis deploy wheels for macOS.
- At AppVeyor deploy wheels directly to PyPI.
3.2.0 (2019-02-06)¶
Features:
- Dropped support for Python 3.3.
- Implement
LoadTemplate.loadTemplate{Module,Class}
to load templates from.py[co]
,.py
or.tmpl
.CheetahDirOwner
caches compiled template in the template directory.CheetahDirOwner
now silently ignores errors on compiled templates writing. To get tracebacks setCheetahDirOwner.debuglevel = 1
.CheetahDirOwner
andDirOwner
byte-compile compiled templates to.pyc/.pyo
. Errors on writing are silently ignored.
Minor features:
- Implement
Compiler.__unicode__
under Python 2 andCompiler.__bytes__
under Python 3.
Bug fixes:
- Fix a bug in
Compiler.__str__
: under Python 2 the method always returns str; it encodes unicode to str using encoding from the compiled source. Under Python 3 the method decodes bytes to str.
Code:
- Source code was made flake8-clean using the latest flake8.
Documentation:
- Remove outdated section markers.
- Better documentation for ImportHooks.
- Add an example of a universal makefile.
CI:
- Run tests with Python 3.7.
- At Travis deploy sdists and wheels for tags.
3.1.0 (2018-03-03)¶
Features:
- Fix Cheetah to work with PyPy. Pull request by Mathias Stearn.
Minor features:
- Code cleanup: fix code style to satisfy flake8 linter.
Documentation:
- Rename www directory to docs.
Tests:
- Run pypy tests at AppVeyor.
- Use remove-old-files.py from ppu to cleanup pip cache at Travis and AppVeyor.
3.0.0 (2017-05-07)¶
Major features:
- !!!THIS RELEASE REQUIRES RECOMPILATION OF ALL COMPILED CHEETAH TEMPLATES!!!
- Stop supporting Python older than 2.7.
- Update code to work with Python 3.3+. Tested with 3.3, 3.4, 3.5 and 3.6.
Minor features:
- Use ‘/usr/bin/env python’ for scripts; this allows eggs/wheels to be installed into virtual environments.
Bug fixes:
- Fix a bug in multiple inheritance (#extend Parent1, Parent2). Pull request by Jonathan Ross Rogers.
- Fix bugs in pure-python NameMapper.py. Bugs reported by Noah Ingham, patches by Adam Karpierz, tests by Oleg Broytman.
Tests:
- Run tests at Travis (Linux) and AppVeyor (w32) with Python 2.7, 3.3, 3.4, 3.5 and 3.6; x86 and x64.
- Fix a problem in Unicode tests - cleanup temporary files.