Dojo 1.11 Release Notes

User Agent Support

The following user agents have been tested and are supported in this release. If a user agent version is not listed as supported, it still may work, especially on browsers with rapid release cycles (Chrome, Firefox). Future minor releases of Dojo might include fixes to support future releases of these browsers, but it is not guaranteed.

Desktop

  • Edge 12
  • Firefox 3.6-45
  • Safari 6-9
  • Chrome 13-50
  • IE 8-11
  • Opera 10.50-12 (Dojo core only). Blink-based versions of Opera should work like Chrome, but are not officially tested or supported for this release.

Mobile (dojox/mobile)

  • iOS (Mobile Safari), 6.x, 7.x, 8.x, and 9.x (including all Dijit widgets except Editor)
  • Android (Android Browser and Chrome) 2.3, 4.0-4.4, 5.0-5.1, and 6.0 (Platform browser and Chrome browser) (including all Dijit widgets for Android 4.0-4.4 except Editor)
  • BlackBerry 6-7 & 10 (Platform browser)
  • Windows Phone 8 (IE10)
  • Mobile compatibility on desktop browsers: Edge 12, IE 8-11, Firefox 4-43, Chrome 13-47

Server-Side User Agents

  • Node 0.10.X, 0.12.x, 4.x, 5.x

General

  • The dojo, dijit, dojox, util, and themes packages now have a bower.json file
  • The dojo, dijit, dojox, and themes packages will exclude node_modules installed within these packages. This is to prevent breaking the build when installing development tools such as Intern or Stylus within a package.

Dojo Core

csp

A feature test, 'has("csp-restrictions")' was added for non-csp compliant code. Please set this feature test to true in order to run code that must be csp compliant.

dojo/_base/kernel

Added 'has("console-as-object")' for IE9 console quirks. http://bugs.dojotoolkit.org/ticket/18197

dojo/dom

Added 'has("dom-contains")'. Browsers that natively support 'DOMNode.contains()' will now use this directly.

dojo/html

Previously, if a number is passed as the second argument to the dojo/html.set method, it resulted in a "Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'" error. In this situation, numbers should be synonymous with strings for setting content in nodes, so we have fixed this to allow the content to be numeric. https://bugs.dojotoolkit.org/ticket/18703

dojo/on

Added selectorTarget property from on.selector as property of event object, https://bugs.dojotoolkit.org/ticket/18355

dojo/sniff

System Message: WARNING/2 (/, line 84)

Title underline too short.

dojo/sniff
---------

Added feature tests for Edge, 'has("edge")', and modern Opera, 'has("opr")'. Note also that 'has("ie")' is false for IE11 as it was replaced with 'has("trident")' per request from Microsoft http://mail.dojotoolkit.org/pipermail/dojo-interest/2013-December/079827.html . Usage of browser sniffing is strongly discourated. Whenever possible, you should not use sniffing and should instead use feature detection.

dojo/store

null queries with JsonRest that provide parameters after ? will no longer include the string null in the query. https://bugs.dojotoolkit.org/ticket/17628

dojo/string

You can now escape $ in expessions, making it possible to specify a queryExpr: '${0}' inside a template without having to modify the caller or widget (for example, within a FilteringSelect Dijit https://bugs.dojotoolkit.org/ticket/18207

Dijit

keep class id if srcNodeRef.id is empty string in create(), https://bugs.dojotoolkit.org/ticket/18803

DojoX

dtl

  • Enable looping over objects with {% for key, value in object %}, https://bugs.dojotoolkit.org/ticket/17251 . This will break existing templates that treats objects as array of values (ie discarding keys).

form

  • BusyButton, BusyDropDownButton, and BusyComboButton refactored so they can be loaded over AMD.

layout

  • Fixed dojox/layout/GridContainerLite to work in apps using more than one instance or version of Dojo.

mdnd

  • Fixed to work in apps using more than one instance or version of Dojo.

Store

  • A new dojox/store/OData store has been added.
  • A new dojox/store/DynamoDB store has been added.
  • New tests for dojox/store now use Intern.

Util

Migration Notes

  • If using dojox/dtl, the change to looping may impact you.
  • BusyDropDownButton and BusyComboButton were split into separate files, so they need to be required explicitly,

System Message: WARNING/2 (/, line 154)

Bullet list ends without a blank line; unexpected unindent.

rather than just loading dojox/form/BusyButton.