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

View detailed code diff on GitHub

Bug Fixes

  • core: re-implemented the interaction to Debug so that it works in JetBrains IDEs (14737f9), closes #1520
  • core: removed deprecated API Cast.whereEveryoneCan (7f2f5b9), closes #1403
  • core: removed deprecated API List.get (6308686), closes #1403
  • core: removed deprecated ContextTag (d09a688), closes #1403
  • deps: update dependency deepmerge to ^4.3.1 (d605a6b)
  • deps: update dependency graceful-fs to ^4.2.11 (3dc2d0b)
  • deps: update dependency typedoc to ^0.23.28 (5d5b8d7)
  • local-server: removed deprecated API StartLocalServer.onOneOfThePreferredPorts (58cc29c), closes #1403
  • playwright: it's now easier to inspect PlaywrightPage using the new interaction to Debug (cbf210a)

Summary

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

View detailed code diff on GitHub

Bug Fixes

  • core: moved time-related code to a common package (f29fedc), closes #1522
  • core: support for NPM 9 (0493474)
  • deps: update dependency tiny-types to ^1.19.1 (ce335eb)
  • jasmine: improved filesystem location detection for Jasmine scenarios (ec180d6)
  • rest: support for Axios 1.3.4 (e926bbd)

Features

  • assertions: fault-tolerant interaction to Ensure.eventually (d6297f7), closes #1522
  • core: introduced a new ability ScheduleWork to enable #1083 and #1522 (b275d18)
  • core: max timeout of Wait.until can now be configured globally (8dd6895), closes #1083

Summary

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

View detailed code diff on GitHub

Bug Fixes

  • core: introduced Cast.where factory method to make it easier to generate custom casts of actors (26637f1), closes #1523
  • deps: update dependency deepmerge to ^4.3.0 (ac08d09)
  • deps: update dependency yargs to ^17.7.1 (1e7a52b)
  • deps: update playwright dependencies to ^1.31.2 (ebac2ff)
  • deps: update website dependencies (#1531) (4a58010)
  • playwright-test: ensure each new actor gets their own Playwright browser (f4c527b), closes #1523
  • protractor: default actors receive abilities to BrowseTheWebWithProtractor and TakeNotes (edcf734), closes #1523
  • webdriverio: default actors receive abilities to BrowseTheWebWithWebdriverIO and TakeNotes (3880d3b), closes #1523

Summary

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

View detailed code diff on GitHub

Bug Fixes

  • console-reporter: any post-test StageCrewMember errors will now get printed to terminal (e4935df), closes #1495
  • core: allow for multiple events to be announced using a single call to Stage (2bcae80)
  • core: event TestRunFinished now incidates the Outcome of the test suite (a941056), closes #1495
  • deps: update website dependencies (309c5f3)
  • jasmine: default to using file name as feature name when describe blocks are absent (3542955), closes #1495
  • mocha: default to using file name as feature name when describe blocks are absent (1ca81ef), closes #1495
  • playwright-test: default to using file name as feature name when describe blocks are absent (1295b04), closes #1495
  • serenity-bdd: prevent invalid Serenity BDD JSON reports from being sent to processing (e59d4da), closes #1495

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)