Protractor v3.0.0 Release Notes

  • ๐Ÿšš We're releasing version 3.0 with some breaking changes. In summary - Jasmine 1.3 is removed, only Jasmine 2 is now supported, old Node.JS support is dropped, and plugins now need to be explicitly required. Full details below.

    โฌ†๏ธ Dependency Version Upgrades

    • (18e1f71) chore(webdriver): upgrade Protractor to webdriver 2.48.2

    • (1f44a6e) chore(deps): bump chromedriver and iedriver versions IEDriver from 2.47.0 to 2.48.0

    ChromeDriver from 2.19 to 2.20. Changelog: http://chromedriver.storage.googleapis.com/2.20/notes.txt

    ๐Ÿ”‹ Features

    • (97e6703) feat(protractor): Add protractor.prototype.restart

    • (2007f06) feat(protractor): add flag to stop protractor from tracking $timeout

    • (a40a4ba) feat(ElementArrayFinder#get): Implemented ability to pass promise as index to ElementArrayFinder#get

    • (a54c0e0) feat(plugins): Add config option to disable logging of warnings in console plugin

    Running tests in multiple browsers ends up printing out a lot of useless warnings I'm already aware of. To make skimming through logs in the case of an actual failure easier, I want to be able to disable the logging of warnings in the console plugin.

    • (7015010) feat(driver providers): Add BrowserStack support.

    Also added BrowserStack to CI

    ๐Ÿ› Bug Fixes

    • (7cba4ec) fix(ng-repeat): properly detect the end of an ng-repeat-start block

    Discovered while investigating issue #2365

    ๐Ÿ’ฅ Breaking Changes

    • (2bde92b) chore(jasmine): remove jasmine 1.3

    and update docs. Also, use jasmine 2 for running all Protractor's unit tests.

    BREAKING CHANGE: Now, both jasmine and jasmine2 frameworks use jasmine 2.3. Users still using jasmine version <2 will have to upgrade.

    • (18e1f71) chore(webdriver): upgrade Protractor to webdriver 2.48.2

    BREAKING CHANGE: 1) Users will no longer be able to use node versions <4. 2) There is significant changes to the control flow, and tests may need to be modified to be compliant with the new control flow. See https://github.com/SeleniumHQ/selenium/blob/master/javascript/node/selenium-webdriver/CHANGES.md

    • (ac1e21e) chore(plugins): Split first party plugins into seperate repos

    BREAKING CHANGE:

    The Accessibility, NgHint, Timeline, and Console plugins are now located in their own separate node modules. You will need to explicitly require each module you use. See https://github.com/angular/protractor/blob/master/docs/plugins.md#first-party-plugins for info for each module.

    • (ddb8584) chore(cucumber): Remove cucumber from internal implementation

    BREAKING CHANGE:

    Cucumber has been community maintained for a while, and in order to allow it to move faster, it is no longer part of the core Protractor library. It is now published on npm under protractor-cucumber-framework and will require setting frameworkPath in your configuration file. See https://github.com/angular/protractor/blob/master/docs/frameworks.md#using-cucumber for full instructions on use now.