|
| 1 | +<a name="1.3.0-beta.12"></a> |
| 2 | +# 1.3.0-beta.12 ephemeral-acceleration (2014-06-13) |
| 3 | + |
| 4 | + |
| 5 | +## Bug Fixes |
| 6 | + |
| 7 | +- **$compile:** |
| 8 | + - ensure transclude works at root of templateUrl |
| 9 | + ([398053c5](https://github.com/angular/angular.js/commit/398053c56352487751d14ea41b3b892960397019), |
| 10 | + [#7183](https://github.com/angular/angular.js/issues/7183), [#7772](https://github.com/angular/angular.js/issues/7772)) |
| 11 | + - always error if two directives add isolate-scope and new-scope |
| 12 | + ([2cde927e](https://github.com/angular/angular.js/commit/2cde927e58c8d1588569d94a797e43cdfbcedaf9), |
| 13 | + [#4402](https://github.com/angular/angular.js/issues/4402), [#4421](https://github.com/angular/angular.js/issues/4421)) |
| 14 | +- **$injector:** report circularity in circular dependency error message |
| 15 | + ([545d22b4](https://github.com/angular/angular.js/commit/545d22b47006c1efa420ba551d4850affdba8016), |
| 16 | + [#7500](https://github.com/angular/angular.js/issues/7500)) |
| 17 | +- **$parse:** Handle one-time to `null` |
| 18 | + ([600a41a7](https://github.com/angular/angular.js/commit/600a41a7b65f2dd139664fca6331c40451db75be), |
| 19 | + [#7743](https://github.com/angular/angular.js/issues/7743), [#7787](https://github.com/angular/angular.js/issues/7787)) |
| 20 | +- **NgModel:** |
| 21 | + - ensure pattern and ngPattern use the same validator |
| 22 | + ([1be9bb9d](https://github.com/angular/angular.js/commit/1be9bb9d3527e0758350c4f7417a4228d8571440)) |
| 23 | + - make ngMinlength and ngMaxlength as standalone directives |
| 24 | + ([26d91b65](https://github.com/angular/angular.js/commit/26d91b653ac224d9d4166fea855346f5e4c4a7b4), |
| 25 | + [#6750](https://github.com/angular/angular.js/issues/6750)) |
| 26 | + - make sure the ngMinlength and ngMaxlength validators use the $validators pipeline |
| 27 | + ([5b8e7ecf](https://github.com/angular/angular.js/commit/5b8e7ecfeb722cfc7a5d92f05b57950a2aa6158b), |
| 28 | + [#6304](https://github.com/angular/angular.js/issues/6304)) |
| 29 | + - make sure the pattern validator uses the $validators pipeline |
| 30 | + ([e63d4253](https://github.com/angular/angular.js/commit/e63d4253d06ed7d344358e2c0b03311c548bc978)) |
| 31 | + - make sure the required validator uses the $validators pipeline |
| 32 | + ([e53554a0](https://github.com/angular/angular.js/commit/e53554a0e238cba7a150fd7ccf61e5e4cc0c0426), |
| 33 | + [#5164](https://github.com/angular/angular.js/issues/5164)) |
| 34 | +- **jqLite:** data should store data only on Element and Document nodes |
| 35 | + ([a196c8bc](https://github.com/angular/angular.js/commit/a196c8bca82a28c08896d31f1863cf4ecd11401c)) |
| 36 | +- **ngResource:** don't convert literal values into Resource objects when isArray is true |
| 37 | + ([16dfcb61](https://github.com/angular/angular.js/commit/16dfcb61aed28cdef3bfbed540e2deea6d9e9632), |
| 38 | + [#6314](https://github.com/angular/angular.js/issues/6314), [#7741](https://github.com/angular/angular.js/issues/7741)) |
| 39 | + |
| 40 | + |
| 41 | +## Features |
| 42 | + |
| 43 | +- **NgModel:** introduce the $validators pipeline |
| 44 | + ([a8c7cb81](https://github.com/angular/angular.js/commit/a8c7cb81c9e67b52d5c649bf3d8cec06c5976852)) |
| 45 | +- **attrs:** trigger observers for specific ng-attributes |
| 46 | + ([d9b90d7c](https://github.com/angular/angular.js/commit/d9b90d7c10a8e1bacbee0aeb7e86093cca9e8ed2), |
| 47 | + [#7758](https://github.com/angular/angular.js/issues/7758)) |
| 48 | +- **input:** add $touched and $untouched states |
| 49 | + ([adcc5a00](https://github.com/angular/angular.js/commit/adcc5a00bf582d2b291c18e99093bb0854f7217c)) |
| 50 | +- **ngInclude:** emit $includeContentError when HTTP request fails |
| 51 | + ([e4419daf](https://github.com/angular/angular.js/commit/e4419daf705d6d2d116ced573f72c24b5c53be1f), |
| 52 | + [#5803](https://github.com/angular/angular.js/issues/5803)) |
| 53 | + |
| 54 | + |
| 55 | +## Performance Improvements |
| 56 | + |
| 57 | +- **$compile:** move ng-binding class stamping for interpolation into compile phase |
| 58 | + ([35358fdd](https://github.com/angular/angular.js/commit/35358fddc10652ef78c72cba7b7c2d5a810631d5)) |
| 59 | +- **$http:** move xsrf cookie check to after cache check in $http |
| 60 | + ([dd1d189e](https://github.com/angular/angular.js/commit/dd1d189ee785a37fe1d9bddf3818152db6aa210a), |
| 61 | + [#7717](https://github.com/angular/angular.js/issues/7717)) |
| 62 | +- **Scope:** change Scope#id to be a simple number |
| 63 | + ([8c6a8171](https://github.com/angular/angular.js/commit/8c6a8171f9bdaa5cdabc0cc3f7d3ce10af7b434d)) |
| 64 | +- **forEach:** cache array length |
| 65 | + ([55991e33](https://github.com/angular/angular.js/commit/55991e33af6fece07ea347a059da061b76fc95f5)) |
| 66 | +- **isArray:** use native Array.isArray |
| 67 | + ([751ebc17](https://github.com/angular/angular.js/commit/751ebc17f7fc7be26613db0a3cdee05fc401318b), |
| 68 | + [#7735](https://github.com/angular/angular.js/issues/7735)) |
| 69 | +- **isWindow** optimize internal isWindow call |
| 70 | + ([b68ac4cb](https://github.com/angular/angular.js/commit/b68ac4cb4c172447ba0022fe6e7ce0ca4cb9407e)) |
| 71 | +- **jqLite:** |
| 72 | + - cache collection length for all methods that work on a single element |
| 73 | + ([41d2eba5](https://github.com/angular/angular.js/commit/41d2eba5f8322903247280000bfc5e5e8a1c1a3e)) |
| 74 | + - improve performance of jqLite#text |
| 75 | + ([92489886](https://github.com/angular/angular.js/commit/92489886dcce3bca00fe827aeb0817297b8a175c)) |
| 76 | + - optimize adding nodes to a jqLite collection |
| 77 | + ([31faeaa7](https://github.com/angular/angular.js/commit/31faeaa7293716251ed437fa54432bb89d9d48de)) |
| 78 | + - optimize element dealocation |
| 79 | + ([e35abc9d](https://github.com/angular/angular.js/commit/e35abc9d2fac0471cbe8089dc0e33a72b8029ada)) |
| 80 | + - don't use reflection to access expandoId |
| 81 | + ([ea9a130a](https://github.com/angular/angular.js/commit/ea9a130a43d165f4f4389d01ac409dd3047efcb4)) |
| 82 | +- **ngBind:** set the ng-binding class during compilation instead of linking |
| 83 | + ([fd5f3896](https://github.com/angular/angular.js/commit/fd5f3896764107635310ae52df1d80a6e08fba31)) |
| 84 | +- **shallowCopy:** use Object.keys to improve performance |
| 85 | + ([04468db4](https://github.com/angular/angular.js/commit/04468db44185e3d7968abdb23d77bf623cb5021b)) |
| 86 | + |
| 87 | + |
| 88 | +## Breaking Changes |
| 89 | + |
| 90 | +- **$compile:** due to [2cde927e](https://github.com/angular/angular.js/commit/2cde927e58c8d1588569d94a797e43cdfbcedaf9), |
| 91 | + |
| 92 | + |
| 93 | +Requesting isolate scope and any other scope on a single element is an error. |
| 94 | +Before this change, the compiler let two directives request a child scope |
| 95 | +and an isolate scope if the compiler applied them in the order of non-isolate |
| 96 | +scope directive followed by isolate scope directive. |
| 97 | + |
| 98 | +Now the compiler will error regardless of the order. |
| 99 | + |
| 100 | +If you find that your code is now throwing a `$compile:multidir` error, |
| 101 | +check that you do not have directives on the same element that are trying |
| 102 | +to request both an isolate and a non-isolate scope and fix your code. |
| 103 | + |
| 104 | +Closes #4402 |
| 105 | +Closes #4421 |
| 106 | +- **NgModel:** due to [1be9bb9d](https://github.com/angular/angular.js/commit/1be9bb9d3527e0758350c4f7417a4228d8571440), |
| 107 | + |
| 108 | + |
| 109 | +If an expression is used on ng-pattern (such as `ng-pattern="exp"`) or on the |
| 110 | +pattern attribute (something like on `pattern="{{ exp }}"`) and the expression |
| 111 | +itself evaluates to a string then the validator will not parse the string as a |
| 112 | +literal regular expression object (a value like `/abc/i`). Instead, the entire |
| 113 | +string will be created as the regular expression to test against. This means |
| 114 | +that any expression flags will not be placed on the RegExp object. To get around |
| 115 | +this limitation, use a regular expression object as the value for the expression. |
| 116 | + |
| 117 | + //before |
| 118 | + $scope.exp = '/abc/i'; |
| 119 | + |
| 120 | + //after |
| 121 | + $scope.exp = /abc/i; |
| 122 | +- **Scope:** due to [8c6a8171](https://github.com/angular/angular.js/commit/8c6a8171f9bdaa5cdabc0cc3f7d3ce10af7b434d), |
| 123 | + Scope#$id is now of time number rather than string. Since the |
| 124 | +id is primarily being used for debugging purposes this change should not affect |
| 125 | +anyone. |
| 126 | +- **forEach:** due to [55991e33](https://github.com/angular/angular.js/commit/55991e33af6fece07ea347a059da061b76fc95f5), |
| 127 | + forEach will iterate only over the initial number of items in |
| 128 | +the array. So if items are added to the array during the iteration, these won't |
| 129 | +be iterated over during the initial forEach call. |
| 130 | + |
| 131 | +This change also makes our forEach behave more like Array#forEach. |
| 132 | +- **jqLite:** due to [a196c8bc](https://github.com/angular/angular.js/commit/a196c8bca82a28c08896d31f1863cf4ecd11401c), |
| 133 | + previously it was possible to set jqLite data on Text/Comment |
| 134 | +nodes, but now that is allowed only on Element and Document nodes just like in |
| 135 | +jQuery. We don't expect that app code actually depends on this accidental feature. |
| 136 | + |
| 137 | + |
| 138 | + |
| 139 | +<a name="1.2.18"></a> |
| 140 | +# 1.2.18 ear-extendability (2014-06-13) |
| 141 | + |
| 142 | + |
| 143 | +## Bug Fixes |
| 144 | + |
| 145 | +- **$compile:** |
| 146 | + - ensure transclude works at root of templateUrl |
| 147 | + ([fd420c40](https://github.com/angular/angular.js/commit/fd420c40613d02b3a3f7b14d00a98664518c28f0), |
| 148 | + [#7183](https://github.com/angular/angular.js/issues/7183), [#7772](https://github.com/angular/angular.js/issues/7772)) |
| 149 | + - bound transclusion to correct scope |
| 150 | + ([1382d4e8](https://github.com/angular/angular.js/commit/1382d4e88ec486b7749e45e6ccc864b3ec388cfe)) |
| 151 | + - don't pass transcludes to non-transclude templateUrl directives |
| 152 | + ([b9ddef2a](https://github.com/angular/angular.js/commit/b9ddef2a495b44cb5fe678b8753de0b7a369244d)) |
| 153 | + - don't pass transclude to template of non-transclude directive |
| 154 | + ([eafba9e2](https://github.com/angular/angular.js/commit/eafba9e2e5ddc668c534e930d83031d2e8dc32b9)) |
| 155 | + - fix nested isolated transclude directives |
| 156 | + ([bb931097](https://github.com/angular/angular.js/commit/bb9310974b6765c2b87e74ee7b8485a6e9c24740), |
| 157 | + [#1809](https://github.com/angular/angular.js/issues/1809), [#7499](https://github.com/angular/angular.js/issues/7499)) |
| 158 | + - pass transcludeFn down to nested transclude directives |
| 159 | + ([8df5f325](https://github.com/angular/angular.js/commit/8df5f3259aa776f28bf3d869fb1c03e10a897c84), |
| 160 | + [#7240](https://github.com/angular/angular.js/issues/7240), [#7387](https://github.com/angular/angular.js/issues/7387)) |
| 161 | +- **$injector:** report circularity in circular dependency error message |
| 162 | + ([14e797c1](https://github.com/angular/angular.js/commit/14e797c1a10eabd15bf8e845b62213398bcc0f58), |
| 163 | + [#7500](https://github.com/angular/angular.js/issues/7500)) |
| 164 | +- **ngResource:** don't convert literal values into Resource objects when isArray is true |
| 165 | + ([f0904cf1](https://github.com/angular/angular.js/commit/f0904cf12e4f01daa2d4fcbb20c762050125ca55), |
| 166 | + [#6314](https://github.com/angular/angular.js/issues/6314), [#7741](https://github.com/angular/angular.js/issues/7741)) |
| 167 | + |
| 168 | + |
| 169 | +## Performance Improvements |
| 170 | + |
| 171 | +- **$compile:** move ng-binding class stamping for interpolation into compile phase |
| 172 | + ([81b7e5ab](https://github.com/angular/angular.js/commit/81b7e5ab0ee3fea410b16b09144359ceb99f5191)) |
| 173 | +- **$http:** move xsrf cookie check to after cache check in $http |
| 174 | + ([8b86d363](https://github.com/angular/angular.js/commit/8b86d363aa252c3264201b54b57c3e34f9632d45), |
| 175 | + [#7717](https://github.com/angular/angular.js/issues/7717)) |
| 176 | +- **isArray:** use native Array.isArray |
| 177 | + ([6c14fb1e](https://github.com/angular/angular.js/commit/6c14fb1eb61dc0a0552fbcb2ca3ace11c9a2f6a5)) |
| 178 | +- **jqLite:** cache collection length for all methods that work on a single element |
| 179 | + ([6d418ef5](https://github.com/angular/angular.js/commit/6d418ef5e3a775577996caf0709f79f447f77025)) |
| 180 | +- **ngBind:** set the ng-binding class during compilation instead of linking |
| 181 | + ([1b189027](https://github.com/angular/angular.js/commit/1b1890274e5a75553ddf9915bb23da48800275f9)) |
| 182 | + |
| 183 | + |
| 184 | + |
1 | 185 | <a name="1.3.0-beta.11"></a>
|
2 | 186 | # 1.3.0-beta.11 transclusion-deforestation (2014-06-06)
|
3 | 187 |
|
|
0 commit comments