Yes, it is true — Angular v7 is here and the wait is finally over!
And we should be extra enthusiastic about this one since it’s a major release that implements changes, new features, and improvements throughout the entire platform, including the core framework, Angular Material, and the CLI.
Let’s take a quick look at some of the highlights.
CLI prompts
The CLI will now prompt users when running common commands like ng new
or ng add @angular/material
to help you discover built-in features like routing or SCSS support.
Application performance
After the Angular team discovered that many developers were including the reflect-metadata
polyfill in production, which is only needed in development, decided that in order to fix this, part of the update to v7 will automatically remove it from your polyfills.ts
file, and then include it as a build step when building your application in JIT mode, removing this polyfill from production builds by default.
Angular material & the CDK
Material Design has received a big update in 2018. Angular Material users updating to v7 should expect minor visual differences reflecting the updates to the Material Design specification.
Improved accessibility of selects
You can now improve the accessibility of your application by using a native select
element inside of a mat-form-field
. The native select has some performance, accessibility, and usability advantages, but we’re keeping mat-select
which gives full control of the presentation of options.
Angular Elements
Angular Elements now supports content projection using web standards for custom elements.
Partner Launches
Angular partners with several community projects that have launched recently. Namely:
- Angular Console — A downloadable console for starting and running Angular projects on your local machine
- @angular/fire — AngularFire has a new home on npm, and has its first stable release for Angular
- NativeScript — It’s now possible to have a single project that builds for both web and installed mobile with NativeScript
- StackBlitz — StackBlitz 2.0 has been released and now includes the Angular Language Service, and more features like tabbed editing
Documentation updates
The documentation on angular.io now includes reference material for the Angular CLI.
Dependency Updates
The 7.0.0 release features updated dependencies on major 3rd party projects:
- TypeScript 3.1
- RxJS 6.3
- Node 10 — support for Node 10 added, and support for 8 continues.
Wait, still no Ivy?
According to the official blog post, Ivy is still under active development and is not part of the v7 release. “We are beginning to validate the backwards compatibility with existing applications and will announce an opt-in preview of Ivy as soon as it is ready in the coming months.”
For the full list of highlights and insights, head over to Stephen Fluin’s blog post and check out the GitHub repo for the extensive changelog.
Update October 11, 2018
There’s not a lot to say about rc.1 except that there aren’t any bug fixes or features. The only thing mentioned in the second release candidate is that “this version includes Ivy features and internal refactorings. There are no user-facing changes.”
We’re getting closer to the finish line!
Update October 1, 2018
The beta season is officially over. Now that the release candidate phase has begun, we’re one step closer to the grand revealing. Angular v7 should be released this month.
The first RC brings one feature.
Features
Update September 27, 2018
The beta tap is wide open! No.7 is here and there are still some features the Angular team is working on.
Case in point: this beta brings two bug fixes and two features.
Features
- compiler-cli: add support to extend
angularCompilerOptions
(#22717) (d7e5bbf), closes #22684 - platform-server: update domino to v2.1.0 (#25564) (3fb0da2)
Update September 20, 2018
This beta has been a long time coming. The previous beta was released in early September but we can now see why; the seventh beta has lots to offer, including 10 bug fixes and six features.
One can see that both Ivy and Bazel are on the right track. See for yourself:
Features
- bazel: add additional parameters to
ts_api_guardian_test
def (#25694) (2a21ca0) - ivy: allow combined context discovery for components, directives and elements (#25754) (62be8c2)
- ivy: patch animations into metadata (#25828) (d2dfd48)
- ivy: resolve references to vars in .d.ts files (#25775) (96d6b79)
- ivy: support animation @triggers in templates (#25849) (e363388)
- ivy: support bootstrap in ngModuleDef (#25775) (13ccdfd)
Update September 6, 2018
The sixth beta arrives with nine bug fixes and two features in tow.
Let’s have a look!
Features:
- elements: enable Shadow DOM v1 and slots (#24861) (c9844a2)
- router: warn if navigation triggered outside Angular zone (#24959) (010e35d), closes #15770 #15946 #24728
Update September 6, 2018
The fifth beta contains four bug fixes and that’s about it.
The Release Candidate phase should be right around the corner but since there’s no release schedule, who knows when the beta tap will be turned off?
Update August 23, 2018
Another week, another beta. This time, beta.3 arrives with one feature in tow, namely:
Update August 16, 2018
Well, the headline pretty much says it all. The third beta arrives with two bug fixes in tow and … that’s about it.
Still, progress is progress and this means we’re one step closer to Angular v7. We miss the release schedule with all the betas and RCs but perhaps it’s for the best since Angular v6 came later than expected.
Update August 9. 2018
The countdown to the Angular v7 release has begun. The second beta arrives with four bug fixes and one feature in tow.
Sure, it’s just one feature but one now, one in beta.0, and before we know it, we’ll be able to put the pieces together and catch a glimpse of how Angular v7 looks like.
Feature:
Update August 3, 2018
Angular v7 will be here in September/October so there’s not a lot of time left. We’re one step closer to the general availability now that the first beta has landed.
There are just four bugfixes and one feature but what’s important is that we’re already seeing bits and pieces of the next version.
Feature:
Update July 26, 2018
Angular v6.1.0 is finally here and, as we can see from the long list of bugfixes and features, the team has been hard at work.
This important milestone arrives with almost 70 bugfixes and 20 interesting features, including TypeScript 2.9 support.
Here is the complete list of features:
- bazel: Initial commit of protractor_web_test_suite (#24787) (71e0df0)
- bazel: protractor_web_test_suite for release (#24787) (161ff5c)
- common: introduce KeyValuePipe (#24319) (2b49bf7)
- compiler: support
// ...
and// TODO
in mock compiler expectations (#23441) (c6b206e) - compiler-cli: update
tsickle
to0.29.x
(#24233) (f69ac67) - core: export defaultKeyValueDiffers to private api (#24319) (92b278c)
- core: expose a Compiler API for accessing module ids from NgModule types (#24258) (bd02b27)
- core: KeyValueDiffer#diff allows null values (#24319) (52ce9d5)
- core: add support for ShadowDOM v1 (#24718) (3553977)
- core: add support for using async/await with Jasmine (#24637) (71100e6)
- core: add support for ShadowDOM v1 (#24718) (3553977)
- core: add support for using async/await with Jasmine (#24637) (71100e6) (https://github.com/angular/angular/commit/328971f)), closes #24616
- platform-browser: add HammerJS lazy-loader symbols to public API (#23943) (26fbf1d)
- platform-browser: allow lazy-loading HammerJS (#23906) (313bdce)
- platform-server: use EventManagerPlugin on the server (#24132) (d6595eb)
- router: add urlUpdateStrategy allow updating the browser URL at the beginning of navigation (#24820) ([328971f]
- router: add navigation execution context info to activation hooks (#24204) (20c463e), closes #24202
- router: implement scrolling restoration service (#20030) (49c5234), closes #13636 #10929 #7791 #6595
- service-worker: add support for
?
in SW config globbing (#24105) (250527c) - typescript 2.9 support (#24652) (e3064d5)
And one more thing; there’s also a breaking change in 6.1.0, namely:
- bazel: Use of @angular/bazel rules now requires calling ng_setup_workspace() in your WORKSPACE file.
Update July 20, 2018
Ok so remember the last update? The release candidate phase for Angular 6.1.0 debuted last week and we’re already writing about the fourth update. We didn’t skip rc.1 and rc.2, they never happened.
It seems that both release candidates “on npm accidentally glitched-out midway” so the team went straight to rc.3. It’s no use crying over spilled milk, here are some features to cheer you up:
- bazel: Initial commit of protractor_web_test_suite (#24787) (71e0df0)
- bazel: protractor_web_test_suite for release (#24787) (161ff5c)
- core: add support for ShadowDOM v1 (#24718) (3553977)
- core: add support for using async/await with Jasmine (#24637) (71100e6)
- router: add urlUpdateStrategy allow updating the browser URL at the beginning of navigation (#24820) (328971f), closes #24616
- service-worker: add support for
?
in SW config globbing (#24105) (250527c)
As you can see, the fourth release candidate brings six features, as well as 15 bug fixes. It’s onwards and upwards from here!
Update July 13, 2018
The release candidate period for v6.1.0 has begun and there are already a lot of things happening.
rc.0 includes 13 bug fixes and four features.
Features
- core: add support for ShadowDOM v1 (#24718) (3553977)
- core: add support for using async/await with Jasmine (#24637) (71100e6)
- typescript 2.9 support (#24652) (e3064d5)
- service-worker: add support for
?
in SW config globbing (#24105) (250527c)
We’re off to a good start!
Update July 9, 2018
Beta.3 is hardly new but up until now, there was just the announcement visible.
Now we can see that the fourth beta brings two bug fixes; we’re eager to see Angular v6.1.0.
Update July 2, 2018
More bug fixes! This time, the 6.0.7 release fixes a few things here and there.
Bug Fixes
- animations: set animations styles properly on platform-server (#24624)
- common: use correct ICU plural for locale mk (#24659)
Update June 22, 2018
Beta season continues for Angular v6.1.0 with a few minor fixes! This week’s bug fixes come with some improvements for the compilers and core for both 6.1.0 and 6.0.6.
Bug fixes
- compiler: support
.
in import statements. (#20634) (d8f7b29), closes #20363 - core: Injector correctly honors the @Self flag (#24520) (ccbda9d)
Update June 14, 2018
We’re off to a good start! The second beta is here and it doesn’t come empty-handed. There are nine bugfixes and nine features.
Features
- common: introduce KeyValuePipe (#24319) (2b49bf7)
- core: export defaultKeyValueDiffers to private api (#24319) (92b278c)
- core: expose a Compiler API for accessing module ids from NgModule types (#24258) (bd02b27)
- core: KeyValueDiffer#diff allows null values (#24319) (52ce9d5)
- ivy: a generic visitor which allows prefixing nodes for ngtsc (#24230) (ca79e11)
- ivy: add support of ApplicationRef.bootstrapModuleFactory (#23811) (e3759f7)
- ivy: namespaced attributes added to output instructions (#24386) (82c5313)
- ivy: now supports SVG and MathML elements (#24377) (8c1ac28)
- router: implement scrolling restoration service (#20030) (49c5234), closes #13636 #10929 #7791 #6595
We’re happy to see that things are moving forward for Angular’s new renderer code-named Ivy. Since it comes as a non-breaking change, this means you’ll get it automatically in a future release by just staying on Angular’s latest releases, Brad Green, Angular platform engineering director at Google, wrote in his takeaways from ngAtlanta.
PS: You can track their progress at ivy.angular.io.
Update June 7, 2018
Now that Angular v6 is here, it’s time to look toward the future, which happens to be all about Angular v7. What will this version bring? We don’t know yet but we’re pretty excited to see the bits and pieces and then put everything together this Fall.
That being said, it’s time to move on — to 6.1.0 to be more exact. The first beta arrived in early June with nearly 30 bugfixes and six feature in tow.
Features
- compiler: support
// ...
and// TODO
in mock compiler expectations (#23441) (c6b206e) - compiler-cli: update
tsickle
to0.29.x
(#24233) (f69ac67) - platform-browser: add HammerJS lazy-loader symbols to public API (#23943) (26fbf1d)
- platform-browser: allow lazy-loading HammerJS (#23906) (313bdce)
- platform-server: use EventManagerPlugin on the server (#24132) (d6595eb)
- router: add navigation execution context info to activation hooks (#24204) (20c463e), closes #24202
Angular v7 should be released in September/October 2018. Read more about the release schedule here.
Let’s revisit Angular v6
Angular v6 is the first release that unifies the Framework, Material and CLI. If you want to read more about the highlights and the new CLI-powered update workflow for your projects, check out the v6 release announcement.
Furthermore,the team is synchronizing the major versions going forward for the framework packages (@angular/core
, @angular/common
, @angular/compiler
, etc), the Angular CLI, and Angular Material + CDK. “The minor and patch releases for these projects will be issued based on the project’s needs,” Stephen Fluin announced in the blog post.
ng update
We talked about ng update in a previous article; this new CLI command analyzes your package.json
and uses its knowledge of Angular to recommend updates to your application. In short, it will “help you adopt the right version of dependencies, and keep your dependencies in sync, but 3rd parties can provide update scripts using schematics“.
Just to clarify something: it will not replace your package manager; ng update
uses npm or yarn under the hood to manage dependencies. In addition to updating dependencies and peer dependencies, ng update
will apply needed transforms to your project.
ng add
This new CLI command promises to make adding new capabilities to your project easy. It uses your package manager to “download new dependencies and invoke an installation script (implemented as a schematic) which can update your project with configuration changes, add additional dependencies (e.g. polyfills), or scaffold package-specific initialization code.”
Angular Elements
This first release of Angular Elements focuses on allowing you to bootstrap Angular components within an existing Angular application by registering them as Custom Elements.
Angular Material + CDK Components
The new tree component for displaying hierarchical data is surely the biggest news. As Fluin explained in the blog post, “following patterns from the data-table component, the CDK houses the core tree directives, with Angular Material offering the same experience with Material Design styles on top.”
But that’s not all; the team also introduced new badge and bottom-sheet components. The former helps display helpful information such as unread item counts while the latter represent a special type of mobile-centric dialogs that come up from the bottom of the viewport, commonly used to present a list of options following an action.
The @angular/cdk/overlay
package is one of the most powerful pieces of infrastructure in the CDK today.
CLI Workspaces
CLI v6 now offers support for workspaces containing multiple projects, such as multiple applications or libraries. CLI projects will now use angular.json
instead of .angular-cli.json
for build and project configuration.
Each CLI workspace has projects, each project has targets, and each target can have configurations.
RxJS v6
RxJS v6 brings a few major changes, along with a backwards compatibility package rxjs-compat
that will keep your applications working. It’s more tree-shakable now, ensuring that only the pieces of RxJS that you use are included in your production bundles.
Note: If you use ng update
, your application should keep working, but you can learn more about the 5.5 to 6.0 migration.
No Ivy?
Ivy is still under active development, but there will be an opt-in preview of Ivy as soon as it is ready.
Long Term Support (LTS)
The Angular team previously announced that only v4 and v6 would be LTS releases but the good news is that long-term support has been extended to ALL major releases starting with v4. Each major release will be supported for 18 months with around 6 months of active development followed by 12 months of critical bugfixes and security patches.
For the complete list of highlights, check out Stephen Fluin’s blog post.
The post On the road to Angular v7: Roll out the red carpet, the wait is over! 7.0.0 is live! appeared first on JAXenter.
Source : JAXenter