您的位置:首页 > Web前端 > AngularJS

Angular2版本更新

2015-12-21 17:46 771 查看

2.0.0-beta.0 somnambulant-inauguration (2015-12-15)

Enjoy!

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 to testing.dev.js (d55655f), closes #5899 #5776

bundles: rename UMD bundles (61b9468), closes #5898

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.js
and
angular2.dev.js
bundles 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 using
angular2-polyfills.js


ngUpgrade
related symbols are no longer part of the
angular2.js
bundle.
ngUpgrade
has a dedicated
upgrade.js
bundle 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.ts
module (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

Observable
are no more re-exported from
angular2/core


Before

import {Observable} from 'angular2/core'

After

import {Observable} from 'rxjs/Observable';


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/angular2
was 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 from
angular2/compiler
instead.

2.0.0-alpha.52 (2015-12-10)

Features

core: case-sensitive camelCase templates (kebab-case removal) (da9b46a)

BREAKING CHANGES

Angular templates are now case-sensitive and use camelCase instead of kebab-case (dash-case).

Before:

<p *ng-if="cond">
<my-cmp [my-prop]="exp">
<my-cmp (my-event)="action()">
<my-cmp [(my-prop)]="prop">
<input #my-input>
<template ng-for #my-item [ng-for-of]=items #my-index="index">

After:

<p *ngIf="cond">
<my-cmp [myProp]="exp">
<my-cmp (myEvent)="action()">
<my-cmp [(myProp)]="prop">
<input #myInput>`,
<template ngFor="#myItem" [ngForOf]=items #myIndex="index">

The full migration instruction can be found at angular2/docs/migration/kebab-case.md.

2.0.0-alpha.51 (2015-12-10)

Features

bundles: add angular2-testing UMD bundle (d6d759d), closes #5581 #5734

core: provide support for relative assets for components (28860d3), closes #5634

core: typescript 1.7.3 compatibility (#5758)

2.0.0-alpha.50 (2015-12-09)

Bug Fixes

http: fix syntax error in package.json (869a392), closes #5636 #5726

http: use
any
for res.json() return (cbf7888), closes #5636 #5646

testing: remove Symbol dummy shim (c1ae49d), closes #5067 #5719

package: update RxJS to alpha.14 (4432cf5), closes #5722

Features

testing: package angular2_testing to prepare it for publishing (cc8f1f9), closes #5682

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.js
bundle was removed. Use
angular-polyfills.js
instead.

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


Form directives are exportedAs 'ngForm' (was 'form')

Before:

<form #f="form">


After:

<form #f="ngForm">


rxjs, reflect-metadata, zone.js and es6-shims now must be specified as explicit dependencies of each angular app that uses npm for package management.

To migrate, please add the following into the "dependencies" section of your package.json:

"dependencies": {
...

"es6-promise": "^3.0.2",
"es6-shim": "^0.33.3",
"reflect-metadata": "0.1.2",
"rxjs": "5.0.0-alpha.11",
"zone.js": "0.5.8"

...
}

or check angular2's package.json for the latest peer dependencies

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
NoReflectionCapabilities
interface (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';

Http's MockBackend is no longer exported from the
angular2/http
module. It's now available at
angular2/http/testing


Operators and Observables from RxJS (e.g. .map(), .toArray(), .toPromise(), etc ) now need to be explicitly imported (once per operator in your app)

import {Observable} from 'rxjs/Observable';import 'rxjs/add/operators/map';
import 'rxjs/add/observable/interval';

Observable.interval(1000).subscribe(...);

http.get('foos.json').map(res => res.json()).subscribe(...);


2.0.0-alpha.47 (2015-12-01)

Bug Fixes

build: do not reexport compiler from angular2/angular2 (30d35b5), closes #5422

build: fix npm install not to depend on minimist (6d70cd7), closes #5282

build: fix source maps (87d56ac), closes #5444

build: increase memory limit (2cd0f07)

compiler: dedup directives in template compiler (87ddc8f), closes #5311 #5464

core: Export dev mode API in Dart. (a3e6406), closes #5233

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: 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: Omit bootstrap.dart in ng_deps (0db0252), closes #5315 #5348

EventEmitter: resolve onError and onComplete asynchronously (019cb41), closes #4443

examples: Don't generate Dart code for TS examples in nested directories. (b571baa)

forms: scope value accessors, validators, and async validators to self (ba64b5e), closes #5440

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

parser: do not crash on untokenizable quote prefixes (b90de66), closes #5486

publish: syntax fix (9985968)

renderer: apply host element encapsulation also if the parent component is not encapsulate (344776f), closes #5240

router: apply APP_BASE_HREF when using PathLocationStrategy (ac38812), closes #5028

router: fix a typing issue (4215afc), closes #5518

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: two errors not reported by our build: (7f6289c)

web worker: remove usages of deprecated zone API (d59c20c), closes #5425

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

Compiler: case sensitive html parser (86aeb8b)

Compiler: case sensitive html parser (a8edc1e), closes #4417 #5264

Compiler: case sensitive html parser (36a423f), closes #4417 #5264

Compiler: case sensitive html parser (adb8756)

core: extract platforms out of core (3f4628c), closes #5219

core: extract platforms out of core (0eab4fc), closes #5219 #5280

dart/transform: Bail early for files with no deferred libraries (f80321f)

dart/transform: Do not re-process generated files (8f91ff8)

parser: allows users install custom AST transformers (a43ed79), closes #5382

router: add support for APP_BASE_HREF to HashLocationStrategy (1bec4f6), closes #4935 #5368 #5451

router: allow linking to auxiliary routes (0b1ff2d), closes #4694

templates: introduce quoted expressions to support 3rd-party expression languages (b6ec238)

testing: use zones to avoid the need for injectAsync (0c9596a)

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.

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.

Previously, components that would implement lifecycle interfaces would include methods like "onChanges" or "afterViewInit." Given that components were at risk of using such names without realizing that Angular would call the methods at different points of the component lifecycle. This change adds an "ng" prefix to all lifecycle hook methods, far reducing the risk of an accidental name collision.

To fix, just rename these methods:

onInit

onDestroy

doCheck

onChanges

afterContentInit

afterContentChecked

afterViewInit

afterViewChecked

Router Hooks

onActivate

onReuse

onDeactivate

canReuse

canDeactivate

To:

ngOnInit,

ngOnDestroy,

ngDoCheck,

ngOnChanges,

ngAfterContentInit,

ngAfterContentChecked,

ngAfterViewInit,

ngAfterViewChecked

Router Hooks

routerOnActivate

routerOnReuse

routerOnDeactivate

routerCanReuse

routerCanDeactivate

The names of lifecycle interfaces and enums have not changed, though interfaces have been updated to reflect the new method names.

2.0.0-alpha.46 (2015-11-11)

Bug Fixes

core: Export dev mode API in Dart. (a3e6406), closes #5233

core: reexport PLATFORM_DIRECTIVES and PLATFORM_PIPES in dart (01ebff4)

core: various dart-specific fixes for core and facades (4a43230)

renderer: apply host element encapsulation also if the parent component is not encapsulate (344776f), closes #5240

analyzer: fix dart analyzer errors (56e7364), closes #4992

benchmarks: fix tracing categories to work with Dartium (64bd963), closes #5209

build: EMFILE error on Windows when executing JS unit tests (1dc8a0a), closes #4525 #4796

build: reorder bundling step (5fecb3b), closes #5208

compiler: don’t lowercase attributes to support svg (6133f2c), closes #5166

compiler: remove style when [style.foo]='exp' evaluates to null (f1989e7), closes #5110 #5114

core: Add an error state for ChangeDetectors that is set when bindings or lifecycle ev (d1b54d6), closes #4323 #4953

core: Provide setDevMode() to enable/disable development mode in Javascript. (4bb9c46)

core: Unload components when individually disposed. (1ff1792)

dart/transform: Gracefully handle empty .ng_meta.json files (a87c5d9)

forms: Export the NG_VALUE_ACCESSOR binding token. (fee5dea)

forms: update compose to handle null validators (9d58f46)

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

material: Disable md-grid-list tests until #5132 is fixed. (0b11051)

ng-content: wildcard ng-content has to go last. (39626a9), closes #5016

NgFor: allow default templates with ng-for-template (2d0c8f1), closes #5161

Pipe: pure is an optional argument (7ba426c)

Pipes: mark date & slice as non-pure (2f1f83a)

playground: fix the inbox example (6240245)

remove deprecated zone API usage in testability (3593d85), closes #5084

router: properly serialize aux routes (23784a2)

remove internal usages of deprecated overrideOnTurnDone (c814dfb), closes #5079

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

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

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

Features

change_detect: Guard
checkNoChanges
behind
assertionsEnabled
(63e853d), closes #4560

ChangeDetector: Add support for short-circuiting (7e92d2e)

core: add support for ambient directives (5948aba)

core: add support for ambient directives to dart transformers (4909fed), closes #5129

core: make transformers handle @Input/@Output/@HostBinding/@HostListener (16bc238), closes #5080

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: 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: implements a combinator for composing async validators (cf449dd)

forms: remove controlsErrors (7343ef0), closes #5102

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

router: provide RouteConfig object for AuxRoute (0ebe283), closes #4319

Performance Improvements

dart/transform: Restrict visibility/mutability of codegen (45b33c5), closes #5009

BREAKING CHANGES

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.

2.0.0-alpha.45 (2015-10-29)

Bug Fixes

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

ChangeDetector: support for NaN (1316c3e), closes #4853

compiler: create literal property bindings for empty *… directives. (b2dc5c2), closes #4916

compiler: do not match directives to variable names (711dbf4)

compiler: load style urls in runtime mode correctly (27dbd2d), closes #4952

compiler: support events on a template element that are consumed via a direct expression (3118d5c), closes #4883

core: Fix typo (485c85b), closes #4803

dart/transform: Fix issue with deferred in .ng_deps (6be95ae)

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)

facades: reduce node count by 1 in assertionsEnabled (edfa35b)

forms: handle control change in NgFormControl (d29a9a9)

lang: avoid infinite loop when calling assert() (5c48236), closes #4981 #4983

lint: enforce that module-private members have @internal. (098201d), closes #4645 #4989

ng_class: support sets correctly (2957b0b), closes #4910

render: create svg elements with the right namespace (ac52bfd), closes #4506 #4949

renderer: support
xlink:href
attribute in svg (540b8c2), closes #4956

router: fix error message text (280cd33)

router: respect LocationStrategy when constructing hrefs in links (2a3e11d), closes #4333

style_url_resolver: include
asset:
urls into precompiled stylesheets. (d8b3601), closes #4926

typings: don't expose RootTestComponent_ (05d29a9), closes #4776 #4777

url_resolver: always replace
package:
in Dart, even if it came from
baseUrl
. (fd9b675), closes #4775

WebWorker: Serialize scroll events (84d1f93), closes #4836 #4840

Features

change detection: remove support for "if" (0a94021), closes #4616

core: PlatformRef and ApplicationRef support registration of disposal functions. (8dd3082)

dart/transform: Add getters, setters, methods to NgDepsModel (d68955a)

dart/transform: Avoid overwriting assets (ca5e31b)

dart/transform: Do not declare outputs (27ead8c)

dart/transform: Match runtime semantics for template values (bdd031a)

dart/transform: Parse
directives
dependencies from the Dart ast (2604402)

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: support adding validators to ControlGroup via template (7580628), closes #4954

ngUpgrade: simple example (9d0d33f)

move NgZone to Stream/Observable-based callback API (491e1fd)

upgrade clang-format to 1.0.32. (4a1b873)

Parser: associate pipes right to left (4639f44), closes #4605 #4716

router: add support for route links with no leading slash (07cdc2f), closes #4623

router: Make RootRouter disposable to allow cleanup of Location subscription. ROUTER_PRO (2e059dc), closes #4915

router: Support unsubscription from Location by returning the subscription. (2674eac)

validators: Add a pending state to AbstractControl (c9fba3f)

validators: Allow errors at both the group/array level or their children (28d88c5)

BREAKING CHANGES

ControlGroup.errors and ControlArray.errors have changed

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.

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},
}
}

