Get the Newsletter

Aurelia Release Notes - Early September 2018

Posted by Rob Eisenberg on September 6, 2018

This month we've had big releases for the Aurelia-CLI, the Aurelia Dialog plugin and the Aurelia i18n plugin. Read on to get the details...

Aurelia CLI

We're excited to share that the CLI can now setup Protractor and Jest when choosing to use the Aurelia-CLI internal bundler. This option was already available for Webpack, but can now be used with the Aurelia-CLI bundler as well.

New Webpack projects now use the mini-css-extract-plugin instead of the extract-text-webpack-plugin. This plugin works better with Webpack 4. The new mini-css-extract-plugin requires a higher version of Node.js, so make sure to update Node.js to at least v8.9.0.

A great many improvements were made by the Aurelia community, which we are very grateful for. These improvements are listed in the changelog below.

Aurelia Dialog

We released Aurelia Dialog 1.0.0, basically promoting 1.0.0-rc.2 to 1.0.0. It has been stable for more than a year and we felt it was time to make it official.

Following up on that, we've also released Aurelia Dialog 2.0.0-rc.3, which has a few breaking changes:

  • The default resources (UxDialog, UxDialogHeader, UxDialogBody, UxDialogFooter, AttachFocus) are no longer re-exported from the main module. So if you've been doing something like import { UxDialog } from 'aurelia-dialog';, it will no longer work.
  • The default resources are no longer statically imported from any of the mandatory modules. Because they are optional, you can now choose not to register them, or just to register some of them using the configuration API. We import them using import(). As a result you may need to reconfigure your build setup differently. For example, if you are using the aurelia-cli RequireJS/SystemJS build setup and you are using the default resources, here's a sample configuration for the dialog:
    
  {
    "dependencies": [
    //...
    {
        "name": "aurelia-dialog",
        "path": "../node_modules/aurelia-dialog/dist/amd",
        "main": "aurelia-dialog",
        "resources": ["resources/*.js"]
    }
    //...
    ]
  }
  
  
  • All default resources are moved under the resources folder.
  • The native-modules and es2015 builds are now targeting esnext modules; they will contain dynamic imports in the form of import().

There are a couple of interesting improvements as well:

  • Usage of Origin.get was removed; we now depend on the built-in support for class references from the CompositionEngine. What does this mean? Usage of class references for .viewModel should no longer cause issues with Webpack when PLATFORM.moduleName() is not used.
  • default resources are now registered using class references.

Our plan is to promote 2.0.0-rc.x to 2.0.0 after community feedback on the changes around the default resources. Also, since the API is the same as 1.0.0, excluding the default resources re-export drop, we intend to ship fixes only for 2.x. All work on new features is going on the master branch.

  • New features (next major) branch - master
  • v2 maintenance branch - v2.x

You may see Issues and Pull Requests with the label feedback wanted. Please feel free to check them and drop your opinion if interested. We'd love for you to get involved in the next version of the dialog plugin.

Aurelia i18n

The i18n plugin has been fully converted to TypeScript. We've bumped the major version for this release, so we're now at 3.0.0-beta.1. We've made a number of improvements to the core of the i18n plugin as part of this work, some of which resulted in a few breaking changes. Please find the detailed change list below for more information.

Major Releases

Major updates may include breaking changes, new features, fixes to bugs and performance improvements.

aurelia-dialog 2.0.0-rc.3

Bug Fixes

  • css: update styles to use ux- prefix instead of ai- ( f29d8cb ), closes #306
  • package.json: add missing dependency ( ed9c5df )
  • attach-focus: AttachFocus must be the default export fix #358 ( fb5e829 )
  • resources: use named exports instead of default ( 4033216 )

Features

  • attach-focus: make work as boolean attr ( f75abb4 ), closes #349
  • resources: register resources by class ( #354 ) ( ff55c80 )

BREAKING CHANGES

  • resources: - default resources are no longer reexported, need to be explicitly included when bundling

aurelia-i18n 3.0.0-beta.1

Features

BREAKING CHANGES

  • Updated i18next to 11.x.x version
  • removed deprecated df & nf parameters
  • removed auto-loading of Intl polyfill, no longer a dependency (make sure to add it by yourself if needed before the app start)
  • removed BaseI18N class in favor of composition over inheritance
  • typings are now distributed from dist/typings/...
  • removed old custom typings for i18next and i18next-xhr-backend

Minor Releases

Minor updates include new features, updates to bugs and performance improvements.

aurelia-cli 0.34.0

Bug Fixes

  • bundler: fix compatibility with source-map >= v0.6 ( 681a77d ), closes #870
  • cli: default bundler is webpack, so move to position 1 ( d0ff2ee )
  • cli: display meanful error when not installed locally ( 71893be )
  • cli: fail gracefully when installed in parent folder ( 9407c87 )
  • cli: no longer clear the terminal ( 9644da8 )
  • cli build: reassign global.define.amd after assigning karma override function ( 9eee46f ), closes #71
  • importer: support nodejs module default main file "index.js" when "main" is missing in package.json ( e050868 ), closes #831
  • install: leave yarn/npm up to the user ( cce5070 )
  • jest: update usage of jest.runCli ( 66799c0 ), closes #896
  • npm: update internal npm ( 987cc68 )
  • package-scripts: fix test.lint.fix task ( 76816e9 )
  • package.json: added missing deps ( 54f14be )
  • requirejs/systemjs: fix duplicate index.html ( 8bac73d )
  • enforce single aurelia-binding in webpack bundle ( 911b3d7 )
  • fix binary file copy on favicon.ico ( f7941f4 ), closes #688
  • run-webpack.ts: copy the https property from devServer to opts ( 118e441 )
  • stylus: don't stop watch on error ( 4ad96fd )
  • tsconfig.template.json: fix incorrect files glob ( ca0ab4b )
  • webpack: remove json loader from webpack config ( 0ef0b84 ), closes #860

Features

Patch Releases

Patch updates include only fixes to bugs and performance improvements.

aurelia-i18n 2.3.2

Bug Fixes

  • service: provide params on updateTranslations ( 0f469ee )

aurelia-binding 2.1.3

Bug Fixes

  • ArrayObservation: ensure patch applied only once ( 72b5d6d )

aurelia-templating 1.8.3

Bug Fixes

  • StaticViewStrategy: set formal ".moduleId" ( 86ea2fd )