diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7e2b82410f..618f824c6e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -101,9 +101,9 @@ To add a page such as a new guide or API documentation: - Add the new page to the relevant directory under [`source`](/source). - Link to your new page in the [`sidebar.yml`](/source/_data/sidebar.yml). -- Add translations for the sidebar link (for English, this is located in [`en.yml`](/themes/cypress/languages/en.yml)). +- Add translations for the sidebar link for each supported language (for English, this is located in [`en.yml`](/themes/cypress/languages/en.yml)). - Build the documentation site locally so that you can visually inspect your new page and the links to it. -- Copy over the new page to other language translations - Japanese docs in [`source/ja`](/source/ja), Chinese docs in [`source/zh-cn`](/source/zh-cn). +- Commit the new file using git - we auto-generate the doc to display within each supported language, this auto-generation depends on the file existing in git. - Submit a [pull request](#Pull-Requests) for your change. #### A Worked Example @@ -167,6 +167,8 @@ Our currently supported languages can be found at [`/source/_data/languages.yml` Translate existing documentation then submit a [pull request](#Pull-Requests) for your change. +**Note:** When adding a new doc file to the English source, the English file will need to be commited to git before the translated file is auto-generated. + If a page does not have a translation, then a pre-start step copies the English file to the language folder. These copies should NOT be committed into the source code. Only when the file has been translated you can add it to the source code with `git add --force source//.../file.md` and this file will not be overwritten by the English file. ## Committing Code diff --git a/source/_changelogs/3.5.0.md b/source/_changelogs/3.5.0.md new file mode 100644 index 0000000000..ebedfad10c --- /dev/null +++ b/source/_changelogs/3.5.0.md @@ -0,0 +1,104 @@ +# 3.5.0 + +*Released 10/2/2019* + +**Features:** + +- We now record video during `cypress run` in Chrome, Chromium, and Canary browsers. This requires passing the name or path of the Chrome browser to the {% url "`--browser` flag" command-line#cypress-run-browser-lt-browser-name-or-path-gt %}. Addresses {% issue 4608 %}. +- There is a new {% url "`.rightclick()`" rightclick %} command to right click on DOM elements. Addresses {% issue 53 %}. +- Cypress now accepts a {% url "`--config-file` argument" command-line#cypress-run-config-file-lt-config-file-gt %} to specify a different file to be used for Cypress configuration. You can also pass `false` to the `--config-file` to not use any configuration file. Addresses {% issue 1369 %}. +- You can now use your system's Node version by setting the {% url "`nodeVersion`" configuration#Node-version %} to `system` in your configuration. This Node version will be used to build files in your {% url "`integrationFolder`" configuration#Folders-Files %} and {% url "`supportFile`" configuration#Folders-Files %} and also be used to execute code in your {% url "`pluginsFile`" configuration#Folders-Files %}. If not set, Cypress will continue to use the Node version bundled with Cypress. Addresses {% issue 4432 %}. +- {% url "`.dblclick()` dblclick %} now accepts `position`, `x`, and `y` arguments. Addresses {% issue 116 %}. +- {% url "`.dblclick()` dblclick %} now accepts `force` and `multiple` in its `options`. Addresses {% issue 116 %}. +- {% url "`.screenshot()`" screenshot %} now accepts a `padding` argument when screenshotting elements that will alter the dimensions of the screenshot of the element. Addresses {% issue 4440 %}. +- {% url "`cy.visit()`" visit %} now accepts a `qs` option representing an object of query paramaters to be used in the URL. Addresses {% issue 5034 %}. +- {% url "`cy.viewport()`" viewport %} now allows for viewport sizes up to 4,000 pixels. Addresses {% issue 5181 %}. +- {% url "`cy.viewport()`" viewport %} accepts new size presets for `iphone-xr`, `iphone-x`, `samsung-s10` and `samsung-note9`. Addresses {% issue 4967 %}. +- Passing a `~` to `CYPRESS_CACHE_FOLDER` will automatically resolve to the user's home directory. Addresses {% issue 5386 %}. + +**Bugfixes:** + +- {% url "`.dblclick()` dblclick %} and {% url "`.click()`" click %} now fire all appropriate mouse events including `mouseover`, `mousemove`, `mouseout`, `pointerdown`, `pointerup`, and `pointermove`. Fixes {% issue 1016 %}, {% issue 1847 %}, {% issue 2045 %}, {% issue 2521 %}, {% issue 2768 %}, {% issue 2928 %}, {% issue 2957 %}, and {% issue 3224 %}. +- We updated {% url "`.dblclick()` dblclick %} to follow the same actionability checks as {% url "`.click()`" click %}. Fixes {% issue 3798 %}. +- Coordinates clicked during {% url "`.click()`" click %} are now correct if the element being clicked is within an iframe. Fixes {% issue 4347 %}. +- We now allow {% url "`.type()`" type %} to be used on any DOM element. The element will receive all of the type events. Fixes {% issue 2166 %} and {% issue 3661 %}. +- If a typeable element gains focus during {% url "`.type()`" type %}, Cypress now continues typing into the newly focused element. Fixes {% issue 2240 %}. +- We now correctly borrow the property getter for `maxLength` when using {% url `.type()` type %} on an input. Fixes {% issue 4587 %}. +- We fixed an issue where `datetime-local` inputs would not have their `value` updated during {% url "`.type()`" type %}. Fixes {% issue 2613 %}. +- {% url "`.type()`" type %} now allows you to type `-` into number inputs with text selection. Fixes {% issue 4767 %}. +- We now fire an `input` event when using {% url "`.type()`" type %} typing `{enter}` inserts a newline. Fixes {% issue 4870 %}. +- We no longer input text when non-`{shift}` modifier keys are typed in {% url "`.type()`" type %}. Fixes {% issue 5424 %}. +- We now properly send the `code` property during keyboard events triggered during {% url "`.type()`" type %}. Fixes {% issue 3722 %} +- Cypress now sends `screenX` and `screenY` properties to events triggered using {% url "`.trigger()`" trigger %}. Fixes {% issue 3187 %}. +- We fixed a bug where Cypress could not intercept traffic sent through {% url "`cy.visit()`" visit %} to IP addresses over HTTPS, leading to `ERR_SSL_VERSION_OR_CIPHER_MISMATCH` errors. Fixes {% issue 771 %}. +- We fixed a bug introduced in {% url "3.3.0" changelog#3-3-0 %} where some HTTPS sites failed to load during {% url "`cy.visit()`" visit %} and {% url "`cy.request()`" request %} with a "handshake failed" error. Fixes {% issue 4394 %}. +- We fixed a bug where ECC SSL Certificates were not supported during {% url "`cy.visit()`" visit %} that was introduced in {% url "3.3.0" changelog#3-3-0 %}. Fixes {% issue 4368 %}. +- We fixed an issue introduced in {% url "3.4.0" changelog#3-4-0 %} that would cause the Selector Playground to not properly highlight the currently hovered element. Fixes {% issue 4872 %}. +- {% url "`Cypress.env()`" env %} now escapes `