Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 6a0aff8

Browse files
committed
docs(changelog): release notes for 1.2.0
1 parent e418118 commit 6a0aff8

File tree

1 file changed

+243
-0
lines changed

1 file changed

+243
-0
lines changed

CHANGELOG.md

+243
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,246 @@
1+
<a name="1.2.0"></a>
2+
# 1.2.0 timely-delivery (2013-11-08)
3+
4+
5+
6+
## Features
7+
8+
9+
- **animations:**
10+
- ensure CSS transitions can work with inherited CSS class definitions
11+
([9d69a0a7](https://github.com/angular/angular.js/commit/9d69a0a7c75c937c0a49bb705d31252326b052df))
12+
- provide support for staggering animations with CSS
13+
([74848307](https://github.com/angular/angular.js/commit/74848307443c00ab07552336c56ddfa1e9ef6eff))
14+
- **$parse:** secure expressions by hiding "private" properties
15+
([3d6a89e8](https://github.com/angular/angular.js/commit/3d6a89e8888b14ae5cb5640464e12b7811853c7e))
16+
- **docs:**
17+
- provide index pages for each angular module
18+
([a7e12b79](https://github.com/angular/angular.js/commit/a7e12b7959212f2fa88fe17d5a045cc9d8b22922))
19+
- add forward slash shortcut key for search bar
20+
([74912802](https://github.com/angular/angular.js/commit/74912802c644ca929e39a7583cb7a9a05f12e91f))
21+
- **jqLite:** expose isolateScope() getter similar to scope()
22+
([27e9340b](https://github.com/angular/angular.js/commit/27e9340b3c25b512e45213b39811098d07e12e3b))
23+
- **misc:** add externs file for Closure Compiler
24+
([9d0a6977](https://github.com/angular/angular.js/commit/9d0a69772c39bfc751ca2000c3b4b3381e51fe93))
25+
26+
27+
28+
## Bug Fixes
29+
30+
- **$animate:**
31+
- don't force animations to be enabled
32+
([98adc9e0](https://github.com/angular/angular.js/commit/98adc9e0383dc05efad168f30a0725cb67f5eda8))
33+
- only apply the fallback property if any transition animations are detected
34+
([94700807](https://github.com/angular/angular.js/commit/9470080762aecca5285d0f5cac4ae01540bbad4c))
35+
- avoid hanging animations if the active CSS transition class is missing
36+
([b89584db](https://github.com/angular/angular.js/commit/b89584db10b63f346cbfd03f67fb92504e5bf362),
37+
[#4732](https://github.com/angular/angular.js/issues/4732), [#4490](https://github.com/angular/angular.js/issues/4490))
38+
- ensure staggering animations understand multiple delay values
39+
([41a2d5b3](https://github.com/angular/angular.js/commit/41a2d5b30f4feb90651eb577cf44852a6d2be72c))
40+
- ensure the active class is not applied if cancelled during reflow
41+
([e53ff431](https://github.com/angular/angular.js/commit/e53ff431e1472c0b2d5405d267d4e403ca31087e),
42+
[#4699](https://github.com/angular/angular.js/issues/4699))
43+
- use direct DOM comparison when checking for $rootElement
44+
([d434eabe](https://github.com/angular/angular.js/commit/d434eabec3955f8d56c859c93befe711bfa1de27),
45+
[#4679](https://github.com/angular/angular.js/issues/4679))
46+
- ensure former nodes are fully cleaned up when a follow-up structural animation takes place
47+
([7f0767ac](https://github.com/angular/angular.js/commit/7f0767acaba1ec3c8849244a604b0d1c8c376446),
48+
[#4435](https://github.com/angular/angular.js/issues/4435))
49+
- ensure enable/disable animations work when the document node is used
50+
([6818542c](https://github.com/angular/angular.js/commit/6818542c694aec6c811fb2fe2f86f7d16544c39b),
51+
[#4669](https://github.com/angular/angular.js/issues/4669))
52+
- skip unnecessary addClass/removeClass animations
53+
([76b628bc](https://github.com/angular/angular.js/commit/76b628bcb3511210d312ed667e5c14d908a9fed1),
54+
[#4401](https://github.com/angular/angular.js/issues/4401), [#2332](https://github.com/angular/angular.js/issues/2332))
55+
- ensure animations work properly when the $rootElement is being animated
56+
([2623de14](https://github.com/angular/angular.js/commit/2623de1426219dc799f63a3d155911f93fc03461),
57+
[#4397](https://github.com/angular/angular.js/issues/4397), [#4231](https://github.com/angular/angular.js/issues/4231))
58+
- only cancel class-based animations if the follow-up class contains CSS transition/keyframe animation code
59+
([f5289fe8](https://github.com/angular/angular.js/commit/f5289fe84ffc1f2368dae7bd14c420abbe76749e),
60+
[#4463](https://github.com/angular/angular.js/issues/4463), [#3784](https://github.com/angular/angular.js/issues/3784))
61+
- **$compile:**
62+
- don't leak isolate scope state when replaced directive is used multiple times
63+
([b5af198f](https://github.com/angular/angular.js/commit/b5af198f0d5b0f2b3ddb31ea12f700f3e0616271))
64+
- correct isolate scope distribution to controllers
65+
([3fe4491a](https://github.com/angular/angular.js/commit/3fe4491a6bf57ddeb312b8a30cf1706f6f1d2355))
66+
- replaced element has isolate scope
67+
([97c7a4e3](https://github.com/angular/angular.js/commit/97c7a4e3791d7cb05c3317cc5f0c49ab93810bf6))
68+
- only pass isolate scope to children that belong to the isolate directive
69+
([d0efd5ee](https://github.com/angular/angular.js/commit/d0efd5eefcc0aaf167c766513e152b74dd31bafe))
70+
- make isolate scope truly isolate
71+
([909cabd3](https://github.com/angular/angular.js/commit/909cabd36d779598763cc358979ecd85bb40d4d7),
72+
[#1924](https://github.com/angular/angular.js/issues/1924), [#2500](https://github.com/angular/angular.js/issues/2500))
73+
- don't instantiate controllers twice for element transclude directives
74+
([18ae985c](https://github.com/angular/angular.js/commit/18ae985c3a3147b589c22f6ec21bacad2f578e2b),
75+
[#4654](https://github.com/angular/angular.js/issues/4654))
76+
- attribute bindings should not break due to terminal directives
77+
([79223eae](https://github.com/angular/angular.js/commit/79223eae5022838893342c42dacad5eca83fabe8),
78+
[#4525](https://github.com/angular/angular.js/issues/4525), [#4528](https://github.com/angular/angular.js/issues/4528), [#4649](https://github.com/angular/angular.js/issues/4649))
79+
- instantiate controlers when re-entering compilation
80+
([faf5b980](https://github.com/angular/angular.js/commit/faf5b980da09da2b4c28f1feab33f87269f9f0ba),
81+
[#4434](https://github.com/angular/angular.js/issues/4434), [#4616](https://github.com/angular/angular.js/issues/4616))
82+
- **$injector:** allow a constructor function to return a function
83+
([c22adbf1](https://github.com/angular/angular.js/commit/c22adbf160f32c1839fbb35382b7a8c6bcec2927))
84+
- **$parse:** check function call context to be safe
85+
([6d324c76](https://github.com/angular/angular.js/commit/6d324c76f0d3ad7dae69ce01b14e0564938fb15e),
86+
[#4417](https://github.com/angular/angular.js/issues/4417))
87+
- **angular-mocks:** add inline dependency annotation
88+
([6d23591c](https://github.com/angular/angular.js/commit/6d23591c31f2b41097ceaa380af09998e4a62f09),
89+
[#4448](https://github.com/angular/angular.js/issues/4448))
90+
- **animateSpec:** run digest to enable animations before tests
91+
([aea76f0d](https://github.com/angular/angular.js/commit/aea76f0d5c43dc17f1319d0a45d2ce50fddf72e4))
92+
- **bootstrap-prettify:** share $animate and $$postDigestQueue with demo apps
93+
([1df3da36](https://github.com/angular/angular.js/commit/1df3da361d62726bf1dafe629a7fca845b6a8733))
94+
- **csp:**
95+
- fix csp auto-detection and stylesheet injection
96+
([08f376f2](https://github.com/angular/angular.js/commit/08f376f2ea3d3bb384f10e3c01f7d48ed21ce351),
97+
[#917](https://github.com/angular/angular.js/issues/917), [#2963](https://github.com/angular/angular.js/issues/2963), [#4394](https://github.com/angular/angular.js/issues/4394), [#4444](https://github.com/angular/angular.js/issues/4444))
98+
- don't inline css in csp mode
99+
([a86cf20e](https://github.com/angular/angular.js/commit/a86cf20e67202d614bbcaf038c5e04db94483256)
100+
- **docModuleComponents:** implement anchor scroll when content added
101+
([eb51b024](https://github.com/angular/angular.js/commit/eb51b024c9b77527420014cdf7dbb292b5b9dd6b),
102+
[#4703](https://github.com/angular/angular.js/issues/4703))
103+
- **input:** keep track of min/max attars on-the-fly
104+
([4b653aea](https://github.com/angular/angular.js/commit/4b653aeac1aca7ac551738870a2446b6810ca0df))
105+
- **ngAnimate:** fix cancelChildAnimations throwing exception
106+
([b9557b0a](https://github.com/angular/angular.js/commit/b9557b0a86206d938a738ea470736d011dff7e1a),
107+
[#4548](https://github.com/angular/angular.js/issues/4548))
108+
- **ngClassSpec:** clear animation enable fn from postDigestQueue
109+
([ffa9d0a6](https://github.com/angular/angular.js/commit/ffa9d0a6db137cba4090e569b8ed4e25a711314e))
110+
- **ngEventDirectives:** parse expression only once during compile phase.
111+
([9a828738](https://github.com/angular/angular.js/commit/9a828738cd2e959bc2a198989e96c8e416d28b71))
112+
- **ngIf:**
113+
- destroy child scope when destroying DOM
114+
([9483373c](https://github.com/angular/angular.js/commit/9483373c331343648e079420b3eb1f564d410ff2))
115+
- ngIf removes elements dynamically added to it
116+
([e19067c9](https://github.com/angular/angular.js/commit/e19067c9bbac3c3bb450c80f73eb5518bd0db1a1))
117+
- **ngInclude:** only run anchorScroll after animation is done
118+
([d378f550](https://github.com/angular/angular.js/commit/d378f5500ab2eef0779338336c6a95656505ebb8),
119+
[#4723](https://github.com/angular/angular.js/issues/4723))
120+
- **ngMock:** throw more descriptive errors for $animate.flushNext()
121+
([6fb19157](https://github.com/angular/angular.js/commit/6fb191570ee72f087e8bb6b1d8f5eea0f585886c))
122+
- **ngModel:** deregister from the form on scope not DOM destruction
123+
([8f989d65](https://github.com/angular/angular.js/commit/8f989d652f70fd147f66a18411070c7b939e242e),
124+
[#4226](https://github.com/angular/angular.js/issues/4226), [#4779](https://github.com/angular/angular.js/issues/4779))
125+
- **ngScenario:** correctly disable animations for end 2 end tests
126+
([9d004585](https://github.com/angular/angular.js/commit/9d0045856351e9db48ddf66f66e210d9cc53d24a))
127+
- **ngView:**
128+
- only run anchorScroll after animation is done
129+
([da344daa](https://github.com/angular/angular.js/commit/da344daa4023556f8abbef6d8ad87a16362b5861))
130+
- ensure the new view element is placed after the old view element
131+
([3f568b22](https://github.com/angular/angular.js/commit/3f568b22f9bec09192588e3cae937db5c2e757f9),
132+
[#4362](https://github.com/angular/angular.js/issues/4362))
133+
- **ngdocs:**
134+
- create mock Doc objects correctly
135+
([d4493fda](https://github.com/angular/angular.js/commit/d4493fda2c4c2ff1fdfc264bfb479741abc781c7))
136+
- `shortDescription()` should not error if no `description`
137+
([4c8fa353](https://github.com/angular/angular.js/commit/4c8fa353245b9c32261860caff18f002d294e19f))
138+
- remove the side search bar
139+
([6c20ec19](https://github.com/angular/angular.js/commit/6c20ec193f11aa647be1b2ad2ac5b3e7c2894bd7))
140+
141+
142+
143+
## Breaking Changes
144+
145+
- **$compile:**
146+
- due to [d0efd5ee](https://github.com/angular/angular.js/commit/d0efd5eefcc0aaf167c766513e152b74dd31bafe),
147+
Child elements that are defined either in the application template or in some other
148+
directives template do not get the isolate scope. In theory, nobody should rely on this behavior, as
149+
it is very rare - in most cases the isolate directive has a template.
150+
151+
- due to [909cabd3](https://github.com/angular/angular.js/commit/909cabd36d779598763cc358979ecd85bb40d4d7),
152+
Directives without isolate scope do not get the isolate scope from an isolate directive on the
153+
same element. If your code depends on this behavior (non-isolate directive needs to access state
154+
from within the isolate scope), change the isolate directive to use scope locals to pass these explicitly.
155+
156+
**Before**
157+
158+
```
159+
<input ng-model="$parent.value" ng-isolate>
160+
161+
.directive('ngIsolate', function() {
162+
return {
163+
scope: {},
164+
template: '{{value}}'
165+
};
166+
});
167+
```
168+
169+
**After**
170+
171+
```
172+
<input ng-model="value" ng-isolate>
173+
174+
.directive('ngIsolate', function() {
175+
return {
176+
scope: {value: '=ngModel'},
177+
template: '{{value}}
178+
};
179+
});
180+
```
181+
182+
Closes [#1924](https://github.com/angular/angular.js/issues/1924) and
183+
[#2500](https://github.com/angular/angular.js/issues/2500)
184+
185+
- due to [79223eae](https://github.com/angular/angular.js/commit/79223eae5022838893342c42dacad5eca83fabe8),
186+
187+
Previously, the interpolation priority was `-100` in 1.2.0-rc.2, and `100` before 1.2.0-rc.2.
188+
Before this change the binding was setup in the post-linking phase.
189+
190+
Now the attribute interpolation (binding) executes as a directive with priority 100 and the
191+
binding is set up in the pre-linking phase.
192+
193+
Closes [#4525](https://github.com/angular/angular.js/issues/4525),
194+
[#4528](https://github.com/angular/angular.js/issues/4528), and
195+
[#4649](https://github.com/angular/angular.js/issues/4649)
196+
197+
198+
- **$parse:** due to [3d6a89e8](https://github.com/angular/angular.js/commit/3d6a89e8888b14ae5cb5640464e12b7811853c7e),
199+
200+
This commit introduces the notion of "private" properties (properties
201+
whose names begin and/or end with an underscore) on the scope chain.
202+
These properties will not be available to Angular expressions (i.e. {{
203+
}} interpolation in templates and strings passed to `$parse`) They are
204+
freely available to JavaScript code (as before).
205+
206+
**Motivation**
207+
208+
Angular expressions execute in a limited context. They do not have
209+
direct access to the global scope, `window`, `document` or the Function
210+
constructor. However, they have direct access to names/properties on
211+
the scope chain. It has been a long standing best practice to keep
212+
sensitive APIs outside of the scope chain (in a closure or your
213+
controller.) That's easier said that done for two reasons:
214+
215+
1. JavaScript does not have a notion of private properties so if you need
216+
someone on the scope chain for JavaScript use, you also expose it to
217+
Angular expressions
218+
2. the new "controller as" syntax that's now in increased usage exposes the
219+
entire controller on the scope chain greatly increaing the exposed surface.
220+
221+
Though Angular expressions are written and controlled by the developer, they:
222+
223+
1. Typically deal with user input
224+
2. Don't get the kind of test coverage that JavaScript code would
225+
226+
This commit provides a way, via a naming convention, to
227+
allow publishing/restricting properties from controllers/scopes to
228+
Angular expressions enabling one to only expose those properties that
229+
are actually needed by the expressions.
230+
231+
- **csp:** due to [08f376f2](https://github.com/angular/angular.js/commit/08f376f2ea3d3bb384f10e3c01f7d48ed21ce351),
232+
triggering ngCsp directive via `ng:csp` attribute is not supported any more.
233+
Please use `data-ng-csp` instead.
234+
235+
- **jqLite:** due to [27e9340b](https://github.com/angular/angular.js/commit/27e9340b3c25b512e45213b39811098d07e12e3b),
236+
`jqLite.scope()` (connonly used through `angular.element(node).scope()`) does not return the
237+
isolate scope on the element that triggered directive with isolate scope. Use
238+
`jqLite.isolateScope()` instead.
239+
240+
241+
242+
243+
1244
<a name="1.2.0-rc.3"></a>
2245
# 1.2.0-rc.3 ferocious-twitch (2013-10-14)
3246

0 commit comments

Comments
 (0)