Skip to content

Releases: code-cracker/code-cracker

v1.1.0

20 May 05:53
v1.1.0
1adbd86
Compare
Choose a tag to compare

New analyzers and bug fixes 🐛

We fixed several bugs and added some new analyzers. See the changelog for details.

Minimum supported version: VS 2015 Update 3

VS 2015 update 1 and update 2 will no longer work with CodeCracker. Please update your VS.

This release targets the 1.1.0 version of the Roslyn API (Microsoft.CodeAnalysis.*), we have updated to Roslyn 1.3.2 on this version.

Last Visual Studio 2015 version

This is the last version to support Visual Studio 2015. This is also the last 1.x version. There might be fixes for 1.1 as 1.1.x, but there will not be a 1.2.0 version. We will go directly to version 2, which will support the latest Visual Studio 2017, already with C# 7 support. We also plan to support .NET Standard (and with it .NET Core). This release will come soon, we will update the project infrastructure and release it.

These are the known issues:

Known issues for both languages:

  • #791 BUG: CC0057 suggests removing parameter but it is required by a matching delegate

C# Known issues:

  • #869 BUG: CC0105 and CC0001 should not be offered when there are multiple declarations
  • #879 BUG: CC0022 DisposableVariableNotDisposedAnalyzer: False positive for containers
  • #903 BUG: CC0052 - ReadonlyFieldAnalyzer duplicates preprocessor directive
  • #912 BUG: CC0057 Parameter not used false positive in Constructor Expression Body
  • #914 Bug: CC0033 "Field should be disposed" is incorrectly raised on an assignment in a constructor
  • #923 BUG: CC0065 "Remove trailing whitespace" bug with pragmas
  • #924 BUG: CC0043 ChangeAnyToAll exception on non-LINQ methods
  • #928 BUG: CC0017 Autoproperty should not trigger with ref and out uses
  • #929 BUG: CC0095 String Interpolation eats pragmas and comments
  • #930 BUG: CC0020 cannot be used
  • #943 BUG: CC0035 doesn't respect readonly
  • #947 BUG: CC0031 false positive

VB Known issues:

  • #827 Bug: CC0039 False positive when concatenating to loop variable propery/field (StringBuilderInLoop) (VB)
  • #925 BUG: CC0021 generates a use NameOf for a constant defined as itself
  • #960 BUG: CC0030 (MakeLocalVariableConst) - False positive on reference types initialized to Nothing (VB)

Stats:

  • In C#: 73 Analyzers in C#, 75 Code fixes, 6 Fix all
  • In VB: 23 Analyzers in VB, 21 Code fixes, 1 Fix All
  • 2131 tests
  • 92% code coverage

As usual, you should go to Nuget (C#, VB) to get the packages or download the extension on the Visual Studio Marketplace (C#, VB).

For a list of what worked on see the corresponding milestone and the detailed changelog. For the commits, see the full changelog.

v1.0.3

20 Mar 01:24
v1.0.3
Compare
Choose a tag to compare

Last Visual Studio 2015 (without updates) version

This is the last version to support Visual Studio 2015 without any updates. This is also the last 1.0.x version.
The next version, 1.1.0, will support Visual Studio 2015 Update 3, which has been released for quite a while, now. So, update! :)
The 1.0.x versions will not receive further updates or bug fixes. Only the v1.1.x versions will update from now on.

Bug fixes! 🐛

This is mainly a bug fix release. We fixed 2 bugs and correct the grammar on several analyzers and code fixers. There aren't any new analyzers or code fixes. This release fixes bugs for C# and VB.

These are the known issues.

C# Known issues:

  • #866 BUG: CC0118 - Unnecessary '.ToString()' call in string concatenation
  • #869 BUG: CC0105 and CC0001 should not be offered when there are multiple declarations
  • #870 BUG: CC0022 failed to show fix with null coalesce operator
  • #879 BUG: CC0022 DisposableVariableNotDisposedAnalyzer: False positive for containers

VB Known issues:

  • #791 BUG: CC0057 (VB) suggests removing parameter but it is required by a matching delegate
  • #827 Bug: CC0039 False positive when concatenating to loop variable propery/field (StringBuilderInLoop) (VB)

This release still targets the final version of Visual Studio 2015 (RTM, version 14.0.23107.0 D14REL) and also targets the 1.0.0 version of the Roslyn API (Microsoft.CodeAnalysis.*).
This is the last release that does, we will update to Roslyn 1.3.2 on version 1.1.0 of CodeCracker.

