AngularJS 1.4 drops – “A truly community driven release”

AngularJS 1.4 has landed and its contributors have come from far and wide outside of the regular Google Angular team. While most promises have been kept, the JavaScript framework has experienced a small speedbump on the way to Angular 2.

With the new AngularJS 1.4 shipment, we got all that was promised from early planning and release candidates, except for one thing… The new router that was planned to help with the transition from Angular 1 to 2 has been pushed to the 1.5 release, with the feature labelled “not ready” to ship.

The new animation system that was touted in the 1.4 RC has been delivered, meaning completely refactored animations deliver more powerful features and quell a load of bugs whilst doing so. Pete Bacon Darwin made the official announcement recently, which takes on the name “jaracimrman-existence” after a Czech fictional character of a national giant.

Think the name is weird? In keeping with the community-driven theme, the community actually gets a say in what names are adopted by each AngularJS release. As long as it meets these guidelines, then anything goes.

Some new features and filters

As already mentioned, the animation code overhaul makes way for the possibility to animate elements across pages via animation anchoring through $animateCss. Darwin states that the rebuild is backwards compatible, except for a small number of documented api changes. Outstanding issues in the $http service were also fixed, with a mechanism for providing custom URL parameter serialisation now added.

Although the team were trying to push through as few breaking changes as possible, $cookies no longer exposes properties that represent the current browser cookie values. The changelog states that users relying on this must either write code that can react to the 3rd party library making the changes to cookies or implement their own polling mechanism.

Less on the breaking side, dynamic message support was added to the ngMessages directive and ngOptions was completely refactored, which now supports disabling an option using the ‘disabled when’ syntax. Features that have been added include adding a start index to the limitTo filter and improved support for infinity in the number filter.

Darwin goes through many of the details quite succinctly in his blog post, however a complete list of changes can be found on GitHub.