Category Archives: Dojo2

Dojo 2 updates – Week ending Jan, 13 2017

We’ve accomplished a lot on Dojo 2 over the past few months, which has meant a fair amount of churn and improvements. Rather than trying to recap everything, we’re going to start covering some of the highlights in more frequent, shorter blog posts than we did in 2016.

Dojo 2 roadmap update

We have a new Dojo 2 roadmap. It’s currently more accurate about the things we’ve finished than it is about the things that are upcoming. We’re in the process of splitting out the remaining items into things that block the first Dojo 2 beta, and those that will follow it.

Scoped packages

With npm, the first package to choose a name wins, and in the past this has led to things like dgrid, dstore, and even util and themes not being able to have the same name in npm as they do in our own repositories. npm does not make it easy to provide aliases between names, so there’s been a fair amount of workarounds needed to provide a consistent installation experience for npm and non-npm users.

A while back, npm added support for scoped packages, so that it would be easy enough to refer to something as @dojo/core rather than dojo-core. We had resisted going this route as we were still aiming to support bower, but with a significant decrease in adoption of bower, and a heavy reliance on npm for the Dojo 2 development approach, we’ve made the decision to drop bower support for Dojo 2 and we’ve started using scoped packages.

In your code, the main change will be with how you include and reference dependencies. A dojo/core commit shows how this works in practice, but the things to note are:

  • The source package remains in the same location, e.g. dojo/loader is still found at https://github.com/dojo/loader
  • When including that package as a dependency, you will now include it as @dojo/loader instead of dojo-loader in both your package.json as well as within any ES6 module import statements, as well as via any npm install commands, e.g. npm install @dojo/loader

Besides being able to keep short and consistent package names, all officially supported Dojo 2 packages will be included under this scope.

Dojo 1.12 released!

Happy Holidays from the Dojo team, we’re pleased to announce updated releases!

Dojo 1.12

Dojo 1.12 is now available for download or via npm or bower. Point releases are also available for versions 1.4 through 1.11!

Note that our documentation and tutorials for 1.10 remain valid for 1.11 and 1.12. 1.12 is mostly a release that fixes reported issues and adds minor feature enhancements to keep things improving while minimizing the risk of issues when upgrading. More details are available at the Dojo 1.12 release notes.

Dojo 2

We’re getting close to the much anticipated Dojo 2. We’ve reworked our approach many times to strike what we believe is the right balance of modern and efficient to use. You may track our progress at Dojo meta and the Dojo 2 roadmap. Our current goal (no guarantees, we want to get things right rather than meet an arbitrary deadline!) is to have a beta release in Q1 2017. Let us know if you would like to get involved!

In the past month, we’ve reworked the dojo/widgets approach to simplify state management with the virtual DOM, we’ve created an initial proof of concept for dgrid 2, implemented an ES8 Observables shim to reduce the dependency size for reactive observability, made significant strides on stores and i18n for Dojo 2, and much more.

Thanks!

Thanks for your contributions and support this year. We made many key improvements to giving Dojo 1.x while focusing the majority of our efforts on Dojo 2. We’re very excited to release Dojo 2 in 2017.

Dojo Recap – June, 2016

We continue our focus towards Dojo 2. This post contains a quick summary of the updates we’ve made over the past month!

Dojo 1.11.2 released

We released Dojo 1.11.2, as well as 1.10.6, 1.9.9, 1.8.12, and 1.7.10 in early June. These updates are available via the Dojo downloads and are also now available on the Google CDN.

Dojo 1.11.3 is planned for release in late August.

Chrome 53 may deprecate synchronous XHR

Synchronous XHR is not supported as part of the XHR 2.0 specification. Synchronous XHR was the foundation for the pre-AMD loader system in Dojo releases prior to Dojo 1.7. At the moment, there are a few options but none are ideal:

  • Update to use AMD (make sure you specify async: true in your configuration)
  • Use the cross-domain version of Dojo (this may still break with i18n and text files, so all resources will need to be built into your built layer)

