Dojo 1.1 Released
The moment has arrived. I’ve been anticipating this since the first new fixes to trunk were made, shortly after the 1.0 release. I am proud — no, elated — to announce what marks another solid run of around-the-clock development: The Dojo Toolkit version 1.1
There were two goals: Preserve API Compatibility, and continue to innovate. With over 800 marked bugs addressed, and countless DojoX enhancements landing, it’s easy to forget exactly what has been going all this time. We’ve written up 1.1 release notes to browse as a starting point, the changelog is available, and most importantly, the download is in place. Check it out, give it a test drive.
Its difficult to not sound giddy — a lot of hard work has gone into making this the best Dojo release to date: Over 30 core developers and countless numbers of new community contributions — all working in parallel for the good of Open Source, to make available to you a high-quality DHTML Toolkit, free of charge and free
of restrictions. We’re proud to roll this out today, and hope you enjoy this next iteration of Dojo excellence.
There so many new things, it is difficult to pick a starting point. Rather than duplicate the release notes, I’d like to take a second to point out some of my personal favorites:
Client-side syntax highlighting – The highlight.js project was contributed under CLA by Ivan Sagalaev. If you aren’t using Dojo, the original highlight project was toolkit independent. We’ve enhanced Ivan’s already cutting-edge highlighter by making it work transparently with the Dojo Build system, and scoping the namespace pollution down to a single variable. One of the most interesting aspects of the highlight system is automatic language detection, something not seen in other highlighting engines. Ivan is a JavaScript hacker and Django contributor / enthusiast, and it’s been a pleasure working with him to port this code (though our own talented Eugene Latzukin did most of the heavy lifting). We look forward to other new innovations from Ivan. We’ve introduced a number of new theme sets and language definitions as well.
“Teh Sexy” – Another great CLA contribution that appears in the 1.1 release: The entire set of flash easing functions originally written by Robert Penner in ActionScript, and ported to work with Dojo’s Animation system by SitePen’s Bryan Forbes (whom I refer to as my ‘maff mastermind’). These functions easily and subtly add an element of flair to any rich web application. The functions appear in the dojox.fx project, and can be passed directly to any _Animation instance with the easing: property.
BorderContainer – My new favorite Dijit. BorderContainer is the new LayoutContainer of Dojo. It’s just _good_. Making window-level Applications just got a whole lot easier. Specify a region, pass it a ContentPane (or eight), set some options and it’s good to go! The reusability of ContentPane and the power of dijit._Templated makes for really easy custom containers. BorderContainer is slightly more exciting to me now than StackContainer, though the nature of BorderContainer allows us to embed StackContainers and other BorderContainers — pretty much any widget — as children to become their own defined “region”.
dijit Themes! – Tundra received a lot of polish, and Nikolai Onken wandered in from the Dojo community one day — carrying a brand new theme (Nihilo), and an updated version of Soria. He’s been a great gain for the Dojo Community – tirelessly working with me on DojoCampus, and continually enhancing the overall look and feel of the toolkit. It’s great to have him on board, as well as the other newly active contributors that troll #dojo and otherwise continue to make Dojo rock. Its a big team effort, and a lot of work, and the quality of the 1.1 release is a testament to that effort.
Its important to note that while all this great new stuff has landed in Dojo since 1.0, we’ve still managed to maintain near perfect API compatibility. There seems to be a misconception that a transition between Dojo versions is difficult. With our growing list of porting-guides, it definitely seems as though there is a lot going on and a lot to keep up with, but rest assured: The 0.4 -> 0.9 transition was a one time deal. Porting from 0.4 -> 1.1 is nearly identical to Porting from 0.4 -> 1.0, or to 0.9 for that matter. If you are using a legacy 0.4.x code base you don’t need to “port to 0.9 first”, though reading the guide written during the 0.9 transition will be infinitely helpful. We’ve made the changes we needed to, and will once again maintain API consistency, following our own deprecation cycle rules from here out. You can have that peace of mind.
So, with that I leave you. Enjoy the 1.1 release! Back to work for me … time to go make 1.2 even better than 1.1.
I joke and say “real men work from trunk” – so if you are interested, don’t forget to visit: http://archive.dojotoolkit.org/nightly/ for daily updates.
(Via The Dojo Toolkit blogs.)
leave a comment