Pipes are now associated right to left

Before:
1 + 1 | pipe:a | pipe:b
was parsed as
(1 + 1) | pipe:(a | pipe:b)


After:
1 + 1 | pipe:a | pipe:b
is parsed as
((1 + 1) | pipe:a) | pipe:b


NgZone Moved to Stream/Observable-based callback API

deprecates these methods in NgZone: overrideOnTurnStart, overrideOnTurnDone, overrideOnEventDone, overrideOnErrorHandler

introduces new API in NgZone that may shadow other API used by existing applications.

Directives no longer match to variable names

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).

Actions no longer support if statements

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)

This is a quick follow-up release to 41 to fix the d.ts distribution with our npm package. See #4706 for more info.

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

BREAKING CHANGES

TypeScript typings are now included in the distribution. If you have installed external typings (eg. using tsd to fetch files from DefinitelyTyped), you need to remove them. TypeScript will give a
Duplicate identifier
error if the same type definition appears twice.

2.0.0-alpha.41 (2015-10-13)

Bug Fixes

compiler: merge
class
and
style
attributes 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

typings:
*.d.ts
files are now bundled with npm package,
tsd link
or
tsd install
no longer needed (95f9846)

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

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

BREAKING CHANGES

angular2/test_lib
is now called
angular2/testing


test_lib.js
->
testing.js


import {...} from 'angular2/test_lib'
->
import {...} from 'angular2/testing'


[()] desugaring changed:

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">


API DEPRECATION

"DI Binding" terminology has changed to "DI Providers" to avoid conflicts/confusion with data-binding. All commonly used apis that use "bind" or "binding" in the name still work but are deprecated and will be removed in future alpha releases. Please update your code:

bind
->
provide


@Component(bindings: ...)
->
@Component(providers: ...)


@Component(viewBindings: ...)
->
@Component(viewProviders: ...)


HTTP_BINDINGS
->
HTTP_PROVIDERS


JSONP_BINDINGS
->
JSONP_PROVIDERS


ROUTER_BINDINGS
->
ROUTER_PROVIDERS


FORM_BINDINGS
->
FORM_PROVIDERS


ELEMENT_PROBE_BINDINGS
->
ELEMENT_PROBE_PROVIDERS


NoBindingError
->
NoProviderError


AbstractBindingError
->
AbstractProviderError


InvalidBindingError
->
InvalidProviderError


beforeEachBindings
->
beforeEachProviders


Binding
->
Provider


2.0.0-alpha.40 (2015-10-09)

Bug Fixes

analyzer: fix dart analyzer errors (14fa007)

core: make .toRx() return Subject (4a36fd8), closes #4521 #4540

core: remove NgZone_ and use NgZone instead (bba0248)

css: when compiling CSS, leave absolute imports alone (04b3dee), closes #4592

dart/transform: Run DeferredRewriter in the correct phase (811d4c0)

dart/transform: Sanitize generated library names (ba6e0e1)

dart/transform: Write correct ng_deps without deferred imports (c94f239), closes #4587

location: improve the 'No base href set' error message (15ab6f6)

render: recurse into components/embedded templates not until all elements in a view have (6d4bd5d), closes #4551#4601

tests: fix tests (8b725c7)

tests: fixes public api spec (d60c7a9)

typings: update test.typings for abstract superclasses (5458036)

web-workers: fix bindings (1100c9b)

XhrBackend: setRequestHeader takes a string arg (6b00b60), closes #4597

Features

core: add syntax sugar to make @View optional (bd31b01)

dart/transform: Track timing of transform tasks (0757265)

router: allow async routes to be defined with "loader" (ee32b1b)

transformers: update transformers to handle components without @View (a2e7ae5)

upgrade: support binding of Ng1 form Ng2 (8e1d2fb), closes #4542

2.0.0-alpha.39 (2015-10-06)

Bug Fixes

core: keep styles for
ViewEncapsulation.Native
isolated per component (0299d4a), closes #4513 #4524

core: set
ViewEncapsulation.Emulated
as the default again (a9aef8e), closes #4494

dart/transformer: Correctly handle const object annotations (decdbea), closes #4481

gulp: use the new karma.Server api (758efba), closes #4375

http: add missing semicolon (150cc22)

karma: socket.io 1.x transport is now called 'polling' instead of 'xhr-polling' (39e9bb6)

add test_lib.d.ts to type definitions in generated package.json (4ebb1a9)

karma-dart-evalcache: make the code compatible with karma 0.13.x (a649992)

npm_publish: update transitive typings provided in npm distribution (2ebc74d)

render: keep bindings of components in content and view in the right order (6fe8b85), closes #4522 #4523

shims: Don't rely on prefixed requestAnimationFrame (9679fc9), closes #4394

tslint: fix d.ts file paths for node_modules dependencies (2628631)

typings: repair broken type-checking for StringMap (208f3d4), closes #4487

typings: repair broken typechecks (6093e28), closes #4507 #4508

Features

upgrade: support binding of Ng2 form Ng1 (09371a3), closes #4458

BREAKING CHANGES

Renderer.registerComponent
now takes an additional argument (0299d4a).

