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 addresses #1102, #1486 and introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

Bug Fixes

  • assertions: custom errors thrown via Ensure now include activity location (1fdf7a2), closes #1102
  • assertions: interaction to Ensure no longer emits an AssertionReport artifact (db3e5ae), closes #1486
  • core: corrected issue in asyncMap that led lists of lists to be flat-mapped not mapped (d7a6f1d)
  • core: easier configuration and automatic colour support detection for AnsiDiffFormatter (637ed44), closes #1486
  • core: further improvements to how the expected vs received values are rendered in VS Code (e2101d0), closes #1486
  • core: improved support for Node 14 (f828b45)
  • core: introduced ExpectationDetails to provide more accurate info re failed expectations (02b8f33), closes #1102
  • core: removed AssertionReport and AssertionReportDiffer as they're no longer needed (a968ac5), closes #1480
  • core: removed the legacy Error (de-)serialisation mechanism (7ea2b10)
  • core: typeOf now correctly recognises Proxy objects (3ca68a3)
  • core: updated npm-failsafe to 1.0.0 (df80731), closes #1486
  • playwright: upgraded Playwright to 1.30.0 (305a2c2)
  • web: renamed internal function inspector to inspected (4d2b147)

Features

  • assertions: diffs included in RuntimeErrors are now colour-coded (f88efb4), closes #1486
  • core: assertion and synchronisation errors include location of the activity that threw them (f06f378), closes #1102
  • core: assertion errors include precise information about unmet expectations and improved diffs (1eb09b1), closes #1102
  • core: better assertion errors reporting in Visual Studio Code (3b94b7d), closes #1486
  • core: error factory is now configurable, which allows for the diffs to include colours (dac293d), closes #1486
  • core: new ability to RaiseErrors (4617d39), closes #1102
  • core: overridable abilities (03966cc)
  • protractor: improved assertion error reporting for Protractor (8f8f91c), closes #1102
  • webdriverio: improved assertion error reporting for WebdriverIO (7513752), closes #1102

Summary

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

View detailed code diff on GitHub

Bug Fixes

  • core: improved Duration to ensure it can't be instantiated with an invalid parameter (9d89014)
  • core: improved error message shown when an actor doesn't have a required ability (753b036)
  • core: simplified AsyncOperation events (ac1a88f)
  • core: simplified internal AsyncOperation events to separate service name from task description (0162d28)
  • deps: update website dependencies (#1437) (51ef285)
  • playwright-test: better names for screenshots attached to Playwright Test reports (8c04334)
  • rest: support for Axios 1.2.2 (b6fa54b)

Features

  • playwright-test: annotate Playwright Test reports with Serenity/JS tags (5e4a513)
  • playwright-test: custom actors can now be defined in playwright config file (117da34)
  • playwright-test: interoperability between Serenity/JS default actor and page (91803de)
  • playwright-test: support for Photographer and automated screenshots upon activity failure (c5527ca)

Summary

This release addresses #1416, #1421 and introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

Bug Fixes

  • deps: update core dependencies to v5 (7c44d5a)
  • deps: update serenity bdd dependencies (51af1fc)
  • deps: update website dependencies (9be2176)
  • web: support for setting cookies using async or partially async data (ec8a65d), closes #1421

Features

  • cucumber: support reporting named hooks (426f68d), closes #1416
  • playwright: support for Playwright 1.29.0 (3dd0635)
  • rest: support for Axios 1.2.1 (b1ab268)

Summary

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

View detailed code diff on GitHub

Bug Fixes

  • core: renamed List.get(index) to List.nth(index) to make the API declarative (094e21c)
  • deps: update dependency query-selector-shadow-dom to ^1.0.1 (9e3bac6)
  • deps: update website dependencies (0ac28ff)
  • playwright: upgraded to Playwright 1.28.1 (e9c4c1c)
  • webdriverio: migrated to use Puppeteer 19.3 APIs (1aa2ab7)
  • web: marked PageElement methods returning a MetaQuestion (6f78186)

BREAKING CHANGES

  • core: List.get(index) replaced by List.nth(index); this affects classes inheriting from List, such as PageElements

Summary

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

View detailed code diff on GitHub

Bug Fixes

  • core: allow proxying location and description fields by QuestionAdapter (6761685), closes #1344
  • deps: update dependency fast-glob to ^3.2.12 (94854a1)
  • jasmine: remove warn jasmine#addSpecFiles (9fef049)
  • playwright: updated Playwright to 1.27.1 (a1fcecc)
  • playwright: upgraded Playwright to 1.27.1 (1345644)