Skip to main content

Serenity/JS Changelog 🎁

Subscribe to RSS feeds or follow on LinkedIn to stay up to date with new releases!

Summary

This release introduces improvements to the internal structure of Serenity/JS.

View detailed code diff on GitHub

Summary

This release addresses #1103 and introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

Bug Fixes

  • core: removed deprecated interface DressingRoom; please use Cast instead (d68b44b)
  • core: removed deprecated interface WithStage (45d1c2b)
  • core: removed deprecated task to See.if (dd5e2f5)
  • cucumber: SECURITY: removed overrides for colors.js since the issue has now been addressed (481e327), closes cucumber/cucumber-js#1885

Features

  • assertions: isPresent works with any Optional (cea75dc), closes #1103
  • core: f and d question description formatters (c9f3fad)
  • core: replaced Adapter with QuestionAdapter and introduced Optional (8d84ad3), closes #1103
  • core: support for Optional chaining, expectation isPresent, refactored Expectations (1841ee5), closes #1099 #1099 #1103

Summary

This release introduces improvements to the internal structure of Serenity/JS.

View detailed code diff on GitHub

Summary

This release introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

Bug Fixes

  • core: you can now retrieve the .length property of an Array wrapped in an Adapter<Array> (c36e210)

Features

  • web: ElementExpectation makes it easier to define custom PageElement-related Expectations (92ebf7d)
  • web: Text.ofAll accepts mapped PageElements (5314246)

Summary

This release introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

Bug Fixes

  • core: refactored Mappable so that it's easier to implement filters (176e0cd), closes #1074
  • core: removed interface Reducible since it's not used any more (1e9f23b)
  • deps: updated tiny-types to 1.17.0 (3187051)
  • examples: updated the examples to use the new PageElement, By, and .where APIs (54961a7), closes #805
  • rest: corrected LastResponse to wrap .status(), .body(), .header() and .headers() in Adapters (aab8e93), closes #1082
  • web: corrected synchronisation in Web questions and interactions (c3a0ad1)
  • web: Photographer skips taking a screenshot if the Window is closed (DevTools protocol) (b682577)
  • web: refactored Selector and NativeElementLocator classes to simplify the implementation (f0c8f11)
  • web: simplified the selectors (b167e42), closes #1074

Features

  • core: forEach for List and PageElements (4592fb7), closes #823
  • core: List supports custom collectors (cd3f2bc)
  • core: new implementation of List.where filters (45b3c80), closes #1074
  • core: support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) (3d3c02e), closes #1074
  • web: isVisible checks if the element is in viewport and not hidden behind other elements (429040f)
  • web: new PageElement retrieval model based on Selectors (48bd94f)
  • web: re-introduced PageElements.where DSL and universal By selectors (39fe0a1), closes #1081

Summary

This release introduces improvements to the internal structure of Serenity/JS.

View detailed code diff on GitHub

Bug Fixes

  • lerna: corrected versions of internal deps (582b922)