Releases: cypress-io/cypress
Releases · cypress-io/cypress
0.6.7
Released 06/04/2015
Features:
- When reverting the DOM, associated command elements are now automatically scrolled into view.
- Hitboxes are now displayed on the screen based on the actual coordinates where an
action command
event took place. - Click events now display event information about the
mousedown
/mouseup
/click
default action + propagation in the command console. - Preventing default action on
mousedown
will no longer give focus as per the spec. - Click events are now issued in the exact center of an element (taking into account 2d transforms) and provide the coordinates in the command console and in the actual event
- Click events now take into account whether the associated element is being covered up by another element, and will retry or fail with an exact error message if the click was unable to be issued due to this reason.
- Click events will now intelligently provide
focus
to the first focusable element on the stack at the click coordinates, or will givefocus
to the window. - Click events will issue the click to the topmost element based on the click coordinates and not necessarily to the element you requested to e clicked (which simulates exactly how a real click works). If this happens it is noted in the command console and provides the
Actual Element Clicked
.
Bugfixes:
- When hover over commands element layers (2d transforms like rotation) are now taken into account and displayed correctly.
- There was a bug when checking / unchecking
:checkbox
where it did not properly receive focus.
Misc:
- Click events are now replicated almost identically to the W3C click spec. They should behave for all intents and purposes, identically to real clicks in the browser.
0.6.6
Released 05/31/2015
Bugfixes:
- Fixed regression related to cy.visit() not re-visiting when current match matches remote url.
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
.