2.0.0-alpha.38 (2015-10-03)

Bug Fixes

annotation_matcher: fix typo with Directive matchers (841aa1a)

api: align dart/js APIs (af2cd4d)

api: remove animation from public API (f7d46e7)

api: remove DomRenderer from public API (105db02), closes #4187

api: remove RecordViewTuple / cleanup NgFor (61b6a47)

api: remove UNDEFINED (6db9f90)

benchpress: fix benchpress overreporting in chrome45 (0653b82), closes #4011 #4101

benchpress: make benchpress fit for chrome 45 (67b9414), closes #3411 #3982

benchpress: update build step, read and config (6ae9686), closes #4419

browser: make Firefox to work with es6-shim (e166f6f)

bug: reflect Dart interfaces from superclass as well (577ee37), closes #4221 #4222

build: add config for outputting the missing test_lib.d.ts file (f6108c5)

build: lazy-require es6-shim in the a1 router to prevent npm/gulp issues (e4f94f0)

build: lock dart dev version (43cca2d)

build: switch to cjs output for es5. (e9ad100), closes #3974

build: temporarily test dart with dart2js instead of pub serve (eb7839e)

build: Use Angular's testability API to wait for end of e2e tests (33593cf), closes #3911

bundles: add explicit format: cjs for empty files. (ef61b81)

change_detection: _throwError should not mask the original exception (cec4b36)

code size: do not rely on Uri in BrowserDomAdapter (9dc1d6a), closes #4182

compiler: const is not supported in IE9 and IE10 (b44c13b), closes #4465

compiler: Implement Token#toString for Operator (3b9c086), closes #4049

compiler: minor cleanups and fixes (0ed6fc4)

compiler: remove attributes when expression in [attr.foo]='exp' evaluates to null (045cc82), closes #4150 #4163

core: Document the new bootstrap APIs. Also rename rootBindings() to platformBindings( (06f8330), closes #4218

core: export bootstrap from core exports for JS (4fd9cc2), closes #4097

dart/transform: Fix transformer output declaration (1f2302e)

dart/transform: Handle export cycles (e7d65ad), closes #4370

debug: make debug tools take ComponentRef (70586b6), closes #4203

DirectiveResolver: Synced with latest changes (86bda28), closes #3928

dist: don't distribute the HTML dart api docs (be6d92c), closes #4115 #4211

dts generation: add support for type aliases (d782616), closes #3952

dts generation: rewrite the d.ts file code generator to fix bugs and apply type remap correctly (ad3b9cf)

exception_handler: fix error messages of wrapped exceptions (f6cc573), closes #4117

exceptions: NoAnnotationError message is not displayed (eaa20f6), closes #4215 #4223

facade: workaround for lack of Symbol.iterator in es6-shim (390aacd), closes #4219 #4216

fake_async: remove unused variable (ddde711)

forms: Also update viewModel in NgFormControl (70f6a46)

forms: avoid issues with nulls checking on validation status and other form states. (7714d6a), closes #4338

forms: Update NgModel's viewModel when model changes (e36966b), closes #3627

http: change http interfaces to types (3d6e3c2), closes #4024

http: throw if url is not string or Request (3525d8a), closes #4245 #4257

ListWrapper: make list slice in dart return empty list if start and end are inverted like JS (bced3aa)

NgClass: ignore empty and blank class names (73351ac), closes #4033 #4173

pipes: add triple ticks around async_pipe code sample (7b3161a), closes #4110

query: clean-up queryref during dehydration (01cdd31), closes #3944 #3948

reflector: merge prop metadata from getters and setters (15164a8), closes #4006

router: do not reuse common children with different parents (77e8304)

router: load route config from async instructions (5e49d7e), closes #4146

router: recognize child components with empty segments (3099449), closes #4178

router: throw when generating non-terminal link (8aec215), closes #3979 #4092

router: use StringWrapper.startsWith (6e0ca7f)

services: export title service (e2f5d87), closes #4271

sfx: Include ngHttp in SFX bundle (283415b), closes #3933

shims: add requestAnimationFrame shim for IE9 and Android (4f56a01), closes #4209

shims: function.name to return empty string when no name (3a7b50f)

test: Android browser does not support element.click() (c83207f)

test: AngularProfiler should check before using modern APIs (abc4ef3)

test: do not set ng.probe when ng is null or undefined (df7f59b)

test: make
evalModule
faster by caching spawned modules in the browser (67c79ba)

test: PostMessageBusSink tests failing in slow browsers (55290b9)

test: StyleCompiler tests failing in Android browsers (d646463)

test: StyleCompiler tests failing in Android browsers (9c97690), closes #4351

test_lib: add missing types (34deda5)

test_lib: reexport fake_async via angular/test (687e7b5)

Typings: Output public constructors in .d.ts files (1926335), closes #3926 #3963

Typings & Test API:

Remove public exports added in 1926335b85af6c1fe56f4e36d0b95dcc92bb5c42 (787d1f9)

closes #4147

BREAKING CHANGE:
RootTestComponent
is no longer
DebugElement
; to get to component instance use
testComp.debugElement.componentInstance


upgrade: assert correct interleaving of evaluation. (a562230), closes #4436

WebWorker: Add zone support to MessageBus (f3da37c), closes #4053

WebWorker: Fix Todo Server demo and add test to ensure the demo can bootstrap. (696edde), closes #3970

Features

angular_1_router: add ngRouteShim module (aed34e1), closes #4266

animate: adds basic support for CSS animations on enter and leave (39ce9d3), closes #3876

animate: cross-browser compatibility (bffa2cb), closes #4243

Binding: improve errors (0319417), closes #4358 #4360

change detection: export SimpleChange (0a88e7b), closes #4337

change_detection: allow triggering CD form ChangeDetectorRef (63e7859), closes #4144

code size: make assertionsEnabled() statically computable by dart2js (241632a), closes #4198

compiler: add change detector generation (12dd44f), closes #4057

compiler: add stylesheet compiler (2384082), closes #3891

compiler: add TemplateCompiler (457b689), closes #4220

compiler: allow to create ChangeDetectors from parsed templates (2fea0c2), closes #3950

compiler: support creating template commands (0246b2a), closes #4142

core: Add a long-form syntax for Angular bootstrapping. (97d1844), closes #3852

core: add sugar to use ContentChildren and ViewChildren as prop decorators (2e9de0b), closes #4237

core: add support for @ContentChild and @ViewChild (c2a60f1), closes #4251

core: add support for @HostBinding and @HostListener (df8e15c), closes #3996

core: add support for @Property and @Event decorators (896add7), closes #3992

core: add support for ContentChildren and ViewChildren (5dbe292)

core: renames Property into Input and Event into Output (adbfd29)

core: Support multiple ChangeDetectors in a single LifeCycle. (4f57990)

core: support properties and events in addition to inputs and outputs to make transiti (c9901c5), closes #4482

CORE_DIRECTIVES: add NgStyle to CORE_DIRECTIVES (5f15363), closes #4096 #4161

dart/transform: Declare transformer outputs (2acc1ad)

dart/transform: Record property metadata (64e8f93), closes #1800 #3267 #4003

di: add support for multi bindings (7736964)

docs: document change detection profiler (4ec4dca)

forms: make NgControl -> NgValueAccessor dependency unidirectional (00a4b2e), closes #4421

http: Add support for strings as http method names (34518f0), closes #4331

ng_for: Add Even and Odd variables to ng_for (a15b679), closes #4181

NgFor: $last property support (be95411), closes #3991

perf: change detection profiler (8dd6c46), closes #4000

pipes: add slice pipe that supports start and end indexes (c2043ec)

pipes: add support for pure pipes (a8bdb69), closes #3966

query: implement query update mechanism based on views. (5ebeaf7), closes #3973

query: make QueryList notify on changes via an observable (3aa2047), closes #4395

query: remove the 3-query-per-element limit (4efc4a5), closes #4336

render: add generic view factory based on the template commands (1cf4575), closes #4367

router: enforce convention of CamelCase names in route aliases (5298eb0), closes #4083

router: introduce new navigate method (d9036c6), closes #4040 #4074

StringWrapper: add support for JS slice method to string (0808eea)

TestComponentBuilder: add #overrideBindings and #overrideViewBindings (f91c087), closes #4052

tests: add helper to eval a module (2a126f7)

transformers: record setters for query fields (589ce31), closes #4344

upgrade: Allow including ng2/1 components in ng1/2 (8427863), closes #3539

BREAKING CHANGES

Query

make QueryList notify on changes via an observable

Before: query.onChange(() => ...);

After: query.changes.subscribe((iterable) => {});

Router

introduce new navigate method

Previously,
router.navigate
took a string representing the URL. Now, it accepts an array that mirrors the link DSL. The old
navigate
method has been renamed to
router.navigateByUrl
. Either change your navigation calls to use the DSL (preferred) or call
router.navigateByUrl
instead.

Before: router.navigate

After: router.navigateUrl

Pipes

add support for pure pipes By default, pipes are pure. This means that an instance of a pipe will be reused and the pipe will be called only when its arguments change.

Before:

@Pipe({name: 'date'}) class DatePipe {} defines an impure pipe.

After:

@Pipe({name: 'date'}) class DatePipe {} defines a pure pipe. @Pipe({name: 'date', pure: false}) class DatePipe {} defines an impure pipe.

Before: @Pipe({name: 'date'}) class DatePipe {} defines an impure pipe.

After: @Pipe({name: 'date'}) class DatePipe {} defines a pure pipe. @Pipe({name: 'date', pure: false}) class DatePipe {} defines an impure pipe.

ViewQuery

Implement query update mechanism based on views.

ViewQuery no longer supports the descendants flag. It queries the whole component view by default.

Instead of working with finer grained element injectors, queries now iterate through the views as static units of modification of the application structure. Views already contain element injectors in the correct depth-first preorder.

This allows us to remove children linked lists on element injectors and a lot of book keeping that is already present at the view level.

Queries are recalculated using the afterContentChecked and afterViewChecked hooks, only during init and after a view container has changed.

Before: @ViewQuery(SomeDirective, {descendants: true})) someDirective