We are exploring possible options for Dojo 1.6 users, though an upgrade to an AMD version of Dojo is the safest option at this time to make certain your older Dojo applications continue to work in Chrome.

UPDATE: Chrome does not plan to drop standard Sync XHR (as much as they would like to) as it is still widely used on the web.

High level Dojo 2 progress

The overall Dojo 2 progress is tracked at dojo/meta:

dojo/metaDojo 2 status

In the past month, we’ve had many alpha and beta updates, and a few new packages added:

  • dojo/has and dojo/shim were split from dojo/core, each now at alpha1
  • dojo/compose now at beta6 (from beta4)
  • dojo/widgets now at alpha3 (from alpha1)
  • dojo/actions now at alpha4 (from alpha3)
  • dojo/grunt-dojo2 now at beta9 (from alpha7)

Dojo 2 ToDoMVC

We’ve also created a reasonable first draft of a ToDoMVC app with Dojo 2, the hello world of JavaScript applications. Source for this is found in the dojo/examples repo.

Dojo 2 ToDoMVC

Some of the major items we’ve been solving include:

  • Many refinements to dojo/app, including custom element support and dozens of refinements
  • More than a dozen improvements to dojo/widgets including important stability fixes for use with dojo/app
  • significant work on actions, routing, core, compose packages

Dojo 2 in progress

This month we’re focused on:

  • Making more progress on Dojo 2 builds
  • Improving dojo/app and dojo/widgets
  • More updates for TypeScript 2 support
  • Refining APIs and features as we work on creating example applications
  • dojo/i18n
  • Early exploration on vector graphics and visualizations

Please let us know if you would like to get involved! Either find us on IRC, leave a comment here, or start contributing on GitHub. We greatly appreciate the help!

Conference talks

Check out our talk on how Dojo 2 has benefits from ES6 and TypeScript features from FullStack 2016!

Dojo Recap – May, 2016

We continue our focus towards Dojo 2. This post contains a quick summary of the updates we’ve made over the past month!

Dojo 1.11.2 coming soon

We will soon release Dojo 1.11.2, as well as backported releases, to address a few regressions in the 1.11.1 release.

Chrome 51 regressions with xstyle (and dgrid 0.4 and earlier)

Chrome 51 introduced a breaking change that is being rolled back that has impacted some Dojo users that were using older versions of dgrid with an old xstyle dependency. If you have not upgraded to dgrid 1.0 or newer, we recommend doing that. If you still need an older version of dgrid, we recommend updating to dgrid 0.4.2. If you only want to update xstyle, we recommend getting version 0.3.2 or applying a small patch to xstyle.

High level Dojo 2 progress

The overall Dojo 2 progress is tracked at dojo/meta:

Dojo progress

In the past month, we’ve had many alpha and beta updates, and a few new packages added:

  • dojo/loader now at beta5 (from beta4)
  • dojo/compose now at beta4 (from beta1)
  • dojo/core now at alpha7 (from alpha5)
  • dojo/widgets now at alpha1 (from prototype)
  • dojo/actions now at alpha3 (from prototype)
  • dojo/cli package created
  • dojo/app package created
  • dojo/grunt-dojo2 now at alpha7

Some of the major items we’ve been solving include:

  • build process and cli for Dojo 2, including work to support r.js and webpack
  • support for alternative loaders including SystemJS
  • added many new widgets to dojo/widgets including usage of Flexbox for layout widgets, as well as support for including Dojo 1 widgets
  • significant work on the application factory, actions, and routing packages
  • Style guide and linting refinements
  • Updates for the TypeScript 2 release and typings

Dojo 2 in progress

This month we’re focused on:

  • Making more progress on Dojo 2 builds
  • Improving the application factory
  • More updates for TypeScript 2 support
  • Refining APIs and features as we work on creating example applications
  • Getting many of the things we started in May to a more stable state

