2017-05-26 15:28:06 -04:00
# Change Log
2017-03-27 11:08:53 -04:00
2017-03-31 19:57:13 -04:00
2017-02-22 13:09:39 -05:00
The Angular documentation is a living document with continuous improvements.
This log calls attention to recent significant changes.
2017-03-27 11:08:53 -04:00
## Updated to Angular 4.0. Documentation for Angular 2.x can be found at [v2.angular.io](https://v2.angular.io).
2017-04-30 16:10:32 -04:00
## All mention of moduleId removed. "Component relative paths" guide deleted (2017-03-13)
2017-03-27 11:08:53 -04:00
We added a new SystemJS plugin (systemjs-angular-loader.js) to our recommended SystemJS configuration.
This plugin dynamically converts "component-relative" paths in templateUrl and styleUrls to "absolute paths" for you.
We strongly encourage you to only write component-relative paths.
That is the only form of URL discussed in these docs. You no longer need to write @Component ({ moduleId: module.id }), nor should you.
2017-03-06 05:43:33 -05:00
## NEW: Downloadable examples for each guide (2017-02-28)
Now you can download the sample code for any guide and run it locally.
Look for the new download links next to the "live example" links.
2017-02-22 13:09:39 -05:00
## Template Syntax/Structural Directives: refreshed (2017-02-06)
2017-03-11 10:36:40 -05:00
The [_Template-Syntax_ ](guide/template-syntax ) and [_Structural Directives_ ](guide/structural-directives )
2017-02-22 13:09:39 -05:00
guides were significantly revised for clarity, accuracy, and current recommended practices.
Discusses `<ng-container>` .
Revised samples are more clear and cover all topics discussed.
## NEW: Samples re-structured with `src/` folder (2017-02-02)
2017-03-11 08:44:25 -05:00
All documentation samples have been realigned with the default folder structure of the Angular CLI.
That's a step along the road to basing the sample in the Angular CLI.
2017-07-16 06:32:22 -04:00
But it's also good in its own right.
2017-02-22 13:09:39 -05:00
It helps clearly separate app code from setup and configuration files.
2017-03-11 08:44:25 -05:00
All samples now have a `src/` folder at the project root.
2017-07-16 06:32:22 -04:00
The former `app/` folder moves under `src/` .
Read about moving your existing project to this structure in
2017-04-24 14:23:45 -04:00
< a href = "https://github.com/angular/quickstart#updating-to-a-newer-version-of-the-quickstart-repo" target = "Migrating samples/quickstart app to the src folder" >
2017-02-22 13:09:39 -05:00
the QuickStart repo update instructions< / a > .
Notably:
2017-03-31 19:57:13 -04:00
2017-02-22 13:09:39 -05:00
* `app/main.ts` moved to `src/main.ts` .
* `app/` moved to `src/app/` .
* `index.html` , `styles.css` and `tsconfig.json` moved inside `src/` .
* `systemjs.config.js` now imports `main.js` instead of `app` .
* Added `lite-server` configuration (`bs-config.json`) to serve `src/` .
## NEW: Reactive Forms guide (2017-01-31)
2017-03-11 10:36:40 -05:00
The new [**Reactive Forms** ](guide/reactive-forms ) guide explains how and why to build a "reactive form".
2017-02-22 13:09:39 -05:00
"Reactive Forms" are the code-based counterpart to the declarative "Template Driven" forms approach
2017-03-11 10:36:40 -05:00
introduced in the [Forms ](guide/forms ) guide.
2017-07-16 06:32:22 -04:00
Check it out before you decide how to add forms to your app.
Remember also that you can use both techniques in the same app,
2017-02-22 13:09:39 -05:00
choosing the approach that best fits each scenario.
## NEW: Deployment guide (2017-01-30)
2017-03-31 19:57:13 -04:00
2017-03-11 10:36:40 -05:00
The new [Deployment ](guide/deployment ) guide describes techniques for putting your application on a server.
2017-02-22 13:09:39 -05:00
It includes important advice on optimizing for production.
## Hierarchical Dependency Injection: refreshed (2017-01-13)
2017-03-31 19:57:13 -04:00
2017-03-11 10:36:40 -05:00
[Hierarchical Dependency Injection ](guide/hierarchical-dependency-injection ) guide is significantly revised.
2017-03-11 08:44:25 -05:00
Closes issue #3086 .
Revised samples are clearer and cover all topics discussed.
2017-02-22 13:09:39 -05:00
## Miscellaneous (2017-01-05)
2017-03-31 19:57:13 -04:00
2017-07-16 06:32:22 -04:00
* [Setup ](guide/setup ) guide:
added (optional) instructions on how to remove _non-essential_ files.
2017-02-22 13:09:39 -05:00
* No longer consolidate RxJS operator imports in `rxjs-extensions` file; each file should import what it needs.
2017-03-11 08:44:25 -05:00
* All samples prepend template/style URLs with `./` as a best practice.
2017-04-21 20:21:45 -04:00
* [Style Guide ](guide/styleguide ): copy edits and revised rules.
2017-02-22 13:09:39 -05:00
## Router: more detail (2016-12-21)
2017-03-31 19:57:13 -04:00
2017-07-16 06:32:22 -04:00
Added more information to the [Router ](guide/router ) guide
2017-02-22 13:09:39 -05:00
including sections named outlets, wildcard routes, and preload strategies.
2017-03-11 08:44:25 -05:00
## HTTP: how to set default request headers (and other request options) (2016-12-14)
2017-03-31 19:57:13 -04:00
2017-07-16 06:32:22 -04:00
Added section on how to set default request headers (and other request options) to
HTTP guide.
2017-02-22 13:09:39 -05:00
## Testing: added component test plunkers (2016-12-02)
2017-03-31 19:57:13 -04:00
2018-01-22 15:48:11 -05:00
Added two plunkers that each test _one simple component_ so you can write a component test plunker of your own: < live-example name = "setup" stackblitz = "quickstart-specs" > one</ live-example > for the QuickStart seed's `AppComponent` and < live-example name = "testing" stackblitz = "banner-specs" > another</ live-example > for the Testing guide's `BannerComponent` .
2017-03-31 19:57:13 -04:00
Linked to these plunkers in [Testing ](guide/testing#live-examples ) and [Setup anatomy ](guide/setup-systemjs-anatomy ) guides.
2017-02-22 13:09:39 -05:00
## Internationalization: pluralization and _select_ (2016-11-30)
2017-03-31 19:57:13 -04:00
2017-04-30 16:10:32 -04:00
The [Internationalization (i18n) ](guide/i18n ) guide explains how to handle pluralization and
2017-02-22 13:09:39 -05:00
translation of alternative texts with `select` .
The sample demonstrates these features too.
## Testing: karma file updates (2016-11-30)
2017-03-31 19:57:13 -04:00
2017-03-11 08:44:25 -05:00
* `karma.config` + `karma-test-shim` can handle multiple spec source paths;
see quickstart issue: [angular/quickstart#294 ](https://github.com/angular/quickstart/issues/294 ).
* Displays Jasmine Runner output in the karma-launched browser.
2017-02-22 13:09:39 -05:00
## QuickStart Rewrite (2016-11-18)
2017-03-31 19:57:13 -04:00
2017-02-22 13:09:39 -05:00
The QuickStart is completely rewritten so that it actually is quick.
It references a minimal "Hello Angular" app running in Plunker.
2017-03-11 10:36:40 -05:00
The new [Setup ](guide/setup ) page tells you how to install a local development environment
2017-02-22 13:09:39 -05:00
by downloading (or cloning) the QuickStart github repository.
You are no longer asked to copy-and-paste code into setup files that were not explained anyway.
## Sync with Angular v.2.2.0 (2016-11-14)
2017-03-31 19:57:13 -04:00
2017-03-11 08:44:25 -05:00
Docs and code samples updated and tested with Angular v.2.2.0.
2017-02-22 13:09:39 -05:00
## UPDATE: NgUpgrade Guide for the AOT friendly _upgrade/static_ module (2016-11-14)
2017-03-31 19:57:13 -04:00
2017-07-16 06:32:22 -04:00
The updated [NgUpgrade Guide ](guide/upgrade ) guide covers the
new AOT friendly `upgrade/static` module
2017-02-22 13:09:39 -05:00
released in v.2.2.0, which is the recommended
facility for migrating from AngularJS to Angular.
The documentation for the version prior to v.2.2.0 has been removed.
## ES6 described in "TypeScript to JavaScript" (2016-11-14)
2017-03-31 19:57:13 -04:00
2018-01-24 18:50:41 -05:00
The updated TypeScript to JavaScript guide (removed August 2017, PR #18694 )
explains how to write apps in ES6/7
2017-02-22 13:09:39 -05:00
by translating the common idioms in the TypeScript documentation examples
(and elsewhere on the web) to ES6/7 and ES5.
## Sync with Angular v.2.1.1 (2016-10-21)
2017-03-31 19:57:13 -04:00
2017-03-11 08:44:25 -05:00
Docs and code samples updated and tested with Angular v.2.1.1.
2017-02-22 13:09:39 -05:00
## npm _@types_ packages replace _typings_ (2016-10-20)
2017-03-31 19:57:13 -04:00
2017-02-22 13:09:39 -05:00
Documentation samples now get TypeScript type information for 3rd party libraries
from npm `@types` packages rather than with the _typings_ tooling.
The `typings.json` file is gone.
2017-03-11 10:36:40 -05:00
The [AngularJS Upgrade ](guide/upgrade ) guide reflects this change.
2017-02-22 13:09:39 -05:00
The `package.json` installs `@types/angular` and several `@types/angular-...`
packages in support of upgrade; these are not needed for pure Angular development.
## "Template Syntax" explains two-way data binding syntax (2016-10-20)
2017-03-31 19:57:13 -04:00
2017-02-22 13:09:39 -05:00
Demonstrates how to two-way data bind to a custom Angular component and
re-explains `[(ngModel)]` in terms of the basic `[()]` syntax.
## BREAKING CHANGE: `in-memory-web-api` (v.0.1.11) delivered as esm umd (2016-10-19)
2017-03-31 19:57:13 -04:00
2017-02-22 13:09:39 -05:00
This change supports ES6 developers and aligns better with typical Angular libraries.
It does not affect the module's API but it does affect how you load and import it.
2017-04-24 14:23:45 -04:00
See the < a href = "https://github.com/angular/in-memory-web-api/blob/master/CHANGELOG.md#0113-2016-10-20" > change note< / a >
2017-02-22 13:09:39 -05:00
in the `in-memory-web-api` repo.
## "Router" _preload_ syntax and _:enter_/_:leave_ animations (2016-10-19)
2017-03-31 19:57:13 -04:00
2017-02-22 13:09:39 -05:00
The router can lazily _preload_ modules _after_ the app starts and
_before_ the user navigates to them for improved perceived performance.
2017-07-16 06:32:22 -04:00
New `:enter` and `:leave` aliases make animation more natural.
2017-02-22 13:09:39 -05:00
## Sync with Angular v.2.1.0 (2016-10-12)
2017-03-31 19:57:13 -04:00
2017-03-11 08:44:25 -05:00
Docs and code samples updated and tested with Angular v.2.1.0.
2017-02-22 13:09:39 -05:00
2017-04-30 16:10:32 -04:00
## NEW "Ahead of time (AOT) Compilation" guide (2016-10-11)
2017-03-31 19:57:13 -04:00
2017-04-30 16:10:32 -04:00
The NEW [Ahead of time (AOT) Compilation ](guide/aot-compiler ) guide
2017-02-22 13:09:39 -05:00
explains what AOT compilation is and why you'd want it.
It demonstrates the basics with a QuickStart app
followed by the more advanced considerations of compiling and bundling the Tour of Heroes.
## Sync with Angular v.2.0.2 (2016-10-6)
2017-03-31 19:57:13 -04:00
2017-03-11 08:44:25 -05:00
Docs and code samples updated and tested with Angular v.2.0.2.
2017-02-22 13:09:39 -05:00
## "Routing and Navigation" guide with the _Router Module_ (2016-10-5)
2017-03-31 19:57:13 -04:00
2017-03-11 10:36:40 -05:00
The [Routing and Navigation ](guide/router ) guide now locates route configuration
2017-07-16 06:32:22 -04:00
in a _Routing Module_ .
2017-02-22 13:09:39 -05:00
The _Routing Module_ replaces the previous _routing object_ involving the `ModuleWithProviders` .
All guided samples with routing use the _Routing Module_ and prose content has been updated,
2017-07-16 06:32:22 -04:00
most conspicuously in the
2017-07-04 10:58:20 -04:00
[NgModule ](guide/ngmodules ) guide and [NgModule FAQ ](guide/ngmodule-faq ) guide.
2017-02-22 13:09:39 -05:00
2017-04-30 16:10:32 -04:00
## New "Internationalization" guide (2016-09-30)
2017-02-22 13:09:39 -05:00
2017-04-30 16:10:32 -04:00
Added a new [Internationalization (i18n) ](guide/i18n ) guide that shows how
2017-02-22 13:09:39 -05:00
to use Angular "i18n" facilities to translate template text into multiple languages.
## "angular-in-memory-web-api" package rename (2016-09-27)
Many samples use the `angular-in-memory-web-api` to simulate a remote server.
This library is also useful to you during early development before you have a server to talk to.
The package name was changed from "angular2-in-memory-web-api" which is still frozen-in-time on npm.
2017-07-16 06:32:22 -04:00
The new "angular-in-memory-web-api" has new features.
2017-04-24 14:23:45 -04:00
< a href = "https://github.com/angular/in-memory-web-api/blob/master/README.md" > Read about them on github< / a > .
2017-02-22 13:09:39 -05:00
## "Style Guide" with _NgModules_ (2016-09-27)
2017-07-11 18:05:20 -04:00
[StyleGuide ](guide/styleguide ) explains recommended conventions for NgModules.
2017-02-22 13:09:39 -05:00
Barrels now are far less useful and have been removed from the style guide;
they remain valuable but are not a matter of Angular style.
2017-03-11 08:44:25 -05:00
Also relaxed the rule that discouraged use of the `@Component.host` property.
2017-02-22 13:09:39 -05:00
## _moduleId: module.id_ everywhere (2016-09-25)
Sample components that get their templates or styles with `templateUrl` or `styleUrls`
have been converted to _module-relative_ URLs.
2017-03-11 08:44:25 -05:00
Added the `moduleId: module.id` property-and-value to their `@Component` metadata.
2017-02-22 13:09:39 -05:00
This change is a requirement for compilation with AOT compiler when the app loads
modules with SystemJS as the samples currently do.
## "Lifecycle Hooks" guide simplified (2016-09-24)
2017-07-16 06:32:22 -04:00
The [Lifecycle Hooks ](guide/lifecycle-hooks ) guide is shorter, simpler, and
2017-04-19 12:28:12 -04:00
draws more attention to the order in which Angular calls the hooks.