Skip to main content

Semantic Versioning

Serenity/JS complies with Semantic Versioning 2.0.0, with release versions determined automatically based on the changes introduced to the main branch since the most recent release.

All Serenity/JS modules are released together, even if not all of them have changed in a given release. This is to make it easier for you to stay up to date without having to worry about any compatibility issues between the framework's modules.

Release cadence

New minor and patch versions of Serenity/JS modules are typically released at least once per month, but typically more frequently to help ensure the framework is up-to-date with any security fixes and patches to its dependencies

Stay up to date!

The easiest way to stay up to date with the latest features and bug fixes is to always use the latest version of your chosen Serenity/JS modules.

To stay up to date, set the required version of each Serenity/JS module to 3.x in your package.json file, for example:

"devDependencies": {
"@serenity-js/core": "3.x",
"@serenity-js/assertions": "3.x",
"@serenity-js/rest": "3.x",
"@serenity-js/playwright": "3.x",
"@serenity-js/web": "3.x",
"@serenity-js/serenity-bdd": "3.x"
Use a bot to update your dependencies automatically

You might also want to consider using services like Renovate or Dependabot to notify you when new releases are available. This is something Serenity/JS does itself to stay up to date with its dependencies.

Deprecated APIs

The public APIs of the framework will not be removed or changed in a backward-incompatible way in minor or patch releases of the framework. However, from time to time some APIs might get marked as @deprecated.

When an API is marked as @deprectated, the documentation of the API will provide instructions on what other API has superseded the deprecated one. Additionally, a ticket marked as deprecation-notice is raised on Serenity/JS GitHub, and you'll have at least 3 months since the ticket is raised to migrate the code using a deprecated api to the new alternative.

Removing a deprecated API will not affect the major version number of the Serenity/JS framework, but a new major version release will typically remove all the deprecated APIs implemented in the previous major version.

You can watch the Serenity/JS GitHub repository to be notified of deprecated APIs.

Experimental APIs

In order to enable early feedback, from time to time experimental APIs are introduced to the framework. Those APIs are clearly marked as @experimental.

When a new experimental API is introduced to the framework, a ticket marked as experiment will be raised on Serenity/JS GitHub, so you're encouraged to give the idea a thumbs up or provide suggestions on how it could be improved.

Please be aware that experimental APIs might change or get removed without prior notice and without affecting the major version number of the Serenity/JS framework.

You can watch the Serenity/JS GitHub repository to be notified of experimental APIs.

Your feedback matters!

If you like Serenity/JS, give it a ⭐ star on GitHub and tell your friends about it! For questions about Serenity/JS, check out Serenity/JS Q'n'A, and make sure to join our Serenity/JS Community Chat to say hi 👋

GitHub stars Join Serenity/JS Community Chat Join Serenity/JS Community Chat

New tutorials and videos are coming soon, follow us on LinkedIn and subscribe to Serenity/JS YouTube channel to get notified when they're available!

LinkedIn Follow YouTube Follow GitHub Sponsors