On May 3, 2018, the Angular team released version 6 of Angular, a release that focused on improving the Angular toolchain. Significant updates make it easier to update application source code and dependencies, add new application capabilities, and “tree shake” code for better performance.
ng update CLI command analyzes package.json and recommends updates to an Angular application. Third parties can also provide update scripts using schematics to automatically update application code when the dependency needs to make a breaking change. The
ng updatecommand uses npm or yarn to manage dependencies, and then apply transforms to a project.
Angular 6 CLI also introduces the
ng add command, which will add dependencies and a schematic-based installation script to support new features such as Progressive Web App (PWA) scaffolding, Material components, and Angular Elements.
Angular Elements is the first release to support the use of Angular components as Custom Elements, analogous to the approach taken by Stencil or Dojo in making it easier to export components per the Web Components standard. This addition helps Angular align more closely with the Custom Elements standard, addressing a common complaint about Angular components.
Angular Material adds several new features including a tree component for displaying hierarchical data. Angular Material also provides three new starter components: Sidenav, Dashboard, and Data Table, giving developers a quick starting point for creating common application user experiences.
Angular 6 also starts to address complaints about overall performance and application size. This release improves the ability to “tree shake” source code, eliminating dead code and resulting in smaller bundle sizes in production applications.
The Angular team seeks a Hello World size of less than 10KB when compressed and minified. The Ivy rendering engine update is currently under development and planned for a future Angular release to achieve this goal.
Angular also updates its RxJS dependency to RxJS 6, providing additional improvements around tree shaking and its API changes from chaining to piping, also intended to improve performance.
Angular’s changelogs provide a complete list of Angular 6 updates and bug fixes for the Angular framework, material and cdk, and cli. Angular is available under the MIT open source license. Contributions are welcome via the Angular GitHub project.