@@ -107,18 +107,18 @@ changelog to ensure that it does not surprise anyone.
107
107
- **$resource:** due to [47486524](https://github.com/angular/angular.js/commit/474865242c89ba3e8143f0cd52f8c292979ea730),
108
108
109
109
**Possible breaking change** for users who updated their code to provide a `timeout`
110
- promise for a `$resource` request in version 1 .4.8.
110
+ promise for a `$resource` request in version v1 .4.8.
111
111
112
112
Up to v1.4.7 (included), using a promise as a timeout in `$resource`, would silently
113
113
fail (i.e. have no effect).
114
114
115
115
In v1.4.8, using a promise as timeout would have the (buggy) behaviour described
116
- in https://github.com/angular/angular.js/pull/12657#issuecomment-152108887
117
- (i .e. it will work as expected for the first time you resolve the promise and will
116
+ in https://github.com/angular/angular.js/pull/12657#issuecomment-152108887.
117
+ (I .e. it will work as expected for the first time you resolve the promise and will
118
118
cancel all subsequent requests after that - one has to re-create the resource
119
- class. This is feature was not documented.)
119
+ class. This was not documented.)
120
120
121
- With this change, using a promise as timeout in 1 .4.9 onwsards is not allowed.
121
+ With this change, using a promise as timeout in v1 .4.9 onwards is not allowed.
122
122
It will log a warning and ignore the timeout value.
123
123
124
124
If you need support for cancellable `$resource` actions, you should upgrade to
@@ -568,57 +568,24 @@ is `$locals`.
568
568
- fix scoping of transclusion directives inside a replace directive
569
569
([1a98c0ee](https://github.com/angular/angular.js/commit/1a98c0ee346b718b9462da1abf4352a4605cbc7f),
570
570
[#12975](https://github.com/angular/angular.js/issues/12975), [#12936](https://github.com/angular/angular.js/issues/12936), [#13244](https://github.com/angular/angular.js/issues/13244))
571
- - use createMap() for $$observe listeners when initialized from attr interpolation
572
- ([76c2491a](https://github.com/angular/angular.js/commit/76c2491a316d6b296c721227529fcb09087d369a),
573
- [#10446](https://github.com/angular/angular.js/issues/10446))
574
- - properly sanitize xlink:href attribute interpolation
575
- ([f33ce173](https://github.com/angular/angular.js/commit/f33ce173c90736e349cf594df717ae3ee41e0f7a),
576
- [#12524](https://github.com/angular/angular.js/issues/12524))
577
571
- **$http:** apply `transformResponse` even when `data` is empty
578
572
([7c0731ed](https://github.com/angular/angular.js/commit/7c0731edb2f72bdf0efa186f641dab3b6aecc5d5),
579
573
[#12976](https://github.com/angular/angular.js/issues/12976), [#12979](https://github.com/angular/angular.js/issues/12979))
580
574
- **$location:** ensure `$locationChangeSuccess` fires even if URL ends with `#`
581
575
([4412fe23](https://github.com/angular/angular.js/commit/4412fe238f37f79a2017ee7b20ba089c0acd73e9),
582
576
[#12175](https://github.com/angular/angular.js/issues/12175), [#13251](https://github.com/angular/angular.js/issues/13251))
583
- - **$parse:**
584
- - evaluate simple expressions in interpolations only once
577
+ - **$parse:** evaluate simple expressions in interpolations only once
585
578
([1caf0b6b](https://github.com/angular/angular.js/commit/1caf0b6bee5781589e20f7a27a8c60e8b1b784f5),
586
579
[#12983](https://github.com/angular/angular.js/issues/12983), [#13002](https://github.com/angular/angular.js/issues/13002))
587
- - fix typo in error message ("assing" -> "assign")
588
- ([70dac5ae](https://github.com/angular/angular.js/commit/70dac5ae82ffe9c6250681274905583747523b5d),
589
- [#12940](https://github.com/angular/angular.js/issues/12940))
590
- - block assigning to fields of a constructor
591
- ([e1f4f23f](https://github.com/angular/angular.js/commit/e1f4f23f781a79ae8a4046b21130283cec3f2917),
592
- [#12860](https://github.com/angular/angular.js/issues/12860))
593
- - safer conversion of computed properties to strings
594
- ([20cf7d5e](https://github.com/angular/angular.js/commit/20cf7d5e3a0af766b1929e24794859c79439351c))
595
580
- **$resource:** allow XHR request to be cancelled via a timeout promise
596
581
([4fc73466](https://github.com/angular/angular.js/commit/4fc734665e5dddef26ed30a9d4f75632cd269481),
597
582
[#12657](https://github.com/angular/angular.js/issues/12657), [#12675](https://github.com/angular/angular.js/issues/12675), [#10890](https://github.com/angular/angular.js/issues/10890), [#9332](https://github.com/angular/angular.js/issues/9332))
598
583
- **$rootScope:** prevent IE9 memory leak when destroying scopes
599
584
([8fe781fb](https://github.com/angular/angular.js/commit/8fe781fbe7c42c64eb895c28d9fd5479b037d020),
600
585
[#10706](https://github.com/angular/angular.js/issues/10706), [#11786](https://github.com/angular/angular.js/issues/11786))
601
- - **$sanitize:**
602
- - strip urls starting with 'unsafe:' as opposed to 'unsafe'
603
- ([a4dfa4d0](https://github.com/angular/angular.js/commit/a4dfa4d061fd2f6baf9821f0863dcce7888232ab),
604
- [#12524](https://github.com/angular/angular.js/issues/12524))
605
- - add mXSS protection
606
- ([bc0d8c4e](https://github.com/angular/angular.js/commit/bc0d8c4eea9a34bff5e29dd492dcdd668251be40),
607
- [#12524](https://github.com/angular/angular.js/issues/12524))
608
- - support void elements, fixups, remove dead code, typos
609
- ([94207f8f](https://github.com/angular/angular.js/commit/94207f8fb6ee8fe26fe18657f6b5aca6def99605),
610
- [#12524](https://github.com/angular/angular.js/issues/12524))
611
586
- **Angular.js:** fix `isArrayLike` for unusual cases
612
587
([2c8d87e0](https://github.com/angular/angular.js/commit/2c8d87e064dca99a49ed35d1db885b1f2e40dcf4),
613
588
[#10186](https://github.com/angular/angular.js/issues/10186), [#8000](https://github.com/angular/angular.js/issues/8000), [#4855](https://github.com/angular/angular.js/issues/4855), [#4751](https://github.com/angular/angular.js/issues/4751), [#10272](https://github.com/angular/angular.js/issues/10272))
614
- - **filters:** ensure `formatNumber` observes i18n decimal separators
615
- ([658a865c](https://github.com/angular/angular.js/commit/658a865c5b2580eed53b340e7394945cd76e2260),
616
- [#10342](https://github.com/angular/angular.js/issues/10342), [#12850](https://github.com/angular/angular.js/issues/12850))
617
- - **injector:** support arrow functions with no parentheses
618
- ([03726f7f](https://github.com/angular/angular.js/commit/03726f7fbd5d71c0604b8dd40e97cb2fb0fb777f),
619
- [#12890](https://github.com/angular/angular.js/issues/12890))
620
- - **input:** remove workaround for Firefox bug
621
- ([b366f035](https://github.com/angular/angular.js/commit/b366f0352abccfe4c4868b5a9e8c0b88659bd1ee))
622
589
- **isArrayLike:** handle jQuery objects of length 0
623
590
([773efd08](https://github.com/angular/angular.js/commit/773efd0812097a89944c889c595485a5744326f6))
624
591
- **jqLite:**
@@ -637,12 +604,6 @@ is `$locals`.
637
604
- clone elements instead of treating them like simple objects
638
605
([17715fa3](https://github.com/angular/angular.js/commit/17715fa3668b1fcabaedcd82e2e57b2a80e0a0c2),
639
606
[#12286](https://github.com/angular/angular.js/issues/12286))
640
- - **ngAnimate:**
641
- - ensure anchoring uses body as a container when needed
642
- ([240d5896](https://github.com/angular/angular.js/commit/240d5896ecdfac2351f9bd6147b52de52c0b7608),
643
- [#12872](https://github.com/angular/angular.js/issues/12872))
644
- - callback detection should only use RAF when necessary
645
- ([8b27c3f0](https://github.com/angular/angular.js/commit/8b27c3f064b34532ba99d709cadf09fc4c0cbeab))
646
607
- **ngAria:** don't add tabindex to radio and checkbox inputs
647
608
([662fb282](https://github.com/angular/angular.js/commit/662fb282c176ca00a85b6dec7af90446ea90f662),
648
609
[#12492](https://github.com/angular/angular.js/issues/12492), [#13095](https://github.com/angular/angular.js/issues/13095))
@@ -652,9 +613,6 @@ is `$locals`.
652
613
- **ngMessage:** make ngMessage compatible with ngBind
653
614
([4971ef12](https://github.com/angular/angular.js/commit/4971ef12d4c2c268cb8d26f90385dc96eba19db8),
654
615
[#8089](https://github.com/angular/angular.js/issues/8089), [#13074](https://github.com/angular/angular.js/issues/13074))
655
- - **ngMessages:** prevent race condition with ngAnimate
656
- ([8366622b](https://github.com/angular/angular.js/commit/8366622bed009d2cad7d0cff28b9c1e48bfbd4e1),
657
- [#12856](https://github.com/angular/angular.js/issues/12856), [#12903](https://github.com/angular/angular.js/issues/12903))
658
616
- **ngMock:** reset cache before every test
659
617
([fd83d372](https://github.com/angular/angular.js/commit/fd83d3724ad30a93254f08cb82f981eaddb5dbff),
660
618
[#13013](https://github.com/angular/angular.js/issues/13013))
@@ -665,43 +623,18 @@ is `$locals`.
665
623
- override select option registration to allow compilation of empty option
666
624
([2fcfd75a](https://github.com/angular/angular.js/commit/2fcfd75a142200e1a4b1b7ed4fb588e3befcbd57),
667
625
[#11685](https://github.com/angular/angular.js/issues/11685), [#12972](https://github.com/angular/angular.js/issues/12972), [#12968](https://github.com/angular/angular.js/issues/12968), [#13012](https://github.com/angular/angular.js/issues/13012))
668
- - prevent frozen select ui in IE
669
- ([42c97c5d](https://github.com/angular/angular.js/commit/42c97c5db5921e9e5447fb32bdae1f48da42844f),
670
- [#11314](https://github.com/angular/angular.js/issues/11314), [#11795](https://github.com/angular/angular.js/issues/11795))
671
- - allow falsy values as option group identifiers
672
- ([b71d7c3f](https://github.com/angular/angular.js/commit/b71d7c3f3c04e65b02d88b33c22dd90ae3cdfc27),
673
- [#7015](https://github.com/angular/angular.js/issues/7015), [#7024](https://github.com/angular/angular.js/issues/7024), [#12888](https://github.com/angular/angular.js/issues/12888))
674
- - throw if ngModel is not present
675
- ([ded25187](https://github.com/angular/angular.js/commit/ded2518756d4409fdfda0d4af243f2125bea01b5),
676
- [#7047](https://github.com/angular/angular.js/issues/7047), [#12840](https://github.com/angular/angular.js/issues/12840))
677
- - **ngResource:** encode `&` in URL query param values
678
- ([1c97a605](https://github.com/angular/angular.js/commit/1c97a6057bc013262be761bca5e5c22224c4bbf8),
679
- [#12201](https://github.com/angular/angular.js/issues/12201))
680
626
- **orderByFilter:** throw error if input is not array-like
681
627
([2a85a634](https://github.com/angular/angular.js/commit/2a85a634f86c84f15b411ce009a3515fca7ba580),
682
628
[#11255](https://github.com/angular/angular.js/issues/11255), [#11719](https://github.com/angular/angular.js/issues/11719))
683
629
684
630
685
631
## Features
686
632
687
- - **$animateCss:** add support for temporary styles via `cleanupStyles`
688
- ([9f67da62](https://github.com/angular/angular.js/commit/9f67da625293441e27559ebde7503cc63408a95c),
689
- [#12930](https://github.com/angular/angular.js/issues/12930))
690
633
- **$compile:** multiple transclusion via named slots
691
634
([a4ada8ba](https://github.com/angular/angular.js/commit/a4ada8ba9c4358273575e16778e76446ad080054),
692
635
[#4357](https://github.com/angular/angular.js/issues/4357), [#12742](https://github.com/angular/angular.js/issues/12742), [#11736](https://github.com/angular/angular.js/issues/11736), [#12934](https://github.com/angular/angular.js/issues/12934))
693
- - **$http:** add `$xhrFactory` service to enable creation of custom xhr objects
694
- ([106f90aa](https://github.com/angular/angular.js/commit/106f90aafa0fa5a81ad7af7ffc9d1e00ab97ffef),
695
- [#2318](https://github.com/angular/angular.js/issues/2318), [#9319](https://github.com/angular/angular.js/issues/9319), [#12159](https://github.com/angular/angular.js/issues/12159))
696
- - **$injector:**
697
- - Allow specifying a decorator on $injector
636
+ - **$injector:** allow specifying a decorator on $injector
698
637
([29a05984](https://github.com/angular/angular.js/commit/29a05984fe46c2c18ca51404f07c866dd92d1eec))
699
- - add strictDi property to $injector instance
700
- ([79577c5d](https://github.com/angular/angular.js/commit/79577c5d316c7bf0204d7d1747ddc5b15bfe2955),
701
- [#11728](https://github.com/angular/angular.js/issues/11728), [#11734](https://github.com/angular/angular.js/issues/11734))
702
- - **$sanitize:** make svg support an opt-in
703
- ([181fc567](https://github.com/angular/angular.js/commit/181fc567d873df065f1e84af7225deb70a8d2eb9),
704
- [#12524](https://github.com/angular/angular.js/issues/12524))
705
638
- **$templateRequest:** support configuration of $http options
706
639
([b2fc39d2](https://github.com/angular/angular.js/commit/b2fc39d2ddac64249b4f2961ee18b878a1e98251),
707
640
[#13188](https://github.com/angular/angular.js/issues/13188), [#11868](https://github.com/angular/angular.js/issues/11868), [#6860](https://github.com/angular/angular.js/issues/6860))
@@ -720,18 +653,12 @@ is `$locals`.
720
653
- invoke nested calls to `module()` immediately
721
654
([51a27c0f](https://github.com/angular/angular.js/commit/51a27c0f1ad6cd8d3e33ab0d71de22c1627c7ec3),
722
655
[#12887](https://github.com/angular/angular.js/issues/12887))
723
- - **ngModel:** provide ng-empty and ng-not-empty CSS classes
724
- ([630280c7](https://github.com/angular/angular.js/commit/630280c7fb04a83208d09c97c2efb81be3a3db74),
725
- [#10050](https://github.com/angular/angular.js/issues/10050), [#12848](https://github.com/angular/angular.js/issues/12848))
726
656
727
657
728
658
## Performance Improvements
729
659
730
- - **$compile:**
731
- - use static jquery data method to avoid creating new instances
660
+ - **$compile:** use static jquery data method to avoid creating new instances
732
661
([9b90c32f](https://github.com/angular/angular.js/commit/9b90c32f31fd56e348539674128acec6536cd846))
733
- - lazily compile the `transclude` function
734
- ([652b83eb](https://github.com/angular/angular.js/commit/652b83eb226131d131a44453520a569202aa4aac))
735
662
- **$interpolate:** provide a simplified result for constant expressions
736
663
([cf83b4f4](https://github.com/angular/angular.js/commit/cf83b4f445d3a1fc18fc140e65e670754401d50b))
737
664
- **copy:**
@@ -747,13 +674,6 @@ is `$locals`.
747
674
748
675
## Breaking Changes
749
676
750
- - **$sanitize:** due to [181fc567](https://github.com/angular/angular.js/commit/181fc567d873df065f1e84af7225deb70a8d2eb9),
751
- The svg support in is now an opt-in option
752
-
753
- Applications that depend on this option can use to turn the option back on,
754
- but while doing so, please read the warning provided in the documentation for
755
- information on preventing click-hijacking attacks when this option is turned on.
756
-
757
677
- **ngMessage:** due to [4971ef12](https://github.com/angular/angular.js/commit/4971ef12d4c2c268cb8d26f90385dc96eba19db8),
758
678
759
679
ngMessage is now compiled with a priority of 1, which means directives
@@ -764,14 +684,6 @@ passed the comment element created by the transclusion of ngMessage.
764
684
To restore this behavior, custom directives need to have
765
685
their priority increased to at least "1".
766
686
767
- - **ngOptions:** due to [ded25187](https://github.com/angular/angular.js/commit/ded2518756d4409fdfda0d4af243f2125bea01b5),
768
-
769
- `ngOptions` will now throw if `ngModel` is not present on the `select`
770
- element. Previously, having no `ngModel` let `ngOptions` silently
771
- fail, which could lead to hard to debug errors. The change should
772
- therefore not affect any applications, as it simply makes the
773
- requirement more strict and alerts the developer explicitly.
774
-
775
687
- **orderByFilter:** due to [2a85a634](https://github.com/angular/angular.js/commit/2a85a634f86c84f15b411ce009a3515fca7ba580),
776
688
777
689
Previously, an non array-like input would pass through the orderBy filter unchanged.
@@ -781,9 +693,6 @@ https://github.com/petebacondarwin/angular-toArrayFilter.
781
693
(`null` and `undefined` still pass through without an error, in order to
782
694
support asynchronous loading of resources.)
783
695
784
- Closes #11255
785
- Closes #11719
786
-
787
696
788
697
789
698
<a name="1.5.0-beta.1"></a>
0 commit comments