After: @ViewQuery(SomeDirective) someDirective

DI

add support for multi bindings Previously a content binding of a component was visible to the directives in its view with the host constraint. This is not the case any more. To access that binding, remove the constraint.

Core

remove the (^ syntax and make all DOM events bubbling)

Before

<div (^click)="onEventHandler()">
<button></button>
</div>


After

<div (click)="onEventHandler()">
<button></button>
</div>


Properties/Events (Inputs/Outputs)

Rename Property into Input and Event into Output

Before: @Directive({properties: ['one'], events: ['two']})

After: @Directive({inputs: ['one'], outputs: ['two']})

Before: @Component({properties: ['one'], events: ['two']})

After: @Componet({inputs: ['one'], outputs: ['two']})

Before: class A {@Property() one; @Event() two;}

After: class A {@Input() one; @Output() two;}

Compiler

With a new compiler
NgNonBindable
is not a directive but rather a special attribute (
ng-non-bindable
) recognized by the compiler. This means that you can't import / use the
NgNonBindable
as a directive. You should remove all the imports for the the
NgNonBindable
directive and all the references to it in the
directives
section of the
@View
decorator.

2.0.0-alpha.37 (2015-09-09)

Bug Fixes

build: delete unreferenced typings on npm install (42e1b07), closes #1636 #3940

bundle: don't include System.config in dev bundle (a94f051), closes #3826 #3862

ComponentUrlMapper: support relative template URLs in Dartium (7c7888d), closes #2771 #3743

core: Fix type error (6c3c606)

http: change type declarations to interfaces and export EventEmitter (10437ab)

router: re-export of Type (b8be4bf), closes #3632 #3704

RouteRegistry: initialize RouteParams.params (3791c4a), closes #3755

test: error in karma when systemjs imports fail (7820086), closes #3846

typings: emit spread parameters (a34d4c6), closes #3875

WebWorker: Return boolean from
dispatchRenderEvent
(457eb5d)

WebWorker: WebWorkerRenderer removes views after they're destroyed (9619636), closes #3240 #3894

Features

compile: add HtmlParser, TemplateParser, ComponentMetadataLoader (9f576b0), closes #3839

compiler: add full directive metadata and validation logic (f93cd9c), closes #3880

core: added afterContentInit, afterViewInit, and afterViewChecked hooks (d49bc43), closes #3897