Stats:

  • 68 Analyzers in C#, 66 Code fixes, 5 Fix all
  • 23 Analyzers in VB, 18 Code fixes, 1 Fix All
  • 1957 tests
  • 92% code coverage

As usual, you should go to Nuget (C#, VB) to get the packages or download the extension on the Visual Studio Marketplace (C#, VB).

For a list of what worked on see the corresponding milestone and the detailed changelog. For the commits, see the full changelog.

v1.0.2

13 Mar 02:52
v1.0.2
174493e
Compare
Choose a tag to compare

Support for Visual Studio 2017 is here!

This is the first release to support Visual Studio 2017. The VSIX on the Visual Studio Marketplace (the old VS Gallery) now support both VS 2015 and VS 2017.

We have not updated the libraries, so they should work on any project, just as before. We are planning on upgrading CodeCracker to the Roslyn 2.0 APIs at some point, and this will probably make it incompatible with VS 2015. So, update! :)

Bug fixes! 🐛

Appart from the update on the VSIX to support VS 2017, this is mainly a bug fix release. There aren't any new analyzers or code fixes. This release fixes bugs for C# and VB.

These are the known issues.

C# Known issues:

  • #866 BUG: CC0118 - Unnecessary '.ToString()' call in string concatenation
  • #869 BUG: CC0105 and CC0001 should not be offered when there are multiple declarations
  • #870 BUG: CC0022 failed to show fix with null coalesce operator
  • #877 BUG: CC0022 DisposableVariableNotDisposedAnalyzer: False positive in iterator methods
  • #879 BUG: CC0022 DisposableVariableNotDisposedAnalyzer: False positive for containers
  • #880 BUG: CC0022 DisposableVariableNotDisposedAnalyzer: False positive for expression bodied members

VB Known issues:

  • #791 BUG: CC0057 (VB) suggests removing parameter but it is required by a matching delegate
  • #827 Bug: CC0039 False positive when concatenating to loop variable propery/field (StringBuilderInLoop) (VB)

This release still targets the final version of Visual Studio 2015 (RTM, version 14.0.23107.0 D14REL) and also targets the 1.0.0 version of the Roslyn API (Microsoft.CodeAnalysis.*).

Stats:

  • 68 Analyzers in C#, 66 Code fixes, 5 Fix all
  • 23 Analyzers in VB, 18 Code fixes, 1 Fix All
  • 1954 tests
  • 92% code coverage

