5.2.11

Latest release in branch 5.0
Released 7 years ago (May 16, 2018)

Software Angular
Branch 5.0
Status
End of life
End of bug fixes May 01, 2018
End of security fixes May 01, 2019
First official release version 5.0.0
First official release date 8 years ago (November 01, 2017)
Release notes https://github.com/angular/angular/blob/main/CHANGELOG_ARCHIVE.md#500-pentagonal-donut-2017-11-01
Source code https://github.com/angular/angular/tree/5.2.11
Documentation https://angular.io/docs
Angular 5.0 Releases View full list

What Is New in Angular 5.0

Angular 5.0, codenamed "Pentagonal-Donut," introduces significant optimizations for application speed and size, along with developer experience improvements to make the transition smoother.

Category Key Changes
Build Optimizer Enabled by default for production builds, removing unnecessary code.
Compiler Improvements Enhanced decorator support, stricter type checking, and reduced bundle size.
Forms & HTTP New updateOn blur option for forms and HttpClient as the default.
Pipes New number, date, and currency pipes using the CLDR, improving internationalization.
Deprecations HttpModule and the old pipes are deprecated in favor of new APIs.

How did Angular 5 improve build size and speed?

The core improvement is the Build Optimizer, which is now on by default for production builds. It performs advanced tree-shaking to eliminate unused code and remove Angular decorators from your application's runtime, resulting in significantly smaller bundles.

In practice, this means your users download less JavaScript, leading to faster load times. The compiler itself was also updated to generate more efficient code during the Ahead-of-Time (AOT) compilation process, which further contributes to performance gains.

What changed with forms and HTTP in Angular 5?

Angular 5 promotes the HttpClient from @angular/common/http to the default library for making API calls. It includes built-in JSON parsing and better type safety than the old Http module, which is now deprecated.

For forms, a major feature is the updateOn option. You can now specify that a form control should update its value and validate only on blur or submit events instead of every input event, which can drastically improve performance for large forms.

// Using updateOn with a FormControl
const name = new FormControl('', {
  updateOn: 'blur',
  validators: Validators.required
});

Why were the number, date, and currency pipes replaced?

The old pipes were replaced to achieve proper internationalization (i18n) compliance. The new pipes use the Unicode Common Locale Data Repository (CLDR) standard, which provides more accurate and consistent formatting across different languages and regions.

This matters because applications with a global audience will now display numbers, dates, and currencies correctly according to locale-specific rules. The old pipes were moved to @angular/common but are deprecated and should be replaced with the new implementations.

Were there any changes to how Angular compiles code?

Yes, the compiler became more strict and efficient. It now performs more rigorous type checking within templates, helping you catch errors earlier in the development process. This is a step towards making Angular templates fully type-checkable.

The compiler also generates less code for AOT compilations and supports lambda expressions in metadata, which allows for cleaner code when providing configuration.

// Lambda expressions are now supported in metadata
@NgModule({
  providers: [
    { provide: SERVER, useFactory: () => new Server() }
  ]
})

FAQ

Is the Build Optimizer something I need to configure?
No, it's enabled by default for production builds when you use the Angular CLI. You can see its effect by comparing the output bundle sizes of ng build versus ng build --prod.

I was using the old Http module. Do I need to change my code immediately?
The old HttpModule is deprecated but still available. You should plan to migrate to HttpClientModule as it offers a simpler API, interceptors, and better testability.

What happens if I don't replace the deprecated date/number pipes?
Your application will continue to work, but you will see deprecation warnings. The old pipes do not use the CLDR standard, so for proper i18n support, migrating to the new pipes is strongly recommended.

How does the updateOn option help with form performance?
By changing the update trigger from 'input' to 'blur', you reduce the number of times change detection and validation logic runs. This is a quick win for improving responsiveness in forms with many inputs.

Does Angular 5 require me to use TypeScript 2.4?
Yes, Angular 5 now requires TypeScript 2.4 as a minimum version. This allows the framework to leverage newer TypeScript features for better type checking and compiler performance.

Releases In Branch 5.0

Version Release date
5.2.11 7 years ago
(May 16, 2018)
5.2.10 8 years ago
(April 16, 2018)
5.2.9 8 years ago
(March 14, 2018)
5.2.8 8 years ago
(March 07, 2018)
5.2.7 8 years ago
(February 28, 2018)
5.2.6 8 years ago
(February 22, 2018)
5.2.5 8 years ago
(February 14, 2018)
5.2.4 8 years ago
(February 07, 2018)
5.2.3 8 years ago
(January 31, 2018)
5.2.2 8 years ago
(January 25, 2018)
5.2.1 8 years ago
(January 17, 2018)
5.2.0 8 years ago
(January 10, 2018)
5.1.3 8 years ago
(January 04, 2018)
5.2.0-rc.0 8 years ago
(January 04, 2018)
5.1.2 8 years ago
(December 20, 2017)
5.2.0-beta.1 8 years ago
(December 20, 2017)
5.1.1 8 years ago
(December 13, 2017)
5.2.0-beta.0 8 years ago
(December 13, 2017)
5.1.0 8 years ago
(December 06, 2017)
5.0.4 8 years ago
(December 01, 2017)
5.1.0-rc.0 8 years ago
(December 01, 2017)
5.0.5 8 years ago
(December 01, 2017)
5.1.0-rc.1 8 years ago
(December 01, 2017)
5.0.3 8 years ago
(November 22, 2017)
5.1.0-beta.2 8 years ago
(November 22, 2017)
5.0.2 8 years ago
(November 16, 2017)
5.1.0-beta.1 8 years ago
(November 16, 2017)
5.0.1 8 years ago
(November 08, 2017)
5.1.0-beta.0 8 years ago
(November 08, 2017)
5.0.0 8 years ago
(November 01, 2017)
5.0.0-rc.9 8 years ago
(October 31, 2017)
5.0.0-rc.8 8 years ago
(October 28, 2017)
5.0.0-rc.7 8 years ago
(October 27, 2017)
5.0.0-rc.6 8 years ago
(October 25, 2017)
5.0.0-rc.4 8 years ago
(October 24, 2017)
5.0.0-rc.5 8 years ago
(October 24, 2017)
5.0.0-rc.3 8 years ago
(October 19, 2017)
5.0.0-rc.2 8 years ago
(October 12, 2017)
5.0.0-rc.1 8 years ago
(October 06, 2017)
5.0.0-rc.0 8 years ago
(September 28, 2017)
5.0.0-beta.7 8 years ago
(September 13, 2017)
5.0.0-beta.6 8 years ago
(September 02, 2017)
5.0.0-beta.5 8 years ago
(August 28, 2017)
5.0.0-beta.4 8 years ago
(August 16, 2017)
5.0.0-beta.3 8 years ago
(August 09, 2017)
5.0.0-beta.2 8 years ago
(August 02, 2017)
5.0.0-beta.1 8 years ago
(July 27, 2017)
5.0.0-beta.0 8 years ago
(July 19, 2017)