dojo dragon main logo

What's coming up

Future

The Future

Future features and ideas for Dojo.

  • Server side rendering support.
  • Enhanced VDOM scheduler for better perceived performance
  • Built-in VDOM windowing support
  • New CLI testing command dedicated for unit tests
  • Zero config code splitting based on build time rendering heuristics for the critical path
  • Dojo application dashboard, building on the existing dojo bundle analyzer
  • Dojo browser development tools
June 2020

Dojo 7

The Dojo framework 7.0.0 release.

Breaking Changes

  • Remove the Projector mixin (#549)
  • Deprecate cache with optional flag on icache to skip validation (#618)
  • Decouple Outlet concept from referencing unique routes (#716)
  • New Dojo test renderer (#710)

Enhancements

  • Typed children support for function-based widgets (#544, #554, #561, #582)
  • Add isExact options to ActiveLink (#520)
  • Live binding to function-based widget properties and children (#564, #665)
  • Check attached node is in the body (#579)
  • Provide helper middleware api type (#580)
  • Enable cache eviction with the icache (#605)
  • Inert shim (#619)
  • Support multiple CSS transition classes (#628)
  • Inert middleware (#623)
  • focus middleware testing mock (#635)
  • validity middleware testing mock (#631)
  • Type nls keys from the i18n format function (#610)
  • Support passing null to the domNode on .mount( (#652)
  • Influence property values with diffProperties middleware (#653)
  • Support specifying an additional property to be considered part of the widget key (#661)
  • Support automatic and lazy loading of CLDR data in i18n (#657, #677, #686, #693, #694, #724)
  • Unmount an application (#680)
  • Dojo Resources (#672, #778)
  • Support setting and changing theme variants at runtime (#684, #711, #720)
  • "slot" support for Dojo custom elements (#714, #721)
  • Object and array attribute support for custom elements #756
  • Forwards-compatibility for TypeScript 3.8 (#719)
  • Configure document title on route change (#725)
  • Skip setting the route when working with build time rendering and using the development server (#729)
  • On-demand Build Time Rendering (#246)
  • Set document title for build time rendered pages (#260)
  • .dojorc schema validation for @dojo/cli-build-app (#324)

Bug Fixes

  • Run key checks synchronously (#547)
  • Ensure initial properties flag is set false (#539)
  • Call diffProperties immediately when first registered (#572)
  • Fix setting state in focus middleware (#575)
  • Do not invalidate when checking if a widget should focus (#583)
  • Make assertion templates immutable (#587)
  • Ensure mixin properties are inferred correctly when using TSX (#594)
  • Run comparators when using harness.expect with an actual render output (#602)
  • Allow unsupported nodes to be ignored from harness's assertRender (#599)
  • Fix inserting nodes when using the body tag (#640)
  • Fix out of order rendering bug (#642)
  • Return injected theme as the widget's theme property (#659)
  • Support a mixture of arrays and single children for TSX (#671)
  • Update diff type for Themed mixin to be auto (#685)
  • Invalidate for the icache.delete and icache.clear API (#695)
  • ActiveLink support for matching query params (#699)
  • Widgets can render twice during a single scheduled render (#712)
  • Spread widget properties for function-based widget in vdom (#717)