Skip to content

Commit c09dc8b

Browse files
Merge pull request #113 from angular/master
build: add build script to generate example app for StackBlitz
2 parents c299b88 + 26ddc5f commit c09dc8b

File tree

21 files changed

+365
-135
lines changed

21 files changed

+365
-135
lines changed

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
<a name="1.7.4"></a>
2+
# 1.7.4 interstellar-exploration (2018-09-07)
3+
4+
## Bug Fixes
5+
- **ngAria.ngClick:** prevent default event on space/enter only for non-interactive elements
6+
([61b335](https://github.com/angular/angular.js/commit/61b33543ff8e7f32464dec98a46bf0a35e9b03a4),
7+
[#16664](https://github.com/angular/angular.js/issues/16664),
8+
[#16680](https://github.com/angular/angular.js/issues/16680))
9+
- **ngAnimate:** remove the "prepare" classes with multiple structural animations
10+
([3105b2](https://github.com/angular/angular.js/commit/3105b2c26a71594c4e7904efc18f4b2e9da25b1b),
11+
[#16681](https://github.com/angular/angular.js/issues/16681),
12+
[#16677](https://github.com/angular/angular.js/issues/16677))
13+
- **$route:** correctly extract path params if the path contains a question mark or a hash
14+
([2ceeb7](https://github.com/angular/angular.js/commit/2ceeb739f35e01fcebcabac4beeeb7684ae9f86d))
15+
- **ngHref:** allow numbers and other objects in interpolation
16+
([30084c](https://github.com/angular/angular.js/commit/30084c13699c814ff6703d7aa2d3947a9b2f7067),
17+
[#16652](https://github.com/angular/angular.js/issues/16652),
18+
[#16626](https://github.com/angular/angular.js/issues/16626))
19+
- **select:** allow to select first option with value `undefined`
20+
([668a33](https://github.com/angular/angular.js/commit/668a33da3439f17e61dfa8f6d9b114ebde8c9d87),
21+
[#16653](https://github.com/angular/angular.js/issues/16653),
22+
[#16656](https://github.com/angular/angular.js/issues/16656))
23+
24+
125
<a name="1.7.3"></a>
226
# 1.7.3 eventful-proposal (2018-08-03)
327

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ piece of cake. Best of all? It makes development fun!
1414

1515
--------------------
1616

17-
##### AngularJS will be moving to Long Term Support (LTS) mode on July 1st 2018: [Find out more](https://docs.angularjs.org/misc/version-support-status)
17+
**On July 1, 2018 AngularJS entered a 3 year Long Term Support period:** [Find out more](https://docs.angularjs.org/misc/version-support-status)
1818

19-
##### Looking for the new Angular? Go here: https://github.com/angular/angular
19+
**Looking for the new Angular? Go here:** https://github.com/angular/angular
2020

2121
--------------------
2222

docs/content/api/index.ngdoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
# AngularJS API Docs
66

77
<div class="alert alert-warning">
8-
**AngularJS will be moving to Long Term Support (LTS) mode on July 1st 2018.**: [Find out more](misc/version-support-status).
8+
**On July 1, 2018 AngularJS entered a 3 year Long Term Support period:** [Find out more](misc/version-support-status).
99
</div>
1010

1111
## Welcome to the AngularJS API docs page.

docs/content/guide/security.ngdoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ For more information please visit {@link $http#json-vulnerability-protection JSO
102102

103103
Bear in mind that calling `$http.jsonp` gives the remote server (and, if the request is not secured, any Man-in-the-Middle attackers)
104104
instant remote code execution in your application: the result of these requests is handed off
105-
to the browser as regular `<script>` tag.
105+
to the browser as a regular `<script>` tag.
106106

107107
## Strict Contextual Escaping
108108

docs/content/misc/version-support-status.ngdoc

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,9 @@
77
This page describes the support status of the significant versions of AngularJS.
88

99
<div class="alert alert-info">
10-
AngularJS is planning one more significant release, version 1.7, and on July 1, 2018 it will enter a 3 year Long Term Support period.
10+
On July 1, 2018 AngularJS entered a 3 year Long Term Support period.
1111
</div>
1212

13-
### Until July 1st 2018
14-
15-
Any version branch not shown in the following table (e.g. 1.5.x) is no longer being developed.
16-
17-
<table class="dev-status table table-bordered">
18-
<thead>
19-
<tr><th>Version</th><th>Status</th><th>Comments</th></tr>
20-
</thead>
21-
<tbody>
22-
<tr class="security"><td><span>1.2.x</span></td><td>Security patches only</td><td>Last version to provide IE 8 support</td></tr>
23-
<tr class="stable"><td><span>1.6.x</span></td><td>Patch Releases</td><td>Minor features, bug fixes, security patches - no breaking changes</td></tr>
24-
<tr class="current"><td><span>1.7.x</span></td><td>Active Development</td><td>1.7.0 (not yet released) will be the last release of AngularJS to contain breaking changes</td></tr>
25-
</tbody>
26-
</table>
27-
28-
### After July 1st 2018
29-
3013
Any version branch not shown in the following table (e.g. 1.6.x) is no longer being developed.
3114

3215
<table class="dev-status table table-bordered">
@@ -36,7 +19,7 @@ Any version branch not shown in the following table (e.g. 1.6.x) is no longer be
3619
<tbody>
3720
<tr class="security">
3821
<td><span>1.2.x</span></td>
39-
<td>Long Term Support</td>
22+
<td>Security patches only</td>
4023
<td>Last version to provide IE 8 support</td>
4124
</tr>
4225
<tr class="stable">
@@ -49,14 +32,16 @@ Any version branch not shown in the following table (e.g. 1.6.x) is no longer be
4932

5033
### Long Term Support
5134

52-
On July 1st 2018, we will enter a Long Term Support period for AngularJS.
35+
On July 1st 2018, AngularJS entered a Long Term Support period for AngularJS.
5336

54-
At this time we will focus exclusively on providing fixes to bugs that satisfy at least one of the following criteria:
37+
We now focus exclusively on providing fixes to bugs that satisfy at least one of the following criteria:
5538

5639
* A security flaw is detected in the 1.7.x branch of the framework
5740
* One of the major browsers releases a version that will cause current production applications using AngularJS 1.7.x to stop working
5841
* The jQuery library releases a version that will cause current production applications using AngularJS 1.7.x to stop working.
5942

43+
AngularJS 1.2.x will get a new version if and only if a new severe security issue is discovered.
44+
6045
### Blog Post
6146

6247
You can read more about these plans in our [blog post announcement](https://blog.angular.io/stable-angularjs-and-long-term-support-7e077635ee9c).

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"cross-spawn": "^4.0.0",
3434
"cz-conventional-changelog": "1.1.4",
3535
"dgeni": "^0.4.9",
36-
"dgeni-packages": "^0.26.2",
36+
"dgeni-packages": "^0.26.5",
3737
"eslint-plugin-promise": "^3.6.0",
3838
"event-stream": "~3.1.0",
3939
"glob": "^6.0.1",

src/Angular.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -792,15 +792,16 @@ function arrayRemove(array, value) {
792792
* * If `source` is identical to `destination` an exception will be thrown.
793793
*
794794
* <br />
795+
*
795796
* <div class="alert alert-warning">
796797
* Only enumerable properties are taken into account. Non-enumerable properties (both on `source`
797798
* and on `destination`) will be ignored.
798799
* </div>
799800
*
800-
* @param {*} source The source that will be used to make a copy.
801-
* Can be any type, including primitives, `null`, and `undefined`.
802-
* @param {(Object|Array)=} destination Destination into which the source is copied. If
803-
* provided, must be of the same type as `source`.
801+
* @param {*} source The source that will be used to make a copy. Can be any type, including
802+
* primitives, `null`, and `undefined`.
803+
* @param {(Object|Array)=} destination Destination into which the source is copied. If provided,
804+
* must be of the same type as `source`.
804805
* @returns {*} The copy or updated `destination`, if `destination` was specified.
805806
*
806807
* @example

src/ng/directive/ngClass.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ function classDirective(name, selector) {
125125
}
126126

127127
function toClassString(classValue) {
128+
if (!classValue) return classValue;
129+
128130
var classString = classValue;
129131

130132
if (isArray(classValue)) {
@@ -133,6 +135,8 @@ function classDirective(name, selector) {
133135
classString = Object.keys(classValue).
134136
filter(function(key) { return classValue[key]; }).
135137
join(' ');
138+
} else if (!isString(classValue)) {
139+
classString = classValue + '';
136140
}
137141

138142
return classString;

src/ng/sce.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ function $SceDelegateProvider() {
440440
// If we get here, then we will either sanitize the value or throw an exception.
441441
if (type === SCE_CONTEXTS.MEDIA_URL || type === SCE_CONTEXTS.URL) {
442442
// we attempt to sanitize non-resource URLs
443-
return $$sanitizeUri(maybeTrusted, type === SCE_CONTEXTS.MEDIA_URL);
443+
return $$sanitizeUri(maybeTrusted.toString(), type === SCE_CONTEXTS.MEDIA_URL);
444444
} else if (type === SCE_CONTEXTS.RESOURCE_URL) {
445445
if (isResourceUrlAllowedByPolicy(maybeTrusted)) {
446446
return maybeTrusted;

src/ngAnimate/animation.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,6 @@ var $$AnimationProvider = ['$animateProvider', /** @this */ function($animatePro
113113

114114
// TODO(matsko): document the signature in a better way
115115
return function(element, event, options) {
116-
var node = getDomNode(element);
117-
118116
options = prepareAnimationOptions(options);
119117
var isStructural = ['enter', 'move', 'leave'].indexOf(event) >= 0;
120118

@@ -186,8 +184,9 @@ var $$AnimationProvider = ['$animateProvider', /** @this */ function($animatePro
186184
forEach(groupedAnimations, function(animationEntry) {
187185
var element = animationEntry.from ? animationEntry.from.element : animationEntry.element;
188186
var extraClasses = options.addClass;
187+
189188
extraClasses = (extraClasses ? (extraClasses + ' ') : '') + NG_ANIMATE_CLASSNAME;
190-
var cacheKey = $$animateCache.cacheKey(node, event, extraClasses, options.removeClass);
189+
var cacheKey = $$animateCache.cacheKey(element[0], animationEntry.event, extraClasses, options.removeClass);
191190

192191
toBeSortedAnimations.push({
193192
element: element,

src/ngAria/aria.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,12 @@ ngAriaModule.directive('ngShow', ['$aria', function($aria) {
389389
var keyCode = event.which || event.keyCode;
390390

391391
if (keyCode === 13 || keyCode === 32) {
392-
// Prevent the default browser behavior (e.g. scrolling when pressing spacebar).
393-
event.preventDefault();
392+
// If the event is triggered on a non-interactive element ...
393+
if (nodeBlackList.indexOf(event.target.nodeName) === -1) {
394+
// ... prevent the default browser behavior (e.g. scrolling when pressing spacebar)
395+
// See https://github.com/angular/angular.js/issues/16664
396+
event.preventDefault();
397+
}
394398
scope.$apply(callback);
395399
}
396400

0 commit comments

Comments
 (0)