2011-09-02 06:04:34 +00:00
|
|
|
|
- The Latest Stable Release: <a href="#0.9.19">0.9.19 canine-psychokinesis</a>
|
2012-01-15 07:36:15 +00:00
|
|
|
|
- The Latest Unstable Release: <a href="#0.10.6">0.10.6 bubblewrap-cape</a>
|
2011-09-02 06:04:34 +00:00
|
|
|
|
|
2012-01-19 01:12:21 +00:00
|
|
|
|
<a name="0.10.7"></a>
|
|
|
|
|
|
# 0.10.7 moiré-vision (in-progress)
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-11-09 00:39:19 +00:00
|
|
|
|
<a name="0.10.6"></a>
|
2012-01-19 01:12:21 +00:00
|
|
|
|
# 0.10.6 bubblewrap-cape (2012-01-17) #
|
2011-11-09 00:39:19 +00:00
|
|
|
|
|
2012-01-15 07:36:15 +00:00
|
|
|
|
## Features:
|
|
|
|
|
|
|
2012-01-17 20:13:48 +00:00
|
|
|
|
- [Dependency injection subsystem][guide2.di] rewrite. This is a huge change to the Angular core
|
2012-01-15 07:36:15 +00:00
|
|
|
|
that was necessary for many reasons. Please read the full
|
|
|
|
|
|
[design doc](https://docs.google.com/document/d/1hJnIqWhSt7wCacmWBB01Bmc6faZ8XdXJAEeiJwjZmqs/edit?hl=en_US)
|
|
|
|
|
|
to understand the changes and reasoning behind them.
|
|
|
|
|
|
- Added [angular.bootstrap] for manual bootstrapping of the app. Also see
|
2012-01-17 20:13:48 +00:00
|
|
|
|
[Initializing Angular App][bootstrapping] doc.
|
2012-01-15 07:36:15 +00:00
|
|
|
|
- Helper functions [inject] and [module] that make testing with DI and jasmine a lot easier.
|
2012-01-17 20:13:48 +00:00
|
|
|
|
- [jqLite][jqLite2] and jQuery were extended with helper method `injector()` that simplifies the
|
|
|
|
|
|
access to the application injector during debugging.
|
2012-01-15 07:36:15 +00:00
|
|
|
|
- Rewrite of $xhr service and its dependencies, which was replaced with [$http] service.
|
|
|
|
|
|
The $browser.xhr and its mock were replaced by [$httpBackend] and its
|
|
|
|
|
|
[unit testing][unit-testing $httpBackend] and [end-to-end testing][e2e-testing $httpBackend]
|
|
|
|
|
|
mocks. The $resource service api and functionality was preserved, with the exception of caching,
|
|
|
|
|
|
which is not happening automatically as it used it in the past (verifyCache has no effect).
|
2012-01-17 20:13:48 +00:00
|
|
|
|
- [$q] - Q-like deferred/promise implementation
|
2012-01-15 07:36:15 +00:00
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/1cdfa3b9601c199ec0b45096b38e26350eca744f))
|
|
|
|
|
|
- Transparent data-binding to promises in templates. [Example](http://jsfiddle.net/IgorMinar/aNSWu/)
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/78b6e8a446c0e38075c14b724f3cdf345c01fa06))
|
|
|
|
|
|
- New [$anchorScroll] service that watches url hash and navigates to the html anchor even if the
|
|
|
|
|
|
content was loaded via [ng:view] (for [ng:include] you have to opt into this behavior using
|
|
|
|
|
|
autoscroll attribute)
|
|
|
|
|
|
- New LRU cache factory - [$cacheFactory] service
|
|
|
|
|
|
- jQuery 1.7 compatibility
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Bug Fixes:
|
|
|
|
|
|
|
|
|
|
|
|
- Directive names are now case insensitive
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/1e00db8daa5c09e7f8f9134f5c94b9a18c7dc425))
|
|
|
|
|
|
- $location#url setter fix (Issue [#648](https://github.com/angular/angular.js/issues/648))
|
|
|
|
|
|
- [ng:include] - prevent race conditions by ignoring stale http callbacks
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/1d14760c6d3eefb676f5670bc323b2a7cadcdbfa))
|
|
|
|
|
|
- [ng:repeat] - support repeating over array with null
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/cd9a7b9608707c34bec2316ee8c789a617d22a7b))
|
|
|
|
|
|
- [angular.copy] - throw Error if source and destination are identical
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/08029c7b72a857ffe52f302ed79ae12db9efcc08))
|
|
|
|
|
|
- Forms should not prevent POST submission if the action attribute is present
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/c9f2b1eec5e8a9eaf10faae8a8accf0b771096e0))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Breaking Changes:
|
|
|
|
|
|
|
|
|
|
|
|
- App bootstrapping works differently (see [angular.bootstrap] and [ng:app] and [bootstrapping])
|
|
|
|
|
|
- scope.$service is no more (because injector creates scope and not the other way around),
|
|
|
|
|
|
if you really can't get services injected and need to fetch them manually then, get hold of
|
|
|
|
|
|
[$injector] service and call $injector.get('serviceId')
|
2012-01-17 20:13:48 +00:00
|
|
|
|
- angular.service style service registration was replaced with module system, please see
|
|
|
|
|
|
[angular.module] api and [DI documentation][guide2.di] for more info.
|
2012-01-15 07:36:15 +00:00
|
|
|
|
- the $xhr service was replaced with [$http] with promise based apis.
|
|
|
|
|
|
- [unit-testing $httpBackend]'s expect method (the replacement for $browser.xhr.expect) is stricter -
|
|
|
|
|
|
the order of requests matters and a single request expectation can handle only a single request.
|
|
|
|
|
|
- compiler
|
|
|
|
|
|
- compiler is a service, so use [$compile] instead of angular.compile to compile templates
|
|
|
|
|
|
- $compile (nee angular.compile) returns the linking function which takes one mandatory argument -
|
|
|
|
|
|
the scope. previously this argument was optional and if missing, the compiler would create a new
|
|
|
|
|
|
root scope, this was a source of bugs and was removed
|
|
|
|
|
|
- filters
|
|
|
|
|
|
- filters need to be registered either via [moduleName.filter][angular.Module] or
|
|
|
|
|
|
[$filterProvider.filter][$filterProvider]
|
|
|
|
|
|
- filters don't have access to the dom element
|
|
|
|
|
|
- currency filter doesn't make negative values red
|
|
|
|
|
|
- json filter doesn't print out stuff in monospace
|
|
|
|
|
|
- type augmentation via angular.Array, and angular.Object is gone. As a replacement use filters
|
|
|
|
|
|
([filter], [limitTo], [orderBy]) or ES5 apis (e.g. Array#indexOf)
|
|
|
|
|
|
- [$browser.defer.flush] now throws an exception when queue is empty
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/63cca9afbcf7a772086eb4582d2f409c39e0ed12))
|
|
|
|
|
|
- scope.$apply and scope.$digest throws an exception if called while $apply or $digest is already
|
|
|
|
|
|
in progress (this is a programming error, you should never need to do this)
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/0bf611087b2773fd36cf95c938d1cda8e65ffb2b))
|
2011-11-09 00:39:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-10-24 16:16:33 +00:00
|
|
|
|
<a name="0.10.5"></a>
|
2011-11-08 10:51:40 +00:00
|
|
|
|
# 0.10.5 steel-fist (11-11-08) #
|
2011-10-24 16:16:33 +00:00
|
|
|
|
|
2011-11-08 10:51:40 +00:00
|
|
|
|
## Features:
|
|
|
|
|
|
|
|
|
|
|
|
- [ng:autobind]: drop angular.js file name restrictions
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/d7ba5bc83ba9a8937384ea677331c5156ed6772d))
|
|
|
|
|
|
- [Scope]: better logging of infinite digest error
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/ef875ad0cf4349144cb4674e050dd160564f6dd9),
|
|
|
|
|
|
issue [#621](https://github.com/angular/angular.js/issues/621))
|
|
|
|
|
|
- enable [widget] styling in IE8 and below using
|
|
|
|
|
|
[html5shiv](http://code.google.com/p/html5shiv/)-like approach
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/163c799effd5cfadc57990f4d4127651bae3fbdb),
|
|
|
|
|
|
issue [#584](https://github.com/angular/angular.js/issues/584))
|
|
|
|
|
|
- [ng:style]: compatibility + perf improvements
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/e2663f62b0fbb8b9ce2e706b821a135e0bc7e885))
|
2011-10-24 16:16:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-11-08 10:51:40 +00:00
|
|
|
|
## Bug Fixes:
|
|
|
|
|
|
- [ng:view]: ignore stale xhr callbacks - fixes issues caused by race-conditions which occured when
|
|
|
|
|
|
user navigated to a new route before the current route finished loading
|
|
|
|
|
|
(issue [#619](https://github.com/angular/angular.js/issues/619))
|
|
|
|
|
|
- [ng:form] should always be a block level (css) element
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/02dc81bae0011b7ae4190363be5fdd5db420aca9))
|
|
|
|
|
|
- Fixes for [e2e test runner]'s `$location` dsl
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/dc8ffa51b7ebe5fb9bc1c89087c8b3c9e65d1006))
|
|
|
|
|
|
- [ng:repeat] when iterating over arrays ignore non-array properties + when iterating over objects
|
|
|
|
|
|
sort keys alphabetically
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/3945f884c5777e629b57c9ab0e93b9d02b9840d0))
|
|
|
|
|
|
|
|
|
|
|
|
## Docs:
|
|
|
|
|
|
- experimental [disqus.com](http://disqus.com/) integration for all docs-next.angularjs.org pages
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/28ed5ba46595a371bd734b92a6e4bb40d1013741),
|
|
|
|
|
|
contributed by Dan Doyon)
|
|
|
|
|
|
- [e2e test runner] docs were moved to the dev guide
|
2011-10-24 16:16:33 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-11-09 00:39:19 +00:00
|
|
|
|
|
2011-10-14 22:29:17 +00:00
|
|
|
|
<a name="0.10.4"></a>
|
2011-10-22 22:13:12 +00:00
|
|
|
|
# 0.10.4 human-torch (2011-10-22) #
|
|
|
|
|
|
|
|
|
|
|
|
## Features:
|
|
|
|
|
|
|
|
|
|
|
|
- New validation options for
|
|
|
|
|
|
[input widgets](http://docs-next.angularjs.org/api/angular.widget.input): `ng:minlength` and
|
|
|
|
|
|
`ng:maxlength`
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/78f394fd17be581c84ecd526bb786ed1681d35cb))
|
|
|
|
|
|
(contributed by Konstantin Stepanov)
|
|
|
|
|
|
- HTML sanitizer was updated to recognize all safe HTML5 elements
|
|
|
|
|
|
(Issue [#89](https://github.com/angular/angular.js/issues/89))
|
|
|
|
|
|
- [ng:options]' blank option is now compiled and data-bound as any other template
|
|
|
|
|
|
(Issue [#562](https://github.com/angular/angular.js/issues/562))
|
|
|
|
|
|
(contributed by tehek)
|
|
|
|
|
|
- [$defer](http://docs-next.angularjs.org/api/angular.service.$defer) service now exposes `cancel`
|
|
|
|
|
|
method for task cancellation
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/ad90c3574f8365ee4a1a973d5e43c64fe9fcda2c))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Bug Fixes:
|
|
|
|
|
|
|
|
|
|
|
|
- [ng:options] should select correct element when '?'-option (invalid value) was previously selected
|
|
|
|
|
|
(Issue [#599](https://github.com/angular/angular.js/issues/599)) (contributed by Tehek)
|
|
|
|
|
|
- Fix data-binding of radio button's value property
|
|
|
|
|
|
(Issue [#316](https://github.com/angular/angular.js/issues/316))
|
|
|
|
|
|
- Input with type `password` should no be turned into a readable text field
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/e82e64d57b65d9f3c4f2e8831f30b615a069b7f6))
|
|
|
|
|
|
(contributed by Konstantin Stepanov)
|
|
|
|
|
|
- [ng:repeat] should ignore object properties starting with `$`
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/833eb3c84445110dc1dad238120573f08ed8d102))
|
|
|
|
|
|
- Correctly parse out inlined regexp from the input field's `ng:pattern` attribute.
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/5d43439dbe764a4c7227f51b34a81b044f13901b))
|
|
|
|
|
|
- $location service in html5 mode should correctly rewrite links that contain nested elements
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/9b85757102fbd44e88d0a3909fdf8b90f191b593))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Breaking Changes:
|
|
|
|
|
|
|
|
|
|
|
|
- the [date] filter now uses 'mediumDate' format if none is specified. This was done to deal with
|
|
|
|
|
|
browser inconsistencies (each browser used to use different format)
|
|
|
|
|
|
(Issue [#605](https://github.com/angular/angular.js/issues/605),
|
|
|
|
|
|
[commit](https://github.com/angular/angular.js/commit/c6c3949b14f4003ecab291243edfca61262f2c3d),
|
|
|
|
|
|
[commit](https://github.com/angular/angular.js/commit/e175db37c6f52bba4080efeec22a7120a896099e))
|
|
|
|
|
|
- calling the linker function returned by [angular.compile][compile] doesn't automatically run
|
|
|
|
|
|
`$digest` on the linked scope any more. This behavior was briefly introduced in 0.10.3 but was
|
|
|
|
|
|
causing issues and inefficiencies in production apps so we reverted it. See:
|
|
|
|
|
|
[commit](https://github.com/angular/angular.js/commit/f38010d3a2f457a53798212ef72418637dabe189)
|
2011-10-14 22:29:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.10.3"></a>
|
|
|
|
|
|
# 0.10.3 shattering-heartbeat (2011-10-13) #
|
|
|
|
|
|
|
|
|
|
|
|
## Features:
|
|
|
|
|
|
|
|
|
|
|
|
- New forms, validation, support for HTML5 input widgets. Please check out:
|
|
|
|
|
|
- [Forms overview](http://docs-next.angularjs.org/guide/dev_guide.forms)
|
|
|
|
|
|
- [form widget](http://docs-next.angularjs.org/api/angular.widget.form)
|
|
|
|
|
|
- [input widget](http://docs-next.angularjs.org/api/angular.widget.input)
|
|
|
|
|
|
- [$formFactory service](http://docs-next.angularjs.org/api/angular.service.$formFactory)
|
|
|
|
|
|
- [angular.inputType](http://docs-next.angularjs.org/api/angular.inputType)
|
|
|
|
|
|
- [commit](https://github.com/angular/angular.js/commit/4f78fd692c0ec51241476e6be9a4df06cd62fdd6)
|
|
|
|
|
|
|
|
|
|
|
|
- [ng:repeat] now has element-model affinity, which makes it more friendly to third-party code that
|
|
|
|
|
|
is not aware of angular's DOM manipulation. This is also the pre-requisite for supporting
|
|
|
|
|
|
animations.
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/75f11f1fc46c35a28c0905f7316ea6779145e2fb))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Bug Fixes:
|
|
|
|
|
|
|
|
|
|
|
|
- The select widget with [ng:options] directive now correctly displays selected option (regression
|
|
|
|
|
|
from 0.10.2).
|
|
|
|
|
|
- Fix for jqLite's removeClass, which under certain circumstances could clobber class names.
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/b96e978178a6acbf048aa6db466ed845e1395445))
|
|
|
|
|
|
- Other small fixes and documentation improvements.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Breaking Changes:
|
|
|
|
|
|
|
|
|
|
|
|
- Due to changes in how forms and validation works the following were replaced with new apis:
|
|
|
|
|
|
- `angular.formatter` - use `angular.inputType` or form's `$createWidget`
|
|
|
|
|
|
- `angular.validator` - use `angular.inputType` or form's `$createWidget`
|
|
|
|
|
|
- changes to `<input>` and `<select>` elements
|
|
|
|
|
|
- `ng:model` directive is now required for data-binding to kick in
|
|
|
|
|
|
- the `name` attribute is now optional and is used only as an alias when accessing the input
|
|
|
|
|
|
widget via the form object.
|
|
|
|
|
|
- view can't affect the model without a user interaction, so the `value` attribute of the
|
|
|
|
|
|
`<input>` element and `selected` attribute of the `<option>` element if specified in the
|
|
|
|
|
|
template is ignored.
|
|
|
|
|
|
- Removed decoration of DOM elements when:
|
|
|
|
|
|
- an exception occurs - when an exception happens, it will be passed to the $exceptionHandler
|
|
|
|
|
|
service, which can decide what to do with it.
|
|
|
|
|
|
- an input widget contains invalid input - in this case the forms validation apis can be used to
|
|
|
|
|
|
display a customized error message.
|
|
|
|
|
|
- The $hover service was removed (it was needed only for the DOM decoration described above).
|
2011-10-10 17:15:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.10.2"></a>
|
2011-10-08 16:01:34 +00:00
|
|
|
|
# 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.
|
2011-09-12 17:23:37 +00:00
|
|
|
|
|
2011-08-17 06:08:13 +00:00
|
|
|
|
## 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.
|
2011-09-12 17:23:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.10.1"></a>
|
2011-09-09 08:01:05 +00:00
|
|
|
|
# 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:
|
2012-01-15 07:36:15 +00:00
|
|
|
|
- [$location service API docs](http://docs-next.angularjs.org/#!/api/angular.module.ng.$location)
|
2011-09-09 08:01:05 +00:00
|
|
|
|
- [$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
|
2011-08-17 06:08:13 +00:00
|
|
|
|
hashBang and html5 mode at the same time, check out the docs)
|
2011-09-09 08:01:05 +00:00
|
|
|
|
- $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).
|
2011-09-02 22:41:41 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-09-02 06:04:34 +00:00
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.10.0"></a>
|
2011-09-02 06:04:34 +00:00
|
|
|
|
# 0.10.0 chicken-hands (2011-09-02) #
|
|
|
|
|
|
|
2011-09-09 08:01:05 +00:00
|
|
|
|
## Features
|
2011-09-02 06:04:34 +00:00
|
|
|
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-09 08:01:05 +00:00
|
|
|
|
## Bug Fixes
|
2011-09-02 06:04:34 +00:00
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-09 08:01:05 +00:00
|
|
|
|
## Docs
|
2011-09-02 06:04:34 +00:00
|
|
|
|
|
|
|
|
|
|
- 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
|
2011-08-21 07:52:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.19"></a>
|
2011-08-21 07:50:58 +00:00
|
|
|
|
# 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))
|
2011-07-30 03:01:19 +00:00
|
|
|
|
|
2011-08-11 22:19:26 +00:00
|
|
|
|
|
2011-09-09 08:01:05 +00:00
|
|
|
|
## Bug Fixes
|
2011-08-21 08:27:00 +00:00
|
|
|
|
- fixed memory leak found in [ng:options] directive
|
|
|
|
|
|
([commit](https://github.com/angular/angular.js/commit/6aa04b1db48853340d720e0a1a3e325ac523a06f))
|
2011-08-21 07:50:58 +00:00
|
|
|
|
- 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)
|
2011-08-11 22:19:26 +00:00
|
|
|
|
|
2011-03-23 16:33:29 +00:00
|
|
|
|
|
2011-08-21 07:50:58 +00:00
|
|
|
|
## Docs
|
|
|
|
|
|
- [jsFiddle](http://jsfiddle.net/) integration for all docs.angularjs.org examples (contributed by
|
|
|
|
|
|
Dan Doyon).
|
2011-07-30 03:01:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-08-21 07:50:58 +00:00
|
|
|
|
## 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
|
|
|
|
|
|
|
2011-07-30 03:01:19 +00:00
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.18"></a>
|
2011-07-30 02:34:11 +00:00
|
|
|
|
# 0.9.18 jiggling-armfat (2011-07-29) #
|
2011-07-29 22:00:31 +00:00
|
|
|
|
|
|
|
|
|
|
### Features
|
2011-07-30 02:34:11 +00:00
|
|
|
|
- [ECMAScript 5 Strict Mode](https://developer.mozilla.org/en/JavaScript/Strict_mode) compliance
|
2011-07-29 22:00:31 +00:00
|
|
|
|
- [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 (`<optgroup>`)
|
|
|
|
|
|
(Issue [#450](https://github.com/angular/angular.js/issues/450))
|
|
|
|
|
|
- [$xhr] and [$resource] support for per-request error callbacks (Issue
|
|
|
|
|
|
[#408](https://github.com/angular/angular.js/issues/408)) (contributed by Karl Seamon)
|
|
|
|
|
|
|
2011-07-07 20:56:13 +00:00
|
|
|
|
|
|
|
|
|
|
### Bug Fixes
|
2011-10-13 22:32:05 +00:00
|
|
|
|
- make injector compatible with Rhino (HtmlUnit) (contributed by Mårten Dolk)
|
2011-07-29 22:00:31 +00:00
|
|
|
|
[commit](https://github.com/angular/angular.js/commit/77ba539f630c57b17d71dbf1e9c5667a7eb603b7)
|
|
|
|
|
|
- `ie-compat.js` fixes and improvements related to fetching this file on the fly on legacy browsers
|
|
|
|
|
|
- [jqLite]
|
|
|
|
|
|
- fix `bind()` when binding to more events separated by space
|
|
|
|
|
|
[commit](https://github.com/angular/angular.js/commit/9ee9ca13da3883d06733637f9048a83d94e6f1f8)
|
|
|
|
|
|
- non-existing attributes should return undefined just like in jQuery
|
|
|
|
|
|
[commit](https://github.com/angular/angular.js/commit/10da625ed93511dbf5d4e61ca4e42f6f2d478959)
|
|
|
|
|
|
- set event.target for IE<8
|
|
|
|
|
|
[commit](https://github.com/angular/angular.js/commit/ce80576e0b8ac9ed5a5b1f1a4dbc2446434a0002)
|
|
|
|
|
|
- improved implementation of [ng:show] and [ng:hide] directives by using jqLite/jQuery hide and
|
|
|
|
|
|
show methods
|
|
|
|
|
|
- [ng:options]
|
|
|
|
|
|
- fix incorrect re-growing of options on datasource change
|
|
|
|
|
|
(Issue [#464](https://github.com/angular/angular.js/issues/464))
|
2011-07-07 20:56:13 +00:00
|
|
|
|
|
2011-07-29 22:00:31 +00:00
|
|
|
|
|
|
|
|
|
|
### Docs
|
|
|
|
|
|
- added full offline support for docs (click on the link in the footer of docs.angularjs.org)
|
|
|
|
|
|
- many content improvements and corrections across all docs (reference api, tutorial, dev guide)
|
|
|
|
|
|
- many small design improvements
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Other
|
|
|
|
|
|
- doubled our e2e test suite by running all angular e2e tests with jqLite in addition to jQuery
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-08-21 07:50:58 +00:00
|
|
|
|
### Breaking changes
|
2011-07-29 22:00:31 +00:00
|
|
|
|
- [commit](https://github.com/angular/angular.js/commit/3af1e7ca2ee8c2acd69e5bcbb3ffc1bf51239285)
|
|
|
|
|
|
removed support for the `MMMMM` (long month name), use `MMMM` instead. This was done to align
|
|
|
|
|
|
Angular with
|
|
|
|
|
|
[Unicode Technical Standard #35](http://unicode.org/reports/tr35/#Date_Format_Patterns) used by
|
|
|
|
|
|
Closure, as well as, future DOM apis currently being proposed to w3c.
|
2011-08-02 07:59:51 +00:00
|
|
|
|
- `$xhr.error`'s `request` argument has no `callback` property anymore, use `success` instead
|
2011-06-30 21:29:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.17"></a>
|
2011-06-30 17:54:24 +00:00
|
|
|
|
# <angular/> 0.9.17 vegetable-reanimation (2011-06-30) #
|
2011-06-08 18:24:55 +00:00
|
|
|
|
|
2011-06-08 21:50:27 +00:00
|
|
|
|
### New Features
|
2011-06-27 23:46:01 +00:00
|
|
|
|
- New [ng:options] directive to better bind a model to `<select>` and `<option>` elements.
|
|
|
|
|
|
- New [ng:disabled], [ng:selected], [ng:checked], [ng:multiple] and [ng:readonly] directives.
|
|
|
|
|
|
- Added support for string representation of month and day in [date] filter.
|
|
|
|
|
|
- Added support for `prepend()` to [jqLite].
|
2011-06-29 07:25:13 +00:00
|
|
|
|
- Added support for configurable HTTP header defaults for the [$xhr] service.
|
2011-06-08 21:50:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-03-19 04:18:52 +00:00
|
|
|
|
### Bug Fixes
|
|
|
|
|
|
- Number filter would return incorrect value when fractional part had leading zeros.
|
2011-06-27 23:46:01 +00:00
|
|
|
|
- Issue #338: Show error when template with with multiple DOM roots is being compiled.
|
|
|
|
|
|
- Issue #399: return unsorted array if no predicate.
|
|
|
|
|
|
- Fixed issues with incorrect value of $position in ng:repeat when collection size changes.
|
|
|
|
|
|
- Fixed JSONP support in [$xhr] which didn't work without jquery since v0.9.13.
|
2011-06-08 18:24:55 +00:00
|
|
|
|
|
2011-04-19 23:34:49 +00:00
|
|
|
|
|
2011-06-30 16:09:05 +00:00
|
|
|
|
### Documentation
|
|
|
|
|
|
- various small fixes and improvements
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-04-18 23:33:30 +00:00
|
|
|
|
### Breaking changes
|
|
|
|
|
|
- $service now has $service.invoke for method injection ($service(self, fn) no longer works)
|
|
|
|
|
|
- injection name inference no longer supports method curry and linking functions. Both must be
|
|
|
|
|
|
explicitly specified using $inject property.
|
2011-07-02 15:44:50 +00:00
|
|
|
|
- Dynamic iteration (ng:repeat) on `<option>` elements is no longer supported. Use ng:options
|
2011-06-27 23:46:01 +00:00
|
|
|
|
- Removal of index formatter (`ng:format="index"`) since its only use was with repeated `<options>`
|
|
|
|
|
|
(see above).
|
|
|
|
|
|
- Calling [$orderBy] without a predicate now returns the original unsorted array, instead of
|
|
|
|
|
|
ordering by natural order.
|
2011-04-19 23:34:49 +00:00
|
|
|
|
|
2011-04-18 23:33:30 +00:00
|
|
|
|
|
2011-06-08 18:24:55 +00:00
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.16"></a>
|
2011-06-07 21:55:45 +00:00
|
|
|
|
# <angular/> 0.9.16 weather-control (2011-06-07) #
|
2011-04-12 20:58:19 +00:00
|
|
|
|
|
2011-05-19 15:33:25 +00:00
|
|
|
|
### Features
|
2011-06-07 21:55:45 +00:00
|
|
|
|
- [JsTD Scenario Adapter] for running scenario tests with jstd (from command line and in multiple
|
|
|
|
|
|
browsers)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Documentation
|
2011-06-08 15:29:36 +00:00
|
|
|
|
- brand new template for <http://docs.angularjs.org/>
|
2011-06-07 21:55:45 +00:00
|
|
|
|
- brand new tutorial that describes how to build a typical angular app
|
2011-06-08 15:29:36 +00:00
|
|
|
|
<http://docs.angularjs.org/#!/tutorial>
|
2011-06-07 21:55:45 +00:00
|
|
|
|
- lots of new content for the dev guide (still work in progress)
|
2011-06-08 15:29:36 +00:00
|
|
|
|
<http://docs.angularjs.org/#!/guide>
|
2011-06-07 21:55:45 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes
|
|
|
|
|
|
- ng:href produces unclickable links on IE7 [#352](https://github.com/angular/angular.js/issues/352)
|
|
|
|
|
|
- IE 8 in compatibility mode breaks routing [#353](https://github.com/angular/angular.js/issues/353)
|
|
|
|
|
|
- IE translates a 204 response code to 1223 [#357](https://github.com/angular/angular.js/issues/357)
|
|
|
|
|
|
- Fixed unit test in IE7 [#360](https://github.com/angular/angular.js/pull/360)
|
|
|
|
|
|
- Fixed unit tests on FF4, Opera [#364](https://github.com/angular/angular.js/pull/364)
|
|
|
|
|
|
- Fixed opera date.toISOString issue [#367](https://github.com/angular/angular.js/pull/367)
|
2011-05-19 15:33:25 +00:00
|
|
|
|
|
2011-04-12 20:58:19 +00:00
|
|
|
|
|
2011-05-19 15:33:25 +00:00
|
|
|
|
### Breaking changes
|
2011-06-07 21:55:45 +00:00
|
|
|
|
- html scenario runner requires ng:autotest script attribute to start tests automatically
|
|
|
|
|
|
([example](https://github.com/angular/angular.js/blob/master/example/personalLog/scenario/runner.html#L5))
|
|
|
|
|
|
|
2011-04-12 20:58:19 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.15"></a>
|
2011-04-11 17:21:23 +00:00
|
|
|
|
# <angular/> 0.9.15 lethal-stutter (2011-04-11) #
|
2011-04-04 21:49:48 +00:00
|
|
|
|
|
2011-04-11 17:21:23 +00:00
|
|
|
|
### Features
|
|
|
|
|
|
- IE9 support
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes
|
|
|
|
|
|
- reverted [ng:view] sync cache fix due to regression in the order of initialization of parent
|
|
|
|
|
|
and child controllers. (commits 9bd2c396 and 3d388498)
|
2011-07-02 15:44:50 +00:00
|
|
|
|
- [$resource] success callback is now executed whenever the http status code is `<200,300>`
|
2011-04-11 17:21:23 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Docs
|
|
|
|
|
|
- fixed intentation code that caused some of the snippets on docs.angularjs.org to be mangled.
|
|
|
|
|
|
- many small improvements of the api docs.
|
2011-04-04 21:49:48 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.14"></a>
|
2011-04-01 17:44:02 +00:00
|
|
|
|
# <angular/> 0.9.14 key-maker (2011-04-01) #
|
|
|
|
|
|
|
|
|
|
|
|
### Performance
|
|
|
|
|
|
- [ng:repeat] grows (adds children) significantly faster. (commit 15ec78f5)
|
|
|
|
|
|
- [$xhr.cache] optionally executes callbacks synchronously. (commit c06c5a36)
|
|
|
|
|
|
- [ng:view] and [ng:include] use sync [$xhr.cache]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes
|
|
|
|
|
|
- Fixed [$resource] encoding of query params. (commits e1d122a4, 78a0f410)
|
2011-03-14 06:15:36 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-04-01 17:44:02 +00:00
|
|
|
|
### House cleaning
|
|
|
|
|
|
- code cleanup
|
|
|
|
|
|
- better minification (min is now 2.5% or almost 1kb smaller)
|
|
|
|
|
|
- minor documentation fixes
|
|
|
|
|
|
- JsTestDriver 1.3.2 upgrade with fixed coverage support
|
2011-03-14 06:15:36 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.13"></a>
|
2011-03-14 00:34:01 +00:00
|
|
|
|
# <angular/> 0.9.13 curdling-stare (2011-03-13) #
|
2011-03-03 22:51:37 +00:00
|
|
|
|
|
2011-03-10 21:50:00 +00:00
|
|
|
|
### New Features
|
2011-03-14 00:34:01 +00:00
|
|
|
|
- Added XSRF protection for the [$xhr] service. (commit c578f8c3)
|
2012-01-15 07:36:15 +00:00
|
|
|
|
- Targeted auto-bootstrap – [ng:autobind] now takes an optional value which specifies an element id
|
2011-03-14 00:34:01 +00:00
|
|
|
|
to be compiled instead of compiling the entire html document. (commit 9d5c5337)
|
2011-03-10 21:50:00 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-03-10 05:03:11 +00:00
|
|
|
|
### Bug Fixes
|
2011-03-14 00:34:01 +00:00
|
|
|
|
- Fixed IE7 regression which prevented angular from bootstrapping in this browser.
|
|
|
|
|
|
- Cookies which contain unescaped '=' are now visible via the [$cookies] service. (commit 26bad2bf)
|
|
|
|
|
|
- [$xhr] service now executes "success" callback for all 2xx responses, not just 200.
|
|
|
|
|
|
(commit 5343deb3)
|
|
|
|
|
|
- Always remove the script tag after successful JSONP request. (commit 0084cb5c)
|
|
|
|
|
|
- Removal of all `document.write` statements to make angular compabile with async script loaders.
|
|
|
|
|
|
(commit 3224862a)
|
|
|
|
|
|
|
2011-03-03 22:51:37 +00:00
|
|
|
|
|
2011-03-10 05:19:19 +00:00
|
|
|
|
### Breaking changes
|
2011-03-14 00:34:01 +00:00
|
|
|
|
- The `post` parameter of [$browser.xhr][$browser] is now non-optional. Since everyone should be
|
|
|
|
|
|
using the [$xhr] service instead of $browser.xhr, this should not break anyone. If you do use
|
|
|
|
|
|
$browser.xhr then just add null for the post value argument where post was not passed in.
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-03 22:51:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.12"></a>
|
2011-03-03 08:17:21 +00:00
|
|
|
|
# <angular/> 0.9.12 thought-implanter (2011-03-03) #
|
2011-02-09 01:50:36 +00:00
|
|
|
|
|
2011-02-10 19:20:49 +00:00
|
|
|
|
### API
|
2011-03-03 08:17:21 +00:00
|
|
|
|
- Added a delay parameter to the [$defer] service. (commit edbe9d8c)
|
|
|
|
|
|
- Added `scope()` method to [angular.element][element] (jQuery) instances to retrieve a [scope]
|
|
|
|
|
|
associated with a given DOM element. (commit 0a5c00ab)
|
|
|
|
|
|
- Added inference of DI dependencies from function signature. This feature is experimental, check
|
|
|
|
|
|
out [dependency injection][guide.di] docs. (commit 7d4aee31)
|
2011-02-25 19:18:42 +00:00
|
|
|
|
|
2011-02-10 19:20:49 +00:00
|
|
|
|
|
2011-03-03 08:17:21 +00:00
|
|
|
|
### New Features
|
|
|
|
|
|
- Angular now correctly recognizes and uses jQuery even if it was loaded after angular's script.
|
|
|
|
|
|
More info at [angular.element][element]. (commit a004d487)
|
|
|
|
|
|
- All built-in angular services are now lazy-loaded. (commit a070ff5a)
|
|
|
|
|
|
- To make styling of custom html tags created via [widgets][widget] and [directives][directive]
|
|
|
|
|
|
easier, all of these elements now contain a css class with name in form of
|
|
|
|
|
|
`<namespace>-<directive/widget name>`, e.g. `<ng:include class="ng-include">`. (commit c7998f5f)
|
|
|
|
|
|
- [$xhr] service now automatically detects and strips google-style JSON security prefix from http
|
|
|
|
|
|
responses. (commit cd139f57)
|
|
|
|
|
|
|
2011-02-09 01:50:36 +00:00
|
|
|
|
|
2011-02-16 16:53:11 +00:00
|
|
|
|
### Bug Fixes
|
2011-03-03 08:17:21 +00:00
|
|
|
|
- Rewrite of JQuery lite implementation for better supports operations on multiple nodes when
|
|
|
|
|
|
matched by a selector and remove other bugs. (commit 00cc9eb3)
|
|
|
|
|
|
- Corrected an issue where properties inherited from \_\_proto\_\_ show up in ng:repeat.
|
|
|
|
|
|
(commit 9e67da42)
|
|
|
|
|
|
- Fixed url encoding issue affecting [$resource] service. (commits e9ce2259 + 9e30baad)
|
|
|
|
|
|
- Removed `$eval()` call from the [$cookies] factory function, which was causing duplicate
|
|
|
|
|
|
instances of singleton services to be created. (commit 65585a2d)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Docs
|
|
|
|
|
|
- New docs [contribution guidelines][contribute].
|
|
|
|
|
|
- New [description of release artifacts][downloading].
|
|
|
|
|
|
- Lots of improvements and other new content.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Breaking changes
|
|
|
|
|
|
- Removed the `$init()` method that used to be called after compilation of a template. This should
|
|
|
|
|
|
affect only fraction of angular apps because the api was primarily being used by low level widgets
|
|
|
|
|
|
tests.
|
|
|
|
|
|
|
|
|
|
|
|
The old way of compiling the DOM element was angular.compile(element).$init(); The $init was there
|
|
|
|
|
|
to allow the users to do any work to the scope before the view would be bound. This is a left over
|
|
|
|
|
|
from not having proper MVC. The new recommended way to deal with initializing scope is to put it
|
|
|
|
|
|
in the root constructor controller. To migrate simply remove the call to $init() and move any code
|
|
|
|
|
|
you had before $init() to the root controller.
|
|
|
|
|
|
|
|
|
|
|
|
(commit 23b255a8)
|
|
|
|
|
|
- Changed [angular.compile][compile] API from `angular.compile(element[, scope])` to
|
|
|
|
|
|
`angular.compile(element)([scope], [cloneAttachFn])` (commits ef4bb28b + 945056b1)
|
|
|
|
|
|
- Removed ng:watch directives since it encourages logic in the UI. (commit 87cbf9f5)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-02-16 16:53:11 +00:00
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.11"></a>
|
2011-02-09 01:47:31 +00:00
|
|
|
|
# <angular/> 0.9.11 snow-maker (2011-02-08) #
|
2011-01-30 22:40:48 +00:00
|
|
|
|
|
2011-02-09 01:35:20 +00:00
|
|
|
|
### Documentation
|
|
|
|
|
|
- completed migration of docs from the wiki site to
|
|
|
|
|
|
[http://docs.angularjs.org/](http://docs.angularjs.org/)
|
|
|
|
|
|
- many, but by far not all, docs were updated, improved and cleaned up
|
|
|
|
|
|
|
|
|
|
|
|
### Features
|
2011-08-21 07:50:58 +00:00
|
|
|
|
- [$route] service now supports these features:
|
2011-02-09 01:35:20 +00:00
|
|
|
|
- route not found handling via `#otherwise()`
|
|
|
|
|
|
- redirection support via `#when('/foo', {redirectTo: '/bar'})` (including param interpolation)
|
|
|
|
|
|
- setting the parent scope for scopes created by the service via `#parent()`
|
|
|
|
|
|
- reloading the current route via `#reload()`
|
|
|
|
|
|
|
2011-02-07 21:28:42 +00:00
|
|
|
|
### API
|
|
|
|
|
|
- added `angular.element(...).scope()` method to retrieve scope for a given element.
|
|
|
|
|
|
|
2011-02-03 20:25:51 +00:00
|
|
|
|
### Bug Fixes
|
|
|
|
|
|
- <option> value attribute gets clobbered when the element contains new line character(s).
|
2011-02-09 01:35:20 +00:00
|
|
|
|
- <ng:view> widget now works when nested inside an <ng:include> widget
|
|
|
|
|
|
- other various small fixes
|
|
|
|
|
|
|
|
|
|
|
|
### Breaking changes
|
2011-06-07 21:55:45 +00:00
|
|
|
|
- mock [`$browser`](http://docs.angularjs.org/#!/api/angular.mock.service.$browser) now throws an
|
2011-02-09 01:35:20 +00:00
|
|
|
|
exception if the `flush()` method is called when there are no requests to be flushed. If you
|
|
|
|
|
|
experience `No xhr requests to be flushed!` errors in your tests, it's because you called
|
|
|
|
|
|
`$browser.xhr.flush()` unexpectedly. To make the error go away, either make sure your code makes a
|
|
|
|
|
|
request via the `$xhr` service or remove all unneeded `flush()` calls.
|
2011-01-30 22:40:48 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.10"></a>
|
2011-01-27 07:35:04 +00:00
|
|
|
|
# <angular/> 0.9.10 flea-whisperer (2011-01-26) #
|
|
|
|
|
|
|
|
|
|
|
|
### Features
|
2011-06-07 21:55:45 +00:00
|
|
|
|
- new [`ng:view`](http://docs.angularjs.org/#!/api/angular.widget.ng:view) widget to simplify integration
|
2011-01-27 07:35:04 +00:00
|
|
|
|
with the `$route` service
|
|
|
|
|
|
- the content of all standard HTML widgets is now being processed
|
|
|
|
|
|
(e.g. `<button>{{foo}}</button>` works now) (commit 1d7b9d56)
|
2011-06-07 21:55:45 +00:00
|
|
|
|
- new [`$log`](http://docs.angularjs.org/#!/api/angular.mock.service.$log) and
|
|
|
|
|
|
[`$exceptionHandler`](http://docs.angularjs.org/#!/api/angular.mock.service.$exceptionHandler) service
|
2011-01-27 07:35:04 +00:00
|
|
|
|
mocks now part of `angular-mocks.js` (commit f5d08963)
|
2011-01-14 18:22:10 +00:00
|
|
|
|
|
2011-01-13 18:35:26 +00:00
|
|
|
|
### Bug Fixes
|
2011-01-27 07:35:04 +00:00
|
|
|
|
- <select> (one/multiple) could not chose from a list of objects (commit 347be5ae)
|
|
|
|
|
|
- null and other falsy values should not be rendered in the view (issue #242)
|
|
|
|
|
|
|
|
|
|
|
|
### Docs
|
|
|
|
|
|
- rewrite of several major portions of angular.service.*, angular.Array.*, angular.Object.* docs
|
|
|
|
|
|
- added support for [sitemap]((http://docs.angularjs.org/sitemap.xml) to make the docs indexable by
|
|
|
|
|
|
search crawlers
|
|
|
|
|
|
- transition of Developer Guide docs from the wiki into docs.angularjs.org
|
|
|
|
|
|
- lots of improvements related to formatting of the content of docs.anguarjs.org
|
2011-01-14 18:22:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.9"></a>
|
2011-01-14 06:04:24 +00:00
|
|
|
|
# <angular/> 0.9.9 time-shift (2011-01-13) #
|
|
|
|
|
|
|
|
|
|
|
|
### Security
|
|
|
|
|
|
- Added a just in case security check for JSON parsing. (commit 5f080193)
|
|
|
|
|
|
- Completed security review with the Google Security Team.
|
2010-12-24 06:43:42 +00:00
|
|
|
|
|
2011-01-04 08:46:25 +00:00
|
|
|
|
### Performance
|
|
|
|
|
|
- $location and $cookies services are now lazily initialized to avoid the polling overhead when
|
|
|
|
|
|
not needed.
|
2011-01-05 01:54:37 +00:00
|
|
|
|
- $location service now listens for `onhashchange` events (if supported by browser) instead of
|
2011-01-14 06:04:24 +00:00
|
|
|
|
constant polling. (commit 16086aa3)
|
2010-12-10 21:55:18 +00:00
|
|
|
|
- input widgets known listens on keydown events instead of keyup which improves perceived
|
2011-01-14 06:04:24 +00:00
|
|
|
|
performance (commit 47c454a3)
|
|
|
|
|
|
- angular boots significantly sooner by listening for DOMContentLoaded event instead of
|
|
|
|
|
|
window.load when supported by browser (commit c79aba92)
|
|
|
|
|
|
- new service $updateView which may be used in favor of $root.$eval() to run a complete eval on
|
|
|
|
|
|
the entire document. This service bulks and throttles DOM updates to improve performance.
|
|
|
|
|
|
(commit 47c454a3)
|
2010-12-10 21:55:18 +00:00
|
|
|
|
|
2011-01-14 06:04:24 +00:00
|
|
|
|
### Docs
|
|
|
|
|
|
- Major improvements to the doc parser (commit 4f22d686)
|
|
|
|
|
|
- Docs now offline enabled (all dependencies are bundled in the tarball) (commit 4f5d5029)
|
|
|
|
|
|
- Added support for navigating the docs app with keyboard shortcuts (tab and ctrl+alt+s)
|
2010-12-10 21:55:18 +00:00
|
|
|
|
|
2011-01-14 06:04:24 +00:00
|
|
|
|
### Bugfixes
|
|
|
|
|
|
- `angular.Object.equals` now properly handless comparing an object with a null (commit b0be87f6)
|
|
|
|
|
|
- Several issues were addressed in the `$location` service (commit 23875cb3)
|
|
|
|
|
|
- angular.filter.date now properly handles some corner-cases (issue #159 - fix contributed by Vojta)
|
2011-01-04 08:46:25 +00:00
|
|
|
|
|
2010-12-09 00:52:08 +00:00
|
|
|
|
### Breaking changes
|
2011-10-13 22:32:05 +00:00
|
|
|
|
- API for accessing registered services — `scope.$inject` — was renamed to
|
2011-06-07 21:55:45 +00:00
|
|
|
|
[`scope.$service`](http://docs.angularjs.org/#!/api/angular.scope.$service). (commit b2631f61)
|
2011-01-14 06:04:24 +00:00
|
|
|
|
|
|
|
|
|
|
- Support for `eager-published` services was removed. This change was done to make explicit
|
|
|
|
|
|
dependency declaration always required in order to allow making relatively expensive services
|
|
|
|
|
|
lazily initialized (e.g. $cookie, $location), as well as remove 'magic' and reduce unnecessary
|
|
|
|
|
|
scope namespace pollution. (commit 3ea5941f)
|
|
|
|
|
|
|
|
|
|
|
|
Complete list of affected services:
|
|
|
|
|
|
|
|
|
|
|
|
- $location
|
|
|
|
|
|
- $route
|
|
|
|
|
|
- $cookies
|
|
|
|
|
|
- $window
|
|
|
|
|
|
- $document
|
|
|
|
|
|
- $exceptionHandler
|
|
|
|
|
|
- $invalidWidgets
|
|
|
|
|
|
|
|
|
|
|
|
To temporarily preserve the 'eager-published' status for these services, you may use `ng:init`
|
|
|
|
|
|
(e.g. `ng:init="$location = $service('$location'), ...`) in the view or more correctly create
|
|
|
|
|
|
a service like this:
|
|
|
|
|
|
|
2011-01-30 23:47:42 +00:00
|
|
|
|
angular.service('published-svc-shim', function($location, $route, $cookies, $window,
|
|
|
|
|
|
$document, $exceptionHandler, $invalidWidgets) {
|
|
|
|
|
|
this.$location = $location;
|
|
|
|
|
|
this.$route = $route;
|
|
|
|
|
|
this.$cookies = $cookies;
|
|
|
|
|
|
this.$window = $window;
|
|
|
|
|
|
this.$document = $document;
|
|
|
|
|
|
this.$exceptionHandler = $exceptionHandler;
|
|
|
|
|
|
this.$invalidWidgets = $invalidWidgets;
|
|
|
|
|
|
}, {$inject: ['$location', '$route', '$cookies', '$window', '$document', '$exceptionHandler',
|
|
|
|
|
|
'$invalidWidgets'],
|
|
|
|
|
|
$eager: true});
|
2011-01-04 08:46:25 +00:00
|
|
|
|
|
2011-01-04 18:40:34 +00:00
|
|
|
|
- In the light of the `eager-published` change, to complete the cleanup we renamed `$creation`
|
2011-01-30 23:47:42 +00:00
|
|
|
|
property of services to `$eager` with its value being a boolean.
|
2011-01-08 06:02:23 +00:00
|
|
|
|
To transition, please rename all `$creation: 'eager'` declarations to `$eager: true`.
|
2011-01-14 06:04:24 +00:00
|
|
|
|
(commit 1430c6d6)
|
2011-01-08 06:02:23 +00:00
|
|
|
|
|
2011-01-14 06:04:24 +00:00
|
|
|
|
- `angular.foreach` was renamed to `angular.forEach` to make the api consistent. (commit 0a6cf70d)
|
2010-12-24 06:43:42 +00:00
|
|
|
|
|
2011-01-14 06:04:24 +00:00
|
|
|
|
- The `toString` method of the `angular.service.$location` service was removed. (commit 23875cb3)
|
2011-01-13 23:32:13 +00:00
|
|
|
|
|
2010-12-24 06:43:42 +00:00
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.8"></a>
|
2010-12-24 06:41:05 +00:00
|
|
|
|
# <angular/> 0.9.8 astral-projection (2010-12-23) #
|
|
|
|
|
|
|
|
|
|
|
|
### Docs/Getting started
|
|
|
|
|
|
- angular-seed project to get you hacking on an angular apps quickly
|
|
|
|
|
|
https://github.com/angular/angular-seed
|
|
|
|
|
|
|
|
|
|
|
|
### Performance
|
|
|
|
|
|
- Delegate JSON parsing to native parser (JSON.parse) if available
|
2010-12-11 06:16:10 +00:00
|
|
|
|
|
2010-12-10 06:09:46 +00:00
|
|
|
|
### Bug Fixes
|
|
|
|
|
|
- Ignore input widgets which have no name (issue #153)
|
2010-12-11 06:16:10 +00:00
|
|
|
|
|
2010-12-24 06:41:05 +00:00
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.7"></a>
|
2010-12-11 01:08:10 +00:00
|
|
|
|
# <angular/> 0.9.7 sonic-scream (2010-12-10) #
|
2010-12-07 05:24:49 +00:00
|
|
|
|
|
2010-12-07 19:39:59 +00:00
|
|
|
|
### Bug Fixes
|
2010-12-10 21:49:03 +00:00
|
|
|
|
- $defer service should always call $eval on the root scope after a callback runs (issue #189)
|
|
|
|
|
|
- fix for failed assignments of form obj[0].name=value (issue #169)
|
|
|
|
|
|
- significant parser improvements that resulted in lower memory usage
|
|
|
|
|
|
(commit 23fc73081feb640164615930b36ef185c23a3526)
|
|
|
|
|
|
|
|
|
|
|
|
### Docs
|
|
|
|
|
|
- small docs improvements (mainly docs for the $resource service)
|
2010-12-07 05:24:49 +00:00
|
|
|
|
|
2010-12-07 19:47:24 +00:00
|
|
|
|
### Breaking changes
|
2011-01-13 18:35:26 +00:00
|
|
|
|
- Angular expressions in the view used to support regular expressions. This feature was rarely
|
|
|
|
|
|
used and added unnecessary complexity. It not a good idea to have regexps in the view anyway,
|
|
|
|
|
|
so we removed this support. If you had any regexp in your views, you will have to move them to
|
2010-12-10 21:49:03 +00:00
|
|
|
|
your controllers. (commit e5e69d9b90850eb653883f52c76e28dd870ee067)
|
|
|
|
|
|
|
2010-12-07 05:24:49 +00:00
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.6"></a>
|
2010-12-07 04:23:06 +00:00
|
|
|
|
# <angular/> 0.9.6 night-vision (2010-12-06) #
|
|
|
|
|
|
|
|
|
|
|
|
### Security
|
|
|
|
|
|
- several improvements in the HTML sanitizer code to prevent code execution via `href`s and other
|
|
|
|
|
|
attributes.
|
|
|
|
|
|
Commits:
|
|
|
|
|
|
- 41d5938883a3d06ffe8a88a51efd8d1896f7d747
|
|
|
|
|
|
- 2bbced212e2ee93948c45360fee00b2e3f960392
|
|
|
|
|
|
|
|
|
|
|
|
### Docs
|
|
|
|
|
|
- set up http://docs.angularjs.org domain, the docs for the latest release will from now on be
|
|
|
|
|
|
deployed here.
|
|
|
|
|
|
- docs app UI polishing with dual scrolling and other improvements
|
|
|
|
|
|
|
|
|
|
|
|
### Bug Fixes
|
2011-01-13 18:35:26 +00:00
|
|
|
|
- `select` widget now behaves correctly when it's `option` items are created via `ng:repeat`
|
2010-12-07 05:10:38 +00:00
|
|
|
|
(issue #170)
|
2010-12-07 04:23:06 +00:00
|
|
|
|
- fix for async xhr cache issue #152 by adding `$browser.defer` and `$defer` service
|
|
|
|
|
|
|
|
|
|
|
|
### Breaking Changes
|
|
|
|
|
|
- Fix for issue #152 might break some tests that were relying on the incorrect behavior. The
|
|
|
|
|
|
breakage will usually affect code that tests resources, xhr or services/widgets build on top of
|
|
|
|
|
|
these. All that is typically needed to resolve the issue is adding a call to
|
|
|
|
|
|
`$browser.defer.flush()` in your test just before the point where you expect all cached
|
|
|
|
|
|
resource/xhr requests to return any results. Please see 011fa39c2a0b5da843395b538fc4e52e5ade8287
|
|
|
|
|
|
for more info.
|
|
|
|
|
|
- The HTML sanitizer is slightly more strinct now. Please see info in the "Security" section above.
|
2010-11-29 16:58:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.5"></a>
|
2010-11-25 18:10:54 +00:00
|
|
|
|
# <angular/> 0.9.5 turkey-blast (2010-11-25) #
|
|
|
|
|
|
|
|
|
|
|
|
### Docs
|
|
|
|
|
|
- 99% of the content from the angular wiki is now in the docs
|
|
|
|
|
|
|
|
|
|
|
|
### Api
|
|
|
|
|
|
- added `angular.Array.limitTo` to make it easy to select first or last few items of an array
|
2010-11-19 07:42:57 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.4"></a>
|
2010-11-19 05:17:18 +00:00
|
|
|
|
# <angular/> 0.9.4 total-recall (2010-11-18) #
|
|
|
|
|
|
|
|
|
|
|
|
### Docs
|
|
|
|
|
|
- searchable docs
|
|
|
|
|
|
- UI improvements
|
|
|
|
|
|
- we now have ~85% of the wiki docs migrated to ng docs
|
|
|
|
|
|
- some but not all docs were updated along the way
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Api
|
|
|
|
|
|
- ng:include now supports `onload` attribute (commit cc749760)
|
|
|
|
|
|
|
|
|
|
|
|
### Misc
|
|
|
|
|
|
- Better error handling - compilation exception now contain stack trace (commit b2d63ac4)
|
2010-11-12 00:38:23 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.3"></a>
|
2010-11-11 06:14:16 +00:00
|
|
|
|
# <angular/> 0.9.3 cold-resistance (2010-11-10) #
|
|
|
|
|
|
|
|
|
|
|
|
### Docs
|
|
|
|
|
|
- prettier docs app with syntax highlighting for examples, etc
|
|
|
|
|
|
- added documentation, examples and scenario tests for many more apis including:
|
|
|
|
|
|
- all directives
|
|
|
|
|
|
- all formatters
|
|
|
|
|
|
- all validators
|
|
|
|
|
|
- some widgets
|
2010-11-03 20:09:52 +00:00
|
|
|
|
|
2010-11-07 06:40:44 +00:00
|
|
|
|
### Api
|
|
|
|
|
|
- date filter now accepts strings that angular.String.toDate can convert to Date objects
|
2010-11-08 18:51:28 +00:00
|
|
|
|
- angular.String.toDate supports ISO8061 formated strings with all time fractions being optional
|
2010-11-11 06:14:16 +00:00
|
|
|
|
- ng:repeat now exposes $position with values set to 'first', 'middle' or 'last'
|
|
|
|
|
|
- ng:switch now supports ng:switch-default as fallback switch option
|
2010-11-07 06:40:44 +00:00
|
|
|
|
|
2010-11-08 17:05:48 +00:00
|
|
|
|
### Breaking changes
|
|
|
|
|
|
- we now support ISO 8601 extended format datetime strings (YYYY-MM-DDTHH:mm:ss.SSSZ) as defined
|
|
|
|
|
|
in EcmaScript 5 throughout angular. This means that the following apis switched from
|
|
|
|
|
|
YYYY-MM-DDTHH:mm:ssZ to YYYY-MM-DDTHH:mm:ss.SSSZ (note the added millis) when representing dates:
|
|
|
|
|
|
- angular.Date.toString
|
|
|
|
|
|
- angular.String.fromDate
|
|
|
|
|
|
- JSON serialization and deserialization (used by json filter, $xhr and $resource)
|
2010-11-11 06:14:16 +00:00
|
|
|
|
- removed SSN validator. It's unlikely that most people will need it and if they do, it can be added
|
|
|
|
|
|
simple RegExp validator.
|
2010-11-08 17:05:48 +00:00
|
|
|
|
|
2010-11-03 20:09:52 +00:00
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.2"></a>
|
2010-11-03 20:05:12 +00:00
|
|
|
|
# <angular/> 0.9.2 faunal-mimicry (2010-11-03) #
|
|
|
|
|
|
|
|
|
|
|
|
### Docs
|
|
|
|
|
|
- created documentation framework based on jsdoc syntax (commit 659af29a)
|
|
|
|
|
|
- jsdoc parser
|
|
|
|
|
|
- template generator
|
|
|
|
|
|
- json generator
|
|
|
|
|
|
- angular doc viewer app
|
|
|
|
|
|
- scenario runner for all example code
|
|
|
|
|
|
- documentation for all angular filters (commits 1fe7e3a1 & 1ba8c2a33)
|
|
|
|
|
|
- docs
|
|
|
|
|
|
- example code
|
|
|
|
|
|
- scenario tests for example code
|
2010-10-27 05:48:34 +00:00
|
|
|
|
|
2010-10-29 23:02:57 +00:00
|
|
|
|
### Testability
|
2010-11-02 23:25:43 +00:00
|
|
|
|
#### Scenario Runner
|
2010-10-29 23:02:57 +00:00
|
|
|
|
- binding DSL in Scenario can now match bindings without specifying filters
|
|
|
|
|
|
- dsl statements now accept a label argument to make test output more readable (issue #94)
|
|
|
|
|
|
- dsl element() statement now implements most of the jQuery API (issue #106)
|
2010-11-03 20:05:12 +00:00
|
|
|
|
- new browser() dsl statement for getting info about the emulated browser running the app
|
|
|
|
|
|
(issue #109)
|
2010-10-29 23:02:57 +00:00
|
|
|
|
- scenario runner is now compatible with IE8 (issue #93)
|
|
|
|
|
|
- scenarior runner checks if URL would return a non-success status code (issue #100)
|
2010-11-02 23:23:12 +00:00
|
|
|
|
- binding() DSL now accepts regular expressions
|
2010-11-02 23:25:43 +00:00
|
|
|
|
- new textarea() scenario runner DSL for entering text into textareas
|
2010-11-02 23:23:12 +00:00
|
|
|
|
|
2010-11-03 20:05:12 +00:00
|
|
|
|
### Misc
|
|
|
|
|
|
- lots of small bugfixes
|
|
|
|
|
|
|
2010-11-02 23:23:12 +00:00
|
|
|
|
### Breaking changes
|
|
|
|
|
|
#### Scenario Runner
|
|
|
|
|
|
- navigating to about:blank is no longer supported. It results in a sandbox error
|
|
|
|
|
|
- navigateTo() is now browser().navigateTo(). Old code must be updated
|
2010-11-03 20:05:12 +00:00
|
|
|
|
- file:// URLs are no longer supported for running a scenario. You must use a web server that
|
|
|
|
|
|
implements HEAD
|
2010-10-29 23:02:57 +00:00
|
|
|
|
|
2010-10-27 05:48:34 +00:00
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.1"></a>
|
2010-10-27 05:17:37 +00:00
|
|
|
|
# <angular/> 0.9.1 repulsion-field (2010-10-26) #
|
|
|
|
|
|
|
|
|
|
|
|
### Security
|
|
|
|
|
|
- added html sanitizer to fix the last few known security issues (issues #33 and #34)
|
|
|
|
|
|
|
|
|
|
|
|
### API
|
|
|
|
|
|
- new ng:submit directive for creating onSubmit handlers on forms (issue #76)
|
|
|
|
|
|
- the date filter now accepts milliseconds as well as date strings (issue #78)
|
|
|
|
|
|
- the html filter now supports 'unsafe' option to bypass html sanitization
|
|
|
|
|
|
|
|
|
|
|
|
### Testability
|
|
|
|
|
|
- lots of improvements related to the scenario runner (commit 40d7e66f)
|
|
|
|
|
|
|
|
|
|
|
|
### Demo
|
|
|
|
|
|
- added a new demo application: Personal Log (src example/personalLog)
|
|
|
|
|
|
|
|
|
|
|
|
### Chores
|
|
|
|
|
|
- lots of fixes to get all tests pass on IE
|
|
|
|
|
|
- added TzDate type to allow us to create timezone idependent tests (issue #88)
|
2010-10-22 18:09:43 +00:00
|
|
|
|
|
|
|
|
|
|
### Breaking changes
|
|
|
|
|
|
- $cookieStore service is not globally published any more, if you use it, you must request it via
|
|
|
|
|
|
$inject as any other non-global service
|
2010-10-19 04:20:47 +00:00
|
|
|
|
- html filter now sanitizes html content for XSS attacks which may result in different behavior
|
2010-10-22 18:09:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
2011-10-13 22:32:05 +00:00
|
|
|
|
<a name="0.9.0"></a>
|
2010-10-21 00:00:36 +00:00
|
|
|
|
# <angular/> 0.9.0 dragon-breath (2010-10-20) #
|
|
|
|
|
|
|
|
|
|
|
|
### Security
|
2010-10-19 04:20:47 +00:00
|
|
|
|
- angular.fromJson not safer (issue #57)
|
2010-10-21 00:00:36 +00:00
|
|
|
|
- readString consumes invalid escapes (issue #56)
|
|
|
|
|
|
- use new Function instead of eval (issue #52)
|
|
|
|
|
|
|
|
|
|
|
|
### Speed
|
|
|
|
|
|
- css cleanup + inline all css and images in the main js (issue #64)
|
|
|
|
|
|
|
|
|
|
|
|
### Testability
|
|
|
|
|
|
- initial version of the built-in end-to-end scenario runner (issues #50, #67, #70)
|
|
|
|
|
|
|
|
|
|
|
|
### API
|
|
|
|
|
|
- allow ng:controller nesting (issue #39)
|
|
|
|
|
|
- new built-in date format filter (issue #45)
|
|
|
|
|
|
- $location needs method you call on updates (issue #32)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Chores
|
|
|
|
|
|
- release versioning + file renaming (issue #69)
|
|
|
|
|
|
|
|
|
|
|
|
### Breaking changes
|
|
|
|
|
|
- $location.parse was replaced with $location.update
|
|
|
|
|
|
- all css and img files were inlined into the main js file, to support IE7 and older app must host
|
|
|
|
|
|
angular-ie-compat.js file
|
|
|
|
|
|
|
|
|
|
|
|
### Big Thanks to Our Community Contributors
|
|
|
|
|
|
- Vojta Jina
|
2011-03-03 08:17:21 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-02 06:04:34 +00:00
|
|
|
|
[lowercase]: http://docs.angularjs.org/#!/api/angular.lowercase
|
|
|
|
|
|
[uppercase]: http://docs.angularjs.org/#!/api/angular.uppercase
|
|
|
|
|
|
[isDate]: http://docs.angularjs.org/#!/api/angular.isDate
|
2011-06-07 21:55:45 +00:00
|
|
|
|
[scope]: http://docs.angularjs.org/#!/api/angular.scope
|
|
|
|
|
|
[compile]: http://docs.angularjs.org/#!/api/angular.compile
|
|
|
|
|
|
[element]: http://docs.angularjs.org/#!/api/angular.element
|
|
|
|
|
|
[widget]: http://docs.angularjs.org/#!/api/angular.widget
|
|
|
|
|
|
[ng:repeat]: http://docs.angularjs.org/#!/api/angular.widget.@ng:repeat
|
|
|
|
|
|
[ng:view]: http://docs.angularjs.org/#!/api/angular.widget.ng:view
|
|
|
|
|
|
[ng:include]: http://docs.angularjs.org/#!/api/angular.widget.ng:include
|
2011-06-27 23:46:01 +00:00
|
|
|
|
[ng:options]: http://docs.angularjs.org/#!/api/angular.directive.ng:options
|
|
|
|
|
|
[ng:disabled]: http://docs.angularjs.org/#!/api/angular.directive.ng:disabled
|
|
|
|
|
|
[ng:selected]: http://docs.angularjs.org/#!/api/angular.directive.ng:selected
|
|
|
|
|
|
[ng:checked]: http://docs.angularjs.org/#!/api/angular.directive.ng:checked
|
|
|
|
|
|
[ng:multiple]: http://docs.angularjs.org/#!/api/angular.directive.ng:multiple
|
|
|
|
|
|
[ng:readonly]: http://docs.angularjs.org/#!/api/angular.directive.ng:readonly
|
2011-07-29 22:00:31 +00:00
|
|
|
|
[ng:show]: http://docs.angularjs.org/#!/api/angular.directive.ng:show
|
|
|
|
|
|
[ng:hide]: http://docs.angularjs.org/#!/api/angular.directive.ng:hide
|
2011-09-02 06:04:34 +00:00
|
|
|
|
[ng:class]: http://docs.angularjs.org/#!/api/angular.directive.ng:class
|
|
|
|
|
|
[ng:src]: http://docs.angularjs.org/#!/api/angular.directive.ng:src
|
|
|
|
|
|
[ng:href]: http://docs.angularjs.org/#!/api/angular.directive.ng:href
|
2011-11-08 10:51:40 +00:00
|
|
|
|
[ng:style]: http://docs.angularjs.org/#!/api/angular.directive.ng:style
|
2012-01-15 07:36:15 +00:00
|
|
|
|
[$defer]: http://docs.angularjs.org/#!/api/angular.module.ng.$defer
|
|
|
|
|
|
[$cookies]: http://docs.angularjs.org/#!/api/angular.module.ng.$cookies
|
|
|
|
|
|
[$xhr]: http://docs.angularjs.org/#!/api/angular.module.ng.$xhr
|
|
|
|
|
|
[$xhr.cache]: http://docs.angularjs.org/#!/api/angular.module.ng.$xhr.cache
|
|
|
|
|
|
[$resource]: http://docs.angularjs.org/#!/api/angular.module.ng.$resource
|
|
|
|
|
|
[$route]: http://docs.angularjs.org/#!/api/angular.module.ng.$route
|
2011-06-27 23:46:01 +00:00
|
|
|
|
[$orderBy]: http://docs.angularjs.org/#!/api/angular.Array.orderBy
|
|
|
|
|
|
[date]: http://docs.angularjs.org/#!/api/angular.filter.date
|
2011-07-29 22:00:31 +00:00
|
|
|
|
[number]: http://docs.angularjs.org/#!/api/angular.filter.number
|
|
|
|
|
|
[currency]: http://docs.angularjs.org/#!/api/angular.filter.currency
|
2011-06-07 21:55:45 +00:00
|
|
|
|
[directive]: http://docs.angularjs.org/#!/api/angular.directive
|
|
|
|
|
|
[ng:autobind]: http://docs.angularjs.org/#!/api/angular.directive.ng:autobind
|
|
|
|
|
|
[guide.di]: http://docs.angularjs.org/#!/guide/dev_guide.di
|
|
|
|
|
|
[downloading]: http://docs.angularjs.org/#!/misc/downloading
|
|
|
|
|
|
[contribute]: http://docs.angularjs.org/#!/misc/contribute
|
2011-06-27 23:46:01 +00:00
|
|
|
|
[jqLite]: http://docs.angularjs.org/#!/api/angular.element
|
2011-07-29 22:00:31 +00:00
|
|
|
|
[angular.version]: http://docs.angularjs.org/#!/api/angular.version
|
2011-04-18 23:33:30 +00:00
|
|
|
|
[Jstd Scenario Adapter]: https://github.com/angular/angular.js/blob/master/src/jstd-scenario-adapter/Adapter.js
|
2011-09-02 06:04:34 +00:00
|
|
|
|
[i18n]: http://docs-next.angularjs.org/#!/guide/dev_guide.i18n
|
|
|
|
|
|
[ng:pluralize]: http://docs-next.angularjs.org/#!/api/angular.widget.ng:pluralize
|
2011-11-08 10:51:40 +00:00
|
|
|
|
[ng:form]: http://docs-next.angularjs.org/api/angular.widget.form
|
2011-09-02 06:04:34 +00:00
|
|
|
|
[ng:cloak]: http://docs-next.angularjs.org/#!/api/angular.directive.ng:cloak
|
|
|
|
|
|
[$on]: http://docs-next.angularjs.org/#!/api/angular.scope.$on
|
|
|
|
|
|
[$emit]: http://docs-next.angularjs.org/#!/api/angular.scope.$emit
|
|
|
|
|
|
[$broadcast]: http://docs-next.angularjs.org/#!/api/angular.scope.$broadcast
|
2011-10-08 16:01:34 +00:00
|
|
|
|
[$limitTo]: http://docs-next.angularjs.org/api/angular.Array.limitTo
|
|
|
|
|
|
[$location]: http://docs-next.angularjs.org/api/angular.service.$location
|
2011-11-08 10:51:40 +00:00
|
|
|
|
[e2e test runner]: http://docs-next.angularjs.org/guide/dev_guide.e2e-testing
|
2012-01-15 07:36:15 +00:00
|
|
|
|
[$injector]: http://docs-next.angularjs.org/api/angular.module.AUTO.$injector
|
|
|
|
|
|
[$http]: http://docs-next.angularjs.org/api/angular.module.ng.$http
|
|
|
|
|
|
[$httpBackend]: http://docs-next.angularjs.org/api/angular.module.ng.$httpBackend
|
|
|
|
|
|
[unit-testing $httpBackend]: http://docs-next.angularjs.org/api/angular.module.ngMock.$httpBackend
|
|
|
|
|
|
[e2e-testing $httpBackend]: http://docs-next.angularjs.org/api/angular.module.ngMockE2E.$httpBackend
|
|
|
|
|
|
[$q]: http://docs-next.angularjs.org/api/angular.module.ng.$q
|
|
|
|
|
|
[angular.bootstrap]: http://docs-next.angularjs.org/api/angular.bootstrap
|
|
|
|
|
|
[$anchorScroll]: http://docs-next.angularjs.org/api/angular.module.ng.$anchorScroll
|
|
|
|
|
|
[$cacheFactory]: http://docs-next.angularjs.org/api/angular.module.ng.$cacheFactory
|
2012-01-17 20:13:48 +00:00
|
|
|
|
[bootstrapping]: http://docs-next.angularjs.org/guide/dev_guide.bootstrap
|
2012-01-15 07:36:15 +00:00
|
|
|
|
[angular.copy]: http://docs-next.angularjs.org/api/angular.copy
|
|
|
|
|
|
[ng:app]: http://docs-next.angularjs.org/api/angular.directive.ng:app
|
|
|
|
|
|
[$compile]: http://docs-next.angularjs.org/api/angular.module.ng.$compile
|
|
|
|
|
|
[$filterProvider]: http://docs-next.angularjs.org/api/angular.module.ng.$filterProvider
|
|
|
|
|
|
[angular.Module]: http://docs-next.angularjs.org/api/angular.Module
|
2012-01-17 20:13:48 +00:00
|
|
|
|
[angular.module]: http://docs-next.angularjs.org/api/angular.module
|
2012-01-15 07:36:15 +00:00
|
|
|
|
[filter]: http://docs-next.angularjs.org/api/angular.module.ng.$filter.filter
|
|
|
|
|
|
[limitTo]: http://docs-next.angularjs.org/api/angular.module.ng.$filter.limitTo
|
|
|
|
|
|
[orderBy]: http://docs-next.angularjs.org/api/angular.module.ng.$filter.orderBy
|
|
|
|
|
|
[$browser.defer.flush]: http://docs-next.angularjs.org/api/angular.module.ngMock.$browser#defer.flush
|
|
|
|
|
|
[inject]: http://docs-next.angularjs.org/api/angular.mock.inject
|
|
|
|
|
|
[module]: http://docs-next.angularjs.org/api/angular.mock.module
|
2012-01-17 20:13:48 +00:00
|
|
|
|
[guide2.di]: http://docs-next.angularjs.org/guide/dev_guide.di
|
|
|
|
|
|
[jqLite2]: http://docs.angularjs.org/#!/api/angular.element
|