Commit Graph

8968 Commits

Author SHA1 Message Date
Pete Bacon Darwin add78e6200 fix(angular.merge): do not merge __proto__ property
By blocking `__proto__` on deep merging, this commit
prevents the `Object` prototype from being polluted.
2019-11-07 15:39:21 +00:00
George Kalpakas 060bcdeeb9 chore(saucelabs): switch to latest version of desktop Safari
The currently latest-1 version of desktop Safari (v12.0) on SauceLabs is
completely unstable. Switching to the latest version (currently v12.1),
which works fine.

Closes #16888
2019-07-24 15:53:19 +03:00
George Kalpakas 881167d7bd chore(saucelabs): upgrade SauceConnect to 4.5.4 2019-07-24 15:52:07 +03:00
George Kalpakas 1147f0e213 docs($compile): fix typos and incorrect example 2019-07-21 18:00:47 +03:00
byronigoe 825e25b095 docs(guide/migration): fix typo (misceallenous --> miscellaneous)
Closes #16876
2019-05-28 21:15:25 +03:00
George Kalpakas 10d1b19737 fix(ngStyle): correctly remove old style when new style value is invalid
Since d6098eeb1, old styles were not removed if `newStyles` specified an
invalid value for the style (e.g. `false`). The assumption was that the
new style would overwrite the old style value, but using an invalid
value made browsers ignore the new value and thus keep the old style.
This would typically happen when guarding a style with a boolean flag;
e.g.: `ng-style="{backgroundColor: isError && 'red'}"`

This commit essentially revers commit d6098eeb1, whose main purpose was
to work around jquery/jquery#4185. The jQuery issue has been fixed in
3.4.0, so that should not be a problem any more.

Fixes #16860

Closes #16868
2019-05-09 21:24:02 +03:00
Michał Gołębiowski-Owczarek c8d985a0f3 chore(*): update jQuery from 3.2.1 to 3.4.0
This updates jQuery to 3.4.0 to ensure future security fixes won't break it.

Closes #16863
2019-04-12 11:27:25 +02:00
askhalil 55075b840c docs(DEVELOPERS): remove git revert misleading information
Closes #16857
2019-03-26 13:35:18 +02:00
JandersonConstantino c8980099dc chore(*): update copyright year 2019-03-22 07:27:46 +00:00
Pete Bacon Darwin e629fe4a78 docs(CHANGELOG): add 1.7.8 release notes 2019-03-11 11:58:29 +00:00
Martin Staffa 6959bc297f fix(required): correctly validate required on non-input element surrounded by ngIf
Closes #16830
Closes #16836
2019-03-06 18:08:05 +01:00
Ashish Kamble a1d15649ed docs(guide/di): clarify example description
Closes #16833
2019-03-05 21:59:32 +02:00
Pete Bacon Darwin cbf35f04f3 chore(github): update Issue template with LTS info 2019-02-27 09:30:13 +00:00
Pete Bacon Darwin f768023698 chore(github): update PR template to highlight LTS mode 2019-02-27 09:12:34 +00:00
Pete Bacon Darwin 587843bca0 chore(scripts): use https for git repo URLs 2019-02-04 13:35:37 +00:00
Pete Bacon Darwin 94582f0def docs(CHANGELOG): update with 1.7.7 release notes 2019-02-04 13:06:49 +00:00
Pete Bacon Darwin fffe7d1979 docs(RELEASE): store release instructions 2019-02-04 13:05:43 +00:00
Martin Staffa 005dd97255 fix(ngRequired): set error correctly when inside ngRepeat and false by default
Previously, in the required validator, we would read the required setting directly
from attr.required, where it is set by ngRequired.

However, when the control is inside ngRepeat, ngRequired sets it only after a another digest has
passed, which means the initial validation run of ngModel does not include the correct required
setting. (Before commit 0637a2124c this would not have been a problem,
as every observed value change triggered a validation).

We now use the initially parsed value from ngRequired in the validator.

