- The Latest Stable Release: 0.9.19 canine-psychokinesis
- The Latest Unstable Release: 0.10.2 sneaky-seagull
# 0.10.3 shattering-heartbeat (in-progress) #
# 0.10.2 sneaky-seagull (2011-10-08) #
## Features:
- jQuery 1.6.4 support (Issue [#556](https://github.com/angular/angular.js/issues/556))
- [jqLite](http://docs-next.angularjs.org/api/angular.element) improvements:
- Added support for `prop` method
([commit](https://github.com/angular/angular.js/commit/3800d177030d20c5c3d04e3601f892c46e723dc2))
- Added support for `unbind` method
([commit](https://github.com/angular/angular.js/commit/6b7ddf414de82720bbf547b2fa661bf5fcec7bb6))
## Bug Fixes:
- Added support for short-circuiting of && and || operators in in angular expressions
(Issue [#433](https://github.com/angular/angular.js/issues/433))
- Fix for [$limitTo] to properly handle excessive limits (contributed by tehek)
(Issue [#571](https://github.com/angular/angular.js/issues/571))
- [jqLite]'s css() method now converts dash-separated css property names to camelCase in order to
support dash-separated properties on Firefox
(Issue [#569](https://github.com/angular/angular.js/issues/569))
- action defaults for [$resource]s now take precedence over resource defaults (contributed by
Marcello Nuccio)
([commit](https://github.com/angular/angular.js/commit/bf5e5f7bc9ebc7dc6cf8fdf3c4923498b22a8654))
- Fixed escaping issues in [$route] matcher
([commit](https://github.com/angular/angular.js/commit/2bc39bb0b4f81b77597bb52f8572d231cf4f83e2))
- Fixed two issues in $browser.defer.cancel mock
([commit](https://github.com/angular/angular.js/commit/62ae7fccbc524ff498779564294ed6e1a7a3f51c),
[commit](https://github.com/angular/angular.js/commit/8336f3f0ba89b529057027711ab4babd6c2cb649))
- Fix for ng:options, which under certain circumstances didn't select the right option element
([commit](https://github.com/angular/angular.js/commit/555f4152909e1c0bd5400737a62dc5d63ecd32d3))
## Docs:
- migrated the docs app to use [$location]'s HTML5 mode (hashbang urls no more)
([commit](https://github.com/angular/angular.js/commit/13f92de6246a0af8450fde84b209211a56397fda))
## Breaking Changes
- If Angular is being used with jQuery older than 1.6, some features might not work properly. Please
upgrade to jQuery version 1.6.4.
## Breaking Changes
- ng:repeat no longer has ng:repeat-index property. This is because the elements now have
affinity to the underlying collection, and moving items around in the collection would move
ng:repeat-index property rendering it meaningless.
# 0.10.1 inexorable-juggernaut (2011-09-09) #
## Features
- complete rewrite of the $location service with HTML5 support, many API and semantic changes.
Please see:
- [$location service API docs](http://docs-next.angularjs.org/#!/api/angular.service.$location)
- [$location service dev guide article](http://docs-next.angularjs.org/#!/guide/dev_guide.services.$location)
- [location.js source file](https://github.com/angular/angular.js/blob/master/src/service/location.js)
- breaking changes section of this changelog
## Bug Fixes
- $xhr should not covert HTTP status 0 to 200
([commit](https://github.com/angular/angular.js/commit/b0eb831bce7d0ea066fd0758124793ed3db6d692))
- fixed several doc examples that were broken on IE
- ng:change should be called after the new val is set
(Issue [#547](https://github.com/angular/angular.js/issues/547))
- currency filter should return an empty string for non-numbers
## Breaking Changes
- $location related changes - for complete list of api changes see:
[Migrating from earlier AngularJS releases](http://docs-next.angularjs.org/#!/guide/dev_guide.services.$location)
- $location api changes:
- $location.href -> $location.absUrl()
- $location.hash -> $location.url()
- $location.hashPath -> $location.path()
- $location.hashSearch -> $location.search()
- $location.search -> no equivalent, use $window.location.search (this is so that we can work in
hashBang and html5 mode at the same time, check out the docs)
- $location.update() / $location.updateHash() -> use $location.url()
- n/a -> $location.replace() - new api for replacing history record instead of creating a new one
- $location semantic changes:
- all url pieces are always in sync ($location.path(), $location.url(), $location.search(), ...) -
this was previously true only if you used update* methods instead of direct assignment
($location.hashPath = 'foo')
- we now use (window.history.pushState || onHashChange event || polling) for detecting url changes
in the browser (we use the best one available).
# 0.10.0 chicken-hands (2011-09-02) #
## Features
- complete rewrite of the Scope implementation with several API and semantic changes. Please see:
- [angular.scope API docs](http://docs-next.angularjs.org/#!/api/angular.scope)
- [scopes dev guide article](http://docs-next.angularjs.org/#!/guide/dev_guide.scopes)
- [scope.js source file](https://github.com/angular/angular.js/blob/master/src/Scope.js)
- breaking changes section of this changelog
- added event system to scopes (see [$on], [$emit] and [$broadcast])
- added i18n and l10n support for date, currency and number filters see [i18n] docs for more info
- added localizable [ng:pluralize] widget
- added [ng:cloak] directive for hiding uncompiled templates
## Bug Fixes
- make [ng:class] friendly towards other code adding/removing classes
([commit](https://github.com/angular/angular.js/commit/2a8fe56997fddbad673748ce02abf649a709c4ca))
- several [jqLite] bugfixes and improvements
- [ng:href], [ng:src] and friends now work properly when no expression is present in the attribute
value.
(Issue [#534](https://github.com/angular/angular.js/issues/534))
- expose missing [lowercase], [uppercase] and [isDate] APIs.
## Docs
- many (but not all just yet) api docs were proof-read and improved
## Breaking Changes:
- many scope related changes:
- $onEval is no more (use $watch with a fn as the only param if you really miss it)
- $eval without params doesn't trigger model mutation observations (use $apply/$digest instead)
- $digest propagates through the scope tree automatically (this is the desired behavior anyway)
- $watch various API changes
- scope is now the first argument passed into the $watch listener
- `this` in the $watch listener is undefined instead of current scope
- objects and arrays are watched and compared by equality and not just identity
- the initial execution of the $watch listener now executes asynchronously with respect to the
code registering it via $watch
- exceptionHandler argument is no more
- initRun argument is no more
- angular.scope does not create child scopes by taking parent as the first argument - use $new
instead
- scope.$set and scope.$get were removed, use direct property assignment instead or $eval
- $route.onChange was removed and replaced with $beforeRouteChange, $afterRouteChange and
$routeUpdate events that can be used together with the new $routeParams service
- `angular.equals()` now uses `===` instead of `==` when comparing primitives
# 0.9.19 canine-psychokinesis (2011-08-20) #
## Features
- added error handling support for JSONP requests (see error callback param of the [$xhr] service)
([commit](https://github.com/angular/angular.js/commit/05e2c3196c857402a9aa93837b565e0a2736af23))
- exposed http response headers in the [$xhr] and [$resource] callbacks
([commit](https://github.com/angular/angular.js/commit/4ec1d8ee86e3138fb91543ca0dca28463895c090)
contributed by Karl Seamon)
- added `reloadOnSearch` [$route] param support to prevent unnecessary controller reloads and
resulting flicker
([commit](https://github.com/angular/angular.js/commit/e004378d100ce767a1107180102790a9a360644e))
## Bug Fixes
- fixed memory leak found in [ng:options] directive
([commit](https://github.com/angular/angular.js/commit/6aa04b1db48853340d720e0a1a3e325ac523a06f))
- make ng:class-even/odd compatible with ng:class
(Issue [#508](https://github.com/angular/angular.js/issues/508))
- fixed error handling for resources that didn't work in certain situations
([commit](https://github.com/angular/angular.js/commit/c37bfde9eb31556ee1eb146795b0c1f1504a4a26)
contributed by Karl Seamon)
## Docs
- [jsFiddle](http://jsfiddle.net/) integration for all docs.angularjs.org examples (contributed by
Dan Doyon).
## Breaking Changes
- removed [jqLite] show/hide support. See the
[commit](https://github.com/angular/angular.js/commit/4c8eaa1eb05ba98d30ff83f4420d6fcd69045d99)
message for details. Developers should use jquery or jqLite's `css('display', 'none')` and
`css('display', 'block'/'inline'/..)` instead
# 0.9.18 jiggling-armfat (2011-07-29) #
### Features
- [ECMAScript 5 Strict Mode](https://developer.mozilla.org/en/JavaScript/Strict_mode) compliance
- [jqLite]
- added `show()`, `hide()` and `eq()` methods to jqlite
([commit](https://github.com/angular/angular.js/commit/7a3fdda9650a06792d9278a8cef06d544d49300f))
- added $defer.cancel to support cancelation of tasks defered via the [$defer] service
- [date] filter
- added support for `full`, `long`, `medium` and `short` date-time format flags
([commit](https://github.com/angular/angular.js/commit/3af1e7ca2ee8c2acd69e5bcbb3ffc1bf51239285))
- added support for `z` flag, which stands for short string timezone identifier, e.g. PST
- internal improvements to enable localization of date filter output
- [number] filter
- internal improvements to enable localization of number filter output
- [currency] filter
- support for custom currency symbols via an optional param
- internal improvements to enable localization of number filter output
- added [angular.version] for exposing the version of the loaded angular.js file
- updated angular.js and angular.min.js file headers with angular version and shorter & updated
license info
- [ng:options]
- support binding to expression (Issue [#449](https://github.com/angular/angular.js/issues/449))
- support iterating over objects (Issue [#448](https://github.com/angular/angular.js/issues/448))
- support ng:change (Issue [#463](https://github.com/angular/angular.js/issues/463))
- support option groups (`