Announcing Stryker 1.0
Published: 13 February 2019
If you’re unfamiliar with Stryker and mutation testing, now is the perfect time to try it out! We've updated our quickstart, so go ahead and start using Stryker today. Stryker can help you to improve your test quality by inserting bugs in your code and validating that your tests can find them. The output is a comprehensive report telling you exactly what your unit tests missed.
🔗 What's new
Here you find a list of all the new features in Stryker 1.0 (alphabetical order):
That's right! We chose to not introduce new features. Instead, we've removed all deprecated functionality. Also, we've renamed all packages to be part of the @stryker-mutator organization on NPM.
🔗 Migrating from Stryker 0.x
Please use this migration guide to update your older Stryker version. If you're feeling adventurous 🤠🐊, you can skip to step 3.
Make sure you're on the latest version of 0.x
Please make sure you're on the latest 0.x version first. Here is a list of all the latest versions:
First update them in your package.json file, next use
yarn install) to install the versions.
Fix all deprecation warnings
If you're on the latest 0.x release, run
npx stryker runand fix any deprecation warnings that are logged. If Stryker runs without deprecation warnings, you're ready to upgrade
Update your global stryker-cli
If you've installed the
stryker-cli, please update that one as well:
npm i -g stryker-cli
Upgrade your dependencies
Update your package.json file.
stryker-api➡ none, this can be removed
The versioning of these dependencies start at 1.0.0, so feel free to use
^1.0.0to specify the version.
After updating your package.json, you'll need to run
yarn install) once more.
Take it for a spin
Stryker should now work as expected. Try it out with:
npx stryker run.
🔗 Release cycle
From now on we'll adhere to strict semantic versioning, or semver for short. This means that it's easy to distinguish between bug fixes, new features or breaking changes just by looking at the version number.
Futhermore, we've decided to use fixed versioning for our packages, meaning that all
will have the same version number. For example, if your local
@stryker-mutator/core version is
@stryker-mutator/html-reporter should also be at that exact version. This makes maintaining your Stryker dependencies a breeze.
This is comparable to how Angular or React do their versioning.
🔗 Release schedule
We'll be releasing about as often as we were doing. The key difference is that we'll be extra focused on semver. Since we will be dropping support for old NodeJS versions as soon as it reaches end-of-life, expect at least one major release a year, (however, we might do more major releases). So you can expect a v2 release around April 30th, since we'll be dropping Node.JS 6 support at that time (the best birthday gift for me each year 🎁)
We'll also keep a healthy deprecation policy, making sure that deprecated features remain in tact for at least one major release.Back to blogs