|
1 | 1 |
|
| 2 | +<a name="1.3.0-beta.16"></a> |
| 3 | +# 1.3.0-beta.16 pizza-transubstantiation (2014-07-18) |
| 4 | + |
| 5 | +## Bug Fixes |
| 6 | + |
| 7 | +- **$cookie:** use `decodeURIComponent` instead of unescape for cookie reading |
| 8 | + ([1c9ab40d](https://github.com/angular/angular.js/commit/1c9ab40d286ffdb1b41d30ca8d861b53175bfc24), |
| 9 | + [#8125](https://github.com/angular/angular.js/issues/8125)) |
| 10 | +- **$http:** fix double-quoted date issue when encoding params |
| 11 | + ([9dce42b3](https://github.com/angular/angular.js/commit/9dce42b3c26eb02621723172a68725980369b849), |
| 12 | + [#8150](https://github.com/angular/angular.js/issues/8150), [#6128](https://github.com/angular/angular.js/issues/6128), [#8154](https://github.com/angular/angular.js/issues/8154)) |
| 13 | +- **$location:** handle plus character in query strings |
| 14 | + ([3f4ee151](https://github.com/angular/angular.js/commit/3f4ee1513901f55d6007e3fc3948458adf4ac656), |
| 15 | + [#3042](https://github.com/angular/angular.js/issues/3042)) |
| 16 | +- **$rootScope:** |
| 17 | + - `$watchCollection` should handle `NaN` in objects |
| 18 | + ([db9f2570](https://github.com/angular/angular.js/commit/db9f2570c18d77d0e51d5a7afa139d25d0bdc470), |
| 19 | + [#7930](https://github.com/angular/angular.js/issues/7930)) |
| 20 | + - remove support for a watch action to be a string |
| 21 | + ([02c0ed27](https://github.com/angular/angular.js/commit/02c0ed27bc375d5352fefdd7e34aad9758621283), |
| 22 | + [#8190](https://github.com/angular/angular.js/issues/8190)) |
| 23 | +- **csp:** fix autodetection of CSP + better docs |
| 24 | + ([0113f225](https://github.com/angular/angular.js/commit/0113f2257415422729d5c2a9bdba76c1d0a17a13), |
| 25 | + [#8162](https://github.com/angular/angular.js/issues/8162), [#8191](https://github.com/angular/angular.js/issues/8191)) |
| 26 | +- **ngList:** use custom separators for re-joining list items |
| 27 | + ([c6c9d26e](https://github.com/angular/angular.js/commit/c6c9d26e3487ce24ece390c26994123964f805b0), |
| 28 | + [#4008](https://github.com/angular/angular.js/issues/4008), [#2561](https://github.com/angular/angular.js/issues/2561), [#4344](https://github.com/angular/angular.js/issues/4344)) |
| 29 | +- **ngRoute:** remove unnecessary call to `decodeURIComponent` |
| 30 | + ([528f56a6](https://github.com/angular/angular.js/commit/528f56a690295650f54eeb2238609446635c5db0), |
| 31 | + [#6326](https://github.com/angular/angular.js/issues/6326), [#6327](https://github.com/angular/angular.js/issues/6327)) |
| 32 | +- **ngSanitize:** follow HTML parser rules for start tags / allow < in text content |
| 33 | + ([f6681d41](https://github.com/angular/angular.js/commit/f6681d41a493efa6566f8a8a0b6ec39547e572ef), |
| 34 | + [#8212](https://github.com/angular/angular.js/issues/8212), [#8193](https://github.com/angular/angular.js/issues/8193)) |
| 35 | +- **ngSwitch:** |
| 36 | + - interoperate with multi-element transclude directives |
| 37 | + ([c20d438a](https://github.com/angular/angular.js/commit/c20d438ac9b9757331d096969a73c782c38e098a), |
| 38 | + [#8235](https://github.com/angular/angular.js/issues/8235), [#8244](https://github.com/angular/angular.js/issues/8244)) |
| 39 | + - use the correct transclusion scope |
| 40 | + ([4f32e3ee](https://github.com/angular/angular.js/commit/4f32e3eef152bcaab7f7ab151fc824e71a591473), |
| 41 | + [#8235](https://github.com/angular/angular.js/issues/8235)) |
| 42 | +- **orderBy:** correctly order by date values |
| 43 | + ([92bceb5c](https://github.com/angular/angular.js/commit/92bceb5c5b6e4a5a8fee01e1e0dfcf4674858cf2), |
| 44 | + [#6675](https://github.com/angular/angular.js/issues/6675), [#6746](https://github.com/angular/angular.js/issues/6746)) |
| 45 | +- **select:** force visual update in IE |
| 46 | + ([d7f73022](https://github.com/angular/angular.js/commit/d7f730228d58d3a409846e64ba5d0120356691cc), |
| 47 | + [#7692](https://github.com/angular/angular.js/issues/7692), [#8158](https://github.com/angular/angular.js/issues/8158)) |
| 48 | + |
| 49 | + |
| 50 | +## Features |
| 51 | + |
| 52 | +- **$compile:** explicitly request multi-element directive behaviour |
| 53 | + ([e8066c4b](https://github.com/angular/angular.js/commit/e8066c4b4ce11496b0d8f39e41b4d753048bca2d), |
| 54 | + [#5372](https://github.com/angular/angular.js/issues/5372), [#6574](https://github.com/angular/angular.js/issues/6574), [#5370](https://github.com/angular/angular.js/issues/5370), [#8044](https://github.com/angular/angular.js/issues/8044), [#7336](https://github.com/angular/angular.js/issues/7336)) |
| 55 | +- **ngList:** use ngTrim to manage whitespace handling when splitting |
| 56 | + ([8d18d20e](https://github.com/angular/angular.js/commit/8d18d20e316ed9d420f09f46f90027aef2940930)) |
| 57 | +- **ngTransclude:** allow ngTransclude to be used as an element |
| 58 | + ([3dafcba9](https://github.com/angular/angular.js/commit/3dafcba9c1738b85f3adceaac90b747a1b595ea8), |
| 59 | + [#8141](https://github.com/angular/angular.js/issues/8141)) |
| 60 | + |
| 61 | + |
| 62 | +## Performance Improvements |
| 63 | + |
| 64 | +- **$compile:** only create jqLite object when necessary |
| 65 | + ([a160f76f](https://github.com/angular/angular.js/commit/a160f76ffa9544cd2ed99f24ba65b5994108f9f5)) |
| 66 | +- **bindOnce** more performant interpolation and lazy one-time binding |
| 67 | + ([86d55c1d](https://github.com/angular/angular.js/commit/86d55c1ded21a5be6091344493d70c6dc4194e43)) |
| 68 | +- **jqLite:** expose the low-level jqLite.data/removeData calls |
| 69 | + ([e4ba8943](https://github.com/angular/angular.js/commit/e4ba89436aa0b96f126ce2c23d0c7f7c785573fe)) |
| 70 | +- **ngBindHtml:** move addClass to the compile phase |
| 71 | + ([903e7352](https://github.com/angular/angular.js/commit/903e7352c9943e4d3757dd1cff58178d4c5375d6), |
| 72 | + [#8261](https://github.com/angular/angular.js/issues/8261)) |
| 73 | + |
| 74 | + |
| 75 | +## Breaking Changes |
| 76 | + |
| 77 | +- **$compile:** due to [e8066c4b](https://github.com/angular/angular.js/commit/e8066c4b4ce11496b0d8f39e41b4d753048bca2d), |
| 78 | + Directives which previously depended on the implicit grouping between |
| 79 | +directive-start and directive-end attributes must be refactored in order to see this same behaviour. |
| 80 | + |
| 81 | +Before: |
| 82 | + |
| 83 | +```html |
| 84 | +<div data-fancy-directive-start>{{start}}</div> |
| 85 | + <p>Grouped content</p> |
| 86 | +<div data-fancy-directive-end>{{end}}</div> |
| 87 | +``` |
| 88 | +```javascript |
| 89 | +.directive('fancyDirective', function() { |
| 90 | + return { |
| 91 | + link: angular.noop |
| 92 | + }; |
| 93 | +}) |
| 94 | +``` |
| 95 | + |
| 96 | +After: |
| 97 | + |
| 98 | +```html |
| 99 | +<div data-fancy-directive-start>{{start}}</div> |
| 100 | + <p>Grouped content</p> |
| 101 | +<div data-fancy-directive-end>{{end}}</div> |
| 102 | +``` |
| 103 | +```javascript |
| 104 | +.directive('fancyDirective', function() { |
| 105 | + return { |
| 106 | + multiElement: true, // Explicitly mark as a multi-element directive. |
| 107 | + link: angular.noop |
| 108 | + }; |
| 109 | +}) |
| 110 | +``` |
| 111 | + |
| 112 | +Closes #5372 |
| 113 | +Closes #6574 |
| 114 | +Closes #5370 |
| 115 | +Closes #8044 |
| 116 | +Closes #7336 |
| 117 | + |
| 118 | +- **$rootScope:** due to [02c0ed27](https://github.com/angular/angular.js/commit/02c0ed27bc375d5352fefdd7e34aad9758621283), |
| 119 | + |
| 120 | + |
| 121 | +Previously, it was possible for an action passed to $watch |
| 122 | +to be a string, interpreted as an angular expresison. This is no longer supported. |
| 123 | +The action now has to be a function. |
| 124 | +Passing an action to $watch is still optional. |
| 125 | + |
| 126 | +Before: |
| 127 | + |
| 128 | +```javascript |
| 129 | +$scope.$watch('state', ' name="" '); |
| 130 | +``` |
| 131 | + |
| 132 | +After: |
| 133 | + |
| 134 | +```javascript |
| 135 | +$scope.$watch('state', function () { |
| 136 | + $scope.name = ""; |
| 137 | +}); |
| 138 | +``` |
| 139 | + |
| 140 | +Closes #8190 |
| 141 | + |
| 142 | +- **bootstrap:** due to [666a3835](https://github.com/angular/angular.js/commit/666a3835d231b3f77f907276be18b3c0086e5d12), |
| 143 | + |
| 144 | + |
| 145 | +If using any of the mechanisms specified above, then migrate by |
| 146 | +specifying the attribute `ng-app` to the root element. E.g. |
| 147 | + |
| 148 | +```html |
| 149 | +<div ng-app="module">...</div> |
| 150 | +``` |
| 151 | + |
| 152 | +Closes #8147 |
| 153 | + |
| 154 | +- **ngList:** due to [c6c9d26e](https://github.com/angular/angular.js/commit/c6c9d26e3487ce24ece390c26994123964f805b0), |
| 155 | + |
| 156 | + |
| 157 | +The `ngList` directive no longer supports splitting the view value |
| 158 | +via a regular expression. We need to be able to re-join list items back |
| 159 | +together and doing this when you can split with regular expressions can |
| 160 | +lead to inconsistent behaviour and would be much more complex to support. |
| 161 | + |
| 162 | +If your application relies upon ngList splitting with a regular expression |
| 163 | +then you should either try to convert the separator to a simple string or |
| 164 | +you can implement your own version of this directive for you application. |
| 165 | + |
| 166 | +Closes #4008 |
| 167 | +Closes #2561 |
| 168 | +Closes #4344 |
| 169 | + |
| 170 | +- **ngSwitch:** due to [4f32e3ee](https://github.com/angular/angular.js/commit/4f32e3eef152bcaab7f7ab151fc824e71a591473), |
| 171 | + |
| 172 | +** Directive Priority Changed ** - this commit changes the priority |
| 173 | +of `ngSwitchWhen` and `ngSwitchDefault` from `800` to `1200`. This makes their |
| 174 | +priority higher than `ngRepeat`, which allows items to be repeated on |
| 175 | +the switch case element reliably. |
| 176 | + |
| 177 | +In general your directives should have a lower priority than these directives |
| 178 | +if you want them to exist inside the case elements. If you relied on the |
| 179 | +priority of these directives then you should check that your code still |
| 180 | +operates correctly. |
| 181 | + |
| 182 | +Closes #8235 |
| 183 | + |
2 | 184 | <a name="1.3.0-beta.15"></a>
|
3 | 185 | # 1.3.0-beta.15 unbelievable-advancement (2014-07-11)
|
4 | 186 |
|
|
0 commit comments