# Change Log

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

# [3.48.0](https://github.com/serenity-js/serenity-js/compare/v3.47.2...v3.48.0) (2026-09-15)

### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.31.7 ([c1244e0](https://github.com/serenity-js/serenity-js/commit/c1244e066cf0ca859986eb202b1e4f5b652ad966))


## [3.47.2](https://github.com/serenity-js/serenity-js/compare/v3.47.1...v3.47.2) (2026-09-10)

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





## [3.47.1](https://github.com/serenity-js/serenity-js/compare/v3.47.0...v3.47.1) (2026-09-10)

### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.31.6 ([58e5736](https://github.com/serenity-js/serenity-js/commit/58e5736a1c25cd76a1733efbf4daaccf9696bfaf))


# [3.47.0](https://github.com/serenity-js/serenity-js/compare/v3.46.1...v3.47.0) (2026-09-09)

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





## [3.46.1](https://github.com/serenity-js/serenity-js/compare/v3.46.0...v3.46.1) (2026-09-04)

### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.31.5 ([a3d0949](https://github.com/serenity-js/serenity-js/commit/a3d094919e13e594b14832410d7b0cda19ac58c9))


# [3.46.0](https://github.com/serenity-js/serenity-js/compare/v3.45.9...v3.46.0) (2026-08-30)

### Bug Fixes

