- Bug fix: notFound template rendered with layout
- Bug fix: loading and notFound render yeilds again
- Bug fix: IE8 issue with 'class' property name on link handlebars helper
- Bug fix: Global hook regression
- Readme fixes
-
WARNING: Breaking Changes
- The
layout
option is now calledlayoutTemplate
- The
renderTemplates
option is now calledyieldTemplates
- RouteController
onBefore..
andonAfter..
methods removed (now just usebefore
andafter
) Router.current()
now returns aRouteController
instance- data option now applies only to the Route or RouteController, not to the render method
- pathFor and urlFor semantics have changed slightly (hash and query params can now be the key value pairs of the Handlebars expression)
{{pathFor contextObject queryKey=queryValue hash=anchorTag}}
or-
{{#with contextObject}} {{pathFor queryKey=queryValue hash=anchorTag}} {{/with}}
- The
-
Route and RouteController level layouts
-
Support for url hash fragments
-
Better support for query string parameters
-
PageManager class for handling layout and template rendering and storing a global data context
- Layouts and templates now only re-render if the actual template has changed (allows for maintaining a layout/template across routes with no flicker)
- Data context is set/get globally on/from the Router
- See the lib/client/page_controller.js file for details
-
No more silly RouteContext; all this stuff is in the RouteController instance
-
Partial support for IE8-9. Pages make a server request if pushState is not supported by the browser. This is a performance penalty, but it works
-
Cleaned up API signatures and passing of options from Router->Route->RouteController
-
Fix onclick handler and moved into lib/client/location.js
-
Client and Server Router now inherit from IronRouter
-
Client and Server RouteController now inherit from IronRouterController
-
Removed unnecessary global symbol exports (still accessible through Package['iron-router'] namespace)
-
Global
notFoundTemplate
will render if a route is not found. -
Added
load
hook which fires exactly once per route load (and respects hot-code-reload!) -
Added
Router.before()
and friends which let you add global hooks with a bit more subtlety.