What Is New in AngularJS 1.1 (summary table)
AngularJS 1.1 introduced a mix of new capabilities, performance tweaks, and important bug fixes. The table below captures the key areas of change.
| Category | Key Changes |
|---|---|
| New Features | Introduction of the $animate service for CSS-based animations, new ngAnimate module, and $resource enhancements. |
| Improvements | Better error messages, improved $compile and $parse performance, and refinements to ngRepeat. |
| Bug Fixes | Numerous fixes across directives, scopes, forms, and the $http service to resolve edge-case behaviors. |
| Deprecated | Certain ngMobile modules and specific animation-related attributes began deprecation in favor of the new ngAnimate system. |
How did animation support change in 1.1?
The biggest shift was the formal introduction of the ngAnimate module. This provided a structured, CSS-based approach to animations for common directives like ngRepeat, ngShow, and ngClass.
In practice, you could now hook into add/remove/move events by defining CSS classes or JavaScript callbacks. This replaced the older, more ad-hoc animation methods in ngMobile.
Core Animation Additions
- New
$animateservice for programmatic control. ng-animate="{className}"attribute for defining animation sets.- Automatic addition/removal of CSS classes (
-add,-remove,-move) during DOM operations.
What improvements were made to $resource?
$resource got more flexible and powerful. The key update was the ability to define actions as rich objects, allowing for better configuration of HTTP calls.
This meant you could specify custom headers, transform functions, and timeout settings per action, not just a URL. It brought $resource closer to the flexibility of raw $http calls while keeping its convenience.
// New action definition style in 1.1
User = $resource('/user/:id', {id:'@id'}, {
update: { method: 'PUT', headers: {'Custom-Header': 'value'} }
});
Were there performance boosts in this release?
Yes, several core parts saw speed improvements. The $compile service and the $parse service for expressions were optimized, making initial page rendering and digest cycles faster.
The ngRepeat directive also received attention. It became more efficient at tracking items, which mattered for large lists where performance could visibly degrade.
What about fixes for common developer pain points?
This release tackled many irritating bugs. Error messages for common mistakes in directives and expressions became more descriptive, saving debugging time.
Fixes also addressed issues with $http response interceptors, form validation state, and scope inheritance quirks. These were the kind of fixes that made daily development smoother.
FAQ
Is AngularJS 1.1 a stable release?
No, 1.1.x was considered an "unstable" or development branch leading to the future 1.2 stable release. It was for early adopters to test new features like ngAnimate.
Do I need to rewrite my existing animations for ngAnimate?
Likely yes. The old animation approach via ngMobile was deprecated. The new system uses a different set of CSS class hooks and requires the ngAnimate module to be included.
Can I use the new $resource action syntax alongside the old one?
Yes, the old shorthand syntax (e.g., {update: 'PUT'}) remained for backward compatibility. The new object syntax gives you more control when you need it.
Were there any breaking changes in 1.1?
While mostly additive, some deprecations started, particularly in the animation area. Also, some internal APIs changed, which could affect very advanced custom code or third-party modules.
Should I upgrade from 1.0.x to 1.1 for performance?
The performance gains were real but incremental. The main reason to upgrade then was to use the new animation system or $resource features. For a production app on 1.0, waiting for the stable 1.2 release was a common strategy.