Please let us know if you would like to get involved! Either find us on IRC, leave a comment here, or start contributing on GitHub. We greatly appreciate the help!

Dojo Recap – April, 2016

It’s been a very productive and busy year to date as work towards Dojo 2. This post contains a quick summary of the updates we’ve made!

Dojo 1.11 released!

In late March, we released Dojo 1.11, along with updates to 1.10, 1.9, 1.8, and 1.7. Visit the Dojo download site to grab a tarball, or use GitHub, bower, or npm to install the latest versions. Note that the Google CDN has been slow to respond, and has not yet updated to 1.11.1.

The upgrade from 1.10 to 1.11 should be very straightforward, as the release is primarily a bug fix release, along with the addition of the new flat theme and a small number of additions. See the complete list of bugs closed for this release or the commits within each repository (e.g. all Dojo 1.11 commits for more information on the release!

We received a tremendous amount of community support to make this release possible. Thank you for your help!

Note that a 1.11.2 release is planned for May.

High level Dojo 2 progress

The overall Dojo 2 progress is tracked at dojo/meta:

dojo/meta status

dojo/loader and dojo/compose are now in a beta state and dojo/core and dojo/dom, while still listed as alpha due to anticipated API changes, are very usable in their current state.

In the past month, the dojo/widgets prototype has been added, and feedback is greatly appreciated. dojo/actions is another recent package addition. Kitson Kelly and Dylan Schiemann gave a brief overview of dojo/widgets and dojo/compose at a recent London Ajax event.

Support for ImmutableJS and RxJS was also added to relevant packages within Dojo 2.

Detailed Dojo 2 updates

Over the past month, we completed the following:

Core

loader

dom

compose

parser

meta

dojo2-package-template

Dojo 2 in progress

More than 100 issues are currently in progress. Some of the highlights include:

Please let us know if you would like to get involved! Either find us on IRC, leave a comment here, or start contributing on GitHub.

I’d like to specifically thank taoqf who has become actively involved through contributions and feedback on dts-generator, dom, meta, dstore, core and loader. We greatly appreciate the help!

Dojo Recap – Week Ending January 8, 2016

Up next in Dojo 1.x

We were incredibly active over the holidays triaging and working through issues for the Dojo 1.11 release. I personally read all 1300+ open tickets, and made the decision to close about 800 tickets. Given that we are starting to aggressively work on Dojo 2, it was time to be realistic about what we can actually fix, vs. what we need help from the community to fix. As such, I closed about 650 tickets as those which require a contribution or they will not get fixed, and another 150 as things that have already been fixed, or things we were able to fix over the holidays!

My feeling is that in order for the issue tracking system to be useful, it needs to have a manageable number of tickets, so that we can respond to all new issues quickly. I was also able to land nearly 100 pull requests, many of which were from the community. I wish we had been able to get to this a few years ago, and my goal is to get our number of open tickets down to below 200 within the next couple of months.

Ticket Graph

We are now aiming to finish the remaining dozen Dojo 1.11 tickets by the end of the month, do a release candidate, and then release 1.11 in February!

Rather than listing the large number of items that were fixed, I’ll simply provide some relevant links:

Recently in dgrid and dstore

dgrid 1.0 was released this week, as well as dgrid 0.4.1. dstore 1.1.1 was also released at the same time.

Recently in Intern

Work has been done to add several new features to Intern including collapsible test suites in the HTML reporter, support for CodeShip and Bamboo, documentation for driving Intern tests via Gulp, and to allow test suites to be skipped more efficiently.

Experimental work has also started on a refactor of Intern in TypeScript.

Recently in Dojo 2

We’re making further progress on Dojo 2 as well. We’ve made significant progress as follows:

Upcoming Dojo 2 efforts

We are currently working on the initial design document for Dojo 2’s widgets, and continuing to make progress on each package. If you’re interested in helping out in these areas, or other parts of Dojo 2, just let us know, either in the comments or on IRC.

Weekly IRC meeting

We’ve moved the minutes for our meetings for 2016. Meetings are still 9am US Pacific time on Tuesdays, IRC, #dojo-meeting.

Thanks!

Thanks for your help in improving Dojo 1.x and towards Dojo 2!

Dojo Recap – Week Ending December 18, 2015

Up next in Dojo 1.x

We are actively triaging and working through issues for the Dojo 1.11 release, and updated point releases for earlier versions of Dojo. We have about 30 more issues to resolve, and then we’ll be ready for the 1.11 release! The main things we are considering for 1.11 are as follows:

Recently in Dojo 2

We’re making further progress on Dojo 2 as well. Last week our focus was on Compose, core, and parser:

core

parser

package-template

Upcoming Dojo 2 efforts

Here we’ve identified a few of our aspirations for near future. Over the holiday weeks, we have more code reviews to complete and pull requests to land. If you’re interested in helping out in these areas, or other parts of Dojo 2, just let us know, either in the comments or on IRC.

  • Review and improve the Compose and parser prototypes
  • Define and refine the approach to widgets and application architecture for Dojo 2
  • Continue to review and land code for Core, Crypto, DOM, dstore, i18n, Loader, and Routing

We are also actively working on the following:

Core

package-template

Weekly IRC meeting

Meetings are canceled for the remainder of the year.

Thanks!

The Dojo 2 loader, core, and dom are near an alpha state! Progress is being made on routing, crypto, i18, dstore, Compose and parser. Please let us know if you plan to work on any features, or would like to get involved, so we can collaborate.

Happy holidays to you all, and thanks for your help in improving Dojo 1.x this year, and towards Dojo 2!

Dojo Recap – Week Ending December 4, 2015

Recently in Dojo 1.x

Recently we fixed the following issues in Dojo 1.x:

Dojo

Dijit

DojoX

util

themes

Up next in Dojo 1.x

We are starting to put together a release plan for 1.11, and updated point releases for earlier versions of Dojo. We have about 30 more issues to resolve, and then we’ll be ready for the 1.11 release! The main things we are considering for 1.11 are as follows:

Recently in Dojo 2

We’re making further progress on Dojo 2 as well. Recently our focus has been on Compose, core, and the package template:

Compose

parser

Ongoing discussion on consistency between parser objects and Compose objects and parser.watch() uses a callback versus synthetic events

core

dojo2-package-template

Upcoming Dojo 2 efforts

Here we’ve identified a few of our aspirations for near future. This week in Dojo 2, we have more code reviews to complete and pull requests to land. If you’re interested in helping out in these areas, or other parts of Dojo 2, just let us know, either in the comments or on IRC.

  • Review and improve the Compose and parser prototypes
  • Define and refine the approach to widgets and application architecture for Dojo 2
  • Continue to review and land code for Core, Crypto, DOM, dstore, i18n, Loader, and Routing

We have some old PRs out there that need updates and some other issues we’re working on, including:

Weekly IRC meeting

As usual, our weekly IRC meeting is on irc.freenode.net #dojo-meeting at 9am Pacific time on Tuesday.

View the Dojo weekly meeting logs

This week’s agenda

  • 1.11 release plan (we’re aiming for December or more likely January for the release)
  • Discuss open 2.x challenges

Thanks!

The Dojo 2 loader, core, and dom are roughly in an alpha state. Progress is being made on routing, crypto, i18, dstore, Compose and parser. Please let us know if you plan to work on any features, or would like to get involved, so we can collaborate.

Dojo Recap – Week Ending November 20, 2015

Over the last few weeks we made fixes in the Dojo 1.x codebase towards the Dojo 1.11 release, and further progress towards Dojo 2. Let us know if you would like to get involved!

Recently in Dojo 1.x

Recently we fixed the following issues in Dojo 1.x:

Dojo

Dijit

DojoX

Up next in Dojo 1.x

We are starting to put together a release plan for 1.11, and updated point releases for earlier versions of Dojo. We have about 50 more issues to resolve, and then we’ll be ready for the 1.11 release! The main things we are considering for 1.11 are as follows:

Recently in Dojo 2

We’re making further progress on Dojo 2 as well:

Compose

parser

Ongoing discussion on consistency between parser objects and Compose objects and parser.watch() uses a callback versus synthetic events

core

dojo2-package-template

Upcoming Dojo 2 efforts

Here we’ve identified a few of our aspirations for near future. This week in Dojo 2, we have more code reviews to complete and pull requests to land. If you’re interested in helping out in these areas, or other parts of Dojo 2, just let us know, either in the comments or on IRC.

  • Review and improve the Compose and parser prototypes
  • Define and refine the approach to widgets and application architecture for Dojo 2
  • Continue to review and land code for Core, Crypto, DOM, dstore, i18n, Loader, and Routing

Over the last couple of months we’ve also been working on evaluating other projects out there to determine how they can benefit or inspire our efforts, or offer possible integration options. We’ve also been working on a reference application that we will be using to document and validate the APIs in Dojo 2. Work on these efforts will continue as we work to refine the vision and approach for Dojo 2.

Weekly IRC meeting

As usual, our weekly IRC meeting is on irc.freenode.net #dojo-meeting at 9am Pacific time on Tuesday.

View the Dojo weekly meeting logs

This week’s agenda

  • 1.11 release plan (we’re aiming for December or January for the release)
  • Discuss open 2.x challenges

Thanks!

The Dojo 2 loader, core, and dom are near an alpha state! Progress is being made on routing, crypto, i18, dstore, Compose and parser. Please let us know if you plan to work on any features, or would like to get involved, so we can collaborate.

Dojo Recap – Week Ending October 23, 2015

Over the last few weeks we made fixes in the Dojo 1.x codebase towards the Dojo 1.11 release, and further progress towards Dojo 2. Let us know if you would like to get involved!

Recently in Dojo 1.x

Recently we fixed the following issues in Dojo 1.x:

Dojo

Dijit

DojoX

Up next in Dojo 1.x

We are starting to put together a release plan for 1.11, and updated point releases for earlier versions of Dojo. We have about 50 more issues to resolve, and then we’ll be ready for the 1.11 release! The main things we are considering for 1.11 are as follows:

Recently in Dojo 2

We’re making further progress on Dojo 2 as well:

Compose

Inital Compose prototype is ready for your review and feedback!

parser

Initial parser prototype is ready for your review and feedback!

Recently we have spent some of our time planning out a reference application for Dojo 2, as well as evaluating a variety of options and features which will help improve the overall approach to Dojo 2.

Upcoming Dojo 2 efforts

Here we’ve identified a few of our aspirations for near future. This week in Dojo 2, we have more code reviews to complete and pull requests to land. If you’re interested in helping out in these areas, or other parts of Dojo 2, just let us know, either in the comments or on IRC.

  • Review and improve the Compose and parser prototypes
  • Define approach to widgets for Dojo 2!
  • Continue to review and land code for Core, Crypto, DOM, dstore, i18n, Loader, and Routing

Over the last couple of weeks, and this week, we’ve also been working on evaluating other projects out there to determine how they can benefit or inspire our efforts, or offer possible integration options. We’ve also been working on a reference application that we will be using to document and validate the APIs in Dojo 2. Work on these efforts will continue as we work to refine the vision and approach for Dojo 2.

Weekly IRC meeting

As usual, our weekly IRC meeting is on irc.freenode.net #dojo-meeting at 9am Pacific time on Tuesday.

View the Dojo weekly meeting logs

This week’s agenda

  • 1.11 release plan (we’re aiming for November or December for the release)
  • Discuss open 2.x challenges

Thanks!

The Dojo 2 loader, core, and dom are near an alpha state! Progress is being made on routing, crypto, i18, dstore, Compose and parser. Please let us know if you plan to work on any features, or would like to get involved, so we can collaborate.