Dojo 1.7.2 status

Hi everyone,

Just a quick status update on 1.7.2. There were a couple of last minute build issues that were discovered in the RC which means that the release has been pushed back slightly. We’re hoping to have it out by Friday at the absolute latest; it may be out earlier than that depending upon how quickly the remaining issues can be ironed out.

Dojo 1.7.2rc1 released

Hello world,

I’m happy to announce the first release candidate for Dojo 1.7.2. This is a stability and bugfix release, and is the first to include official support for the newly released Firefox 10 ESR.

Download: http://download.dojotoolkit.org/release-1.7.2rc1/
List of fixes: http://bugs.dojotoolkit.org/query?group=status&milestone=1.7.2

Final release of 1.7.2 is planned for next Wednesday, so test and report any issues promptly! Thanks!

What’s coming in Dojo 1.8

Hi everyone,

I’m Colin, one of the release managers for Dojo 1.8. Today I wanted to talk publicly about the planned roadmap and our focus for the next major release of Dojo.

Near the end of January, a group of team members held a meeting to discuss our direction for 1.8. The discussion was a little larger than simply the 1.8 release and cut across a few different areas, but we did establish a reasonable release roadmap full of new features and enhancements. For the most part, Dojo 1.8 will have a much more tightly controlled scope than 1.7, and we’ll be keeping release blocking issues reserved for Dojo and Dijit packages (instead of DojoX packages) in order to ensure a more reasonable/sprightly release cycle than the previous two.

Briefly, the list of planned improvements for 1.8 are:

  • New standalone Router component
  • New I/O component (to replace the existing XHR module)
  • New calendar UI component
  • New documentation parser
  • Touch & HTML5 support for Dojo DnD
  • Unified Touch API for Dijit, Dojo Mobile, and graphical modules
  • More mobile widgets and general mobile support improvements, including the start of convergence between Dojo Mobile and Wink Toolkit
  • Better SVG and Canvas support in dojox.gfx
  • Improvements to dojox.app lifecycle management
  • Improvements to data binding in dojox.mvc
  • More application demos
  • More has-bracketing for feature detection and smaller builds
  • Bug fixes for CLDR generation, AMD conversions, and more

In addition to code improvements, some very important additional changes are being made during the 1.8 release cycle:

1. Documentation

Everyone agrees: where to find correct and accurate documentation remains confusing to end-users and we need to work on improving this. From a tooling perspective, it was decided that the best route forward here is going to be to focus on getting a new JS-based documentation parser up and running as soon as possible, both so it can be used to generate the correct documentation for the API browser, and also so that it can be used to provide reports about what areas of code are missing documentation. Rawld Gill and Colin Snover will be the primary people working on this piece, but as they are both busy, anyone interested in the fun and exciting world of parsing should volunteer to help (even if it is simply running code against it until it breaks and lodging bug reports in the issue tracker on GitHub). Longer-term, the plan is to try to combine API & ref guide as much as possible to provide a *single* point of authoritative documentation for any given component.

In addition to tooling, we are working on improving user feedback during this cycle in order to try to learn where we need to focus our documentation improvements the most. Links have already been added to the bottoms of the API browser, tutorials, and reference guide pages so users can submit feedback about pages that are not giving them the information they need. We encourage everyone to use these links to provide documentation feedback.

Finally, Dylan Schiemann will be helping to set up some targeted documentation sprints to improve the quality and availability of documentation. More on this at a later date.

2. Browser compatibility

There are some new components slated for development during the 1.8 cycle that are dropping support for old browser versions (IE6 and Firefox 3.6). These components are likely to be the first to be referenced from external repositories as part of the move toward independent repositories for DojoX projects. Since we are still committed to continuing support for a wide range of browsers and browser versions within officially supported code, we will be implementing browser support grading in 1.8 (a la YUI and others) to make it clearer to end-users what kind of support they can expect for a given platform (and to enable us to more gradually phase out support for these legacy browsers).

