We've had a huge set of releases this week, including everything from bug fixes, to performance improvements, new features and fundamentals work that prepares the way for what's next. The full details are below...
New Releases
aurelia-hot-module-reload
Have you ever wished that you could make an HTML, CSS or JavaScript code change in your editor and then just see your application instantly update in the browser without refreshing or losing state? Well, that's what our new hot module reload enables. We've got a preliminary version of this up and running and integrated into our forthcoming Webpack update. It enables editing Views, ViewModels, related components (such as ValueConverters and BindingBehaviors) and CSS without reloading the full website. Huge thanks to Aurelia Core Team member Bazyli Brzóska for working on this!
Examples
HMR for Views
HMR for ViewModels
aurelia-pal-worker
Aurelia has a thin Platform Abstraction Layer (PAL). This enables us to run the framework in different environments. Our first PAL release was aurelia-pal-browser
, used to run Aurelia in the browser. Our second PAL release was aurelia-pal-nodejs
which enables Aurelia to run fully in NodeJS, a core requirement for server-side rendering, pure Node.js testing and various tooling scenarios. Today, we have our third PAL implementation release, aurelia-pal-worker
, which enables various aspects of Aurelia to run inside of a web worker.
Major Changes
Major updates may include breaking changes, new features, fixes to bugs and performance improvements. As part of our major changes, we're moving aurelia-pal-nodejs
into beta. We think it's pretty solid and we've been testing it out by building our view lint tooling and server-side rendering on top of it.
Also, we're releasing aurelia-bootstrapper
2.0.0. This is a core module that almost everyone is using. But don't be worried by the major update. There aren't breaking changes. However, we did significant work on the internals and felt that, while the public API had not changed, it was appropriate to bump the version. This new version of aurelia-bootstrapper
can now autodetect what PAL (browser, worker, nodejs), what loader (require.js, dojo, system.js, webpack), configure the appropriate modules and start your app. There's no more need to have different bootstrappers or separate configuration anymore.
Both of these major changes are designed to improve developer experience but also prepare the way for server-side rendering, new development tooling and improved webpack support.
aurelia-boostrapper 2.0.0
Bug Fixes
- index: do not fail when process is polyfilled by Webpack (7ba0654)
- index: do not trip up on NodeJS if PAL was previously initialized (c70321d)
- index: higher quality checks for SystemJS and AMD (71a91f2)
- index: ready when no document (not initialized on NodeJS) (44b0e55)
- index: use module.require for node to trip up webpack's parser (46830fa)
- index: use webpack require to hide from amd (cdaa0f2)
Features
- all: rework the bootstrapper to detect and load the proper pal (8ba596b)
- index: add starting promise export (1844827)
- index: add support for module loader detection (438ffde)
aurelia-pal-nodejs 1.0.0-beta.1.0.0
Bug Fixes
- build: correct spec require fix (de0dca4)
- index: alias console.debug to console.log (6eae254)
- index: use proper objects for globalization (06ad303)
- jsdom-whole-text: polyfill actual Text class too (bb2c0f8)
- jsdom-whole-text: use hasOwnProperty (bf02c14)
- nodejs-dom: fallback to a dummy class for SVGElement (e406710)
- nodejs-global: add the missing globals (1f6e596)
- nodejs-global: remove XMLHttpRequest (d20ffb0)
- typings: updated types breaking the build (e797969)
- whole-text: do not polyfill if implemented (d497559)
Features
- index: globalize returns global scope (b1b001d)
- index: move isInitialized to aurelia-pal (b7ce21a)
- nodejs-global: add exported globalize function (55c2ffd)
- whole-text: add @jdanyow's wholeText jsdom polyfill (a414eb7)
aurelia-pal-worker 0.1.0
Features
- index: move isInitialized to aurelia-pal (4381da9)
- Initial Implementation
Minor Changes
Minor updates include new features, updates to bugs and performance improvements.
aurelia-pal 1.1.1
Bug Fixes
- index: proper typings (15a8692)
- typings: reference to the loader interface (0b50caa)
Features
- index: move isInitialized to aurelia-pal (7b75f00)
aurelia-pal-browser 1.1.0
Features
- index: move isInitialized to aurelia-pal (#14) (13c3b77)
aurelia-logging 1.2.0
Features
- logging: Allow global logLevel to be returned (1c61077)
aurelia-fetch 1.1.0
Features
- passing current config to configure(function(config)) (124c28b), closes #74
aurelia-router 1.1.0
Features
- router: add extension point to transform titles when the document title is built (629da8c)
aurelia-binding 1.1.0 (2016-12-08)
Bug Fixes
- doc: broken numeral and moment import (9a37615), closes #504
- EventManager: capture bugfixes (bb78aea)
- observable: skip notify on same value assign (fed8b6f), closes #544
- Parser: handle parent in CallMember (048c8dd)
- StyleObserver: convert camelCase style properties to kebab-case (2bd5e0f), closes #523
- typings: fix AccessMember constructor parameters order (f858369)
Features
- EventManager: support capturing event (d5da991)
Performance Improvements
- connect-queue: mutate queue once per flush (58224dd)
- connect-queue: remove map usage (d676d63)
aurelia-cli 0.23.0
Features
- Add a "None of the above" choice for the Editor step in the
new
wizard
- settings.json: disable ionic html tags
Bug fixes
- transpile: create tsProj every time to avoid crashing
- sourcemaps: stop adding non-existent sourcemaps to sourcemap
Notes for Upgrading from <= 0.21.0
Versions of CLI
Version 0.22.0
of the CLI made changes to the aurelia.json
file. This release has fixed issues with source maps; however, these changes require users who are upgrading existing projects to make the following tweaks to their aurelia.json
file to enjoy these fixes:
- replace all instances of
\\
with /
in file paths
- replace
"scripts/require.js"
with node_modules/requirejs/require.js"
- the
text
dependency in the vendor-bundle.js
dependencies is an object literal as shown below. It should be replaced with just the string "text"
.
{
"text",
"name": "text",
"path": "../scripts/text"
}
Patch Changes
Patch updates include only fixes to bugs and performance improvements.
aurelia-event-aggregator 1.0.1
Bug Fixes
- index: handle errors per callback invocation (dc7819f)
aurelia-templating 1.1.4
Bug Fixes
- view-compiler: proper anchoring for containerless elements inside of a template controller (0f12514)
- view-compiler:* account for undefined element instruction (d1d1fe4), closes #503
Performance Improvements
- view-compiler: remove unnecessary assignment (ddde119)
templating-router 1.0.1
Bug Fixes
- route-href: support attribute on custom elements
- router-view: deco typo, lint and missing conditional (7de1854)
aurelia-ui-virtualization 1.0.0-beta.3.0.2
Bug Fixes
- recalute height when source array is re-initialized (c81afad)
- virtual-repeat: removed extra declaration (b3e783c)