From 2191f44025bc07f02bb94dac3f4266c74b26d705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mi=C5=A1ko=20Hevery?= Date: Wed, 18 Jan 2017 18:50:55 -0600 Subject: [PATCH] docs(changelog): add changelog for 4.0.0-beta.4 --- CHANGELOG.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bd383ba238..e21eed40b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,57 @@ + +# [4.0.0-beta.4](https://github.com/angular/angular/compare/4.0.0-beta.3...4.0.0-beta.4) (2017-01-19) + + +### Bug Fixes + +* **animations:** fix internal jscompiler issue and AOT quoting ([#13798](https://github.com/angular/angular/issues/13798)) ([c2aa981](https://github.com/angular/angular/commit/c2aa981)) +* **common:** support numeric value as discrete cases for NgPlural ([#13876](https://github.com/angular/angular/issues/13876)) ([f364557](https://github.com/angular/angular/commit/f364557)) +* **http:** don't create a blob out of ArrayBuffer when type is application/octet-stream ([#13992](https://github.com/angular/angular/issues/13992)) ([1200cf2](https://github.com/angular/angular/commit/1200cf2)), closes [#13973](https://github.com/angular/angular/issues/13973) +* **router:** enable loadChildren with function in aot ([#13909](https://github.com/angular/angular/issues/13909)) ([635bf02](https://github.com/angular/angular/commit/635bf02)), closes [#11075](https://github.com/angular/angular/issues/11075) +* **router:** routerLinkActive should not throw when not initialized ([#13273](https://github.com/angular/angular/issues/13273)) ([e8ea741](https://github.com/angular/angular/commit/e8ea741)), closes [#13270](https://github.com/angular/angular/issues/13270) +* **security:** allow calc and gradient functions. ([#13943](https://github.com/angular/angular/issues/13943)) ([e19bf70](https://github.com/angular/angular/commit/e19bf70)) +* **upgrade:** detect async downgrade component changes ([#13812](https://github.com/angular/angular/issues/13812)) ([d6382bf](https://github.com/angular/angular/commit/d6382bf)), closes [#6385](https://github.com/angular/angular/issues/6385) [#6385](https://github.com/angular/angular/issues/6385) [#10660](https://github.com/angular/angular/issues/10660) [#12318](https://github.com/angular/angular/issues/12318) [#12034](https://github.com/angular/angular/issues/12034) + + +### Features + +* **build:** optionally build an ES2015 distro ([#13471](https://github.com/angular/angular/issues/13471)) ([be6c95a](https://github.com/angular/angular/commit/be6c95a)) +* **core:** Add type information to injector.get() ([#13785](https://github.com/angular/angular/issues/13785)) ([d169c24](https://github.com/angular/angular/commit/d169c24)) + + +### BREAKING CHANGES + +* core: - Because `injector.get()` is now parameterize it is possible that code + which used to work no longer type checks. Example would be if one + injects `Foo` but configures it as `{provide: Foo, useClass: MockFoo}`. + The injection instance will be that of `MockFoo` but the type will be + `Foo` instead of `any` as in the past. This means that it was possible + to call a method on `MockFoo` in the past which now will fail type + check. See this example: + +``` +class Foo {} +class MockFoo extends Foo { + setupMock(); +} + +var PROVIDERS = [ + {provide: Foo, useClass: MockFoo} +]; + +... + +function myTest(injector: Injector) { + var foo = injector.get(Foo); + // This line used to work since `foo` used to be `any` before this + // change, it will now be `Foo`, and `Foo` does not have `setUpMock()`. + // The fix is to downcast: `injector.get(Foo) as MockFoo`. + foo.setUpMock(); +} +``` + + + ## [2.4.4](https://github.com/angular/angular/compare/2.4.3...2.4.4) (2017-01-19)