We also understand that users don’t want to be stuck on a toolkit upgrade treadmill, but still need their products to be able to support new browsers as they are released. As such, we are currently evaluating a proposal to perform quarterly backports of browser support fixes from trunk to Dojo 1.5 and newer to assure end-users that their products will be able to support newer browser releases for a reasonable period of time. The release of Dojo 1.5.2 was a trial step in this direction.

3. Bug tracker

Our bug tracker has not been meeting our needs effectively when it comes to managing releases and issues. As such, new plugins have been introduced to improve this tool. We are also planning on going through and aggressively reducing the number of open tickets in order to provide a more realistic and manageable look at what work needs to be done for 1.8 and beyond.


As mentioned in the roadmap, our planned feature freeze date is April 16, with final release hopefully occurring sometime in early June. Keep your eyes here for updates and some sneak peeks at what’s coming up in the new release!

Dojo 1.5.2 Released

We’re pleased to announce Dojo 1.5.2, a set of updates for anyone using the 1.5.x line of Dojo. This release is a departure from our approach in the past, and is something new we’re trying to better support you.

The 1.5.2 update consists primarily of backports of browser compatibility fixes for Internet Explorer 9 and Firefox4+, most of which were originally added in the 1.6.0-1.6.1 time frame.

If you are working with a Dojo 1.5 code base and are interested in benefiting from browser compatibility fixes heretofore seen only in 1.6+, please give this a whirl in your apps. It’s a low risk update that will provide you with better browser compatibility, without any changes to APIs or features from 1.5.1.

Note that 1.5.2 is not yet available on the CDNs, but will be available in the near future.

Please report any new issues you find in your testing with your Dojo Foundation account.

1.7 Tutorials, CometD 2.4.0, Wink Toolkit 1.4.1, and Documentation Feedback

This past week included four significant announcements:

  • The Dojo Tutorial series has been updated to include version 1.7 of Dojo. Read the announcement from SitePen for more details.
  • Wink Toolkit has been updated to version 1.4.1. Wink Toolkit is a Dojo Foundation project that is mobile-specific, now builds on AMD, and is now easy to use with Dojo. See the Community Connections demo app which shows off using Dojo and Wink together, and introduces some of the committers to Dojo and Wink.
  • CometD has released version 2.4.0. In addition to improving their WebSockets support, they have also updated their Dojo client to work with Dojo 1.7.1 (though it does not yet support AMD).
  • We’ve long heard that we have issues with our documentation, and in spite of our best efforts to improve them, especially with the tutorials, we need help identifying and resolving issues with our docs. If you’re interested in contributing, less us know on the mailing list or on IRC. But even if you’re not interested in that level of help, we’ve simplified the feedback process. At the bottom of each API viewer and tutorial page (and soon reference guide as well), you’ll find a link to a quick feedback form. If you see an issue on the page you’re reviewing, simply click the link, type in a note with the details of the problem, and we’ll make it a priority to fix.

Looking for DojoConf in Europe? Try Web-5 in April!

The very successful and inspiring DojoConf in DC last September has led many to ask us when there will be a DojoConf EU?

While we have no immediate plans, active Dojo user “PEM” of the Web-5 Association is organizing Web-5 in Béziers, France in early April. In addition to 6 excellent Dojo talks, the conference will also include more general talks on HTML5, Mobile Web, Node.js, WebGL, performance, and general JavaScript and web application development topics.

Early registration is now open with a 33% discount available for the first batch of sign-ups. We hope to see you in beautiful Béziers, to talk about Dojo and web development:

Dojo 1.7.1 is Released!

We’re happy to announce Dojo 1.7.1 is now available for download.

Review the list of issues resolved in this release.

Please report any new issues you find in your testing with your Dojo Foundation account. Links to CDN, and an updated reference guide, web site, and tutorials for 1.7 will be available soon.

And special thanks to Colin Snover and Ken Franqueiro for managing this release!

Learn more about AMD!

If you’ve been reading about Dojo 1.7, the first thing you’re probably wondering is, what is this AMD thing that everyone is talking about? We have a great tutorial update in the works, and some in progress AMD docs. If you’re first learning about AMD, here are a few presentations and resources that are particularly useful:

For efficiently loading modules, Dojo 1.7 by default includes a new async loader based on Rawld Gill’s excellent work on the backdraft framework. Dojo can also be used with RequireJS, curl.js, or other AMD loaders.

Dojo 1.7 Released!

Dojo 1.7 is now available and ready for your web app. The second major release towards our plans for 2.0, we’ve undergone substantial improvements while preserving existing APIs and capabilities. The Dojo community has come together to dramatically improve the performance and modularity of the toolkit, a popular theme in the world of AMD (asynchronous module definition), JavaScript loaders, and microtoolkits.

Dojo Nano: Less than 4KB gzipped!

Dojo 1.7 provides substantial improvements for building desktop and mobile apps using open web technologies. In addition to a wide variety of features and changes, Dojo has been significantly improved to deliver a foundation that’s ideal for building your applications in any environment (web, desktop, mobile, server-side). Starting with less than 4KB (gzipped), you include just the features you need in your application, from Dojo, your source code, and plug-ins hosted by Dojo, GitHub, and others.

Get Dojo

Overall Vision: Separation of Data and User Experience

You will often hear us talk about separation of concerns. Your users typically want access to relevant data and information, in a variety of different contexts and experiences (desktop web, mobile, tablets/pads, television, automobiles, and much more).

With this understanding in mind, Dojo provides:

  • Tools to mix and match to create your app
  • Simple APIs to seamlessly separate data from UI logic
  • Modularity for very simple projects that’s flexible and consistent enough to handle the most challenging, feature-rich web apps

By truly separating data from your user experience, you can efficiently deliver amazing results to the users of your applications. In a world of many diverse platforms, the separation of data and user experience is key to giving your users access to the data and information they want, in an experience that’s ideal given the context (device, task to be conducted, etc.). It’s definitely a concept that’s gaining popularity, for example the experimental model-driven views library from Google.

Getting There: Compatibility and API Changes

One of our major goals with the Dojo Toolkit is that your application should be easy to upgrade between point releases, e.g., 1.5 to 1.6, and we only make major, incompatible API changes when changing major version numbers, e.g. 1.0 to 2.0. In order to guarantee this API compatibility and consistency, we need time to make sure our APIs are stable and solid. The changes in Dojo 1.6 and 1.7 represent a major refactoring of Dojo for 2.0, while preserving compatibility with previous versions of Dojo. Thus, there are a flurry of new APIs that you should consider to represent Dojo 2.0 alpha or beta, while still being able to safely use existing APIs that may be deprecated in 2.0.

We will discuss many of these changes in more detail through blog posts, tutorials and web site updates in the near future. Here’s a brief summary of the major changes.

Optimized Resource Loading: Asynchronous Module Definition

Module and resource loading has become extremely popular as more application developers have discovered the need for powerful management of larger JavaScript code bases. AMD arrived in Dojo 1.6 and has been completed for Dojo 1.7.

Dojo Toolkit developers have played a major role in helping define the AMD specification. These are excellent innovations in JavaScript which do not necessarily require Dojo and can encourage interoperability across projects. In fact, the RequireJS project is a Dojo Foundation project that’s popular in the jQuery community for working with modules and AMD. And AMD is also gaining support in newer versions of jQuery, MooTools and many other projects.

Key Considerations in working with AMD include:

  • Package Management
    • Modularity of code as well as ease of cross-project sharing, while reducing side effects and testing complexity
  • Optimization: reduced size balanced with number of requests
  • Feature Detection and user-agent optimized builds: has.js and optimized builds for common user agents
  • Reconstitution: easily combining modules from Dojo, your work, and other projects across the web

The amazing new async loader dramatically improves the performance of your AMD application. For reconstitution of modules outside of Dojo, we have a package distribution system that makes it easy to deploy packages and their dependencies. It is the work in progress CommonJS Package Manager platform, which works well with Dojo and many external projects.

dgrid

Of particular note is the new dgrid module, a lightweight grid redesigned for performance and modularity.