Fixes #16814
Closes #16820
2019-01-26 11:31:25 +01:00
Martin Staffa 9f7144b035 docs(angular.copy): fix list of unsupported types 2019-01-21 20:35:53 +01:00
Martin Staffa 65f800e19e docs(angular.merge): add notes about support and lodash compatibility
Closes #16187
Closes #14512
2019-01-21 15:40:22 +01:00
Martin Staffa 63796d3f98 docs(angular.copy): list object types / features that are not supported
Closes #5085
Closes #13193
Closes #14352
Closes #15904
Closes #16055
Closes #16061
Closes #16067
2019-01-21 15:40:22 +01:00
Martin Staffa 2d8b34670b docs(angular.copy): add note about destination and source compatibility
Closes #15444
Closes #15462
2019-01-21 15:40:22 +01:00
Martin Staffa fbc83f00c7 docs(ngParseExt): note limitations with ngOptions and ngRepeat
Closes #15954
Closes #15926
2019-01-21 15:40:22 +01:00
Martin Staffa 0633d8f2b0 docs(input[email]): note limitations with IPv6 addresses
Closes #16599
2019-01-21 15:40:22 +01:00
Martin Staffa 7825772925 docs(ngDisabled): remove restriction to input element
Disabled can be set on many different elements, and might also be used
on custom controls, so it's better to remove the restriction completely

