Skip to content

Latest commit

 

History

History
482 lines (217 loc) · 23.4 KB

CHANGELOG.md

File metadata and controls

482 lines (217 loc) · 23.4 KB

Change Log

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

3.3.1 (2020-07-04)

Bug Fixes

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

3.3.0 (2020-06-16)

Features

3.2.4 (2020-05-18)

Bug Fixes

  • ts: support ts 3.9 on windows in the typescript-transpiler (#2215) (0fab74f)

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)

Bug Fixes

3.2.0 (2020-05-13)

Bug Fixes

  • utils: make sure instanceof StrykerError works (a9dea8c)
  • webpack-transpiler: add support for cache-loader (#2196) (0bcf98b)

Features

  • api: Deprecated Config in favor of StrykerOptions (dccdd91)
  • api: export the StrykerOptions JSON schema (0bb222d)
  • init: add reference to mono schema (#2162) (61953c7)
  • Jest: support overriding config (#2197) (d37b7d7), closes #2155
  • 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)

Features

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)

Bug Fixes

3.0.0 (2020-03-11)

Bug Fixes

Features

  • api: Document StrykerOptions in JSON schema (4bdb7a1)
  • config: Allow a stryker.conf.json as default config file. (#2092) (2279813)
  • core: exit code 1 when error in initial run (49c5162)
  • Dashboard reporter: upload full html report by default (#2039) (e23dbe1)
  • 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
  • jest-runner: support Jest 25 (b45e872), closes #1983
  • karma-runner: disable client.clearContext (#2048) (27c0787)
  • karma-runner: use ChromeHeadless as the default browser (#2035) (18bf9b6)
  • 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.
  • karma-runner: The @stryker-mutator/karma-runner will now use ChromeHeadless by default (instead of PhantomJS)
  • 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"]
}
  • Dashboard reporter: The dashboard reporter will now upload a full report by default. If you don't want that, you can disable it with:
{
  "dashboard": {
    "reportType": "mutationScore"
   }
}
  • 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)
  • arrow mutations: add arrow mutations and refactor JavaScript mutators (#1898) (898d38b)
  • TypeScript mutator: mutate Array constructor calls without the new keyword (#1903) (aecd944), closes #1902

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)
  • perf/angular-cli: upgrade to latest angular version and fix bugs (#1842) (4f81550)

Features

  • babel-transpiler: support object-style babel.config.js (#1762) (31410c8)

2.2.1 (2019-11-06)

Note: Version bump only for package stryker-parent

2.2.0 (2019-11-06)

Bug Fixes

  • edge cases, duplication, log output (#1720) (7f42d34)
  • jest-runner: improve error message for missing react-scripts (#1694) (313e3bf)
  • tempDir: don't resolve temp dir as input file (#1710) (bbdd02a)

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)
  • typescript: do not mutate interfaces (#1662) (86b2ffe)

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)

Bug Fixes

  • vue: only mutate Vue files with <script> blocks (#1540) (ee4d27c)

Features

BREAKING CHANGES

  • es2017: changed TypeScript output target from es5 to es2017. This requires a NodeJS runtime of version 8 or higher.
  • node 6: support for Node 6 has been dropped. Node 8 or higher is now required.
  • mocha: the use of mocha version 5 and below is deprecated. Please upgrade to mocha 6 or above. See their changelog for more information about upgrading.

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

Features

1.2.0 (2019-04-02)

Bug Fixes

  • deps: add mutation-testing-report-schema (3d40d91)
  • typescript: don't mutate declare statements (#1458) (aae3afe)

Features

  • babel-transpiler: support .js babel config files (#1422) (9e321f0)
  • html-reporter: use mutation-testing-elements (2f6df38)
  • peer-dep: update stryker core to v1.2 (d798b19)
  • reporter: add mutationReportReady event (044158d)
  • reporter: implement mutationTestReport (16ba76b)

1.1.1 (2019-03-21)

Bug Fixes

1.1.0 (2019-03-04)

Bug Fixes

  • duplicate files: make transpile always result in unique file names (#1405) (a3018d2)
  • presets: install v1.x dependencies instead of v0.x (#1434) (7edda46)

Features

1.0.3 (2019-02-26)

Bug Fixes

  • jest-runner: mark 'todo' tests as skipped (#1420) (26d813f)

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)

Bug Fixes

  • api: remove implicit typed inject dependency (#1399) (5cae595)