Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

Commit 159cdf1

Browse files
committed
chore(release): version bump and update changelog for 5.1
1 parent 5899b67 commit 159cdf1

File tree

2 files changed

+208
-1
lines changed

2 files changed

+208
-1
lines changed

CHANGELOG.md

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,210 @@
1+
# 5.1.0
2+
3+
4+
#### Blocking proxy
5+
6+
Blocking Proxy is a new experimental feature in Protractor 5 and is behind the
7+
`--useBlockingProxy` or `blockingProxyUrl`. See the
8+
[lib/config.ts#L100](https://github.com/angular/protractor/blob/master/lib/config.ts#L100).
9+
Other ways to start blocking proxy include using the
10+
`--highlightDelay` and `--webDriverLogDir` flags See [lib/config.ts#L501](https://github.com/angular/protractor/blob/master/lib/config.ts#L501).
11+
12+
This adds two options, both of which are implemented with Blocking
13+
Proxy. `--webDriverLogDir` will create a readable log with timing
14+
information of webdriver commands in the specified directory.
15+
16+
`--highlightDelay` will pause before clicking on elements or sending keys.
17+
While paused, the element that's about to be affected will be
18+
highlighted.
19+
20+
#### Webdriver-manager
21+
22+
Webdriver-manager will now by default grab the latest versions of all binaries
23+
(standalone, chromedriver, iedriver, gecko driver). Use the
24+
`--versions.(binary name)` to pin to a specific version. Selenium standalone
25+
3.0.1 has a bug which prevents it from working with any version of FireFox.
26+
We have tested version 3.0.0-beta4 and know that it works with
27+
FireFox 51, and we expect that the 3.0.2 release will also work.
28+
29+
#### TypeScript support
30+
31+
For jasmine users, in order to get all the type declarations that are used in
32+
jasminewd2, you'll need to install `@types/jasminewd2` in addition to
33+
`@types/jasmine` as dev dependencies.
34+
35+
## Features
36+
37+
- ([0cd156d](https://github.com/angular/protractor/commit/0cd156d6829f23f93403d865b7fdb7eab4f45446))
38+
feat(debugging): Add webdriver logging and highlight delay. (#4039)
39+
40+
This adds two options, both of which are implemented with Blocking
41+
Proxy. --webDriverLogDir will create a readable log with timing
42+
information of webdriver commands in the specified directory.
43+
44+
--highlightDelay will pause before clicking on elements or sending keys.
45+
While paused, the element that's about to be affected will be
46+
highlighted.
47+
48+
- ([3d98a16](https://github.com/angular/protractor/commit/3d98a1668138d36681bf305c9ea67dd1eea38899))
49+
feat(config): Support setting `SELENIUM_PROMISE_MANAGER` flag via the config (#4023)
50+
51+
Closes https://github.com/angular/protractor/issues/3691
52+
- ([4e40fb1](https://github.com/angular/protractor/commit/4e40fb175e64820bbab24efb376dac80fa6ba2b0))
53+
feat(browser): chain promises in `browser.get` (#4017)
54+
55+
Closes https://github.com/angular/protractor/issues/3904
56+
- ([33393ca](https://github.com/angular/protractor/commit/33393cad633e6cb5ce64b3fc8fa5e8a9cae64edd))
57+
feat(browser): chain some promises in `lib/browser.ts` + return promise from
58+
`waitForAngularEnabled` (#4021)
59+
60+
Minor breaking change since `waitForAngularEnabled` no longer returns a boolean
61+
Part of angular#3904
62+
Chaining `browser.get` has proved surprisingly complex, so I'll do that in a different PR
63+
Also fixed a minor bug in `lib/clientsidescripts.js` while debuging
64+
- ([7cb9739](https://github.com/angular/protractor/commit/7cb9739954bc26f0667d671cdb0083f5bd43f2f6))
65+
feat(browser.ready): make `browser.ready` wait for all async setup work (#4015)
66+
67+
Closes https://github.com/angular/protractor/issues/3900
68+
- ([b77cb92](https://github.com/angular/protractor/commit/b77cb928301fbe4f77ffcdcace424a490581416e))
69+
feat(restart): `browser.restart` should return a promise (#4008)
70+
71+
Also allows `browser.restart` to work when the control flow is disabled, and
72+
fixes it for forked browsers.
73+
74+
Closes #3899 and #3896
75+
https://github.com/angular/protractor/issues/3896
76+
77+
- ([4a59412](https://github.com/angular/protractor/commit/4a59412357eb5df592b06dd282d88d6dbc5e4771))
78+
feat(angularAppRoot): Replace rootEl with browser.angularAppRoot() (#3996)
79+
80+
Replace browser.rootEl with browser.angularAppRoot(), which changes the root element in a promise
81+
on the control flow. Note that browser.rootEl will immediately return the current value, but
82+
browser.angularAppRoot() will return a promise that resolves during the next step in the control
83+
flow.
84+
85+
Also update to BlockingProxy 0.0.3, which allows changing rootSelector.
86+
87+
- ([879aac6](https://github.com/angular/protractor/commit/879aac6ee6c1c36d005b538472e2754b987b3368))
88+
chore(blockingproxy): Allow using a pre-existing Blocking Proxy instance (#3970)
89+
90+
- ([bf123ad](https://github.com/angular/protractor/commit/bf123adafc442440b2ca10725113b47342ebb24f))
91+
feat(elements): Add isPresent() to ElementArrayFinder. (#3974)
92+
93+
## Bug Fixes
94+
95+
- ([f9bee84](https://github.com/angular/protractor/commit/f9bee84bc03b6cd6872522b8780327423b789e19)) fix(restart): preserve waitForAngularEnabled on restart and add promise chaining
96+
97+
I noticed I missed `waitForAngularEnabled` in #4037. This commit fixed that.
98+
99+
While I was at it I fixed a minor error where the promises implicitly created by
100+
setting `rootEl` and `ignoreSynchronization` weren't getting chained properly.
101+
102+
Also fixed minor (so minor I think it was impossible to trigger) where
103+
browser.plugins_ could be undefined.
104+
105+
- ([0b0c224](https://github.com/angular/protractor/commit/0b0c224e4056368c2c0030064b4ca4235163276b))
106+
fix(plugins): do not force ManagedPromise in plugins.ts (#4036)
107+
108+
- ([9c2274d](https://github.com/angular/protractor/commit/9c2274d8f218cabc946dbc6a11d725458c1b4e3a))
109+
fix(restart): preserve properties like `browser.baseUrl` upon restart (#4037)
110+
111+
I also fixed a minor issue where `internalRootEl` wasn't being set when blocking proxy was being
112+
used. I also just cleaned up our internal uses of `this.rootEl`.
113+
114+
Closes #4032
115+
116+
- ([a20c7a7](https://github.com/angular/protractor/commit/a20c7a7cc1df04f96cb1a9dd971df39883ac173b))
117+
fix(element chaining): make element chaining work when the control flow is disabled (#4029)
118+
119+
Also added some tests to `spec/ts/noCF/smoke_spec.ts` double checking that the control flow is off
120+
121+
- ([7481dee](https://github.com/angular/protractor/commit/7481dee75cab1da9d207909e928eee55a9f5a682))
122+
fix(cli): Make unknown flag check a warning instead of an error. (#4028)
123+
124+
- ([40bbeca](https://github.com/angular/protractor/commit/40bbeca003017901760e10831c66d383cf5accf8))
125+
fix(expectedConditions): Add tests and fix race conditions around visibility (#4006)
126+
127+
Add test cases to reproduce the missing element race conditions possible in
128+
expected condition methods `visibilityOf`, `textToBePresentInElement`,
129+
`textToBePresentInValue` and `elementToBeClickable`.
130+
131+
Add error handler `falseIfMissing` to all expected conditions that depend
132+
on the presence of an element.
133+
134+
Expected conditions check the presence of an element before other checks,
135+
but when an element is removed exactly in the moment after the `isPresent`
136+
and before `isDisplayed` in `visibilityOf` the condition used to fail.
137+
138+
This solution does not handle missing elements in (`isEnable`, `isDisplayed`,
139+
`isSelected`) and focused only on expected conditions (see #3972)
140+
141+
This problem was also referenced in #3578 and #3777
142+
143+
- ([5856037](https://github.com/angular/protractor/commit/5856037368ee8d8a21f11eadbfe93d5f46507f60))
144+
fix(cli): Allow frameworks to specify flags they recognize. (#3994)
145+
146+
Fix for #3978.
147+
Our initial plan to allow setting --disableChecks with an environment variable is insufficient,
148+
since the custom framework isn't even require()'d until after the config is parsed. This moves the
149+
unknown flag check into the runner, and gives frameworks a way to specify extra flags they accept.
150+
- ([e68dcf1](https://github.com/angular/protractor/commit/e68dcf1bfd7f32c59ebd23fa16ca53e1a53f8ddf))
151+
fix(driverProviders): Check config in the right place. (#3991)
152+
153+
- ([eb89920](https://github.com/angular/protractor/commit/eb899208457f83853f043edea5e56b07e87803bc))
154+
fix(driverProviders): Handle promise rejection when starting selenium (#3989)
155+
156+
Fixes #3986. Also error if jvmArgs isn't an array.
157+
158+
- ([8d2fc07](https://github.com/angular/protractor/commit/8d2fc07ed28a1b19c03a9869442f76f2963e40a1))
159+
chore(browser): deprecate `browser.getLocationAbsUrl()`. (#3969)
160+
161+
Closes #3185
162+
- ([15a1872](https://github.com/angular/protractor/commit/15a187204bb8b87255d5f4622094eabc71206315))
163+
fix(firefox): Fix directConnect for Firefox 51+ (#3953)
164+
165+
- ([81f56a4](https://github.com/angular/protractor/commit/81f56a449f8988feba21617ef7533cfa2f06c6f8))
166+
fix(cli): display disableChecks option in extra flags error message (#3964)
167+
168+
- ([6a4dc7a](https://github.com/angular/protractor/commit/6a4dc7a6a5b796e0215e5b9abf99494ac13cb647))
169+
fix: no longer use es6 let statement (#3963)
170+
171+
* Currently in Protractor v5 the Angular detection script uses ES6 features like the `let` modifier.
172+
173+
This can break Protractor on browsers, which doesn't support those statements.
174+
> See https://saucelabs.com/beta/tests/275f75091dac40a0a3374d29d912caee/commands#11
175+
176+
- ([528338c](https://github.com/angular/protractor/commit/528338c6722219fdcfc51153b0031a02f0fce046))
177+
fix(expectedCondition): fix NoSuchElementError in visibilityOf due to a race condition (#3777)
178+
179+
Handle NoSuchElementError in the expected condition visibilityOf, which occurred when
180+
an element disappears between the isPresent() and isDisplayed() check.
181+
182+
## Dependencies
183+
184+
- ([5899b67](https://github.com/angular/protractor/commit/5899b676bc2db0005506ae2306350e6ffea3c808))
185+
deps(update): update webdriver-manager to ^12.0.1 (#4042)
186+
187+
Running `webdriver-manager update` will now by default grab the latest
188+
versions of all binaries (standalone, chromedriver, iedriver, gecko
189+
driver). You can continue to pin to a specific versions using the
190+
command line option. Example `webdriver-manager update --versions.chrome 2.20`.
191+
As of this release the latest versions are:
192+
193+
- gecko v0.14.0
194+
- selenium-standalone 3.0.1 is the latest jar file; however, we recommend 3.0.0-beta4. See note
195+
below on Firefox support.
196+
- chromedriver 2.27
197+
- iedriver 3.0.0
198+
199+
A note on FireFox support: Selenium standalone 3.0.1 has a bug which prevents it from working
200+
with any version of FireFox. We have tested version 3.0.0-beta4 and know that it works with
201+
FireFox 51, and we expect that the 3.0.2 release will also work.
202+
203+
closes #4033
204+
205+
- ([cd084a0](https://github.com/angular/protractor/commit/cd084a0ca29cd73aa3ce1650188adf7ddfdb7962))
206+
deps(jasmine): update jasmine to ^2.5.3 (#3960)
207+
1208
# 5.0.0
2209

3210
This version includes big changes around upgrading to selenium-webdriver 3.0.x.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,5 +80,5 @@
8080
"engines": {
8181
"node": ">=6.9.x"
8282
},
83-
"version": "5.0.0"
83+
"version": "5.1.0"
8484
}

0 commit comments

Comments
 (0)