Skip to content

Releases: cypress-io/cypress

0.6.5

19 Jul 07:22
Compare
Choose a tag to compare

Released 05/23/2015

Features:

  • When Cypress detects a regular HTTP page loading event (where we're leaving the current page and requesting a new one) it will now insert a loading command which indicates to the user Cypress has stopped running commands until the new page loads.
  • If for some reason this new page errors Cypress will display the initial 500 error messages just like cy.visit().
  • Cypress now waits 20s (which matches cy.visit()) for the new page to load instead of 4s previously.

Bugfixes:

  • .submit() will actually submit the form for real now, instead of just firing the submit event. Now it's been upgraded to be able to be cancelled or have its returnValue set to false and will not submit the form. Don't ask how I missed this one. I as once a young naive programmer who trusted the DOM not to be the abomination it actually is.

Misc:

  • No longer send back a 500 message when initial response status code is 4xx.

0.6.4

19 Jul 07:22
Compare
Choose a tag to compare

Released 05/21/2015

Bugfixes:

  • Host header https protocol handling fixed.
  • Incorrectly handling query params on redirects fixed.
  • Other header edge cases fixed.

0.5.15

19 Jul 07:15
Compare
Choose a tag to compare

Released 05/07/2015

Bugfixes:

  • Reverted window.location overrides. This broke things in unexpected ways and after further testing would not have worked on Firefox and IE. It's back to the drawing board (but I have some ideas). Apps using pushState routing are broken again.

0.5.14

19 Jul 07:15
Compare
Choose a tag to compare

Released 05/06/2015

Features:

  • Cypress now works with JS applications that use pushState and replaceState routing (commonly known as HTML5 History) without having to change any application code.
  • Cypress now always updates the remote URL whenever your application changes its URL through the vast variety of ways it can do this.

Bugfixes:

  • Removed iframe and link[rel=stylesheet] elements during DOM revert.
  • Server instrument now correctly displays the number of responses their corresponding routes have had.
  • Spies/Stubs/Mocks instrument now correctly displays the number of calls their corresponding methods have had.
  • When users navigate between pages with commands, like .click(), Cypress now correctly waits until the age has finished loading before running more commands. Previously this waited for the unload event, which did not fire synchronously, and ow we bind to beforeunload which does. Additionally Cypress checks to ensure beforeunload did not return a non-undefined value.

Misc:

  • More changes to prepare for server adapters,

0.5.13

19 Jul 07:15
Compare
Choose a tag to compare

Released 05/04/2015

Features:

  • New cy.message and cy.msg commands in preparation for cypress-ruby, cypress-node, cypress-* packages/gem to talk directly to your backend.

Bugfixes:

  • Using querying or traversal commands will no longer throw a 2nd command error when using improper sizzle selectors.
  • Argument formatting display for command messages is fixed. There were instances of leading commas, or no commas on some commands.

Misc:

  • Changed default port from 3000 to 2020 to avoid standard port conflicts with commonly used backends. Afterall, using Cypress is testing with 2020 vision. ;-)
  • Updated bluebird to 2.9.25.
  • Began implementation in preparation for cross browser testing coming sometime relatively soon.

0.5.12

19 Jul 07:15
Compare
Choose a tag to compare

Released 04/30/2015

Features:

  • Introduced new command option length which cues Cypress into not resolving matched elements until their length matches the option provided.

Bugfixes:

  • cy.respond will not resolve until all of the queue'd XHR's have resolved.

Misc:

  • Cypress now throws on .should() if any DOM member isn't in the DOM, except for exist assertions.
  • Cypress now throws on eventually.have.length assertions. Use implicit {length: n} command options instead.
  • Cypress overrides chai exist assertion to really mean: "does this subject exist in the document?"

0.5.11

19 Jul 07:15
Compare
Choose a tag to compare

Released 04/29/2015

Bugfixes:

  • Fixed missing aliasType from primitives and some DOM aliases, which prevent the background color from displaying in the UI.

Misc:

  • Optimized performance for hovering / exiting commands. Heavily reduced the CPU on revert / restore the DOM.

0.5.10

19 Jul 07:15
Compare
Choose a tag to compare

Released 04/28/2015

Features:

  • cy.server() now accepts a delay option which will delay all responses to requests (including 404) based on the value in ms
  • cy.server() now accepts a respond option which can turn off automatic responding to requests.
  • cy.route() now accepts a delay option which overrides the delay option set in cy.server() to just matched requests.
  • cy.route() now accepts a respond option which will turn off automatic responding to just matched requests.
  • Fixes #14.
  • cy.wait() now accepts an alias property called request. Example: cy.wait('@getUsers.request') which ill resolve once the XHR is initially requested, before it is responded to. This allows you to test things when a request is in flight.
  • Added cy.respond command which will respond to all pending requests when {respond: false} is set in the server or route.
  • .debug() now displays pending requests and completed requests.
  • The command UI now displays pending requests as a pending command.

Misc:

  • Updated sinon to 1.14.1.

0.5.9

19 Jul 07:15
Compare
Choose a tag to compare

Released 04/26/2015

Features:

  • Added .spread() method which spreads an array as individual arguments to a callback function,like .then().
  • During an update Cypress will now display the updating message in the same coordinates as when the app was open by clicking the tray icon.
  • After an update Cypress will now open back up and show itself in these same coordinates.
  • cy.wait() can now accept an array of route aliases which will wait until all have completed. This array of resolved XHRs will become the next subject.
  • Each time an alias in used with a cy.wait(), Cypress will not resolve until the Nth request matching the outing alias responds. Fixes #4.
  • cy.get() has been upgraded to accept a routing alias. By default it will yield the last matched request, but also supports special alias properties which return a different request or potentially an array of requests.

0.5.8

19 Jul 07:14
Compare
Choose a tag to compare

Released 04/24/2015

Features:

  • .as() can now alias primitives and objects other than routes or DOM.
  • .as() automatically assigns this alias to runnable.ctx which makes it available synchronously.
  • .as() blacklists several reserved words and will throw if you attempt to alias as one of them.
  • cy.get() can now accept all alias types and will display the labels in the UI differently based on the alias type.
  • Cypress now displays a message when the Desktop App update is actually being applied instead of doing nothing and looking like it's crashed.

Bugfixes:

  • .as() now throws on empty strings or non string arguments.
  • Desktop App debug logs no longer sort in the wrong direction.
  • Permissions are now restored during a cypress update for the logs and cache.
  • Prevent 3rd party windows from gaining focus over main window.

Misc:

  • Removed cy.assign, this has been folded into .as().
  • Updated chokidar to 1.0.1.