Angular 2.0.0-rc.0 – First release candidate

angular2 logo

Huge milestone today from Angular2 team. First release candidate announced a couple of hours ago via twitter. This probably means that things move faster that we think in development process. Many new Router features included and the way we install Angular2 via npm changed a little bit. Have a look below for the change log.

This is the first release candidate that contains repackaging of Angular into individual packages one per each feature area.

All of the packages are now distributed under the @angular npm scope. This changes how Angular is installed via npm and how you import the code.

To install Angular for a browser application please use:

To import various symbols please adjust the paths in the following way:

  • angular2/core -> @angular/core
  • angular2/compiler -> @angular/compiler
  • angular2/common -> @angular/common
  • angular2/platform/browser -> @angular/platform-browser (applications with precompiled templates) +@angular/platform-browser-dynamic (applications that compile templates on the fly)
  • angular2/platform/server -> @angular/platform-server
  • angular2/testing -> @angular/core/testing (it/describe/..) + @angular/compiler/testing (TestComponentBuilder) +@angular/platform-browser/testing
  • angular2/upgrade -> @angular/upgrade
  • angular2/http -> @angular/http
  • angular2/router -> @angular/router-deprecated (snapshot of the component router from beta.17 for backwards compatibility)
  • new package: @angular/router – component router with several breaking changes

Features

  • core: introduce template context (cacdead), closes #8321
  • core: support the decorator data that tsickle produces (b6fd811)
  • di: support map literals as providers (46cd868)
  • offline compiler: a replacement for tsc that compiles templates (78946fe)
  • offline compiler: add metadata emit (072446a)
  • router: add CanDeactivate (deba804)
  • router: add link that support only absolute urls (fa5bfe4)
  • router: add Router and RouterOutlet to support aux routes (6e1fed4)
  • router: add RouterLink (de56dd5)
  • router: add RouterUrlSerializer (79830f1)
  • router: add RouteTree and UrlTree as aliases to Tree and Tree (277b1fc)
  • router: add support for wildcards (8836219)
  • router: adds an example app using the new router (602641d)
  • router: change location when navigating (560cc14)
  • router: implement relative navigation (e5b87e5)
  • router: implements support for router-link-active (ec4ca0e)
  • router: listen to location changes (62a0809), closes #8362
  • router: set router-link-active when RouterLink is active (4fe0f1f), closes #8376
  • router: update recognize to handle matrix parameters (446657b)
  • router: update recognize to support aux routes (d35c109)
  • router: update url parser to handle aux routes (fad3b64)
  • testing: Use NgZone in TestComponentBuilder. (769835e), closes #8301
  • tests: add ROUTER_FAKE_PROVIDERS to angular2/alt_router/router_testing_providers (0f1b370)

Bug Fixes

  • metadata: Preserve Provider expressions (7c0d497)
  • codegen: event handler has boolean return type (ca40ef5)
  • compiler: fix cross view references and providers with useValue. (f114d6c), closes #8366
  • compiler: project using the right directive as component. (0f774df), closes #8344
  • compiler: support css stylesheets in offline compiler (00d3b60)
  • compiler: support empty array and map literals. (11955f9), closes #8336
  • compiler_cli: make sure the generated code gets compiled via tic (163d80a)
  • core: check components if an event handler inside of an embedded view fires. (4d691b6), closes #8242
  • core: return the ChangeDetectorRef of the component also for embedded views. (351f24e)
  • metadata: expose Providers in metadata (8bf6ef6)
  • perf: don’t use try/catch in production mode (b1a9e44), closes #8338
  • router: canDeactivate should not change the url when returns false (76d6f5f), closes #8360
  • router: create a route tree when creating the router service (ca13f1c), closes #8365
  • typescript: strip abstract keyword from properties in .d.ts (a84c2d7), closes #8339

OTHER BREAKING CHANGES

    • ViewRef.changeDetectorRef was removed as using ChangeDetectorRefs for EmbeddedViewRefs does not make sense. Use ComponentRef.changeDetectorRef or inject ChangeDetectorRef instead.
    • Before, a EmbeddedViewRef used to have methods for setting variables. Now, a user has to pass in a context object that represents all variables when an EmbeddedViewRef should be created.
  • ViewContainerRef.createEmbeddedViewRef now takes a context object as 2nd argument.
  • EmbeddedViewRef.setLocal and getLocal have been removed. Use EmbeddedViewRef.context to access the context.
  • DebugNode.locals has been removed. Use the new methods DebugElement.references to get the references that are present on this element, or DebugElement.context to get the context of the EmbeddedViewRef or the component to which the element belongs.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.