56 KiB
2.0.0-beta.1 (2016-01-08)
Bug Fixes
- benchpress: fix flake (9d28147), closes #6161
- CHANGELOG: typo (d116861), closes #6075 #6078
- code size: revert previous devMode change to restore size targets (c47d85b)
- core: IE only supports parentNode (630d931), closes #5994
- docs: fix an import in TOOLS_DART.md (3524946), closes #5923
- forms: fix SelectControlValueAccessor not to call onChange twice (b44d36c), closes #5969
- router: correctly sort route matches with children by specificity (b2bc50d), closes #5848 #6011
- router: preserve specificity for redirects (a038bb9), closes #5933
- TemplateParser: do not match on attrs that are bindings (9a70f1a), closes #5914
Features
- core: improve NoAnnotationError message (197cf09), closes #4866 #5927
- core: improve stringify for dart to handle closures (e67ebb7)
- core: speed up view creation via code gen for view factories. (7ae23ad), closes #5993
- router: support links with just auxiliary routes (2a2f9a9), closes #5930
Performance Improvements
BREAKING CHANGES
- Platform pipes can only contain types and arrays of types, but no bindings any more.
- When using transformers, platform pipes need to be specified explicitly
in the pubspec.yaml via the new config option
platform_pipes. Compiler.compileInHostnow returns aHostViewFactoryRef- Component view is not yet created when component constructor is called.
-> use
onInitlifecycle callback to access the view of a component ViewRef#setLocalhas been moved to new typeEmbeddedViewRefinternalViewis gone, useEmbeddedViewRef.rootNodesto access the root nodes of an embedded viewrenderer.setElementProperty,..setElementStyle,..setElementAttributenow take a native element instead of an ElementRefRendererinterface now operates on plain native nodes, instead ofRenderElementRefs orRenderViewRefs
2.0.0-beta.0 (2015-12-15)
2.0.0-alpha.55 (2015-12-15)
Bug Fixes
- router: export ROUTER_LINK_DSL_PROVIDER and hide MockPopStateEvent (fc75220)
Features
- core: enable dev mode by default (3dca9d5)
BREAKING CHANGES
- Before Previously Angular would run in dev prod mode by default, and you could enable the dev mode by calling enableDevMode. After Now, Angular runs in the dev mode by default, and you can enable the prod mode by calling enableProdMode.
2.0.0-alpha.54 (2015-12-15)
Bug Fixes
- bundles: don't include RxJS in System.register bundles (77b7cae)
- bundles: remove ngUpgrade from the angular2.js bundle (283962f), closes #5739 #5854
- bundles: remove polyfills from angular2.js bundle (2983558), closes #5881
- bundles: rename the testing.js bundle (d55655f), closes #5899 #5776
- bundles: rename UMD bundles (61b9468), closes #5898
- changelog: fix rxjs operator import paths (a79fe05), closes #5864
- docs,benchmarks: remove invalid closing tags (5b63b67)
BREAKING CHANGES
-
System.register testing bundle was renamed:
testing.js->testing.dev.js -
UMD bundles were renamed:
-
angular2.umd.js->angular2-all.umd.js -
angular2-testing.umd.js->angular2-all-testing.umd.js -
RxJS used to be bundled with Angular 2 code and this is not the case any more. RxJS needs to be loaded explicitly.
-
Previously
angular2.js,angular2.min.jsandangular2.dev.jsbundles would have zone.js and reflect-metadata pre-appended. New bundles don't contain zone.js nor reflect-metadata - those external dependencies can be easily loaded into a browser usingangular2-polyfills.js -
ngUpgraderelated symbols are no longer part of theangular2.jsbundle.ngUpgradehas a dedicatedupgrade.jsbundle now.
2.0.0-alpha.53 (2015-12-13)
Bug Fixes
- angular2: don't export compiler bits as public API (20c6eeb), closes #5815 #5797
- angular2: remove
angular2.tsmodule (200dc00), closes #5815 #5844 - animate: ensure transition properties are removed once the animation is over (b8e69a2)
- async: improve Rx support in ObservableWrapper (4a17e69)
- async: support BehaviorSubjects in async pipe (398f024)
- bundles: don't use angular2/angular2 in config of System.register bundles (8c69497)
- changelog: fix ngFor on template (3190c59), closes #5785
- compiler: remove AppRootUrl (ed2c25e)
- core: workaround for typescript@1.7.3 breakage #5784 (30e25ac), closes #5784
- dom_renderer: moveNodeAfterSiblings should not detach the reference node (edcb34d), closes #5077 #5759
- HtmlParser: allow ng-content elements regardless the namespace (080469f), closes #5745
- parse5: support comment nodes with getText and setText (693d9dc), closes #5805
- public_spec: check exports of barrels instead of angular2/angular2 (979162d), closes #5841
- styles: Escape \r characters in compiled text (92ddc62), closes #5772 #5835
- TemplateParser: match element and attributes regardless the namespace (7c13372)
- upgrade: allow directives with empty template (2ca5e38)
- web_workers: remove unnecessary setup module and AppRootUrl (a885f37), closes #5820
Features
- benchpress: add receivedData + requestCount to PerflogMetric (fe1dd77), closes #5750
- dom_renderer: add setBindingDebugInfo method (79399e1), closes #5227
- facade: do not reexport Observable from angular2/core (43f42d9)
- Headers: implement
toJSON(0cb32c2) - renderer: use a comment instead of an element when stamping out template>` elements (194dc7d), closes #4805
BREAKING CHANGES
-
Before import {Observable} from 'angular2/core' After import {Observable} from 'rxjs/Observable';
-
S: The setupWebWorker function exported from angular2/platform/worker_app no longer returns a promise of providers, but instead synchronously returns providers. Related to #5815
-
angular2/angular2was removed. Use the correct import from one of the barrels. E.g.angular2/core,angular2/platform/browser,angular2/common, … Note: This only applies to JavaScript, Dart is not changed. -
The following symbols are not exported from angular2/angular2 any more:
UrlResolver,AppRootUrl,getUrlScheme,DEFAULT_PACKAGE_URL_PROVIDER. Use imports fromangular2/compilerinstead.
2.0.0-alpha.52 (2015-12-10)
Features
- camelCase Angular (kebab-case removal) (da9b46a)
- camelCase Angular: legacy template transformer (9e44dd8)
BREAKING CHANGES
- Angular is now fully camel case.
Before:
After <p *ngIf="cond"> <my-cmp [myProp]="exp"> <my-cmp (myEvent)="action()"> <my-cmp [(myProp)]="prop"> <input #myInput>`, <template ngFor="#my-item" [ngForOf]=items #myIndex="index"> The full details are found in angular2/docs/migration/kebab-case.md
2.0.0-alpha.51 (2015-12-10)
Features
- bundles: add angular-testing UMD bundle (d6d759d), closes #5581 #5734
- core: provide support for relative assets for components (28860d3), closes #5634
- core: provide support for relative assets for components (db096a5), closes #5634 #5634
Reverts
- feat(core): provide support for relative assets for components (5f0ce30)
2.0.0-alpha.50 (2015-12-09)
Bug Fixes
- http: use
anyfor res.json() return (cbf7888), closes #5636 #5646 - testing: remove Symbol dummy shim (c1ae49d), closes #5067 #5719
Features
2.0.0-alpha.49 (2015-12-09)
Bug Fixes
- bootstrap: fix the configuration of ExceptionHandler (0d9a1de)
- build: lock down version of package:code_transformers (85d89ba)
- bundles: clean-up and re-organize UMD bundles (fb4f1e8), closes #5593 #5697
- bundles: remove SFX bundle (a4ba46c), closes #5665 #5712
- bundles: rename external-dependencies to angular-polyfills (b3c91b1), closes #5714 #5716
- changelog: add RxJS imports breaking change (ad48169), closes #5678
- changelog: correct import path (86c74cf), closes #5681
- compiler: support properties on SVG elements (daaa8ee), closes #5653
- dynamic_component_loader: leave the view tree in a consistent state when hydration fails (0df8bc4), closes #5718
- form: Form directives are exportedAs 'ngForm' (was 'form') (8657ca4), closes #5658 #5709
- HtmlLexer: handle CR in input stream per HTML spec (9850e68), closes #5618 #5629
- HtmlLexer: tag name must follow "<" without space (47f1d12)
- HtmlParser: Do not add parent element for template children (3a43861), closes #5638
- HtmlParser: ignore LF immediately following pre, textarea & listing (eb0ea93), closes #5630 #5688
- HtmlParser: mark elements as void (50490b5), closes #5663 #5668
- npm: move es6-shim from devDependencies to dependencies (21542ed)
- package: relock RxJS to alpha.11 (4b1618c), closes #5643 #5644
- router: set correct redirect/default URL from hashchange (aa85856), closes #5590 #5683
Features
- HtmlLexer: allow "<" in text tokens (aecf681), closes #5550
- TemplateParser: allow template elements regardless the namespace (1f35048), closes #5703
BREAKING CHANGES
-
The existing sfx bundle (angular2.sfx.dev.js) is replaced by UMD bundles: angular2.umd.js and angular2.umd.dev.js. The new UMD bundles dont have polyfills (zone.js, reflect-metadata) pre-appended. Those polyfills can be easily loaded by including the angular-polyfills.js bundle.
-
The
external-dependencies.jsbundle was removed. Useangular-polyfills.jsinstead. -
Number and content of UMD bundles have changed:
- we only publish one bundle that contains: core, common, platform/browser, http, router, instrumentation and upgrade
- exported names have changed and now:
- core is exported as
ng.core - common is exported as
ng.common - platform/browser is exported as
ng.platform.browser - http is exported as
ng.http - router is exported as
ng.router - instrumentation is exported as
ng.instrumentation - upgrade is exported as
ng.upgrade
- core is exported as
- Before:
After: <form #f="ngForm">
2.0.0-alpha.48 (2015-12-05)
Bug Fixes
- build: change npm publish script not to remove angular folder when building benchpress (47d0942)
- build: include benchpress into browser_tree (87ac36f)
- core/forms: input[type=text] .valueChanges fires unexpectedly (680f7e0), closes #4768 #5284 #5401
- dart/reflection: Fix
NoReflectionCapabilitiesinterface (0a3a17f), closes #5559 #5578 - HtmlParser: close void elements on all node types (9c6b929), closes #5528
- HtmlParser: do not add a tbody parent for tr inside thead & tfoot (c58e7e0), closes #5403
- HtmlParser: ng-content is not a void element (e67e195), closes #5563 #5586
- WebWorker: Add @AngularEntrypoint to worker_app bundle (5e50859), closes #5588
Features
- core: remove typings from package.json to disallow 'import * as n from 'angular2''' (9a65ea7)
- dart/transform: Add quick_transformer (f77ca7b), closes #5484
- dart/transform: Introduce @AngularEntrypoint() (6b2ef25)
- HtmlParser: add most common named character references (d90a226), closes #5546 #5579
- HtmlParser: better error message when a void tag has content (62c2ed7)
- HtmlParser: enforce no end tag for void elements (5660446)
- HtmlParser: enforce only void & foreign elts can be self closed (d388c0a), closes #5591
- mocks: Mark mock objects @Injectable() (35e32bb), closes #5576
- router: implement router link DSL (4ea5b6e), closes #5557 #5562
- sourcemaps: use inline source maps and inline sources in node_tree (7e18d4c), closes #5617
- test: add angular2_testing dart library (93a1ec2), closes #3289
- testing: export useful properties from componentFixture (e9f873a)
- typings: import global-es6.d.ts in core (22e9590)
BREAKING CHANGES
-
<whatever />used to be expanded to<whatever></whatever>. The parser now follows the HTML5 spec more closely. Only void and foreign elements can be self closed. -
End tags used to be tolerated for void elements with no content. They are no more allowed so that we more closely follow the HTML5 spec.
-
Before import * as ng from 'angular2'; After import * as core from 'angular2/core';
2.0.0-alpha.47 (2015-12-01)
Bug Fixes
- analyzer: fix dart analyzer errors (56e7364), closes #4992
- benchmarks: fix tracing categories to work with Dartium (64bd963), closes #5209
- benchmarks: update react and polymer benchmarks and get tree update numbers for all of the b (bc10dc3), closes #4709
- benchpress: increase sampling frequency (127d6b6), closes #4985
- build: do not reexport compiler from angular2/angular2 (30d35b5), closes #5422
- build: EMFILE error on Windows when executing JS unit tests (1dc8a0a), closes #4525 #4796
- build: fix npm install not to depend on minimist (6d70cd7), closes #5282
- build: fix source maps (87d56ac), closes #5444
- build: increase memory limit (2cd0f07)
- build: reorder bundling step (5fecb3b), closes #5208
- ChangeDetector: support for NaN (1316c3e), closes #4853
- compiler: create literal property bindings for empty *… directives. (b2dc5c2), closes #4916
- compiler: dedup directives in template compiler (87ddc8f), closes #5311 #5464
- compiler: do not match directives to variable names (711dbf4)
- compiler: don’t lowercase attributes to support svg (6133f2c), closes #5166
- compiler: load style urls in runtime mode correctly (27dbd2d), closes #4952
- compiler: remove style when [style.foo]='exp' evaluates to null (f1989e7), closes #5110 #5114
- compiler: support events on a template element that are consumed via a direct expression (3118d5c), closes #4883
- core: Add an error state for ChangeDetectors that is set when bindings or lifecycle ev (d1b54d6), closes #4323 #4953
- core: Export dev mode API in Dart. (a3e6406), closes #5233
- core: Fix typo (485c85b), closes #4803
- core: Provide setDevMode() to enable/disable development mode in Javascript. (4bb9c46)
- core: reexport PLATFORM_DIRECTIVES and PLATFORM_PIPES in dart (01ebff4)
- core: Run component disposal before destroyRootHostView() to avoid crash if change det (b22eddf), closes #5226
- core: Unload components when individually disposed. (1ff1792)
- core: various dart-specific fixes for core and facades (4a43230)
- dart: fix the static_browser platform not to include compiler (ad6fb06), closes #5321
- dart/transform: Consider of line numbers in inliner_for_test (a31e2f5), closes #5281 #5285
- dart/transform: Fix issue with deferred in .ng_deps (6be95ae)
- dart/transform: Gracefully handle empty .ng_meta.json files (a87c5d9)
- dart/transform: Omit bootstrap.dart in ng_deps (0db0252), closes #5315 #5348
- debug_element: don’t descend into merged embedded views on
componentChildren. (60bedb4), closes #4920 - default_value_accessor: support custom input elements that fire custom change events. (56a9b02), closes #4878
- di: allow dependencies as flat array (6514b8c)
- EventEmitter: resolve onError and onComplete asynchronously (019cb41), closes #4443
- examples: Don't generate Dart code for TS examples in nested directories. (b571baa)
- facades: reduce node count by 1 in assertionsEnabled (edfa35b)
- forms: Export the NG_VALUE_ACCESSOR binding token. (fee5dea)
- forms: handle control change in NgFormControl (d29a9a9)
- forms: scope value accessors, validators, and async validators to self (ba64b5e), closes #5440
- forms: update compose to handle null validators (9d58f46)
- http: error on non-200 status codes (201f189), closes #5130
- http: Fix all requests defaulting to Get (e1d7bdc), closes #5309 #5397
- http: refactor 'require' statements to 'import' declarations for Rx (bcd926a), closes #5287
- http: return Response headers (4332ccf), closes #5237
- http: return URL in Response (46fc153), closes #5165
- http: use Observable on Http methods (a9b1270), closes #5017
- http: use Response for JSONP errors (31687ef)
- JsonPipe: marks json pipe as not pure Marked json pipe as not pure so that it runs all the (fc016b5), closes #4821
- lang: avoid infinite loop when calling assert() (5c48236), closes #4981 #4983
- lint: enforce that module-private members have @internal. (098201d), closes #4645 #4989
- material: Disable md-grid-list tests until #5132 is fixed. (0b11051)
- ng_class: support sets correctly (2957b0b), closes #4910
- ng-content: wildcard ng-content has to go last. (39626a9), closes #5016
- NgFor: allow default templates with ng-for-template (2d0c8f1), closes #5161
- parser: do not crash on untokenizable quote prefixes (b90de66), closes #5486
- Pipe: pure is an optional argument (7ba426c)
- Pipes: mark date & slice as non-pure (2f1f83a)
- playground: fix the inbox example (6240245)
- publish: syntax fix (9985968)
- render: create svg elements with the right namespace (ac52bfd), closes #4506 #4949
- renderer: apply host element encapsulation also if the parent component is not encapsulate (344776f), closes #5240
- renderer: support
xlink:hrefattribute in svg (540b8c2), closes #4956 - router: apply APP_BASE_HREF when using PathLocationStrategy (ac38812), closes #5028
- router: fix a typing issue (4215afc), closes #5518
- router: fix error message text (280cd33)
- router: properly serialize aux routes (23784a2)
- router: respect LocationStrategy when constructing hrefs in links (2a3e11d), closes #4333
- router: respond to hashchange events (53bddec), closes #5013
- RouterLink: do not prevent default behavior if target set on anchor element (a69e7fe), closes #4233 #5082
- setup: set tsconfig so that it works in editors (fb8b815)
- shadow_css: strip comments and fix logic for parsing rules. (d8775e0), closes #5037 #5011
- style_url_resolver: include
asset:urls into precompiled stylesheets. (d8b3601), closes #4926 - test: "integration tests svg should support svg elements" fails in non-Chrome browsers (c4964e7), closes #4987 #5000
- test: Android browser does not support calc() a CSS unit value (e37799a), closes #5001
- transformers: Fix @Input/@Output annotations with setters/getters (d9f362a), closes #5251 #5259
- transformers: use BarbackMode instead of assertionEnabled to enable debug info generation (7f3223b), closes #5245 #5466
- typings: don't expose RootTestComponent_ (05d29a9), closes #4776 #4777
- typings: two errors not reported by our build: (7f6289c)
- remove internal usages of deprecated overrideOnTurnDone (c814dfb), closes #5079
- url_resolver: always replace
package:in Dart, even if it came frombaseUrl. (fd9b675), closes #4775 - web worker: remove usages of deprecated zone API (d59c20c), closes #5425
- WebWorker: Don't send messages when the buffer is empty (8485ef9), closes #4138
- WebWorker: Fix bug causing multi browser demo to crash (eba7073), closes #4839
- remove deprecated zone API usage in testability (3593d85), closes #5084
- WebWorker: Serialize scroll events (84d1f93), closes #4836 #4840
Features
- bootstrap: add platform and app initializers (3c43a8c), closes #5355
- build: add an option to disable type checks when running tests (4e585bc), closes #5299
- bundles: publish UMD bundles (fa725b4), closes #5223
- change detection: remove support for "if" (0a94021), closes #4616
- change_detect: Guard
checkNoChangesbehindassertionsEnabled(63e853d), closes #4560 - ChangeDetector: Add support for short-circuiting (7e92d2e)
- Compiler: case sensitive html parser (86aeb8b)
- Compiler: case sensitive html parser (36a423f), closes #4417 #5264
- Compiler: case sensitive html parser (a8edc1e), closes #4417 #5264
- Compiler: case sensitive html parser (adb8756)
- core: add support for ambient directives (5948aba)
- core: add support for ambient directives to dart transformers (4909fed), closes #5129
- core: extract platforms out of core (0eab4fc), closes #5219 #5280
- core: extract platforms out of core (3f4628c), closes #5219
- core: make transformers handle @Input/@Output/@HostBinding/@HostListener (16bc238), closes #5080
- core: PlatformRef and ApplicationRef support registration of disposal functions. (8dd3082)
- core: renam AMBIENT_DIRECTIVES and AMBIENT_PIPES into PLATFORM_DIRECTIVES and PLATFORM (e27665c), closes #5201
- dart: Support forcing dev mode via enableDevMode in Dart. (a8d9dbf), closes #5193
- dart/transform: Add getters, setters, methods to NgDepsModel (d68955a)
- dart/transform: Avoid overwriting assets (ca5e31b)
- dart/transform: Bail early for files with no deferred libraries (f80321f)
- dart/transform: Do not declare outputs (27ead8c)
- dart/transform: Do not re-process generated files (8f91ff8)
- dart/transform: Match runtime semantics for template values (bdd031a)
- dart/transform: Parse
directivesdependencies from the Dart ast (2604402) - dart/transform: Simplify dependency imports (9d0b61b)
- facade: add a way to convert observables into promises (2c201d3)
- facade: add a way to detect if an object is a Promise (fc50829)
- facade: add ObservableWrapper.fromPromise (53bd6e1)
- facade: add support for async validators returning observables (4439106), closes #5032
- forms: add support for adding async validators via template (31c12af)
- forms: add support for async validations (bb2b961)
- forms: add support for Validator (547e011)
- forms: Export NumberValueAccessor (25ddd87)
- forms: Implement a way to manually set errors on a control (ed4826b), closes #4917
- forms: implements a combinator for composing async validators (cf449dd)
- forms: remove controlsErrors (7343ef0), closes #5102
- forms: support adding validators to ControlGroup via template (7580628), closes #4954
- forms: update FormBuilder to support async validations (1c322f1), closes #5020
- forms: Use the DefaultValueAccessor for controls with an ng-default-control attribute. (f21e782), closes #5076
- ngUpgrade: simple example (9d0d33f)
- parser: allows users install custom AST transformers (a43ed79), closes #5382
- Parser: associate pipes right to left (4639f44), closes #4605 #4716
- renderer: use a comment instead of an element when stamping out
<template>elements (bb9cfe6), closes #4805 #5227 - router: add support for APP_BASE_HREF to HashLocationStrategy (1bec4f6), closes #4935 #5368 #5451
- router: add support for route links with no leading slash (07cdc2f), closes #4623
- router: allow linking to auxiliary routes (0b1ff2d), closes #4694
- router: Make RootRouter disposable to allow cleanup of Location subscription. ROUTER_PRO (2e059dc), closes #4915
- router: provide RouteConfig object for AuxRoute (0ebe283), closes #4319
- move NgZone to Stream/Observable-based callback API (491e1fd)
- router: Support unsubscription from Location by returning the subscription. (2674eac)
- templates: introduce quoted expressions to support 3rd-party expression languages (b6ec238)
- testing: use zones to avoid the need for injectAsync (0c9596a)
- upgrade clang-format to 1.0.32. (4a1b873)
- validators: Add a pending state to AbstractControl (c9fba3f)
- validators: Allow errors at both the group/array level or their children (28d88c5)
Performance Improvements
BREAKING CHANGES
-
previously http would only error on network errors to match the fetch specification. Now status codes less than 200 and greater than 299 will cause Http's Observable to error.
-
Remove if statement support from actions.
-
A few private helpers (e.g., platformCommon or applicationCommon) were removed or replaced with other helpers. Look at PLATFORM_COMMON_PROVIDERS, APPLICATION_COMMON_PROVIDERS, BROWSER_PROVIDERS, BROWSER_APP_PROVIDERS to see if they export the providers you need.
-
AMBIENT_DIRECTIVES -> PLATFORM_DIRECTIVES AMBIENT_PIPES -> PLATFORM_PIPES
-
Previously, the controlsErrors getter of ControlGroup and ControlArray returned the errors of their direct children. This was confusing because the result did not include the errors of nested children (ControlGroup -> ControlGroup -> Control). Making controlsErrors to include such errors would require inventing some custom serialization format, which applications would have to understand. Since controlsErrors was just a convenience method, and it was causing confusing, we are removing it. If you want to get the errors of the whole form serialized into a single object, you can manually traverse the form and accumulate the errors. This way you have more control over how the errors are serialized.
-
A few private helpers (e.g., platformCommon or applicationCommon) were removed or replaced with other helpers. Look at PLATFORM_COMMON_PROVIDERS, APPLICATION_COMMON_PROVIDERS, BROWSER_PROVIDERS, BROWSER_APP_PROVIDERS to see if they export the providers you need.
-
errors format has changed from validators. Now errors from a control or an array's children are prefixed with 'controls' while errors from the object itself are left at the root level. Example: Given a Control group as follows: var group = new ControlGroup({ login: new Control("", required), password: new Control("", required), passwordConfirm: new Control("", required) }); Before: group.errors { login: {required: true}, password: {required: true}, passwordConfirm: {required: true}, } After: group.errors { controls: { login: {required: true}, password: {required: true}, passwordConfirm: {required: true}, } }
-
Before:
1 + 1 | pipe:a | pipe:bwas parsed as(1 + 1) | pipe:(a | pipe:b)After:1 + 1 | pipe:a | pipe:bis parsed as((1 + 1) | pipe:a) | pipe:b -
S:
- deprecates these methods in NgZone: overrideOnTurnStart, overrideOnTurnDone, overrideOnEventDone, overrideOnErrorHandler
- introduces new API in NgZone that may shadow other API used by existing applications.
- S:
- you can no longer use a #foo or a var-foo to apply directive [foo], although it didn't work properly anyway. This commit is fixing breakage caused by the switch to pre-compiler (exact SHA unknown).
- Before: ControlGroup.errors and ControlArray.errors returned a reduced value of their children controls' errors. After: ControlGroup.errors and ControlArray.errors return the errors of the group and array. And ControlGroup.controlsErrors and ControlArray.controlsErrors return the reduce value of their children controls' errors.
2.0.0-alpha.44 (2015-10-15)
Bug Fixes
- compiler: attribute case in IE9 (b89c5bc), closes #4743
- compiler: explicitly support event bindings also on
<template>elements (cec8b58), closes #4712 - dart/transform: Handle empty .ng_deps.dart files (5a50597)
- dart/transform: Parse directives agnostic of annotation order (efddc90)
- forms: emit value changes after errors and status are set (b716d23), closes #4714
- style_compiler: don’t resolve absolute urls that start with a
/during compilation (a941fb0), closes #4763 - style_compiler: don’t touch urls in stylesheets and keep stylesheets with absolute urls in templ (7dde18b), closes #4740
- testing: let DOM adapter dictate XHR implementation for tests (d7ab5d4)
- transformers: show nice error message when an invalid uri is found (6436f96), closes #4731
Features
- forms: add input[type=number] value accessor (65c737f), closes #4014 #4761
- ngUpgrade: add support for upgrade/downgrade of injectables (d896e43), closes #4766
- ngUpgrade: faster ng2->ng1 adapter by only compiling ng1 once (053b7a5)
- query: add filter and reduce to QueryList (bfbf18d), closes #4710
2.0.0-alpha.42 (2015-10-13)
Bug Fixes
- build: Fix serve.js.dev to build bundles (3b03660), closes #4700
- docs: minor @link fixes. (3a801c1), closes #4696
- publish: emit type declarations with CJS build (57649d1), closes #4706 #4708
- test: command compiler attr merge test in IE (e15e242)
Features
- build: add tasks to watch and recompile js and dart (50e922f)
- forms: add minlength and maxlength validators (e82a35d), closes #4705
2.0.0-alpha.41 (2015-10-13)
Bug Fixes
- compiler: merge
classandstyleattributes from the element with the host attributes (eacc8e3), closes #4583 #4680 - compiler: shadow CSS @import test in some browsers (0def28e), closes #4629
- docs: Updated docs for default router location strategy (075011f), closes #4517
- router: properly read and serialize query params (8bc40d3), closes #3957 #4225 #3784
- test_lib: don't mock out XHR via MockXHR by default in tests (6abed8d), closes #4539 #4682
- typings: add more missing typings. (aab0c57), closes #4636
- typings: fix typings which were previously unchecked (c178ad4), closes #4625
- typings: missing types in ListWrapper typings (597f79e)
Features
- core: desugar [()] to [prop] and (prop-change) (7c6130c), closes #4658
- di: change the params of Provider and provide to start with "use" (1aeafd3), closes #4684
- di: rename Binding into Provider (1eb0162), closes #4416 #4654
- facade: add fromISODate method (440fd11)
- ngFor: support a custom template (6207b1a), closes #4637
- ngUpgrade: support for content project from ng1->ng2 (cd90e6e)
- ngUpgrade: transclude content from ng2->ng1 (19c1bd7), closes #4640
- test: Add an external version of the test library (a1fa2e4)
BREAKING CHANGES
- Before
<cmp [(prop)]="field"> was desugared to <cmp [prop]="field" (prop)="field=$event">After
<cmp [(prop)]="field"> is desugared to <cmp [prop]="field" (prop-change)="field=$event">