Currently supported versions
- Angular:
19.0.0
- Angular CLI:
19.0.0
Changes in ebook
v19.0.0
2024-11-19
—
—
2024-11-19
—
v19.0.0
2024-11-19
—
—
2024-11-19
—
Send and receive data with Http:
Showcase how to use toSignal
to subscribe.
2024-11-19
—
—
2024-11-19
—
Advanced components and directives:
Use viewChild()
/contentChild()
instead of decorators.
2024-11-19
—
—
2024-11-19
—
Signals: advanced topics:
New chapter about advanced topics with Signals!
2024-11-19
—
—
2024-11-19
—
Signals: advanced topics:
Add a section about the resource
and rxResource
functions introduced in v19.
2024-11-19
—
—
2024-11-19
—
Signals: advanced topics:
Add a section about the experimental linkedSignal
introduced in v19.
2024-11-19
—
—
2024-11-19
—
Performances:
Rewrite the chapter to use signals and solve a lot of problems our of the box!
2024-11-07
—
—
2024-11-07
—
Reactive Programming:
Rewrite and introduce the interoperability with signals.
2024-10-24
—
—
2024-10-24
—
Building components and directives:
Chapter updated to explain input()
and output()
.
2024-10-24
—
—
2024-10-24
—
Reacting to signal changes:
New chapter about computed
and effect
and how to use them.
2024-09-26
—
—
2024-09-26
—
Signals basics:
New chapter to introduce signal basics at the beginning of the ebook!
v18.2.0
2024-08-15
—
—
2024-08-15
—
v18.2.0
v18.1.0
2024-07-10
—
—
2024-07-10
—
v18.1.0
2024-07-08
—
—
2024-07-08
—
The templating syntax:
Add a section about @let
variables, as introduced in Angular v18.1.
2024-06-21
—
—
2024-06-21
—
Building components and directives:
Add a section about afterRender
and afterNextRender
.
2024-05-31
—
—
2024-05-31
—
Performances:
Refresh the performances chapter regarding the control flow syntax, signals, and the experimental zoneless detection
2024-05-23
—
—
2024-05-23
—
Performances:
Mention the --ssr
option of the CLI for Server Side Rendering.
v18.0.0
2024-05-22
—
—
2024-05-22
—
v18.0.0
2024-05-03
—
—
2024-05-03
—
Forms:
Mention the events
observable on FormControl
, introduced in Angular v18.
2024-05-02
—
—
2024-05-02
—
Building components and directives:
Add a section about fallback content for ng-content
, as introduced in Angular v18.
2024-04-27
—
—
2024-04-27
—
Send and receive data with Http:
Mention that HttpClientModule
is deprecated in Angular v18.
2024-04-22
—
—
2024-04-22
—
The templating syntax:
The chapter now introduces @if
/@for
/@switch
from the control flow syntax as the recommended way to write templates.
We kept a section about *ngIf
/*ngFor
/*ngSwitch
as they are not deprecated and can still be used.
All template examples across the ebook now use the control flow syntax.
2024-03-16
—
—
2024-03-16
—
Internationalization:
Add a section about i18n with Transloco and new exercice to go along with it!
v17.3.0
2024-03-14
—
—
2024-03-14
—
v17.3.0
2024-03-08
—
—
2024-03-08
—
Signals:
Add a section about the output()
function introduced in v17.3
2024-02-27
—
—
2024-02-27
—
Advanced observables:
Add a section about using subjects as triggers.
v17.2.0
2024-02-15
—
—
2024-02-15
—
v17.2.0
2024-02-13
—
—
2024-02-13
—
Signals:
Add a section about the model()
function introduced in v17.2
2024-02-12
—
—
2024-02-12
—
Signals:
Add a section about the queries as signals functions (viewChild()
/viewChildren()
/contentChild()
/contentChildren()
) introduced in v17.2
2024-02-01
—
—
2024-02-01
—
Deferred loading with `@defer`:
The defer block fixture default behavior switched to Playthrough
.
v17.1.0
2024-01-18
—
—
2024-01-18
—
v17.1.0
2024-01-17
—
—
2024-01-17
—
Signals:
Add a section about input as signals, as introduced in v17.1
2023-12-23
—
—
2023-12-23
—
Signals:
Mention the new Signals
exercise added to the Pro Pack!
2023-12-23
—
—
2023-12-23
—
Signals:
Add a section about how to handle nullable values in signals.
v17.0.0
2023-11-08
—
—
2023-11-08
—
v17.0.0
2023-11-08
—
—
2023-11-08
—
Styling components and encapsulation:
We now use styleUrl
when possible, as introduced in Angular v17.
2023-10-30
—
—
2023-10-30
—
Deferred loading with `@defer`:
New chapter about deferred loading with @defer
as introduced in Angular v17!
2023-10-12
—
—
2023-10-12
—
Signals:
Remove the mutate
method from examples,a s it has been remove in Angular v17.
2023-10-08
—
—
2023-10-08
—
Control flow syntax:
New chapter about the control flow syntax introduced in Angular v17!
v16.2.0
2023-08-10
—
—
2023-08-10
—
v16.2.0
2023-06-24
—
—
2023-06-24
—
Building components and directives:
Add a section about the transform
option of @Input
, introduced in Angular v16.1.
v16.1.0
2023-06-14
—
—
2023-06-14
—
v16.1.0
v16.0.0
2023-05-17
—
—
2023-05-17
—
v16.0.0
2023-05-17
—
—
2023-05-17
—
Signals:
New chapter about Signals!
2023-05-03
—
—
2023-05-03
—
Building components and directives:
Introduce required inputs, as added in Angular v16
2023-05-03
—
—
2023-05-03
—
Router:
Add a section about withComponentInputBinding
to get router parameters and data as component inputs, as introduced in Angular v16
2023-05-03
—
—
2023-05-03
—
Advanced observables:
Use the takeUntilDestroyed
RxJS operator introduced in Angular v16
v15.2.0
2023-02-23
—
—
2023-02-23
—
v15.2.0
2023-02-23
—
—
2023-02-23
—
Router:
As Angular v15.2 deprecates class-based resolvers and guards, we now use functional resolvers and guards in all examples.
v15.1.0
2023-01-11
—
—
2023-01-11
—
v15.1.0
2023-01-11
—
—
2023-01-11
—
Router:
Remove the section about the CanLoad
guard as it is now deprecated (use CanMatch
instead).
2023-01-11
—
—
2023-01-11
—
Going to production:
Explains how to use ng generate environments
.
2023-01-05
—
—
2023-01-05
—
Dependency Injection:
Use a better example for DI configuration, with a logging service that logs to the console in development and calls an API in production.
2022-12-01
—
—
2022-12-01
—
Dependency Injection:
Add a section about the inject()
function.
2022-11-30
—
—
2022-11-30
—
Standalone components:
Add a section about HTTP with provideHttpClient
and functional interceptors.
v15.0.0
2022-11-16
—
—
2022-11-16
—
v15.0.0
2022-11-16
—
—
2022-11-16
—
Dependency Injection:
Remove the providedIn: NgModule
syntax now that it is deprecated in Angular v15
2022-11-16
—
—
2022-11-16
—
Router:
The router automatically unwraps default module exports in lazy-loading routes in Angular v15
2022-11-16
—
—
2022-11-16
—
Standalone components:
Use the NgFor
alias introduced in Angular v15 for the NgForOf
directive
2022-11-16
—
—
2022-11-16
—
Standalone components:
The router now automatically unwraps default component exports in lazy-loading routes
2022-11-16
—
—
2022-11-16
—
Going to production:
Replace the explanation of enableProdMode
by a section about production mode and mention the ngDevMode
variable.
2022-11-16
—
—
2022-11-16
—
Going to production:
We now explain how to use fileReplacements
as it is no longer included by default in CLI v15.
2022-11-14
—
—
2022-11-14
—
Router:
Showcases an example of a functional resolver
2022-11-14
—
—
2022-11-14
—
Router:
Showcases an example of functional guard
v14.2.0
2022-08-26
—
—
2022-08-26
—
v14.2.0
2022-08-26
—
—
2022-08-26
—
Standalone components:
Mention provideRouter(routes)
2022-08-26
—
—
2022-08-26
—
Performances:
Mention the experimental NgOptimizedImage
directive introduced in v14.2
v14.1.0
2022-07-21
—
—
2022-07-21
—
v14.1.0
2022-07-21
—
—
2022-07-21
—
Router:
Add a section on the new CanMatch
guard introduced in v14.1
v14.0.0
2022-06-03
—
—
2022-06-03
—
v14.0.0
2022-06-03
—
—
2022-06-03
—
Forms:
Add a section about FormArray
and FormRecord
2022-06-03
—
—
2022-06-03
—
Forms:
Add a section about typed forms
2022-06-03
—
—
2022-06-03
—
Forms:
We nows use and explain the new "strictly typed forms API" 🚀
2022-06-03
—
—
2022-06-03
—
Standalone components:
New chapter about standalone APIs!
2022-05-11
—
—
2022-05-11
—
Performances:
Better example of NgZone.runOutsideAngular
usage
v13.3.0
2022-03-16
—
—
2022-03-16
—
v13.3.0
v13.2.0
2022-01-27
—
—
2022-01-27
—
v13.2.0
2022-01-27
—
—
2022-01-27
—
Going to production:
Section about the new extendedDiagnostics
option introduced in v13.2
2021-12-17
—
—
2021-12-17
—
Advanced components and directives:
The advanced components chapter has a new section about ng-template, explaining how to create customizable components using conditional, contextual content projection
2021-12-14
—
—
2021-12-14
—
Forms:
The forms chapter has a new section about control value accessors, explaining how to create custom form controls
v13.1.0
2021-12-10
—
—
2021-12-10
—
v13.1.0
v13.0.0
2021-11-04
—
—
2021-11-04
—
v13.0.0
2021-11-04
—
—
2021-11-04
—
The templating syntax:
Remove the canonical bind-
, on-
, ref-
syntax that has been deprecated in Angular v13
2021-11-04
—
—
2021-11-04
—
Going to production:
Remove the section about differential loading as it has been removed in Angular v13
2021-11-04
—
—
2021-11-04
—
Going to production:
Remove the fullTemplateTypeCheck
explanation, as it is deprecated in Angular v13, and only keep its remplacement strictTemplates
.
v12.2.0
2021-08-05
—
—
2021-08-05
—
v12.2.0
2021-08-05
—
—
2021-08-05
—
Reactive Programming:
RxJS v7.2 allows to import operators directly from rxjs
, so all imports have been simplified.
2021-07-29
—
—
2021-07-29
—
Global:
Add links to our quizzes!
v12.1.0
2021-06-25
—
—
2021-06-25
—
v12.1.0
v12.0.0
2021-05-13
—
—
2021-05-13
—
v12.0.0
2021-05-13
—
—
2021-05-13
—
Global:
All examples now use strict null checks.
2021-05-13
—
—
2021-05-13
—
From zero to something:
The ebook now uses ESLint as its linter.
2021-05-13
—
—
2021-05-13
—
Testing your app:
The e2e tests section now introduces Cypress
2021-05-13
—
—
2021-05-13
—
Send and receive data with Http:
Section about the new HttpContext
introduced in Angular v12.
2021-05-13
—
—
2021-05-13
—
Send and receive data with Http:
The HTTP examples now use the human-readable HttpStatusCode
enum.
2021-05-13
—
—
2021-05-13
—
Going to production:
The CLI uses the production configuration by default for ng build
since v12, and the --prod
flag is deprecated.
v11.2.0
2021-02-12
—
—
2021-02-12
—
v11.2.0
v11.1.0
2021-01-21
—
—
2021-01-21
—
v11.1.0
v11.0.0
2020-11-12
—
—
2020-11-12
—
v11.0.0
2020-11-12
—
—
2020-11-12
—
Internationalization:
ng xi18n
has been renamed ng extract-i18n
in CLI v11
v10.2.0
2020-10-22
—
—
2020-10-22
—
v10.2.0
2020-09-10
—
—
2020-09-10
—
Internationalization:
xi18N
now extracts messages from the $localize
calls in TypeScript code
v10.1.0
2020-09-03
—
—
2020-09-03
—
v10.1.0
2020-09-01
—
—
2020-09-01
—
Testing your app:
async
has been deprecated and renamed waitForAsync
2020-07-01
—
—
2020-07-01
—
Internationalization:
Import the global variants of the locale data. It's simpler, supports all formatting options, and doesn't trigger an optimization bailout warning when building the app with the CLI.
v10.0.0
2020-06-25
—
—
2020-06-25
—
v10.0.0
2020-06-25
—
—
2020-06-25
—
Global:
Bump to ng 10.0.0
2020-06-17
—
—
2020-06-17
—
The wonderful world of Web Components:
Use customElements.define
instead of the deprecated document.registerElement
.
2020-06-05
—
—
2020-06-05
—
Reactive Programming:
Pass an object as argument to the Observable.subscribe()
method when an error or a completion must be handled, instead of 2 or 3 functions, because passing several functions will be deprecated in RxJS 7.
v9.1.0
2020-03-26
—
—
2020-03-26
—
v9.1.0
2020-03-26
—
—
2020-03-26
—
Global:
Bump to ng 9.1.0
2020-03-26
—
—
2020-03-26
—
From zero to something:
Bump to cli 9.1.0
v9.0.0
2020-02-07
—
—
2020-02-07
—
v9.0.0
2020-02-07
—
—
2020-02-07
—
Global:
Bump to ng 9.0.0
2020-02-07
—
—
2020-02-07
—
From zero to something:
Bump to cli 9.0.1
2020-02-07
—
—
2020-02-07
—
Internationalization:
Explains how to configure the default currency code
2020-02-07
—
—
2020-02-07
—
Internationalization:
Introduce @angular/localize
usage in ng 9.0.0
2020-02-07
—
—
2020-02-07
—
Going to production:
Mention the multiple configurations support introduced in CLI v9.0
2020-02-07
—
—
2020-02-07
—
Going to production:
Explain the fullTemplateTypeCheck
and strictTemplates
options
2020-02-06
—
—
2020-02-06
—
Global:
Bump to ng 9.0.0-next.5
2020-02-06
—
—
2020-02-06
—
From zero to something:
Bump to cli 9.0.0-next.3
2020-02-06
—
—
2020-02-06
—
Testing your app:
Use TestBed.inject
instead of the deprecated TestBed.get
in ng 9.0.0
2019-08-30
—
—
2019-08-30
—
From zero to something:
Bump to cli 8.3.2
2019-08-22
—
—
2019-08-22
—
From zero to something:
Bump to cli 8.3.0
2019-08-10
—
—
2019-08-10
—
Diving into TypeScript:
Showcase interface usage for modeling entities
2019-08-10
—
—
2019-08-10
—
Diving into TypeScript:
Improve the enum
section with examples of how to use union types
2019-08-10
—
—
2019-08-10
—
Advanced TypeScript:
Introduce a new chapter about advanced TypeScript patterns, like keyof
, mapped types, type guards, and other things!
2019-08-02
—
—
2019-08-02
—
A gentle introduction to ECMAScript 2015+:
Add a section about tagged template strings.
v8.2.0
2019-08-01
—
—
2019-08-01
—
v8.2.0
2019-08-01
—
—
2019-08-01
—
Global:
Bump to ng 8.2.0
2019-08-01
—
—
2019-08-01
—
From zero to something:
Bump to cli 8.2.0
2019-07-31
—
—
2019-07-31
—
Testing your app:
Use a more strictly typed createSpyObj
syntax.
v8.1.0
2019-07-02
—
—
2019-07-02
—
v8.1.0
2019-07-02
—
—
2019-07-02
—
Global:
Bump to ng 8.1.0
2019-07-02
—
—
2019-07-02
—
From zero to something:
Bump to cli 8.1.0
2019-06-01
—
—
2019-06-01
—
The wonderful world of Web Components:
Mention more recent alternatives to Polymer, remove the dead HTML import spec and mention Angular Elements
v8.0.0
2019-05-29
—
—
2019-05-29
—
v8.0.0
2019-05-29
—
—
2019-05-29
—
Global:
Bump to ng 8.0.0
2019-05-29
—
—
2019-05-29
—
From zero to something:
Bump to cli 8.0.0
2019-05-27
—
—
2019-05-27
—
Advanced components and directives:
Add and explain the static
flag for ViewChild
and ContentChild
introduced by Angular 8.0.0
2019-05-20
—
—
2019-05-20
—
Testing your app:
Showcase the awesome ngx-speculoos
library for cleaner unit tests
2019-05-20
—
—
2019-05-20
—
Router:
Use import
for lazy-loading routes as introduced by ng 8.0.0
2019-05-20
—
—
2019-05-20
—
Angular compiler:
Update the AoT explanation and generated code for Angular 8.0.0 (Ivy)
2019-05-20
—
—
2019-05-20
—
Going to production:
Differential loading using browserslist
as introduced by the cli 8.0.0
.
2019-05-19
—
—
2019-05-19
—
A gentle introduction to ECMAScript 2015+:
How to use async/await
with promises
2019-05-19
—
—
2019-05-19
—
Forms:
Showcase the awesome ngx-valdemort
library for better validation error messages
2019-02-28
—
—
2019-02-28
—
From zero to something:
Bump cli to 7.3.0
v7.2.0
2019-01-09
—
—
2019-01-09
—
v7.2.0
2019-01-09
—
—
2019-01-09
—
From zero to something:
Bump to cli 7.2.0
2019-01-07
—
—
2019-01-07
—
Global:
Bump to ng 7.2.0
2019-01-07
—
—
2019-01-07
—
From zero to something:
Bump to cli 7.2.0-rc.0
2019-01-07
—
—
2019-01-07
—
From zero to something:
Bump to cli 7.2.0-beta.2
2019-01-03
—
—
2019-01-03
—
Global:
Bump to ng 7.2.0-rc.0
2018-12-14
—
—
2018-12-14
—
Global:
Bump to ng 7.2.0-beta.2
v7.1.0
2018-11-27
—
—
2018-11-27
—
v7.1.0
2018-11-27
—
—
2018-11-27
—
From zero to something:
Bump to cli 7.1.0
2018-11-22
—
—
2018-11-22
—
Global:
Bump to ng 7.1.0
2018-11-22
—
—
2018-11-22
—
Router:
Use UrlTree
in CanActivate
guard, as introduced by 7.1
2018-11-20
—
—
2018-11-20
—
Global:
Bump to ng 7.1.0-rc.0
2018-11-05
—
—
2018-11-05
—
Global:
Bump to ng 7.0.2
2018-11-05
—
—
2018-11-05
—
From zero to something:
Bump to cli 7.0.4
v7.0.0
2018-10-25
—
—
2018-10-25
—
v7.0.0
2018-10-25
—
—
2018-10-25
—
Going to production:
Adds a new chapter about Going to production!
2018-10-24
—
—
2018-10-24
—
From zero to something:
Bump to cli 7.0.2
2018-10-18
—
—
2018-10-18
—
Global:
Bump to ng 7.0.0
2018-10-18
—
—
2018-10-18
—
Global:
Bump to ng 7.0.0-rc.1
2018-10-18
—
—
2018-10-18
—
Global:
Bump to ng 7.0.0-rc.0
2018-10-18
—
—
2018-10-18
—
Global:
Bump to ng 7.0.0-beta.6
2018-10-18
—
—
2018-10-18
—
Global:
Bump to ng 7.0.0-beta.4
2018-10-18
—
—
2018-10-18
—
Global:
Bump to ng 7.0.0-beta.0
2018-10-18
—
—
2018-10-18
—
From zero to something:
Bump to cli 7.0.1
2018-09-07
—
—
2018-09-07
—
From zero to something:
Bump to cli 6.2.1
2018-09-07
—
—
2018-09-07
—
From zero to something:
Bump to cli 6.2.0-rc.0
2018-08-30
—
—
2018-08-30
—
Performances:
Adds a performances chapter!
v6.1.0
2018-07-26
—
—
2018-07-26
—
v6.1.0
2018-07-26
—
—
2018-07-26
—
Global:
Bump to ng 6.1.0
2018-07-26
—
—
2018-07-26
—
Global:
Bump to ng 6.1.0-rx.0
2018-07-26
—
—
2018-07-26
—
Global:
Bump to ng 6.1.0-beta.1
2018-07-26
—
—
2018-07-26
—
From zero to something:
Bump to cli 6.1.0
2018-07-26
—
—
2018-07-26
—
Pipes:
Add the keyvalue
pipe introduced in Angular 6.1
2018-07-26
—
—
2018-07-26
—
Styling components and encapsulation:
New ShadowDom
encapsulation option with Shadow DOM v1 support (the old and soon deprecated Native
option uses Shadow DOM v0)
2018-07-26
—
—
2018-07-26
—
Router:
Adds the Scroll
event and scrollPositionRestoration
option introduced in 6.1
2018-07-20
—
—
2018-07-20
—
Advanced observables:
Use shareReplay
instead of publishReplay
and refCount
2018-07-06
—
—
2018-07-06
—
Global:
Bump to ng 6.0.7
2018-07-06
—
—
2018-07-06
—
From zero to something:
Bump to cli 6.0.8
2018-07-06
—
—
2018-07-06
—
Send and receive data with Http:
HTTP tests now use verify
every time
2018-06-15
—
—
2018-06-15
—
Pipes:
Show usage of formatting functions available since Angular 6.0
2018-05-30
—
—
2018-05-30
—
From zero to something:
Bump cli to 6.0.7
2018-05-09
—
—
2018-05-09
—
Internationalization:
Update for CLI 6.0 and use a dedicated configuration
v6.0.0
2018-05-04
—
—
2018-05-04
—
v6.0.0
2018-05-04
—
—
2018-05-04
—
Global:
Bump to ng 6.0.0
2018-05-04
—
—
2018-05-04
—
From zero to something:
Bump to cli 6.0.0
2018-04-15
—
—
2018-04-15
—
Dependency Injection:
Use providedIn
to register services, as recommended for Angular 6.0
2018-04-15
—
—
2018-04-15
—
Services:
Use providedIn
to register the service, as recommended for Angular 6.0
2018-04-15
—
—
2018-04-15
—
Testing your app:
Simplify service unit tests now that they use providedIn
from ng 6.0
2018-04-13
—
—
2018-04-13
—
Global:
Bump to ng 6.0.0-rc.4
2018-04-05
—
—
2018-04-05
—
Global:
Bump to ng 6.0.0-rc0
2018-04-05
—
—
2018-04-05
—
Global:
Bump to ng 6.0.0-beta.7
2018-04-05
—
—
2018-04-05
—
Global:
Bump to ng 6.0.0-beta.6
2018-04-05
—
—
2018-04-05
—
Global:
Bump to ng 6.0.0-beta.1
2018-04-05
—
—
2018-04-05
—
Advanced components and directives:
Angular 6.0+ allows to type ElementRef
2018-04-05
—
—
2018-04-05
—
Advanced observables:
We now use the imports introduced in RxJS 6.0 (import { Observable, of } from 'rxjs'
)
2018-03-19
—
—
2018-03-19
—
From zero to something:
The chapter now uses Angular CLI from the start!
2018-03-19
—
—
2018-03-19
—
Dependency Injection:
Updates the dependency injection via token section with a better example
2018-01-28
—
—
2018-01-28
—
Reactive Programming:
We now use the pipeable operators introduced in RxJS 5.5
2018-01-28
—
—
2018-01-28
—
Advanced observables:
We now use the pipeable operators introduced with RxJS 5.5
2018-01-19
—
—
2018-01-19
—
The wonderful world of Web Components:
Replace customelements.io by webcomponents.org
v5.2.0
2018-01-10
—
—
2018-01-10
—
v5.2.0
2018-01-10
—
—
2018-01-10
—
Global:
Bump to ng 5.2.0
2017-12-13
—
—
2017-12-13
—
Building components and directives:
Better lifecycle explanation
2017-12-13
—
—
2017-12-13
—
Forms:
Reintroduce the min
and max
validators from version 4.2.0, even if they are not available as directives.
2017-12-08
—
—
2017-12-08
—
Send and receive data with Http:
Remove remaining mentions to the deprecated HttpModule
and Http
2017-12-07
—
—
2017-12-07
—
Global:
Bump to ng 5.1.0
v5.0.0
2017-11-02
—
—
2017-11-02
—
v5.0.0
2017-11-02
—
—
2017-11-02
—
Global:
Bump to ng 5.0.0
2017-11-02
—
—
2017-11-02
—
Global:
Bump to ng 5.0.0-rc.5
2017-11-02
—
—
2017-11-02
—
Global:
Bump to ng 5.0.0-rc.3
2017-11-02
—
—
2017-11-02
—
Global:
Bump to ng 5.0.0-rc.2
2017-11-02
—
—
2017-11-02
—
Global:
Bump to ng 5.0.0-rc.0
2017-11-02
—
—
2017-11-02
—
Global:
Bump to ng 5.0.0-beta.6
2017-11-02
—
—
2017-11-02
—
Global:
Bump to ng 5.0.0-beta.5
2017-11-02
—
—
2017-11-02
—
Global:
Bump to ng 5.0.0-beta.4
2017-11-02
—
—
2017-11-02
—
Global:
Bump to ng 5.0.0-beta.1
2017-11-02
—
—
2017-11-02
—
Pipes:
Use the new i18n pipes introduced in ng 5.0.0
2017-11-02
—
—
2017-11-02
—
Forms:
Add a section on the updateOn: 'blur'
option for controls and groups introduced in 5.0
2017-11-02
—
—
2017-11-02
—
Send and receive data with Http:
Use object literals for headers and params for the new http client, introduced in 5.0.0
2017-11-02
—
—
2017-11-02
—
Router:
Adds ng 5.0 ChildActivationStart
/ChildActivationEnd
to the router events
2017-11-02
—
—
2017-11-02
—
Internationalization:
Remove deprecated i18n comment with ng 5.0.0
2017-11-02
—
—
2017-11-02
—
Internationalization:
Show how to load the locale data as required in ng 5.0.0 and uses the new i18n pipes
2017-11-02
—
—
2017-11-02
—
Internationalization:
Placeholders now displays the interpolation in translation files to help translators
2017-09-16
—
—
2017-09-16
—
Global:
Bump to ng 4.4.1
2017-09-01
—
—
2017-09-01
—
Forms:
Remove the section about combining template-based and code-based approaches
v4.3.0
2017-07-16
—
—
2017-07-16
—
v4.3.0
2017-07-16
—
—
2017-07-16
—
Global:
Bump to ng 4.3.0
2017-07-16
—
—
2017-07-16
—
Send and receive data with Http:
Updates the chapter to use the new HttpClientModule
introduced in ng 4.3.0.
2017-07-16
—
—
2017-07-16
—
Router:
List the new router events introduced in 4.3.0
2017-06-29
—
—
2017-06-29
—
Advanced components and directives:
Add a section about HostBinding
2017-06-29
—
—
2017-06-29
—
Advanced components and directives:
Add a section about HostListener
2017-06-29
—
—
2017-06-29
—
Advanced components and directives:
New chapter on advanced components, with ViewChild
, ContentChild
and ng-content
!
2017-06-17
—
—
2017-06-17
—
Global:
Bump to ng 4.2.3
2017-06-17
—
—
2017-06-17
—
Forms:
Remove min/max validators mention, as they have been removed temporarily in ng 4.2.3
v4.2.0
2017-06-09
—
—
2017-06-09
—
v4.2.0
2017-06-09
—
—
2017-06-09
—
Global:
Bump to ng 4.2.0
2017-06-09
—
—
2017-06-09
—
Forms:
Introduce the min
and max
validators from version 4.2.0
2017-05-02
—
—
2017-05-02
—
Angular compiler:
Adds a chapter about the Angular compiler and the differences between JiT and AoT.
2017-04-28
—
—
2017-04-28
—
Global:
Bump to ng 4.1.0
2017-04-28
—
—
2017-04-28
—
Router:
New chapter on advanced router usage: protected routes with guards, nested routes, resolvers and lazy-loading!
v4.0.0
2017-03-24
—
—
2017-03-24
—
v4.0.0
2017-03-24
—
—
2017-03-24
—
Global:
🎉 Bump to stable release 4.0.0
🎉
2017-03-23
—
—
2017-03-23
—
Global:
Bump to 4.0.0-rc.6
2017-03-23
—
—
2017-03-23
—
Global:
Bump to 4.0.0-rc.5
2017-03-23
—
—
2017-03-23
—
Global:
Bump to 4.0.0-rc.4
2017-03-23
—
—
2017-03-23
—
Global:
Bump to 4.0.0-rc.3
2017-03-23
—
—
2017-03-23
—
Global:
Bump to 4.0.0-rc.1
2017-03-23
—
—
2017-03-23
—
Global:
Bump to 4.0.0-beta.8
2017-03-23
—
—
2017-03-23
—
Global:
Bump to ng 4.0.0-beta.7
and TS 2.1+ is now required
2017-03-23
—
—
2017-03-23
—
Global:
Bump to 4.0.0-beta.5
2017-03-23
—
—
2017-03-23
—
Global:
Bump to 4.0.0-beta.0
2017-03-23
—
—
2017-03-23
—
The templating syntax:
Use as
, introduced in 4.0.0, instead of let
for variables in templates
2017-03-23
—
—
2017-03-23
—
The templating syntax:
The template
tag is now deprecated in favor of ng-template
in 4.0
2017-03-23
—
—
2017-03-23
—
The templating syntax:
Introduces the else syntax from version 4.0.0
2017-03-23
—
—
2017-03-23
—
Pipes:
Introduce the as
syntax to store a NgIf
or NgFor
result, which can be useful with some pipes like slice
or async
.
2017-03-23
—
—
2017-03-23
—
Pipes:
Adds titlecase
pipe introduced in 4.0.0
2017-03-23
—
—
2017-03-23
—
Services:
New Meta
service in 4.0.0 to get/set meta tags
2017-03-23
—
—
2017-03-23
—
Testing your app:
overrideTemplate
has been added in 4.0.0
2017-03-23
—
—
2017-03-23
—
Forms:
Introduce the email
validator from version 4.0.0
2017-03-23
—
—
2017-03-23
—
Send and receive data with Http:
Use params
instead of the deprecated search
in 4.0.0
2017-03-23
—
—
2017-03-23
—
Router:
Use paramMap
introduced in 4.0 instead of params
2017-03-23
—
—
2017-03-23
—
Advanced observables:
Shows the as
syntax introduced in 4.0.0 as an alternative for the mulitple async pipe subscriptions problem
2017-03-23
—
—
2017-03-23
—
Internationalization:
Add a new chapter on internationalization (i18n)
2017-03-22
—
—
2017-03-22
—
Global:
Each chapter now has a link to the corresponding exercise of our
Pro Pack
Chapters are slightly re-ordered to match the exercises order.
2017-02-17
—
—
2017-02-17
—
Dependency Injection:
Fix the Babel 6 config for dependency injection without TypeScript
v2.4.4
2017-01-25
—
—
2017-01-25
—
v2.4.4
2017-01-25
—
—
2017-01-25
—
Global:
Bump to 2.4.4
2017-01-13
—
—
2017-01-13
—
Global:
The big rename: "Angular 2" is now known as "Angular"
2017-01-09
—
—
2017-01-09
—
Forms:
Fix the NgModel
explanation
2016-12-21
—
—
2016-12-21
—
Global:
Bump to 2.4.0
2016-12-01
—
—
2016-12-01
—
Forms:
Validators.compose()
is no longer necessary, we can apply several validators by just passing an array.
v2.2.0
2016-11-18
—
—
2016-11-18
—
v2.2.0
2016-11-18
—
—
2016-11-18
—
Global:
Bump to 2.2.0
2016-11-18
—
—
2016-11-18
—
Forms:
Add an async validator example
2016-11-18
—
—
2016-11-18
—
Forms:
Remove the useless (2.2+) .control
in templates like username.control.hasError('required')
.
2016-11-18
—
—
2016-11-18
—
Router:
routerLinkActive
can be exported (2.2+).
2016-11-03
—
—
2016-11-03
—
Advanced observables:
New chapter on Advanced Observables!
2016-10-17
—
—
2016-10-17
—
Global:
Bump to 2.1.0
2016-10-17
—
—
2016-10-17
—
Global:
Remove typings and use npm install @types/...
2016-10-07
—
—
2016-10-07
—
Router:
We don't need to unsubscribe from the router params in the ngOnDestroy
method.
2016-10-01
—
—
2016-10-01
—
Global:
Use const
instead of let
and TypeScript type inference whenever possible
2016-09-30
—
—
2016-09-30
—
Testing your app:
Use TestBed.get
instead of inject
in tests
2016-09-24
—
—
2016-09-24
—
Global:
Bump to 2.0.1
v2.0.0
2016-09-15
—
—
2016-09-15
—
v2.0.0
2016-09-15
—
—
2016-09-15
—
Global:
🎉 Bump to stable release 2.0.0
🎉
2016-09-14
—
—
2016-09-14
—
Global:
Bump to rc.7
2016-09-05
—
—
2016-09-05
—
Global:
Bump to rc.6
2016-09-05
—
—
2016-09-05
—
From zero to something:
Update the SystemJS config for rc.6
and bump the RxJS version
2016-09-05
—
—
2016-09-05
—
Pipes:
Remove the section about the replace pipe, removed in rc.6
v2.0.0-rc.5
2016-08-25
—
—
2016-08-25
—
v2.0.0-rc.5
2016-08-23
—
—
2016-08-23
—
Global:
Bump to rc.5
2016-08-22
—
—
2016-08-22
—
Forms:
Forms now use the new form API (FormsModule and ReactiveFormsModule).
2016-08-21
—
—
2016-08-21
—
Services:
Add the service to the module's providers
2016-08-21
—
—
2016-08-21
—
Send and receive data with Http:
Add the HttpModule import
2016-08-21
—
—
2016-08-21
—
Router:
Introduce RouterModule
2016-08-15
—
—
2016-08-15
—
Dependency Injection:
Introduce modules and their role in DI.
Changed the example to use a custom service instead of Http.
2016-08-15
—
—
2016-08-15
—
Testing your app:
Tests now use the TestBed API instead of the deprecated TestComponentBuilder one.
2016-08-12
—
—
2016-08-12
—
From zero to something:
Small introduction to NgModule when you start your app from scratch
2016-07-25
—
—
2016-07-25
—
Changelog:
Mention free updates and web page for obtaining latest version
2016-07-08
—
—
2016-07-08
—
Global:
Bump to rc.4
2016-07-08
—
—
2016-07-08
—
Testing your app:
Angular 2 does not provide Jasmine wrappers and custom matchers for unit tests in rc.4
anymore
2016-07-08
—
—
2016-07-08
—
Router:
Update the router to the API v3!
2016-06-28
—
—
2016-06-28
—
Global:
Bump to rc.3
2016-06-16
—
—
2016-06-16
—
Global:
Bump to rc.2
2016-06-16
—
—
2016-06-16
—
The templating syntax:
Replace the deprecated ngSwitchWhen
with ngSwitchCase
2016-06-16
—
—
2016-06-16
—
Pipes:
Date pipe is now fixed in rc.2
, no more problem with Intl API
2016-06-16
—
—
2016-06-16
—
Forms:
Warn about forms module being rewritten (and deprecated)
2016-06-16
—
—
2016-06-16
—
Send and receive data with Http:
http.post()
now autodetects the body type, removing the need of using JSON.stringify
and setting the ContentType
2016-06-16
—
—
2016-06-16
—
Router:
Warn about router module being rewritten (and deprecated)
2016-06-09
—
—
2016-06-09
—
Dependency Injection:
Remove deprecated provide()
method and use {provide: ...}
instead
2016-06-08
—
—
2016-06-08
—
Global:
Bump to rc.1
2016-06-08
—
—
2016-06-08
—
Global:
Code examples now follow the official style guide
2016-06-08
—
—
2016-06-08
—
Styling components and encapsulation:
New chapter on styling components and the different encapsulation strategies!
v2.0.0-rc.0
2016-05-06
—
—
2016-05-06
—
v2.0.0-rc.0
2016-05-06
—
—
2016-05-06
—
Router:
Introduce the new router (previous one is deprecated), and how to use parameters in URLs!
2016-05-03
—
—
2016-05-03
—
Global:
Bump to rc.0
. All packages have changed!
2016-05-03
—
—
2016-05-03
—
Global:
Bump to beta.17
2016-05-03
—
—
2016-05-03
—
Testing your app:
injectAsync
is now deprecated and replaced by async
2016-05-03
—
—
2016-05-03
—
Zones and the Angular magic:
New chapter! Let's talk about how Angular 2 works under the hood!
First part is about how AngularJS 1.x used to work,
and then we'll see how Angular 2 differs,
and uses a new concept called zones.
2016-04-16
—
—
2016-04-16
—
Global:
Bump to beta.15
2016-04-16
—
—
2016-04-16
—
The templating syntax:
*ngFor
now also exports a first
variable
2016-04-16
—
—
2016-04-16
—
Pipes:
A replace
pipe has been introduced
2016-04-16
—
—
2016-04-16
—
Forms:
A pattern validator has been introduced to make sure that the input matches a regexp
2016-04-11
—
—
2016-04-11
—
Global:
Bump to beta.14
2016-03-19
—
—
2016-03-19
—
Global:
Bump to beta.11
2016-03-11
—
—
2016-03-11
—
Global:
Bump to beta.9
2016-03-10
—
—
2016-03-10
—
Global:
Bump to beta.8
2016-03-04
—
—
2016-03-04
—
Global:
Bump to beta.7
2016-03-04
—
—
2016-03-04
—
Global:
Display the Angular 2 version used in the intro and in the chapter "Zero to something".
2016-03-04
—
—
2016-03-04
—
Global:
Bump to beta.6
(beta.4
and beta.5
were broken)
2016-03-04
—
—
2016-03-04
—
Global:
Bump to beta.3
2016-03-04
—
—
2016-03-04
—
Global:
Bump to beta.2
2016-03-04
—
—
2016-03-04
—
Diving into TypeScript:
Use typings
instead of tsd
.
2016-03-04
—
—
2016-03-04
—
Dependency Injection:
Better explanation of hierarchical injectors
2016-03-04
—
—
2016-03-04
—
Reactive Programming:
Observables are not scheduled for ES7 anymore
2016-03-04
—
—
2016-03-04
—
Building components and directives:
Explain how to remove the compilation warning when using @Input
and a setter at the same time
2016-03-04
—
—
2016-03-04
—
Building components and directives:
Add an explanation on isFirstChange
for ngOnChanges
2016-03-04
—
—
2016-03-04
—
Testing your app:
Add an example on how to test an event emitter
2016-03-04
—
—
2016-03-04
—
Forms:
Add a mnemonic tip to rememeber the [()]
syntax: the banana box!
2016-03-04
—
—
2016-03-04
—
Forms:
Examples use module.id
to have a relative templateUrl
2016-03-04
—
—
2016-03-04
—
Forms:
Fix error ng-no-form
-> ngNoForm
2016-03-04
—
—
2016-03-04
—
Forms:
Fix errors (ngModel)
-> (ngModelChange)
, is-old-enough
-> isOldEnough
2016-03-04
—
—
2016-03-04
—
Send and receive data with Http:
Use JSON.stringify
before sending data with a POST
2016-03-04
—
—
2016-03-04
—
Send and receive data with Http:
Add a mention to JSONP_PROVIDERS
2016-03-04
—
—
2016-03-04
—
Router:
RouterOutlet
inserts the template of the component just after itself and not inside itself
v2.0.0-alpha.47
2016-01-15
—
—
2016-01-15
—
v2.0.0-alpha.47
2016-01-15
—
—
2016-01-15
—
Global:
First public release of the ebook!
You can download the latest version (these updates are free to any buyer!).
Back to ebook details.