Skip to content

Latest commit

 

History

History
1937 lines (1118 loc) · 124 KB

CHANGELOG.md

File metadata and controls

1937 lines (1118 loc) · 124 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

8.7.1 (2024-12-11)

Note: Version bump only for package @stryker-mutator/core

8.7.0 (2024-12-06)

Bug Fixes

  • deps: update dependency mutation-testing-elements to v3.4.0 (#5138) (32001dd)

Features

  • logging: remove dependency on log4js (#5111) (276ffd8)
  • temp-dir: allow multiple instances to share the same temp-dir (#5120) (d15453e), closes #5086

8.6.0 (2024-09-29)

Bug Fixes

  • deps: update dependency @inquirer/prompts to v6 (#5029) (d727cb7)
  • deps: update dependency emoji-regex to ~10.4.0 (#4987) (8337f88)
  • deps: update dependency execa to v9.4.0 (#5024) (99d60e0)
  • deps: update dependency npm-run-path to v6 (#4986) (1c9f354)
  • deps: update dependency tslib to v2.7.0 (#4981) (4bdef40)
  • deps: update dependency typed-rest-client to ~2.1.0 (#5025) (454e5e2)
  • deps: update mutation-testing-elements monorepo to v3.3.0 (#5026) (88caf82)

Features

  • ignore: add "angular" ignore plugin (#4789) (5d792d8)
  • init: use user configured npm registry (#4937) (33e348e)
  • reporter: add "% score of covered" column to the clear text report (#4945) (3b511ed)

8.5.0 (2024-08-11)

Features

  • html report: support mutation coverage based on covered code (cec0b95)

8.4.0 (2024-08-06)

Bug Fixes

  • node-18: revert changes to support node 18 again (#4935) (42162bd)

Features

  • clear-text-reporter: Add "skipFull" option (#4875) (da213ad)

8.3.0 (2024-08-01)

Bug Fixes

  • deps: update mutation-testing-elements monorepo to v3.1.1 (#4824) (03eed69)

Features

8.2.6 (2024-02-25)

Bug Fixes

  • deps: update dependency commander to v12 (#4713) (76b1acd)
  • deps: update dependency npm-run-path to ~5.3.0 (#4752) (e440d3e)

8.2.5 (2024-02-20)

Note: Version bump only for package @stryker-mutator/core

8.2.4 (2024-02-19)

Bug Fixes

  • deps: update dependency semver to ~7.6.0 (#4719) (ffe9aeb)

8.2.3 (2024-02-03)

Bug Fixes

  • initialize: use correct url to fetch additional test runner config (#4699) (59e53d0), closes #4698

8.2.2 (2024-01-29)

Note: Version bump only for package @stryker-mutator/core

8.2.1 (2024-01-29)

Note: Version bump only for package @stryker-mutator/core

8.2.0 (2024-01-29)

Note: Version bump only for package @stryker-mutator/core

8.1.0 (2024-01-29)

Bug Fixes

Features

  • core: Add .next, .nuxt and .svelte-kit to ignorePattern (#4645) (ddc28ea)
  • instrumenter: support .mts and .cts file extensions (#4694) (7a09c75)

8.0.0 (2023-11-30)

Bug Fixes

  • core: short circuit test executor when no tests and allowEmpty (#4477) (ce3e5cd)
  • deps: update dependency emoji-regex to v10 (#4496) (418688b)
  • deps: update mutation-testing-elements monorepo to v2.0.5 (#4536) (45e3ae6)

Features

  • init: add svelte custom initializer (#4625) (418722d)
  • node: drop official support for node 16 (#4542) (e190207)
  • svelte: support mutating .svelte files (0ef9a7f)

BREAKING CHANGES

7.3.0 (2023-10-15)

Bug Fixes

  • core: disableTypeChecks true only forces ts-like file match (#4485) (31f3411)
  • deps: update dependency commander to ~11.1.0 (#4483) (ab03c0d)
  • package: don't publish test and tsbuildinfo. (#4464) (ae3d2d8)

Features

  • Ignorer plugin: support ignorer plugins (#4487) (4fe1000)
  • plugin: add support for declareValuePlugin (#4490) (a3c35ca)

7.2.0 (2023-10-02)

Bug Fixes

Features

  • config: allow suffix 'config' to config filename (#4308) (fc8596e)
  • reporter: configurable clear-text reporter (#4330) (74bcc74)

7.1.1 (2023-07-15)

Bug Fixes

7.1.0 (2023-06-24)

Bug Fixes

Features

7.0.2 (2023-06-08)

Bug Fixes

7.0.1 (2023-06-03)

Note: Version bump only for package @stryker-mutator/core

7.0.0 (2023-06-02)

Bug Fixes

  • core: improve no-mutate warning (#4248) (6bf7a56)
  • deps: update dependency inquirer to ~9.2.0 (#4137) (d985780)
  • deps: update dependency minimatch to v8 (#4079) (af4a62c)
  • deps: update dependency mutation-testing-elements to v2 (#4148) (50071e6)
  • deps: update dependency tslib to v2.5.2 (#4241) (4cd2a86)
  • deps: update mutation-testing-elements monorepo to v2.0.1 (#4182) (c1b7312)
  • deps: update mutation-testing-metrics and mutation-report-schema to v2 (#4154) (9b77a3f)
  • incremental: correctly identify removed test files (#4134) (7342ac6)
  • Reporter API: use 1-based locations with onMutantTested (#4158) (f5227e0)

chore

Features

BREAKING CHANGES

  • type-checking: disableTypeChecks is now true by default. You can use this configuration to opt out:
{
  "disableTypeChecks": "{test,src,lib}/**/*.{js,ts,jsx,tsx,html,vue,cts,mts}"
}
  • reporter-api: The event onAllMutantsTested has been removed. Plugin creators should use onMutationTestReportReady instead.
  • esm: Deep (and undocumented) imports from @stryker-mutator/core or one of the plugins will no longer work. If you want to import something that's not available, please let us know by opening an issue
  • node: Node 14 is no longer supported. Please install an LTS version of node: nodejs.org/

6.4.2 (2023-03-24)

Bug Fixes

  • angular: generate karma.conf.js file when it is missing (#4054) (915c6d8)
  • deps: update dependency execa to v7.1.1 (#4025) (13bc0b5)
  • deps: update dependency log4js to ~6.9.0 (#3988) (fca777f)
  • progress reporter: improve ETC prediction (#4024) (956bbe9), closes #4018

6.4.1 (2023-02-17)

Note: Version bump only for package @stryker-mutator/core

6.4.0 (2023-02-17)

Bug Fixes

  • deps: update dependency commander to v10 (#3936) (e8af5a4)
  • deps: update dependency execa to v7 (#3975) (6c36120)
  • deps: update dependency glob to ~8.1.0 (#3945) (edb767a)
  • deps: update dependency mkdirp to v2 (#3946) (0ee9018)
  • deps: update dependency mutation-testing-elements to v1.7.14 (#3969) (2f3f481)
  • deps: update dependency mutation-testing-metrics to v1.7.14 (#3970) (ddf32ee)
  • deps: update dependency mutation-testing-report-schema to v1.7.14 (#3971) (a0d5743)
  • deps: update dependency tslib to ~2.5.0 (#3952) (7548287)
  • project reader: ignore configured output files by default. (#3894) (2ff2f07)

6.3.1 (2022-12-18)

Bug Fixes

6.3.0 (2022-10-30)

Bug Fixes

Features

  • ci: forbid .only in CI pipeline tests (#3823) (051ec93)
  • clear-text reporter: add allowEmojis option in console (#3820) (79cc05f)
  • core: add --dryRunOnly CLI argument to only run initial tests (#3814) (f2cf7e6)
  • core: add support for pnpm as package manager (#3802) (af0e34e)
  • disableTypeChecks: add option 'true' to disable all type checks (#3765) (3c3d298)
  • init: document test runner homepage url in stryker.conf.json (#3817) (92c0852)
  • worker: add worker count env variable to processes (#3821) (efb6fd6)

6.2.3 (2022-10-10)

Bug Fixes

  • deps: update dependency log4js to ~6.7.0 (#3758) (535311d)

6.2.2 (2022-09-06)

Note: Version bump only for package @stryker-mutator/core

6.2.1 (2022-09-06)

Note: Version bump only for package @stryker-mutator/core

6.2.0 (2022-09-06)

Bug Fixes

  • deps: update dependency log4js to ~6.6.0 (#3628) (201bba2)
  • json-report: make all file paths relative in report (#3617) (d51f1a9)

Features

6.2.0-beta.0 (2022-06-28)

Features

  • incremental: add incremental mode (04cf8a2)

6.1.2 (2022-06-28)

Note: Version bump only for package @stryker-mutator/core

6.1.1 (2022-06-28)

Note: Version bump only for package @stryker-mutator/core

6.1.0 (2022-06-27)

Bug Fixes

  • deps: update dependency commander to ~9.3.0 (#3546) (1142f11)
  • deps: update dependency file-url to v4 (#3555) (658f00e)
  • deps: update dependency get-port to v6 (#3556) (2cae23f)
  • deps: update dependency glob to v8.0.3 (#3531) (bb5611a)
  • deps: update dependency inquirer to v9 (#3592) (db0bd34)
  • deps: update dependency log4js to ~6.5.0 (#3547) (67df3f0)
  • deps: update dependency minimatch to ~3.1.0 (#3549) (a4e5c43)
  • deps: update dependency minimatch to v5.1.0 (#3548) (c27ec2f)
  • logging: log non-existing node_modules on debug (#3521) (766072f)

Features

  • plugin: allow fileDescriptions to be injected (#3582) (fa2b77e)

6.0.2 (2022-05-05)

Note: Version bump only for package @stryker-mutator/core

6.0.1 (2022-05-04)

Bug Fixes

  • plugin loader: no warn when not using plugins (#3498) (54aa298)

6.0.0 (2022-05-03)

Bug Fixes

  • core: allow parallel schedules (#3485) (bbbd514)
  • html-report: set correct background color for html report (#3456) (a72ecf1)
  • reporter: report progress of failed check results only once (#3472) (dce5882)
  • stryker-cli: allow stryker-cli integration (330ef6c)

chore

  • node: drop support for Node 12 (10d874e)

Code Refactoring

Features

  • config file: accept hidden config file by default. (#3457) (701374f)
  • mutation testing: sort tests to improve performance (#3467) (47344d3)
  • progress: improve progressbar ETC estimate (#3469) (ec63d93)
  • warn slow: warn users for slow runs (#3490) (1103958)

BREAKING CHANGES

  • file: The File class is no longer part of the public api and is thus no longer exported from @stryker-mutator/api. Plugin creators shouldn't rely on it anymore.
  • progress: Reporter API method onAllMutantsMatchedWithTests has been replaced by onMutationTestingPlanReady. Please use that for your reporter plugin instead.
  • progress: Reporter API method onAllSourceFilesRead has been removed, please use onMutationTestReportReady to retrieve the source files.
  • progress: Reporter API method onSourceFileRead has been removed, please use onMutationTestReportReady to retrieve the source files.
  • node: Drop support for Node 12. Minimal version is now Node 14.18.0.

6.0.0-beta.0 (2022-03-02)

Features

  • checker-api: support checking on groups of mutants (#3450) (e9bbd39)
  • esm config: support config file as pure esm (#3432) (309a7e2)
  • esm: migrate StrykerJS to pure ESM (#3409) (78c305e)
  • html reporter: allow choice of fileName. (#3438) (d197319)
  • ignore static: allow to ignore static mutants (#3284) (75d9b79)
  • ignore static: prevent leak of hybrid mutants (#3443) (231049a)
  • reload test environment: implement test environment reload (#3369) (b95b907)
  • test runner api: killedBy is always an array (#3187) (c257966)

BREAKING CHANGES

  • checker-api: The check method of checker plugins now receives a group of mutants and should provide a CheckResult per mutant id.
  • html reporter: Configuration option htmlReporter.baseDir is deprecated and will be removed in a later version. Please use htmlReporter.fileName instead.
  • esm config: Exporting a function (using module.exports = function(config) {}) from your stryker.conf.js file is no longer supported. This was already deprecated but now will give an error.
  • esm: StrykerJS is now a pure ESM. Please read this.
  • esm: Node 12.20 is now the min version.
  • esm: Karma v6.3 is now the min supported karma version for @stryker-mutator/karma-runner, since that version added support for async config loading
  • reload test environment: Test runner plugins must provide TestRunnerCapabilities by implementing the capabilities method.

5.6.1 (2022-01-23)

Bug Fixes

5.6.0 (2022-01-09)

Bug Fixes

  • report: dramatically improve rendering performance of HTML report (ad38c82)

Features

  • clear-text reporter: show n/a instead of NaN (68c5c51)

5.5.1 (2021-12-02)

Bug Fixes

5.5.0 (2021-11-23)

Bug Fixes

  • logging: don't log log4js category to file as well (31609a5)

Features

  • checkers: allow custom checker node args (#3179) (82c4435)
  • cli: display suggestions on error (#3216) (9ed98e8)
  • config: Add link to docs when generating a custom config (#3235) (7c999b8)
  • html: new diff-view when selecting mutants (#3263) (8b253ee)
  • init: add buildCommand question when running (#3213) (b9d5980)
  • jest-runner: support --findRelatedTests in dry run (#3234) (b2e4584)

5.4.1 (2021-09-30)

Bug Fixes

  • ProgressReporter: don't render when there are no valid mutants to render (#3155) (41c4177)

5.4.0 (2021-09-01)

Features

5.3.0 (2021-08-07)

Bug Fixes

Features

  • hit limit: infinite loop prevention in karma-runner (#3031) (fc732fc)
  • report: show status reason in the html report. (d777e49)

5.2.3 (2021-08-01)

Bug Fixes

  • karma runner: restart a browser on disconnect error (#3020) (fc5c449)

5.2.2 (2021-07-13)

Bug Fixes

  • schema: Resolve "No 'exports' main" error (#3004) (9034806)

5.2.1 (2021-07-02)

Features

  • html: highlight files in html report (b7876a4)

5.2.0 (2021-07-02)

Bug Fixes

  • ignore patterns: always ignore *.tsbuildinfo files (#2985) (794f103)

5.1.1 (2021-06-15)

Note: Version bump only for package @stryker-mutator/core

5.1.0 (2021-06-14)

Note: Version bump only for package @stryker-mutator/core

5.0.1 (2021-05-28)

Note: Version bump only for package @stryker-mutator/core

5.0.0 (2021-05-14)

Bug Fixes

  • sandbox: make directory if not exists before symlinking node_modules (#2856) (40f9a1d)

Features

BREAKING CHANGES

  • range: The range property is no longer present on a mutant. Note, this is a breaking change for plugin creators only.

Co-authored-by: Simon de Lang simondelang@gmail.com

  • options: "perTest" is now the default value for "coverageAnalysis" when the configured test runner is not "command". Explicitly set "coverageAnalysis": "off" manually to opt-out of this behavior.
  • node: Node 10 is no longer supported. Please use Node 12 or higher.
  • serialize: Having a non-JSON-serializable value in your configuration won't be sent to the child process anymore. If you really need them in your test runner configuration, you should isolate those values and put them in test runner-specific config files, loaded by the test runner plugin itself, for example, jest.config.js, karma.conf.js, webpack.config.js.
  • ignore patterns: Stryker will no longer use a git command to determine which files belong to your project. Instead, it will rely on sane defaults. You can change this behavior by defining ignorePatterns.
  • ignore patterns: The files configuration option is deprecated and will be removed in a future release. Please use ignorePatterns instead.

This:

{
  "files": ["foo.js"]
}

Is equivalent to:

{
  "ignorePatterns": ["**", "!foo.js"]
}
  • reporter api: Changes to Reporter and TestRunner plugin API of Stryker

4.6.0 (2021-04-16)

Features

4.5.1 (2021-03-11)

Note: Version bump only for package @stryker-mutator/core

4.5.0 (2021-03-06)

Bug Fixes

  • logging: log info about symlinking on debug (#2756) (c672e2e)

Features

  • package: restructure package internals (#2714) (e1711d2)
  • sandbox: support symlinking of node_modules anywhere (ee66623)

4.4.1 (2021-01-27)

Note: Version bump only for package @stryker-mutator/core

4.4.0 (2021-01-24)

Bug Fixes

  • child-process: improve out-of-memory recognition (#2697) (b97220a)

Features

4.3.1 (2020-12-25)

Note: Version bump only for package @stryker-mutator/core

4.3.0 (2020-12-25)

Features

4.2.0 (2020-12-09)

Bug Fixes

  • CLI help: remove non-existant logLevel 'all' (#2626) (718a7f2)

Features

  • debugging: allow passing node args to the test runner (#2609) (fdd95c0)
  • resporter: add json reporter (#2582) (d18c4aa)
  • timeout: add --dryRunTimeoutMinutes option (494e821)

4.1.2 (2020-11-06)

Note: Version bump only for package @stryker-mutator/core

4.1.1 (2020-11-05)

Bug Fixes

4.1.0 (2020-10-30)

Bug Fixes

  • concurrency: better default for low CPU count (#2546) (eac9199)

Features

4.0.0 (2020-10-07)

Bug Fixes

  • presets: update init templates for 4.0 release (#2526) (ec0d75e)

4.0.0-beta.10 (2020-10-05)

Features

  • instrumenter: add excludedMutations support (#2513) (bfd714f)

4.0.0-beta.9 (2020-09-30)

Bug Fixes

Features

  • core: add appendPlugins command-line option (#2385) (0dec9b8)
  • core: correct initial test run timing (#2496) (4f5a37e)
  • test-runner: Add --maxTestRunnerReuse support (5919484)

BREAKING CHANGES

  • config: exporting a function from stryker.conf.js is deprecated. Please export your config as an object instead, or use a stryker.conf.json file.

Co-authored-by: Nico Jansen jansennico@gmail.com

4.0.0-beta.8 (2020-09-22)

Bug Fixes

  • instrumenter: ignore declare syntax (b1faa16)

Features

  • core: add --cleanTempDir cli option (6ef792c)
  • instrumenter: improve placement error (12e097e)

4.0.0-beta.7 (2020-09-17)

Bug Fixes

4.0.0-beta.6 (2020-09-10)

Note: Version bump only for package @stryker-mutator/core

4.0.0-beta.5 (2020-09-09)

Bug Fixes

  • reporters: correctly report avg tests/mutants (#2458) (582e01b)

Features

4.0.0-beta.4 (2020-08-29)

Bug Fixes

  • input files: support emojis in file names (#2430) (139f9f3)
  • input files: support emojis in file names (#2433) (b5feae2)

Features

  • api: rename test_runner2 -> test_runner (#2442) (4d3ae97)
  • options: deprecate old stryker options (#2395) (7c637c8)
  • reporter-api: support mutation switching (67f1ed5)

BREAKING CHANGES

  • api: Plugin creators should now use 'test_runner' instead of 'test_runner2'.
  • reporter-api: The onMutantTested and onAllMutantsTested methods on the Reporter api have changed

4.0.0-beta.3 (2020-08-19)

Bug Fixes

Features

BREAKING CHANGES

  • exit prematurely: Stryker will now exit with exit code 1 when no tests were executed in the initial test run.

4.0.0-beta.2 (2020-08-07)

Features

  • command: Support command test runner with mutation switching (#2345) (59b1cfc)
  • jest-runner: support mutation switching (#2350) (9e6e6e0)

4.0.0-beta.1 (2020-07-17)

Note: Version bump only for package @stryker-mutator/core

4.0.0-beta.0 (2020-07-10)

Bug Fixes

  • buildCommand: allow for a single command string in posix (77b6a20)
  • reporter: report event order (#2311) (ceb73a8)
  • sandbox: exec build command before symlink (bd25cd6)

Features

BREAKING CHANGES

  • core: * --maxConcurrentTestRunners is now deprecated. Please use --concurrency instead.

3.3.1 (2020-07-04)

Bug Fixes

  • validation: don't warn about the commandRunner options (2128b9a)

3.3.0 (2020-06-16)

Note: Version bump only for package @stryker-mutator/core

3.2.4 (2020-05-18)

Note: Version bump only for package @stryker-mutator/core

3.2.3 (2020-05-15)

Bug Fixes

3.2.2 (2020-05-15)

Bug Fixes

  • options: resolve false positives in unknown options warning (#2208) (e3905f6)

3.2.1 (2020-05-15)

Note: Version bump only for package @stryker-mutator/core

3.2.0 (2020-05-13)

Features

  • api: Deprecated Config in favor of StrykerOptions (dccdd91)
  • init: add reference to mono schema (#2162) (61953c7)
  • validation: validate StrykerOptions using JSON schema (5f05665)
  • validation: add validation on plugin options (#2158) (d78fe1e)
  • validation: hide stacktrace on validation error (8c5ee88)
  • validation: warn about unknown stryker config options (#2164) (8c6fd97), closes #2103

3.1.0 (2020-03-29)

Bug Fixes

  • api: allow for different api versions of File (#2124) (589de85)

3.0.2 (2020-03-13)

Bug Fixes

  • nodejs requirement: set NodeJS requirement to at least Node 10 (8c08059)

3.0.1 (2020-03-12)

Note: Version bump only for package @stryker-mutator/core

3.0.0 (2020-03-11)

Bug Fixes

Features

  • config: Allow a stryker.conf.json as default config file. (#2092) (2279813)
  • core: exit code 1 when error in initial run (49c5162)
  • excludedMutations: remove deprecated mutation names (#2027) (6f7bfe1)
  • HtmlReporter: include the html reporter in the core package and add it to the default reporters (#2036) (09702d9), closes #1919
  • Initializer: Initialize config file as JSON by default (#2093) (e07d953), closes #2000
  • promisified fs: use node 10 promisified functions (#2028) (1c57d8f)
  • react: change react to create-react-app (#1978) (7f34f28)
  • Reporter.onScoreCalculated: remove deprecated onScoreCalculatedevent (#2026) (9fa4175)

BREAKING CHANGES

  • core: Stryker now exists with exitCode 1 if an error of any kind occurs.
  • Reporter.onScoreCalculated: Please use the onMutationTestReportReady event and the mutation-testing-metrics npm package to calculate the mutation testing report metrics.

This

class MyReporter {
  onScoreCalculated(scoreResult) {
    // => do stuff with score result
  }
}

Becomes this:

import { calculateMetrics } from 'mutation-testing-metrics';
class MyReporter {
  onMutationTestingReportReady(report) {
    const reportMetrics = calculateMetrics(report.files);
    // => do stuff with report metrics
  }
}
  • HtmlReporter: the html reporter is now enabled by default. If you don't want to use it, be sure to override the reporters configuration option.
{
  "reporters": ["progress", "clear-text"]
}
  • excludedMutations: removes auto-fix for the old names of mutations.

Migrating:

Almost every mutator has been renamed and/or split. Stryker will warn you about any deprecated mutator names in the mutator.excludedMutations section of your config.

To migrate, please run stryker to see if your project is affected. If this is the case, please take a look at the mutator types on the handbook (see above).

These are the changes:

Old mutation New mutation(s)
ArrayLiteral ArrayDeclaration
ArrayNewExpression ArrayDeclaration
BinaryExpression ArithmeticOperator, EqualityOperator, LogicalOperator
Block BlockStatement
BooleanSubstitution BooleanLiteral
DoStatement ConditionalExpression
ForStatement ConditionalExpression
IfStatement ConditionalExpression
PrefixUnaryExpression UnaryOperator, UpdateOperator, BooleanLiteral
PostfixUnaryExpression UpdateOperator
SwitchCase ConditionalExpression
WhileStatement ConditionalExpression

New mutations

Due to the migration, some new mutations were added to the javascript mutator.

  • The mutation ArrayDeclaration will now mutate new Array() to new Array([])
  • The mutation ArrayDeclaration will now mutate [] to ["Stryker was here"]

These mutations were already performed by the typescript mutator.

  • promisified fs: removed fsAsPromised from @stryker-mutator/util

2.5.0 (2020-01-12)

Features

  • .gitignore: add Stryker patterns to .gitignore file during initialization (#1848) (854aee0)

2.4.0 (2019-11-24)

Features

  • dashboard-reporter: add github actions ci provider (#1869) (b38b30d)
  • excludedMutations: Implement new naming of mutators (#1855) (c9b3bcb)
  • json config: support json-file config (#1853) (49495ef)
  • progress-reporter: improve reported progress ux (d7a6f88)
  • report: support upload of full report to dashboard (#1783) (fbb8102)

2.3.0 (2019-11-13)

Bug Fixes

  • core: undefined reference error in coverage recording (0a68c9c)

2.2.1 (2019-11-06)

Note: Version bump only for package @stryker-mutator/core

2.2.0 (2019-11-06)

Bug Fixes

Features

  • javascript-mutator: allow to override babel plugins (#1764) (ddb3d60)
  • mutant-matcher: lower memory usage (#1794) (16294e5)
  • progress-reporter: show timed out mutant count (#1818) (067df6d)
  • stryker: remind user to add .stryker-temp to gitignore (#1722) (596e1ee)

2.1.0 (2019-09-08)

Features

  • mocha: support mocha 6.2 (feddcf1)

2.0.2 (2019-07-11)

Bug Fixes

  • child process: cleanup after dispose (#1636) (3fd5db9)
  • child process proxy: OutOfMemory detection (#1635) (4324d9f)
  • dispose: fix race condition in dispose action (124ef6a), closes #1542

2.0.1 (2019-07-02)

Bug Fixes

2.0.0 (2019-05-17)

Features

  • deps: update source-map dep to current major release (45fa0f8)
  • formatting: remove dependency on prettier (#1552) (24543d3), closes #1261
  • node 6: drop support for node 6 (#1517) (801d7cd)

BREAKING CHANGES

  • node 6: support for Node 6 has been dropped. Node 8 or higher is now required.

1.3.1 (2019-04-26)

Bug Fixes

  • clean up: prevent sandbox creation after dispose (#1527) (73fc0a8)

1.3.0 (2019-04-24)

Bug Fixes

  • dispose: clean up child processes in alternative flows (#1520) (31ee085)

1.2.0 (2019-04-02)

Features

  • reporter: implement mutationTestReport (16ba76b)

1.1.1 (2019-03-21)

Bug Fixes

1.1.0 (2019-03-04)

Bug Fixes

  • presets: install v1.x dependencies instead of v0.x (#1434) (7edda46)

1.0.3 (2019-02-26)

Note: Version bump only for package @stryker-mutator/core

1.0.2 (2019-02-13)

Bug Fixes

  • stryker init: update metadata for stryker init command (#1403) (38f269b), closes #1402

1.0.1 (2019-02-13)

Note: Version bump only for package @stryker-mutator/core

1.0.0 (2019-02-13)

Features

  • config injection: remove Config from the DI tokens (#1389) (857e4a5)
  • ES5 support: remove ES5 mutator (#1370) (cb585b4)
  • factories: remove deprecated factories (#1381) (df2fcdf)
  • getLogger: remove getLogger and LoggerFactory from the API (#1385) (cb14e67)
  • InputFileResolver: remove InputFileDescriptor support (#1390) (7598bc0)
  • port: remove port config key (#1386) (9c65aa2)
  • rename: rename stryker-xxx-xxx -> [@stryker-mutator](https://github.com/stryker-mutator)/xxx-xxx (1bbd6ff)
  • reporter config: remove deprecated reporter config option (#1371) (2034a67)
  • timeoutMS: remove deprecated timeoutMs property (#1382) (8d5f682)

BREAKING CHANGES

  • rename: The core package and plugins have been renamed: stryker -> @stryker-mutator/core
  • config injection: Remove Config object from Dependency Injection (only relevant for plugin creators).
  • getLogger: Remove getLogger and LoggerFactory from the API. Please use dependency injection to inject a logger. See https://github.com/stryker-mutator/stryker-handbook/blob/master/stryker/api/plugins.md#plugins for more detail
  • port: Remove the port config key. Ports should be automatically selected.
  • InputFileResolver: Remove InputFileDescriptor support. Entries of the files and mutate array should only contain strings, not objects. The files array can be removed in most cases as it can be generated using Git.
  • factories: Remove the Factory (and children) from the stryker-api package. Use DI to ensure classes are created. For more information, see https://github.com/stryker-mutator/stryker-handbook/blob/master/stryker/api/plugins.md#dependency-injection
  • reporter config: Remove the 'reporter' config option. Please use the 'reporters' (plural) config option instead.
  • ES5 support: Remove the ES5 mutator. The 'javascript' mutator is now the default mutator. Users without a mutator plugin should install @stryker-mutator/javascript-mutator.
  • timeoutMS: Remove the 'timeoutMs' config option. Please use the 'timeoutMS' config option instead.

0.35.1 (2019-02-12)

Bug Fixes

  • mutants: Prevent memory leak when transpiling mutants (#1376) (45c2852), closes #920

0.35.0 (2019-02-08)

Bug Fixes

  • stryker: Add logging on debug level for transpile errors (7063216)

Features

  • config-editors: Remove side effects from all config editor plugins (#1317) (1f61bed)
  • dependency injection: Add dependency injection for plugins (#1313) (f90cd56), closes #667
  • html-reporter: Remove side effects from html reporter (#1314) (66d65f7)
  • mutators: Remove side effects from mutator plugins (#1352) (edaf401)
  • port: Deprecate property 'port' (#1309) (2539ee0)
  • test-frameworks: Remove side effects from all test-framework plugins (#1319) (a7160f4)
  • test-runner: Use new plugin system to load TestRunner plugins (#1361) (266247b)
  • transpilers: Remove side effects transpiler plugins (#1351) (9a8b539)

0.34.0 (2018-12-23)

Features

  • stryker-api: Support stryker-api 0.23 (#1293) (10720ad)
  • zero config: Support mutation testing without any configuration (#1264) (fe8f696)

0.33.2 (2018-12-12)

Note: Version bump only for package stryker

0.33.1 (2018-11-29)

Bug Fixes

  • stryker-api: Update stryker-api peer dependency version (677fc28)

0.33.0 (2018-11-29)

Bug Fixes

  • JestTestRunner: run jest with --findRelatedTests (#1235) (5e0790e)

Features

  • console-colors: Add a global config option to enable/disable colors in console (#1251) (19b1d64)
  • Stryker CLI 'init': Support for preset configuration during 'stryker init' (#1248) (5673e6b)

0.32.1 (2018-11-21)

Bug Fixes

  • log4js: Don't log log4js category to console (#1246) (479d999)

0.32.0 (2018-11-13)

Features

  • error debugging: add remark to run again with loglevel trace (#1231) (c9e3d97), closes #1205

0.31.0 (2018-11-07)

Features

  • clear text reporter: Prettify the clear-text report (#1185) (a49829b)

0.30.1 (2018-10-25)

Bug Fixes

  • file resolving: ignore dirs from git submodules (#1195) (7806083)

0.30.0 (2018-10-15)

Bug Fixes

  • any-promise: Don't register a promise implementation (#1180) (1d3e2f6)

Features

  • ProgressReporter: Format estimated time of completion (ETC) (#1176) (4e76b46)

0.29.5 (2018-10-03)

Note: Version bump only for package stryker

0.29.4 (2018-10-02)

Bug Fixes

  • ScoreResultCalculator: fix faulty filenames in stryker score result (#1165) (2555f49), closes #1140

0.29.3 (2018-09-30)

Bug Fixes

0.29.2 (2018-09-14)

Note: Version bump only for package stryker

0.29.1 (2018-08-28)

Note: Version bump only for package stryker

0.29.0 (2018-08-21)

Features

  • stryker config: rename config setting timeoutMs to timeoutMS (#1099) (3ded998), closes #860

0.28.0 (2018-08-19)

Features

  • stryker config: rename config setting reporter to reporters (#1088) (584218a), closes #793

0.27.1 (2018-08-17)

Bug Fixes

  • dependencies: support stryker-api 0.19.0 (#1087) (44ce923)

0.27.0 (2018-08-17)

Features

0.26.2 (2018-08-16)

Note: Version bump only for package stryker

0.26.1 (2018-08-03)

Bug Fixes

  • stryker: Clear timeouts so stryker exits correctly (#1063) (2058382)

0.26.0 (2018-08-03)

Features

0.25.1 (2018-07-23)

Bug Fixes

  • Test runner: Don't crash on first failure (#1037) (94790c3)

0.25.0 (2018-07-20)

Bug Fixes

Features

  • logging: Allow log to a file (#954) (c2f6b82), closes #748
  • stryker init: Add support for yarn installs to stryker init (#962) (5aca197)

0.24.2 (2018-07-04)

Bug Fixes

  • stryker: kill entire test process tree (#927) (71af3e3)

0.24.1 (2018-05-31)

Bug Fixes

  • Peer dep: set correct stryker-api peer dependency (#830) (af973a1)

0.24.0 (2018-05-21)

Features

  • Dashboard reporter: add support for CircleCI (a58afff)

0.23.0 (2018-04-30)

Features

BREAKING CHANGES

  • node version: Node 4 is no longer supported.

0.22.4 (2018-04-20)

Bug Fixes

  • Sandbox: make sure .stryker-tmp does not appear in the sandbox (#716) (48acc2c), closes #698

0.22.3 (2018-04-20)

Bug Fixes

0.22.2 (2018-04-20)

Note: Version bump only for package stryker

0.22.1 (2018-04-13)

Bug Fixes

  • Dependencies: set correct stryker-api dependency (#694) (e333fd9)

0.22.0 (2018-04-11)

Features

  • Sandbox isolation: symbolic link node_modules in sandboxes (#689) (487ab7c)

0.21.1 (2018-04-09)

Bug Fixes

  • Dashboard reporter: fix typos (047a370)

0.21.0 (2018-04-04)

Bug Fixes

  • Progress reporter: don't prevent stryker from closing (21255aa)

Features

  • identify-files: use git to list files in InputFileResolver (df6169a)

BREAKING CHANGES

  • identify-files: * The InputFileDescriptor syntax for files is no longer supported.
  • Test runner plugins should keep track of which files are included into a test run and in which order.
  • Transpiler plugins should keep track of which files are to be transpiled.

0.20.1 (2018-03-22)

Bug Fixes

  • peerDependency: update stryker-api requirement to ^0.14.0 (3ce04d4)

0.20.0 (2018-03-22)

Features

  • stryker: add excludedMutations as a config option (#13) (#652) (cc8a5f1)

0.19.4 (2018-03-21)

Note: Version bump only for package stryker

0.19.3 (2018-02-14)

Bug Fixes

  • coverage-analysis: make sure to not erase sourceMappingURL comment (#625) (eed7147)

0.19.2 (2018-02-08)

Bug Fixes

  • stryker: remove import to undependant module (0956194)

0.19.1 (2018-02-07)

Bug Fixes

  • dependencies: update stryker-api requirement to ^0.13.0 (8eba6d4)

0.19.0 (2018-02-07)

Features

  • coverage analysis: Support transpiled code (#559) (7c351ad)
  • dashboard-reporter: Add dashboard reporter (#472) (0693a41)

0.18.2 (2018-02-02)

Note: Version bump only for package stryker

0.18.1 (2018-01-19)

Note: Version bump only for package stryker

0.18.0 (2018-01-12)

Features

  • Child processes: Support process message polution (#572) (dbe4d84)

0.17.2 (2018-01-10)

Bug Fixes

  • es5-mutator: Describe migration for users with plugins (6be95c3)

0.17.1 (2018-01-10)

Note: Version bump only for package stryker

0.17.0 (2017-12-21)

Features

  • cvg analysis: New coverage instrumenter (#550) (2bef577)

0.16.0 (2017-12-19)

Features

0.15.6 (2017-12-18)

Note: Version bump only for package stryker

0.15.5 (2017-12-05)

Note: Version bump only for package stryker

0.15.4 (2017-11-27)

Note: Version bump only for package stryker

0.15.3 (2017-11-27)

Note: Version bump only for package stryker

0.15.2 (2017-11-25)

Bug Fixes

0.15.1 (2017-11-24)

Bug Fixes

0.15.0 (2017-11-24)

Features

  • JavaScript mutator: Add stryker-javascript-mutator package (#467) (06d6bac), closes #429

0.14.1 (2017-11-17)

Note: Version bump only for package stryker

0.14.0 (2017-11-13)

Bug Fixes

  • InputFileResolver: Presume .zip and .tar are binary files. (#452) (94f8fdc), closes #447

Features

  • mocha 4: Add support for mocha version 4 (#455) (de6ae4f)

0.13.0 (2017-10-24)

Features

  • default score: Set default score to 100 (b9231fe)
  • transpiler api: Async transpiler plugin support (#433) (794e587)

0.12.0 (2017-10-20)

Bug Fixes

  • mocha framework: Select tests based on name (#413) (bb7c02f), closes #249

BREAKING CHANGES

  • mocha framework: * Change api of TestFramework. It now provides an array of TestSelection objects, instead of an array of numbers with test ids.

0.11.2 (2017-10-11)

Bug Fixes

  • deps: Remove types for prettier as a dev (7014322)

0.11.1 (2017-10-10)

Note: Version bump only for package stryker

0.11.0 (2017-10-03)

Bug Fixes

Features

  • ConfigReader: Use CLI options with default config file (#404) (99cdc61), closes #390
  • StrykerInitializer: Add the option to select mutators and transpilers (#403) (c61786f)

0.10.3 (2017-09-22)

Note: Version bump only for package stryker

0.10.2 (2017-09-20)

Bug Fixes

  • dependency on 'rx': Remove requires to 'rx' directly (71f7330)
  • missing dependency: Remove invalid package-lock file (aeeeb7b)
  • MutationTestExecutor: Only complete defined observables (#381) (a0a1355)

0.10.1 (2017-09-20)

Bug Fixes

  • missing dependency: Remove invalid package-lock file (aeeeb7b)

0.10.0 (2017-09-19)

Features

  • typescript: Add support for TypeScript mutation testing (#376) (ba78168)

BREAKING CHANGES

  • typescript: * Hoist the Mutator interface to a higher abstraction. With this interface it was possible to add mutators for specific ES5 AST nodes. As we're moving away from ES5, this plugin abstraction had to be hoisted to a higher level. It is no longer possible to plugin a specific ES5 node mutator.
  • Update report interface: Rename MutantState.Error => MutantState.RuntimeError.

0.9.3 (2017-09-09)

Bug Fixes

  • score-result: Wrap single file reports (#379) (986eb6b)

0.9.2 (2017-09-06)

Bug Fixes

  • init command: indent "stryker.conf.js" file after "stryker init" (52ac439)

0.9.1 (2017-09-04)

Bug Fixes

  • stryker-init: Stryker init won't create temp folder (#361) (a4333c9)

0.9.0 (2017-08-25)

Bug Fixes

  • MochaTestRunner: Exit with a warning if no tests were executed (#360) (ac52860)

Code Refactoring

  • change ConfigWriter interface name to ConfigEditor (#357) (ec4ae03)

BREAKING CHANGES

  • Public api for ConfigWriter is renamed to ConfigEditor. The corresponding write method is renamed to edit. If you're using custom ConfigWriter plugins you should rename the write method to edit. Please update the stryker-mocha-framework and stryker-karma-runner to the latest versions as they provide the new ConfigEditor plugin.

0.8.0 (2017-08-11)

Features

  • ci-integration: Configurable thresholds based on mutation score (#355) (93f28cc), closes #220
  • IsolatedTestRunner: Handle promise rejections (#351) (f596993)

0.7.0 (2017-08-04)

Features

  • ConfigReader: Inform about init command (#340) (7f3e61f)
  • html-reporter: Score result as single source of truth (#341) (47b3295), closes #335

0.6.7 (2017-07-14)

Bug Fixes

  • ts-2.4: Fix type issues for typescript 2.4 (#337) (c18079b), closes #337

0.6.6 (2017-06-16)

Bug Fixes

  • npmignore: Align npm ignores (#321) (db2a56e)
  • Manual version bump (a67d90b)

0.6.3 (2017-06-08)

Bug Fixes

  • intializer: Remove install of stryker itself (#317) (8b8dd30), closes #316
  • MethodChainMutatorSpec: Fix test name, so it matches the name of the mutator. (#313) (5e53982), closes #313

0.6.3 (2017-06-02)

Features

  • Mutators: Add Boolean substitution mutators (#294) (a137a97)
  • report-score-result: Report score result as tree (#309) (965c575)

0.6.0 (2017-04-21)

Bug Fixes

  • IsolatedTestRunnerAdapter: Don't kill processes using SIGKILL (#270) (f606e9d)
  • IsolatedTestRunnerAdapter: Improve error handling when test runner worker process crashes (#285) (2b4bda7)

Features

  • multi-package: Migrate to multi-package repo (#257) (0c2fde5)

0.5.9 (2017-03-01)

Bug Fixes

  • fileUtilsSpec: Fix test naming (#240) (f1321be)
  • IsolatedTestRunner: Fix channel closed error (#219) (202d4b5)

0.5.8 (2017-02-03)

Bug Fixes

  • bin/stryker: Changed file permissions on stryker so it's executable on Linux (#226) (c1a5798)
  • fs: Use graceful-fs instead of fs directly (#221) (4c1bf41)
  • typo: change not coverage to no coverage (f2c7198)

Features

  • ArrayDeclarationMutator: Add new mutator. (#229) (9805917)

0.5.7 (2017-01-16)

Features

  • append-only-progress: Implement new reporter (#213) (7b68506)

0.5.6 (2016-12-31)

Bug Fixes

  • InputFileResolver: Don't ignore all files (#210) (ef3dde4)

0.5.5 (2016-12-30)

Features

  • ClearTextReporter: Limit the number of tests (142de71)
  • ConfigReader: Look for stryker.conf.js in the CWD (#209) (d196fd3)
  • InputfileResolver: exclude online files from globbing (#194) (a114594)
  • lifetime-support: Remove 0.12 node support (38f72ae)
  • progress-reporter: Create new progress reporter (#202) (11c345e)
  • ProgressReporter: add new line after report (#193) (931c35f)
  • ts21: Upgrade to TypeScript 2.1 (#203) (4ce1d16)

0.5.4 (2016-12-15)

Features

  • es2015-promise: Remove dep to es6-promise (#189) (3a34fe1)
  • exclude-files: Exclude files with a ! (#188) (05a356d)
  • sandbox: Change cwd in Sandboxes (#187) (28e1e5d)

0.5.3 (2016-11-26)

Features

  • test-runner: Config for maxConcurrentTestRunners (492bb80)

0.5.2 (2016-11-21)

Bug Fixes

  • coverage: Make 'perTest' work with dry-run (d700f20)

0.5.1 (2016-11-20)

Bug Fixes

  • .npmignore: Add temp folder to npm ignore (07d1406)
  • istanbul: Add dependency to istanbul (729d770)

0.5.0 (2016-11-20)

Bug Fixes

  • clear-text-reporter: Fix a typo (0e009dc)

Features

  • cli: Add support for commands (#181) (fd824de)
  • one-pass-coverage: Support one-pass coverage measurement (#165) (1796c93)

0.4.5 (2016-10-29)

Bug Fixes

  • BlockStatementMutator: Not mutate empty block (#160) (da4a3cf)
  • stryker: Stop running if there are no mutants (#161) (8f68da8)

0.4.4 (2016-10-04)

Bug Fixes

  • line-endings: Enforce unix line endings (#152) (554c167)
  • MutantRunResultMatcher: False positive fix (#155) (255f84b), closes #155

Features

0.4.3 (2016-09-09)

Bug Fixes

  • bithound: Add bithoundrc with tslint engine (#117) (3b7e9f9)
  • deps: Set version of stryker-api (338d8ec)
  • isolated-test-runner: Support regexes (#146) (51b6903)
  • log4jsMock: Restore sandbox in log4js mock (#122) (4a88b58)
  • parserUtils: Add support for duplicate ast (#119) (b35e223)
  • StrykerTempFolder: Use local tmp folder (#121) (53651b2)
  • test-deps: Set version of stryker-api in it (a094e4b)
  • TestRunnerOrchestrator: Error in test run (#120) (b03e84b)
  • TestRunnerOrchestrator: Initial test run (#130) (a3c8902)
  • unittest: Fix merge error in TestRunnerOrchestratorSpec (1f6a05a)

Features

  • test-runner: Support lifecycle events (#125) (8aca3bd)
  • test-runner: Support lifecycle events (#132) (0675864)
  • unincluded-files: Add support for unincluded (#126) (916ae55)

0.4.2 (2016-08-09)

Bug Fixes

  • bithound: Add bithoundrc with tslint engine (#117) (3b7e9f9)
  • deps: Set version of stryker-api (338d8ec)
  • log4jsMock: Restore sandbox in log4js mock (#122) (4a88b58)
  • parserUtils: Add support for duplicate ast (#119) (b35e223)
  • StrykerTempFolder: Use local tmp folder (#121) (53651b2)
  • test-deps: Set version of stryker-api in it (a094e4b)
  • TestRunnerOrchestrator: Error in test run (#120) (b03e84b)
  • TestRunnerOrchestrator: Initial test run (#130) (a3c8902)
  • unittest: Fix merge error in TestRunnerOrchestratorSpec (1f6a05a)

Features

  • test-runner: Support lifecycle events (#125) (8aca3bd)
  • test-runner: Support lifecycle events (#132) (0675864)
  • unincluded-files: Add support for unincluded (#126) (916ae55)

0.4.1 (2016-07-22)

Features

  • test-runner: Support lifecycle events (#132) (bea5f11)

0.4.0 (2016-07-21)

Bug Fixes

  • bithound: Add bithoundrc with tslint engine (#117) (60191e3)
  • deps: Set version of stryker-api (aa51dc1)
  • log4jsMock: Restore sandbox in log4js mock (#122) (e3f3ce1)
  • parserUtils: Add support for duplicate ast (#119) (f7eda47)
  • StrykerTempFolder: Use local tmp folder (#121) (84790f2)
  • test-deps: Set version of stryker-api in it (e006ade)
  • TestRunnerOrchestrator: Error in test run (#120) (564f15c)
  • TestRunnerOrchestrator: Initial test run (#130) (7f0b26a)
  • unittest: Fix merge error in TestRunnerOrchestratorSpec (55afd5e)

Features

  • test-runner: Support lifecycle events (#125) (6c0e229)
  • unincluded-files: Add support for unincluded (#126) (c66e380)

0.3.2 (2016-04-28)

0.3.1 (2016-04-17)

0.2.1 (2016-04-14)

0.2.0 (2016-04-08)

0.1.0 (2016-03-24)