Reflow v3.0.0

Changelog

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]:

  1. A MAJOR version increase is made when the API has changed in such a way that the CLI is now incompatible
  2. A MINOR version increase is made when a backwards compatible functionality is added
  3. 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

Feature
Software Licenses / AWS Marketplace integration
Fix
Integration with new backend infrastructure stack; adjusted API URL
Fix
When an initial URL is invalid, the recorder still opens and provides an appropriate error

November 23 2021

Feature
Single click oauth login
Fix
Dark mode now also applies to authenticator component

November 05 2021

Feature
Capability to use an emulated mobile device to record / run tests.
Feature
Capability to execute a test against a different device to the one configured in the test.
Feature
Capability to compose pipeline actions with different devices to the one configured in the test.
Feature
Visual Diff (Percentage) of the associated action page screenshot against its baseline is rendered on the test run action.
Feature
Capability to explicitly use a given baseline in the execute run UI.
Feature
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

Fix
Tab width of watch recording tabs works better on mobile
Speed
Lowered datastore overhead

October 29 2021

Feature
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
Feature
Screenshot stability now powered by SSIM. Custom Mix of SSIM and pixeldiff used for visualistation of diff.
Fix
Playwright version now pinned to avoid playwright screenshot bug
Fix
First / last actions now show post/prior screenshot respectively (previously were just a blank screenshot)
Fix
Retry loops added to page stability functions
Fix
Frame injection ensured before executing findElement calls; fixing failure caused by frame too slow.
Fix
Fix capturing click/drag events when viewport is scrolled
Speed
Screenshots of selected nodes are only done when the custom action form is open.

October 20 2021

Feature
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

Fix
Dark mode now default

October 15 2021

Feature
Highlight the elements that reflow interacts with in UI
Feature
Highlight mouse coordinates on selector / page images for mouse click or drag events
Feature
Dark mode
Fix
Completed elements now link appropriately to old test actions
Fix
Exponential-Backoff retry loops around element node screenshotting to improve reliability
Fix
Consolidation between <component>:has-text(<text>) and <component>=<text> selector scores.

October 12 2021

Fix
Better support for refreshing devtools by creating a cdp session per connected one, instead of sharing a global cdp session
Fix
Better support for iframe actions where frame url doesn't exactly match
Fix
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
Fix
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.
Feature
Show visual comparisons of elements after assert step.
Feature
Never show again option for action delete confirmations.
Security
Enable chromium sandbox when run on local machines to reduce untrusted test execution risk.

October 4 2021

Speed
Only use S3 to store non-draft images
Feature
Visual screenshot assert: capability to asserts a given element matches the exact screenshot of an element when the test was first recorded
Feature
In custom action selector form UI, the selected element will now show a screenshot of the captured element just below the preferred selector.
Fix
Find typescript more reliably when invoked in a non-npm directory.

September 31 2021

Fix
Remove browser event memoization layer; recalculate selectors just before supplementing action details.
Speed
Ensure reflow only gets evaluated once per frame via stripping the magic symbol and replacing it with a hardcoded text constant on document root.
Speed
Increase performance inside browser by memoizing events and only recalculating selectors once per event.
Speed
Increase performance by only sending mouse move events when mouse is down.

September 30 2021

Feature
Fill actions with a selector containing input[type="password"] get their text title replaced with '*'s.
Feature
Show number of found elements and associated score for each selector in selector layout UI.
Feature
Support for clicking / dragging elements.

© 2021 Resilient Software Ltd