.. _releasenotes/1.3: Dojo 1.3 Release Notes ======================= These are the release notes for the Dojo Toolkit V1.3 release. .. contents:: :depth: 3 ============================== Enhanced Cross Browser support ============================== IE 8 support ------------ Dojo has been upgraded to work with IE8 Chrome support -------------- Chrome is supported, and also any other browsers based on the webkit renderer. What browsers are supported by this release? -------------------------------------------- * Internet Explorer 6.0 through 8.0 * Firefox 1.5, 2.0, and 3.0, Firefox 3.5 (1.3.2 only) (Dijit supports only FireFox 2+) * Safari 3.2, Safari 4.0 (1.3.2 only) * Chrome 1.0, Chrome 2.0 (1.3.2 only) * Opera 9.6 (Dojo Core only) * Konqueror 3.5+ (Dojo Core only) =================================================== Enhancements within Dojo core and related libraries =================================================== try/catch behavior changed with djConfig.debugAtAllCosts = true --------------------------------------------------------------- * Some modules in Dojo Core (XHR, Deferred, dojo.addOnLoad callback code) would catch errors and either just report them in the console or did another throw which made it hard to track the origin of the error. This was done to keep the code robust and running in the page. However, for development scenarios it made it hard to track down the origin of the error. * Now, those modules let the original exception bubble up, stopping JavaScript execution if djConfig.debugAtAllCosts is set to true. **This is different from Dojo 1.2** where the trigger was djConfig.isDebug. * If djConfig.debugAtAllCosts is set to false (or undefined) then a try/catch is used and the error is logged to the console. host environments/bootstrap --------------------------- * Added a XUL host environment and support for that in the bootstrap loader. * Added support in the bootstrap (source version of dojo.js) for documents which disallow document.write (such as pages served with a mime type of "application/xhtml+xml"). * dojo.isChrome and dojo.isWebKit available. dojo.isWebKit now gives version numbers like 525.3. KHTML detection changed to just support being defined for KHTML browsers only, since other KHTML-related browsers are likely more sensitive to dojo.isWebKit versions. Changed dojo.isSafari check so that now Safari 3.1.2 now correctly reports as dojo.isSafari 3.1. But with that change, Chrome browser does not have dojo.isSafari defined, which should be good, since we now have dojo.isWebKit and then dojo.isChrome for chrome-specific (non-webkit) issues. Now that there are webkit numbers, switched to DOMContentLoaded for webkit versions that support it. Base API additions ------------------ * dojo.create introduced to alias document.createElement and allow for immediate passing through dojo.attr and dojo.place for shorthand dom utility * dojo.destroy introduced, legalizing the use of dojo.\_destroyElement. dojo.\_destroyElement is left as an alias to dojo.destroy for backwards compatibility despite being "private" dojo.date.locale.displayPattern removed --------------------------------------- * This feature was removed in 1.3.2. Do not use. dojo.number ----------- * Made improvements to dojo.number.round to provide a faster and more consistent definition of rounding, defining rounding as going away from zero, and working around a bug in IE Number.toFixed. * See also [`#7930 `_] dojo.query ---------- * The query engine in Dojo 1.3 has received substantial work to improve performance, reduce code size, and make the system even more maintainable. The new query engine (aka, "Acme") now takes full advantage of the native browser's ``querySelectorAll`` implementation (if available). This change will likely reduce the runtime performance of dojo.query slightly on FireFox 3.0, but subsequent FF versions will see a huge speed boost, as will other browsers which implement QSA, including IE8 in standards mode, Safari+Chrome, and modern Opera versions. * Acme is believed at the time of release to be the fastest available CSS query engine system in any major JavaScript toolkit, across all major browsers, by a rather wide margin. * ``query.js`` can now be used standalone for easy integration into other toolkits ================== Dijit Enhancements ================== Menu and MenuBar ---------------- * Implemented MenuBar widget (like the "File" menu on most programs) * Enhanced Menu widget so that it can appear on the page statically, rather than being a popup. Useful for left-hand-side navigation menus, etc. * accelKey parameter added. Dijit doesn't have any features to detect/process accelerator keys (they should be caught at page scope), but if your application catches them, then you can display which key is associated w/which menu item choice now. Textarea -------- * Rearchitected to be implemented using