Google has released Angular 2.3, including the first version of the Angular Language Service, and has explained the naming conventions for Angular 4 onwards.
Under the rules of the newly-adopted semantic versioning, the 2.3 release has no breaking changes, but it does have a number of bug fixes along with some new features. 2.3 is also the final minor release for 2.x, with Angular 4 to follow.
Stephen Fluin, developer advocate for Google, said in the related blog post that the new Angular Language Service "is designed to integrate with IDEs and provide error checking and type completion within Angular Templates."
Fluin said that the service had been buillt "independent of editor" but that the team would be releasing an initial set of bindings for VS Code.
The minor release also brings improved stack traces that are shorter and zone-aware, replacing:
Error.spec.js:53 Error: Inside
at ZoneAwareError (zone.js:652)
at insideRun (Error.spec.js:31)
at ZoneDelegate.invoke (zone.js:216)
at Zone.run (zone.js:100)
at testFn (Error.spec.js:29)
at ZoneDelegate.invoke (zone.js:216)
at Zone.run (zone.js:100)
at Object.eval (Error.spec.js:19)
with:
Error.spec.js:54 Error: Inside [InnerZone]
at insideRun (Error.spec.js:31) [InnerZone]
at Zone.run (zone.js:100) [<root> => InnerZone]
at testFn (Error.spec.js:29) [<root>]
at Zone.run (zone.js:100) [ProxyZone => <root>]
at Object.eval (Error.spec.js:19) [ProxyZone]
The Angular team has announced that a major version of Angular will be created every six months, with new features that could include breaking changes. While initially ambiguous, a breaking change has been defined in the guest blog post for Angular by Juri Strumpflohner as "whenever you as a developer and consumer of a library, have to step in and adjust your code after a version upgrade."
Strumpflohner also helped to explain the newly-announced naming conventions for Angular.
With the name "Angular 2" no longer being relevant for releases from Angular 4 onwards, all versions are being named simply "Angular." To avoid confusion, the version number should be used when talking about a specific release train, such as Angular 4 or Angular 6, and full semver should be used when reporting a bug, for example 2.3.1.
For anyone concerned about the frequent major releases, even with breaking changes, it is promised that the upgrades "won’t be like changing from Angular 1" and won’t be "a complete rewrite." To be faithful to semver, changes to core libraries demand a major version change, but there will be proper deprecation phases for developers.
The full changelog for Angular 2.3 can be found here.