Core refinements

Dojo 1.6 introduced the new Dojo Object Store API, based on the HTML5 IndexedDB recommendation. It provides an incredibly intuitive and simple way to include arbitrary data in your user interfaces, with simple APIs for getting and setting data. More advanced constructs like real-time updates with Dojo Socket, validation, caching, and more are simply added through lightweight wrappers. Refinements and stability improvements to this have been added in 1.7.

As announced previously, the event and query systems have been refactored to improve performance, simplify the API, and add modularity. For example, you can now use a very lightweight query system, or include the full Dojo Acme, jQuery Sizzle, or MooTools Slick query engines within your application.

Other major improvements

  • “Baseless Dojo”, with far lighter dependencies throughout the Dojo codebase. Expect more efforts in this area towards Dojo 1.8.
  • _TemplatedMixin/_WidgetsInTemplateMixin, and _setXXXAttr API refinements
  • dijit/focus, dijit/place, dijit/popup, and dijit/registry
  • CalendarLite
  • ComboBox/FilteringSelect, with native dojo/store support
  • Zoom/pan/data interactions
  • BIDI text support
  • Gauges, Geo, and GFX improvements, especially for mobile
  • Support for Blackberry 6 in Dojo Mobile.
  • Dijit support for touch and gesture events on mobile platforms.
  • Application controller and MVC, and an updated Dojo Boilerplate.



Mobile Modularity

The other Dojo Foundation mobile projects, Wink Toolkit and EmbedJS, have adopted AMD as well. See Wink and Dojo used together in the Dojo Community Connections demo.

Testing and Compatibility

In total, we’ve resolved more than 1000 issues since Dojo 1.6. The DOH test suite of tens of thousands of tests passes in all officially supported browsers:

  • Chrome: 8.x and newer
  • Firefox: 3.6.x and newer
  • Internet Explorer: 6, 7, 8, and 9
  • Opera: 11.x and 12.x
  • Safari: 5.0.x and 5.1.x

Dojo is also tested with popular mobile browsers including iOS 4.x and 5.x, Android 2.x, 3.x, and 4.x, and Blackberry 6, and passes for all supported features in Dojo Mobile, and most features throughout Dojo. Work is planned for supporting Blackberry 7 and QNX, and Windows Phone 7.5.

Use Direct from the CDN, or Download

Get the Dojo release that’s right for you. Choose from CDN, optimized builds, or source versions with full demos and utilities. Please note that if you are upgrading from 1.6 or earlier, we no longer make a distinction between dojo.js and dojo.xd.js (all versions work cross-domain with the new loader), so update your URLs to refer to dojo.js.

Get Dojo

Documentation

Many improvements have been made to the Dojo documentation. The dozens of Dojo Tutorials are being updated for 1.7, in addition to the reference guide and API documentation. Expect these updates to be completed by the end of 2011.

Roadmap

Work on Dojo 1.8 is already underway. We’re anticipating a 1.8 release in Q1 2012, and 2.0 in mid-late 2012.

Release Notes

Read the complete Dojo 1.7 release notes for full details on everything that has changed with Dojo since 1.6.

Browser-compatibility Releases

In the coming weeks, and as a new policy going forward, we plan to issue point releases more regularly for 1.5.x and newer, rather than just for the most current release. The goal with these updates is to fix compatibility issues with new browsers that are released. This will allow you to use Dojo with new browser releases without as much risk in the upgrade cycle. Expect a 1.5.2 release in the near future with support for Firefox 4+ and IE9, and a 1.6.2 release as well with minor updates. Because new browsers are released with increasing frequency, this should help many Dojo users keep their apps running properly with new browser releases. While we’re moving more of Dojo to feature detection, there are still no guarantees that everything works as expected in new browsers, especially when changes are as dramatic as IE8 to IE9 for example.

Thanks!

And as always, we appreciate your interest and usage. If you find an issue with Dojo, have a suggestion, or see anything on the site or within the documentation that you think should be better, please register for a Dojo Foundation account and open a ticket.