Aurelia

Aurelia 0.10.0 Release & Status

Introduction

Aurelia

Aurelia


Aurelia 0.10.0 Release & Status

Posted by Aurelia on .
Featured

Aurelia 0.10.0 Release & Status

Posted by Aurelia on .

Today, we've got a major set of release for Aurelia, fixing many issues and adding new and more powerful features to the lineup.

Changes

We've updated many of Aurelia's libraries to newer versions. As part of this series of updates, we've made several breaking changes. The details follow this post, but here is a brief summary for those who need to update their code:

  • The Loader now maintains a registry of loaded views along with knowledge of their dependencies. Views no longer use the <import> element for importing view behaviors and other resources. You must now use the <require> element. This change was made in order to enable future support for IE9.
  • The Default Loader now uses system.js and require.js based loader plugins to load views. This ensures that all views will have their paths resolved by the module system. This fixes many scenarios, including views loaded from external plugins. There is no more baseViewUrl setting and if you used baseUrl this should also be removed. Instead, in your config.js map the "*" path to "dist/*.js".
  • We removed the selected-item behavior and replaced it with a new more powerful and more consistent mechanism for binding to select elements with value.bind.
  • Enabled two-way binding of contenteditable elements
  • Templating now has a simplified and improved resource loading pipeline with everything going through the native loaders. Global resources are no longer order dependent and plugins can be organized in any way.
  • You can now specify views for a component more easily by simply re-exporting them via the view plugin. You can also do this by exporting a ViewStrategy.
  • Bind styles with interpolation by using the new css property.
  • Binding to innerHTML and innerText is now supported. You can use the new sanitizeHtml value converter along with this.
  • The aurelia.withResources() api has been replace with aurelia.globalizeResources() which now accepts a module id. You can also rename global resources with the new aurelia.renameGlobalResource() api.
  • The aurelia-main attribute has been removed from bootstrapping. There is now only one attribute aurelia-app. If no value is provided the framework will use the default configuration and load your app.js/app.html files as your root. If a value is provided, this is assumed to point to a configuration module that exports a configure function. This function should configure the aurelia object and start the framework.
  • New apis have been added by the bootstrapper for simplified configuration including aurelia.use.standardConfiguration() and aurelia.use.developmentLogging().
  • The HttpClient API has had a major overhaul. Please see the docs and/or unit tests for how to use the new API.

If you want to update to all the new bits, the easiest way would be to re-run jspm install for each top level aurelia library (the libraries listed in the jspm section of your package.json file). This is needed because of the non compatible version change due to breaking changes in several libraries. If you are unsure how some of these changes play out, you can have a look at the skeleton-navigation repo which has been updated based on this release. You can also look at our new skeleton-plugin repo to see how to write pluggable libraries for aurelia.

What's Next?

This release contained some breaking changes. The next couple of releases will also. We are attempting to get this all out of the way ASAP. The next set of changes will involve unifying ES7 Decorators and our metadata as well as simplifying behaviors. After that, we've got some more work to do on the router and possibly http.

The Aurelia team is working very hard and things are progressing well. We've got new plugins for animation and validation on the way soon, with demos coming. Our bundling solution is about 50% complete and work on the CLI is progressing as part of that. We've also got our benchmarking infrastructure almost ready and we will begin serious performance optimization soon.

Detailed Changes

Logging 0.2.6

Features

  • all: enable error aggregation with new AggregateError (88073ddb)

Metadata 0.3.4

Features

  • metadata: enable adding custom metadata as first metadata method (705fd865, closes #7)

Dependency Injection 0.5.0

Bug Fixes

  • container: factories are explicit (667a16e4, closes #13)
  • singleton: always register in the root container (186b573e, closes #22)

Features

  • container:

Path 0.4.6

Bug Fixes

  • path: Join protocol independent paths (34655ae4)

HTTP Client 0.6.0

Bug Fixes

  • http-client: rename withJsonpParameter to asJsonp (c70eedd8)
  • request-builder:
    • incorrect jsonp callback property name (267ec3ec)
    • rename baseUrl to baseUri for consistency (1fd381e9)

Features

  • http-client: improve API for creating new requests (93a6e38a, closes #27)
  • request-builder: allow message parameters to be fully specified without sending the message (06d84947, closes #29)

Loader 0.4.0

Bug Fixes

  • all: properly export the TemplateRegistryEntry (4c60c8f7)

Features

  • all: new template registry and global loader (99ec5e2e)
  • views:
    • view imports are now done with (2e68de3c)
      • view imports are now done with (43b04172)

Loader Default 0.5.0

Bug Fixes

  • loader:
    • plugin api fetch causes problems with safari (7788af12)
    • change plugin name to view (4c592bec)

Features

  • all: new loader-plugin-based template loader (ab694b12)

Binding 0.4.0

Features

  • EventManager: enable two-way binding of contenteditable elements
  • ObserverLocator: support value binding select elements

Bug Fixes

  • SelectValueObserver: Safari and Internet Explorer
  • SelectValueObserver: internet explorer fix
  • value-converter: update to plug into new resource pipeline (4e8c99d9)

Router 0.6.0

Bug Fixes

  • navigation-command: add explicit interface for commands interested in child routers (1e1c4d3b)
  • router: do not interpret as child router if not configured (18e52d85, closes #34)

Features

  • redirect: enable redirect from the app router by option (4d1a7ea8, closes #51)

Templating 0.9.0

Bug Fixes

  • animator: remove unused code from interface (986267f6)
  • behavior: not all attached/detached were cascaded (31702e14, closes #35)
  • property: correct if/else branch for dynamic notifications (9f79cbb0)
  • view: first and last child should not be undefined (43c076c5)
  • view-slot:
    • Safari and IE are not spec compliant perhaps (bc1ff2ba)
    • improve null checks and array access (af290c1f)
    • add firstChild null checks (d260bdb9, closes #34)
    • add firstChild null checks (a49411dd, closes #34)
    • correct null check against nextElementSibling (9162eeb6)

Features

  • animator: add mechanism for default animator configuration (eb792bb1)
  • resources:
    • new, simplified and improved resource pipeline processing (e6207812)
    • leverage new template loader api (ee6fea9d)
  • view-engine: merge in and simplify resource coordinator (a836fde9)
  • view-strategy: enable exported view strategy and registry to be used for view models (03790f85, closes #13)

Templating Binding 0.9.0

Features

  • BindingLanguage: warn on interpolation in style attribute
  • SyntaxInterpreter: enable two-way binding of contenteditable elements

Templating Resources 0.9.1

Features

  • SanitizeHtmlValueConverter: switched html sanitization to converter

Bug Fixes

  • all: update plugin to use new global resource api (09d41036)
  • compose: activate not called on string vm's after initial compose (62c19215, closes #15)
  • index: plugin now uses new id-base api for resources (f2cf8bf7)
  • sanitize-html: use explicit metadata (8aa3a130)
  • selected-item: remove selected-item behavior (ef130a76)

Templating Router 0.10.0

Bug Fixes

  • all: update to new resource loading processing pipeline (122f7e9d)
  • index: plugin now uses new id-base api for resources (79bb1906)

Framework 0.9.0

Bug Fixes

  • all: load resources by module id only (655192b2)
  • aurelia:
    • update to use latest animator default config api (5dea25b5)
    • update to use new view engine (e6d20c42)
    • update to load global resources through new resource pipeline (bdbca554)

Features

  • aurelia: add parameter default to setRoot (f3955d22)

Bootstrapper 0.10.0

Bug Fixes

  • bootstrapper: change how default loader is discovered (13b04160)

Features

  • bootstrapper: new startup logic (373bf740)
View Comments...