[Dojo-interest] Dojo 1.9.2 now available

Colin Snover dojo-contributors at zetafleet.com
Fri Dec 6 18:50:40 EST 2013


Hi everyone,

I am happy to report that Dojo 1.9.2 is now available for download. This
release adds bug fixes and official support for modern browsers.

The most prominent changes are:

* Support for IE11
* Support for W3C Pointer Events API in touch-enabled components
(necessary for IE11 support)
* Fixes for modern Firefox and Chrome
* Fixes to star-mapping and aliases when using built layers
* Fixes to sorting Date objects in dojo/store/Memory and other stores
that use SimpleQueryEngine
* Fixes to Dijit pop-up scrolling when using the scrollbar

Because this is a new browser support release, there are some important
changes that Dojo users relying on user-agent sniffing (please stop)
need to know:

`has("ie")` is `undefined` in IE11. This is intentional. IE11 removes
the proprietary IE APIs, and so following UA-specific code paths that
then expect these APIs will fail. This should enable any legacy code to
fall back to the correct standards-path without modifications. This
change matches Microsoft’s UA detection guidance for IE11
<http://msdn.microsoft.com/en-us/library/ie/bg182625.aspx#uaString> (“In
rare cases, it may be necessary to uniquely identify IE11. Use the
Trident token to do so.”).

In place of the "ie" has-rule, the Trident browser engine is now
detected with the "trident" has-rule. Please note that Trident engine
detection will occur in all versions of IE that expose the Trident
version, not just IE11. Trident 7 is the version of Trident used by
IE11, so `has("trident") === 7` in IE11.

When in compatibility mode, `has("ie")` will still return the version of
the IE version being emulated, and `has("trident")` will return the
version of the native Trident engine. So, IE11 in IE8 compatibility mode
will be `has("ie") === 8` and `has("trident") === 7`.

As insinuated above, the use of any UA sniffing is **strongly
discouraged** and these UA sniffs should be considered deprecated. Do
not use `has("trident")` unless you are specifically attempting to
target the browser to, for example, provide browser-specific settings
instructions to users. Use feature detection instead. UA CSS has
intentionally not been added for Trident to discourage UA hacks in CSS.
If you need to detect CSS features in IE11, consider using a library
like Modernizr.

Finally, a public service announcement: compatibility mode has been
deprecated by Microsoft in IE11. If you are still relying on it
(X-UA-Compatible) for your apps to work, now is an excellent time to
upgrade to a newer version of Dojo and fix any legacy code to be
standards-compliant.

---

The complete list of changes for Dojo 1.9.2 can be viewed at:

Dojo: https://github.com/dojo/dojo/compare/1.9.1...1.9.2
Dijit: https://github.com/dojo/dijit/compare/1.9.1...1.9.2
DojoX: https://github.com/dojo/dojox/compare/1.9.1...1.9.2
Util: https://github.com/dojo/util/compare/1.9.1...1.9.2

Download Dojo 1.9.2 from <http://dojotoolkit.org/download/> or GitHub.
Dojo Core is also available on npm.

Have a great weekend,

-- 
Colin Snover
http://zetafleet.com
http://www.sitepen.com



More information about the Dojo-interest mailing list