Closes #16775
2019-01-21 12:49:42 +01:00
Pete Bacon Darwin c7671edbfd chore(*): update CHANGELOG with release notes for 1.7.6 2019-01-17 09:22:16 +00:00
Jason Bedard 8b973e04ca fix($compile): fix ng-prop-* with undefined values
Fixes #16797
Closes #16798
2019-01-10 18:37:21 -08:00
George Kalpakas be45d3c208 chore(saucelabs): remove SL_Safari from browser list
Closes #16806
2019-01-10 21:38:56 +02:00
George Kalpakas 53ff4487e7 chore(saucelabs): add SL_EDGE-1 to browser list 2019-01-10 21:38:41 +02:00
George Kalpakas 7944b0c98f chore(travis): suppress verbose log output and allow error logging
Based on angular/angular#27657.
2019-01-10 21:38:41 +02:00
George Kalpakas 195756b45c chore(package): upgrade to latest karma-sauce-launcher
Based on angular/angular#27634.
2019-01-10 21:38:41 +02:00
George Kalpakas 940c1abf86 chore(package): upgrade to latest karma
This includes a Karma fix that affects CI flakiness.
Based on angular/angular#27735.
2019-01-10 21:38:41 +02:00
George Kalpakas 4584f0c37d chore(saucelabs): use 'websocket' for transmission when possible 2019-01-10 21:38:41 +02:00
George Kalpakas 7448d8748c chore(saucelabs): upgrade to latest SauceConnect 2019-01-10 21:38:41 +02:00
George Kalpakas 915939396a test(ngHref): only run Edge-specific test on relevant Edge versions 2019-01-10 21:38:41 +02:00
Bernhard Kiselka 1e8a3de15d docs(guide/Conceptual Overview): use exchangeratesapi.io
As fixer.io introduced an API key and thus a limitation of calls
(see https://github.com/fixerAPI/fixer#readme ),
change https://api.fixer.io to https://api.exchangeratesapi.io instead,
which is "designed and tested to handle thousands of request per second"
and has "built in Fixer.io compatibility so you can keep all the libraries you already like
and use daily" (from https://api.exchangeratesapi.io ).
The idea is from https://github.com/fixerAPI/fixer/issues/107

fixes  #16807

Closes #16808
2019-01-07 13:07:27 +02:00
Julien RAJERISON 2580bde8ac docs(ISSUE_TEMPLATE.md): add Opera to browser list
Opera is indirectly supported, although not explicitly tested on (see
[here](https://docs.angularjs.org/misc/faq#what-browsers-does-angularjs-work-with-)
for more info), so it doesn't hurt adding it to the list of browsers.

Closes #16801
2018-12-29 12:43:39 +02:00
Frederik Prijck 98d9143f0d chore(package): rename to angular to match npm
Previously, angularjs was used as the name inside the package.json file.
However, angularjs is published to npm using angular.
To avoid conflicts, the name is updated to reflect the same name as being published on npm.

Fixes #16799

Closes #16800
2018-12-27 20:27:36 +02:00
Pete Bacon Darwin 9ae51d751b test(ngAnimate): ensure that blockTransitions can be spied upon
Previously the test was assuing that this function was attached to
the window, which is not the case in production, nor in the isolated
module tests.
2018-12-11 15:40:15 +00:00
Pete Bacon Darwin 264819a308 chore(modules): execute modules unit tests in one karma run
SauceLabs  is struggling to keep connecting and disconnecting
for each of the modules unit test runs. This commit puts most of
the module tests into IIFEs so that they can be run in one go.

* ngMock is still tested separately since unlike the other tests
it doesn't want to have a pre-built version of ngMock available.

* ngAnimate is still tested separately because it does some funny
things with globals that were difficult to isolate in the main modules
test run.
2018-12-11 15:40:15 +00:00
Pete Bacon Darwin 5f1cf11e23 chore(utils): do not mutate source arrays 2018-12-10 19:11:59 +00:00
Pete Bacon Darwin 04ae4e5b47 test(*): isolate cache leaks from subsequent tests 2018-12-10 16:57:20 +00:00
Michał Gołębiowski-Owczarek e7e8dad3b3 test(ngSanitize): disable a failing Edge test in all versions, including 18
It's been only disabled on Edge 16/17 so far which made it fail in Edge 18.

Closes #16786
2018-12-09 03:23:09 +01:00
Michał Gołębiowski-Owczarek 09f013ae92 fix(compile): properly handle false value for boolean attrs with jQuery
jQuery skips special boolean attrs treatment in XML nodes for historical reasons
and hence AngularJS cannot freely call `.attr(attrName, false) with such
attributes. To avoid issues in XHTML, call `removeAttr` in such cases instead.

Ref jquery/jquery#4249
Fixes #16778
Closes #16779
2018-12-06 10:07:55 +01:00
Jason Bedard de0aad8984 fix(ngRepeat): fix reference to last collection value remaining across linkages
Ref #16776
2018-12-05 19:40:01 -08:00
Jason Bedard 3ea8c2b880 fix(ngRepeat): fix trackBy function being invoked with incorrect scope
Also fixes a leak of that scope across all further instances of the
repeated element.

Fixes #16776
Closes #16777
2018-12-05 19:40:01 -08:00
Joseph Jacobs a0c4e25a01 docs(tutorial/step_3): clarify how components are mapped to HTML elements
Closes #16768
2018-12-05 18:56:08 +02:00
Anthony X fa8fe1f739 docs(tutorial/step_6): fix experiment description
In the experiments section, it is suggested to add a `-` symbol to
`<option value="age">Oldest</option>`. This change is made to reverse
the sort order when selecting the `age` option.

However, this change affects the default `$ctrl.orderProp` that we had
set in `phone-list.component.js`. After making the change, our default
when refreshing the page is "Sort by: [blank]".

This commit adds some additional documentation to clarify that this
behavior makes sense and that the reader should try and fix this within
`phone-list.component.js`.

Closes #16781
2018-12-05 17:20:09 +02:00
Martin Staffa 0637a2124c perf(input): prevent multiple validations on initialization
This commit updates in-built validators with observers to prevent
multiple calls to $validate that could happen on initial linking of the directives in
certain circumstances:

- when an input is wrapped in a transclude: element directive (e.g. ngRepeat),
the order of execution between ngModel and the input / validation directives changes so that
the initial observer call happens when ngModel has already been initalized,
leading to another call to $validate, which calls *all* defined validators again.
Without ngRepeat, ngModel hasn't been initialized yet, and $validate does not call the validators.

When using validators with scope expressions, the expression value is not available when
ngModel first runs the validators (e.g. ngMinlength="myMinlength"). Only in the first call to
the observer does the value become available, making a call to $validate a necessity.

This commit solves the first problem by storing the validation attribute value so we can compare
the current value and the observed value - which will be the same after compilation.

The second problem is solved by parsing the validation expression once in the link function,
so the value is available when ngModel first validates.

Closes #14691 
Closes #16760
2018-12-05 14:06:43 +01:00
Martin Staffa d855b74095 chore(Saucelabs): increase max session duration
We have amassed so many e2e tests, that the default 30 minute
Saucelabs session limit is often not enough, especially during
the week, when the VMs are under heavy load.
2018-12-05 08:30:40 +01:00