Skip to content

Latest commit

 

History

History
1369 lines (648 loc) · 110 KB

CHANGELOG.md

File metadata and controls

1369 lines (648 loc) · 110 KB

4.4.1 (2024-11-11)

Bug Fixes

  • Simplify embedding the Microsoft.TestPlatform.Portable nupkg (#3105) (5f6b089), closes #3103

4.4.0 (2024-11-08)

Bug Fixes

  • embedded resources: Use concurrent dictionnary for resource cache (#3095) (b3f0ef0)
  • reference alias: Properly support PackageReference Alias (#3070) (d1a9ade)
  • top-level statements: Fix issue with global statements (#3087) (96d7c8c)

Features

  • Add string mutators for LastIndexOf and IndexOf. (#3054) (3f6e3ad)
  • Mutators: Add Collection Expression Mutator (#3082) (4ba906b)
  • nuget: Make nuget restore errors non fatal (#3072) (b7f9cca)

4.3.0 (2024-10-14)

Bug Fixes

Features

  • Respect specified target framework only if this results in a valid version (#3039) (85a4384)

4.2.0 (2024-09-13)

Bug Fixes

  • Disable debug trace (#3000) (12c8799)
  • Escape test case filter before passing to VsTest (#2991) (afab19d)
  • ignore-methods: Support async expressions (#3010) (9facfcc)
  • real-time-reporting: missing mutants when running in solution mode (#2989) (55ab462)
  • real-time-reporting: Properly handle when browser is closed during mutation testing (#2985) (963225d)

Features

  • ignore mutation: Add support for ignoring mutations in code using mutiline string comments (#3028) (481ce6f)
  • mutating: constant patterns (#2992) (83349de)

4.1.0 (2024-07-08)

Bug Fixes

  • Improve IgnoreMethod filter mutation search (#2965) (0369d3b)
  • Improve MsBuild detection (#2975) (f6df01a)
  • since: Retest all mutants covered by tests for which we cannot determine the filepath (#2753) (c68c46c)
  • Strengthen azure sas parsing (#2978) (f718818)

Features

4.0.6 (2024-05-25)

Bug Fixes

  • delegate handling: NullReferenceException when mutating parameterless delegates (#2926) (5223ec5)
  • Logging of unexpected test case could result in a crash (#2929) (#2931) (1db4b6c)
  • mutator: issue where non-nullable fields were swapped by NullCoalescingExpressionMutator (#2915) (2af2947)

4.0.5 (2024-04-26)

Bug Fixes

  • Concurrency issue with MutantPlacer (#2914) (fae558c), closes #2916
  • support generic method calls for ignoremethodfilter (#2918) (26f299a)
  • Support mutating anonymous methods (a.k.a delegate) properly (#2898) (ead50c3)

4.0.4 (2024-04-05)

Bug Fixes

  • Use ConcurrentBag instead of List to prevent InvalidOperationException during mutation (#2901) (181a927)

4.0.3 (2024-03-29)

Bug Fixes

  • Forward build options to code analyzers and generators (#2891) (d93b08c)

Reverts

  • Revert publish and "chore(performance): Parallel testinit" (#2896) (b45f64f), closes #2896 #2894

4.0.2 (2024-03-20)

Bug Fixes

  • Conditional access mutations could lead to unrecoverable NullReferenceException in compilation (#2888) (eb8167a)

4.0.1 (2024-03-15)

Bug Fixes

  • Ensure MutationControl compiles with 'nullable' enabled (#2869) (0fbd340)
  • Improve build, restore and test (#2845) (a14b64b)
  • Refactor C# mutation orchestration to a simpler design (#2831) (02c8258)
  • Support test projects with shared source file (#2875) (e681367)

4.0.0 (2024-02-16)

Features

  • reporters: add support for real-time reporting in DashboardReporter (#2563) (1ab3f29)
  • target framework: Update dotnet target framework from 6 to 8 (#2851) (9a978e6)

3.13.2 (2024-01-25)

Bug Fixes

  • null-forgiving operator: Mutation leak with SuppressNullableWarningSyntax constructs (!.) (#2826) (469e3f6)
  • real time reporting: Whitespace in report data no longer removed (#2821) (2cb16a9)
  • Stryker fails if project has conflicting settings regarding warnings (#2828) (c2583e0)

Reverts

3.13.1 (2024-01-05)

Bug Fixes

  • Make sure to select valid IAnalyzerResult from Buildalyzer (#2811) (70adc60), closes #1900

3.13.0 (2023-12-22)

Bug Fixes

  • ignore-methods: Adjust IgnoredMethod filter to more consistent results (#2689) (ceea82d)

Features

3.12.0 (2023-11-22)

3.11.1 (2023-10-31)

Bug Fixes

  • Support recursive mutant removal (#2739) (00621ec)
  • Validation on Since enablement when Baseline is also enabled (#2744) (dfbf510)

3.11.0 (2023-10-27)

Bug Fixes

  • Don't fail the test run if restoring test assemblies fails (#2664) (0ba3f77)
  • ignore-methods null conditional: Enable filtering null-conditional method invocations by name (#2657) (16e2d16)
  • input validation: Only validate baseline configuration when baseline is enabled (#2729) (6a37ac3)
  • Remove usings from MutantControl (#2694) (03f9913)
  • Support case insensitive reference resolution (#2719) (00f9a12)
  • Use solution file when it's available (#2690) (4696956)

Features

  • baseline: Support large reports in azure file share (#2588) (4d6dd37)
  • baseline: Validate mutual exclusivity of explicit --since and --with-baseline options (#2723) (47b3739)
  • real-time reporting: Queue mutants before client connects (#2722) (e2ce014)
  • Retry build with msbuild when dotnet build fails (#2698) (b32cef2)

3.10.0 (2023-07-28)

Bug Fixes

Features

  • assembly reference resolving: Support reference aliases (#2604) (1cec405)
  • buildalyzer: Provide msbuild log when buildalyzer fails analysis (#2605) (2849911)
  • reporting: Update mutation-testing-elements to 2.0.3 which adds a progress bar (#2614) (dfe7559)

3.9.2 (2023-06-09)

Bug Fixes

  • report: Use fullPath for file name in json and html report (#2567) (353bde5)

3.9.1 (2023-06-09)

Bug Fixes

  • exception when source files in more than one test project (#2542) (e280f32)
  • testrunner: fix scenario where vstest would hang if no tests were detected (#2550) (e77dc26)

3.9.0 (2023-05-12)

Bug Fixes

  • reporting: More reliable auto-open browser (#2523) (6e5f386)

Features

  • html report: Update mutation testing elements to 2.0.1 (#2514) (c116bd9)
  • Record for each unit test which mutant they kill (#2491) (da7cffd)
  • solution mode: Improve solution handling (#2400) (6b48029)

3.8.2 (2023-05-07)

Bug Fixes

  • tests report: Correctly parse test files with preprocessor symbols (#2502) (86b4720)

3.8.1 (2023-05-05)

Bug Fixes

  • baseline: json reports with testfiles are now correctly deserialized (#2498) (38793e1)

3.8.0 (2023-05-04)

Bug Fixes

  • initial-build: add quotes around buildCommand when necessary (#2455) (7689a6e)

Features

3.7.1 (2023-03-23)

Bug Fixes

  • String mutations: Generate empty string mutations parenthesized (#2447) (0650cb1)

3.7.0 (2023-03-20)

Bug Fixes

  • dashboard reporter: Print the -o hint in actual cyan instead of the literal markup (#2406) (e8cfa7d)
  • StringMutator: don't mutate strings in Guid ctor (#2428) (1baa6ca)

Features

  • MutantFilters: Ignore Block mutations for blocks that already contain active mutants (#2382) (d912c9b)
  • string mutations: Add string.IsNullOrEmpty and string.IsNullOrWhiteSpace mutations (#2429) (47b6745)
  • Try loading embedded resources from on-disk module before generating (#2433) (e919891)

3.6.1 (2023-02-17)

Features

  • embedded resources: Support embedded resources outside the root of the project (#2414) (59fa56f)

3.6.0 (2023-02-10)

Bug Fixes

  • embedded resources generation: Use buildalyzer to find root namespace and embedded resources (#2404) (a4969ff)

Features

  • html report: Update mutation testing elements to 1.7.14 (#2405) (98ad817)

3.5.1 (2023-02-06)

Bug Fixes

  • dashboard reporter: fix dashboard publishing when the project name is computed (#2397) (7395b2b), closes #1710

3.5.0 (2023-02-06)

Bug Fixes

  • no test projects: null-reference exception when no test projects are found (#2377) (419a8a7)
  • NullCoalescingExpressionMutator: Don't generate certain mutants when right hand side is ThrowExpression (#2387) (#2389) (e344382)

Features

  • embedded resources: Improve extraction of embedded resources (#2383) (43c2918)

3.4.0 (2022-12-23)

Bug Fixes

  • nugetrestore: use MsBuild option during nuget restore (#2359) (892b69c)

Features

  • pattern mutations: Mutator for relational and logical patterns in is\switch expressions (#2313) (70ded11)

3.3.0 (2022-12-09)

Bug Fixes

  • GitDiffProvider: remove stryker-config exclusion. (#2338) (53286d3)
  • Solution context run: Allow relative path for solution file (#2333) (01fbf8a)

Features

  • mutators: Add new methods to LinqMutator (#2329) (bdec359)
  • mutators: Add null-coalescing operator mutator (#2284) (dc7c513)
  • solution context run: discover solution file (#2340) (52bc645)

3.2.0 (2022-11-21)

Features

  • Support csharp 11 (#2318) (7b23fa5)
  • Use available target framework if chosen target framework is not found (#2322) (46435cd)

3.1.0 (2022-11-11)

Bug Fixes

  • assignment statement mutator: Add trivia between operands (#2276) (9b09b2d)
  • compilation: Align source generator options to main compilation options (#2301) (3442a8f)
  • mutator description: multiple mutator descriptions (#2277) (f6d605b)
  • PrefixUnaryExpression mutator: Handle mutations of prefixed increment/decrement (#2285) (5de6109)
  • Project filter: Project filter should work on Macos (#2212) (b283f6a)
  • reporting: Correctly show whitespace in report (#2289) (92d9e5a)
  • reporting: Spaces in the output path are supported for the auto open report option (#2264) (dd55cb2)
  • rollback whole constructor if compile error mutation location cannot be found (#2250) (a8069a7)
  • since: correctly classify changed files as source or test files (#2256) (89f04fe)
  • TestCaseFilter: Use null instead of empty string for parameter (#2254) (5b6f288)

Features

  • assignment mutator: Mutate coalesce assignment operations (#2274) (c733ffe)
  • InitializerMutator: Add object initializer mutator (#2259) (f5bd19b)
  • mutators: Add Math methods mutator (#2244) (34a87c9)
  • reporting: Specify output path for reports and logs (#2267) (bba21d3)
  • Run on complete solution: Run stryker on all projects in a solution (#2234) (1a0b274)

3.0.1 (2022-09-16)

  • html reporter: Fix Spectre.Console link escaping by updating Spectre.Console (#2108) (e207047)

3.0.0 (2022-09-07)

Bug Fixes

  • azure-fileshare-baseline: Use full SAS token format instead of making assumptions and transformations on the token (#2149) (9c0694e)
  • Stryker not properly flagging mutant as TimedOut (#2143) (3299c18)

Features

  • initial test: Configure stryker to fail when initial testrun fails (#2151) (9c47a4b)

BREAKING CHANGES

  • azure-fileshare-baseline: SAS must contain sv= and sig= to be valid. SAS without sv= are no longer transformed to valid SAS.

2.2.0 (2022-08-22)

Features

  • reporters: Markdown File Summary Reporter (#2138) (0ac8347)
  • testrunner: Diagnose failed test discovery and provide fix hints (#2139) (90971a2)

2.1.2 (2022-08-05)

Bug Fixes

  • exception logging: Log vstest exceptions instead of swallowing (#2123) (fc95813)

2.1.1 (2022-08-03)

Bug Fixes

  • coverage analysis: static mutants not marked as needing all tests (#2121) (f120710)

2.1.0 (2022-07-26)

Bug Fixes

  • baseline: increase compatibility of azure file share provider with older SAS keys (#2115) (7639793), closes #2114
  • Console print: Escape paths with Spectre.Console to prevent Exception (#2113) (11d627c)
  • Ignore mutants comments: Stryker properly ignores mutants with comments on static fields (#2088) (cb40c0a)

2.0.0 (2022-06-01)

Bug Fixes

  • initialisation: Improve error message when no analyzer results are found (#2037) (6ad8afb)
  • initialisation: Improve error messages when we fail to correctly analyze the project (#2030) (305a713)
  • reports: Fix issue with relative paths that miss the root folder (#2055) (4698513)

1.5.3 (2022-05-03)

Bug Fixes

  • baseline: fixed issue where invalid header was used for creating azure fileshare file (#2027) (7901c33)
  • reporters: support spaces in report pathname (#2010) (1bc8afa)
  • since: Add possibility to specify a git tag for the since.target option (#1994) (12e3d9b)
  • testrunner: Add default timespan for not executed duplicated xunit tests (#2020) (2cbbfcd)

1.5.2 (2022-04-21)

Bug Fixes

  • ignore-mutations: Support mutator names as well as descriptions (#2006) (f3fb5c6)
  • testrunner: Properly handle execution time for xUnit theories (#2004) (92aec17)

1.5.1 (2022-04-12)

Bug Fixes

  • baseline: potential InvalidOperationException: Sequence contains no elements (#1993) (f3260f4)
  • mutating: Better support for mutating local function (#1987) (6491298)
  • properly restore storage context when leaving anonymous function. Fix some NREs and mutation loss (#1980) (302c9d9)
  • testrunner: Improve handling of frozen VsTest runners (#1977) (1d3310b)

1.5.0 (2022-03-15)

Bug Fixes

  • filters: ExcludeFromCodeCoverage not working when justification is given (#1964) (a562149), closes #1957

Features

  • reporting: Make links clickable in terminals that support Ansi magic (#1936) (54b9872)

1.4.2 (2022-03-05)

Bug Fixes

  • regex mutations: Revert inclusion of referenced projects because transitive dependencies are not included (#1950) (69a80ee)

1.4.1 (2022-03-04)

Bug Fixes

  • packaging: Include referenced projects in nupkg (#1947) (e7427ce)
  • Rollback: Null Reference Exception during mutation rollback (#1940) (5b71ad0)

1.4.0 (2022-03-02)

Bug Fixes

Features

  • Allow specifying test projects as commandline arguments (#1929) (072b456)

1.3.1 (2022-01-21)

Bug Fixes

  • stackoverflow exceptions due to ignoredmethods filter (#1879) (bdd8692)

1.3.0 (2022-01-20)

Bug Fixes

  • block mutator no longer mutates case section (fe9ca13)
  • mutation testing for self-contained apps (#1868) (9ce18d1)
  • order of mutation roll back is now correct (a4d2c1c)

Features

  • Ignoredmethod filters now properly filters out method and block mutations (fea6d6e)

1.2.2 (2022-01-11)

Bug Fixes

  • Indexer methods: Prevents rollback on indexer methods (#1843) (ecb6df9)
  • Project filter: Project filter works with both forward and backward slashes (#1819) (6a6f302)
  • Reporters: Stryker no longer throws exception on no mutants found (#1833) (991497a)
  • reporting: Result status reason was filled with NotRun for mutants that were run (#1851) (d8292b9)

Reverts

1.2.1 (2021-12-15)

Bug Fixes

  • Load preprocessor symbols: Correctly load preprocessor symbols so they can be used (#1836) (58bc927)

1.2.0 (2021-12-10)

Bug Fixes

  • Assembly resolving: Embedded resources resolving no longer uses Immediate mode. Fixes Xamarin support. (#1816) (c1e5087)

Features

  • html report: New diff view in HTML report (#1818) (9b5ac6c)
  • reporting: Open dashboard report with --open-report (#1795) (75cbec2)
  • reporting: Report when a mutant is in a static context (#1820) (f267b61)

1.1.0 (2021-11-16)

Bug Fixes

  • baseline: Use regular fallback version as well as baseline fallback version (#1800) (c65dd78)
  • inline ignore mutations: Trailing whitespace is ignored during disabled comment parsing (#1786) (8d4c5b0), closes #1776 #1781
  • options: Auto enable baseline reporter when baseline is enabled (#1799) (24131cc)
  • reporting: Generate mutation reports even if there are no mutants to test (982c30d)
  • since: Mutants ignored from source code comment are no longer re-enabled by the since filter (#1804) (b0f5fbb)

Features

  • configuration: Option to set report file name (#1755) (2a1c564)
  • reporting: Add option to automatically open the mutation report in the browser (#1750) (6b2ec48)
  • Support csharp10 syntaxes (#1792) (a7d401b)

1.0.1 (2021-11-02)

Bug Fixes

  • block mutator: Prevent false positives from block mutations (#1759) (769ee79)
  • Ignore mutations: Ignoring statement mutations is now possible (#1764) (42a0a7e)
  • version undefined: Remove version suffix "undefined" from stryker version (#1765) (e4d4f9d)

1.0.0 (2021-10-30)

Bug Fixes

  • Dashboard baseline project name and version are not set (#1710) (e2523e4)
  • Disable copying to clipboard when using Verify framework (#1709) (ccfb1a2)
  • Ignore methods input was not read from config file (#1742) (4924379)
  • Improve errors messages when configuration contains invalid config keys (#1707) (89d6379), closes /github.com/microsoft/vstest/issues/2488#issuecomment-932036883
  • initialization: allow running stryker on the project under test from an unrelated working directory (#1708) (b7884f8), closes #1039
  • Loading Source Generators no longer leads to errors on loading unrelated Analyzers (#1703) (60a3eaf)
  • options: change logic that determines if the dashboard is enable… (#1688) (e7b1dfa)
  • Set the project name option if input is supplied even if the dashboard reporter is not turned on (6c982b2)
  • Set the project version option if input is supplied even if the dashboard reporter is not turned on (9e5579f)

Features

  • Allow failing tests: Failing tests are now allowed during the initial testrun (#1542) (2a26b2b)
  • Block removal mutator: Add block removal mutator (#1717) (13ed1ab)
  • Cache and restore unmutated assembly so rebuild is not needed after mutation test (#1516) (2987df5)
  • dashboard reporter: Retrieve the project name and version from the project under test using source link (#1663) (6eec110)
  • filtering: Mutation can be controlled at the source code level (#1583) (bd3fc4e)
  • ignore-mutations: Allow ignoring specific linq mutations (#1660) (84d3995)
  • initial-build: Allow custom msbuild path (#1363) (64c99ee)
  • multi-target: Prepare project analyzer for multi-target support (#1495) (9f443b9)
  • Rework how stryker consumes options (#1273) (35d8c24)
  • statement mutator: Add mutator that removes statements (#1472) (feacbc9), closes #1470 #1470 #1470 #1470
  • String mutations: Don't mutate strings as string literal when they contain regex (#1746) (f6662d4)
  • target-framework: Add an option to specify target framework (#1684) (83d2beb)
  • testrunner: Filter which unit tests are used during mutation test (#1669) (7e74862)
  • update targetframework from netcoreapp3.1 to net5.0 (#1462) (b02a0bb)

BREAKING CHANGES

  • All options have been reworked. Your existing commandline and json config will most likely no longer work.

Co-authored-by: Caspar van Doornmalen [email protected] Co-authored-by: Richard Werkman [email protected] Co-authored-by: Richard Werkman [email protected] Co-authored-by: Sakari Bergen [email protected] Co-authored-by: Peter Semkin [email protected] Co-authored-by: Richard Werkman [email protected]

0.22.11 (2021-09-17)

Bug Fixes

  • downgrade some exceptions to reduce noise due to analyzes (#1678) (1cba077)

0.22.10 (2021-08-25)

Bug Fixes

  • Allow setting threshold break to 100 (#1674) (4cd1945)
  • Return exit code 2 for threshold break violations (#1673) (6da4e7d)

Features

  • mutation engine: Add full support for local functions (#1664) (b689358)

0.22.10 (2021-08-25)

Bug Fixes

  • Allow setting threshold break to 100 (#1674) (4cd1945)
  • Return exit code 2 for threshold break violations (#1673) (6da4e7d)

0.22.9 (2021-08-03)

Bug Fixes

  • Ignore methods: Allow ignoring mutants of fully qualified method names (#1635) (ddfc72f)

0.22.8 (2021-07-26)

Bug Fixes

  • Compiling: Added support for C# source generators. (#1617) (98c7669)

0.22.7 (2021-07-10)

Bug Fixes

  • Diff feature: Coverage analysis filter overwrites Ignored mutant statuses while it should ignore them (#1586)

0.22.6 (2021-06-30)

Bug Fixes

  • Conversion operator: Stryker won't break anymore when using conversion operator (#1613) (a09f2cc)

0.22.5 (2021-06-22)

Bug Fixes

  • Dotnet 5 support: net5.0 version parsing (#1592) (a92fa86)
  • Ignore method: Ignore method when not called on an object (#1579) (eb87d07)

0.22.4 (2021-05-14)

Bug Fixes

  • Improve reliability of embedded resources resolving (#1564) (6991b60)
  • baseline: Allow valid version strings like 2.0.0 (#1514) (b740bba)
  • baseline: Azure fileshare uses projectname as output path if specified (#1526) (de8940a)
  • filtered mutants reporter: OnMutantsCreated was executed before filtering mutants (64b4ace)
  • mutation orchestration: rollback of helpers and faulty array initializers to prevent unrecoverable compile errors (#1530) (2b6af15)
  • rollback: rollback mutation in expressions that cause build error(s) (#1539) (83a8082)
  • Automatically disable DiffEngine when running tests (#1523) (c37fafc)

0.22.3 (2021-04-17)

Bug Fixes

  • baseline: Allow valid version strings like 2.0.0 (#1514) (b740bba)

0.22.2 (2021-04-15)

Bug Fixes

  • mutating: Place yield return instead of yield return default(type) for yield break (f791ad6)
  • Default vstest extensions are no longer required on the filesystem (#1500) (554bc38)

0.22.1 (2021-03-22)

Bug Fixes

  • solution run: Fix NPE on solution runs (#1479) (5cdac27)
  • local declaration mutations are promoted from statement to block level mutations (#1427) (c440de0), closes #1368 #1423

0.22.0 (2021-03-05)

Bug Fixes

  • Support newer operating systems with git diff (#1459) (48a1ae2)
  • Diff feature: Diff feature could not be enabled (#1458) (782302f)
  • mutation placing: mutations may leak between body formed methods/properties (#1389) (91dbb8b)
  • reporting: report on mutations to test after filtering out mutations we should not test (#1398) (1523a01)

Features

  • Clickable file paths: filepaths will be detected by supported terminals (#1403) (f24d55c)
  • Filtered mutant reporter: Move FilterMutations status logging to reporter so the logging can be turned off (#1275) (68591ec)
  • json report: Add absolute path to json report #1154 (#1267) (8b72975)
  • progressbar reporter: Switch to ShellProgressBar for console progress bar report (#1286) (3fa0c68)

0.21.1 (2021-01-23)

Bug Fixes

  • MutantFilters: Fix mutant filters were not being called (#1378) (4314bad)

0.21.0 (2021-01-20)

Bug Fixes

  • dashboard compare: prevent NPE for compiler error mutants (#1293) (7d4d023)
  • dashboard compare: verify the name of target branch (#1305) (528bff6), closes #1303
  • diff: improve the change test filter (#1306) (eccb48f), closes #1304
  • filter mutants: do not pass Compile Error mutants to filters (#1295) (#1298) (21197a4)

Features

0.20.0 (2020-10-19)

Bug Fixes

  • diff compare: allow canonical branch name as diff target (#1210) (0b9659f)
  • git diff: exclude stryker generated files (#1199) (4c1a749)
  • git diff filter: Gitignore was incorrectly placed causing strykeroutput to show in diff filter (#1235) (fa88bda)
  • git diff filter: Set mutants for unchanged files to Ignored if they have status NotRun (#1243) (29219e4)

Features

  • support .net5 and newer targetframeworks (#1213) (92b3253)
  • clear text reporter: Table report for clear text reporter (#1242) (e19332d)
  • cleartext reporter: Improve directory structure of cleartext console report (#1239) (5cb522b)
  • Dashboard Compare: Add git diff file ignore (#1206) (72d1473)
  • Mutation levels: Add mutation levels (#987) (2f0543e)

0.19.0 (2020-09-04)

Bug Fixes

  • Const mutation warning: Don't mutate const local declaration (#1183) (dde8e2b)
  • Mutation compile errors: Redesign mutation logic (#1172) (3ddb251)
  • Stackalloc arrays: Mutate stackalloc arrays correctly (#1133) (1a7416b)
  • SwitchExpressions: Don't mutate constant value in SwitchExpression (#1176) (e62c7d3)

Features

  • Added linq mutations: Added linq Union and intersect mutation. (#1182) (edf7ebb)
  • dashboard compare: Save mutation testing result in stryker dashboard to re-use in later run (#1067) (c9a986d)
  • dashboard compare: test the mutants which are covered by unit tests in changed test files (#1101) (e847896)
  • Regex mutations: Add mutations on regular expressions (#1123) (45da048)

0.18.0 (2020-05-07)

Bug Fixes

  • Statics coverage analysis Add statistics message (#1000) (0ae3f16), closes #999
  • Enum mutations warning: Avoid mutating enum member declarations (#1017) (abc51ce)

Features

  • Collection initializer mutator: Add mutator for collections and arrays (#1023) (863b56a)
  • Compiling: Support for project output types other than console app (#1028) (c2d08ca)
  • Core3.1: Upgrade to dotnet core 3.1 (#785) (92283b5)

0.17.1 (2020-03-24)

Bug Fixes

  • Dashboard reporter: Show http response content in error message (#997) (9ab91b2)
  • Threshold break: Threshold break calculation should use percentage (#1004) (facd51a)

0.17.0 (2020-03-21)

Bug Fixes

  • Assignment expression mutator: Add ExclusiveOrAssignment mutations to replace incorrect OrAssignment mutation (#994) (322cb1a)
  • Cleartext reporter: Re-add mutation score after a mutation testrun (#993) (e0878b1)
  • While true bug: Return default(T) for non-void methods (#958) (839d1f8)

Features

  • Coverage analysis: Use coverage analysis to determine mutations that can be active at the same time (#936) (c0e5f35), closes #760 #820
  • File resolving: Skip auto generated code from mutation (#995) (2798e36)
  • Html reporter: Update to mutation testing elements 1.3.0 (#963) (715c30b)
  • Mutation exclusion: Exclude mutants with ExcludeFromCodeCoverage attribute (#964) (aecc057)
  • Mutation placing: Add support for mutating static expression bodied constructors (#960) (56a05e2), closes #959

0.16.1 (2020-02-21)

Bug Fixes

  • Project discovery: discover the project under test correctly (#957) (c15880c)

0.16.0 (2020-02-08)

Bug Fixes

  • Rollback: Only crash out of stryker run after last rollback retry attempt (#930) (73a4255), closes #929

Features

  • Dotnet platform: Enable roll-forward on major versions for CLI tool (#786) (ff78740)
  • Initialisation: Fail gracefully on incorrect targetframework in csproj (#872) (aeac039), closes #681
  • Multiple test projects: Add more than one test project support (#830) (54888af)
  • use buildalyzer to identify source files (#898) (f2f219d)
  • Parallelism: Allow more parallel testrunners than logical processors despite performance impact (#906) (c1c6c7b)
  • Reporters: Enable Html reporter by default (4e966c2)

Reverts

  • Revert "build(deps): bump Microsoft.TestPlatform.Portable (#918)" (8cd6141), closes #918

0.15.0 (2019-12-20)

Bug Fixes

  • Mutating: Don't negate IsPatternExpression and properly rollback Accessor methods (#846) (69d7a71), closes #820

Features

  • Coverage analysis: Implement defensive heuristics to cover when incorrect number of dynamic test cases are reported by testframework (#852) (470b08e), closes #820 #843 #843
  • Dashboard reporter: Add dashboard reporter (#849) (7764472)

Reverts

0.14.3 (2019-12-05)

Bug Fixes

  • Compilation: Compile with AssemblyIdentityComparer compilation option (#828) (6eb3c16)
  • Targetframeworkversion extraction: Correctly extract aggregated framework versions (#827) (85bdc99)

0.14.2 (2019-11-28)

Bug Fixes

  • Vstest: Correctly determine targetframework for vstest configuration (#822) (cd2c7ff)

0.14.1 (2019-11-20)

Bug Fixes

  • Coverage analysis: The name 'AppDomain' does not exist in the current context (#789) (d53686c)

0.14.0 (2019-11-15)

Bug Fixes

  • Linq mutator: mutate linq query containing conditional access operator (#761) (d018b97), closes #760
  • Logging: Use non-generic non-reflection ILogger.Log to log startup logging (#744) (64449c1)

Features

  • Bitwise mutations: Add bitwise mutator (#755) (c684268)
  • Git diff: Mutate only changed files based on git diff (#708) (34371c9)
  • Negate mutator: Add new negate mutations (#773) (8879654)
  • Csharp8.0 nullable: Compile with c# 8 nullable feature enabled (#745) (df11a97)

0.13.0 (2019-09-06)

Bug Fixes

  • AbortTestOnFail: Make Abort test on fail option available from commandline (#627) (3008e33)
  • Signed assemblies: Accept relative paths in signed assembly key (#677) (d8f1103)
  • Vstest: Change deployment of vstest package according to package structure change (#685) (41c759e)
  • VsTestRunner NPE: Use ConcurrentBag with eventhandler instead of queue with monitor (#629) (1b1d60f)
  • Handle warnings in compilation diagnostics (#705) (7863669)

Features

  • Default coverage analysis: Coverage analysis default perTest (#693) (1b50795)
  • Html report: Update html-elements to 1.1.1 (#679) (8377aad)
  • Ignore methods: Allow users to specify methods that should be ignored when mutating their parameters (#646) (8b7d1fa)
  • Language version: Allow users to set c# language version used.(#568) (a78040e), closes #557
  • MutateArgument: Allow the user to specify which files to mutate. (#662) (155945d), closes #1 #2
  • NoCoverage status: Add NoCoverage result status to reporting (#675) (2a01fdd)
  • Specify test project: Specify test project at any path relative to the working directory. (#588) (5e916d2)
  • Fail gracefully when compile diagnostics indicate a general build error (#649) (8bab554)
  • Statics coverage analysis: Identify 'static' mutants to make sure they are properly tested (issue #623) (#636) (884e81d)
  • String mutator: Mutate string.Empty to string literal "Stryker was here!" (#653) (d699204)
  • Testcases discovery: Remove unreliable totalnumberoftestsparser (#566) (4f54d3f)
  • Testrunner: Set VsTest as default testrunner (#617) (c1c90d0)
  • Vstest.console exceptionhandling: Restart vstest.console and retry testrun on translationlayer exception (#676) (17b3434)

0.12.0 (2019-07-01)

Bug Fixes

  • Multiple nuget.exe paths: Choose first nuget.exe path found. (#540) (8635d6e)
  • Shared projects: Only include .projitems files in shared projects import (#479) (8f21ce1)
  • Total number of tests parser: Improved parsing of total number of tests in test result. (#556) (0e35f1a)
  • system.memory dependency issue by bumping dotnet core version to 2.1 (#245) (3b35d90), closes #234

Features

  • Additional timeout: Decrease default additional timeout value to 5000 (#567) (f0903d7)
  • Coverage analysis: Implement coverage analysis with vstest (#506) (3858bbc)
  • Update check: Add version updates check (#612) (a6c940a)
  • Add assignment statement mutator (955d871)
  • add PrefixUnaryMutator and PostfixUnaryMutator (3c7242c)
  • Checked mutator (375c040)
  • Support for timeouts (#25) (eb56899)

0.11.0 (2019-05-10)

Bug Fixes

  • Project File Analyzer: Improve solution path error message (#460) (ba5e4a2)
  • Reporter names: Improve reporter names (#504) (3648cbe)
  • Rollback failed logging: Improve error messages for rollback process (#478) (b1dd875)
  • Shared projects: Only include .projitems files in shared projects import (#479) (8f21ce1)

Features

  • Compiling: Compile assembly version information (#482) (f813f25)
  • Compiling: False positive detection (#481) (0918e22)
  • Mutations: negate mutator (#451) (a4630d0)
  • Report json: support html tags in source code and update html report to 1.0.5 (#443) (4b64821)
  • Rollback mutations: Recompile 100 times (#473) (4530ff5)
  • Xamarin support: Run stryker.net on xamarin projects (#488) (d2b6010)

0.10.0 (2019-04-05)

Bug Fixes

  • Handeling statements: ForStatements and ExpressionStatement mutated correctly (#413) (e1a654a), closes #411 #412

Features

0.9.0 (2019-03-09)

Bug Fixes

  • Declaration pattern: Support DeclarationPattern (#350) (9490e90)
  • Double mutations: On invocation expressions (#397) (c76e2c5)
  • json-reporter: Update json report to be compliant with schema version 0.0.4 (#347) (9035407)
  • linq mutation: Remove Linq query removal mutation (#341) (2ef1964)
  • Missing mutations: Improve mutation algorithm to find more mutants (#373) (63ef355)
  • mutating: Improved mutation algorithm (#348) (e844e34)
  • mutating: Skip conditions containing a declaration from mutating (#338) (1e3a274)

Features

  • Html-reporter: Implement html reporter using mutation report html elements (#352) (417a2b7)
  • Testrunner: Integrate with vstest testrunner on windows (#319) (4a1422a)

0.8.3 (2019-02-07)

Bug Fixes

  • Mutating: If statements are mutated nested (#336) (dbfe16f)

0.8.2 (2019-01-28)

Bug Fixes

  • Local functions: Local functions are mutated correctly (#325) (2670572)
  • Rollback mutation: Rollback two times instead of one in order to catch all compilation errors (#323) (00efe25)

0.8.1 (2019-01-25)

Bug Fixes

  • C# 7.1 or greater: Make Stryker compile all language features (#311) (25119e9)

0.8.0 (2019-01-11)

Bug Fixes

  • Tuple bug: ExpressionStatement placed as ConditionalExpression (#280) (f74f782)
  • UnauthorizedAccessException: AppendTargetFrameworkToOutputPath csproj property is included (#295) (8a0b634), closes #272

Features

  • Dev mode: Improve mutant rollback (Fix #236) (#257) (2f6f459)
  • Excluded mutations: Add option to exlude one or more mutators (#253) (7033969)
  • File exclusion: Add option to exclude files from mutation run (#196) (596f907)
  • Json reporter: Add ability to generate mutation report in json format (#284) (a5b59c2)
  • No timeouts due to computer going in sleep mode: Secure against sleep induced timeouts (#249) (69a0560)
  • Unsafe blocks: recompile with unsafe=true (#306) (c9c913b)

0.7.0 (2018-11-28)

Bug Fixes

  • LinqMutator: Linq mutator mutates only method invocations (#252) (5167997)

Features

  • Better error handling: More understandable error messages (#169) (9214fbd)
  • mutant placing: Improve mutants performance (#247) (e2a6182)
  • Shared projects: Add support for shared projects (#235) (8304f2c)

0.6.0 (2018-11-19)

Bug Fixes

  • Logging: Clean up oneline logger output by removing timestamp (#227) (769509e)
  • system.memory dependency issue by bumping dotnet core version to 2.1 (#245) (3b35d90), closes #234

Features

  • Conditional mutant placer: Add ability to place mutations in ConditionalExpressions (#207) (e3e0433)
  • integrationtest: Run stryker from nuget in integration test (#239) (4b21514)

0.5.0 (2018-11-03)

0.4.0 (2018-10-28)

Bug Fixes

  • Cli: Return exit code 1 when score is below threshold break value (#154) (f4a8419)
  • ConsoleReporter: use 1-based line indexing (#176) (c302fe2)
  • Mutating: Make sure a broken mutation does not exist twice, so that we can roll back the mutation (#145) (#190) (1f74cce)
  • Test: Run unit tests on all platforms (#197) (a4c27f0)

Features

  • Logging: Show number of tests found in initial run (#138) (57f5f08)
  • Mutators: Add Mutations for LINQ Expressions (#185) (5ae9d3a)
  • Mutators: Add string and interpolated string mutators (#194) (653f159)
  • Testing: Add happyflow integration test (#163) (2b2f9ba)
  • Reporting: Set default log level to Info and cleanup reporters (#167) (b378262)

0.3.0 (2018-10-06)

Bug Fixes

  • Ensure directories/files don't exist before creating them (#157) (d4d2497), closes #155
  • Dependency-resolver: Support backslash in ProjectReferences on Linux (#149) (223e841), closes #120

Features

0.2.0 (2018-10-05)

Bug Fixes

  • TestRunner: remove race condition during testing (#139) (7c2d476), closes #135
  • Logging: Ensure all references of --project are now --project-file (#144) (7379e5d), closes #142

Code Refactoring

  • merge interfaces and implementation (#126) (b55988e), closes #8

Features

  • Reporter: rename "RapportOnly" to "reportOnly" (#123) (6be7fe6), closes #95
  • Logging: add logLevel validation (#124) (c5960ca), closes #97
  • Config: add --max-concurrent-test-runners config setting (#133) (f5395ae), closes #111
  • Threshold: add threshold arguments for the CLI (#140) (ef93cb9), closes #11

BREAKING CHANGES:

  • The "RapportOnly" reporter is now called "ReportOnly".