Package detail

@aurelia/runtime-html

aurelia11.2kMIT2.0.0-beta.24

License: MIT TypeScript [![CircleCI](https://circleci.com/

aurelia, runtime-html

readme

License: MIT TypeScript CircleCI npm

@aurelia/runtime-html

Installing

For the latest stable version:

npm i @aurelia/runtime-html

For our nightly builds:

npm i @aurelia/runtime-html@dev

changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

2.0.0-beta.24 (2025-04-27)

Features:

  • template-compiler: add support for multiple .class values (#2146) (3b7513a)
  • dom: ability to toggle $au and $aurelia (#2130) (7e1057b)

Bug Fixes:

  • ref-binding: update value when key expression changes (#2108) (9636d86)

Refactorings:

  • *: remove controller host (#2128) (402c746)

2.0.0-beta.23 (2025-01-26)

Features:

  • *: ported noView and inlineView decorators (#2094) (bdd1284)
  • *: ported noView and inlineView decorators (bdd1284)
  • tooling: type-checking for templates - Phase1 (#2066) (ebc1d0c)

Bug Fixes:

  • au-slot: slotchange callback does not rely on deco (#2105) (4cbef73)
  • rendering: render surrogate bindings before content bindings (#2104) (5df4a6c)
  • computed-observer: ensure notifying changes (#2103) (b87cc11)
  • repeat: change to key-based scope caching in keyed mode (#2088) (c24eaaa)
  • repeat: fix scope reuse issue with keyless unordered duplicate objects (8f2999e)

Refactorings:

  • repeat: cleanup scopeMap stuff (8f2999e)
  • repeat: still need to use caching for assignment (8f2999e)
  • repeat: force scope caching in keyed mode (8f2999e)

2.0.0-beta.22 (2024-09-30)

Features:

  • runtime-html: reuse host and hostController (#2043) (0fe216e)
  • bindable: support aggregated callback (#2033) (7cdf3f0)

Bug Fixes:

  • watch: initialise only once (#2056) (7ae2cfa)
  • ast: correct null/undefined handling (#2055) (b96d7c4)
  • repeat: set contextual properties for sort ops (9834c40)
  • radio: handle repeated start/stop correctly (#2031) (430b8f0)

Performance Improvements:

Refactorings:

  • ast: separate & allow binding behavior and value converter evaluation to be optional (#2058) (7d7e21b)
  • repeat: get key from oldViews (9834c40)
  • repeat: overhaul scope / key caching (9834c40)
  • repeat: bust key cache (9834c40)
  • repeat: fix newKey thing (9834c40)
  • repeat: inefficient but working thing (9834c40)
  • repeat: fix update issue (9834c40)
  • repeat: more bugfixing / cleanup (9834c40)
  • repeat: cleanup unnecessary stuff (9834c40)
  • parser: no longer provide default to exp parser interface (#2024) (b55cbcd)

2.0.0-beta.21 (2024-08-08)

Features:

  • ast: Increment/decrement assign (#2004) (4cfc0a3)

Bug Fixes:

  • *: bindable definitions (#2010) (d81b471)
  • *: bindable defnitions (d81b471)

Refactorings:

  • task-queue: remove 'reusable' param (#2008) (54f43e8)
  • task-queue: remove 'reusable' param (54f43e8)

2.0.0-beta.20 (2024-07-07)

Bug Fixes:

  • metadata: own metadata (#1992) (bb1fe26)

Refactorings:

  • tooling: bindable inheritance (bb1fe26)

2.0.0-beta.19 (2024-06-12)

Features:

  • event: support common event modifier on all events (#1994) (631d1e8)
  • dialog: ability to animate using animator instead of lifecycles (#1986) (a2477e5)

Bug Fixes:

  • dialog: prevent default actionless form submit (631d1e8)
  • css-modules: alter bindings instead of class registration (#1989) (85917a9)

Refactorings:

  • projection: use $all instead of * to include all node types (#1987) (337cb34)

2.0.0-beta.18 (2024-05-23)

Bug Fixes:

  • di: use official metadata instead of weakmap (#1977) (9aeeffa)
  • dev: turbo package input + ts dev script (253e92a)

Refactorings:

  • collection: define map & set overrides on the instance instead of prototype (#1975) (253e92a)
  • runtime: reoganise utils import (253e92a)
  • dom-queue: merge dom read and write queues (#1970) (3a63cde)
  • *: resolve previous PR comments (#1968) (f8ed38d)

2.0.0-beta.17 (2024-05-11)

Features:

  • template: support spread syntax with spread command and ... (#1965) (ccae63b)
  • repeat: allow custom repeatable value (#1962) (c47df91)
  • convention: rewrite runtime-html decorators (#1960) (eaf2cd7)

Bug Fixes:

  • compiler: fix order when spreading custom attribute into element bindable, improve doc, add tests (ccae63b)
  • (state: auto infer binding expression when empty (ccae63b)
  • au-slot: separate parent scope selection from host scope selection (#1961) (ff605fb)

Refactorings:

  • kernel: mark side effect free (#1964) (22c8f71)

2.0.0-beta.16 (2024-05-03)

Bug Fixes:

  • au-slot: ensure passthrough slot get the right host value (#1959) (f266ddd)

Refactorings:

  • rendering: correctly handle compilation cache (#1955) (c11491b)
  • *: extract template compiler into own package (#1954) (ad7ae1e)
  • compiler: simplify definition creation (#1950) (bb0fcab)
  • *: cleanup deco code (#1947) (ca22bc8)
  • observers: use static blocks, group related code (ca22bc8)
  • *: move scope to runtime html (#1945) (bca0290)

2.0.0-beta.15 (2024-04-17)

Features:

  • resources: support static $au property for definition (#1939) (877a385)

Bug Fixes:

  • *: residual decorator work (#1942) (7e8c12f)

Refactorings:

  • bindings: move binding infra to runtime html (#1944) (1c7608a)
  • expression-parser: move exp parser to its own package (#1943) (6e7dcad)
  • *: migration to TC39 decorators + metadata simplification (#1932) (22f90ad)

2.0.0-beta.14 (2024-04-03)

Features:

  • custom-attribute: ability to find closest attr by name or ctor (#1928) (ab28585)
  • i18n: support multiple versions of i18next (#1927) (0789ee5)

Bug Fixes:

  • enhance: dont call app tasks from parent container (#1933) (e7119ec)
  • form: prevent actionless submission (#1931) (1fc74d4)

Refactorings:

  • attr: treat empty string as no binding (#1930) (8fc5275)

2.0.0-beta.13 (2024-03-15)

Features:

  • process-content: ability to add information to a data object (#1925) (2a4c436)
  • template-controller: ability to have a container per factory (#1924) (6727b56)
  • convention: add import as support (#1920) (7a15551)
  • di: api to register resources with alias key (7a15551)

Bug Fixes:

  • router-lite: dont register config (f71e9e7)
  • router: dont swallow instantiation error details (deee8e6)
  • *: cleanup di & router tests, add timeout (deee8e6)
  • *: router errors stringify (deee8e6)
  • *: deepscan issues (deee8e6)
  • *: element get own metadata call (dc22fb7)
  • di: cache factory on singleton resolution (dc22fb7)

Refactorings:

  • event: no longer call prevent default by default (#1926) (f71e9e7)
  • compiler: remove special treatment for au slot (2a4c436)
  • *: smaller di files, assert text options, more au slot tests (deee8e6)
  • runtime: move ctor reg into controller (7a15551)
  • resource: cleanup registration, APIs (#1918) (dc22fb7)
  • *: cleanup util fn (dc22fb7)
  • resources: move find to corresponding resource kind (dc22fb7)
  • di: add registrable, remove unecessary infra for attr pattern (dc22fb7)
  • resources: use registrable (dc22fb7)
  • di: dont search for resources when register (dc22fb7)
  • resource: remove resource protocol, simplify resource metadata (dc22fb7)
  • resources: add get for vc & bb resource kinds (dc22fb7)
  • resource: binding command resolution (dc22fb7)

2.0.0-beta.12 (2024-03-02)

Features:

  • enhance: call app tasks with .enhance API (#1916) (4d522b2)
  • au-compose: ability to compose string as element name (#1913) (06aa113)

Bug Fixes:

  • di: dont jit register resources [skip ci] (8ffde34)
  • *: tweak typings of injectable token (89f76eb)
  • *: use ?? instead of || (89f76eb)
  • *: typings for injectable token (89f76eb)
  • *: injectable token resolver (89f76eb)

Refactorings:

  • *: cleanup (#1912) (8ffde34)
  • *: cleanup (#1908) (89f76eb)
  • router: use resolve (89f76eb)
  • *: better type inferrence for injectable token (89f76eb)
  • *: simplify container has, cleanup router (89f76eb)
  • au-compose: always create host for non custom element composition (#1906) (8a28e0a)

2.0.0-beta.11 (2024-02-13)

Features:

  • event: ability to add modifier (#1891) (67a3c22)
  • state: support redux devtools for the state plugin (#1888) (bd07160)

Bug Fixes:

  • i18n: ability to unsubscribe locale change (ec2e270)
  • templating: custom element takes priority over custom attribute (#1897) (e8b2c80)
  • *: upgrade rollup, tweak build scripts (bd07160)

Refactorings:

  • controller: remove define lifecycle hook (#1899) (ec2e270)

2.0.0-beta.10 (2024-01-26)

Bug Fixes:

  • au-slot: properly handle nested projection registration (#1881) (00e8dee)
  • portal: remove target marker when deactivated (#1883) (3db4c17)
  • runtime-html: template wrapping (#1875) (bfdaa3b)
  • runtime-html: template wrapping (bfdaa3b)

Refactorings:

  • enums: string literal types in favour of const enums (#1870) (e21e0c9)
  • runtime-html: fix broken tests (bfdaa3b)

2.0.0-beta.9 (2023-12-12)

Features:

  • mapping: add mapping for popover apis (#1842) (6deadf4)

Bug Fixes:

  • popover: properly set attrs and add tests (#1851) (f4b552b)
  • au-slot: ensure work with shadow dom (#1841) (c750d4f)
  • repeater: duplicate primitive handling, batched mutation fix (#1840) (703d275)
  • repeat: fix sort+splice batched operation bug (703d275)

Refactorings:

  • runtime-html: if TC (#1833) (7192e74)
  • runtime-html: if (7192e74)
  • templating: remove strict binding option from CE (#1807) (7b4455f)
  • tests: move all under src folder (7b4455f)

2.0.0-beta.8 (2023-07-24)

Features:

  • compose: passthrough bindings + support containerless (#1792) (e8e39a9)

Bug Fixes:

  • au-slot: correctly prepare resources for slotted view (#1802) (bf1ca4c)

Refactorings:

  • ref: deprecate view-model.ref and introduce component.ref (#1803) (97e8dad)
  • text-binding: always evaluate expressions in strict mode (#1801) (15acfee)
  • *: bindable property -> name (#1783) (ca0eda7)

2.0.0-beta.7 (2023-06-16)

Features:

  • build: add a development entry point (#1770) (69ff445)

Bug Fixes:

  • resolver: mark private as internal (07689bf)

Refactorings:

  • runtime: cleanup, extract error to const enums (#1775) (07689bf)
  • compiler: use comment to mark target (#1774) (e37802c)
  • runtime-html: cleanup errors, remove unused code. (#1771) (750210d)

2.0.0-beta.6 (2023-05-21)

Features:

  • all: allow injection of implementation (#1766) (a60db13)
  • templating: allow deactivate when activating (#1729) (1c9c97c)
  • bindable: support getter/setter (#1753) (4279851)

Refactorings:

  • compiler: avoid using au class to find targets (#1768) (0d30998)
  • *: rename resolveAll -> onResolveAll (#1764) (fdf0747)
  • *: cleanup up unused code & decouple interface from default impl (#1761) (7a71d43)

2.0.0-beta.5 (2023-04-27)

Features:

  • di: property injection with resolve (#1748) (a22826a)
  • aurelia: ability to inject with Aurelia export beside IAurelia (a22826a)

Refactorings:

  • build: preserve pure annotation for better tree shaking (#1745) (0bc5cd6)

2.0.0-beta.4 (2023-04-13)

Features:

  • debounce-throttle: flush via signals (#1739) (af238a9)
  • slotted: add slotted decorator, slotchange bindable for au-slot (#1735) (8cf87af)

Bug Fixes:

  • repeat: fix mismatchedLengthError on assigning an array with duplicate primitive values (#1737) (cf60ac8)
  • select: insensitive multiple.bind order (#1727) (c8d912f)

Refactorings:

  • children: make children observation a binding (#1732) (5bde983)
  • children: make children deco as a hook (5bde983)
  • children: remove children observers from custom element def (5bde983)
  • children: cleanup children observer related code, rename to binding (5bde983)
  • observers: remove intermediate vars (5bde983)
  • *: ignore dev message coverage (5bde983)
  • *: remove unnecessary properties on PLATFORM (#1722) (7cd77ad)

2.0.0-beta.3 (2023-03-24)

Features:

  • style: add warning messages when binding number to ambiguous properties (#1702) (0937b63)

Bug Fixes:

  • css-modules: class command css module (#1690) (b6606d4)
  • au-slot: register the right view model instance for injection (#1685) (b42d52f)

Refactorings:

  • controller: remove lifecycle flags (#1707) (a31cd75)
  • ci: remove e2e safari from pipeline (a31cd75)
  • tests: disable hook tests (a31cd75)
  • compose: rename props and add compat layer (#1699) (2e7ce43)
  • build: use turbo to boost build speed (#1692) (d99b136)

2.0.0-beta.2 (2023-02-26)

Features:

  • compat: add binding engine (#1679) (a6dd0de)

Bug Fixes:

  • dom: broken in safari16 (#1680) (62321a7)
  • templating: ensure fragment always have proper owner document (62321a7)
  • *: linting errors (e6010d0)
  • ast: correctly resolves access keyed on primitve (#1662) (0eae2ce)

2.0.0-beta.1 (2023-01-12)

Features:

  • portal: ability to specify position (6e78e4c)
  • *: key assignment notify changes (#1601) (4163dd4)
  • repeat: add keyed mode (#1583) (d0c5706)

Bug Fixes:

  • runtime-html: remove direct dependency on Reflect polyfill (#1610) (5b37ff5)

Performance Improvements:

  • *: move render location creation to compiler (#1605) (66846b1)

Refactorings:

  • *: move webcomponents plugin into separate package (065a949)
  • *: add platform & obs locator to renderers (6763eed)
  • *: add expr parser to renderers via param (06449b0)
  • *: remove create element API (de5faf4)
  • *: remove dialog export from aurelia pkg (73e3078)
  • *: remove au render + infra (0a18ed1)
  • *: prefix private props on bindings (d9cfc83)
  • *: remove call command, move to compat package (d302d72)
  • *: remove event delegator, move completely to compat (cca1ce8)
  • event: remove .delegate, add .delegate to compat package (d1539a2)
  • runtime: cleanup & size opt, rename binding methods (#1582) (2000e3b)
  • runtime: remove interceptor prop from interface (3074f54)
  • binding-behavior: remove binding interceptor (767eee7)
  • bindings: create override fn instead of binding interceptor (5c2ed80)
  • all: error msg code & better bundle size (d81ec6d)
  • ast: extract evaluate into a seprate fn (6691f7f)
  • *: rename Scope.parentScope -> parent (937d29e)
  • templating: cleanup commands, renderers & compiler (099e988)

2.0.0-alpha.41 (2022-09-22)

Features:

  • collection-observation: add ability to batch mutation into a single indexmap (39b3f82)

Bug Fixes:

  • *: call listener with correct scope, move flush queue to binding (70d1329)
  • html: remove attrs on null/undefined (#1561) (2de6f17)

Refactorings:

  • *: some tests cleanup (02c8af6)
  • *: use utils for smaller bundle (d35e24a)
  • *: remove work tracker (96f90c6)
  • *: cleanup unnecessary exports in kernel (045d80d)
  • *: cleanup di (b299e7b)
  • binding-command: make expr parser & attr mapper parameters of command build (0ff9756)
  • runtime: make Char local to expr parser only (3272fb7)
  • runtime: move LifecycleFlags to runtime-html (ef35bc7)
  • ast: observe after eval fn call (aca7b0f)
  • observation: also pass collection in change handler (c382e8a)
  • *: cleanup context & scope (e806937)
  • *: move delegation strategy to runtime-html (f387b2a)
  • *: always handle event handler as fn (#1563) (6037495)
  • *: cleanup iterable AST, reorganise e2e tests (#1562) (3853f2d)
  • bindings: remove flags from bind/unbind (#1560) (eaaf4bb)
  • *: remove flags from observers (#1557) (9f9a8fe)
  • binding: move BindingMode to runtime-html (#1555) (c75618b)
  • ast: remove flags from evaluate (#1553) (dda997b)

2.0.0-alpha.40 (2022-09-07)

Features:

  • *: template expression auto observe array methods (001fe4c)

Refactorings:

  • ast: remove observe leaf only flag (8b1c7e1)
  • app-task: consistent hook name style ing/ed (#1540) (5a11ea0)

2.0.0-alpha.39 (2022-09-01)

Bug Fixes:

  • containerless: ensure host of dynamically created containerless comp is removed (#1518) (358b2ed)
  • repeater: re attaching when using the same array with if (#1511) (89248cc)
  • repeat: unsubscribe collection on detaching (89248cc)
  • e2e: better e2e test scripts (855a03f)
  • build: remove reference directive, use files in tsconfig instead (855a03f)
  • typings: make ListenerOptions public (855a03f)

Refactorings:

  • repeat: better collection observer refresh (#1512) (261249a)
  • *: clean up instanceof code (89248cc)

2.0.0-alpha.38 (2022-08-17)

Note: Version bump only for package @aurelia/runtime-html

2.0.0-alpha.37 (2022-08-03)

Features:

  • capture: ability to define attr filtering filter (e9a22be)

Bug Fixes:

  • capture: enable decorator to pass function filter (#1489) (046b33c)
  • *: deepscan (809df0a)
  • capture: dont capture slot attr (5ef1a18)

2.0.0-alpha.36 (2022-07-25)

Features:

  • capture: convention & deco shortcut (#1469) (e89d3ad)
  • loader: strip <capture> (e89d3ad)
  • element: capture decorator and <capture/> (e89d3ad)

Bug Fixes:

  • runtime-html: containerless #1474 (#1475) (35e571f)
  • node-obs: dont treat role differently (#1473) (0cde114)

2.0.0-alpha.35 (2022-06-08)

Features:

  • lifecycle-hooks: bound (668a0a8)
  • lifecycle-hooks: unbinding (2d94910)
  • lifecycle-hooks: binding (ddb98ce)
  • lifecycle-hooks: attached (#1456) (4a9b3bb)
  • lifecycle-hooks: detaching (#1455) (e4fc0de)
  • lifecycle-hooks: add attaching (#1454) (0aa386d)
  • ts-jest,babel-jest: upgrade to jest v28 (#1449) (b1ec85c)
  • lifecycle-hooks: invoke on custom attributes (5a15abd)

Refactorings:

  • attr: expose attr own container (286977a)

2.0.0-alpha.34 (2022-06-03)

Bug Fixes:

  • convention: re-export vc and bb from runtime, add tests (64a1252)

Refactorings:

  • compiler: remove no-action mode for custom element content (#1438) (f9c8170)

2.0.0-alpha.33 (2022-05-26)

Features:

  • lifecycle-hooks: call hydrated lch (75650c5)
  • lifecycle-hooks: call hydrating lch (737d9ed)
  • lifecycle-hooks: add attribute created lch (524a5df)

Bug Fixes:

  • array-observer: don't mutate incoming indexmap (#1429) (a77a104)

Refactorings:

  • lifecycle-hooks: dont invoke lfc on CA (395b26a)

2.0.0-alpha.32 (2022-05-22)

Features:

  • *: lifecyclehooks created (#1428) (3a0e93d)

2.0.0-alpha.31 (2022-05-15)

Features:

  • containerless: ability to override containerless config from view (#1417) (26968cc)
  • plugin: aurelia store (v2) plugin (#1412) (6989de0)

Refactorings:

  • *: cleanup unused flags (c4ce901)
  • *: add code to DEV err msg, unify error message quote (b4909fb)

2.0.0-alpha.30 (2022-05-07)

Features:

  • events: expr as listener handler (#1411) (ff6ebb8)
  • testing: automatically hook fixture create promise / tear down (ff6ebb8)
  • testing: enhance createFixture helper props (ff6ebb8)
  • hmr: add in hmr capabilities (#1400) (6d932a7)

Refactorings:

  • runtime-html: remove .js from im/export, add type to barrel (973ae46)
  • runtime: remove .js from im/export, add type to barrel (973ae46)
  • kernel: remove .js from im/ex, add type to barrel (973ae46)
  • testing: remove .js from im/ex, add type to barrel (973ae46)
  • store-v1: remove .js from im/ex, add type to barrel (973ae46)
  • validation: remove .js from im/ex, add type to barrel (973ae46)
  • validation-html: remove .js from im/ex, add type to barrel (973ae46)
  • validation-i18n: remove .js from im/ex, add type to barrel (973ae46)
  • router-lite: remove .js from im/ex, add type to barrel (973ae46)
  • router: remove .js from im/ex, add type to barrel (973ae46)
  • i18n: remove .js from im/ex, add type to barrel (973ae46)
  • fetch-client: remove .js from im/ex, add type to barrel (973ae46)
  • tests: correct import origins (973ae46)
  • all: remove imports from re-barrel (973ae46)
  • all: remove imports of re-barrel (973ae46)
  • all: remove imports of re-barrel (973ae46)
  • all: remove imports of re-barrel (973ae46)

2.0.0-alpha.29 (2022-04-27)

Note: Version bump only for package @aurelia/runtime-html

2.0.0-alpha.28 (2022-04-16)

Bug Fixes:

  • css-module: allow colon in class names (#1388) (47860ab)

2.0.0-alpha.27 (2022-04-08)

Bug Fixes:

  • build: ensure correct DEV build value replacement (#1377) (40ce0e3)
  • runtime-html: local dependencies for local element (#1375) (0d48dbf)
  • switch+promise: test build issues (63cf5d0)

Refactorings:

  • local-template: register dependency while building definition & add tests (0d48dbf)
  • switch+promise: deferred view instantiation (#1372) (63cf5d0)
  • all: removing unnecessary assertions & lintings (#1371) (05cec15)

2.0.0-alpha.26 (2022-03-13)

Bug Fixes:

  • compiler: allowing value modification from attr pattern on some cases for custom attribute (#1366) (6a190b8)
  • template-compiler: custom attribute works with attr-pattern in all cases (6a190b8)

2.0.0-alpha.25 (2022-03-08)

Note: Version bump only for package @aurelia/runtime-html

2.0.0-alpha.24 (2022-01-18)

Bug Fixes:

  • promise: suppressed TaskAbortError on cancellation (b917470)

Refactorings:

  • promise: pre-settled task result rejection (0e5d75d)

2.0.0-alpha.23 (2021-11-22)

Refactorings:

  • *: disabling type-coercion by default (e5028c1)
  • *: injectable coercion configuration (b901c4b)
  • *: post-review changes 1 (cc279d4)
  • runtime-html: coercing configuration options (cba53c7)
  • runtime-html: nullable coercing (11bd0dd)
  • bindable: auto discover coercer WIP (d64d704)

2.0.0-alpha.22 (2021-10-24)

Bug Fixes:

Refactorings:

  • repeat: destructuring support WIP (a6257f0)

2.0.0-alpha.21 (2021-09-12)

Refactorings:

  • runtime: use isType utilities for fn & string (37a8fd9)
  • runtime: use isType utility for string (64b41b5)
  • runtime: use isType utility for function (f621365)

2.0.0-alpha.20 (2021-09-04)

Features:

  • au-slot: work with containerless (9fa0a06)

Refactorings:

  • au-compose: move initiator out of change info, add tests for #1299 (8f2bf0c)

2.0.0-alpha.19 (2021-08-29)

Bug Fixes:

  • template-compiler: capture ignore attr command on bindable like props (0a52fbf)
  • *: export ITemplateCompiler from aurelia package (0a52fbf)

Refactorings:

  • all: remove more internal typings (1ffc38b)

2.0.0-alpha.18 (2021-08-22)

Features:

  • au-compose: works with au-slot (4bfcc00)
  • attr-transfer: implement attr capturing & spreading (998b91c)

Bug Fixes:

  • repeat: ensure binding behavior works with .for binding (30a27a0)

2.0.0-alpha.17 (2021-08-16)

Bug Fixes:

Refactorings:

  • command: extract CommandType out of ExpressionType (e24fbed)
  • all: rename BindingType -> ExpressionType (8cf4061)
  • command: simplify binding type enum (6651678)
  • di: resolver disposal (7c50556)

2.0.0-alpha.16 (2021-08-07)

Features:

  • wc: add web-component plugin (74589bc)

Bug Fixes:

  • href: avoid interfering with native href (de625d2)

Performance Improvements:

  • bindings: simpler observer tracking/clearing (c867cd1)

Refactorings:

  • binding-command: bindingType -> type (e38e7f2)
  • all: use a terser name cache for predictable prop mangling (7649ced)

2.0.0-alpha.15 (2021-08-01)

Features:

  • promise: re-enable promise patterns .resolve/then/catch (d0fa65c)

Bug Fixes:

  • attr-parser: avoid mutating non endpoint state (9996ae4)
  • attr-parser: return null if theres no endpoint (915bfb1)

Refactorings:

  • all: remove lifecycle flags from various APIs (b05db02)
  • template-compiler: let binding command determine parsing work (63aace4)

2.0.0-alpha.14 (2021-07-25)

Refactorings:

  • runtime-html: more error coded (928d75e)
  • resources: codify more error messages (5be00b4)
  • template-compiler: codeify error messages, add doc (8004b8c)
  • instructions: rename instructions to props for CE/CA/TC (ce307f4)
  • runtime: mark more private properties (8ecf70b)
  • controller: rename semi public APIs (c2ee6e9)

2.0.0-alpha.13 (2021-07-19)

Refactorings:

  • enhance: incorporate reviews, enhance returns raw controller (5504ad9)
  • controller: remove unneeded param from Controller.forCustomElement (4abb1ee)
  • *: remove root from IController (c51ed16)
  • enhance: make enhance works in a disconnected way (52c2c1c)
  • controller: no longer needs to determine root (9121240)
  • bindings: rename observeProperty -> observe, add doc (fed517f)
  • ast: simplify AST kind enum (fed517f)
  • *: avoid creating blocks (27dcf0b)
  • controller: remove ctx ctrl requirement from .forCustomElement (7edcef2)
  • render-context: remove render context (7d38f53)
  • render-context: remove all main render-context usages (efc607a)
  • render-context: prepare to remove .getViewFactory()/.compile() methods (db9a9ab)
  • render-context: prepare to remove .createNodes() method (747d8cf)
  • render-context: prepare remove .render method (5852299)
  • render-context: prepare render context removal (b0a9515)
  • binding-context: add comment explaning difference in behavior (f4bcc9f)
  • scope: remove host scope (0349810)
  • au-slot: make host exposure a normal, explicit prop (e2ce36c)

2.0.0-alpha.12 (2021-07-11)

Refactorings:

  • template-compiler: beforeCompile -> compiling (d8d8cc5)

2.0.0-alpha.11 (2021-07-11)

Features:

  • au-render: ability to compose element using string as name (aa466b4)
  • if-else: add ability to disable cache (600c33f)

Bug Fixes:

  • if: fix actvation/deactivation timing (020de51)
  • call-binding: assign args to event property, fixes #1231 (fa4c0d4)
  • renderer: pass render location to ce (ce141b5)

Performance Improvements:

  • renderer: don't always call applyBb (5e2d624)
  • rendering: use definition for attrs & els (3a26b46)
  • templating: avoid retrieving definition unnecessarily (f0e597f)
  • templating: resolved Type for CE instruction (0b52d11)

Refactorings:

  • all: use container from controller instead of context (0822330)
  • render-context: cache renderers and compiled definition (6a3be10)
  • renderer: use container from rendering controller as cotnext (edc5dd8)
  • context: remove IContainer interface impls out of Render/Route context (18524de)
  • context: distinguish between render context and its container (f216e98)

2.0.0-alpha.10 (2021-07-04)

Features:

  • template-compiler: ability to toggle expressions removal (93272a2)
  • template-compiler: add hooks decorator support, more integration tests (dd3698d)
  • template-compiler: add beforeCompile hooks (5e42b76)
  • au-compose: add support for composition with containerless on au-compose (dec8a5a)
  • t-compiler: add ability to recognize containerless attr (23ec6cd)
  • hydration: add hydration context hierarchy (9afb70c)
  • di: instance-provider now accepts predefined instance in 2nd param (54edac9)

Bug Fixes:

  • watch: construct scope properly for custom attr + expression watch (cb26b0c)
  • scope: disable host scope on CE controller (ac0ff15)

Refactorings:

  • templating: remove projections param from getRenderContext (cf34e40)
  • templating: remove blur CA, tweak doc/tests (1286b3b)
  • au-slot: remove unused exports (58cc0b5)
  • au-slot: lazily determine view factory at runtime (5d3fa25)
  • controller: remove unneccessary typings (39ed707)

2.0.0-alpha.9 (2021-06-25)

Features:

  • templating: add a injectable hydration token (52f11c4)

Bug Fixes:

  • with: update bindings scope properly when value change (906105d)
  • let: camel-case let target when using with interpolation/literal (bee73cc)

Performance Improvements:

  • templating: inline injectable preparation (2f0ea95)
  • di: do not create a new factory in .invoke() (23c0405)
  • di: minification friendlier di code (23c0405)

Refactorings:

  • au-slot: use new hydration context token (52f11c4)
  • templating: change timing of the container of a CE (23c0405)
  • attr-syntax-transformer: rename IAttrSyntaxTransformer (71f5ceb)
  • all: separate value from typing imports (71f5ceb)

2.0.0-alpha.8 (2021-06-22)

Features:

  • binding-command: add a build method, and let binding command have access to more raw information. (240692d)
  • attr-syntax-transformer: add isTwoWay & map methods. These are lower & purer primitives compared to existing ones, allowing better control in the compilation. (240692d)
  • au-slot: ability to use au-slot on the same element with a template controller (240692d)

Bug Fixes:

  • dialog: correct dialog dom structure (42ae808)
  • dialog default imp: dialog child of wrapper (3cce8ea)
  • dialog-default-imp: display flex on overlay (ce3c91e)

Refactorings:

  • template-compiler: fix linting issues, cleanup method names (581c1e3)
  • template-compiler: remove BindingCommand.prototype.compile (63dee52)
  • template-compiler: remove existing TemplateCompiler, remove TemplateBinder (0ab0cde)
  • template-compiler: use class base impl for compilation context (6cf1435)
  • template-compiler: merge binder & compiler (240692d)

2.0.0-alpha.7 (2021-06-20)

Refactorings:

  • hydration-compilation: use an object to carry more than projections information (39c5497)
  • au-slot: remove unused exports, fix tests (aaf81de)
  • au-slot: do not associate scope with instruction/definition during compilation (2fafe21)
  • slot: drop the use of projection provider in <au-slot/> (560e3c5)
  • scope: rename isComponentBoundary -> isBoundary (a3a4281)

2.0.0-alpha.6 (2021-06-11)

Features:

  • compose: au-compose -> au-render, implement v1 compose (7b1502c)
  • compose-v1: better composition queues (7b1502c)
  • compose-v1: better basic impl, timing (7b1502c)
  • compose-v1: cleanup typings & unnecessary props (7b1502c)
  • compose-v1: basic working tests with deactivation (7b1502c)
  • compose-v1: better race condition handling (7b1502c)
  • compose-v1: correct value change handling during detach (7b1502c)
  • compose-v1: add test for scoped view-only behavior (7b1502c)
  • compose-v1: add test for custom element composition, tweak detaching (7b1502c)
  • compose-v1: more view-model composition tests (7b1502c)
  • compose-v1: only re-activate when model changes (7b1502c)
  • compose-v1: add more tests for integration (7b1502c)

Bug Fixes:

  • compose-v1: ensure remove the old composition (7b1502c)
  • attr: ensure attr binding command take precedence over custom attr (5ecd6a7)

Refactorings:

  • children: make children observer a controlled observer (673c8ac)

2.0.0-alpha.5 (2021-05-31)

Bug Fixes:

  • *: deepscan issue (f7b9dcc)
  • *: broken tests (17ccba5)
  • content: fix content array auto observation (98f14ef)

Refactorings:

  • *: dropped superfluous props view factory (9ef9664)

2.0.0-alpha.4 (2021-05-25)

Note: Version bump only for package @aurelia/runtime-html

2.0.0-alpha.3 (2021-05-19)

Features:

  • app-task: allow app task to be created without a key (2786898)
  • dialog: add dialog prop, rename controller to dialog, add more doc (8696093)
  • dialog: better error msg, encourage IDialogController (fe82826)
  • dialog: ensure inject IDialogController, add test for injection (9455c7f)
  • dialog: naming consistency, more doc, clear prop names (64a32fa)
  • dialog: ensure naming consistency (b49cc6f)
  • dialog: more tests, ensure lifecycle invocation (66e8b10)
  • dialog: keyboard handling impl, more tests, tweak doc (f7099ba)
  • dialog: better interfaces/names + tweak tests (a4c801a)
  • dialog: fix linting & deepscan issues (55d47b1)
  • dialog: better interface names (499e926)
  • dialog: better messages, reorganise tests (7425ba1)
  • dialog: move close promise handling to dialog activation, simplify dialog service (2b817d9)
  • dialog: update dom impl (b50d4e8)
  • dialog: add tests (7ca0502)
  • dialog: better implementation (c8c7a1b)
  • dialog: add default IDIalogService (eb92a73)
  • composer: better definition creation (10e2d05)
  • dialog: add entry module for dialog exports (3ada28b)
  • composer: tweak the view model invokcation & INode registration (8f33a80)
  • dialog: add configuration (8e396d4)
  • dialog: rearrange timing in dialog controller, adjust based objects (e433054)
  • dialog: move all default implementations together (7287b29)
  • dialog: refactor interfaces organisation (1f93ded)
  • dialog: refactor dialog controller (7d53df3)
  • dialog: refactor interfaces, introduce new ext points (1e0bfc6)
  • dialog: add basic dialog service to runtime-html (347f00e)
  • compose: basic friendly composer API implementation (3022d76)
  • promise-tc: initial implementation (228085b)

Bug Fixes:

  • *: deepscan issues (48b1843)
  • *: broken i18n tests (2da8e72)
  • debounce: respect default delay (420829c)
  • select-observer: ensure value is fresh when flush (99e0172)
  • lifecycle-hooks: properly maintain resources semantic (6bfefcb)
  • *: revert changes in attr-observer, remove unused code in dirty checker (192a26f)
  • observers: ensure oldValue is correctly updated in flush,with optz (07bc335)
  • promise-tc: activation and deactivation (54ad4ea)

Refactorings:

  • *: binding context resolution with bindingmode participation" (b84813c)
  • app-task: simplify usage, align with .createInterface (2786898)
  • dialog: stricter interface, tweak tests, fix deepscan (53f95a4)
  • dialog: simplify interfaces, renmove default animator (49e3c70)
  • dialog: remove IDialogAnimator (9e1a354)
  • *: binding context resolution with bindingmode participation (3abe3f6)
  • all: rename currentValue -> value (6dc943e)
  • *: separate scope for promise (1d0de63)
  • observable: queue value attr observer (920bd59)
  • observation: don't propagate changes with depth first resolution (235f227)
  • promise-tc: then, catch redirections (7723332)
  • promise-tc: promise.resolve redirection (1ba35df)
  • promise-tc: task queuing + timing tests (7b2224f)
  • promise-tc: task queue (7abe877)
  • promise-tc: and test (1aaf36a)

2.0.0-alpha.2 (2021-03-07)

Features:

  • di: add invoke to route context (3c51a30)
  • di: add invoke to render context too (ead0522)

Bug Fixes:

  • runtime: fix duplicate lifecycleHooks resolution at root (3b245ec)

2.0.0-alpha.1 (2021-03-03)

Note: Version bump only for package @aurelia/runtime-html

2.0.0-alpha.0 (2021-03-02)

Features:

  • *: input[type=number/date] value as number binding (d7bc69d)
  • *: ability to teach attr-prop mapping (55c8ca7)
  • text-interpolation: basic implementation (67f5735)
  • *: track read on observable & bindable (011804f)

Bug Fixes:

  • template-binder: check if as-element was used (35284f2)
  • template-binder: check if as-element was used (6bc5d40)
  • syntax-transformer: don't transform attr of .class & .style commands (c07b9d0)
  • syntax-transformer): ?? vs ? vs () :dizz: (af12ed7)
  • *: binder ignore attr correctly (311fe1e)
  • binder-test: adjust the expected output as interpolation is removed (2684446)
  • binder: only remove attr when there's an interpolation (51bb404)
  • *: remove attr with interpolation (a0a1df9)
  • content-interpolation: cancel task if any when latest value is update (6784103)
  • content-interpolation: bogus null assignment (815469e)
  • content-interpolation: queue in both normal & collection change (b8b6bbc)
  • interpolation-binding: cleanup old value in unbind (bdc394c)
  • binder: dont remove the physical text node (6beab31)
  • bindings: remove redundant return and ensure .updateSource flag (4d975f7)
  • interpolation: release task in unbind (08933e4)
  • debounce/throttle: override queue when source changes (3c366fd)

Refactorings:

  • *: remove left over unused ids (97fc845)
  • template-binder: handle binding plain attr differently (a0a1df9)
  • all: remove .update flags (3fc1632)
  • bindable: use controller for determining bound state & change handler (f4acedd)
  • content-interpolation: put text node next to the original one (b78a210)
  • content-binding: dont remove on unbind, add assertion for post tearDown (343f790)
  • interpolation: rename interpolation part binding, remove redundant code (8a1a21e)
  • bindable: use controller for determining bound state & change handler (043c679)
  • *: update attr binding, throttle/debounce, add tests (cab73f4)
  • prop-binding: remove necessity for id stamping infra (409d977)

0.9.0 (2021-01-31)

Features:

  • runtime-html: add @lifecycleHooks wiring (4076293)
  • runtime: add getRef/setRef API's and expose $au object on nodes (c47cc85)
  • runtime-html: invoke created() hook on custom attributes (3e90d68)
  • *: decorator auSlots wip (6ddb362)
  • *: processContent wip (cb8a103)
  • show/hide: port show & hide attributes from v1 (8dd9562)
  • compiler: preserve 'alias' in the compiled instruction for usage by component instance (e80a837)
  • di: remove DI.createInterface builder (8146dcc)
  • work-tracker: initial implementation for an app-wide 'wait-for-idle' api (c677a4d)

Bug Fixes:

  • runtime: prevent early taskQueue yield (a72c8b2)
  • custom-attribute: fix CustomAttribute.for (4c97444)
  • *: as-element support for au-slot (ae233e3)
  • *: linting issue (0613391)
  • *: compilation skipping (c9f5bda)
  • *: order-agnostic processContent decorator (c3a4bb6)
  • batch: ensure nested batch not batched in outer (ae61005)
  • *: ensure bindable & observable behavior match v1 (200ac40)
  • accessors: add index signature (617c416)
  • *: use sub count from record only (e9f578e)
  • semantic-model: include alias in cache key (ad09693)
  • tests: correct validation controller tests (2849c99)
  • attribute: queue new task (5f7fa27)
  • controller: fix async unbind with dispose race condition (987d69d)

Performance Improvements:

  • controller: use stack to minimize promise tick overhead (d861da8)

Refactorings:

  • *: au-slot info via DI (1719669)
  • all: rename macroTaskQueue to taskQueue (87c073d)
  • *: decorator auSlots (26e980c)
  • *: decorator auSlots (9fbb312)
  • *: and more tests for processContent (893831e)
  • connectable: merge observer record & collection observer record (f2c1501)
  • all: rename interfaces, simplify subscriber collection (1c37183)
  • all: remove ILifecycle (d141d8e)
  • observation: minor cleanup, tweak accessor type (2756ece)
  • connectable: more cryptic, less generic name (0f303cb)
  • subscribers: use a separate record for managing subscribers (9f9152d)
  • di: store factory per container root instead of via metadata (dbbd8b9)
  • *: use private static, tweak comments, simplify vs ast code (d8f1c69)
  • *: use private static, tweak comments, simplify vs ast code (98d33b4)
  • runtime-html: more cleanup (5bde778)
  • watch: move to runtime-html (1250402)
  • runtime: move binding implementations to runtime-html (8d9a177)
  • connectable: make observe coll part of IConnectable, updat watchers (3df866c)
  • *: remove IPropertyChangeTracker interface (d9ba9a4)
  • obs: remove IPropertyObserver (d29bc28)
  • all: remove IBindingTargetAccessor & IBindingTargetObserver interfaces (d9c27c6)
  • runtime: reexport watch on aurelia package (af29a73)
  • el-accessor: merge size & length observersremove task reuse (3af2d9f)
  • obs: clean up bind from observer, (3006d3b)
  • if: cleanup & utilize WorkTracker (df3a5d5)
  • bench-apps: measurement (ae4ecaf)

0.8.0 (2020-11-30)

Features:

  • templating-syntax: ability to define custom bind to two way transform (aa5a693)
  • computed: no type check proxy, reorg args order (6f3d36f)
  • controller: enable shadowDOM and containerless for host-less components (89856c4)
  • *: allow configurable dirty check for el observation (5636608)
  • kernel: add resource create/find api's to the container (1cab5bb)
  • runtime-html: add IEventTarget interface to specify event delegate target (90b804c)
  • setter-observer: separate start/stop from subscribe, (c895f93)
  • runtime-html: add interfaces for IWindow, IHistory, ILocation (5273d0a)
  • runtime: add cancel api and properly propagate async errors (3c05ebe)
  • runtime: add component tree visitor infra (5dd0f67)
  • runtime: implement/wireup dispose hook (1e1819e)
  • observation: move scheduling to bindings (3237d3d)
  • obs-type: add type & last update to all observers in runtime-html (2f7feb8)
  • *: enhance API (976ae0c)

Bug Fixes:

  • syntax-extension: tweak two mapping, add some more comments (f267f68)
  • style-accessor-for-custom-properties' of http: //github.com/aurelia/aurelia into fix-style-accessor-for-custom-properties (e210496)
  • style-attribute-accessor: handle prop and url (89c878a)
  • *: linting issues (e2fa345)
  • observer-loc: new api for overriding accessors (8af6c46)
  • *: update trigger uses NodeObserverConfig (b06fad0)
  • *: delay default configuration (02134f7)
  • *: alias node observer registration (7541638)
  • update-trigger: get all original handler config (228c0a8)
  • tests: adapt el observation changes (7ac6f4a)
  • select-observer: correctly toggle observing status (7f45560)
  • shadow-dom-registry: remove StyleElementStylesFactory incorrect guard (288a2a0)
  • controller: add controller metadata to host (9f1b23a)
  • *: disabled template controllers on local template surrogate (62a45b9)
  • switch: add missing accept impl (d497214)
  • portal: fallback to body on empty string querySelector (8783bb3)
  • switch: pass initiator through for correct deactivate hook timings (3ea306c)
  • aurelia: move controller dispose to stop() hook via a flag (4305a7d)
  • *: use interface instead (9fc8323)
  • event-manager: properly handle delegate events with shadowDOM / cleanup (b79e7ba)
  • attr-binding: store task on observer (b8e37b3)
  • *: linting/deepscan issues (d9b275b)
  • *: deepscan + linting issues (2f75f1e)
  • tests: keep bind/unbind for now (5a5174e)
  • observers: merge flags instead (1dc7165)
  • *: broken tests (3a73602)
  • *: ducktype checking for nodelist (b6d650a)

Performance Improvements:

  • controller: use stack to minimize promise tick overhead (2cac413)
  • bindings: use eval/connect merge (da4b49d)

Refactorings:

  • binding: adapt obs record on attribute binding (eddb58f)
  • binding: chore try use an obs record (1a93644)
  • bindings: use ??= instead (830fdf5)
  • bindings: optimize task queue update a bit more (842ab26)
  • prop-accessor: simplify property accessor (d19c0aa)
  • bindings: always cache source value in binding (9d3aad2)
  • *: timing for binding state of controller (4eb09f7)
  • bindable: let bindable take action based on controller (a42949f)
  • attr-syntax-transformer: adapt code review merge, make interpret independent again (1e09e9c)
  • collection: make lifecycle optionial, more type imports re-org (9f8b189)
  • runtime-html: remove unnecessary flag requirements (86e8e9e)
  • obs: don't use Proxy on platform (f7882e0)
  • dom: allow parent-less nodes to be converted to render locations (68aef8f)
  • computed-observer: correctly call subscribers when set (8497f38)
  • dom: give INode, IEventTarget and IRenderLocation overrideable generic types (e2ac8b2)
  • *: remove persistent flags (ffba588)
  • all: add .js extensions for native esm compat (0308e2e)
  • el-observation: allow different observer ctor config (161b544)
  • node-observation: move interface to runtime-html (42626f8)
  • validation: merge evaluate & connect, more efficient handling of classes (7803dc6)
  • *: use readonly from config (b88e102)
  • *: better lookup for el obs loc (9c5197c)
  • observation: simplified el observers/accessors more (e818e2f)
  • node-observation: merge target observer/accessor, (2c318ee)
  • accessors: no cache in accessors (2640c38)
  • checked-observer: make non-layout (b75d6a8)
  • accessors: more static accessors (6d83921)
  • prop/attr-bindings: always call update (3fd75c8)
  • select-observer: remove flags & task props (0622450)
  • select-observer: remove dedundant handler/methods, add more mutation test (28c5fe2)
  • all: rename noTargetQueue flag, remove infrequent mutationtc (edfd2a4)
  • obervers: remove task property of IAccessor (affd9d1)
  • controller: remove bindingContext property (3cb6a32)
  • styles: move style related stuff to single file (80a6381)
  • lifecycle: move types to controller file (93fdb7e)
  • controller: remove projector abstraction & rework attaching (d69d03d)
  • projector: inline take() (189064a)
  • projector-locator: merge into controller (2577af5)
  • instructions: move instructions to renderer file (3b71a44)
  • instructions: merge listener instructions into one class (5ef5e2e)
  • instructions: declare instr type as getters (97c5900)
  • all: remove binding strategy export (cd258cd)
  • all: remove strategy configuration (0ae57c0)
  • instructions: merge to-view, two-way, from-view and one-time (4a12c1d)
  • resource-model: merge with semantic-model file (c497c16)
  • *: remove references to proxy strategy & proxy observer (b1dfe93)
  • attribute-pattern: merge the two files (437d5e4)
  • binding-command: move to resources folder (f9d20de)
  • attribute-pattern: move to resources folder (df52acf)
  • templating: remove hooks from CE definition (dcd2762)
  • render-context: rename compose to render (f839165)
  • templating: remove ResourceModel (e4f2042)
  • all: rename beforeUnbind to unbinding (17a82ed)
  • all: rename beforeDetach to detaching (0fcb64d)
  • all: rename afterAttach to attaching (0178027)
  • all: rename afterAttachChildren to attached (9e6e97e)
  • all: rename afterBind to bound (696f5d4)
  • all: rename beforeBind to binding (67b1c5d)
  • runtime-html: rename InstructionComposer to Renderer and remove Composer abstraction (6499d31)
  • all: rename CompositionContext back to RenderContext again (1d7673b)
  • controller: rename compileChildren to hydrateChildren (4b6fddb)
  • controller: rename compile to hydrate (868d125)
  • controller: rename afterCompose to created (02e9412)
  • controller: rename beforeComposeChildren to hydrated (041a2ff)
  • controller: rename beforeCompose to hydrating (64b405e)
  • all: remove afterUnbind and afterUnbindChildren, and make deactivate bottom-up (a431fdc)
  • controller: simplify activate/deactivate (b839126)
  • controller: peel out cancellation for now (bbf6c92)
  • controller: remove cancel api for now (367f6c3)
  • all: simplify update flags (5c2cc3a)
  • all: rename RuntimeHtmlConfiguration to StandardConfiguration (665f3ba)
  • all: move scheduler implementation to platform (e22285a)
  • scheduler: remove ITaskQueue interface (5b7b276)
  • all: remove IDOM, HTMLDOM and DOM; replace DOM with PLATFORM (6447468)
  • plugin-svg: cleanup and move to runtime-html as a registration (55a3938)
  • all: move html-specific stuff from runtime to runtime-html and remove Node generics (c745963)
  • all: remove PLATFORM global (fdef656)
  • dom: remove setAttribute (5cd8905)
  • dom: remove removeEventListener (1179737)
  • dom: remove addEventListener (706a833)
  • event-manager: rename EventManager to EventDelegator (9150bb4)
  • listener-tracker: subscribe with EventListenerObject instead (e100eb4)
  • dom: remove DOM.createNodeObserver (2dc0282)
  • all: simplify DOM initialization, remove DOMInitializer (ff13185)
  • runtime: rename CompositionRoot to AppRoot (3141a2c)
  • runtime: move Aurelia from runtime to runtime-html (d56c4ca)
  • instructions: rename hydrate to compose (2ab10b3)
  • all: shorten TargetedInstruction to Instruction (a7e61c6)
  • all: shorten TargetedInstructionType to InstructionType (7fe8d04)
  • all: finish renaming render to compose (ede127b)
  • all: rename render to compose (2d11d9e)
  • runtime: move rendering, binding commands, attr patterns and instructions to runtime-html (bc010f5)
  • all: rename renderer to composer (c1a0f3c)
  • all: cut back on the dispose calls (9fec528)
  • all: simplify Aurelia#start/stop & AppTask#run, returning promise instead of task (6c7608d)
  • observer-locator: improve the flow / work out a few quirks (cc042b4)
  • scope: remove IScope interface and use import type where possible for Scope (6b8eb5f)
  • focus: only focus blur when really needed (e71f36c)
  • *: rename multi interpolation to interpolation (d1c2202)
  • all: remove reporter (425fe96)
  • interpolation: remove interpolation binding reference, tweak html interpolation (f3a8952)
  • *: removed linktype in favor of link cb (5af8498)
  • runtime-html: ensure .evaluate() is called with null (8dc3b88)
  • start-task: rename StartTask to AppTask (b52fc9c)
  • all: remove AST interfaces (7e04d83)
  • all: merge jit-html into runtime-html and remove jit-html-* packages (f530bcf)
  • runtime: cleanup unused flags (77a930e)
  • runtime: merge controller api bind+attach into activate, detach+unbind into deactivate, and remove ILifecycleTask usage from controller (15f3885)
  • lifecycles: pass down first + parent controller in the 'before' hooks and use that as the queue instead of ILifecycle (031b7fd)
  • runtime: rename 'caching' to 'dispose' and hook cache/dispose logic up to unbind based on isReleased flag (e346ed4)
  • controller: rename 'hold' to 'setLocation' (eb43d9e)
  • all: remove State enum and use simple booleans instead (762d3c7)
  • all: rename afterDetach to afterDetachChildren (080a724)
  • all: rename afterAttach to afterAttachChildren (02b573e)
  • bindings: always sync, control flush (01db28d)
  • html-observers: controllable flush (f0ec574)
  • html-observers: keep tasks (78e01f4)
  • html-observers: remove unused code/commented code (ae111f3)
  • bindings: queue with preempt in handle change (24350ce)
  • *: more tests flush revert, linting issues (f3fdfc9)
  • bindings: treat changes during bind differently (cf65629)
  • html-observers: initialize values in bind (83aeff3)
  • bindings: no queue during bind (2a7a0a0)
  • html-observers: move task check top in setValue (455ee23)
  • bindings: seprate flow entirely for layout accessors (3915230)
  • html-observers: handle task inside setValue (2ac796d)
  • html-observers: add todo for unsafe cache (8cd7c68)
  • style-attr-accessor.ts: no read during bind (1be26f5)
  • observers: rename ObserverType to AccessorType (5f8d0e1)
  • *: host scope & AST (9067a2c)
  • *: facilitated host enhancement directly (ad8c53c)

0.7.0 (2020-05-08)

Features:

  • *: support binding for Set/Map for CheckedObserver (7b0dc48)
  • array-index-observer: add select/checkbox tests (4237825)

Bug Fixes:

  • listener: fix listener binding to work with interceptors (e.g. debounce) (4dedf7e)
  • *: create local RepeatableCollection type (c462a6d)
  • *: remove down level iteration config in tsconfig (c9e5fce)
  • shadow-dom-registry: improve monomorphism by caching via weakmap (1634cdd)
  • shadow-dom-registry: change find to some for efficient any check (dff6280)

Refactorings:

  • *: rename alias to aliasto for readability and consistency (f3904fe)
  • *: use to string to check for array/set/map for checkedobserver (f246c0f)
  • *: use lifecycle instead of observer locator for collection observation in CheckedObserver (147bec2)
  • shadow-dom-registry: make explicit factory classes (a9771ad)
  • styles: a more explicit api for shadow styles and css modules (3b1f978)

0.6.0 (2019-12-18)

Bug Fixes:

  • compose: use $controller instead of injected controller (d8c2878)
  • dom: clone fragment before creating nodes (bf595b1)

Refactorings:

  • all: refine+document controller interfaces and fix types/tests (0a77fbd)
  • controller: split up IController into several specialized interfaces + various small bugfixes (05d8a8d)
  • dom: add null-object NodeSequence back in (c9244ad)
  • runtime-html: fix types / api calls (3d42dc2)
  • html-renderer: synchronize with renderer refactor (4219e02)
  • binding-behavior: integrate interceptors with renderer (580b76e)
  • runtime: make binding behaviors transient and formalize interceptor api (facbe47)
  • runtime: rename CustomElementBoilerplate back to RenderContext (a844ccc)
  • runtime: factor out rendering engine + context + compiled template, introduce ce boilerplate, fix create-element etc (a3cc2ad)
  • runtime: simplify render process / prepare for removing CompiledTemplate layer (6f47ee8)
  • runtime: rename 'detached' to 'afterDetach' (d1e2b0c)
  • runtime: rename 'attached' to 'afterAttach' (6ae7be1)
  • runtime: rename 'detaching' to 'beforeDetach' (9f8b858)
  • runtime: rename 'unbinding' to 'beforeUnbind' (79cd5fa)
  • runtime: rename 'attaching' to 'beforeAttach' (4685bb1)
  • runtime: rename 'binding' to 'beforeBind' (45b2e91)

0.5.0 (2019-11-15)

Features:

  • dom: add setEffectiveParentNode for portal-like components (5f40cd5)
  • dom: let the getEffectiveParentNode api also traverse out of shadow roots (325601b)
  • dom: add getEffectiveParentNode api for containerless support (77a04e0)

Bug Fixes:

  • getEffectiveParentNode: skip over sibling containerless elements above the node (6a6dd76)
  • runtime-html: do not use DOM types in constructor args (4505abd)
  • attribute: do not use DOM type in constructor param (bc383c1)
  • runtime-html: style-attribute-accessor issue (40db3dc)
  • runtime-html: uniform syntax for class CA (feede3a)
  • renderer: add fromBinding to setPropertyBinding (ac1c8ac)

Refactorings:

  • runtime: use metadata api to associate resources with nodes (f46dacc)

0.4.0 (2019-10-26)

Features:

  • portal: add portal attribute (8602dd0)
  • dom: add prependTo api to nodesequences (b958d57)
  • integration: new tests for text input (dc87cea)
  • integration: test plan for runtime-html (32c0de5)
  • runtime-html: Enhance the style accessor (57bc7b1)
  • blur: blur attribute (9e844a8)
  • styles: support the new css modules spec (9b36a8e)
  • runtime: initial runtime support for styles (6aafcca)
  • observer: Add the ability to bind an array of objects and strings to a class perf fix (80fd26b)
  • blur: blur attribute, basic working state (177684e)
  • observer: Add the ability to bind an array of objects and strings to a class (5d4ad6e)
  • observer: Add the ability to bind an array of objects and strings to a class (75c8418)
  • observer: Add the ability to bind an array of objects and strings to a class (e80b279)
  • focus: add focus attribute (1972323)
  • observer: Add the ability to bind an object to class (13bd1d1)
  • observer: Fix up tests and remove redundancy from class accessor (64294ad)
  • observer: Add the ability to bind an object to class (3e7dba7)
  • focus: add focus attribute (ec6ba76)
  • child-observation: make query pluggable (81f1a9a)
  • runtime: add lifecycle flag propagating template controllers for perf tweaks (c28db65)
  • runtime: add PriorityBindingBehavior (2d06ef7)
  • attr-binding: add configuration/renderer/instruction/exports (41cb920)
  • attr-observer: add attribute observer (a82d143)
  • attr-binding: add attribute binding (fd284a2)
  • runtime-html: re-enable svg (52bf399)
  • runtime: expose full DOM (0680c16)
  • runtime-html: add custom event constructor (31d4536)
  • runtime: added exportable dom object (9419faa)
  • runtime-html: create event and dispatch methods (447646e)
  • kernel: add performance profiler (32c2a66)
  • event-manager: make EventManager disposable (c857547)
  • runtime: make runtime-html fully work in jsdom/nodejs (e34f9b1)
  • runtime-html: expose individual registrations and configs (dc12f77)
  • all: add friendly names to all interface symbols (57876db)
  • dom-initializer: allow undefined ISinglePageApp (add1822)
  • runtime-html: implement DI configurations and expose configuration API (1d2b457)
  • runtime-html: add runtime-html package with html-specific runtime features (412b01a)

Bug Fixes:

  • observers: clear task when done (6163a89)
  • rendering-engine: always return a CompiledTemplate even if there is no template (7042ca8)
  • portal: add 2nd param for hold, add tests, export mountstrategy (d797f9a)
  • portal: separate API for hold parent container (537eb97)
  • create-element: fix types and refs (9fd883d)
  • set-class-inst: pre-prepare classlist (292cf5a)
  • setstyle-inst: use correct type (0c468ed)
  • inst: add missing exports, instruction for surrogate style attr (dede01e)
  • runtime-html: add infra for rendering surrogate class/style attributes (8d2659a)
  • tests: linting issues (3f85553)
  • styles: proper local vs. global style resolution (95791b1)
  • styles: adjust some types (dbddd70)
  • styles: ensure all styles infrastructure uses the dom abstraction (2c397ec)
  • styles: address two deep scan issues (4906098)
  • styles: ensure there is always a root shadow dom style (4e69c3f)
  • styles: only allow css strings w/ shadow dom style element strategy (6328ba4)
  • runtime: export style configuration (0e47d7c)
  • all: build errors related to children observers (1658844)
  • flags: only store persistent observer flags (e597b77)
  • child-observation: correct shadow projector and children observer (721d6d8)
  • event-manager: fix 'this' scope issue in removeEventListener (637f7d3)
  • replaceable: fix some more edge cases with multi nested elements and template controllers (b600463)
  • replaceable: make part scopes also work when not immediately bound from the wrapping replaceable (78803f1)
  • observer-locator: fix attribute NS accessor and tests (923c326)
  • compose: fix typo and tests (a3060e9)
  • repeat: correctly reorder nodes, fix several small bugs in node state tracking (283af76)
  • lint: fix all lint issues (6b163bd)
  • class-binding: targetKey -> propertyKey (0971d7d)
  • style-attr-binding: properly handle rules, add important tests, non happy path tests (a2b7c62)
  • attr-binding-instruction): fro: string -> string | IsBindingBehavior (cafc325)
  • value-attribute-observer: fix two-way binding back propagation (b53b863)
  • runtime: fix two-way binding (d60b952)
  • dom: add event listener to document instead of body (c8fa239)
  • dom: add delegate/capture listeners to body instead of window by default (4219d6d)
  • shadow-dom-projector: get mutation observer from dom (97333c2)
  • create-element: pass null to parentContext (6581dfb)
  • host-projector: also observe children of non-shadowROot (502ad2f)
  • shadow-dom-projector: observe children of the shadowRoot (443ed52)
  • runtime-html: export attribute-ns-accessor (4f08d48)
  • projectors: append and return childNodes from the shadowRoot + use correct defaults (09bb7d7)
  • runtime: add missing renderer registrations (c301823)

Performance Improvements:

  • all: remove tracer/profiler from ts source (cc9c1fc)
  • all): add sideEffect: false for better tree shaking (59b5e55)
  • all: pre-declare variables used in loops (16b9c18)
  • runtime-html: remove DOM dependency from DOM target accessors (74b649a)

Refactorings:

  • blur: convert from lifecycle to scheduler (fa65ee7)
  • attr: convert from lifecycle to scheduler (9c33fbe)
  • attribute: convert from lifecycle to scheduler (f4ba90b)
  • observer-locator: convert from lifecycle to scheduler (6cc0160)
  • value-attribute-observer: convert from lifecycle to scheduler (3fdb6ad)
  • style-attribute-accessor: convert from lifecycle to scheduler (7313429)
  • select-value-observer: convert from lifecycle to scheduler (060e872)
  • element-property-accessor: convert from lifecycle to scheduler (31138f0)
  • data-attribute-accessor: convert from lifecycle to scheduler (d2b3202)
  • class-attribute-observer: convert from lifecycle to scheduler (f59d6a4)
  • element-attribute-observer: convert from lifecycle to scheduler (7135094)
  • checked-observer: convert from lifecycle to scheduler (3205a68)
  • attribute-ns-accessor: convert from lifecycle to scheduler (99b75e1)
  • dom: remove AuMarker and TextNodeSequence (49042ad)
  • compose: generate anonymous name if no name is provided in the definition (211d3d9)
  • all: enforce 2nd param for hold (dfda3fe)
  • binding-behaviors: back to decorators (1047099)
  • compose: update to use metadata etc (009a96c)
  • all: update definition refs (676e86a)
  • html-renderer: follow general theme (9af1c64)
  • inst: move classlist comp to renderer (223f907)
  • resources): prepend with a: (dd7c238)
  • *: drop unused imports (7755bbf)
  • *: un-ignore some ts-ignore (5e19c62)
  • all: rename BasicConfiguration in various packages (7e330d8)
  • custom-attrs: first pass removing dynamic options (03c5480)
  • blur: use nodetype enum, remove unnecessary comments (577f4f2)
  • blur/focus: isolated tests in their own host elements (8111b96)
  • blur: make contains work across dom boundaries (3f6b88d)
  • blur: drop wheel by default, remove redundant code (263afac)
  • blur: avoid doing unnecessary work (3a1ef25)
  • css-modules-registry: use object spread (f958ca7)
  • blur: use lifecycle to enqueue/dequeue (27413cd)
  • styles: rename to make processor clear (d703dcf)
  • blur: remove alien pattern code (b66d518)
  • styles: additional renaming for consistency (77e728b)
  • styles: better naming (761b925)
  • styles: rename internal var for clarity (d8dfd53)
  • styles: enable simpler caching (4bd58af)
  • focus: use param deco, add readonly (fde14ff)
  • resources: shorten resource names (499634b)
  • binding: rename bindings (35d4dff)
  • all): more cleaning up after TS breaking changes: ( (c4c3fc7)
  • all: use nextId for controller and all resources (e9ed2ac)
  • all: move isNumeric/camelCase/kebabCase/toArray to separate functions and fix typings (f746e5b)
  • observation: only eager flush with bind flags (47957d9)
  • observer-locator: fixup observer ctors (8a6c133)
  • attribute: fix ctor call (fbf79a9)
  • element-attribute-observer: cleanup and integrate with raf queue (08f6442)
  • select-value-observer: cleanup and integrate with raf queue (5c5850f)
  • observation: improve accessor consistency and perf (1a6fbb6)
  • value-attribute-observer: cleanup and integrate with raf queue (bae0045)
  • class-attribute-accessor: cleanup and integrate with raf queue (8448681)
  • checked-observer: cleanup and integrate with raf queue (8ae2fdb)
  • observation: cleanup the html accessors and integrate with raf queue (9b8a12d)
  • resources: expose view property (3168044)
  • all: rename $customElement to $controller (aacf278)
  • runtime-html: fix create-element types and remove RuntimeBehavior (a34a9da)
  • compose: integrate compose with tasks / controllers, fix typings (d86267e)
  • runtime: add activator class and make the runtime compile again (b2a707a)
  • runtime: encapsulate lifecycle behavior in controller class (4c12498)
  • all: break out patch mode for now (e173d0c)
  • all: more loosening up of null/undefined (6794c30)
  • all: loosen up null/undefined (40bc93a)
  • runtime: fix binding and observation strict types (b01d69a)
  • *: remove Constructable "hack" and fix exposed typing errors (c3b6d46)
  • *: use InjectArray (b35215f)
  • observer-locator: deduplicate and optimize data attribute accessor detection (a41578f)
  • all: split traceInfo.name up in objName and methodName (2cdc203)
  • lifecycle-render: remove arguments that can be resolved from the context (7eb2b5d)
  • lifecycle: merge ILifecycleMount and ILifecycleUnmount into IMountableComponent (5e6db98)
  • all: combine bindable and attachable into component (a10461f)
  • lifecycle: bind bindings before binding() hook and use binding() hook instead of bound() in repeater (970b70d)
  • ast: extract interfaces (7f16091)
  • *: make unknown the default for InterfaceSymbol (0b77ce3)
  • all: prepare lifecycle flags arguments for proxy observation (1f8bf19)
  • *: fix bantypes in tests (2d7bad8)
  • *: enable ban-types linting rule and fix violations (00e61b1)
  • all: reorganize all registrations and make them more composable (6fcce8b)
  • all: expose registrations and registerables in a consistent manner (ea9e59c)
  • runtime-html: move the dom initializer to runtime-html-browser (444082e)
  • *: linting fixes (a9e26ad)
  • runtime-html: explicitly export non-internal stuff (554efcb)
  • runtime: explicitly export non-internal items (1c05730)
  • all: use Resource.define instead of decorators (045aa90)
  • all: replace inject decorators with static inject properties (9fc37c1)
  • jit: move html-specific logic to new jit-html package (3372cc8)
  • runtime: reduce DOM API surface and dependencies on it (5512c64)