# Change Log

All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [3.44.1](https://github.com/serenity-js/serenity-js/compare/v3.44.0...v3.44.1) (2026-07-06)


### Bug Fixes

* **deps:** update dependency semver to v7.8.5 ([2ba50f3](https://github.com/serenity-js/serenity-js/commit/2ba50f302181f5e901664fafd35bc2aba238827c))
* **eslint:** adapt config to eslint-plugin-unicorn v71 ([eec6f0a](https://github.com/serenity-js/serenity-js/commit/eec6f0affa2acd313b955bb0ce444fb06ecf5b21))





# [3.44.0](https://github.com/serenity-js/serenity-js/compare/v3.43.4...v3.44.0) (2026-06-13)

**Note:** Version bump only for package @serenity-js/core





## [3.43.4](https://github.com/serenity-js/serenity-js/compare/v3.43.3...v3.43.4) (2026-06-10)


### Bug Fixes

* **deps:** update dependency semver to v7.8.4 ([7ae8f25](https://github.com/serenity-js/serenity-js/commit/7ae8f25cd458ab74d4036d643ce2f6120b55367e))





## [3.43.3](https://github.com/serenity-js/serenity-js/compare/v3.43.2...v3.43.3) (2026-06-06)


### Bug Fixes

* **core:** drop Node 20 support, require Node \>=22.12 ([08cbd88](https://github.com/serenity-js/serenity-js/commit/08cbd88ab545402b7c439178fd83152183f741e8))
* **deps:** update dependency semver to v7.8.2 ([d29555a](https://github.com/serenity-js/serenity-js/commit/d29555a17741ef945dc4938651091b291a1dc8f1))





## [3.43.2](https://github.com/serenity-js/serenity-js/compare/v3.43.1...v3.43.2) (2026-05-13)

**Note:** Version bump only for package @serenity-js/core





## [3.43.1](https://github.com/serenity-js/serenity-js/compare/v3.43.0...v3.43.1) (2026-05-11)


### Bug Fixes

* **core:** updated API docs ([38b86f4](https://github.com/serenity-js/serenity-js/commit/38b86f4190b5d3c6a64fd0042c87ac187f847f89))





# [3.43.0](https://github.com/serenity-js/serenity-js/compare/v3.42.2...v3.43.0) (2026-05-11)


### Bug Fixes

* **core:** introduced Initialisable.isInitialisable and Discardable.isDiscardable ([a8c260d](https://github.com/serenity-js/serenity-js/commit/a8c260db850f8d50f8b289d123fe95c9aa859a5e))
* **deps:** update dependency semver to v7.8.0 ([c76c7ea](https://github.com/serenity-js/serenity-js/commit/c76c7eaef92c840859fa080494f702f8d32372bc))





## [3.42.2](https://github.com/serenity-js/serenity-js/compare/v3.42.1...v3.42.2) (2026-04-26)

**Note:** Version bump only for package @serenity-js/core





## [3.42.1](https://github.com/serenity-js/serenity-js/compare/v3.42.0...v3.42.1) (2026-04-08)


### Bug Fixes

* **deps:** update dependency diff to v8.0.4 ([0e5be70](https://github.com/serenity-js/serenity-js/commit/0e5be7046bf3fdea96679c9dc2a54e8c24ef97e4))





# [3.42.0](https://github.com/serenity-js/serenity-js/compare/v3.41.2...v3.42.0) (2026-03-19)


### Features

* **core:** add dual ESM/CJS build support ([09b457d](https://github.com/serenity-js/serenity-js/commit/09b457dee4a0b86d650af845ba224651e7805a11))
* **core:** add dual ESM/CJS build support for Wave 2 packages ([0e2631c](https://github.com/serenity-js/serenity-js/commit/0e2631ca7cdbe68da7feec343eaf4f7fe9bb64d6))
* **core:** add ESM/CJS dual build support for web packages ([94c5a64](https://github.com/serenity-js/serenity-js/commit/94c5a6423dc369477bbabbacee5a54f8fca20209))





## [3.41.2](https://github.com/serenity-js/serenity-js/compare/v3.41.1...v3.41.2) (2026-03-05)

**Note:** Version bump only for package @serenity-js/core





## [3.41.1](https://github.com/serenity-js/serenity-js/compare/v3.41.0...v3.41.1) (2026-02-27)

**Note:** Version bump only for package @serenity-js/core





# [3.41.0](https://github.com/serenity-js/serenity-js/compare/v3.40.0...v3.41.0) (2026-02-15)


### Bug Fixes

* **deps:** update dependency semver to v7.7.4 ([e2e2df1](https://github.com/serenity-js/serenity-js/commit/e2e2df1398e6b6fcc7df2e6b413f6345cc0c2e87))


### Features

* **core:** differentiate between ActorEntersStage and ActorSpotlighted events ([62e8bb4](https://github.com/serenity-js/serenity-js/commit/62e8bb47cbb9aa60bf4da504f0eb92b16ae2c281)), closes [#2855](https://github.com/serenity-js/serenity-js/issues/2855)





# [3.40.0](https://github.com/serenity-js/serenity-js/compare/v3.39.0...v3.40.0) (2026-02-04)


### Bug Fixes

* **core:** updated validate-npm-package-name to 7.0.2 ([a5cdf79](https://github.com/serenity-js/serenity-js/commit/a5cdf79cc8a9100fcd286618e60ecee4ab13a726))





# [3.39.0](https://github.com/serenity-js/serenity-js/compare/v3.38.0...v3.39.0) (2026-01-30)

**Note:** Version bump only for package @serenity-js/core





# [3.38.0](https://github.com/serenity-js/serenity-js/compare/v3.37.2...v3.38.0) (2026-01-29)


### Features

* **core:** event SceneFinishes includes the outcome of the test scenario ([37cc14e](https://github.com/serenity-js/serenity-js/commit/37cc14ee48a746592e0b9e9f430a2416b150db3e)), closes [#3005](https://github.com/serenity-js/serenity-js/issues/3005)
* **webdriverio:** support afterTest hooks ([a79c83c](https://github.com/serenity-js/serenity-js/commit/a79c83cf0d2b975f9d7831dbf8cbe6dc1cc4935d)), closes [#3005](https://github.com/serenity-js/serenity-js/issues/3005)





## [3.37.2](https://github.com/serenity-js/serenity-js/compare/v3.37.1...v3.37.2) (2026-01-23)


### Bug Fixes

* **deps:** update dependency diff to v8 [security] ([1b3cd88](https://github.com/serenity-js/serenity-js/commit/1b3cd8801ed3c71486fbdc0ca643870d78597a43))





## [3.37.1](https://github.com/serenity-js/serenity-js/compare/v3.37.0...v3.37.1) (2025-12-16)

**Note:** Version bump only for package @serenity-js/core





# [3.37.0](https://github.com/serenity-js/serenity-js/compare/v3.36.2...v3.37.0) (2025-12-02)

**Note:** Version bump only for package @serenity-js/core





## [3.36.2](https://github.com/serenity-js/serenity-js/compare/v3.36.1...v3.36.2) (2025-11-26)

**Note:** Version bump only for package @serenity-js/core





## [3.36.1](https://github.com/serenity-js/serenity-js/compare/v3.36.0...v3.36.1) (2025-11-16)


### Bug Fixes

* **deps:** update dependency tiny-types to v1.24.3 ([952a453](https://github.com/serenity-js/serenity-js/commit/952a453936326d154389b79bfd3b04f4b75d0688))





# [3.36.0](https://github.com/serenity-js/serenity-js/compare/v3.35.3...v3.36.0) (2025-11-06)


### Bug Fixes

* **deps:** update dependency @paralleldrive/cuid2 to v2.3.1 ([e7fb0b5](https://github.com/serenity-js/serenity-js/commit/e7fb0b51dc502942152cdb4a64d347df0520831a))


### Features

* **core:** introduced support for Node 24, dropped support for Node 18 (EOL) ([9dd5f88](https://github.com/serenity-js/serenity-js/commit/9dd5f885d8e65cd8ff3429a2af94151fbe9134ed))





## [3.35.3](https://github.com/serenity-js/serenity-js/compare/v3.35.2...v3.35.3) (2025-10-30)


### Bug Fixes

* **deps:** update dependency semver to v7.7.3 ([4d73e21](https://github.com/serenity-js/serenity-js/commit/4d73e2127068088d42aa751acf730097a4e3a426))





## [3.35.2](https://github.com/serenity-js/serenity-js/compare/v3.35.1...v3.35.2) (2025-10-06)


### Bug Fixes

* **deps:** update dependency typescript to v5.9.3 ([fb0bbf6](https://github.com/serenity-js/serenity-js/commit/fb0bbf6bd4c59ec559e9b895ca5f4e27d875c64e))





## [3.35.1](https://github.com/serenity-js/serenity-js/compare/v3.35.0...v3.35.1) (2025-09-28)

**Note:** Version bump only for package @serenity-js/core





# [3.35.0](https://github.com/serenity-js/serenity-js/compare/v3.34.2...v3.35.0) (2025-09-07)

**Note:** Version bump only for package @serenity-js/core





## [3.34.2](https://github.com/serenity-js/serenity-js/compare/v3.34.1...v3.34.2) (2025-09-07)

**Note:** Version bump only for package @serenity-js/core





## [3.34.1](https://github.com/serenity-js/serenity-js/compare/v3.34.0...v3.34.1) (2025-08-20)


### Bug Fixes

* **deps:** update dependency tiny-types to v1.24.1 ([14c705a](https://github.com/serenity-js/serenity-js/commit/14c705a83bd7b38dec34529fbb7875168dbc7f3c))





# [3.34.0](https://github.com/serenity-js/serenity-js/compare/v3.33.1...v3.34.0) (2025-08-01)


### Bug Fixes

* **deps:** update dependency typescript to v5.9.2 ([8a40483](https://github.com/serenity-js/serenity-js/commit/8a40483203534445d93c5be6f4d8a747055fd79e))





## [3.33.1](https://github.com/serenity-js/serenity-js/compare/v3.33.0...v3.33.1) (2025-07-28)


### Bug Fixes

* **core:** refactored Tag deserialiser to simplify the import graph ([ec2c333](https://github.com/serenity-js/serenity-js/commit/ec2c333ed4127d898319d0d9932d09cf545e4508))
* **core:** support for deserialising ProjectTags ([47f650a](https://github.com/serenity-js/serenity-js/commit/47f650a026bbe812eff98dbe89658baa99371d0d))





## [3.32.5](https://github.com/serenity-js/serenity-js/compare/v3.32.4...v3.32.5) (2025-07-28)


### Bug Fixes

* **deps:** update dependency validate-npm-package-name to v6.0.2 ([280c3ac](https://github.com/serenity-js/serenity-js/commit/280c3acd410e46c87150d5804952479433ba7d3f))





## [3.32.4](https://github.com/serenity-js/serenity-js/compare/v3.32.3...v3.32.4) (2025-07-13)


### Bug Fixes

* **core:** removed unnecessary tsconfig files from build artifacts ([6e4d4fa](https://github.com/serenity-js/serenity-js/commit/6e4d4fabed5d0bc2847bbf7cbc4ead10710ec32b))





## [3.32.3](https://github.com/serenity-js/serenity-js/compare/v3.32.2...v3.32.3) (2025-07-07)


### Bug Fixes

* **core:** remove dependency on cuid2 from the FileSystem class ([26ad2a3](https://github.com/serenity-js/serenity-js/commit/26ad2a331b0b8f30dbe65f6f62758ab426ef8dc3))
* **core:** use 'node:' prefix for core node module imports ([b1775d5](https://github.com/serenity-js/serenity-js/commit/b1775d51f8e19e9ae0b140ec67aa07dd1391234d))
* **playwright-test:** support for reporting on programmatically skipped scenarios ([2c154d1](https://github.com/serenity-js/serenity-js/commit/2c154d1a7b0deb62d2d83bd58dc025318db2d4d3))





## [3.32.2](https://github.com/serenity-js/serenity-js/compare/v3.32.1...v3.32.2) (2025-06-21)

**Note:** Version bump only for package @serenity-js/core





## [3.32.1](https://github.com/serenity-js/serenity-js/compare/v3.32.0...v3.32.1) (2025-06-20)


### Bug Fixes

* **playwright-test:** added SerenityFixtures and SerenityWorkerFixtures to API docs ([887a7cf](https://github.com/serenity-js/serenity-js/commit/887a7cfb2d5505cd566cc26defdf6d1aaa145e40))





# [3.32.0](https://github.com/serenity-js/serenity-js/compare/v3.31.17...v3.32.0) (2025-06-20)


### Bug Fixes

* **core:** retain the Stage when Serenity is re-configured ([03f74bf](https://github.com/serenity-js/serenity-js/commit/03f74bfe33349f2fa5b32e0a10ceb1f57047dc3b))
* **playwright:** marked all properties of ExtraBrowserContextOptions as optional ([3ee0145](https://github.com/serenity-js/serenity-js/commit/3ee0145890d0619cc0f4786b9addad429a41f278))


### Features

* **playwright-test:** aggregate retried test reports, filter tests by project ([6cc46db](https://github.com/serenity-js/serenity-js/commit/6cc46dbc073134dd6956fff04208c1e574f38b05))
* **playwright:** refactored SerenityFixtures, corrected BrowseTheWebWithPlaywright parameters ([9c62723](https://github.com/serenity-js/serenity-js/commit/9c627233bc93e38a8ae6e9ba531c31ba05ab707f))





## [3.31.17](https://github.com/serenity-js/serenity-js/compare/v3.31.16...v3.31.17) (2025-06-16)

**Note:** Version bump only for package @serenity-js/core





## [3.31.16](https://github.com/serenity-js/serenity-js/compare/v3.31.15...v3.31.16) (2025-06-05)


### Bug Fixes

* **deps:** update dependency semver to v7.7.2 ([41dbee8](https://github.com/serenity-js/serenity-js/commit/41dbee88e6cd3c8b7b0ad1c8c073eaca2615ee52))
* **deps:** update dependency validate-npm-package-name to v6.0.1 ([fcc6781](https://github.com/serenity-js/serenity-js/commit/fcc6781cd3a629c863f59e924ce39ade1b47ce71))





## [3.31.15](https://github.com/serenity-js/serenity-js/compare/v3.31.14...v3.31.15) (2025-05-06)

**Note:** Version bump only for package @serenity-js/core





## [3.31.14](https://github.com/serenity-js/serenity-js/compare/v3.31.13...v3.31.14) (2025-04-28)


### Bug Fixes

* **deps:** update dependency typescript to v5.8.3 ([b19c09b](https://github.com/serenity-js/serenity-js/commit/b19c09b5e5e7d05e744bc0c8b0b49cd3af89483c))





## [3.31.13](https://github.com/serenity-js/serenity-js/compare/v3.31.12...v3.31.13) (2025-03-20)

**Note:** Version bump only for package @serenity-js/core





## [3.31.12](https://github.com/serenity-js/serenity-js/compare/v3.31.11...v3.31.12) (2025-03-12)

**Note:** Version bump only for package @serenity-js/core





## [3.31.10](https://github.com/serenity-js/serenity-js/compare/v3.31.9...v3.31.10) (2025-03-05)


### Bug Fixes

* **deps:** update dependency typescript to v5.8.2 ([228c7fd](https://github.com/serenity-js/serenity-js/commit/228c7fddee3afcbf5015b147eeb816494ef6bd08))





## [3.31.9](https://github.com/serenity-js/serenity-js/compare/v3.31.8...v3.31.9) (2025-02-20)

**Note:** Version bump only for package @serenity-js/core





## [3.31.8](https://github.com/serenity-js/serenity-js/compare/v3.31.7...v3.31.8) (2025-02-04)


### Bug Fixes

* **deps:** update dependency semver to v7.7.1 ([640931b](https://github.com/serenity-js/serenity-js/commit/640931bc7a4886ae10497480744004710cd45549))





## [3.31.7](https://github.com/serenity-js/serenity-js/compare/v3.31.6...v3.31.7) (2025-01-24)

**Note:** Version bump only for package @serenity-js/core





## [3.31.6](https://github.com/serenity-js/serenity-js/compare/v3.31.5...v3.31.6) (2025-01-16)

**Note:** Version bump only for package @serenity-js/core





## [3.31.5](https://github.com/serenity-js/serenity-js/compare/v3.31.4...v3.31.5) (2025-01-11)


### Bug Fixes

* **core:** added more context to the ArtifactArchived event ([9f10867](https://github.com/serenity-js/serenity-js/commit/9f108678e5b356e98dd4b2c672364b6c378f2af8))
* **deps:** update dependency fast-glob to v3.3.3 ([93cf07e](https://github.com/serenity-js/serenity-js/commit/93cf07ec7e3cab9d682ef657a4cb4c56c50024bb))
* **deps:** update dependency typescript to v5.7.3 ([cd87dd8](https://github.com/serenity-js/serenity-js/commit/cd87dd80ea55e73bac48afd9c670191a10dc97c4))





## [3.31.4](https://github.com/serenity-js/serenity-js/compare/v3.31.3...v3.31.4) (2025-01-01)

**Note:** Version bump only for package @serenity-js/core





## [3.31.2](https://github.com/serenity-js/serenity-js/compare/v3.31.1...v3.31.2) (2024-12-26)

**Note:** Version bump only for package @serenity-js/core





## [3.31.1](https://github.com/serenity-js/serenity-js/compare/v3.31.0...v3.31.1) (2024-12-17)

**Note:** Version bump only for package @serenity-js/core





# [3.31.0](https://github.com/serenity-js/serenity-js/compare/v3.30.0...v3.31.0) (2024-12-12)

**Note:** Version bump only for package @serenity-js/core





# [3.30.0](https://github.com/serenity-js/serenity-js/compare/v3.29.5...v3.30.0) (2024-11-19)


### Bug Fixes

* **core:** updated dependency on validate-npm-package-name ([1ef87d9](https://github.com/serenity-js/serenity-js/commit/1ef87d994608ad09dd856d9d102c70acee5fc4f5))





## [3.29.5](https://github.com/serenity-js/serenity-js/compare/v3.29.4...v3.29.5) (2024-11-03)

**Note:** Version bump only for package @serenity-js/core





## [3.29.4](https://github.com/serenity-js/serenity-js/compare/v3.29.3...v3.29.4) (2024-10-08)

**Note:** Version bump only for package @serenity-js/core





## [3.29.3](https://github.com/serenity-js/serenity-js/compare/v3.29.2...v3.29.3) (2024-10-08)

**Note:** Version bump only for package @serenity-js/core





## [3.29.2](https://github.com/serenity-js/serenity-js/compare/v3.29.1...v3.29.2) (2024-09-25)


### Bug Fixes

* **core:** added implementation examples to Numeric API docs ([5365ec4](https://github.com/serenity-js/serenity-js/commit/5365ec4f92f17a9b835e8a5de0880c38558de520))





## [3.29.1](https://github.com/serenity-js/serenity-js/compare/v3.29.0...v3.29.1) (2024-09-24)


### Bug Fixes

* **core:** code clean-up ([c95e32b](https://github.com/serenity-js/serenity-js/commit/c95e32b880949c0dd085d64c6fad46680f14c9f8))





# [3.29.0](https://github.com/serenity-js/serenity-js/compare/v3.28.0...v3.29.0) (2024-09-24)


### Bug Fixes

* **core:** improved precision of results calculated by Numeric.sum() ([d82a23d](https://github.com/serenity-js/serenity-js/commit/d82a23d95572fedcca297bd79d555325f96ea460)), closes [#2420](https://github.com/serenity-js/serenity-js/issues/2420)


### Features

* **core:** added Numeric.sum() arithmetic function ([5ed15ec](https://github.com/serenity-js/serenity-js/commit/5ed15ec2ea90655fc45aa54a0b30c2e089265d18)), closes [#2420](https://github.com/serenity-js/serenity-js/issues/2420)
* **core:** introduced Numeric.difference() ([97e7f5e](https://github.com/serenity-js/serenity-js/commit/97e7f5e396787b8eb9a51983b60aa191f5bfb8f8)), closes [#2420](https://github.com/serenity-js/serenity-js/issues/2420)
* **core:** introduced Numeric.floor() and Numeric.ceiling() functions ([dbe892b](https://github.com/serenity-js/serenity-js/commit/dbe892b8f064a84f907d60bb5594ad900645a631)), closes [#2420](https://github.com/serenity-js/serenity-js/issues/2420)
* **core:** introduced Numeric.intValue(), .bigIntValue() and floatValue() meta-questions ([bab710e](https://github.com/serenity-js/serenity-js/commit/bab710e1e6c92045561159a6a89462f6a3b6ee67)), closes [#2420](https://github.com/serenity-js/serenity-js/issues/2420)
* **core:** introduced Numeric.max() and Numeric.min() ([f310bb0](https://github.com/serenity-js/serenity-js/commit/f310bb002ca30abb163bdeeff5764b0f4971ad03)), closes [#2420](https://github.com/serenity-js/serenity-js/issues/2420)
* **core:** standardised arithmetic function APIs so that they can be used to map collection items ([8817ad4](https://github.com/serenity-js/serenity-js/commit/8817ad4ecfdef411eee0f5af8f1ccd73d6eb0806)), closes [#2420](https://github.com/serenity-js/serenity-js/issues/2420)





# [3.28.0](https://github.com/serenity-js/serenity-js/compare/v3.27.0...v3.28.0) (2024-09-11)

**Note:** Version bump only for package @serenity-js/core





# [3.27.0](https://github.com/serenity-js/serenity-js/compare/v3.26.1...v3.27.0) (2024-09-06)


### Bug Fixes

* **core:** updated npm tags to improve discoverability ([432d331](https://github.com/serenity-js/serenity-js/commit/432d331aedb7b46fdd5291394521923ce66c1a2b))


### Features

* **core:** added support for Node 22, dropped support for Node 16 ([d5dea01](https://github.com/serenity-js/serenity-js/commit/d5dea013ed5d87f2e0cda8fa83da9fd021e4638d)), closes [#2518](https://github.com/serenity-js/serenity-js/issues/2518)





## [3.26.1](https://github.com/serenity-js/serenity-js/compare/v3.26.0...v3.26.1) (2024-09-03)


### Bug Fixes

* **core:** updated diff to 6.0.0 ([d7718e1](https://github.com/serenity-js/serenity-js/commit/d7718e150ec2a81aa1ebe5e8dd3b89cda476306b))





# [3.26.0](https://github.com/serenity-js/serenity-js/compare/v3.25.5...v3.26.0) (2024-08-27)


### Features

* **core:** final state of the actor's notepad is included in Serenity BDD report ([56c9fb8](https://github.com/serenity-js/serenity-js/commit/56c9fb88514657df51c82fd8ab642514ed8e3416))
* **core:** introduced specialised events to mark actors' exit from the stage ([b0b3f0c](https://github.com/serenity-js/serenity-js/commit/b0b3f0cb85790cd83b170271a15b91029c7b43a3))
* **core:** new event ActorEntersStage and associated models ([11702b6](https://github.com/serenity-js/serenity-js/commit/11702b6fc21fa00f1ff8dcc0f1169090b1a97f72))
* **core:** new event ActorEntersStage is emitted upon invoking actorCalled for the first time ([1498c21](https://github.com/serenity-js/serenity-js/commit/1498c2103e5ab4dc3958a4236a8e26ff2848e6c0))
* **core:** new method actor.toJSON lets you inspect the actor and its abilities ([ace3323](https://github.com/serenity-js/serenity-js/commit/ace3323ea5db8771734259db450e65cb58275794))





## [3.25.5](https://github.com/serenity-js/serenity-js/compare/v3.25.4...v3.25.5) (2024-08-18)


### Bug Fixes

* **deps:** update dependency tiny-types to v1.23.0 ([1c9a897](https://github.com/serenity-js/serenity-js/commit/1c9a897c100398632366bdef84d9dfde03f1af3c))





## [3.25.4](https://github.com/serenity-js/serenity-js/compare/v3.25.3...v3.25.4) (2024-08-07)

**Note:** Version bump only for package @serenity-js/core





## [3.25.3](https://github.com/serenity-js/serenity-js/compare/v3.25.2...v3.25.3) (2024-07-25)

**Note:** Version bump only for package @serenity-js/core





## [3.25.2](https://github.com/serenity-js/serenity-js/compare/v3.25.1...v3.25.2) (2024-07-17)

**Note:** Version bump only for package @serenity-js/core





## [3.25.1](https://github.com/serenity-js/serenity-js/compare/v3.25.0...v3.25.1) (2024-07-10)


### Bug Fixes

* **core:** all the API docs now link to the online Serenity/JS API documentation ([f8f451d](https://github.com/serenity-js/serenity-js/commit/f8f451dffdb4caaa2e31a860f59d59470f4856ad))





# [3.25.0](https://github.com/serenity-js/serenity-js/compare/v3.24.1...v3.25.0) (2024-07-03)

**Note:** Version bump only for package @serenity-js/core





## [3.24.1](https://github.com/serenity-js/serenity-js/compare/v3.24.0...v3.24.1) (2024-06-26)

**Note:** Version bump only for package @serenity-js/core





# [3.24.0](https://github.com/serenity-js/serenity-js/compare/v3.23.2...v3.24.0) (2024-06-18)


### Bug Fixes

* **core:** aggregated the various internal reflection functions under ValueInspector ([4c9ce32](https://github.com/serenity-js/serenity-js/commit/4c9ce329bd82970a9166844286571e0fab58b7b5)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)


### Features

* **assertions:** dynamic descriptions for assertions and expectations ([3fdc7c8](https://github.com/serenity-js/serenity-js/commit/3fdc7c83880d58f509c8b9e9e2494167a99444f0)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
* **core:** dynamic descriptions for Wait.for and Wait.until ([d000f46](https://github.com/serenity-js/serenity-js/commit/d000f4664b5528352a6c7abd770831da34f90f00)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
* **core:** initial description of a Question can now be dynamic ([7c428cc](https://github.com/serenity-js/serenity-js/commit/7c428cc4ef0668f71399028a1998d15bd18f576b)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
* **core:** nested properties returned by QuestionAdapters are now reported as their formatted value ([35f2e3e](https://github.com/serenity-js/serenity-js/commit/35f2e3e217e94e771c85cb49d1afa81bfc0873b3)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
* **core:** notes are now reported using their actual value rather than their description ([584373a](https://github.com/serenity-js/serenity-js/commit/584373ac5b3fceb54320891b93c981a4c671b93e)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
* **core:** support for dynamic descriptions for Questions ([aac9a8f](https://github.com/serenity-js/serenity-js/commit/aac9a8f5dbc5b6f4664373f5462aa171baecdcf8)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
* **core:** support for dynamic descriptions for Tasks and Interactions ([c1516f2](https://github.com/serenity-js/serenity-js/commit/c1516f2b1acb5937ad22012914ce38e15abe1276)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
* **core:** the - new tag template function to help you create dynamic descriptions of activities ([98288dd](https://github.com/serenity-js/serenity-js/commit/98288dd5ef2a9af570b20d373cf46198665dc473)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)
* **core:** the - tag literal function now accepts meta-questions as parameters ([a7b58b6](https://github.com/serenity-js/serenity-js/commit/a7b58b6f145aa0a708e329497d24aef004d46bed)), closes [#2223](https://github.com/serenity-js/serenity-js/issues/2223)





## [3.23.2](https://github.com/serenity-js/serenity-js/compare/v3.23.1...v3.23.2) (2024-05-24)

**Note:** Version bump only for package @serenity-js/core





## [3.23.1](https://github.com/serenity-js/serenity-js/compare/v3.23.0...v3.23.1) (2024-05-20)


### Bug Fixes

* **core:** allow relative Path to resolve to '.' ([be527a2](https://github.com/serenity-js/serenity-js/commit/be527a258cd1d6f797ef3ffdcc9a6b0118e8d2fa))





# [3.23.0](https://github.com/serenity-js/serenity-js/compare/v3.22.4...v3.23.0) (2024-05-12)


### Features

* **core:** exported isPlainObject utility function as part of /lib/io ([7f2c5fd](https://github.com/serenity-js/serenity-js/commit/7f2c5fd94cc68ac2249d1e0285933e96794f4493))
* **core:** new utility method Question.fromArray to complement Question.fromObject ([4007bf1](https://github.com/serenity-js/serenity-js/commit/4007bf1310d0eb0ce2b3e10fe97955f0ad9ef087))





## [3.22.4](https://github.com/serenity-js/serenity-js/compare/v3.22.3...v3.22.4) (2024-05-07)

**Note:** Version bump only for package @serenity-js/core





## [3.22.3](https://github.com/serenity-js/serenity-js/compare/v3.22.2...v3.22.3) (2024-05-01)

**Note:** Version bump only for package @serenity-js/core





## [3.22.2](https://github.com/serenity-js/serenity-js/compare/v3.22.1...v3.22.2) (2024-04-20)

**Note:** Version bump only for package @serenity-js/core





## [3.22.1](https://github.com/serenity-js/serenity-js/compare/v3.22.0...v3.22.1) (2024-04-17)

**Note:** Version bump only for package @serenity-js/core





# [3.22.0](https://github.com/serenity-js/serenity-js/compare/v3.21.2...v3.22.0) (2024-04-11)

**Note:** Version bump only for package @serenity-js/core





## [3.21.2](https://github.com/serenity-js/serenity-js/compare/v3.21.1...v3.21.2) (2024-03-31)

**Note:** Version bump only for package @serenity-js/core





## [3.21.1](https://github.com/serenity-js/serenity-js/compare/v3.21.0...v3.21.1) (2024-03-16)


### Bug Fixes

* **core:** upgraded dependency on tiny-types to 1.22.0 ([2c0bb2a](https://github.com/serenity-js/serenity-js/commit/2c0bb2aeee7df7652853606c1ea10794157eb9fb))





# [3.21.0](https://github.com/serenity-js/serenity-js/compare/v3.20.0...v3.21.0) (2024-03-04)


### Bug Fixes

* **playwright-test:** support for reporting tags registered using the new Playwright 1.42 tags API ([9d57157](https://github.com/serenity-js/serenity-js/commit/9d571573cd9d8b52ddcb286f1160c7011dea7590))





# [3.20.0](https://github.com/serenity-js/serenity-js/compare/v3.19.0...v3.20.0) (2024-03-02)


### Features

* **core:** simplified reading and writing files in CrewMembers using the FileSystem ([7f0d0cc](https://github.com/serenity-js/serenity-js/commit/7f0d0cc6de675a526a6e9351fe94055501d87e2c)), closes [#2244](https://github.com/serenity-js/serenity-js/issues/2244)





# [3.19.0](https://github.com/serenity-js/serenity-js/compare/v3.18.1...v3.19.0) (2024-03-01)

**Note:** Version bump only for package @serenity-js/core





## [3.18.1](https://github.com/serenity-js/serenity-js/compare/v3.18.0...v3.18.1) (2024-02-23)

**Note:** Version bump only for package @serenity-js/core





# [3.18.0](https://github.com/serenity-js/serenity-js/compare/v3.17.0...v3.18.0) (2024-02-17)


### Bug Fixes

* **deps:** update dependency diff to v5.2.0 ([17f5a2e](https://github.com/serenity-js/serenity-js/commit/17f5a2e61576bae958f1f30490da8b24351d08f8))





# [3.17.0](https://github.com/serenity-js/serenity-js/compare/v3.16.2...v3.17.0) (2024-02-10)


### Bug Fixes

* **playwright-test:** fix lint issue, refactors and add integration tests to custom tags reporting ([0f055c7](https://github.com/serenity-js/serenity-js/commit/0f055c7f4e0a9f6d29ef20c615c2055baebf85ec))





## [3.16.2](https://github.com/serenity-js/serenity-js/compare/v3.16.1...v3.16.2) (2024-02-05)

**Note:** Version bump only for package @serenity-js/core





## [3.16.1](https://github.com/serenity-js/serenity-js/compare/v3.16.0...v3.16.1) (2024-02-03)


### Bug Fixes

* **core:** build with TypeScript 5.2 ([2f261ee](https://github.com/serenity-js/serenity-js/commit/2f261ee92ae4d75b1d5b576d30083c8ecacbcb95))





# [3.16.0](https://github.com/serenity-js/serenity-js/compare/v3.15.1...v3.16.0) (2024-02-01)


### Bug Fixes

* **core:** introduced RequirementsHierarchy to centralise requirements detection logic ([0a3d6f0](https://github.com/serenity-js/serenity-js/commit/0a3d6f013a3b94ca471edc263e1157b7c41131be))
* **core:** recognise `specs` as a potential requirements hierarchy root ([d95d850](https://github.com/serenity-js/serenity-js/commit/d95d85058fd5e4e01aec689b7196989ece5e303f))
* **core:** removed dependency on Moment.js ([edd1d64](https://github.com/serenity-js/serenity-js/commit/edd1d64f30893983b92bd600d102c81577c0ecb1))
* **core:** simplified the Timestampt validation regex and improved error messages ([b453a23](https://github.com/serenity-js/serenity-js/commit/b453a23de419dbd811927b9447c17678e39f8cc8))
* **core:** support for timezones and simplified date time strings when creating Timestamps ([754f8e2](https://github.com/serenity-js/serenity-js/commit/754f8e260d2fc5130075a78ec58084eafcf2c83f))


### Features

* **core:** added Masked.valueOf() Question ([e9ff5ab](https://github.com/serenity-js/serenity-js/commit/e9ff5ab62e8b305aa7ef2238f482be5369d890c1)), closes [#2165](https://github.com/serenity-js/serenity-js/issues/2165)
* **mocha:** support for nested requirements reporting ([f8e70ce](https://github.com/serenity-js/serenity-js/commit/f8e70ce8a317ab6e8bdf4d058110f110b4c8deda))
* **serenity-bdd:** upgraded Serenity BDD to 4.0.44 ([4e2f1e3](https://github.com/serenity-js/serenity-js/commit/4e2f1e3b273712c44a7f749ba9570f121520cdd5))





## [3.15.1](https://github.com/serenity-js/serenity-js/compare/v3.15.0...v3.15.1) (2024-01-19)

**Note:** Version bump only for package @serenity-js/core





# [3.15.0](https://github.com/serenity-js/serenity-js/compare/v3.14.2...v3.15.0) (2024-01-12)


### Bug Fixes

* **deps:** update dependency moment to v2.30.1 ([42ec5c3](https://github.com/serenity-js/serenity-js/commit/42ec5c3b0052a0f939eec761a06ad83c632c7eb8))


### Features

* **core:** enabled ClassLoader to instantiate StageCrewMembers using their factory functions ([f98bd42](https://github.com/serenity-js/serenity-js/commit/f98bd4206e768d5840d6e7952c61f7a2da1b144e)), closes [#1147](https://github.com/serenity-js/serenity-js/issues/1147)
* **core:** timestamps can be represented as ISO8601-compatible strings ([b19e064](https://github.com/serenity-js/serenity-js/commit/b19e064abdbf5073bc701dd238098aa31ba7fc5a))
* **serenity-bdd:** support for Serenity BDD 4 ([c15c366](https://github.com/serenity-js/serenity-js/commit/c15c3660f957c21c367f8f27218a05d3fbca78de)), closes [#1147](https://github.com/serenity-js/serenity-js/issues/1147)





## [3.14.2](https://github.com/serenity-js/serenity-js/compare/v3.14.1...v3.14.2) (2023-12-12)

**Note:** Version bump only for package @serenity-js/core





## [3.14.1](https://github.com/serenity-js/serenity-js/compare/v3.14.0...v3.14.1) (2023-12-10)


### Bug Fixes

* **core:** added provenance statements ([04c2d87](https://github.com/serenity-js/serenity-js/commit/04c2d878be0f2d853b14e4fa390f312688b868cf))
* **core:** pinned all the direct dependencies ([498b336](https://github.com/serenity-js/serenity-js/commit/498b33614f678327ba207b30e3b2452728545aaf))





# [3.14.0](https://github.com/serenity-js/serenity-js/compare/v3.13.3...v3.14.0) (2023-12-02)


### Features

* **core:** nested error cause is now added to the main error message ([815c8ce](https://github.com/serenity-js/serenity-js/commit/815c8ce54205d813224cb5746e42bc48b7c388c9)), closes [#1823](https://github.com/serenity-js/serenity-js/issues/1823)





## [3.13.3](https://github.com/serenity-js/serenity-js/compare/v3.13.2...v3.13.3) (2023-11-22)

**Note:** Version bump only for package @serenity-js/core





## [3.13.2](https://github.com/serenity-js/serenity-js/compare/v3.13.1...v3.13.2) (2023-11-14)


### Bug Fixes

* **cucumber:** resolve paths to "imports" as absolute file URLs ([fc9aefc](https://github.com/serenity-js/serenity-js/commit/fc9aefcdc2ec8e1dfe3ce38b03a1ff7fd7d3c6c6)), closes [#2060](https://github.com/serenity-js/serenity-js/issues/2060)





## [3.13.1](https://github.com/serenity-js/serenity-js/compare/v3.13.0...v3.13.1) (2023-11-07)


### Bug Fixes

* **deps:** update dependency tiny-types to ^1.21.0 ([d4921f9](https://github.com/serenity-js/serenity-js/commit/d4921f9cedb502487c176216fbf15dd2ef83dcc4))





# [3.13.0](https://github.com/serenity-js/serenity-js/compare/v3.12.0...v3.13.0) (2023-10-19)

**Note:** Version bump only for package @serenity-js/core





# [3.12.0](https://github.com/serenity-js/serenity-js/compare/v3.11.1...v3.12.0) (2023-10-09)

**Note:** Version bump only for package @serenity-js/core





## [3.11.1](https://github.com/serenity-js/serenity-js/compare/v3.11.0...v3.11.1) (2023-10-04)


### Bug Fixes

* **core:** allow for QuestionAdapter\<string\> to proxy .replaceAll() method ([f1200c1](https://github.com/serenity-js/serenity-js/commit/f1200c1648471088c1f2943770c1bb4cc940e22f))





# [3.11.0](https://github.com/serenity-js/serenity-js/compare/v3.10.4...v3.11.0) (2023-10-03)


### Features

* **core:** inspecting a Timestamp returns a human-friendly description of its value ([da26b54](https://github.com/serenity-js/serenity-js/commit/da26b5478108c811e52ea8d902dd6c626c843ffc))





## [3.10.4](https://github.com/serenity-js/serenity-js/compare/v3.10.3...v3.10.4) (2023-09-22)

**Note:** Version bump only for package @serenity-js/core





## [3.10.3](https://github.com/serenity-js/serenity-js/compare/v3.10.2...v3.10.3) (2023-09-15)

**Note:** Version bump only for package @serenity-js/core





## [3.10.2](https://github.com/serenity-js/serenity-js/compare/v3.10.1...v3.10.2) (2023-09-10)


### Bug Fixes

* **core:** updated installation instruction in the README ([ec3f277](https://github.com/serenity-js/serenity-js/commit/ec3f2778334abbd7324497ceaa2df9f0560a103e)), closes [#1915](https://github.com/serenity-js/serenity-js/issues/1915)





## [3.10.1](https://github.com/serenity-js/serenity-js/compare/v3.10.0...v3.10.1) (2023-09-01)

**Note:** Version bump only for package @serenity-js/core





# [3.10.0](https://github.com/serenity-js/serenity-js/compare/v3.9.1...v3.10.0) (2023-08-23)


### Features

* **web:** chainable `PageElements` ([#1864](https://github.com/serenity-js/serenity-js/issues/1864)) ([4d0c7eb](https://github.com/serenity-js/serenity-js/commit/4d0c7eb97c24fe3ae1eed702773cf3b80f104947))





## [3.9.1](https://github.com/serenity-js/serenity-js/compare/v3.9.0...v3.9.1) (2023-08-18)


### Bug Fixes

* **core:** support iOS window handles in CorrelationId ([4e15e1a](https://github.com/serenity-js/serenity-js/commit/4e15e1aac28bf2952bf578edbf972968c6892270))
* **deps:** update dependency @paralleldrive/cuid2 to ^2.2.2 ([1bec9da](https://github.com/serenity-js/serenity-js/commit/1bec9da27a44dd6f7fed3c68c03e346d87e77cbd))





# [3.9.0](https://github.com/serenity-js/serenity-js/compare/v3.8.0...v3.9.0) (2023-08-04)


### Features

* **core:** introduced MetaQuestionAdapter ([b6676fd](https://github.com/serenity-js/serenity-js/commit/b6676fd6ee2a2f67fd56e0642b3af72027d50a75))





# [3.8.0](https://github.com/serenity-js/serenity-js/compare/v3.7.2...v3.8.0) (2023-08-01)


### Bug Fixes

* **serenity-bdd:** corrected screenshot sort order in screenshot detail viewer ([7537622](https://github.com/serenity-js/serenity-js/commit/7537622d41193e3cf358a1b939c7422bcc3b207f)), closes [#1790](https://github.com/serenity-js/serenity-js/issues/1790)


### Features

* **core:** allow for easier debugging of Serenity/JS domain events using StreamReporter ([108677e](https://github.com/serenity-js/serenity-js/commit/108677e213423004127b6752301e73f66231030e)), closes [#1790](https://github.com/serenity-js/serenity-js/issues/1790)





## [3.7.2](https://github.com/serenity-js/serenity-js/compare/v3.7.1...v3.7.2) (2023-07-26)


### Bug Fixes

* **deps:** update dependency fast-glob to ^3.3.1 ([0822973](https://github.com/serenity-js/serenity-js/commit/0822973cace7872cfa27e056c8c0276884ac8076))





## [3.7.1](https://github.com/serenity-js/serenity-js/compare/v3.7.0...v3.7.1) (2023-07-22)

**Note:** Version bump only for package @serenity-js/core





# [3.7.0](https://github.com/serenity-js/serenity-js/compare/v3.6.1...v3.7.0) (2023-07-20)


### Bug Fixes

* **core:** support for proxying String.replace in QuestionAdapter ([251113d](https://github.com/serenity-js/serenity-js/commit/251113d50002f2be175ca8e17466a8c5a8e9418d))





## [3.6.1](https://github.com/serenity-js/serenity-js/compare/v3.6.0...v3.6.1) (2023-07-11)


### Bug Fixes

* **playwright-test:** ensure activity instantiation location is correct in component tests ([87d59ef](https://github.com/serenity-js/serenity-js/commit/87d59ef7549b12c071c09c103153599e86f74c90)), closes [#1784](https://github.com/serenity-js/serenity-js/issues/1784)





# [3.6.0](https://github.com/serenity-js/serenity-js/compare/v3.5.0...v3.6.0) (2023-07-11)


### Bug Fixes

* **deps:** update dependency tiny-types to ^1.20.0 ([6d7bf43](https://github.com/serenity-js/serenity-js/commit/6d7bf43c6135968bc90869cb8f9782ed70ca8dd9))





# [3.5.0](https://github.com/serenity-js/serenity-js/compare/v3.4.2...v3.5.0) (2023-07-02)


### Bug Fixes

* **core:** code clean-up: use type-only TypeScript imports where possible ([aa49150](https://github.com/serenity-js/serenity-js/commit/aa49150ca7f367363bb6fcc5e054da8bd820825e))


### Features

* **core:** actors can tell the current time ([c52959a](https://github.com/serenity-js/serenity-js/commit/c52959a877ee920955bdf45ce79fb2c2b5ac0148))





## [3.4.2](https://github.com/serenity-js/serenity-js/compare/v3.4.1...v3.4.2) (2023-06-30)


### Bug Fixes

* **deps:** update dependency fast-glob to ^3.3.0 ([bb00f5e](https://github.com/serenity-js/serenity-js/commit/bb00f5e0e916352bc5722064c0bcd97af4e38ab9))





## [3.4.1](https://github.com/serenity-js/serenity-js/compare/v3.4.0...v3.4.1) (2023-06-23)

**Note:** Version bump only for package @serenity-js/core





# [3.4.0](https://github.com/serenity-js/serenity-js/compare/v3.3.1...v3.4.0) (2023-06-10)


### Features

* **core:** compile Serenity/JS against ES2021 ([6b31184](https://github.com/serenity-js/serenity-js/commit/6b31184986f78b454ec1eeed53553fba8ebc868c))





## [3.3.1](https://github.com/serenity-js/serenity-js/compare/v3.3.0...v3.3.1) (2023-06-08)


### Bug Fixes

* **deps:** update dependency @paralleldrive/cuid2 to ^2.2.1 ([eb37932](https://github.com/serenity-js/serenity-js/commit/eb37932dcf93cff36eabb4c36c1740025467eb74))





# [3.3.0](https://github.com/serenity-js/serenity-js/compare/v3.2.1...v3.3.0) (2023-06-01)


### Bug Fixes

* **core:** ability to ScheduleWork preserves stack traces for better reporting ([c2ce5f7](https://github.com/serenity-js/serenity-js/commit/c2ce5f768732de5b01113c0f2dfa8e98d3e73667)), closes [#1717](https://github.com/serenity-js/serenity-js/issues/1717)


### Features

* **core:** enabled extending default behaviour of actor.perform and actor.answer APIs ([01bb213](https://github.com/serenity-js/serenity-js/commit/01bb213fa59a03737cd7d0770cd5df737cffcb19)), closes [#1717](https://github.com/serenity-js/serenity-js/issues/1717)





## [3.2.1](https://github.com/serenity-js/serenity-js/compare/v3.2.0...v3.2.1) (2023-05-15)

**Note:** Version bump only for package @serenity-js/core





# [3.2.0](https://github.com/serenity-js/serenity-js/compare/v3.1.6...v3.2.0) (2023-05-05)


### Bug Fixes

* **core:** use "types" instead of "typings" in package.json files ([b83d922](https://github.com/serenity-js/serenity-js/commit/b83d922076242c6cd5d6f2da055a05aa5e77f11b)), closes [#1682](https://github.com/serenity-js/serenity-js/issues/1682)


### Features

* **core:** introduced support for Node.js 20, dropped support for Node.js 14 ([491fef8](https://github.com/serenity-js/serenity-js/commit/491fef8df672a2b40d247887b3da409dccbd26fd)), closes [#1678](https://github.com/serenity-js/serenity-js/issues/1678)
* **core:** new factory method to create Path.fromURI ([baed8c4](https://github.com/serenity-js/serenity-js/commit/baed8c4a86a2d7b114783574c2326d8102c1b0e9))





## [3.1.6](https://github.com/serenity-js/serenity-js/compare/v3.1.5...v3.1.6) (2023-04-18)


### Bug Fixes

* **webdriverio:** upgraded to TypeScript 5 and WebdriverIO 7.31.1 ([15b1ba7](https://github.com/serenity-js/serenity-js/commit/15b1ba77e157d77123a2e8922414e937c0d2869d)), closes [#1558](https://github.com/serenity-js/serenity-js/issues/1558) [#1651](https://github.com/serenity-js/serenity-js/issues/1651)





## [3.1.5](https://github.com/serenity-js/serenity-js/compare/v3.1.4...v3.1.5) (2023-04-18)


### Bug Fixes

* **serenity-bdd:** improved support for nested requirement hierarchies with Cucumber.js ([749fb0f](https://github.com/serenity-js/serenity-js/commit/749fb0f9501575ac8152b01a980e4959a823471f)), closes [/github.com/serenity-bdd/serenity-core/blob/8f7d14c6dad47bb58a1585fef5f9d9a44bb963fd/serenity-model/src/main/java/net/thucydides/core/requirements/AbstractRequirementsTagProvider.java#L36](https://github.com//github.com/serenity-bdd/serenity-core/blob/8f7d14c6dad47bb58a1585fef5f9d9a44bb963fd/serenity-model/src/main/java/net/thucydides/core/requirements/AbstractRequirementsTagProvider.java/issues/L36) [#1649](https://github.com/serenity-js/serenity-js/issues/1649)





## [3.1.3](https://github.com/serenity-js/serenity-js/compare/v3.1.2...v3.1.3) (2023-04-14)

**Note:** Version bump only for package @serenity-js/core





## [3.1.2](https://github.com/serenity-js/serenity-js/compare/v3.1.1...v3.1.2) (2023-04-07)

**Note:** Version bump only for package @serenity-js/core





## [3.1.1](https://github.com/serenity-js/serenity-js/compare/v3.1.0...v3.1.1) (2023-04-05)


### Bug Fixes

* **core:** ensure Wait.for(..) is not terminated prematurely by interactionTimeout ([f1a94e2](https://github.com/serenity-js/serenity-js/commit/f1a94e259942725f2603cc33cd9772478e825dde)), closes [#1604](https://github.com/serenity-js/serenity-js/issues/1604)





# [3.1.0](https://github.com/serenity-js/serenity-js/compare/v3.0.1...v3.1.0) (2023-04-02)


### Bug Fixes

* **core:** replaced dependency on depracated cuid with cuid2 ([0417f1c](https://github.com/serenity-js/serenity-js/commit/0417f1c2c673dce7eaabe0ffae76311757e3b3ee))





## [3.0.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0...v3.0.1) (2023-03-25)

**Note:** Version bump only for package @serenity-js/core





# [3.0.0](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.45...v3.0.0) (2023-03-23)

**Note:** Version bump only for package @serenity-js/core





# [3.0.0-rc.45](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.44...v3.0.0-rc.45) (2023-03-22)


### Bug Fixes

* **core:** re-implemented the interaction to Debug so that it works in JetBrains IDEs ([14737f9](https://github.com/serenity-js/serenity-js/commit/14737f9eaa8cd1a66bce02649f768f4227bf1c27)), closes [#1520](https://github.com/serenity-js/serenity-js/issues/1520)
* **core:** removed deprecated API Cast.whereEveryoneCan ([7f2f5b9](https://github.com/serenity-js/serenity-js/commit/7f2f5b9e642a00b6ce6f66ec06dd32f7a248495e)), closes [#1403](https://github.com/serenity-js/serenity-js/issues/1403)
* **core:** removed deprecated API List.get ([6308686](https://github.com/serenity-js/serenity-js/commit/6308686cde3e908822265e53e68dd1df05aa2567)), closes [#1403](https://github.com/serenity-js/serenity-js/issues/1403)
* **core:** removed deprecated ContextTag ([d09a688](https://github.com/serenity-js/serenity-js/commit/d09a6888020f2a7f76c0830b6d2939205cf0b3aa)), closes [#1403](https://github.com/serenity-js/serenity-js/issues/1403)
* **deps:** update dependency graceful-fs to ^4.2.11 ([3dc2d0b](https://github.com/serenity-js/serenity-js/commit/3dc2d0b30e474126c1427238e9440a9f942fbdd9))





# [3.0.0-rc.44](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.43...v3.0.0-rc.44) (2023-03-19)


### Bug Fixes

* **core:** moved time-related code to a common package ([f29fedc](https://github.com/serenity-js/serenity-js/commit/f29fedc0e67d0db942b247aed53a243868a5f6dd)), closes [#1522](https://github.com/serenity-js/serenity-js/issues/1522)
* **core:** support for NPM 9 ([0493474](https://github.com/serenity-js/serenity-js/commit/0493474a1e28b86b1b60f69ec0d591c1a3265425))
* **deps:** update dependency tiny-types to ^1.19.1 ([ce335eb](https://github.com/serenity-js/serenity-js/commit/ce335ebca434d1fd0e6e809a65a0882fd10a311a))


### Features

* **core:** introduced a new ability ScheduleWork to enable [#1083](https://github.com/serenity-js/serenity-js/issues/1083) and [#1522](https://github.com/serenity-js/serenity-js/issues/1522) ([b275d18](https://github.com/serenity-js/serenity-js/commit/b275d18434cdedf069c5f1da3b9b359fc7da60fe))
* **core:** max timeout of Wait.until can now be configured globally ([8dd6895](https://github.com/serenity-js/serenity-js/commit/8dd68959c1c7c00ec7de0d4a18d6c9c0039c4a8e)), closes [#1083](https://github.com/serenity-js/serenity-js/issues/1083)





# [3.0.0-rc.43](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.42...v3.0.0-rc.43) (2023-03-10)


### Bug Fixes

* **core:** introduced Cast.where factory method to make it easier to generate custom casts of actors ([26637f1](https://github.com/serenity-js/serenity-js/commit/26637f10746bbd264ab73ab14b43eaf11dea5652)), closes [#1523](https://github.com/serenity-js/serenity-js/issues/1523)





# [3.0.0-rc.42](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.41...v3.0.0-rc.42) (2023-02-12)


### Bug Fixes

* **core:** allow for multiple events to be announced using a single call to Stage ([2bcae80](https://github.com/serenity-js/serenity-js/commit/2bcae809075fd9ef4f77f41714c78a4da5643acd))
* **core:** event TestRunFinished now incidates the Outcome of the test suite ([a941056](https://github.com/serenity-js/serenity-js/commit/a9410566891e543101b935a80db9c7daea0c9944)), closes [#1495](https://github.com/serenity-js/serenity-js/issues/1495)
* **mocha:** default to using file name as feature name when describe blocks are absent ([1ca81ef](https://github.com/serenity-js/serenity-js/commit/1ca81efe5fe5547bea3e4fd9abe7712f2e775b5d)), closes [#1495](https://github.com/serenity-js/serenity-js/issues/1495)
* **playwright-test:** default to using file name as feature name when describe blocks are absent ([1295b04](https://github.com/serenity-js/serenity-js/commit/1295b04adcd12a9d7eaef795e1080bb1c5a9056d)), closes [#1495](https://github.com/serenity-js/serenity-js/issues/1495)





# [3.0.0-rc.41](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.40...v3.0.0-rc.41) (2023-02-07)


### Bug Fixes

* **core:** corrected issue in asyncMap that led lists of lists to be flat-mapped not mapped ([d7a6f1d](https://github.com/serenity-js/serenity-js/commit/d7a6f1d7281f34c56cf2b606681c8046b1cffce7))
* **core:** easier configuration and automatic colour support detection for AnsiDiffFormatter ([637ed44](https://github.com/serenity-js/serenity-js/commit/637ed44ffb16484544ade975bcbc4c3929ffe8f9)), closes [#1486](https://github.com/serenity-js/serenity-js/issues/1486)
* **core:** further improvements to how the expected vs received values are rendered in VS Code ([e2101d0](https://github.com/serenity-js/serenity-js/commit/e2101d0b11e56b1701bf75efe0d4f85ab72a6f48)), closes [#1486](https://github.com/serenity-js/serenity-js/issues/1486)
* **core:** improved support for Node 14 ([f828b45](https://github.com/serenity-js/serenity-js/commit/f828b4563a3c5165dc066fc675d4e5c2b78c3a0a))
* **core:** introduced ExpectationDetails to provide more accurate info re failed expectations ([02b8f33](https://github.com/serenity-js/serenity-js/commit/02b8f33732341a9391192fc52a59ea8a8f5f19f0)), closes [#1102](https://github.com/serenity-js/serenity-js/issues/1102)
* **core:** removed AssertionReport and AssertionReportDiffer as they're no longer needed ([a968ac5](https://github.com/serenity-js/serenity-js/commit/a968ac57365e10b503e74db4319eb96b3430ffb0)), closes [#1480](https://github.com/serenity-js/serenity-js/issues/1480)
* **core:** removed the legacy Error (de-)serialisation mechanism ([7ea2b10](https://github.com/serenity-js/serenity-js/commit/7ea2b101c6d5ba1b32e14b3f24a5bd6b9c5c97f6))
* **core:** typeOf now correctly recognises Proxy objects ([3ca68a3](https://github.com/serenity-js/serenity-js/commit/3ca68a33524556c43d288a9131e79cb53a9f392e))


### Features

* **assertions:** diffs included in RuntimeErrors are now colour-coded ([f88efb4](https://github.com/serenity-js/serenity-js/commit/f88efb48180924351e8f7b25c44f3560b0e01b0d)), closes [#1486](https://github.com/serenity-js/serenity-js/issues/1486)
* **core:** assertion and synchronisation errors include location of the activity that threw them ([f06f378](https://github.com/serenity-js/serenity-js/commit/f06f378b9427d81a5adcea219ef01cf616a48c20)), closes [#1102](https://github.com/serenity-js/serenity-js/issues/1102)
* **core:** assertion errors include precise information about unmet expectations and improved diffs ([1eb09b1](https://github.com/serenity-js/serenity-js/commit/1eb09b1c1c8fb059b53bd7fcefab660581abc7bc)), closes [#1102](https://github.com/serenity-js/serenity-js/issues/1102)
* **core:** better assertion errors reporting in Visual Studio Code ([3b94b7d](https://github.com/serenity-js/serenity-js/commit/3b94b7d606fae49e7ca77c2fbe09d07eeb042ea9)), closes [#1486](https://github.com/serenity-js/serenity-js/issues/1486)
* **core:** error factory is now configurable, which allows for the diffs to include colours ([dac293d](https://github.com/serenity-js/serenity-js/commit/dac293de5f8baed5aee3246b5467c4bcfbebbb25)), closes [#1486](https://github.com/serenity-js/serenity-js/issues/1486)
* **core:** new ability to RaiseErrors ([4617d39](https://github.com/serenity-js/serenity-js/commit/4617d39a7b0d72381834abe27ff4393cbc79d0f5)), closes [#1102](https://github.com/serenity-js/serenity-js/issues/1102)
* **core:** overridable abilities ([03966cc](https://github.com/serenity-js/serenity-js/commit/03966ccae40d102b7dbca1125beb90ceda8fbc50))





# [3.0.0-rc.40](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.39...v3.0.0-rc.40) (2023-01-06)

**Note:** Version bump only for package @serenity-js/core





# [3.0.0-rc.39](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.38...v3.0.0-rc.39) (2023-01-05)


### Bug Fixes

* **core:** improved Duration to ensure it can't be instantiated with an invalid parameter ([9d89014](https://github.com/serenity-js/serenity-js/commit/9d89014a261659ef07ee05eb9082449019f21e50))
* **core:** improved error message shown when an actor doesn't have a required ability ([753b036](https://github.com/serenity-js/serenity-js/commit/753b0362ffbcc771995f711df89d1d64d4b55d76))
* **core:** simplified AsyncOperation events ([ac1a88f](https://github.com/serenity-js/serenity-js/commit/ac1a88f95560b5f163ac3f2302f4274f4bf99455))
* **core:** simplified internal AsyncOperation events to separate service name from task description ([0162d28](https://github.com/serenity-js/serenity-js/commit/0162d287c84a4ab716e5e655cfc2b816ba89f394))


### Features

* **playwright-test:** custom actors can now be defined in playwright config file ([117da34](https://github.com/serenity-js/serenity-js/commit/117da340c0a9bea214b2a3ea8182d803608697dc))





# [3.0.0-rc.38](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.37...v3.0.0-rc.38) (2022-12-28)


### Bug Fixes

* **assertions:** improved AssertionError messages ([958ab7f](https://github.com/serenity-js/serenity-js/commit/958ab7f79daba8df25dbcff50d6a67b2bef58b29))





# [3.0.0-rc.37](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.36...v3.0.0-rc.37) (2022-12-18)


### Bug Fixes

* **deps:** update core dependencies to v5 ([7c44d5a](https://github.com/serenity-js/serenity-js/commit/7c44d5a6b498c034a5f55a4ae0b787f8ec2b5569))





# [3.0.0-rc.36](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.35...v3.0.0-rc.36) (2022-11-28)


### Bug Fixes

* **core:** reverted the change to List.get and marked method as deprecated, to be removed in 3.0 ([5ac8c69](https://github.com/serenity-js/serenity-js/commit/5ac8c69a5ddb2cbb62a76f5e25cfdeae11135b45)), closes [#1403](https://github.com/serenity-js/serenity-js/issues/1403)





# [3.0.0-rc.35](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.34...v3.0.0-rc.35) (2022-11-25)


### Bug Fixes

* **core:** renamed List.get(index) to List.nth(index) to make the API declarative ([094e21c](https://github.com/serenity-js/serenity-js/commit/094e21ceb08e95ba5c9c5998cb5ecdfb13bdcf1b))


### BREAKING CHANGES

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





# [3.0.0-rc.34](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.33...v3.0.0-rc.34) (2022-11-21)


### Bug Fixes

* **core:** interaction to Wait should fail after the timeout ([5403394](https://github.com/serenity-js/serenity-js/commit/54033946873e20a18ad1076c77f841b3856f2478)), closes [#1339](https://github.com/serenity-js/serenity-js/issues/1339)





# [3.0.0-rc.33](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.32...v3.0.0-rc.33) (2022-11-07)


### Bug Fixes

* **core:** allow proxying `location` and `description` fields by `QuestionAdapter` ([6761685](https://github.com/serenity-js/serenity-js/commit/6761685d0cd0f775088d514c3eefbaff4431faa1)), closes [#1344](https://github.com/serenity-js/serenity-js/issues/1344)
* **deps:** update dependency fast-glob to ^3.2.12 ([94854a1](https://github.com/serenity-js/serenity-js/commit/94854a13881b46e11c908f7ff77a5940ac877f26))





# [3.0.0-rc.32](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.31...v3.0.0-rc.32) (2022-10-12)


### Bug Fixes

* **core:** invocation location detection works for built-in interactions ([2ef0688](https://github.com/serenity-js/serenity-js/commit/2ef0688ada99cd372a2b2f9508b5d6b8e18b37f1))





# [3.0.0-rc.31](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.30...v3.0.0-rc.31) (2022-10-07)


### Bug Fixes

* **core:** corrected file system location reporting for built-in Interactions ([ce9acfc](https://github.com/serenity-js/serenity-js/commit/ce9acfc023442230a5060ff823d2198b92f72a30))
* **core:** improved invocation location detection on Windows ([#1332](https://github.com/serenity-js/serenity-js/issues/1332)) ([43dd9b9](https://github.com/serenity-js/serenity-js/commit/43dd9b95803b75cbcfce0eaa91ff272f33f7a60f))





# [3.0.0-rc.30](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.29...v3.0.0-rc.30) (2022-10-05)


### Bug Fixes

* **core:** removed deprecated function `formatted` ([64d7f21](https://github.com/serenity-js/serenity-js/commit/64d7f21a1efc9bb1d13a7c5d086ffcdd208fe5d5)), closes [#1260](https://github.com/serenity-js/serenity-js/issues/1260)





# [3.0.0-rc.29](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.28...v3.0.0-rc.29) (2022-10-01)


### Bug Fixes

* **serenity-bdd:** correct detection of invocation location for internal code ([c76ec76](https://github.com/serenity-js/serenity-js/commit/c76ec764ff7456c5059488a7d12c88990b4e43d8))





# [3.0.0-rc.28](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.27...v3.0.0-rc.28) (2022-09-30)


### Bug Fixes

* **core:** activity is now able to detect invocation location on Node 14 ([41f4776](https://github.com/serenity-js/serenity-js/commit/41f4776736620bc32d474d9b66f69c742f8eca96)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
* **core:** enabled support for synthetic default imports and ES module interop ([3e63d07](https://github.com/serenity-js/serenity-js/commit/3e63d07d793cea169ebc4234ab096593f5aa9d97)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
* **core:** improved implementation of EventQueue to better support parallel scenarios ([025e4fd](https://github.com/serenity-js/serenity-js/commit/025e4fdf962d6a7e31dde428a39a352983b1f2ab)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
* **core:** simplified SceneFinishes event ([9ad947a](https://github.com/serenity-js/serenity-js/commit/9ad947adc49cefd9b64f48b02bc173f073f545c4)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
* **playwright-test:** support for Playwright Test Babel loader ([f9a5412](https://github.com/serenity-js/serenity-js/commit/f9a54127bac921931a8ea115df47b4eb1dc6cc4a)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
* **playwright-test:** wait for Photographer to finish taking screenshots before dismissing actors ([b0c5adb](https://github.com/serenity-js/serenity-js/commit/b0c5adba83fc92624e91c7385b38f0061cf5a6ed)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)


### Features

* **console-reporter:** improved support for tests executed in parallel ([01264ce](https://github.com/serenity-js/serenity-js/commit/01264ce6110a3199265468f633eee5623fabe008)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
* **core:** serenity/JS stage crew members can now be configured using `string` ([786cdad](https://github.com/serenity-js/serenity-js/commit/786cdadcda8e031e06b8bee9698a87a7af00d90c)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240) [#594](https://github.com/serenity-js/serenity-js/issues/594)
* **playwright-test:** improved Playwright Test reports ([6c6b537](https://github.com/serenity-js/serenity-js/commit/6c6b5379dfc324a4fb75d758daa7782109f1c5ab)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)
* **serenity-bdd:** support for configuring SerenityBDDReporter using a ClassDescription string ([968e349](https://github.com/serenity-js/serenity-js/commit/968e349940d3ebe6d72dc94ca4db4b7e3a529b93)), closes [#594](https://github.com/serenity-js/serenity-js/issues/594)





# [3.0.0-rc.27](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.26...v3.0.0-rc.27) (2022-08-26)


### Bug Fixes

* **deps:** update dependency diff to ^5.1.0 ([f21af46](https://github.com/serenity-js/serenity-js/commit/f21af465ac79ae8ebb9a6c0b701817027e81512f))
* **deps:** update dependency moment to ^2.29.4 ([7b0fd6e](https://github.com/serenity-js/serenity-js/commit/7b0fd6eeda8bf8c24f61d0d103127740568abc1c))





# [3.0.0-rc.26](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.25...v3.0.0-rc.26) (2022-08-15)

**Note:** Version bump only for package @serenity-js/core





# [3.0.0-rc.25](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.24...v3.0.0-rc.25) (2022-08-15)


### Bug Fixes

* **core:** extracted common TypeScript configuration ([0108370](https://github.com/serenity-js/serenity-js/commit/0108370a6a7ebb4bcd71773482801d29f5660268))
* **core:** refactored the interaction to Wait.until to improve its reliability ([970ea39](https://github.com/serenity-js/serenity-js/commit/970ea396d4b34169480b34258624cd5b886aac37)), closes [#1255](https://github.com/serenity-js/serenity-js/issues/1255)
* **deps:** updated TinyTypes to 1.19.0 ([f6d53e4](https://github.com/serenity-js/serenity-js/commit/f6d53e4dbbfcb81139bd888ac11441b6344e47f5))


### Features

* **core:** support for registering custom RuntimeErrors with ErrorSerialiser ([feed78c](https://github.com/serenity-js/serenity-js/commit/feed78c6a5ed3c0ae3c614df69b29dbd4337d524))





# [3.0.0-rc.24](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.23...v3.0.0-rc.24) (2022-07-23)


### Bug Fixes

* **core:** improved how the interaction to Log reports names of the logged values ([c4cc60d](https://github.com/serenity-js/serenity-js/commit/c4cc60d0e1d4bdc34218566b1726e74d3ac40909))


### Features

* **core:** new interaction to Debug.values(..) and Debug.setBreakpoint() ([ef54324](https://github.com/serenity-js/serenity-js/commit/ef54324ca1b415d41eee12e7f4667cbffe2c8a01))





# [3.0.0-rc.23](https://github.com/serenity-js/serenity-js/compare/v2.33.10...v3.0.0-rc.23) (2022-07-19)


### Bug Fixes

* **node:** support for Node 18 ([73212bc](https://github.com/serenity-js/serenity-js/commit/73212bc9deb1998d871b0720a6b437687b3ceddc)), closes [#1243](https://github.com/serenity-js/serenity-js/issues/1243)



# [3.0.0-rc.22](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.21...v3.0.0-rc.22) (2022-07-15)


### Bug Fixes

* **core:** ensure all async operations complete before attempting to dismiss the actors ([635cd9a](https://github.com/serenity-js/serenity-js/commit/635cd9a07481a97017506577e24e92e32a02e0e9)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
* **core:** further improvements to stage/actor synchronisation ([1e2e6fb](https://github.com/serenity-js/serenity-js/commit/1e2e6fb5c4ac727d209e1c45d466d0485f4cf548))



# [3.0.0-rc.21](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.20...v3.0.0-rc.21) (2022-07-11)



# [3.0.0-rc.20](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.19...v3.0.0-rc.20) (2022-07-11)


### Bug Fixes

* **core:** corrected Wait so that polling stops when the timeout expires ([60677e7](https://github.com/serenity-js/serenity-js/commit/60677e700269f03fd08e2cd58c06df0ec9c71f6f))


### Features

* **core:** interaction to Wait stops upon errors ([56ff3eb](https://github.com/serenity-js/serenity-js/commit/56ff3ebd5366064f89be8ad3eefa53114ad12e85)), closes [#1035](https://github.com/serenity-js/serenity-js/issues/1035)
* **core:** interactions to Wait.for and Wait.until are now browser-independent ([d115142](https://github.com/serenity-js/serenity-js/commit/d1151427bed96c1ebd0d1dcc4159c6aeedc605de)), closes [#1035](https://github.com/serenity-js/serenity-js/issues/1035) [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
* **core:** minimum timeout and polling interval guards for Wait ([fd53d81](https://github.com/serenity-js/serenity-js/commit/fd53d81f5211eca18ba91729088d07883f2f9956)), closes [#1035](https://github.com/serenity-js/serenity-js/issues/1035)
* **web:** introduced PagesContext and implemented PlaywrightPage ([0045a72](https://github.com/serenity-js/serenity-js/commit/0045a726d540871333f644928218aed00bcd372c)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)



# [3.0.0-rc.19](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.18...v3.0.0-rc.19) (2022-06-11)


### Bug Fixes

* **deps:** upgraded "error-stack-parser" to 2.1.4 and removed dependency on "stackframe" ([8d44563](https://github.com/serenity-js/serenity-js/commit/8d445631c015887a608c3a62079d47bbec22794c)), closes [stacktracejs/error-stack-parser#75](https://github.com/stacktracejs/error-stack-parser/issues/75) [stacktracejs/error-stack-parser#80](https://github.com/stacktracejs/error-stack-parser/issues/80)
* **rest:** updated Axios to 0.27.2 ([b54694b](https://github.com/serenity-js/serenity-js/commit/b54694ba3dd2b8e0316d94c44381f51b1ab79ad0)), closes [axios/axios#4124](https://github.com/axios/axios/issues/4124) [#1223](https://github.com/serenity-js/serenity-js/issues/1223)


### Features

* **core:** Question.fromObject() generates questions from plain objects with nested Answerables ([3113f20](https://github.com/serenity-js/serenity-js/commit/3113f20ed5c86cb4bcf11479855d4ceaa5696970)), closes [#1219](https://github.com/serenity-js/serenity-js/issues/1219)



# [3.0.0-rc.18](https://github.com/serenity-js/serenity-js/compare/v2.33.9...v3.0.0-rc.18) (2022-06-06)


### Bug Fixes

* **deps:** updated error-stack-parser to 2.1.0 ([e57957b](https://github.com/serenity-js/serenity-js/commit/e57957b7739cd84c35b125552a78586cb2d4f2bf)), closes [stacktracejs/error-stack-parser#75](https://github.com/stacktracejs/error-stack-parser/issues/75)
* **deps:** updated tiny-types ([f1951cf](https://github.com/serenity-js/serenity-js/commit/f1951cf753df3807b5778d116f8e8bc3f24830a7))
* **deps:** updated tiny-types to 1.18.2 ([83a651c](https://github.com/serenity-js/serenity-js/commit/83a651c4c2f3f8dbaabcdacba94c720efdff45dd))


### Features

* **core:** further improvements to Notepad ([c0d4c0a](https://github.com/serenity-js/serenity-js/commit/c0d4c0a8cdbc38274d2b27f48337742be3322b12)), closes [#1220](https://github.com/serenity-js/serenity-js/issues/1220)



# [3.0.0-rc.17](https://github.com/serenity-js/serenity-js/compare/v2.33.8...v3.0.0-rc.17) (2022-06-02)


### Bug Fixes

* **core:** corrected QuestionAdapter to improve support for `any` type ([9bed585](https://github.com/serenity-js/serenity-js/commit/9bed5851a342c77052d378e6178765d65e542be8))


### Features

* **core:** Screenplay-style Dictionary<T> to help resolve objects with nested Questions ([6a66778](https://github.com/serenity-js/serenity-js/commit/6a667788b7579f94edb70c36103d82ca3f146eed)), closes [#1219](https://github.com/serenity-js/serenity-js/issues/1219)
* **core:** type-safe Notepad and improved notes() DSL with support for QuestionAdapters ([04c5397](https://github.com/serenity-js/serenity-js/commit/04c53971cc90561f07fa64eaed79777a90f75d5a)), closes [#1220](https://github.com/serenity-js/serenity-js/issues/1220)
* **rest:** all HTTP requests accept DynamicRecord<AxiosRequestConfig> ([c28b47c](https://github.com/serenity-js/serenity-js/commit/c28b47cde53e2e0d3ee8313a1e21e15cbe78df9a)), closes [#463](https://github.com/serenity-js/serenity-js/issues/463)



# [3.0.0-rc.16](https://github.com/serenity-js/serenity-js/compare/v2.33.6...v3.0.0-rc.16) (2022-04-15)


### Features

* **core:** get the number of notes stored in the notepad with Notepad#size() ([a5c00b9](https://github.com/serenity-js/serenity-js/commit/a5c00b9b5cef455ec1410039137e5c79aa9d9460))
* **core:** improved support for recording and reading notes ([6afc610](https://github.com/serenity-js/serenity-js/commit/6afc6104d808866dbcabe92bbd64eb97fa104f7a)), closes [#817](https://github.com/serenity-js/serenity-js/issues/817)


### BREAKING CHANGES

* **core:** This implementation replaces the previous implementations of TakeNote, TakeNotes
and Note, so tests using those interfaces will need to be updated.



# [3.0.0-rc.15](https://github.com/serenity-js/serenity-js/compare/v2.33.5...v3.0.0-rc.15) (2022-04-10)


### Bug Fixes

* **web:** replaced legacy PromiseLike return types with native Promise types ([436b3cb](https://github.com/serenity-js/serenity-js/commit/436b3cba1793f63008a56633cc93669736155ce6))



# [3.0.0-rc.14](https://github.com/serenity-js/serenity-js/compare/v2.33.3...v3.0.0-rc.14) (2022-03-28)


### Bug Fixes

* **web:** auto-generated descriptions of nested PageElements are easier to read ([5a51d91](https://github.com/serenity-js/serenity-js/commit/5a51d91f0abb1c32814c219a44da51d52df77f87))



# [3.0.0-rc.13](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.12...v3.0.0-rc.13) (2022-03-02)



# [3.0.0-rc.12](https://github.com/serenity-js/serenity-js/compare/v2.33.2...v3.0.0-rc.12) (2022-02-23)



# [3.0.0-rc.11](https://github.com/serenity-js/serenity-js/compare/v2.33.1...v3.0.0-rc.11) (2022-02-13)


### Bug Fixes

* **core:** updated dependency on error-stack-parser ([ea50285](https://github.com/serenity-js/serenity-js/commit/ea502855da40c2f95c893c75061ef6dcf12f669d))



# [3.0.0-rc.10](https://github.com/serenity-js/serenity-js/compare/v2.33.0...v3.0.0-rc.10) (2022-02-03)



# [3.0.0-rc.9](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.8...v3.0.0-rc.9) (2022-02-01)


### Features

* **web:** isVisible() works with Web elements in Shadow DOM ([cf84fb0](https://github.com/serenity-js/serenity-js/commit/cf84fb072a6b813338b68bb1dec3932ea8709e3e)), closes [#1085](https://github.com/serenity-js/serenity-js/issues/1085)



# [3.0.0-rc.8](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.7...v3.0.0-rc.8) (2022-01-28)


### Bug Fixes

* **core:** ensure Question.about doesn't expose internal interfaces ([4bfb6bc](https://github.com/serenity-js/serenity-js/commit/4bfb6bca6af81d23ced551f63df5bc9f35d581df)), closes [#1106](https://github.com/serenity-js/serenity-js/issues/1106)



# [3.0.0-rc.7](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.6...v3.0.0-rc.7) (2022-01-28)


### Bug Fixes

* **core:** removed deprecated interface DressingRoom; please use Cast instead ([d68b44b](https://github.com/serenity-js/serenity-js/commit/d68b44b545f50f6533523ab07008f9f89ac34433))
* **core:** removed deprecated interface WithStage ([45d1c2b](https://github.com/serenity-js/serenity-js/commit/45d1c2b3e0ff1946ccff97d148d0776f2fa60065))
* **core:** removed deprecated task to See.if ([dd5e2f5](https://github.com/serenity-js/serenity-js/commit/dd5e2f5c7e61444d40899f70d413f38bc9f6691a))


### Features

* **assertions:** isPresent works with any Optional ([cea75dc](https://github.com/serenity-js/serenity-js/commit/cea75dc1c728e45e06a87aaf9c1573a237334285)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
* **core:** `f` and `d` question description formatters ([c9f3fad](https://github.com/serenity-js/serenity-js/commit/c9f3fadd86ec0196f2cdbf76d9628bbef0a3fcba))
* **core:** replaced `Adapter` with `QuestionAdapter` and introduced `Optional` ([8d84ad3](https://github.com/serenity-js/serenity-js/commit/8d84ad3863e3c726533d0f21934fb1e2fa8b3022)), closes [#1103](https://github.com/serenity-js/serenity-js/issues/1103)
* **core:** support for Optional chaining, expectation isPresent, refactored Expectations ([1841ee5](https://github.com/serenity-js/serenity-js/commit/1841ee5fc48cfa403ddc53358f75764d9a010c21)), closes [#1099](https://github.com/serenity-js/serenity-js/issues/1099) [#1099](https://github.com/serenity-js/serenity-js/issues/1099) [#1103](https://github.com/serenity-js/serenity-js/issues/1103)



# [3.0.0-rc.6](https://github.com/serenity-js/serenity-js/compare/v2.32.7...v3.0.0-rc.6) (2022-01-10)



# [3.0.0-rc.5](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.4...v3.0.0-rc.5) (2022-01-07)


### Bug Fixes

* **core:** screenplay Adapters will now correctly proxy calls to function-specific object keys ([ad6f1e6](https://github.com/serenity-js/serenity-js/commit/ad6f1e655ca77d6efde4461854e54c4113ca8fdd))



# [3.0.0-rc.4](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.3...v3.0.0-rc.4) (2021-12-30)


### Bug Fixes

* **core:** you can now retrieve the .length property of an Array wrapped in an Adapter<Array> ([c36e210](https://github.com/serenity-js/serenity-js/commit/c36e210c024052b96ba47e9663c7098e269c5688))



# [3.0.0-rc.3](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.2...v3.0.0-rc.3) (2021-12-29)


### Bug Fixes

* **core:** refactored Mappable so that it's easier to implement filters ([176e0cd](https://github.com/serenity-js/serenity-js/commit/176e0cd0303d63271477b2b7a8e7b0572dda99a0)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
* **core:** removed interface Reducible since it's not used any more ([1e9f23b](https://github.com/serenity-js/serenity-js/commit/1e9f23b227e3c4509dd52d6885cde5d3ecd1d102))
* **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
* **web:** corrected synchronisation in Web questions and interactions ([c3a0ad1](https://github.com/serenity-js/serenity-js/commit/c3a0ad16de311e71d7e82e4f463baa0ca6b18863))


### Features

* **core:** forEach for List and PageElements ([4592fb7](https://github.com/serenity-js/serenity-js/commit/4592fb7e700bad17fd44d91bd9db169839802d01)), closes [#823](https://github.com/serenity-js/serenity-js/issues/823)
* **core:** List supports custom collectors ([cd3f2bc](https://github.com/serenity-js/serenity-js/commit/cd3f2bc1b536c8e56714aecd669bfed7ab078e0a))
* **core:** new implementation of List.where filters ([45b3c80](https://github.com/serenity-js/serenity-js/commit/45b3c8080ca467ac6362e5217e7899ca36a04cdc)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
* **core:** support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) ([3d3c02e](https://github.com/serenity-js/serenity-js/commit/3d3c02ebe0ec5c6865f91f1991fd59ef0190a16c)), closes [#1074](https://github.com/serenity-js/serenity-js/issues/1074)
* **web:** re-introduced PageElements.where DSL and universal By selectors ([39fe0a1](https://github.com/serenity-js/serenity-js/commit/39fe0a10edf7f652e93911159e4a4689c36d6876)), closes [#1081](https://github.com/serenity-js/serenity-js/issues/1081)



# [3.0.0-rc.1](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.0...v3.0.0-rc.1) (2021-12-09)



# [3.0.0-rc.0](https://github.com/serenity-js/serenity-js/compare/v2.32.5...v3.0.0-rc.0) (2021-12-08)


### Bug Fixes

* **core:** `formatted` can be configured to produce single- or multi-line descriptions ([21145a3](https://github.com/serenity-js/serenity-js/commit/21145a3dda17e87ea7bd950da4526b90f37a1edc))
* **core:** `inspected` produces a better description of functions used as parameters ([15535c6](https://github.com/serenity-js/serenity-js/commit/15535c675469651b835c0b358649a590f2c15b5d))
* **core:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **core:** answerProxy renamed to ProxyAnswer to better reflect its purpose ([a98fe41](https://github.com/serenity-js/serenity-js/commit/a98fe41378bc8475f027946e0f01a30f4789d57a))
* **core:** corrected type defs of Question.as ([681ce22](https://github.com/serenity-js/serenity-js/commit/681ce22259bf75161df7ce2454f4b6d73ea87259))
* **core:** exported createProxyAnswer to make it easier to use ([5471989](https://github.com/serenity-js/serenity-js/commit/547198985025d0ede2ab47ea89d8944960fb980d))
* **core:** removed Loop as it will be replaced ([0b63d27](https://github.com/serenity-js/serenity-js/commit/0b63d27745c905001adf3c219dd0e3cf44756320))
* **core:** removed Property as it will be replaced by new Question ([fd7fa10](https://github.com/serenity-js/serenity-js/commit/fd7fa10dfbaa0c0cba059c5f18920609c4bac014))
* **core:** removed Transform and mapping functions as they'll be replaced with new Question ([506eaea](https://github.com/serenity-js/serenity-js/commit/506eaeaf2df22cfde5d7ca6a8f413fc053556c2b))
* **core:** renamed "Model" type to "Adapter" to better reflect its purpose ([b4ea7a1](https://github.com/serenity-js/serenity-js/commit/b4ea7a100fac2c896990bf15cbc906de641196b8)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **cucumber:** support for recognising non-Serenity AssertionErrors in older version of Cucumber ([31e9e99](https://github.com/serenity-js/serenity-js/commit/31e9e9919c2fd1e87b3f4405d9b2a6ae0164e893))
* **web:** wordsmithing of interface names ([5a1e76a](https://github.com/serenity-js/serenity-js/commit/5a1e76a9c162370e17238fcccc9f08e109d543c3))


### Features

* **core:** question.about creates a proxy around the answer to simplify the API ([25e0841](https://github.com/serenity-js/serenity-js/commit/25e084116ad28a02b55fbd8814b6ffa0375ec433))
* **core:** question.about produces "props" that proxy the methods of the underlying model ([f771872](https://github.com/serenity-js/serenity-js/commit/f771872c56b487e404002c3800fc8f3baaed804f))
* **web:** Page.url() and Page.title() replace Website.url() and Website.title() ([49fe009](https://github.com/serenity-js/serenity-js/commit/49fe0094422ab53ec67d4ba303f80c33e382eebd)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **web:** removed Target in favour of PageElement ([69496c4](https://github.com/serenity-js/serenity-js/commit/69496c47c4a1ec7b92e7ab6c83da1559e926f28e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **web:** support for working with cookies ([39cde6d](https://github.com/serenity-js/serenity-js/commit/39cde6de7a36d27a8b1c596493efbec94900af6b)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)


### BREAKING CHANGES

* **core:** Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
