Djblets 0.9.5 Release Notes¶
Release date: February 9, 2017
Simplified installation of dependencies for contributors to Djblets.
If you’re working on the Djblets codebase, installing the package in development mode (running setup.py develop) will now install all of Python packages as Wheels instead of Eggs (simplifying installation on most systems), and will install the node.js dependencies needed for building static media.
This should help contributors get going with development. It does not impact consumers of the Djblets packages in any way.
The complete list of package dependencies now lives in the
djblets.dependenciesmodule instead of
Package maintainers looking to update the list of dependencies in some way or wanting to stay up-to-date on the list of dependencies should consult the
djblets/dependencies.pyfile. Note that only the Python dependencies listed in there are requirements for consuming the package. The node.js dependencies are only used to build the Djblets packages.
ForwardingCacheBackendnow ignores errors when closing the old backend during a reset.
This avoids crashes when the old caching backend configuration was bad in some way (such as the memcached host string being invalid).
Added a MySQL database backend that fixes problems with Django’s
djblets.db.backends.mysqlbackend is a drop-in replacement for
django.db.backends.mysqlthat sends the correct SQL when inserting binary content into the database using a
Django’s backend, prior to 1.10.5, will cause warnings from MySQL, which will result in errors if
settings.DEBUGis set to
True. This backend backports Django’s fix to older versions of Django.
Added automatic installation of node.js packages needed for building static media for extensions.
In order to simplify the building of extension packages that use static media, the extension packaging code now installs the LessCSS compiler and UglifyJS minifier automatically inside of a
node_modulesdirectory in the extension’s source tree. LessCSS is installed only if
*.lessfiles are used, and UglifyJS is installed only if
*.jsfiles are used.
Consumers of Djblets can override the dependencies being installed by implementing their own
Added access to the current HTTP
This can be used to inject data into the page that’s specific to the user or HTTP request in some way. Note that extensions implementing this method must now accept
**kwargs. Older methods that don’t will trigger warnings in the logs.
Patch by Erik Johansson.
Added a smarter version of Django’s
This introduces a new
cached_property()decorator, which is a version of Django’s decorator that retains the original method’s documentation and name, which Django’s does not. This allows for proper introspection and documentation generation for methods using this decorator.