As usual, you should go to Nuget (C#, VB) to get the packages or download the extension on the Visual Studio Marketplace (C#, VB).

For a list of what worked on see the corresponding milestone and the detailed changelog. For the commits, see the full changelog.

v1.0.1

06 Sep 15:42
v1.0.1
Compare
Choose a tag to compare

Bug fixes! 🐛

This is a bug fix release. There aren't any new analyzers or code fixes. This is mostly a C# release, as there were no volunteers on the community to tackle the VB bugs.

There are no known bugs for C#.

These are the known issues, all on the VB version of CodeCracker.

VB Known issues:

  • #791 CC0057 suggests removing parameter but it is required by a matching delegate
  • #798 CC0014 converts if y then x += 1 else x =1 to x +=(if(y, 1, 1)
  • #821 Should not use Async methods in analyzers (CC0029)
  • #827 CC0039 False positive when concatenating to loop variable propery/field (StringBuilderInLoop)

This release also targets the final version of Visual Studio 2015 (RTM, version 14.0.23107.0 D14REL) and also targets the 1.0.0 version of the Roslyn API (Microsoft.CodeAnalysis.*).

Stats:

  • 68 Analyzers in C#, 66 Code fixes, 5 Fix all
  • 23 Analyzers in VB, 18 Code fixes, 1 Fix All
  • 1941 tests
  • 92% code coverage

As usual, you should go to Nuget (C#, VB) to get the packages or download the extension on the Visual Studio Extensions Gallery (C#, VB).

For a list of what worked on see the corresponding milestone and the detailed changelog. For the commits, see the full changelog.

v1.0.0

03 Apr 06:38
Compare
Choose a tag to compare

1.0 is here! :shipit:

This is our first stable release. There are no knowns bugs.

This release targets the final version of Visual Studio 2015 (RTM, version 14.0.23107.0 D14REL) and also targets the 1.0.0 version of the Roslyn API (Microsoft.CodeAnalysis.*).

Stats:

  • 68 Analyzers in C#, 66 Code fixes, 5 Fix all
  • 23 Analyzers in VB, 18 Code fixes, 1 Fix All
  • 1912 tests
  • 91% code coverage

As usual, you should go to Nuget (C#, VB) to get the packages or download the extension on the Visual Studio Extensions Gallery (C#, VB).

For a list of what worked on see the corresponding milestone and the detailed changelog. For the commits, see the full changelog.

v1.0.0-rc6

01 Feb 17:32
Compare
Choose a tag to compare
v1.0.0-rc6 Pre-release
Pre-release

This is an stabilization release, with several bug fixes. There are 4 knowns bugs, and they are already being worked on.
We will continue to focus on stabilization until 1.0.0 is ready.
Any new fixes will end up on the master branch.
New analyzers and fixers will continue to go on the vnext branch and will not be on our 1.0.0 release.

This release continues to target the final version of Visual Studio 2015 (RTM, version 14.0.23107.0 D14REL), as will the next ones. This release targets the 1.0.0 version of the Roslyn API (Microsoft.CodeAnalysis.*).

There are no new analyzers or code fixes in this release.

Stats:

  • 68 Analyzers in C#, 66 Code fixes, 5 Fix all
  • 23 Analyzers in VB, 18 Code fixes, 1 Fix All
  • 1872 tests
  • 91% code coverage

Known issues:

  • #465 DisposableVariableNotDisposedAnalyzer (CC0022) should not raise a diagnostic when returning a type that contains the disposable
  • #639 CC0091 WPF event cannot be static
  • #690 CC0048 nested interpolations doesn't fix in one iteration
  • #696 BUG: CC00091 Method GetEnumerator should never be made static

As usual, you should go to Nuget (C#, VB) to get the packages or download the extension on the Visual Studio Extensions Gallery (C#, VB).

For a list of what worked on see the corresponding milestone and the detailed changelog. For the commits, see the full changelog.

v1.0.0-rc5

03 Dec 00:54
Compare
Choose a tag to compare
v1.0.0-rc5 Pre-release
Pre-release

This is an stabilization release, with several bug fixes. There are 3 knowns bugs, and they are already being worked on.
We will continue to focus on stabilization until 1.0.0 is ready.
Any new fixes will end up on the master branch.
New analyzers and fixers will continue to go on the vnext branch and will not be on our 1.0.0 release.

This release continues to target the final version of Visual Studio 2015 (RTM, version 14.0.23107.0 D14REL), as will the next ones. This release targets the 1.0.0 version of the Roslyn API (Microsoft.CodeAnalysis.*).
It will not work on pre-release versions of VS 2015.

This release is solving a bug that is happening with Roslyn 1.1, present on Visual Studio 2015 Update 1, which was crashing VS. If you are using VS 2015 Update 1, update ASAP to this version. See #610 for more information.

There are no new analyzers or code fixes in this release.

Stats:

  • 68 Analyzers in C#, 66 Code fixes, 5 Fix all
  • 23 Analyzers in VB, 18 Code fixes, 1 Fix All
  • 1765 tests
  • 91% code coverage

Known issues:

  • #594 Suggested Nameof fix incorrectly suggests wrong type
  • #603 When the dispose pattern is used do not raise CC0033
  • #613 BUG on CC0043 and CC0092 (ChangeAnyToAll) when invocation is complex

When the analyzer/code fix impacts the resulting code we will disable it by default, you need to enable those that are disabled to be able to use them.

There is a breaking change on CC0001 (use var), where it was separated into two diagnostic. Now CC0001 will only be raised for non primitive types and CC0105 was added and will be raised only for primitive types. See #407 for more information.

As usual, you should go to Nuget (C#, VB) to get the packages or download the extension on the Visual Studio Extensions Gallery (C#, VB).

For a list of what worked on see the corresponding milestone and the detailed changelog. For the commits, see the full changelog.

v1.0.0-rc4

02 Nov 17:39
Compare
Choose a tag to compare
v1.0.0-rc4 Pre-release
Pre-release

This is an stabilization release, with several bug fixes. There are 6 knowns bugs, and they are already being worked on.
We will continue to focus on stabilization until 1.0.0 is ready.
Any new fixes will end up on the master branch.
New analyzers and fixers will continue to go on the vnext branch and will not be on our 1.0.0 release.

This release continues to target the final version of Visual Studio 2015 (RTM, version 14.0.23107.0 D14REL), as will the next ones. This release targets the 1.0.0 version of the Roslyn API (Microsoft.CodeAnalysis.*).
It will not work on pre-release versions of VS 2015.

There are no new analyzers or code fixes in this release.

Stats:

  • 68 Analyzers in C#, 66 Code fixes, 5 Fix all
  • 23 Analyzers in VB, 18 Code fixes, 1 Fix All
  • 1723 tests
  • 92% code coverage

Known issues:

  • #521 CC0013 Should check for a common type and cast is necessary
  • #525 Bug with CC0009 when using the created object in the initialization
  • #550 Code fix error in CC0014 TernaryOperatorAnalyzer (assignment)
  • #551 Code fix in CC0014 TernaryOperatorAnalyzer remove comments
  • #552 Code fix error in CC0013 TernaryOperatorAnalyzer (return)
  • #571 IP Parsing fails for variables

When the analyzer/code fix impacts the resulting code we will disable it by default, you need to enable those that are disabled to be able to use them.

As usual, you should go to Nuget (C#, VB) to get the packages or download the extension on the Visual Studio Extensions Gallery (C#, VB).

For a list of what worked on see the corresponding milestone and the detailed changelog. For the commits, see the full changelog.

v1.0.0-rc3

03 Oct 01:53
Compare
Choose a tag to compare
v1.0.0-rc3 Pre-release
Pre-release

This is an stabilization release, with several bug fixes. There is only one known bug, and the analyzer that is affected is disabled.
We will continue to focus on stabilization until 1.0.0 is ready.
Any new fixes will end up on the master branch.
New analyzers and fixers will continue to go on the vnext branch and will not be on our 1.0.0 release.

This release is still targetting the final version of Visual Studio 2015 (RTM, version 14.0.23107.0 D14REL), as will the next ones. This release targets the 1.0.0 version of the Roslyn API (Microsoft.CodeAnalysis.*).
This release will not work on pre-release versions of VS 2015.

There are no new analyzers or code fixes in this release.

Stats:

  • 68 Analyzers in C#, 65 Code fixes, 3 Fix all
  • 23 Analyzers in VB, 18 Code fixes
  • 1682 tests
  • 91% code coverage

Known issues:

  • #468 CC0013 (user ternary) rule should be more careful with nullable types. (VB)
  • #493 CC0009 eats pragmas and trivia
  • #496 'TernaryOperatorWithAddignmentCodeFixProvider' encountered and error (CC0013 and CC0014)
  • #501 BUG on CC0008 and CC0009 (ObjectInitializer) when used with collection
  • #514 CC0017 Change to auto property fix all not working
  • #521 CC0013 Should check for a common type and cast is necessary

When the analyzer/code fix impacts the resulting code we disable it by default, you need to enable those that are disabled to be able to use them.

As usual, you should go to Nuget (C#, VB) to get the packages or download the extension on the Visual Studio Extensions Gallery (C#, VB).

For a list of what worked on see the corresponding milestone and the detailed changelog. For the commits, see the full changelog.

v1.0.0-rc2

19 Aug 17:28
Compare
Choose a tag to compare
v1.0.0-rc2 Pre-release
Pre-release

This release is still targetting the final version of Visual Studio 2015 (RTM, version 14.0.23107.0 D14REL), as will the next ones. This release targets the 1.0.0 version of the Roslyn API (Microsoft.CodeAnalysis.*).
This release will not work on pre-release versions of VS 2015.

This is an stabilization release, with several bug fixes. There is only one known bug, and the analyzer that is affected is disabled.
We will continue to focus on stabilization until 1.0.0 is ready.
Any new fixes will end up on the master branch.
New analyzers and fixers will continue to go on the vnext branch and will not be on our 1.0.0 release.

Stats:

  • 68 Analyzers in C#, 65 Code fixes, 3 Fix all
  • 23 Analyzers in VB, 18 Code fixes
  • 1543 tests
  • 91% code coverage

Known issues:

  • #293 Incorrect diagnostic on NoPrivateReadonlyFieldAnalyzer (CC0074)

When the analyzer/code fix impacts the resulting code we disable it by default, you need to enable those that are disabled to be able to use them.

As usual, you should go to Nuget (C#, VB) to get the packages or download the extension on the Visual Studio Extensions Gallery (C#, VB).

For a list of what worked on see the corresponding milestone.