Djblets 2.3 Release Notes¶
Release date: February 8, 2022
Packaging¶
Bumped the version of the packaging-only dependency babel to 7.x.
Bumped the version of the packaging-only dependency babel-plugin-dedent to 2.x (2.1+).
Compatibility¶
Added compatibility shims to allow Django 1.11 to work on Python 3.10.
Python 3.10 removed some legacy imports in the
collections
module, which were still being used in Django 1.11. Now, so long as thedjblets
module is imported early enough, Django 1.11 will continue to work.Updated all Djblets-provided Django middleware to work as old-style middleware or new-style middleware.
This allows the middleware to be used in the old
MIDDLEWARE_CLASSES
setting, or in the modernMIDDLEWARE
setting.Support for working as old-style middleware will be removed in Djblets 3.0.
djblets.cache¶
Fixed
cache_memoize()
with values that don’t have a length.This fixes storing booleans, integers, and other such values as cached data without first having to cast to a string or store in a list.
djblets.extensions¶
Extensions can now provide modern Django middleware.
Before, only legacy Django middleware were supported.
Support for legacy middleware will be removed in Djblets 3.0.
Babel 7.x is now used for building ES6-compatible JavaScript in extensions.
This shouldn’t impose any backwards-compatibility issues.
Added new extension state management capabilities for unit tests using
ExtensionTestCaseMixin
.Fixed a crash with attempting to disable an extension with load errors.
Fixed extension state cleanup issues in unit tests using
ExtensionTestCaseMixin
.
djblets.markdown¶
Updated the Markdown extensions to stop using deprecated Python-Markdown 2.x code.
The following extensions are now fully compatible with Python-Markdown 3.x:
Fixed
render_markdown_from_file()
on Python 3.
Contributors¶
Christian Hammond
David Trowbridge