Skip to content

Commit df488c9

Browse files
committed
2 parents 0a8c16a + a4ec118 commit df488c9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+2470
-1020
lines changed

.travis.yml

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ env:
1818
- LOGS_DIR=/tmp/angular-build/logs
1919
- BROWSER_PROVIDER_READY_FILE=/tmp/sauce-connect-ready
2020

21+
install:
22+
- npm config set registry http://23.251.144.68
23+
- npm install
24+
2125
before_script:
2226
- mkdir -p $LOGS_DIR
2327
- ./lib/sauce/sauce_connect_setup.sh

CHANGELOG.md

+207-15
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,191 @@
1+
<a name="1.3.0-beta.8"></a>
2+
# 1.3.0-beta.8 accidental-haiku (2014-05-09)
3+
4+
5+
## Bug Fixes
6+
7+
- **$compile:** set $isolateScope correctly for sync template directives
8+
([562c4e42](https://github.com/angular/angular.js/commit/562c4e424b0ed5f8d4bffba0cd18e66db2059043),
9+
[#6942](https://github.com/angular/angular.js/issues/6942))
10+
- **$httpBackend:** Add missing expectHEAD() method
11+
([e1d61784](https://github.com/angular/angular.js/commit/e1d6178457045e721872022f71227b277cb88726),
12+
[#7320](https://github.com/angular/angular.js/issues/7320))
13+
- **$interpolate:** don't ReferenceError when context is undefined
14+
([924ee6db](https://github.com/angular/angular.js/commit/924ee6db06a2518224caada86769efedd21c0710),
15+
[#7230](https://github.com/angular/angular.js/issues/7230), [#7237](https://github.com/angular/angular.js/issues/7237))
16+
- **grunt-utils:** ensure special inline CSS works when `angular` is not a global
17+
([af72f40a](https://github.com/angular/angular.js/commit/af72f40a5512daa97c1f175a59b547c33cff1dc0),
18+
[#7176](https://github.com/angular/angular.js/issues/7176))
19+
- **injector:** invoke config blocks for module after all providers
20+
([c0b4e2db](https://github.com/angular/angular.js/commit/c0b4e2db9cbc8bc3164cedc4646145d3ab72536e),
21+
[#7139](https://github.com/angular/angular.js/issues/7139), [#7147](https://github.com/angular/angular.js/issues/7147))
22+
- **ngModelOptions:**
23+
- enable overriding the default with a debounce of zero
24+
([c56e32a7](https://github.com/angular/angular.js/commit/c56e32a7fa44e2edd2c70f663906720c7c9ad898),
25+
[#7205](https://github.com/angular/angular.js/issues/7205))
26+
- initialize ngModelOptions in prelink
27+
([fbf5ab8f](https://github.com/angular/angular.js/commit/fbf5ab8f17d28efeadb492c5a252f0778643f072),
28+
[#7281](https://github.com/angular/angular.js/issues/7281), [#7292](https://github.com/angular/angular.js/issues/7292))
29+
- **ngSanitize:** encode surrogate pair properly
30+
([627b0354](https://github.com/angular/angular.js/commit/627b0354ec35bef5c6dbfab6469168c2fadcbee5),
31+
[#5088](https://github.com/angular/angular.js/issues/5088), [#6911](https://github.com/angular/angular.js/issues/6911))
32+
- **ngSrc, ngSrcset:** only interpolate if all expressions are defined
33+
([8d180383](https://github.com/angular/angular.js/commit/8d180383014cbe38d58ff3eab083f51cfcfb8dde),
34+
[#6984](https://github.com/angular/angular.js/issues/6984))
35+
- **ngSwitch:** properly support case labels with different numbers of transclude fns
36+
([ac37915e](https://github.com/angular/angular.js/commit/ac37915ef64c60ec8f8d4e49e4d61d7baeb96ba0),
37+
[#7372](https://github.com/angular/angular.js/issues/7372), [#7373](https://github.com/angular/angular.js/issues/7373))
38+
39+
40+
## Features
41+
42+
- **$compile:** allow SVG and MathML templates via special `type` property
43+
([f0e12ea7](https://github.com/angular/angular.js/commit/f0e12ea7fea853192e4eead00b40d6041c5f914a),
44+
[#7265](https://github.com/angular/angular.js/issues/7265))
45+
- **$interpolate:** add optional allOrNothing param
46+
([c2362e3f](https://github.com/angular/angular.js/commit/c2362e3f45e732a9defdb0ea59ce4ec5236fcd3a))
47+
- **FormController:** commit `$viewValue` of all child controls when form is submitted
48+
([a0ae07bd](https://github.com/angular/angular.js/commit/a0ae07bd4ee8d98654df4eb261d16ca55884e374),
49+
[#7017](https://github.com/angular/angular.js/issues/7017))
50+
- **NgMessages:** introduce the NgMessages module and directives
51+
([0f4016c8](https://github.com/angular/angular.js/commit/0f4016c84a47e01a0fb993867dfd0a64828c089c))
52+
53+
54+
## Breaking Changes
55+
56+
- **$http:** due to [ad4336f9](https://github.com/angular/angular.js/commit/ad4336f9359a073e272930f8f9bcd36587a8648f),
57+
58+
59+
Previously, it was possible to register a response interceptor like so:
60+
61+
```js
62+
// register the interceptor as a service
63+
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
64+
return function(promise) {
65+
return promise.then(function(response) {
66+
// do something on success
67+
return response;
68+
}, function(response) {
69+
// do something on error
70+
if (canRecover(response)) {
71+
return responseOrNewPromise
72+
}
73+
return $q.reject(response);
74+
});
75+
}
76+
});
77+
78+
$httpProvider.responseInterceptors.push('myHttpInterceptor');
79+
```
80+
81+
Now, one must use the newer API introduced in v1.1.4 (4ae46814), like so:
82+
83+
```js
84+
$provide.factory('myHttpInterceptor', function($q) {
85+
return {
86+
response: function(response) {
87+
// do something on success
88+
return response;
89+
},
90+
responseError: function(response) {
91+
// do something on error
92+
if (canRecover(response)) {
93+
return responseOrNewPromise
94+
}
95+
return $q.reject(response);
96+
}
97+
};
98+
});
99+
100+
$httpProvider.interceptors.push('myHttpInterceptor');
101+
```
102+
103+
More details on the new interceptors API (which has been around as of v1.1.4) can be found at
104+
https://docs.angularjs.org/api/ng/service/$http#interceptors
105+
106+
107+
- **injector:** due to [c0b4e2db](https://github.com/angular/angular.js/commit/c0b4e2db9cbc8bc3164cedc4646145d3ab72536e),
108+
109+
Previously, config blocks would be able to control behaviour of provider registration, due to being
110+
invoked prior to provider registration. Now, provider registration always occurs prior to configuration
111+
for a given module, and therefore config blocks are not able to have any control over a providers
112+
registration.
113+
114+
**Example**:
115+
116+
Previously, the following:
117+
118+
```js
119+
angular.module('foo', [])
120+
.provider('$rootProvider', function() {
121+
this.$get = function() { ... }
122+
})
123+
.config(function($rootProvider) {
124+
$rootProvider.dependentMode = "B";
125+
})
126+
.provider('$dependentProvider', function($rootProvider) {
127+
if ($rootProvider.dependentMode === "A") {
128+
this.$get = function() {
129+
// Special mode!
130+
}
131+
} else {
132+
this.$get = function() {
133+
// something else
134+
}
135+
}
136+
});
137+
```
138+
139+
would have "worked", meaning behaviour of the config block between the registration of "$rootProvider"
140+
and "$dependentProvider" would have actually accomplished something and changed the behaviour of the
141+
app. This is no longer possible within a single module.
142+
143+
144+
- **ngModelOptions:** due to [adfc322b](https://github.com/angular/angular.js/commit/adfc322b04a58158fb9697e5b99aab9ca63c80bb),
145+
146+
147+
This commit changes the API on `NgModelController`, both semantically and
148+
in terms of adding and renaming methods.
149+
150+
* `$setViewValue(value)` -
151+
This method still changes the `$viewValue` but does not immediately commit this
152+
change through to the `$modelValue` as it did previously.
153+
Now the value is committed only when a trigger specified in an associated
154+
`ngModelOptions` directive occurs. If `ngModelOptions` also has a `debounce` delay
155+
specified for the trigger then the change will also be debounced before being
156+
committed.
157+
In most cases this should not have a significant impact on how `NgModelController`
158+
is used: If `updateOn` includes `default` then `$setViewValue` will trigger
159+
a (potentially debounced) commit immediately.
160+
* `$cancelUpdate()` - is renamed to `$rollbackViewValue()` and has the same meaning,
161+
which is to revert the current `$viewValue` back to the `$lastCommittedViewValue`,
162+
to cancel any pending debounced updates and to re-render the input.
163+
164+
To migrate code that used `$cancelUpdate()` follow the example below:
165+
166+
Before:
167+
168+
```js
169+
$scope.resetWithCancel = function (e) {
170+
if (e.keyCode == 27) {
171+
$scope.myForm.myInput1.$cancelUpdate();
172+
$scope.myValue = '';
173+
}
174+
};
175+
```
176+
177+
After:
178+
179+
```js
180+
$scope.resetWithCancel = function (e) {
181+
if (e.keyCode == 27) {
182+
$scope.myForm.myInput1.$rollbackViewValue();
183+
$scope.myValue = '';
184+
}
185+
}
186+
```
187+
188+
1189
<a name="v1.3.0-beta.7"></a>
2190
# v1.3.0-beta.7 proper-attribution (2014-04-25)
3191

@@ -726,26 +914,30 @@ The animation mock module has been renamed from `mock.animate` to `ngAnimateMock
726914
## Breaking Changes
727915

728916
- **$http:** due to [e1cfb195](https://github.com/angular/angular.js/commit/e1cfb1957feaf89408bccf48fae6f529e57a82fe),
729-
it is now necessary to separately specify default HTTP headers for PUT, POST and PATCH requests, as these no longer share a single object.
917+
it is now necessary to seperately specify default HTTP headers for PUT, POST and PATCH requests, as these no longer share a single object.
730918

731-
To migrate your code, follow the example below:
919+
To migrate your code, follow the example below:
732920

733-
Before:
921+
Before:
734922

735-
// Will apply to POST, PUT and PATCH methods
736-
$httpProvider.defaults.headers.post = {
737-
"X-MY-CSRF-HEADER": "..."
738-
};
923+
```
924+
// Will apply to POST, PUT and PATCH methods
925+
$httpProvider.defaults.headers.post = {
926+
"X-MY-CSRF-HEADER": "..."
927+
};
928+
```
739929

740-
After:
930+
After:
741931

742-
// POST, PUT and PATCH default headers must be specified separately,
743-
// as they do not share data.
744-
$httpProvider.defaults.headers.post =
745-
$httpProvider.defaults.headers.put =
746-
$httpProviders.defaults.headers.patch = {
747-
"X-MY-CSRF-HEADER": "..."
748-
};
932+
```
933+
// POST, PUT and PATCH default headers must be specified seperately,
934+
// as they do not share data.
935+
$httpProvider.defaults.headers.post =
936+
$httpProvider.defaults.headers.put =
937+
$httpProviders.defaults.headers.patch = {
938+
"X-MY-CSRF-HEADER": "..."
939+
};
940+
```
749941

750942
<a name="1.2.8"></a>
751943
# 1.2.8 interdimensional-cartography (2014-01-10)

CONTRIBUTING.md

+7-5
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,13 @@ would like to implement a new feature then consider what kind of change it is:
4040
[dev mailing list][angular-dev] or [IRC][irc] so that we can better coordinate our efforts, prevent
4141
duplication of work, and help you to craft the change so that it is successfully accepted into the
4242
project.
43-
* **Small Changes** can be crafted and submitted to [GitHub Repository][github] as a Pull Request.
43+
* **Small Changes** can be crafted and submitted to the [GitHub Repository][github] as a Pull Request.
4444

4545

4646
## <a name="docs"></a> Want a Doc Fix?
47-
If you want to help improve the docs, it's a good idea to let others know what you're working on to
48-
minimize duplication of effort. Before starting, check out the issue queue for [Milestone:Docs Only](https://github.com/angular/angular.js/issues?milestone=24&state=open).
47+
If you want to help improve the docs, it's a good idea to let others know what you're working on to
48+
minimize duplication of effort. Before starting, check out the issue queue for
49+
[Milestone:Docs Only](https://github.com/angular/angular.js/issues?milestone=24&state=open).
4950
Comment on an issue to let others know what you're working on, or create a new issue if your work
5051
doesn't fit within the scope of any of the existing doc fix projects.
5152

@@ -84,7 +85,7 @@ Before you submit your pull request consider the following guidelines:
8485

8586
* Search [GitHub](https://github.com/angular/angular.js/pulls) for an open or closed Pull Request
8687
that relates to your submission. You don't want to duplicate effort.
87-
* Please sign our [Contributor License Agreement (CLA)](#signing-the-cla) before sending pull
88+
* Please sign our [Contributor License Agreement (CLA)](#cla) before sending pull
8889
requests. We cannot accept code without this.
8990
* Make your changes in a new git branch
9091

@@ -93,7 +94,7 @@ Before you submit your pull request consider the following guidelines:
9394
```
9495

9596
* Create your patch, **including appropriate test cases**.
96-
* Follow our [Coding Rules](#coding-rules).
97+
* Follow our [Coding Rules](#rules).
9798
* Run the full Angular test suite, as described in the [developer documentation][dev-doc],
9899
and ensure that all tests pass.
99100
* Commit your changes using a descriptive commit message that follows our
@@ -259,6 +260,7 @@ You can find out more detailed information about contributing in the
259260
[contribute]: http://docs.angularjs.org/misc/contribute
260261
[contributing]: http://docs.angularjs.org/misc/contribute
261262
[corporate-cla]: http://code.google.com/legal/corporate-cla-v1.0.html
263+
[dev-doc]: https://docs.angularjs.org/guide
262264
[github]: https://github.com/angular/angular.js
263265
[groups]: https://groups.google.com/forum/?fromgroups#!forum/angular
264266
[individual-cla]: http://code.google.com/legal/individual-cla-v1.0.html

Gruntfile.js

+8
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,9 @@ module.exports = function(grunt) {
122122
ngLocale: {
123123
files: { src: 'src/ngLocale/**/*.js' },
124124
},
125+
ngMessages: {
126+
files: { src: 'src/ngMessages/**/*.js' },
127+
},
125128
ngMock: {
126129
files: { src: 'src/ngMock/**/*.js' },
127130
},
@@ -190,6 +193,10 @@ module.exports = function(grunt) {
190193
dest: 'build/angular-resource.js',
191194
src: util.wrap(files['angularModules']['ngResource'], 'module')
192195
},
196+
messages: {
197+
dest: 'build/angular-messages.js',
198+
src: util.wrap(files['angularModules']['ngMessages'], 'module')
199+
},
193200
animate: {
194201
dest: 'build/angular-animate.js',
195202
src: util.wrap(files['angularModules']['ngAnimate'], 'module')
@@ -214,6 +221,7 @@ module.exports = function(grunt) {
214221
animate: 'build/angular-animate.js',
215222
cookies: 'build/angular-cookies.js',
216223
loader: 'build/angular-loader.js',
224+
messages: 'build/angular-messages.js',
217225
touch: 'build/angular-touch.js',
218226
resource: 'build/angular-resource.js',
219227
route: 'build/angular-route.js',

angularFiles.js

+5
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ angularFiles = {
8080
'ngCookies': [
8181
'src/ngCookies/cookies.js'
8282
],
83+
'ngMessages': [
84+
'src/ngMessages/messages.js'
85+
],
8386
'ngResource': [
8487
'src/ngResource/resource.js'
8588
],
@@ -128,6 +131,7 @@ angularFiles = {
128131
'test/auto/*.js',
129132
'test/ng/**/*.js',
130133
'test/ngAnimate/*.js',
134+
'test/ngMessages/*.js',
131135
'test/ngCookies/*.js',
132136
'test/ngResource/*.js',
133137
'test/ngRoute/**/*.js',
@@ -189,6 +193,7 @@ angularFiles = {
189193

190194
angularFiles['angularSrcModules'] = [].concat(
191195
angularFiles['angularModules']['ngAnimate'],
196+
angularFiles['angularModules']['ngMessages'],
192197
angularFiles['angularModules']['ngCookies'],
193198
angularFiles['angularModules']['ngResource'],
194199
angularFiles['angularModules']['ngRoute'],

docs/app/assets/css/docs.css

+9
Original file line numberDiff line numberDiff line change
@@ -572,6 +572,15 @@ ul.events > li {
572572
margin-bottom:40px;
573573
}
574574

575+
@media only screen and (min-width: 769px) and (max-width: 991px) {
576+
.main-body-grid {
577+
margin-top: 160px;
578+
}
579+
.main-body-grid > .grid-left {
580+
top: 160px;
581+
}
582+
}
583+
575584
@media only screen and (max-width : 768px) {
576585
.picker, .picker select {
577586
width:auto;

docs/app/src/directives.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ angular.module('directives', [])
2222
terminal: true,
2323
compile: function(element) {
2424
var linenums = element.hasClass('linenum');// || element.parent()[0].nodeName === 'PRE';
25-
var match = /lang-(\S)+/.exec(element.className);
25+
var match = /lang-(\S+)/.exec(element[0].className);
2626
var lang = match && match[1];
2727
var html = element.html();
2828
element.html(window.prettyPrintOne(html, lang, linenums));

docs/app/src/search.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ angular.module('search', [])
88
}
99

1010
$scope.search = function(q) {
11-
var MIN_SEARCH_LENGTH = 3;
11+
var MIN_SEARCH_LENGTH = 2;
1212
if(q.length >= MIN_SEARCH_LENGTH) {
1313
var results = docsSearch(q);
1414
var totalAreas = 0;
@@ -35,7 +35,7 @@ angular.module('search', [])
3535
}
3636
}
3737
if(result) {
38-
$location.path(result.url);
38+
$location.path(result.path);
3939
$scope.hideResults();
4040
}
4141
};

0 commit comments

Comments
 (0)