core: remove the (^ syntax and make all DOM events bubbling (60ce884), closes #3864

docs: document code size management tools for Dart (6532171)

docs: document unused reflection info tracking (46f751b)

exception_handler: changed ExceptionHandler to use console.error instead of console.log (3bb27de), closes #3812

router: hash-cons ComponentInstructions (e1a7e03)

router: implement Router.isRouteActive (de37729)

router: router-link-active CSS class support (36eb9d3), closes #3209

WebWorker: Expose MessageBroker API (358908e), closes #3942

WebWorkers: Add WebSocket MessageBuses for debugging apps (4ba4427), closes #3858

BREAKING CHANGES

Events

Before

<div (^click)="onEventHandler()">
<button></button>
</div>


After

<div (click)="onEventHandler()">
<button></button>
</div>


Lifecycle

Before (ES5)

var HelloCmp = ng.
Component({
selector: 'hello-cmp',
lifecycle: [LifecycleEvent.onInit]
})
.View({
template: `<h1>hello, there!</h1>`
})
.Class({
onInit: function() {
console.log('hello-cmp init');
}
});


Before (ES6)

import {Component, View, LifecycleEvent} from 'angular2/angular2';

@Component({
selector: 'hello-cmp',
lifecycle: [LifecycleEvent.onInit]
})
@View({
template: `<h1>hello, there!</h1>`
})
class HelloCmp {
onInit() {
console.log('hello-cmp init');
}
}


After (ES5)

var HelloCmp = ng.
Component({
selector: 'hello-cmp'
})
.View({
template: `<h1>hello, there!</h1>`
})
.Class({
onInit: function() {
console.log('hello-cmp init');
}
});


After (ES6)

import {Component, View, OnInit} from 'angular2/angular2';

@Component({
selector: 'hello-cmp'
})
@View({
template: `<h1>hello, there!</h1>`
})
class HelloCmp implements OnInit {
onInit() {
console.log('hello-cmp init');
}
}


2.0.0-alpha.36 (2015-08-31)

Bug Fixes

.d.ts: show unknown fields as ‘any’ not ‘void’. (a0b2408), closes #3637

build: do not run build/pubbuild.dart twice (e72305e), closes #3831

build: error when running
npm test
locally (bf4b75e), closes #3806

build: make e2e tests faster (c2279dd), closes #3822

change_detection: fixed reflect properties as attributes (a9ce454), closes #3761

change_detection: update the right change detector when using ON_PUSH mode (195c5c2)

compiler: detect and report error for views with empty templateUrl (215c4aa), closes #3762 #3768

dart: bad export in core.dart (984e7b8)

examples: Modifies web worker examples to be compatible with systemjs 0.18.10. (675cb87), closes #3630

http: allow using JSONP_INJECTABLES and HTTP_INJECTABLES in same injector (5725f71), closes #3365 #3390

http/http: allow for commonjs as ngHttp (16eb8ce), closes #3633

injector: support getRootInjectors on dehydrated injectors. (92da543), closes #3760

injectors: reset the construction counter in dynamic strategy. (272ad61), closes #3635

tag for browsers that do not suppor them (ddcfd46), closes #3636

karma: corrected race condition with RX loading (8dc509f)

parser: detect and report interpolation in expressions (b039ec3), closes #3645 #3750

router: allow router-link to link to redirects (72e0b8f), closes #3335 #3624

router: subscribe should return subscription (5c95b37), closes #3491 #3695

typings: include static members (894af28), closes #3175 #3780

ViewLoader: provide componentId in missing template / templateUrl errors (3871f89)

wtf: fix NgZone.run instrumentation (5f0a0fd), closes #3788

wtf paramater passing on scope (9afcb00), closes #3726

Features

track unused reflection data (8336881)

browser: support Edge (3b49652), closes #3667

build: added a temporary fix to make test.unit.dart work (85ec34d)

change_detection: added support for observable components and directives (e8e430e)

change_detection: do not reparse AST when using generated detectors (d2d0715)

docs: export type info for var and const exports (9262727), closes #3700

facade: add maximum method for ListWrapper (b5c4d8b)

http: xhr error listener invokes throw on EventEmitter (f2d3bdb), closes #2667

router: add angular 1.x router (fde026a)

router: add reuse support for angular 1.x router (ddb62fe), closes #3698

url_resolver: Allow a developer to customize their package prefix (9cc1cd2), closes #3794

2.0.0-alpha.35 (2015-08-19)

Bug Fixes

benchmarks: remove reference to String.prototype.contains() (b6ee208), closes #3570

browser_adapter.ts: baseElement.getAttribute (235dec2), closes #3214

compiler: strip script tag from templates (748c2d6), closes #2766 #3486

CSSClass: change selector to ng-class (ff1b110), closes #3498

dart: @proxy is a value, not a factory (b4a0629), closes #3494

docs: export bootstrap in core.ts but not in core.dart (5f7d4fa)

docs: ng-non-bindable (f2f4b90), closes #3607

exception_handler: log errors that are thrown by the compiler (07b9be7)

NgClass: take initial classes into account during cleanup (ed25a29), closes #3557

presubmit: uses proper branch instead of hard coded (96e34c1), closes #3552

query: do not visit dehydrated injectors. (6c9e712)

router: fix regression with generating links to async routes (26d2ea8), closes #3650

router: throw when component in route config is not defined (903a0f0), closes #3265 #3569

test_lib: run unit tests in default Documnent (a37de36), closes #3501 #3475

testability: properly throw when no testability available (841206c)

testability: throw if no testability available (08dbe87)

Testability: fix type error in getAllAngularTestability (dart) (574bbea)

transformers: be more specific in the imports to rewrite (86eb46a), closes #3473 #3523

improper use package name in facade (64ebf27), closes #3613

typescript: update to typescript with fixed system emit (ac31191), closes #3594

UrlResolver: encode URLs before resolving (4f5e405), closes #3543 #3545

WebWorkers: Run XHR requests on the UI (2968517), closes #3652

Features

change_detection: added an example demonstrating how to use observable models (52da220), closes #3684

change_detection: added an experimental support for observables (cbfc9cb)

change_detection: request a change detection check when an event happens (5e6317f), closes #3679

compiler: allow binding to className using class alias (a7a1851), closes #2364

coreDirectives: add NgClass to coreDirectives (6bd95c1), closes #3534

dart/transform: Support
part
directives (aa480fe), closes #1817

di: added resolveAndInstantiate and instantiateResolved to Injector (06da60f)

http: serialize search parameters from request options (77d3668), closes #2417 #3020

npm: add typescript block to package.json (b5fb05b), closes #3590 #3609

npm: publish bundles and their typings in npm distribution (7b3cca2), closes #3555

pipe: added the Pipe decorator and the pipe property to View (5b5d31f), closes #3572

pipes: changed PipeTransform to make onDestroy optional (839edaa)

PropertyBindingParser: support onbubble-event as an alternate syntax for (^event) (1f54e64), closes #3448 #3616

query: allow to query for
TemplateRef
(585ea5d), closes #3202

query: view query is properly updated when dom changes. (2150a8f), closes #3033 #3439

query_list: delegate
toString
to
_results
array (35a83b4), closes #3004

refactor: replaced ObservablePipe and PromisePipe with AsyncPipe (106a28b)

router: auxiliary routes (ac6227e), closes #2775

router: user metadata in route configs (ed81cb9), closes #2777 #3541

test: find testabilities across dart js applications (1d65b38), closes #3611

testability: option to disable tree walking (8f5360c)

typings: allow declaration of reference paths (1f692ae), closes #3540

typings: allow defining custom namespace for bundle (dfa5103), closes #2948 #3544

BREAKING CHANGES

rename all constants to UPPER_CASE names

appComponentTypeToken
=>
APP_COMPONENT


coreDirectives
=>
CORE_DIRECTIVES


formDirectives
=>
FORM_DIRECTIVES


formInjectables
=>
FORM_BINDINGS


httpInjectables
=>
HTTP_BINDINGS


jsonpInjectables
=>
JSONP_BINDINGS


PROTO_CHANGE_DETECTOR_KEY
=>
PROTO_CHANGE_DETECTOR


appComponentRefPromiseToken
=>
APP_COMPONENT_REF_PROMISE


appComponentTypeToken
=>
APP_COMPONENT


undefinedValue
=>
UNDEFINED


formDirectives
=>
FORM_DIRECTIVES


DOCUMENT_TOKEN
=>
DOCUMENT


APP_ID_TOKEN
=>
APP_ID


MAX_IN_MEMORY_ELEMENTS_PER_TEMPLATE_TOKEN
=>
MAX_IN_MEMORY_ELEMENTS_PER_TEMPLATE


appBaseHrefToken
=>
APP_BASE_HREF


renamed DI visibility flags

PRIVATE
=>
Visibility.Private


PUBLIC
=>
Visibility.Public


PUBLIC_AND_PRIVATE
=>
Visibility.PublicAndPrivate


renamed all "annotation" references to "metadata"

*Annotations => *Metadata

renderer.DirectiveMetadata => renderer.RendererDirectiveMetadata

renderer.ElementBinder => renderer.RendererElementBinder

impl.Directive => impl.DirectiveMetadata

impl.Component => impl.ComponentMetadata

impl.View => impl.ViewMetadata

IS_DARTIUM
constant is no longer exported/supported

The HTTP package is no longer supported in Dart (use standard library apis instead)

Remove IRequestOptions / IResponseOptions / IQueryList interfaces

Pipe factories have been removed and Pipe names to pipe implementations are 1-to-1 instead of 1-to-*

Before:


class DateFormatter {
transform(date, args){}
}


class DateFormatterFactory { supporst(obj) { return true; } create(cdRef) { return new DateFormatter(); } } new Pipes({date: [new DateFormatterFactory()]})

After:


class DateFormatter {
transform(date, args){}
}
new Pipes({date: DateFormatter})


Previously Angular called onDestroy on all pipes. Now Angular calls onDestroy only on pipes that have the onDestroy method.

Instead of configuring pipes via a Pipes object, now you can configure them by providing the pipes property to the View decorator.

@Pipe({
name: 'double'
})
class DoublePipe {
transform(value, args) { return value * 2; }
}
@View({
template: '{{ 10 | double}}'
pipes: [DoublePipe]
})
class CustomComponent {}


The router was previously exported as ng.router in the angular.sfx.dev.js bundle, but now it is exported as ngRouter.

The selector for the CSSClass directive was changed from [class] to [ng-class]. The directive itself was renamed from CSSClass to NgClass

2.0.0-alpha.34 (2015-08-07)

Bug Fixes

XHRConnection: use xhr status code (96eefdf), closes #2841

bootstrap: fix expressions containing bootstrap (fixes #3309) (2909576), closes #3309

browser_adapter: fix clearNodes() in IE (70bc485), closes #3295 #3355

collection: MapIterator.next() is not supported (Safari) (12e4c73), closes #3015 #3389

compiler: Allow components to use any style of selector. Fixes #1602 (c20a5d6), closes #1602

core: export LifeCycle at top-level modules (4e76cac), closes #3395

dart/transform: Remove malfunctioning zone error handler (68a581a), closes #3368

decorators: stop directives inheriting parent class decorators. (f7d7789), closes #2291

docs: add ViewDefinition, DirectiveMetadata to public API (d4ded1a), closes #3346

remove unused imports (39b0286)

parser: detect empty expression in strings to interpolate (4422819), closes #3412 #3451

query: view query should not be updated when subviews are attached. (34acef5)

render: allow to configure when templates are serialized to strings (dd06a87), closes #3418 #3433

router: ensure navigation via back button works (7bf7ec6), closes #2201

style_url_resolver: fix data: url resolution (73b7d99)

testing: Fixed race condition in WebWorker and Routing tests (eee2146)

Features

WebWorkers: Add WebWorker Todo Example. Add support for more DOM events. (d44827a)

WebWorkers: Add WebWorker Todo Example. Add support for more DOM events. (c5cb700)

implement web-tracing-framework support (77875a2), closes #2610

compiler: introduce schema for elements (d894aa9), closes #3353

core: made directives shadow native element properties (3437d56)

md-button: enhance button focus appearance. (6d280ea)

pipes: replaces iterable and key value diffing pipes with services (392de4a)

enable the decorators compiler option. (0bb78b7)

export a proper promise type. (861be30)

upgrade ts2dart to 0.7.1. (a62a6ba)

router: add
back()
support to
MockLocationStrategy
(60f38ea)

testability: Expose function getAllAngularTestabilities (7b94bbf)

transformers: add more information to factory debug reflection (be79942)

Performance Improvements

change_detection: do not check intermediate results (c1ee943)

change_detection: do not generate onAllChangesDone when not needed (adc2739)

change_detection: removed the currentProto property (71ea199)

BREAKING CHANGES

Directives that previously injected Pipes to get iterableDiff or keyvalueDiff, now should inject IterableDiffers and KeyValueDiffers.


Previously, if an element had a property, Angular would update that property even if there was a directive placed on the same element with the same property. Now, the directive would have to explicitly update the native elmement by either using hostProperties or the renderer.


2.0.0-alpha.33 (2015-07-30)

Bug Fixes

addresses a couple ddc type errors (f1e42920)

.d.ts: Correct new Type interface return type (78fdf9a1, closes #2399, #3316)

build: don't trigger travis on g3sync branch (61b77034)

change_detection: convert interpolated null values to empty strings (345fa521, closes #3007, #3271)

class:

allow class names with mixed case (a8b57256, closes #3001, #3264)

correctly clean up on destroy (1438922f, closes #3249, #3256)

compiler: prevent race conditions (5ec67ee2, closes #3206, #3211)

core: fix type error in setElementProperty (448264be, closes #3279)

element_injector: do not throw when cannot find element when trying to report an error (03c8e742)

presubmit: corrected user/email for git push (e40ff368)

projection:

allow more bound render elements than app elements. (46502e4d, closes #3236, #3247)

allow to project to a non text node (b44b06c2, closes #3230, #3241)

query: the view should not be visible to @Query. (1d450294)

transformer:

Fix generation of
annotations
argument when registering functions. (2faa8985)

Don't throw on annotations that don't match a descriptor. (f575ba60, closes #3280)

Loggers now are per zone and each transform runs in its own zone (bd65b63c)

typings: test our .d.ts with --noImplicitAny (19d8b221)

url_resolver: in Dart make package urls relative to AppRootUrl (469afda5)

Features

benchmark: add static_tree benchmark (854b5b7d, closes #3196)

bootstrap: remove the need for explicit reflection setup in bootstrap code (3531bb71)

build: initial SauceLabs setup (eebd736c, closes #2347)

change_detection:

generate checkNoChanges only in dev mode (71bb4b3e)

provide error context for change detection errors (c2bbda02)

core: provide an error context when an exception happens in an error handler (8543c347)

di: added context to runtime DI errors (5a86f859)

exception_handler:

print originalException and originalStack for all exceptions (e744409c)

change ExceptionHandler to output context (fdf226ab)

http: call complete on request complete (6fac9011, closes #2635)

http.ts: export BrowserXHR (8a91d716, closes #2641)

lang: added "context" to BaseException (8ecb632d)

router: use querystring params for top-level routes (fdffcaba, closes #3017)

testability: hook zone into whenstable api with async support (a8b75c3d)

transformers: directive aliases in Dart transformers (fix #1747) (fd46b49e)

url_resolver: support package: urls () (408618b8, closes #2991)

Breaking Changes

View renderer used to take normalized CSS class names (ex. fooBar for foo-bar). With this change a rendered implementation gets a calss name as specified in a template, without any transformations / normalization. This change only affects custom view renderers that should be updated accordingly.

Closes #3264

(a8b57256)

2.0.0-alpha.32 (2015-07-29)

Bug Fixes

.d.ts: Correct new Type interface return type (78fdf9a), closes #2399 #3316

build: don't trigger travis on g3sync branch (61b7703)

change_detection: convert interpolated null values to empty strings (345fa52), closes #3007 #3271

class: allow class names with mixed case (a8b5725), closes #3001 #3264

class: correctly clean up on destroy (1438922), closes #3249 #3256

compiler: prevent race conditions (5ec67ee), closes #3206 #3211

core: fix type error in setElementProperty (448264b), closes #3279

dart/transform: Handle mixed lifecycle specs (23cd385), closes #3276

element_injector: do not throw when cannot find element when trying to report an error (03c8e74)

lowercase,uppercase: make stateless pipes (4dc6d74), closes #3173 #3189

presubmit: corrected user/email for git push (e40ff36)

projection: allow more bound render elements than app elements. (46502e4), closes #3236 #3247

projection: allow to project to a non text node (b44b06c), closes #3230 #3241

query: the view should not be visible to @Query. (1d45029)

style_url_resolver: fix data: url resolution (73b7d99)

transformer: Don't throw on annotations that don't match a descriptor. (f575ba6), closes #3280

transformer: Fix generation of
annotations
argument when registering functions. (2faa898)

transformer: Loggers now are per zone and each transform runs in its own zone (bd65b63)

typings: test our .d.ts with --noImplicitAny (19d8b22)

url_resolver: in Dart make package urls relative to AppRootUrl (469afda)

addresses a couple ddc type errors (f1e4292)

Features

benchmark: add static_tree benchmark (854b5b7), closes #3196

bootstrap: remove the need for explicit reflection setup in bootstrap code (3531bb7)

build: initial SauceLabs setup (eebd736), closes #2347

change_detection: generate checkNoChanges only in dev mode (71bb4b3)

change_detection: provide error context for change detection errors (c2bbda0)

compiler: introduce schema for elements (d894aa9), closes #3353

core: provide an error context when an exception happens in an error handler (8543c34)

dart/transform: Populate
lifecycle
from lifecycle interfaces (8ad4ad5), closes #3181

di: added context to runtime DI errors (5a86f85)

exception_handler: change ExceptionHandler to output context (fdf226a)

exception_handler: print originalException and originalStack for all exceptions (e744409)

http: call complete on request complete (6fac901), closes #2635

http.ts: export BrowserXHR (8a91d71), closes #2641

lang: added "context" to BaseException (8ecb632)

router: use querystring params for top-level routes (fdffcab), closes #3017

testability: hook zone into whenstable api with async support (a8b75c3)

transformers: directive aliases in Dart transformers (fix #1747) (fd46b49), closes #1747

url_resolver: support package: urls (fixes #2991) (408618b), closes #2991

Reverts

style(ngFor): add whitespace to
Directive
annotation (74b311a)

BREAKING CHANGES

View renderer used to take normalized CSS class names (ex. fooBar for foo-bar). With this change a rendered implementation gets a calss name as specified in a template, without any transformations / normalization. This change only affects custom view renderers that should be updated accordingly.

S: Dart applications and TypeScript applications meant to transpile to Dart must now import
package:angular2/bootstrap.dart
instead of
package:angular2/angular2.dart
in their bootstrap code.
package:angular2/angular2.dart
no longer export the bootstrap function. The transformer rewrites imports of
bootstrap.dart
and calls to
bootstrap
to
bootstrap_static.dart
and
bootstrapStatic
respectively.

2.0.0-alpha.32 (2015-07-21)

Bug Fixes

api_docs: slightly more accurate description of Dart overrideOnEventDone (a4915ad)

api_docs: slightly more accurate description of TS overrideOnEventDone (fe3a559)

build: clang-format (66ec4d1)

change_detect: Handle '$' in change detector strings (f1e8176)

change_detect: Sort
DirectiveMetadata
properties during processing (b2a0be8)

content_projection: allow to project text nodes to a place without bindings (a472eac), closes #3163 #3179

di: do not rely on the fact that types are canonicalized (2147ce4)

di: fixed dynamic component loading of components created in child injector (5749692)

di: fixed types (2f08ed8)

di: instatiate services lazily (7531b48)

element_injector: inject the containing change detector ref to directives (7879761)

examples: add a couple entrypoints, adjust pubspec, fix change detector bug in Dart (b03560b)

facade: use base element to get base href (8296dce)

forms: default the initial value of Control to null (5b597de)

forms: do not reset the value of the input when it came from the view (b123159)

html_adapter: Implement hasAttribute and getAttribute. (e988f59)

ng_for: fixed ng_for to pass a change detector ref to the pipe registry (583c5ff)

publish: add force flag for pub publish script (621604d), closes #3077

renderer: handle empty fragments correctly (61c7357), closes #3100

router: improve error for missing base href (011fab3), closes #3096

router: improve error messages for routes with no config (8bdca5c), closes #2323

router: throw when reserved characters used in route definition (c6409cb), closes #3021

transformers: fix sort order for reflective imports (762a94f)

view_manager: allow to create host views even if there is an embedded view at the same place. (116b64d)

Features

FunctionWithParamTokens.execute now returns the value of the function (3dd05ef)

compiler: attach components and project light dom during compilation. (b1df545), closes #2529

upgrade ts2dart to 0.6.9. (3810e4b)

build: require parameter types (de18da2), closes #2833

change_detection: added support for ObservableList from package:observe (d449ea5)

compiler: Support $baseUrl in HTML attributes when loading a template. (e942709)

core: add ability to reflect DOM properties as attributes (903ff90), closes #2910

facade: add getTypeNameForDebugging function (ccb4163)

forms: Export NgSelectOption directive (f74d97e)

http: add support for JSONP requests (81abc39), closes #2905 #2818

pipes: changed .append to .extend (4c8ea12)

router: add interfaces for route definitions in RouteConfig (4d28167), closes #2261

transformers: expose DI transformer for use by packages (2bc1217), closes #2814

transformers: implement initializing deferred libraries (5cc84ed)

Performance Improvements

dom: Only send values for existing properties to js interior (153660f), closes #3149

BREAKING CHANGES

Pipes.append has been renamed into Pipes.extend.

Pipes.extend prepends pipe factories instead of appending them.

S:

shadow dom emulation no longer supports the
<content>
tag. Use the new
<ng-content>
instead (works with all shadow dom strategies).

removed
DomRenderer.setViewRootNodes
and
AppViewManager.getComponentView
-> use
DomRenderer.getNativeElementSync(elementRef)
and change shadow dom directly

the
Renderer
interface has changed:

createView
now also has to support sub views

the notion of a container has been removed. Instead, the renderer has to implement methods to attach views next to elements or other views.

a RenderView now contains multiple RenderFragments. Fragments are used to move DOM nodes around. Internal changes / design changes:

Introduce notion of view fragments on render side

DomProtoViews and DomViews on render side are merged, AppProtoViews are not merged, AppViews are partially merged (they share arrays with the other merged AppViews but we keep individual AppView instances for now).

DomProtoViews always have a
<template>
element as root

needed for storing subviews

we have less chunks of DOM to clone now

remove fake ElementBinder / Bound element for root text bindings and model them explicitly. This removes a lot of special cases we had!

AppView shares data with nested component views

some methods in AppViewManager (create, hydrate, dehydrate) are iterative now

now possible as we have all child AppViews / ElementRefs already in an array!

2.0.0-alpha.31 (2015-07-14)

Bug Fixes

build: clang-format (df877a7)

build: reduce the deploy upload. (4264bd3)

build: remove the travis deploy step, which is broken. (206c9bd)

compiler: keep
DOM.hasProperty
in sync between browser and transformer. (b3a763a), closes #2984 #2981

css_shim: fixes multiple uses of polyfill-unscoped-rule. (749d043)

di: do not use exceptions to detect if reflection is enabled (a621046)

di: hostInjector and viewInjector support nested arrays (0ed5dd0)

di: removed default visibility (04baa46)

example: add missing todo (1427d73)

package.json: move some deps into dev deps. (546a8f9), closes #2448

router: ensure that page refresh with hash URLs works (c177d88), closes #2920

router: export lifecycle hooks in bundle (97ef1c2)

router: fix broken
HashLocationStrategy
string issue for dart (d6dadc6)

transform: handle multiple interfaces in directive processor (ac50ffc), closes #2941

transformer: Event getters now use property name not event name (cf103de)

transformer: fix 'pub build' in examples (6258929)

tsconfig: target should be lower case (0792f1a), closes #2938

Features

build: Allow building in windows without admin priviledges (f1f5784), closes #2873

forms: changed all form directives to have basic control attributes (3f7ebde)

license: include license files in dev and dev.sfx bundles (1eab4f5)

pipes: add date pipe (b716046), closes #2877

pipes: add number (decimal, percent, currency) pipes (3143d18)

pipes: add static append method to Pipes (1eebcea), closes #2901

upgrade clang-format to v1.0.28. (45994a5)

query: initial implementation of view query. (7ee6963), closes #1935

router: introduce matrix params (5677bf7), closes #2774 #2989

router: lifecycle hooks (a9a552c), closes #2640

test: add test bundle (71c65b4)

zone: add "on event done" zone hook (0e28297)

BREAKING CHANGES

Directives will use the Unbounded visibility by default, whereas before the change they used Self

2.0.0-alpha.30 (2015-07-08)

Bug Fixes

.d.ts: correct ComponentAnnotation inheritance (12a427e), closes #2356

Http: add support for headers (883b506)

angular2.d.ts: show typing for Component, etc (b10d7a2)

change_detection: do not coalesce records with different directive indices (d277442)

change_detection: throw ChangeDetectionError in JIT mode (c2efa23)

compiler: detect and strip data- prefix from bindings (cd65fc2), closes #2687 #2719

di: injecting null causes a cyclic dependency (d1393b0)

handle errors w/o file information. (e69af1a)

forms: Remove cyclic dependency (e5405e4), closes #2856

router: allow generating links with numeric params (d828664)

router: child routers should delegate navigation to the root router (1c94c32)

transformer: Fix string interpolation for bindings. (311b477)

transformer: Put paramater data in the same order as the reflected version. (2b45bd2)

transformer: Support prefixed annotations in the transformer. (9e1158d)

Features

upgrade t2dart to 0.6.8. (d381c5f)

NgStyle: Export NgStyle in angular2/directives (edf5053), closes #2878

router: support deep-linking to siblings (286a249), closes #2807

transformer: Support @Injectable() on static functions (7986e7c)

typings: mark void methods in angular2.d.ts (a56d33d)

2.0.0-alpha.29 (2015-07-01)

Bug Fixes

Router: mark Pipeline and RouteRegistry as Injectable (eea989b), closes #2755

build: Reduce rx typings to what we actually require. (8bab6dd)

build: add missing return types now enforced by linter (4489199)

build: fix paths in
test.typings
task (1c8a589)

bundle: don’t bundle traceur/reflect into benchpress (da4de21)

bundle: don’t bundle traceur/reflect into benchpress - amended change (d629ed7)

change detectors: Fix deduping of protos in transformed dart mode. (73a939e)

compiler: don't trigger duplicated directives (0598226), closes #2756 #2568

export top-level pipe factories as const (393f703)

docs: link to clang-format (f1cf529)

docs: to run js test 'gulp docs' is needed (3e65037), closes #2762

dynamic_component_loader: check whether the dynamically loaded component has already been destroyed (d6cef88), closes #2748 #2767

transformer: Add getters for
events
. (5a21dc5)

transformer: Don't hang on bad urls and log better errors (d037c08)

transformer: Fix annotation_matcher for NgForm directive. (9c76850)

typings: Minor issues preventing angular2.d.ts from working in TS 1.4. (7a4a3c8)

Features

NgStyle: add new NgStyle directive (b50edfd), closes #2665

async: added PromiseWrapper.wrap (b688dee)

benchpress: initial support for firefox (0949a4b), closes #2419

build: add tslint to the build. (bc585f2)

upgrade clang-format and gulp-clang-format. (1f7296c)

di: changed InstantiationError to print the original stack (eb0fd79)

di: removed app injector (f0e962c)

facade: add ListWrapper.toJSON method (2335075)

http: refactor library to work in dart (55bf0e5), closes #2415

lang: added originalException and originalStack to BaseException (56245c6)

pipes: add limitTo pipe (0b50258)

pipes: support arguments in transform function (600d53c)

router: support deep-linking to anywhere in the app (f66ce09), closes #2642

transformers: provide a flag to disable inlining views (dcdd730), closes #2658

Performance Improvements

Compiler: do not resolve bindings for cached ProtoViews (7a7b3a6)

BREAKING CHANGES

THe appInjector property has been removed. Instead use viewInjector or hostInjector.

2.0.0-alpha.28 (2015-06-24)

Bug Fixes

ShadowDomStrategy: always inline import rules (1c4d233), closes #1694

XHRImpl: file:/// and IE9 bugs (cd735c4)

annotations: swap DirectiveArgs & ComponentArgs (dcc4bc2)

benchmarks: add waits for naive scrolling benchmark to ensure loading (d8929c1), closes #1706

benchpress: do not throw on unkown frame timestamp event (ed3af5f), closes #2622

change detection: preserve memoized results from pure functions (5beaf6d)

compiler: make text interpolation more robust (9d4111d), closes #2591

docs: Fix docs for Directive.compileChildren (9700e80)

injectors: sync injector tree with dom element tree. (d800d2f)

parse5: do not try to insert empty text node (0a2f6dd)

render: fix failing tests in dynamic_component_loader.ts (6149ce2)

router: return promise with error handler (bc798b1)

transformer: Throw unimplemented errors in HtmlAdapter. (f9d72bd), closes #2624 #2627

views: remove dynamic component views, free host views, free embedded views (5dee8e2), closes #2472 #2339

Features

CSSClass: add support for string and array expresions (8c993dc), closes #2025

compiler: detect dangling property bindings (d7b9345), closes #2598

element_injector: support multiple injectables with the same token (c899b0a)

host: limits host properties to renames (92ffc46)

mock: add mock module and bundle (2932377), closes #2325

query: added support for querying by var bindings (b0e2ebd)

render: don’t use the reflector for setting properties (0a51ccb), closes #2637

add constructors without type arguments. (35e882e)

remove MapWrapper.clear(). (9413620)

remove MapWrapper.contains(). (dfd3091)

remove MapWrapper.create()/get()/set(). (be7ac9f)

router: add support for hash-based location (a67f231), closes #2555

update clang-format to 1.0.21. (254e58c)

upgrade ts2dart to 0.6.4. (58b38c9)

router: enforce usage of ... syntax for parent to child component routes (2d2ae9b)

transformers: inline styleUrls to view directive (f2ef90b), closes #2566

typings: add typing specs (24646e7)

BREAKING CHANGES

S:

host actions don't take an expression as value any more but only a method name, and assumes to get an array via the EventEmitter with the method arguments.

Renderer.setElementProperty does not take
style.
/... prefixes any more. Use the new methods
Renderer.setElementAttribute
, ... instead Part of #2476

compiler will throw on binding to non-existing properties. Till now it was possible to have a binding to a non-existing property, ex.:
<div [foo]="exp">
. From now on this is compilation error - any property binding needs to have at least one associated property: eaither on an HTML element or on any directive associated with a given element (directives' properites need to be declared using the
properties
field in the
@Directive
/
@Component
annotation).

Compiler.compile
has been removed, the only way to compile components dynamically is via
Compiler.compileInHost


DynamicComponentLoader.loadIntoExistingLocation
has changed:

renamed into
loadIntoLocation


will always create the host element as well

requires an element with a variable inside of the host component view next to which it will load new component.

DynamicComponentLoader.loadNextToExistingLocation
was renamed into
DynamicComponentLoader.loadNextToLocation


DynamicComponentLoader.loadIntoNewLocation
is removed

use
DynamicComponentLoader.loadNextToLocation
instead and then move the view nodes manually around via
DomRenderer.getRootNodes()


AppViewManager.{create,destroy}Free{Host,Embedded}View
was removed

use
AppViewManager.createViewInContainer
and then move the view nodes manually around via
DomRenderer.getRootNodes()


Renderer.detachFreeView
was removed. Use
DomRenderer.getRootNodes()
to get the root nodes of a view and detach them manually.

2.0.0-alpha.27 (2015-06-17)

Bug Fixes

Compiler: fix text nodes after content tags (d599fd3), closes #2095

DirectiveMetadata: add support for events, changeDetection (b4e82b8)

JsonPipe: always transform to json (e77710a)

Parser: Parse pipes in arguments (f974532), closes #1680

ShadowDom: fix emulation integration spec to test all 3 strategies (6e38515), closes #2546

analzyer: removed unused imports (902759e)

benchmarks: Do not apply the angular transformer to e2e tests (cee2682), closes #2454

bootstrap: temporary disable jit change detection because of a bug in handling pure functio (9908def)

broccoli: ensure that inputTrees are stable (928ec1c)

build: Minify files for angular2.min.js bundle (76797df)

build: ensure that asset files are copied over to example directories (60b97b2)

build: only pass ts files to ts2dart transpilation. (b5431e4)

bundle: makes interfaces.ts non-empty when transpiled. (83e99fc)

change detect: Fix bug in JIT change detectors (e0fbd4b)

ci: remove non-existent gulp task from test_e2e_dart (1cf807c), closes #2509

dart/transform: Don't set ReflectionCapabilities over an async gap (d1b35f9)

dartfmt: don't break win32 command line limit (617d693), closes #2420 #1875

diffing-broccoli-plugin: wrapped trees are always stable (7611f92)

docs: Working generated angular2.d.ts (7141c15)

docs: ensure no duplicates in alias names of docs (05d02fa)

docs: order class members in order of declaration (ea27704), closes #2569

docs: update link paths in annotations (dd23bab), closes #2452 #2475

dynamic_component_loader: Fix for ts2dart issue (bbfb4e1)

dynamic_component_loader: implemented dispose for dynamically-loaded components (21dcfc8)

element_injector: changed visibility rules to expose hostInjector of the component to its shadow d (c51aef9)

forms: fixed the handling of the select element (f1541e6)

forms: fixed the selector of NgRequiredValidator (35197ac)

forms: getError does not work without path (a858f6a)

forms: updated form examples to contain select elements (c34cb01)

life_cycle: throw when recursively reentering LifeCycle.tick (af35ab5)

locals: improved an error message (4eb8c9b)

Class factory now adds annotations (bc9e482)

Improve error message on missing dependency (2ccc65d)

add types for ts2dart's façade handling. (f3d7418)

compare strings with StringWrapper.equals (633cf63)

corrected var/# parsing in template (a418397), closes #2084

declare var global. (1346660)

improve type of TreeNode.children. (c3c2ad1)

improve type safety by typing
refs
. (4ae7df2)

include error message in the stack trace (8d081ea)

increase the stack frame size for tests (ab8eb4f)

makes NgModel work in strict mode (eb3586d)

ng_zone: updated zone not to run onTurnDown when invoking run synchronously from onTurnDo (15dab7c)

npm: update scripts and readme for npm packages. (8923103), closes #2377

router: avoid two slash values between the baseHref and the path (cdc7b03)

rename FORWARD_REF to forwardRef in the Angular code base. (c4ecbf0)

router: do not prepend the root URL with a starting slash (e372cc7)

router: ensure that root URL redirect doesn't redirect non-root URLs (73d1525), closes #2221

router: rethrow exceptions (5782f06), closes #2391

selector: select by attribute independent of value and order (9bad70b), closes #2513

shadow_dom: moves the imported nodes into the correct location. (92d5658)

shrinkwrap: restore fsevents dependency (833048f), closes #2511

view: local variables override local variables set by ng-for (d8e2795)

Features

AstTranformer: add support for missing nodes (da60381)

BaseRequestOptions: add merge method to make copies of options (93596df)

Directive: Have a single Directive.host which mimics HTML (f3b4937), closes #2268

ElementInjector: throw if multiple directives define the same host injectable (6a6b43d)

Events: allow a different event vs field name (29c72ab), closes #2272 #2344

FakeAsync: check pending timers at the end of fakeAsync in Dart (53694eb)

Http: add Http class (b68e561), closes #2530

Parser: implement Unparser (331a051), closes #1949 #2395

Parser: support if statements in actions (7d32879), closes #2022

View: add support for styleUrls and styles (ac3e624), closes #2382

benchpress: add mean frame time metric (6834c49), closes #2474

benchpress: more smoothness metrics (35589a6)

broccoli: add diffing MergeTrees plugin (4ee3fda), closes #1815 #2064

broccoli: improve merge-trees plugin and add "overwrite" option (dc8dac7)

build: add
test.unit.dartvm
for a faster roundtrip of dartvm tests (46eeee6)

change detect: Throw on attempts to use dehydrated detector (b6e95bb)

dart/change_detect: Add type to ChangeDetector context (5298055), closes #2070

dart/transform: Add onInit and onCheck hooks in Dart (17c6d6a)

dart/transform: Allow absolute urls in templates (a187c78)

dart/transform: Record Type interfaces (dc6e7eb), closes #2204

dart/transform: Use the best available Change Detectors (8e3bf39), closes #502

diffing-broccoli-plugin: support multiple inputTrees (41ae8e7), closes #1815 #2064

e2e: added e2e tests for forms (552d1ed)

facade: add isMap method (548f3dd)

forms: added hasError and getError methods to all controls (1a4d237)

forms: changed forms to capture submit events and fires synthetic ng-submit events (5fc23ca)

forms: export validator directives as part of formDirectives (73bce40)

forms: set exportAs to form for all form related directives (e7e82cb)

forms.ts: formInjectables with FormBuilder (a6cb86b), closes #2367

adjust formatting for clang-format v1.0.19. (a6e7123)

allow Type.annotations = Component(...).View(...) (b2c6694), closes #2577

support decorator chaining and class creation in ES5 (c3ae34f), closes #2534

update ts2dart to 0.6.1. (9613772)

http: add basic http service (2156810), closes #2028

query: adds support for descendants and more list apis. (355ab5b)

query: notify on changes (5bfcca2)

router: add routing to async components (cd95e07)

router: allow configuring app base href via token (cab1d0e)

transform: update for Directive.host (591f742)

transformers: updated transformers (e5419fe)

view: added support for exportAs, so any directive can be assigned to a variable (69b75b7)

upgrade to clang-format v1.0.19. (1c2abbc)

Performance Improvements

RouterLink: use hostListeners for click (92f1af8), closes #2401

render: don't create property setters if not needed (4f27611)

render: don’t create an intermediate element array in renderer (9cd510a)

render: only create
LightDom
instances if the element has children (ca09701)

render: precompute # bound text nodes and root nodes in
DomProtoView
(24e647e)

BREAKING CHANGES

By default Query only queries direct children.

Before @Directive({ hostListeners: {'event': 'statement'}, hostProperties: {'expression': 'hostProp'}, hostAttributes: {'attr': 'value'}, hostActions: {'action': 'statement'} }) After @Directive({ host: { '(event)': 'statement', '[hostProp]': 'expression' // k & v swapped 'attr': 'value', '@action': 'statement' } })

no longer cache ref
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: