Djblets 0.8 Alpha 1 Release Notes¶
Release date: November 9, 2013
Compatibility¶
Djblets now requires Django 1.5. At this time, it is not tested with Django 1.6, but will soon require that as the minimum.
Made some progress toward Python 3 support. It is not yet complete.
Static files¶
All static media bundled with Djblets has been moved into a
static/
directory.Static files are now compatible out-of-the-box with django-pipeline.
djblets.settings
exposesPIPELINE_CSS
andPIPELINE_JS
variables that can be pulled into a project and used directly or merged with their own pipeline settings.There are four JavaScript bundles:
djblets-datagrid
- Datagrid supportdjblets-extensions-admin
- Admin UI for extensionsdjblets-extensions
- General JavaScript extension supportdjblets-gravy
- jquery.gravy’s set of widgets and utilities
There are also two CSS bundles:
djblets-admin
- Admin UI styles for siteconfig and extensions.djblets-datagrid
- Styles for datagrids
CSS files are now LesSCSS files. This requires the less.js runtime, or compilation.
jQuery and jQuery-UI are no longer shipped with Djblets. The
jquery.html
andjquery-ui.html
templates now use the versions on the Google CDN by default.
jquery.gravy¶
jquery.gravy
has been split into multiple files. These can be used individually, but will be combined together if using the providedPIPELINE_JS
.Removed legacy workarounds for older versions of Internet Explorer, Mobile Safari, and Opera.
Removed
$.browser
additions.
jquery.gravy.inlineEditor¶
Added support for custom textarea-type widgets in an
inlineEditor
.Callers can now pass new options to
inlineEditor
that define methods for operating on a textarea, or equivalent. These allow other widgets, such as CodeMirror, to be placed in aninlineEditor
.The new optional methods are:
createMultilineField
,setFieldValue
,getFieldValue
, andisFieldDirty
.On required fields, the asterisk now has a tooltip.
Fixed auto-sizing
inlineEditor
when forcing an auto-size. It didn’t always size itself correctly.Fixed dirty detection when using
hasRawValue
.Fixed setting the width of an editor when the content wraps.
djblets.datagrid¶
Datagrids now use spritesheets for the icons, reducing the number of downloads.
Added Retina icons for the datagrids.
djblets.extensions¶
Added support for looking up static media for extensions.
Extensions can now provide a
static/
directory containing all their static media. They can then look them up in a template by doing:{% ext_static extension "path/to/file.png" %}
This requires that the project list
djblets.extensions.staticfiles.ExtensionFinder
insettings.STATICFILES_FINDERS
.Added support for defining static media bundles.
Extensions can list all the CSS and JavaScript bundles they use by defining
Extension.css_bundles
andExtension.js_bundles
variables. These are Pipeline bundle definitions, and follow the same format, with the exception thatoutput_filename
is optional.If the bundle name is “default”, it will be included on any page that uses the
{% load_extensions_js %}
and{% load_extensions_css %}
template tags.Added support for packaging static media bundles.
Bundles will be automatically packaged along with an extension, if the project providing extension support provides the proper support, and the extension makes use of it. See djblets.extensions.packaging.
Added support for JavaScript extensions.
These function as a counterpart to the Python extensions. They are subclasses of
Djblets.Extension()
, and are very similar to the Python extensions.Python Extension subclasses can specify the name of their JavaScript counterpart by setting the
Extension.js_model_class
variable. These will be instantiated on all pages that use the{% init_js_extensions %}
template tag.JavaScript hooks can also be written by subclassing
Djblets.ExtensionHook()
. See the documentation included instatic/djblets/js/extensions/models/extensionHookModel.js
for more information.This requires Backbone.js.
djblets.testing¶
Removed the old Selenium support.
djblets.webapi¶
Drastically improved performance of queries made through the API.
WebAPIResource.get_object()
now takes an optionalid_field
parameter, which specifies which field to look up as the ID. If not specified, the default for the resource is used.Removed backwards-compatibility support for the old
allowed_item_mimetypes
andallowed_list_mimetypes
fields.Specifying a negative index for the
start
query parameter on list resources no longer triggers an HTTP 500. It’s now interpreted as 0.
Contributors¶
Christian Hammond
David Trowbridge