Djblets 0.8 Beta 1 Release Notes¶
Release date: February 20, 2014
Compatibility¶
This release of Djblets should be compatible with Python 3.
This release requires Django 1.6.2 or higher.
Pillow is now supported as an alternative to PIL. We recommend uninstalling PIL and switching entirely to Pillow, as it’s better maintained and easier to install.
Unit tests can now be run when the source code is checked out on a Windows host but run within a Linux VM.
Patch by Tomi Äijö.
Internationalization¶
Translations can now be built on a system without an installed copy of Djblets.
Patch by Stephen Gallagher.
djblets.datagrid¶
Pagination links now include any query parameters used to generate the view of the datagrid. (Bug #1155)
djblets.db.fields¶
Support updating many fields at once using
CounterField.CounterFieldhas two new class methods:increment_many(), anddecrement_many(). Theses can take a list of fields on a model instance and update them in the same query.CounterFieldinitializers can now handle their own instance updating.Previously,
CounterFieldinitializer functions had to return a result, which would be used in a query to update the instance. Now, they can do the update themselves (potentially using the newincrement_many()) and return None to tellCounterFieldnot to do its own update.CounterFieldnow only updates the affected fields when saving the model instance.
djblets.extensions¶
Extensions can now implement
initialize()instead of__init__().Previously,
Extensionsubclasses had to override__init__()and call the parent function before doing any initialization work. Now, they can simply override ‘initialize’. They don’t need to call the parent.Static media bundles can now apply to specific pages.
An
apply_toattribute in a static bundle definition can be set to a list of URL names that the bundle should render on. Those pages will automatically load any bundles listing that page’s URL name.Improved JavaScript extension support.
In previous alphas of 0.8, JavaScript extensions could be defined by filling in the
Extension.js_model_classattribute.That’s now been replaced by a new
JSExtensionclass. Extensions can define ajs_extensionsattribute and set it to a list ofJSExtensionsubclasses.Each subclass can define a JavaScript extension that can appear on one or more pages, by defining the
js_model_classandapply_toattributes.Added
SignalHook.SignalHookconnects to Django signals and keeps that connection bound to the lifecycle of the extension. When the extension is disabled, the signal is automatically disconnected.Added
DataGridColumnsHook.DataGridColumnsHookallows extensions to register custom columns on any datagrid.Simplified
TemplateHook.TemplateHookis now simpler and faster, and potentially less buggy.Extension hooks can no longer be shut down twice when disabling down an extension.
djblets.webapi¶
Subclasses of
RootResourcecan now provide custom payload data.Fixed timestamp inconsistencies in the payloads.
The serialized timestamps in a payload are now consistent whether they were populated from a database or from code. Previously, they would contain extra precision if populated from code that they otherwise wouldn’t have if populated form the database.
jquery.gravy.inlineEditor¶
Hitting Enter on an auto-completed
inlineEditornow properly populates the field. (Bug #2779)Added a
setValue()function toinlineEditor.Patch by Natasha Dalal.
Contributors¶
Christian Hammond
David Trowbridge
Natasha Dalal
Stephen Gallagher
Tomi Äijö