Releases: cypress-io/cypress
Releases · cypress-io/cypress
0.6.5
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 of4s
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
0.5.15
Released 05/07/2015
Bugfixes:
- Reverted
window.location
overrides. This broke things in unexpected ways and after further testing would not have worked onFirefox
andIE
. It's back to the drawing board (but I have some ideas). Apps usingpushState
routing are broken again.
0.5.14
Released 05/06/2015
Features:
- Cypress now works with JS applications that use
pushState
andreplaceState
routing (commonly known asHTML5 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
andlink[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 tobeforeunload
which does. Additionally Cypress checks to ensurebeforeunload
did not return a non-undefined value.
Misc:
- More changes to prepare for server adapters,
0.5.13
Released 05/04/2015
Features:
- New
cy.message
andcy.msg
commands in preparation forcypress-ruby
,cypress-node
,cypress-*
packages/gem to talk directly to your backend.
Bugfixes:
- Using
querying
ortraversal
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
to2020
to avoid standard port conflicts with commonly used backends. Afterall, using Cypress is testing with 2020 vision. ;-) - Updated
bluebird
to2.9.25
. - Began implementation in preparation for cross browser testing coming sometime relatively soon.
0.5.12
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
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
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 theserver
orroute
. - .debug() now displays pending requests and completed requests.
- The command UI now displays pending requests as a
pending command
.
Misc:
- Updated
sinon
to1.14.1
.
0.5.9
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
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
andcache
. - Prevent 3rd party windows from gaining focus over main window.
Misc:
- Removed
cy.assign
, this has been folded into .as(). - Updated
chokidar
to1.0.1
.