* **deps:** update dependency axios to v1.20.0 ([39823bf](https://github.com/serenity-js/serenity-js/commit/39823bf9ede13a76e7792c9de8cbdca0b40dc1cd))
* **deps:** update webdriverio dependencies ([26cc429](https://github.com/serenity-js/serenity-js/commit/26cc4295160bc85995b5923853097a5e95de567a))
* **deps:** update webdriverio dependencies to ^9.31.4 ([b73d087](https://github.com/serenity-js/serenity-js/commit/b73d0878d5d8f2529231fc79ff56ab65ab4a0e87))

### Features

* **web:** add Locator.createChildLocator(selector) abstract method ([11fbeed](https://github.com/serenity-js/serenity-js/commit/11fbeede67b705ecc47339b78d8a223562d04fba)), closes [#1339](https://github.com/serenity-js/serenity-js/issues/1339)
* **web:** add PageElement.element(selector) and PageElement.elements(selector) ([ea5eef1](https://github.com/serenity-js/serenity-js/commit/ea5eef1f966368601c53a5e7622ddcc103c32518)), closes [#1339](https://github.com/serenity-js/serenity-js/issues/1339)


## [3.45.9](https://github.com/serenity-js/serenity-js/compare/v3.45.8...v3.45.9) (2026-08-20)

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





## [3.45.8](https://github.com/serenity-js/serenity-js/compare/v3.45.7...v3.45.8) (2026-08-20)

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





## [3.45.7](https://github.com/serenity-js/serenity-js/compare/v3.45.6...v3.45.7) (2026-08-18)

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





## [3.45.6](https://github.com/serenity-js/serenity-js/compare/v3.45.5...v3.45.6) (2026-08-15)

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





## [3.45.5](https://github.com/serenity-js/serenity-js/compare/v3.45.4...v3.45.5) (2026-08-14)

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





## [3.45.4](https://github.com/serenity-js/serenity-js/compare/v3.45.3...v3.45.4) (2026-08-13)

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





## [3.45.3](https://github.com/serenity-js/serenity-js/compare/v3.45.2...v3.45.3) (2026-08-13)

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





## [3.45.2](https://github.com/serenity-js/serenity-js/compare/v3.45.1...v3.45.2) (2026-08-13)

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





## [3.45.1](https://github.com/serenity-js/serenity-js/compare/v3.45.0...v3.45.1) (2026-08-13)

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





# [3.45.0](https://github.com/serenity-js/serenity-js/compare/v3.44.3...v3.45.0) (2026-08-13)

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





## [3.44.3](https://github.com/serenity-js/serenity-js/compare/v3.44.2...v3.44.3) (2026-08-07)

### Bug Fixes

* **serenity-bdd:** raised the minimum Node.js version required to support Yargs and Which upgrade ([bd8cb46](https://github.com/serenity-js/serenity-js/commit/bd8cb4631051905f5b782c413482b7534d442d1c)), closes [#3177](https://github.com/serenity-js/serenity-js/issues/3177)


## [3.44.2](https://github.com/serenity-js/serenity-js/compare/v3.44.1...v3.44.2) (2026-08-07)

### Bug Fixes

* **core:** bump minimum supported Node version to 22.13.0 ([3c10a4f](https://github.com/serenity-js/serenity-js/commit/3c10a4fddcfcbc991a3e1908122dc51a2d9acde4)), closes [lerna/lerna#4390](https://github.com/lerna/lerna/issues/4390)
* **deps:** update rest dependencies ([2ec8aea](https://github.com/serenity-js/serenity-js/commit/2ec8aeae31073c57c8880451f8a6fecc43d6508a))
* **deps:** update webdriverio dependencies to ^9.30.1 ([dc983be](https://github.com/serenity-js/serenity-js/commit/dc983be520b40e3908a846f4a7ea81609dd1a109))


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


### Bug Fixes

* **deps:** update rest dependencies ([0a7322a](https://github.com/serenity-js/serenity-js/commit/0a7322a3662cac4db535049647042ff96e5c775b))
* **deps:** update webdriverio dependencies to ^9.29.1 ([d2de7ad](https://github.com/serenity-js/serenity-js/commit/d2de7adace6d2ecceaaf8bbe452b18524efc36e3))





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.28.0 ([966ddfc](https://github.com/serenity-js/serenity-js/commit/966ddfc9f33edc99bb42688215ef01a1cb52014b))





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

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





## [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 rest dependencies ([5fbd550](https://github.com/serenity-js/serenity-js/commit/5fbd5505fb11a2cc7536b8933ddc0d70efcf0a64))
* **deps:** update webdriverio dependencies to ^9.27.2 ([9628401](https://github.com/serenity-js/serenity-js/commit/96284015f6d5021b48347091ec3dcd867c030343))
* **webdriverio:** correced reporter name ([ab56667](https://github.com/serenity-js/serenity-js/commit/ab56667e889f799118ea7f221b627f4acc3bd211))





## [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/webdriverio





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

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





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


### Bug Fixes

* **deps:** update rest dependencies ([a933e10](https://github.com/serenity-js/serenity-js/commit/a933e1060a0298104ac1ab7843c386e06277f070))
* **deps:** update webdriverio dependencies to ^9.27.1 ([6296832](https://github.com/serenity-js/serenity-js/commit/6296832dd6ef5f1ba4056429f732180973906404))





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


### Bug Fixes

* **deps:** update rest dependencies ([525abcb](https://github.com/serenity-js/serenity-js/commit/525abcb26ad45e1963f883e86ccf650bd2229c20))
* **playwright:** aligned package.json exports to use conditional import/require types ([a8966e9](https://github.com/serenity-js/serenity-js/commit/a8966e94d74c24b3d2821e99e51bf3b24121b55e))





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


### Bug Fixes

* **deps:** update rest dependencies ([277382c](https://github.com/serenity-js/serenity-js/commit/277382c6cf88330586519b6a88b7e78015309a53))
* **deps:** update webdriverio dependencies to ^9.27.0 ([35f0edb](https://github.com/serenity-js/serenity-js/commit/35f0edb7a9cce1eefe3007657cb7bc918c53686d))





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.26.1 ([909dd12](https://github.com/serenity-js/serenity-js/commit/909dd12036e5988058fa1a99aee50a5ab9412ddb))
* **webdriverio:** resolve modal dialog race condition and viewport size issues ([1f4d0f0](https://github.com/serenity-js/serenity-js/commit/1f4d0f057872027c4652a80ea4e7f5d7086a5846))
* **webdriverio:** return undefined for non-input elements in value() ([b887aa5](https://github.com/serenity-js/serenity-js/commit/b887aa565cc0f44c61b2132975910d26328451b1))





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


### Bug Fixes

* **deps:** update dependency axios to v1.13.6 ([6fa771e](https://github.com/serenity-js/serenity-js/commit/6fa771eb2dc2276b99c18d809f21a73df31cb104))





## [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/webdriverio





# [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 axios to v1.13.5 [security] ([61144b0](https://github.com/serenity-js/serenity-js/commit/61144b04c5808820d5cf1411faa1be35417e1abc))
* **deps:** update webdriverio dependencies to ^9.24.0 ([6811d67](https://github.com/serenity-js/serenity-js/commit/6811d67547977b6747375e5e8df0bcccee0ced18))





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.23.3 ([89a904c](https://github.com/serenity-js/serenity-js/commit/89a904cd76b1b4d21d5f7d007382d8bd60ef0212))
* **webdriverio:** adapt to breaking type changes in WebdriverIO 9.23.3 ([48877a2](https://github.com/serenity-js/serenity-js/commit/48877a2997df402936284826d2ff7a56189549e6))


### Features

* **web:** introduce Drag interaction to drag and drop page elements ([fdde2c3](https://github.com/serenity-js/serenity-js/commit/fdde2c317074f93527bf67f86bf56dcbf1b6647e)), closes [#2663](https://github.com/serenity-js/serenity-js/issues/2663)





# [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/webdriverio





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


### Bug Fixes

* **deps:** update rest dependencies ([6821ab3](https://github.com/serenity-js/serenity-js/commit/6821ab3217c0d3ad0bc5c017ae4214e08226a815))


### Features

* **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 webdriverio dependencies ([b928423](https://github.com/serenity-js/serenity-js/commit/b9284233b6bc324e5182fe89373908d802d66b7a))





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


### Bug Fixes

* **deps:** update webdriverio dependencies ([dc0692a](https://github.com/serenity-js/serenity-js/commit/dc0692a12482f5a6c933db69ebe3b4a6a92d194e))





# [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/webdriverio





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.20.1 ([1d89e8b](https://github.com/serenity-js/serenity-js/commit/1d89e8bb8f5ec03386afdef0eacdab802c7d6940))





## [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 axios to v1.13.2 ([9f8d6cc](https://github.com/serenity-js/serenity-js/commit/9f8d6cc34ecf2cbd121380bd584f509b1416e675))


### 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 axios to v1.12.0 [security] ([640e95f](https://github.com/serenity-js/serenity-js/commit/640e95f9f8ee83640592966f1b5909c0773efde0))
* **deps:** update dependency axios to v1.12.0 [security] ([343ab7a](https://github.com/serenity-js/serenity-js/commit/343ab7aa371f51d346a1da2b6f11e81d1251b109))





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

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





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.20.0 ([8f712fa](https://github.com/serenity-js/serenity-js/commit/8f712fa6cd1d2b843046d21e1123f7a844a995ff))





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


### Features

* **web:** support for identifying page elements by their ARIA role ([cf3672a](https://github.com/serenity-js/serenity-js/commit/cf3672a6fe3051eab9c195f2f342ebf55c19e2d6))





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.19.2 ([599123d](https://github.com/serenity-js/serenity-js/commit/599123d6047c2c07270b6ad1e2059fae05b632c0))





## [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))
* **deps:** update webdriverio dependencies to ^9.19.1 ([d8f26e1](https://github.com/serenity-js/serenity-js/commit/d8f26e120cf1dffb3d100c14bed9676f07c4cb20))





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

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





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

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





## [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 axios to v1.11.0 ([62df65c](https://github.com/serenity-js/serenity-js/commit/62df65c932e69dcc307033f0f2a1f66a6d80d08e))
* **deps:** update webdriverio dependencies ([fa9b857](https://github.com/serenity-js/serenity-js/commit/fa9b8576a42d5cb24f60480bdd7c74dc340a02aa))





## [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))
* **deps:** update webdriverio dependencies ([47a9611](https://github.com/serenity-js/serenity-js/commit/47a9611701112921731e03055ca646b4c2183c23))





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


### Bug Fixes

* **core:** use 'node:' prefix for core node module imports ([b1775d5](https://github.com/serenity-js/serenity-js/commit/b1775d51f8e19e9ae0b140ec67aa07dd1391234d))
* **deps:** update webdriverio dependencies to ^9.16.2 ([b0cc8aa](https://github.com/serenity-js/serenity-js/commit/b0cc8aa54997ee8f6e8f28a3e46b33f65a25adbb))





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.15.0 ([48c5ed5](https://github.com/serenity-js/serenity-js/commit/48c5ed52269fc75c6a99318d1dab854961dd3709))
* **webdriverio:** support for WebdriverIO 9.15 ([133d35e](https://github.com/serenity-js/serenity-js/commit/133d35e3423b612a6001b3beabf35105b39b0b8c))





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

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





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

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





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


### Bug Fixes

* **deps:** update dependency axios to v1.10.0 ([43b49a0](https://github.com/serenity-js/serenity-js/commit/43b49a0adfb3b2b5525a4dd18ca678454021c542))





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

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





## [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/webdriverio





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


### Bug Fixes

* **deps:** update rest dependencies ([6331afb](https://github.com/serenity-js/serenity-js/commit/6331afbe32c439808b317d497043dd6deb513801))
* **deps:** update webdriverio dependencies ([4df3ff2](https://github.com/serenity-js/serenity-js/commit/4df3ff222a113618d990ffb08f609a895c56de57))





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


### Bug Fixes

* **deps:** update dependency axios to v1.8.4 ([3f94d9a](https://github.com/serenity-js/serenity-js/commit/3f94d9a30305dabdd855f549a4518784b8377e0f))





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


### Bug Fixes

* **deps:** update dependency axios to v1.8.2 [security] ([2653f35](https://github.com/serenity-js/serenity-js/commit/2653f352166bca4e46572a1b2d26ee1ae197a038))
* **deps:** update webdriverio dependencies ([843e78a](https://github.com/serenity-js/serenity-js/commit/843e78a4d8781aad32c25c6c22b101ec524720a4))





## [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 axios to v1.8.1 ([0ec3014](https://github.com/serenity-js/serenity-js/commit/0ec3014baa55dc39cdd6a907d268ef806173d272))
* **deps:** update webdriverio dependencies to ^9.10.1 ([9ea82f8](https://github.com/serenity-js/serenity-js/commit/9ea82f8fd37a20f131883aaf13ac35b2f51d12aa))





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


### Bug Fixes

* **deps:** update webdriverio dependencies ([b49e006](https://github.com/serenity-js/serenity-js/commit/b49e006223b96b7ae2a69e304965b0e7ef4d3e19))





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.7.2 ([26b0d4b](https://github.com/serenity-js/serenity-js/commit/26b0d4b58fd7c2c8a550fdf7675fc870dacee90d))





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.6.2 ([1a2786d](https://github.com/serenity-js/serenity-js/commit/1a2786d1b3963d291067ce10680f14a4bbb31bdf))
* **deps:** update webdriverio dependencies to ^9.6.3 ([f8ac41f](https://github.com/serenity-js/serenity-js/commit/f8ac41f57c0a92ec97312b0086b750dea7f6682f))
* **deps:** update webdriverio dependencies to ^9.6.4 ([18ec054](https://github.com/serenity-js/serenity-js/commit/18ec05451070f65a15fa1059b24e3873dcb11a3a))
* **deps:** update webdriverio dependencies to ^9.7.0 ([b25f161](https://github.com/serenity-js/serenity-js/commit/b25f161b6894dc3c3b0817db93815eab75b6c079))





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.5.7 ([2aff990](https://github.com/serenity-js/serenity-js/commit/2aff9906e0a83f72fe84082d18a01b0a858ed89e))





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


### Bug Fixes

* **deps:** update webdriverio dependencies ([9955bfa](https://github.com/serenity-js/serenity-js/commit/9955bfa115da6ac329feec49275629dbcba10f69))





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.5.0 ([8c2f959](https://github.com/serenity-js/serenity-js/commit/8c2f95901a3edb36791b042f180260f84853dc69))





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


### Bug Fixes

* **core:** migrated to PNPM ([43dbe6f](https://github.com/serenity-js/serenity-js/commit/43dbe6f440d8dd81811da303e542381a17d06b4d)), closes [#2664](https://github.com/serenity-js/serenity-js/issues/2664)





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


### Bug Fixes

* **deps:** update webdriverio dependencies ([a3b0048](https://github.com/serenity-js/serenity-js/commit/a3b0048a67921171e16183216502e39d717dc98a))





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


### Bug Fixes

* **deps:** update webdriverio dependencies to ^9.4.2 ([9a9249a](https://github.com/serenity-js/serenity-js/commit/9a9249a25076ab87622d6ac9126768764be5cc82))





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


### Bug Fixes

* **webdriverio:** corrected handling of browser windows closed by test script ([c604baa](https://github.com/serenity-js/serenity-js/commit/c604baa104d128ea00e85f88ad7d20ae0d5b4607))
* **webdriverio:** corrected unexpected open alert error handling ([f78b97b](https://github.com/serenity-js/serenity-js/commit/f78b97b6f8c4de443edce615986d91240715fcd5)), closes [#2572](https://github.com/serenity-js/serenity-js/issues/2572)
* **webdriverio:** simplified the implementation of page.setViewportSize ([e8551d3](https://github.com/serenity-js/serenity-js/commit/e8551d3c91d7cebf0fc04feba4fbe7faef7bd2df)), closes [#2572](https://github.com/serenity-js/serenity-js/issues/2572)
* **webdriverio:** support for WebdriverIO 9.4.1 ([bd9128c](https://github.com/serenity-js/serenity-js/commit/bd9128cbe06c148220ba553db494bbedb40bf408)), closes [#2572](https://github.com/serenity-js/serenity-js/issues/2572)
* **webdriverio:** support ModalDialog handling with WebdriverIO 9 ([6640136](https://github.com/serenity-js/serenity-js/commit/6640136b38b060983bf23c9f869a90223b8e90de)), closes [#2572](https://github.com/serenity-js/serenity-js/issues/2572)
* **webdriverio:** upgraded to WDIO 9.2.12 to incorporate the frame handling fix ([f908a3e](https://github.com/serenity-js/serenity-js/commit/f908a3ec8bf3b6b4168d08c0e349de903f3ffcaa)), closes [#2572](https://github.com/serenity-js/serenity-js/issues/2572)
* **webdriverio:** upgraded WebdriverIO deps to 9.3.0 ([deedf71](https://github.com/serenity-js/serenity-js/commit/deedf7151c6c9eee4ae36112214e32de269b70ba)), closes [#2572](https://github.com/serenity-js/serenity-js/issues/2572)
* **webdriverio:** upgraded WebdriverIO to 9.2.11 ([07f26f6](https://github.com/serenity-js/serenity-js/commit/07f26f61425c3b59812b67b39bd5142b9490bc57)), closes [webdriverio/webdriverio#13857](https://github.com/webdriverio/webdriverio/issues/13857)
* **webdriverio:** use BiDi command to set viewport size if available ([f351f10](https://github.com/serenity-js/serenity-js/commit/f351f10c40680edae3deba3b78bc78f7947c7d4d)), closes [#2572](https://github.com/serenity-js/serenity-js/issues/2572)
* **webdriverio:** use webdriver protocol switchToFrame instead of webdriverio switchFrame ([30debe8](https://github.com/serenity-js/serenity-js/commit/30debe8cc070af8ac88b0eeb8833fd6fc279f15f)), closes [#2572](https://github.com/serenity-js/serenity-js/issues/2572)


### Features

* **webdriverio-8:** introduced @serenity-js/webdriverio-8 module to continue supporting WDIO 8 ([8a010b1](https://github.com/serenity-js/serenity-js/commit/8a010b1fd8b2422a9f76f5ad38e37cabadc33abe)), closes [#2572](https://github.com/serenity-js/serenity-js/issues/2572)
* **webdriverio:** introduced support for WebdriverIO 9 ([88fae7b](https://github.com/serenity-js/serenity-js/commit/88fae7bc5472f585293194706f846cdd4c6e4c58)), closes [#2572](https://github.com/serenity-js/serenity-js/issues/2572) [#1279](https://github.com/serenity-js/serenity-js/issues/1279) [webdriverio/webdriverio#13610](https://github.com/webdriverio/webdriverio/issues/13610)





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

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





## [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/webdriverio





## [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/webdriverio





## [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/webdriverio





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

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





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

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





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

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





# [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/webdriverio





# [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)

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





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

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





## [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/webdriverio





## [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/webdriverio





## [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/webdriverio





## [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)


### Bug Fixes

* **web:** renamed PageElement.outerHtml to PageElement.html for consistency with other methods ([9df6e0f](https://github.com/serenity-js/serenity-js/commit/9df6e0f2eece966d50ddac92e7550baa72bcb5f1))


### Features

* **web:** outerHtml lets you retrieve the HTML content of the given PageElement ([1bb6c6a](https://github.com/serenity-js/serenity-js/commit/1bb6c6afbfea3fb0c8883f9fe4aec385aa12ac27))





## [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/webdriverio





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

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





## [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/webdriverio





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


### Bug Fixes

* **deps:** update dependency axios to v1.7.0 ([7baf7c3](https://github.com/serenity-js/serenity-js/commit/7baf7c340f63ab7a7cf661be3a3835087e168c80))
* **rest:** upgraded Axios to 1.7.1 ([83566b7](https://github.com/serenity-js/serenity-js/commit/83566b73f3ccd4f0db222c841a95fc2f428759b8))





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


### Features

* **webdriverio:** support for injecting scripts parameterised with complex data structures ([e920e67](https://github.com/serenity-js/serenity-js/commit/e920e6709262c8249c992ac02a01f49d5789a35d))
* **web:** scripts injected into the browser accept data structures containing PageElement objects ([2fbddf5](https://github.com/serenity-js/serenity-js/commit/2fbddf5d78d2965aecd6786b020c93ea079bdaf1))





## [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/webdriverio





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


### Bug Fixes

* **webdriverio:** support switching to parent frame when using Appium ([1faba64](https://github.com/serenity-js/serenity-js/commit/1faba6461a8a5a09f33c398f6f27c67d0c5d617b)), closes [appium/appium#14882](https://github.com/appium/appium/issues/14882)





## [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/webdriverio





## [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/webdriverio





# [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/webdriverio





## [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/webdriverio





## [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)

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





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

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





# [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/webdriverio





## [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/webdriverio





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

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





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

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





## [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/webdriverio





## [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)

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





## [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/webdriverio





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

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





## [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/webdriverio





## [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)


### Bug Fixes

* **webdriverio:** migrated WebdriverIOPageElement to us WDIO 8.23.4 types ([6881790](https://github.com/serenity-js/serenity-js/commit/68817901cd653d1c0adad2af0c48f52e3c5375ab)), closes [webdriverio/webdriverio#11679](https://github.com/webdriverio/webdriverio/issues/11679)





## [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/webdriverio





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


### Features

* **webdriverio:** support for Jasmine 5 ([881196f](https://github.com/serenity-js/serenity-js/commit/881196f8ab869230e4bc791db7a54cdb685b2e08))





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

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





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


### Features

* **web:** ability to CallAnApi is now available by default ([dfaf8e4](https://github.com/serenity-js/serenity-js/commit/dfaf8e4f4cb40f9be99624f0d616ebcf012c1fb0)), closes [#1876](https://github.com/serenity-js/serenity-js/issues/1876)





## [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/webdriverio





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


### Bug Fixes

* **webdriverio:** updated WebdriverIO to 8.16.7 and switched to its new global types ([ecd96b2](https://github.com/serenity-js/serenity-js/commit/ecd96b2623c267923db4f79aa2ccb338f10bb09f))





## [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)


### Bug Fixes

* **core:** use module: es2020 instead of Node16 to avoid issue nrwl/nx[#18801](https://github.com/serenity-js/serenity-js/issues/18801) ([935e655](https://github.com/serenity-js/serenity-js/commit/935e655a9a707ed8c97797e8b1bfab4e806c984c))
* **webdriverio:** use Node16 module loader ([105be09](https://github.com/serenity-js/serenity-js/commit/105be094af2050e6ec3ae4dbb9768b8d372a5cef))





# [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)

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





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

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





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


### Bug Fixes

* **webdriverio:** updated WebdriverIO to 8.13 ([b8916df](https://github.com/serenity-js/serenity-js/commit/b8916df65a18fd820578b1fd522f4e52119a79db))


### Features

* **webdriverio:** support for WebdriverIO 8.14 ([27c5cec](https://github.com/serenity-js/serenity-js/commit/27c5cec56be405bd729ab6b69170645e582248f1))





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

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





## [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/webdriverio





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


### Features

* **webdriverio:** support for parentElement.closestTo(childElement) API ([ee1b3c4](https://github.com/serenity-js/serenity-js/commit/ee1b3c47180c384b2109cee3bac43ce7bfaff5e8))





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

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





# [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))


### Features

* **web:** you can now use Serenity/JS Screenplay Pattern APIs for UI component testing ([3c9aa4b](https://github.com/serenity-js/serenity-js/commit/3c9aa4b16d223844116ffcb21d23f9cc8b96a793)), closes [#1784](https://github.com/serenity-js/serenity-js/issues/1784)





# [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))





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

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





## [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/webdriverio





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


### Bug Fixes

* **webdriverio:** support for WebdriverIO 8.11 APIs ([cebbeec](https://github.com/serenity-js/serenity-js/commit/cebbeecb1176b2d4bb4d3a1b4a2b48a46ea4b2be)), closes [#1739](https://github.com/serenity-js/serenity-js/issues/1739)


### 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)

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





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

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





## [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/webdriverio





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


### Bug Fixes

* **webdriverio:** aligned CJS and ESM exports to offer a consistent developer experience ([c72213b](https://github.com/serenity-js/serenity-js/commit/c72213bc4527cda3bb64f208ebdb74f25b366302))
* **webdriverio:** support for WebdriverIO 8.10.0 ([71da9f9](https://github.com/serenity-js/serenity-js/commit/71da9f93d6c4af3ae9e1734b38107418ada37f9a))


### 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)
* **webdriverio:** support for WebdriverIO 8 ([deeedad](https://github.com/serenity-js/serenity-js/commit/deeedadeeb50b5b5709d428e82249901282233ac)), closes [#1541](https://github.com/serenity-js/serenity-js/issues/1541) [#1682](https://github.com/serenity-js/serenity-js/issues/1682) [webdriverio/webdriverio#10314](https://github.com/webdriverio/webdriverio/issues/10314)





## [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

* **webdriverio:** webdriverio 7.31 breaks backwards-compatibility, pinning to 7.30 for now ([305fc64](https://github.com/serenity-js/serenity-js/commit/305fc648a8fdf96fdf5f26075845bfba6c61713c))





## [3.1.4](https://github.com/serenity-js/serenity-js/compare/v3.1.3...v3.1.4) (2023-04-16)

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





## [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/webdriverio





## [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/webdriverio





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


### Bug Fixes

* **webdriverio:** use custom interactionTimeout when provided in the config ([4cc75bf](https://github.com/serenity-js/serenity-js/commit/4cc75bf1ef97556a991ad006314a1a413d3cde6a)), 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:** pinned dependencies on Serenity/JS modules ([b314b11](https://github.com/serenity-js/serenity-js/commit/b314b11a3755e490b307df0eca8369a9371b7bb8))





## [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/webdriverio





# [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/webdriverio





# [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

* **deps:** update dependency deepmerge to ^4.3.1 ([d605a6b](https://github.com/serenity-js/serenity-js/commit/d605a6ba034b0d9d5d716c82ea496bd726a86348))





# [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))
* **rest:** support for Axios 1.3.4 ([e926bbd](https://github.com/serenity-js/serenity-js/commit/e926bbde5232150f35e137601e321175d21d52d2))


### 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))





# [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

* **deps:** update dependency deepmerge to ^4.3.0 ([ac08d09](https://github.com/serenity-js/serenity-js/commit/ac08d091eb61a666c9b9c53209b59fe7157c06d9))
* **webdriverio:** default actors receive abilities to BrowseTheWebWithWebdriverIO and TakeNotes ([3880d3b](https://github.com/serenity-js/serenity-js/commit/3880d3be3262dfa601f0ec31fa1518569b14b90b)), 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:** 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)





# [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)


### Features

* **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)
* **webdriverio:** improved assertion error reporting for WebdriverIO ([7513752](https://github.com/serenity-js/serenity-js/commit/75137526c70d92869c87a127454c5b90a9948b87)), closes [#1102](https://github.com/serenity-js/serenity-js/issues/1102)





# [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/webdriverio





# [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:** 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))
* **rest:** support for Axios 1.2.2 ([b6fa54b](https://github.com/serenity-js/serenity-js/commit/b6fa54b0d372bcf846d12bb60c91ac637015d1c6))





# [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)

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





# [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)

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





# [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)

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





# [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

* **webdriverio:** migrated to use Puppeteer 19.3 APIs ([1aa2ab7](https://github.com/serenity-js/serenity-js/commit/1aa2ab7495a7ddc7edf37f6d351ce26ccc7090c8))





# [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)

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





# [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)

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





# [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)

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





# [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

* **webdriverio:** standardised Web model APIs to always use async/await ([8ea447f](https://github.com/serenity-js/serenity-js/commit/8ea447fdff8cc53ba3a2affef2c0a45ce6014a60))
* **web:** interaction to Clear.theValueOf(field) triggers compatible events for all web tools ([ee6c112](https://github.com/serenity-js/serenity-js/commit/ee6c112f0dbfd4fe78ee1a8793ef6be49be803f5)), closes [#1329](https://github.com/serenity-js/serenity-js/issues/1329)





# [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

* **web:** all web modules now correctly support handling iframe context for the current page ([bcb8672](https://github.com/serenity-js/serenity-js/commit/bcb86722dfcaa023613e63fb8bd2e14d6d546efd)), closes [#1310](https://github.com/serenity-js/serenity-js/issues/1310)
* **web:** improve handling of closed windows on remote grids ([79d387d](https://github.com/serenity-js/serenity-js/commit/79d387d2d4a55367c3505f4c98f29f71a6a753f5)), closes [#1310](https://github.com/serenity-js/serenity-js/issues/1310)


### Features

* **web:** interaction to Clear works with "contenteditable" elements across all the web tools ([c53b00d](https://github.com/serenity-js/serenity-js/commit/c53b00dac512977c00e5eadc101e281997f8e0de)), closes [#1306](https://github.com/serenity-js/serenity-js/issues/1306)





# [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)

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





# [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:** 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:** corrected not(isPresent()) for PlaywrightPageElement ([0693b2f](https://github.com/serenity-js/serenity-js/commit/0693b2f2666a8de327c990c72ecf42fc3d7da498)), closes [#1240](https://github.com/serenity-js/serenity-js/issues/1240)





# [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)

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





# [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)


### Bug Fixes

* **webdriverio:** updated WebdriverIO dependencies to 7.20.9 ([da3ff9c](https://github.com/serenity-js/serenity-js/commit/da3ff9c4c55f59758450fc8428e0596f3d372ce6))





# [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))
* **deps:** updated TinyTypes to 1.19.0 ([f6d53e4](https://github.com/serenity-js/serenity-js/commit/f6d53e4dbbfcb81139bd888ac11441b6344e47f5))
* **webdriverio:** ensure Serenity/JS-specific config is not passed to WebdriverIO-specific services ([384738e](https://github.com/serenity-js/serenity-js/commit/384738e0d7b61b69de24b11ff1fbc32b835a440c))
* **webdriverio:** use local instead of global browser object in WebdriverioPage ([323be75](https://github.com/serenity-js/serenity-js/commit/323be7517ea8b90f967f510c03c744330c5ba2b0))





# [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)

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





# [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

* **web:** improved reliability of PageElementLocator for WebdriverIO and Protractor ([b19d19a](https://github.com/serenity-js/serenity-js/commit/b19d19aedc0d60d4068191e7eb83943b9268e39a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)



# [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)


### Bug Fixes

* **web:** corrected promise handling to avoid the unhandled promise rejection warning ([daac705](https://github.com/serenity-js/serenity-js/commit/daac705174683425109591e25139b5172fbdd7d3))



# [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

* **webdriverio:** improved resiliency of the WebdriverIOPuppeteerModalDialogHandler ([5e56edf](https://github.com/serenity-js/serenity-js/commit/5e56edf875a6d21cabbe02505179e98d05bc89b7)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **webdriverio:** updated WebdriverIO dependencies ([0833a3c](https://github.com/serenity-js/serenity-js/commit/0833a3cb804bf800645c564877277c8498412ef2))
* **web:** improved JavaScript dialog-related error handling when taking screenshots ([3cd1149](https://github.com/serenity-js/serenity-js/commit/3cd1149ed74df95da17f1054cd4da93b095a4eed)), closes [puppeteer/puppeteer#2481](https://github.com/puppeteer/puppeteer/issues/2481) [#1156](https://github.com/serenity-js/serenity-js/issues/1156)
* **web:** removed dependency on is-plain-object ([cbe76a6](https://github.com/serenity-js/serenity-js/commit/cbe76a6e36f3ccc4a012e81244aa108a040b2d45))
* **web:** renamed PagesContext to BrowsingSession to make the name more descriptive ([6b4e998](https://github.com/serenity-js/serenity-js/commit/6b4e9984d80f8f349f367e59bd0e615cd01703ec)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)


### Features

* **playwright:** initial support for Playwright ([87e88a1](https://github.com/serenity-js/serenity-js/commit/87e88a16cdc06477ed25eb83f9597fd370fdc109)), closes [#493](https://github.com/serenity-js/serenity-js/issues/493) [#563](https://github.com/serenity-js/serenity-js/issues/563) [#911](https://github.com/serenity-js/serenity-js/issues/911)
* **playwright:** interaction to Select option(s) from a <select /> dropdown ([009041d](https://github.com/serenity-js/serenity-js/commit/009041d83e22ddf3fef14670e0e5fd6d11cdfc73)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
* **playwright:** support for isVisible, plus consistent visibility checks across the board ([2c5c929](https://github.com/serenity-js/serenity-js/commit/2c5c929802f894f9fe59438a01f08b1b7bec3318)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
* **playwright:** support for working with frames ([89d4621](https://github.com/serenity-js/serenity-js/commit/89d46212073a342fe812a3ad2638a2ad0c39b620)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236)
* **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)
* **web:** new portable APIs to handle ModalDialog windows ([c94d0ec](https://github.com/serenity-js/serenity-js/commit/c94d0ec43d2bc8aa39f8824f5d0f1e1cbcf137a1)), closes [#1236](https://github.com/serenity-js/serenity-js/issues/1236) [#805](https://github.com/serenity-js/serenity-js/issues/805) [#1156](https://github.com/serenity-js/serenity-js/issues/1156)
* **web:** standardised support for deep CSS selectors across the Web integration modules ([e9e3f28](https://github.com/serenity-js/serenity-js/commit/e9e3f281191fc5c891841b6c8aab41213da3b0f5)), closes [#1238](https://github.com/serenity-js/serenity-js/issues/1238)



# [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

* **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)



# [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 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))



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



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



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



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



# [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)


### Features

* **web:** combined Frame and PageElement so they can be Switch-ed to ([1b7ab7c](https://github.com/serenity-js/serenity-js/commit/1b7ab7c828034a14ba801cbfa97acc203fd55adf)), closes [#82](https://github.com/serenity-js/serenity-js/issues/82) [#227](https://github.com/serenity-js/serenity-js/issues/227) [#233](https://github.com/serenity-js/serenity-js/issues/233) [#365](https://github.com/serenity-js/serenity-js/issues/365)



# [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)


### Features

* **web:** support for working with frames and an interaction to Switch.to(frameOrPage) ([ef73ef2](https://github.com/serenity-js/serenity-js/commit/ef73ef273f8a17e48d396d5ef03f6b761b136c9a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)



# [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

* **webdriverio:** corrected visibility of the `browser` field on BrowseTheWebWithWebdriverIO ([0de725f](https://github.com/serenity-js/serenity-js/commit/0de725f71ec67c496b16fabdbc7e1a06715732fa))



# [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)



# [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)


### Features

* **web:** support for advanced PageElement locator patterns ([c1ff8b7](https://github.com/serenity-js/serenity-js/commit/c1ff8b7539ebc1da8f79ea2b6d17bb01c42f443d)), closes [#1084](https://github.com/serenity-js/serenity-js/issues/1084)



# [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)



# [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)
* **deps:** updated tiny-types to 1.17.0 ([3187051](https://github.com/serenity-js/serenity-js/commit/3187051594158b4b450c82e851e417fd2ed21652))
* **web:** refactored Selector and NativeElementLocator classes to simplify the implementation ([f0c8f11](https://github.com/serenity-js/serenity-js/commit/f0c8f113433958877d36f13d0bc7f355ea68d280))


### Features

* **web:** isVisible checks if the element is in viewport and not hidden behind other elements ([429040f](https://github.com/serenity-js/serenity-js/commit/429040fb32b04cd4bc7524100635203fd8128eb6))
* **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.2](https://github.com/serenity-js/serenity-js/compare/v3.0.0-rc.1...v3.0.0-rc.2) (2021-12-09)



# [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:** 3.0 RC ([469d54e](https://github.com/serenity-js/serenity-js/commit/469d54e4f81ef430566b93852e3174826f8ef672)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **deps:** updated WebdriverIO ([9de63d4](https://github.com/serenity-js/serenity-js/commit/9de63d460d9735abfc5bb066671f6f28c3274597))
* **deps:** web ([b075b8e](https://github.com/serenity-js/serenity-js/commit/b075b8ecd8e00014469dda15a90175d60ed80c91))
* **web:** corrected timestamp rounding when retrieving the expiry date of a cookie ([d636965](https://github.com/serenity-js/serenity-js/commit/d63696586618cd701e703e33dd8b476efaac65b6))
* **webdriverio:** ensure getLastScriptExecutionResult returns undefined for void functions ([aa00dfd](https://github.com/serenity-js/serenity-js/commit/aa00dfd3ab320a5d7ee786feea1ce0355ac42638))
* **webdriverio:** fixed synchronisation issue in ModalDialog ([12324b2](https://github.com/serenity-js/serenity-js/commit/12324b2cef9c161df8b68960d5b958c1f208f70a)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **webdriverio:** separated UIElement.hoverOver from UIElement.scrollIntoView ([cf4ca2c](https://github.com/serenity-js/serenity-js/commit/cf4ca2c531e0f90f9a27917e322359c13bfbc6e6))
* **webdriverio:** updated WebdriverIO to 7.13.2 ([ef79d19](https://github.com/serenity-js/serenity-js/commit/ef79d1962224e8dd04a1b0e099662c91ea118dfe))
* **webdriverio:** updated WebdriverIO to 7.16.7 ([3316e29](https://github.com/serenity-js/serenity-js/commit/3316e2905e68b1cabf76086da353072376f95f4a))
* **web:** removed window-specific APIs from BrowseTheWeb that got replaced by Page ([918f447](https://github.com/serenity-js/serenity-js/commit/918f447c1d8f326fbf5730f1aa61108045556212)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **web:** renamed Element and associated classes to PageElement to avoid name conflicts ([1e4204b](https://github.com/serenity-js/serenity-js/commit/1e4204b5507469e6574c87a6d84454e39e8a813e))
* **web:** renamed PageElementList to PageElements to improve readability ([a9903a7](https://github.com/serenity-js/serenity-js/commit/a9903a7389b00106ef94d2bdb9f86a7fd04be541)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **web:** standardised getters across PageElement implementations ([336472b](https://github.com/serenity-js/serenity-js/commit/336472b1a6882412f6a88483e51266909a1d51d0))


### Features

* **protractor:** compatibility with @serenity-js/web ([9df4db2](https://github.com/serenity-js/serenity-js/commit/9df4db27a6e0ae62bf0d0e679a170d4865041043)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **web:** a common way to run the tests for all the web adapters ([c7e584a](https://github.com/serenity-js/serenity-js/commit/c7e584a9bf288ebc7781affdb720097527e8ed3a))
* **web:** added Page.viewportSize and Page.setViewportSize methods ([4cabbe2](https://github.com/serenity-js/serenity-js/commit/4cabbe21a7fbac3457c6a6ea3d4442a62c3f1f3c))
* **web:** all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web ([7b6b95d](https://github.com/serenity-js/serenity-js/commit/7b6b95dc255446c29ae213ba2a1d142d426d16c8))
* **webdriverio:** support for native WebdriverIO services ([8d5ad22](https://github.com/serenity-js/serenity-js/commit/8d5ad22594cdb2ebddedc58a30259ca8430e360c))
* **web:** interaction to set a Cookie ([c056439](https://github.com/serenity-js/serenity-js/commit/c056439746a8f57c3edd937b8862f2babb70e94e)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **web:** interaction to setViewportSize of a Page ([dd7f180](https://github.com/serenity-js/serenity-js/commit/dd7f18057b857d2e69c19265888bfd5b15fda21b))
* **web:** ModalDialog available for both Protractor and WebdriverIO adapters ([ef3c566](https://github.com/serenity-js/serenity-js/commit/ef3c566aed12b52aa22c54058992d369172b8597)), closes [#805](https://github.com/serenity-js/serenity-js/issues/805)
* **web:** new module @serenity-js/web to provide Web-related Screenplay Pattern APIs ([bead861](https://github.com/serenity-js/serenity-js/commit/bead8612af1a5c99b775e680a3904f44d0281cf9))
* **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 switching browsing context ([a73a635](https://github.com/serenity-js/serenity-js/commit/a73a635f93183d67229acde78e74526564008869)), 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.
