When the reflow CLI is executed, it will compare its version against the API server running. It will warn upon any minor version increases, and fail on any major version increases.
This tool generally follows semantic versioning. Given a version number [MAJOR.MINOR.PATCH]:
- A MAJOR version increase is made when the API has changed in such a way that the CLI is now incompatible
- A MINOR version increase is made when a backwards compatible functionality is added
- A PATCH version increase is made when a backwards compatible fix is made.
For stability, it is always recommended to always run the latest version of the reflow CLI.
This file is also available at https://reflow.io/changelog.html
January 16 2022
Software Licenses / AWS Marketplace integration
Integration with new backend infrastructure stack; adjusted API URL
When an initial URL is invalid, the recorder still opens and provides an appropriate error
November 23 2021
Dark mode now also applies to authenticator component
November 05 2021
Capability to use an emulated mobile device to record / run tests.
Capability to execute a test against a different device to the one configured in the test.
Capability to compose pipeline actions with different devices to the one configured in the test.
Visual Diff (Percentage) of the associated action page screenshot against its baseline is rendered on the test run action.
Capability to explicitly use a given baseline in the execute run UI.
When running a run without pre-defining a baseline, the most recent successful run for the same device/test version is used. If it is the first run of that device, the most recent successful run of that test version is used. If it is the first run of that test version, then it is not compared with any other run.
November 01 2021
Tab width of watch recording tabs works better on mobile
Lowered datastore overhead
October 29 2021
Nodes now register/heartbeat against a manager process that points them towards things to execute. Avoids run contention and enables higher parallelism, usage based pricing. Breaking change, as polling for runs now unsupported
Screenshot stability now powered by SSIM. Custom Mix of SSIM and pixeldiff used for visualistation of diff.
Playwright version now pinned to avoid playwright screenshot bug
First / last actions now show post/prior screenshot respectively (previously were just a blank screenshot)
Retry loops added to page stability functions
Frame injection ensured before executing findElement calls; fixing failure caused by frame too slow.
Fix capturing click/drag events when viewport is scrolled
Screenshots of selected nodes are only done when the custom action form is open.
October 20 2021
Assertions can now be raised as either warnings or errors (previously, only errors). Assertions configured as warnings do not block the flow, but are highlighted when viewing results.
October 16 2021
October 15 2021
Highlight the elements that reflow interacts with in UI
Highlight mouse coordinates on selector / page images for mouse click or drag events
Completed elements now link appropriately to old test actions
Exponential-Backoff retry loops around element node screenshotting to improve reliability
<component>=<text> selector scores.
October 12 2021
Better support for refreshing devtools by creating a cdp session per connected one, instead of sharing a global cdp session
Better support for iframe actions where frame url doesn't exactly match
Better support for click/drag by tracking mouse location statefully. CDP event for mouse release could, under some conditions, have incorrect X/Y params so instead "most recent" mouse move event is now used
Add a backup method to CDP screencast frame/frame acks. CDP only has frame/frame-ack as a best-effort API. This adds an interval check so that if we know about DOM updates but haven't had a new frame since before DOM updates and a timeout (2.5s) the CDP screencast session is refreshed via stop/start APIs.
Show visual comparisons of elements after assert step.
Never show again option for action delete confirmations.
Enable chromium sandbox when run on local machines to reduce untrusted test execution risk.
October 4 2021
Only use S3 to store non-draft images
Visual screenshot assert: capability to asserts a given element matches the exact screenshot of an element when the test was first recorded
In custom action selector form UI, the selected element will now show a screenshot of the captured element just below the preferred selector.
Find typescript more reliably when invoked in a non-npm directory.
September 31 2021
Remove browser event memoization layer; recalculate selectors just before supplementing action details.
Ensure reflow only gets evaluated once per frame via stripping the magic symbol and replacing it with a hardcoded text constant on document root.
Increase performance inside browser by memoizing events and only recalculating selectors once per event.
Increase performance by only sending mouse move events when mouse is down.
September 30 2021
Fill actions with a selector containing
input[type="password"] get their text title replaced with '*'s.
Show number of found elements and associated score for each selector in selector layout UI.
Support for clicking / dragging elements.