Skip to content

Releases: DotNetAnalyzers/StyleCopAnalyzers

1.0.0 Beta 4

07 Aug 03:47
Compare
Choose a tag to compare
1.0.0 Beta 4 Pre-release
Pre-release

Minor Feature and Bug Fix Update

Summary

  • New diagnostics
    • Spacing rules: SA1023
    • Ordering rules: SA1202, SA1203, SA1204, SA1215
  • New code fixes
    • Spacing rules: SA1023
  • Bug fixes
    • Spacing rules: SA1027 (Code fix, #1127)
    • Ordering rules: SA1214 (#1123, #1128)
    • Documentation rules: SA1648 (#1091)

Analyzers

The following analyzers are included in this release (all with Warning severity by default).

ID Title Code Fix
SA1000 Keywords must be spaced correctly
SA1001 Commas must be spaced correctly
SA1002 Semicolons must be spaced correctly
SA1003 Symbols must be spaced correctly
SA1004 Documentation lines must begin with single space
SA1005 Single line comments must begin with single space
SA1006 Preprocessor keywords must not be preceded by space
SA1007 Operator keyword must be followed by space
SA1008 Opening parenthesis must be spaced correctly
SA1009 Closing parenthesis must be spaced correctly
SA1010 Opening square brackets must be spaced correctly
SA1011 Closing square brackets must be spaced correctly
SA1012 Opening curly brackets must be spaced correctly
SA1013 Closing curly brackets must be spaced correctly
SA1014 Opening generic brackets must be spaced correctly
SA1015 Closing generic brackets must be spaced correctly
SA1016 Opening attribute brackets must be spaced correctly
SA1017 Closing attribute brackets must be spaced correctly
SA1018 Nullable type symbols must be spaced correctly
SA1019 Member access symbols must be spaced correctly
SA1020 Increment decrement symbols must be spaced correctly
SA1021 Negative signs must be spaced correctly
SA1022 Positive signs must be spaced correctly
SA1023 Dereference and access of symbols must be spaced correctly
SA1024 Colons Must Be Spaced Correctly
SA1025 Code must not contain multiple whitespace in a row
SA1026 Code must not contain space after new keyword in implicitly typed array allocation
SA1027 Tabs must not be used
SA1028 ³ Code must not contain trailing whitespace
SA1100 Do not prefix calls with base unless local implementation exists
SA1101 Prefix local calls with this
SA1102 QueryClauseMustFollowPreviousClause
SA1103 QueryClausesMustBeOnSeparateLinesOrAllOnOneLine
SA1104 QueryClauseMustBeginOnNewLineWhenPreviousClauseSpansMultipleLines
SA1105 QueryClausesSpanningMultipleLinesMustBeginOnOwnLine
SA1106 Code must not contain empty statements
SA1107 Code must not contain multiple statements on one line
SA1108 Block statements must not contain embedded comments
SA1110 Opening parenthesis or bracket must be on declaration line
SA1111 Closing parenthesis must be on line of last parameter
SA1112 Closing parenthesis must be on line of opening parenthesis
SA1113 Comma must be on the same line as previous parameter
SA1114 Parameter list must follow declaration
SA1115 Parameter must follow comma
SA1118 Parameter must not span multiple lines
SA1119 Statement must not use unnecessary parenthesis
SA1120 Comments must contain text
SA1121 Use built-in type alias
SA1122 Use string.Empty for empty strings
SA1123 Do not place regions within elements
SA1124 Do not use regions
SA1125 Use shorthand for nullable types ✔¹
SA1200 Using directives must be placed within namespace
SA1201 Elements must appear in the correct order
SA1202 Elements must be ordered by access
SA1203 Constants must appear before fields
SA1204 Static elements must appear before instance elements
SA1205 Partial elements must declare access
SA1206 Declaration keywords must follow order
SA1207 Protected must come before internal
SA1208 System using directives must be placed before other using directives ✔¹
SA1209 Using alias directives must be placed after other using directives ✔¹
SA1210 Using directives must be ordered alphabetically by namespace ✔¹
SA1211 Using alias directives must be ordered alphabetically by alias name ✔¹
SA1212 Property accessors must follow order
SA1213 Event accessors must follow order
SA1214 Static readonly elements must appear before static non-readonly elements
SA1215 Instance readonly elements must appear before instance non-readonly elements
SA1216 ³ Using static directives must be placed after other using directives ✔¹
SA1217 ³ Using static directives must be ordered alphabetically ✔¹
SA1300 Element must begin with upper-case letter
SA1301 Element must begin with lower-case letter
SA1302 Interface names must begin with I
SA1303 Const field names must begin with upper-case letter
SA1304 Non-private readonly fields must begin with upper-case letter
SA1306 Field names must begin with lower-case letter
SA1307 Accessible fields must begin with upper-case letter
SA1308 Variable names must not be prefixed
SA1309 Field names must not begin with underscore
SA1310 Field names must not contain underscore
SA1311 Static readonly fields must begin with upper-case letter
SX1309 ² ³ Field names must begin with underscore
SX1309S ² ³ Static field names must begin with underscore
SA1400 Access modifier must be declared
SA1401 Fields must be private
SA1402 File may only contain a single class
SA1403 File may only contain a single namespace
SA1404 Code analysis suppression must have justification
SA1405 Debug.Assert must provide message text
SA1406 Debug.Fail must provide message text
SA1407 Arithmetic expressions must declare precedence
SA1408 Conditional expressions must declare precedence
SA1410 Remove delegate parenthesis when possible
SA1411 Attribute constructor must not use unnecessary parenthesis
SA1500 Curly brackets for multi-line statements must not share line
SA1501 Statement must not be on a single line
SA1502 Element must not be on a single line
SA1503 Curly brackets must not be omitted
SA1504 All accessors must be single-line or multi-line
SA1505 Opening curly brackets must not be followed by blank line
SA1506 Element documentation headers must not be followed by blank line
SA1507 Code must not contain multiple blank lines in a row
SA1508 Closing curly brackets must not be preceded by blank line
SA1509 Opening curly brackets must not be preceded by blank line
SA1510 Chained statement blocks must not be preceded by blank line
SA1511 While-do footer must not be preceded by blank line
SA1512 Single-line comments must not be followed by blank line
SA1513 Closing curly bracket must be followed by blank line
SA1514 Element documentation header must be preceded by blank line
SA1515 Single-line comment must be preceded by blank line
SA1516 Elements must be separated by blank line
SA1517 Code must not contain blank lines at start of file
SA1518 Code must not contain blank lines at end of file
SA1519 ³ Curly brackets must not be omitted from multi-line child statement
SA1520 ³ Use curly brackets consistently
SA1600 Elements must be documented
SA1601 Partial elements must be documented
SA1602 Enumeration items must be documented
SA1603 Documentation must contain valid XML
SA1604 Element documentation must have summary
SA1605 Partial element documentation must have summary
SA1606 Element documentation must have summary text
SA1607 Partial element documentation must have summary text
SA1608 Element documentation must not have default summary
SA1609 Property documentation must have value
SA1610 Property documentation must have value text
SA1611 Element parameters must be documented
SA1612 Element parameter documentation must match element parameters
SA1613 Element parameter documentation must declare parameter name
SA1614 Element parameter documentation must have text
SA1615 Element return value must be documented
SA1616 Element return value documentation must have text
SA1617 Void return value must not be documented
SA1618 Generic type parameters must be documented
SA1619 Generic type parameters must be documented partial class
SA1620 Generic type parameter documentation must match type parameters
SA1621 Generic type parameter documentation must declare parameter name
SA1622 Generic type parameter documentation must have text
SA1626 Single-line comments must not use documentation style slashes
SA1633 File must have header
SA1634 File header must show copyright
SA1635 File header must have copyright text
SA1637 File header must contain file name
SA1638 File header file name documentation must match file name
SA1639 File header must have summary
SA1640 File header must have valid company text
SA1642 Constructor summary documentation must begin with standard text
SA1643 Destructor summary documentation must begin with standard text
SA1648 inheritdoc must be used with inheriting class
SA1651 ³ Do not use placeholder elements
...
Read more

1.0.0 Beta 3

29 Jul 22:56
Compare
Choose a tag to compare
1.0.0 Beta 3 Pre-release
Pre-release

Bug Fix Update

Summary

  • New code fix
    • Readability rules: SA1120
  • Bug fixes
    • Spacing rules: SA1011 (#1082), SA1013 (#1078)
    • Readability rules: SA1110 (#1079)
    • Layout rules: SA1515 (#1083)

Analyzers

The following analyzers are included in this release (all with Warning severity by default).

ID Title Code Fix
SA1000 Keywords must be spaced correctly
SA1001 Commas must be spaced correctly
SA1002 Semicolons must be spaced correctly
SA1003 Symbols must be spaced correctly
SA1004 Documentation lines must begin with single space
SA1005 Single line comments must begin with single space
SA1006 Preprocessor keywords must not be preceded by space
SA1007 Operator keyword must be followed by space
SA1008 Opening parenthesis must be spaced correctly
SA1009 Closing parenthesis must be spaced correctly
SA1010 Opening square brackets must be spaced correctly
SA1011 Closing square brackets must be spaced correctly
SA1012 Opening curly brackets must be spaced correctly
SA1013 Closing curly brackets must be spaced correctly
SA1014 Opening generic brackets must be spaced correctly
SA1015 Closing generic brackets must be spaced correctly
SA1016 Opening attribute brackets must be spaced correctly
SA1017 Closing attribute brackets must be spaced correctly
SA1018 Nullable type symbols must be spaced correctly
SA1019 Member access symbols must be spaced correctly
SA1020 Increment decrement symbols must be spaced correctly
SA1021 Negative signs must be spaced correctly
SA1022 Positive signs must be spaced correctly
SA1024 Colons Must Be Spaced Correctly
SA1025 Code must not contain multiple whitespace in a row
SA1026 Code must not contain space after new keyword in implicitly typed array allocation
SA1027 Tabs must not be used
SA1028 ³ Code must not contain trailing whitespace
SA1100 Do not prefix calls with base unless local implementation exists
SA1101 Prefix local calls with this
SA1102 QueryClauseMustFollowPreviousClause
SA1103 QueryClausesMustBeOnSeparateLinesOrAllOnOneLine
SA1104 QueryClauseMustBeginOnNewLineWhenPreviousClauseSpansMultipleLines
SA1105 QueryClausesSpanningMultipleLinesMustBeginOnOwnLine
SA1106 Code must not contain empty statements
SA1107 Code must not contain multiple statements on one line
SA1108 Block statements must not contain embedded comments
SA1110 Opening parenthesis or bracket must be on declaration line
SA1111 Closing parenthesis must be on line of last parameter
SA1112 Closing parenthesis must be on line of opening parenthesis
SA1113 Comma must be on the same line as previous parameter
SA1114 Parameter list must follow declaration
SA1115 Parameter must follow comma
SA1118 Parameter must not span multiple lines
SA1119 Statement must not use unnecessary parenthesis
SA1120 Comments must contain text
SA1121 Use built-in type alias
SA1122 Use string.Empty for empty strings
SA1123 Do not place regions within elements
SA1124 Do not use regions
SA1125 Use shorthand for nullable types ✔¹
SA1200 Using directives must be placed within namespace
SA1201 Elements must appear in the correct order
SA1205 Partial elements must declare access
SA1206 Declaration keywords must follow order
SA1207 Protected must come before internal
SA1208 System using directives must be placed before other using directives ✔¹
SA1209 Using alias directives must be placed after other using directives ✔¹
SA1210 Using directives must be ordered alphabetically by namespace ✔¹
SA1211 Using alias directives must be ordered alphabetically by alias name ✔¹
SA1212 Property accessors must follow order
SA1213 Event accessors must follow order
SA1214 Static readonly elements must appear before static non-readonly elements
SA1216 ³ Using static directives must be placed after other using directives ✔¹
SA1217 ³ Using static directives must be ordered alphabetically ✔¹
SA1300 Element must begin with upper-case letter
SA1301 Element must begin with lower-case letter
SA1302 Interface names must begin with I
SA1303 Const field names must begin with upper-case letter
SA1304 Non-private readonly fields must begin with upper-case letter
SA1306 Field names must begin with lower-case letter
SA1307 Accessible fields must begin with upper-case letter
SA1308 Variable names must not be prefixed
SA1309 Field names must not begin with underscore
SA1310 Field names must not contain underscore
SA1311 Static readonly fields must begin with upper-case letter
SX1309 ² ³ Field names must begin with underscore
SX1309S ² ³ Static field names must begin with underscore
SA1400 Access modifier must be declared
SA1401 Fields must be private
SA1402 File may only contain a single class
SA1403 File may only contain a single namespace
SA1404 Code analysis suppression must have justification
SA1405 Debug.Assert must provide message text
SA1406 Debug.Fail must provide message text
SA1407 Arithmetic expressions must declare precedence
SA1408 Conditional expressions must declare precedence
SA1410 Remove delegate parenthesis when possible
SA1411 Attribute constructor must not use unnecessary parenthesis
SA1500 Curly brackets for multi-line statements must not share line
SA1501 Statement must not be on a single line
SA1502 Element must not be on a single line
SA1503 Curly brackets must not be omitted
SA1504 All accessors must be single-line or multi-line
SA1505 Opening curly brackets must not be followed by blank line
SA1506 Element documentation headers must not be followed by blank line
SA1507 Code must not contain multiple blank lines in a row
SA1508 Closing curly brackets must not be preceded by blank line
SA1509 Opening curly brackets must not be preceded by blank line
SA1510 Chained statement blocks must not be preceded by blank line
SA1511 While-do footer must not be preceded by blank line
SA1512 Single-line comments must not be followed by blank line
SA1513 Closing curly bracket must be followed by blank line
SA1514 Element documentation header must be preceded by blank line
SA1515 Single-line comment must be preceded by blank line
SA1516 Elements must be separated by blank line
SA1517 Code must not contain blank lines at start of file
SA1518 Code must not contain blank lines at end of file
SA1519 ³ Curly brackets must not be omitted from multi-line child statement
SA1520 ³ Use curly brackets consistently
SA1600 Elements must be documented
SA1601 Partial elements must be documented
SA1602 Enumeration items must be documented
SA1603 Documentation must contain valid XML
SA1604 Element documentation must have summary
SA1605 Partial element documentation must have summary
SA1606 Element documentation must have summary text
SA1607 Partial element documentation must have summary text
SA1608 Element documentation must not have default summary
SA1609 Property documentation must have value
SA1610 Property documentation must have value text
SA1611 Element parameters must be documented
SA1612 Element parameter documentation must match element parameters
SA1613 Element parameter documentation must declare parameter name
SA1614 Element parameter documentation must have text
SA1615 Element return value must be documented
SA1616 Element return value documentation must have text
SA1617 Void return value must not be documented
SA1618 Generic type parameters must be documented
SA1619 Generic type parameters must be documented partial class
SA1620 Generic type parameter documentation must match type parameters
SA1621 Generic type parameter documentation must declare parameter name
SA1622 Generic type parameter documentation must have text
SA1626 Single-line comments must not use documentation style slashes
SA1633 File must have header
SA1634 File header must show copyright
SA1635 File header must have copyright text
SA1637 File header must contain file name
SA1638 File header file name documentation must match file name
SA1639 File header must have summary
SA1640 File header must have valid company text
SA1642 Constructor summary documentation must begin with standard text
SA1643 Destructor summary documentation must begin with standard text
SA1648 inheritdoc must be used with inheriting class
SA1651 ³ Do not use placeholder elements
SA1652 ³ Enable XML documentation output

Notes

¹ This code fix is provided by Visual Studio
² This "alternative" rule is not enabled by default
³ This rule is new for StyleCopAnalyzers, and isn't present in the original StyleCop

Acknowledgements

Thank you goes to all of the following users, who contributed feedback, bug reports, code submissions, testing, and reviews which helped in this release. In alphabetical order by username. This...

Read more

1.0.0 Beta 2

28 Jul 02:47
Compare
Choose a tag to compare
1.0.0 Beta 2 Pre-release
Pre-release

Analyzers and Code Fixes Update

Summary

  • New diagnostics
    • Spacing rules: SA1011, SA1012, SA1013, SA1014, SA1015, SA1019
    • Ordering rules: SA1207
    • Documentation rules: SA1648, SA1652
  • New code fixes
    • Spacing rules: SA1004, SA1009, SA1011, SA1012, SA1013, SA1014, SA1015, SA1019, SA1020, SA1025
    • Ordering rules: SA1207

Analyzers

The following analyzers are included in this release (all with Warning severity by default).

ID Title Code Fix
SA1000 Keywords must be spaced correctly
SA1001 Commas must be spaced correctly
SA1002 Semicolons must be spaced correctly
SA1003 Symbols must be spaced correctly
SA1004 Documentation lines must begin with single space
SA1005 Single line comments must begin with single space
SA1006 Preprocessor keywords must not be preceded by space
SA1007 Operator keyword must be followed by space
SA1008 Opening parenthesis must be spaced correctly
SA1009 Closing parenthesis must be spaced correctly
SA1010 Opening square brackets must be spaced correctly
SA1011 Closing square brackets must be spaced correctly
SA1012 Opening curly brackets must be spaced correctly
SA1013 Closing curly brackets must be spaced correctly
SA1014 Opening generic brackets must be spaced correctly
SA1015 Closing generic brackets must be spaced correctly
SA1016 Opening attribute brackets must be spaced correctly
SA1017 Closing attribute brackets must be spaced correctly
SA1018 Nullable type symbols must be spaced correctly
SA1019 Member access symbols must be spaced correctly
SA1020 Increment decrement symbols must be spaced correctly
SA1021 Negative signs must be spaced correctly
SA1022 Positive signs must be spaced correctly
SA1024 Colons Must Be Spaced Correctly
SA1025 Code must not contain multiple whitespace in a row
SA1026 Code must not contain space after new keyword in implicitly typed array allocation
SA1027 Tabs must not be used
SA1028 ³ Code must not contain trailing whitespace
SA1100 Do not prefix calls with base unless local implementation exists
SA1101 Prefix local calls with this
SA1102 QueryClauseMustFollowPreviousClause
SA1103 QueryClausesMustBeOnSeparateLinesOrAllOnOneLine
SA1104 QueryClauseMustBeginOnNewLineWhenPreviousClauseSpansMultipleLines
SA1105 QueryClausesSpanningMultipleLinesMustBeginOnOwnLine
SA1106 Code must not contain empty statements
SA1107 Code must not contain multiple statements on one line
SA1108 Block statements must not contain embedded comments
SA1110 Opening parenthesis or bracket must be on declaration line
SA1111 Closing parenthesis must be on line of last parameter
SA1112 Closing parenthesis must be on line of opening parenthesis
SA1113 Comma must be on the same line as previous parameter
SA1114 Parameter list must follow declaration
SA1115 Parameter must follow comma
SA1118 Parameter must not span multiple lines
SA1119 Statement must not use unnecessary parenthesis
SA1120 Comments must contain text
SA1121 Use built-in type alias
SA1122 Use string.Empty for empty strings
SA1123 Do not place regions within elements
SA1124 Do not use regions
SA1125 Use shorthand for nullable types ✔¹
SA1200 Using directives must be placed within namespace
SA1201 Elements must appear in the correct order
SA1205 Partial elements must declare access
SA1206 Declaration keywords must follow order
SA1207 Protected must come before internal
SA1208 System using directives must be placed before other using directives ✔¹
SA1209 Using alias directives must be placed after other using directives ✔¹
SA1210 Using directives must be ordered alphabetically by namespace ✔¹
SA1211 Using alias directives must be ordered alphabetically by alias name ✔¹
SA1212 Property accessors must follow order
SA1213 Event accessors must follow order
SA1214 Static readonly elements must appear before static non-readonly elements
SA1216 ³ Using static directives must be placed after other using directives ✔¹
SA1217 ³ Using static directives must be ordered alphabetically ✔¹
SA1300 Element must begin with upper-case letter
SA1301 Element must begin with lower-case letter
SA1302 Interface names must begin with I
SA1303 Const field names must begin with upper-case letter
SA1304 Non-private readonly fields must begin with upper-case letter
SA1306 Field names must begin with lower-case letter
SA1307 Accessible fields must begin with upper-case letter
SA1308 Variable names must not be prefixed
SA1309 Field names must not begin with underscore
SA1310 Field names must not contain underscore
SA1311 Static readonly fields must begin with upper-case letter
SX1309 ² ³ Field names must begin with underscore
SX1309S ² ³ Static field names must begin with underscore
SA1400 Access modifier must be declared
SA1401 Fields must be private
SA1402 File may only contain a single class
SA1403 File may only contain a single namespace
SA1404 Code analysis suppression must have justification
SA1405 Debug.Assert must provide message text
SA1406 Debug.Fail must provide message text
SA1407 Arithmetic expressions must declare precedence
SA1408 Conditional expressions must declare precedence
SA1410 Remove delegate parenthesis when possible
SA1411 Attribute constructor must not use unnecessary parenthesis
SA1500 Curly brackets for multi-line statements must not share line
SA1501 Statement must not be on a single line
SA1502 Element must not be on a single line
SA1503 Curly brackets must not be omitted
SA1504 All accessors must be single-line or multi-line
SA1505 Opening curly brackets must not be followed by blank line
SA1506 Element documentation headers must not be followed by blank line
SA1507 Code must not contain multiple blank lines in a row
SA1508 Closing curly brackets must not be preceded by blank line
SA1509 Opening curly brackets must not be preceded by blank line
SA1510 Chained statement blocks must not be preceded by blank line
SA1511 While-do footer must not be preceded by blank line
SA1512 Single-line comments must not be followed by blank line
SA1513 Closing curly bracket must be followed by blank line
SA1514 Element documentation header must be preceded by blank line
SA1515 Single-line comment must be preceded by blank line
SA1516 Elements must be separated by blank line
SA1517 Code must not contain blank lines at start of file
SA1518 Code must not contain blank lines at end of file
SA1519 ³ Curly brackets must not be omitted from multi-line child statement
SA1520 ³ Use curly brackets consistently
SA1600 Elements must be documented
SA1601 Partial elements must be documented
SA1602 Enumeration items must be documented
SA1603 Documentation must contain valid XML
SA1604 Element documentation must have summary
SA1605 Partial element documentation must have summary
SA1606 Element documentation must have summary text
SA1607 Partial element documentation must have summary text
SA1608 Element documentation must not have default summary
SA1609 Property documentation must have value
SA1610 Property documentation must have value text
SA1611 Element parameters must be documented
SA1612 Element parameter documentation must match element parameters
SA1613 Element parameter documentation must declare parameter name
SA1614 Element parameter documentation must have text
SA1615 Element return value must be documented
SA1616 Element return value documentation must have text
SA1617 Void return value must not be documented
SA1618 Generic type parameters must be documented
SA1619 Generic type parameters must be documented partial class
SA1620 Generic type parameter documentation must match type parameters
SA1621 Generic type parameter documentation must declare parameter name
SA1622 Generic type parameter documentation must have text
SA1626 Single-line comments must not use documentation style slashes
SA1633 File must have header
SA1634 File header must show copyright
SA1635 File header must have copyright text
SA1637 File header must contain file name
SA1638 File header file name documentation must match file name
SA1639 File header must have summary
SA1640 File header must have valid company text
SA1642 Constructor summary documentation must begin with standard text
SA1643 Destructor summary documentation must begin with standard text
SA1648 inheritdoc must be used with inheriting class
SA1651 ³ Do not use placeholder elements
SA1652 ³ Enable XML documentation output

Notes

¹ This code fix is provided by Visual Studio
² This "alternative" rule is not enabled by default
³ This rule is new for StyleCopAnalyzers, and isn't present in the original StyleCop

Acknowledgements

Thank you goes to all of the following users, who contributed ...

Read more

1.0.0 Beta 1

20 Jul 17:45
Compare
Choose a tag to compare
1.0.0 Beta 1 Pre-release
Pre-release

Update for Visual Studio 2015 RTM

Summary

  • Support Visual Studio 2015 RTM 🎉

Analyzers

The following analyzers are included in this release (all with Warning severity by default).

ID Title Code Fix
SA1000 Keywords must be spaced correctly
SA1001 Commas must be spaced correctly
SA1002 Semicolons must be spaced correctly
SA1003 Symbols must be spaced correctly
SA1004 Documentation lines must begin with single space
SA1005 Single line comments must begin with single space
SA1006 Preprocessor keywords must not be preceded by space
SA1007 Operator keyword must be followed by space
SA1008 Opening parenthesis must be spaced correctly
SA1009 Closing parenthesis must be spaced correctly
SA1010 Opening square brackets must be spaced correctly
SA1016 Opening attribute brackets must be spaced correctly
SA1017 Closing attribute brackets must be spaced correctly
SA1018 Nullable type symbols must be spaced correctly
SA1020 Increment decrement symbols must be spaced correctly
SA1021 Negative signs must be spaced correctly
SA1022 Positive signs must be spaced correctly
SA1024 Colons Must Be Spaced Correctly
SA1025 Code must not contain multiple whitespace in a row
SA1026 Code must not contain space after new keyword in implicitly typed array allocation
SA1027 Tabs must not be used
SA1028 ³ Code must not contain trailing whitespace
SA1100 Do not prefix calls with base unless local implementation exists
SA1101 Prefix local calls with this
SA1102 QueryClauseMustFollowPreviousClause
SA1103 QueryClausesMustBeOnSeparateLinesOrAllOnOneLine
SA1104 QueryClauseMustBeginOnNewLineWhenPreviousClauseSpansMultipleLines
SA1105 QueryClausesSpanningMultipleLinesMustBeginOnOwnLine
SA1106 Code must not contain empty statements
SA1107 Code must not contain multiple statements on one line
SA1108 Block statements must not contain embedded comments
SA1110 Opening parenthesis or bracket must be on declaration line
SA1111 Closing parenthesis must be on line of last parameter
SA1112 Closing parenthesis must be on line of opening parenthesis
SA1113 Comma must be on the same line as previous parameter
SA1114 Parameter list must follow declaration
SA1115 Parameter must follow comma
SA1118 Parameter must not span multiple lines
SA1119 Statement must not use unnecessary parenthesis
SA1120 Comments must contain text
SA1121 Use built-in type alias
SA1122 Use string.Empty for empty strings
SA1123 Do not place regions within elements
SA1124 Do not use regions
SA1125 Use shorthand for nullable types ✔¹
SA1200 Using directives must be placed within namespace
SA1201 Elements must appear in the correct order
SA1205 Partial elements must declare access
SA1206 Declaration keywords must follow order
SA1208 System using directives must be placed before other using directives ✔¹
SA1209 Using alias directives must be placed after other using directives ✔¹
SA1210 Using directives must be ordered alphabetically by namespace ✔¹
SA1211 Using alias directives must be ordered alphabetically by alias name ✔¹
SA1212 Property accessors must follow order
SA1213 Event accessors must follow order
SA1214 Static readonly elements must appear before static non-readonly elements
SA1216 ³ Using static directives must be placed after other using directives ✔¹
SA1217 ³ Using static directives must be ordered alphabetically ✔¹
SA1300 Element must begin with upper-case letter
SA1301 Element must begin with lower-case letter
SA1302 Interface names must begin with I
SA1303 Const field names must begin with upper-case letter
SA1304 Non-private readonly fields must begin with upper-case letter
SA1306 Field names must begin with lower-case letter
SA1307 Accessible fields must begin with upper-case letter
SA1308 Variable names must not be prefixed
SA1309 Field names must not begin with underscore
SA1310 Field names must not contain underscore
SA1311 Static readonly fields must begin with upper-case letter
SX1309 ² ³ Field names must begin with underscore
SX1309S ² ³ Static field names must begin with underscore
SA1400 Access modifier must be declared
SA1401 Fields must be private
SA1402 File may only contain a single class
SA1403 File may only contain a single namespace
SA1404 Code analysis suppression must have justification
SA1405 Debug.Assert must provide message text
SA1406 Debug.Fail must provide message text
SA1407 Arithmetic expressions must declare precedence
SA1408 Conditional expressions must declare precedence
SA1410 Remove delegate parenthesis when possible
SA1411 Attribute constructor must not use unnecessary parenthesis
SA1500 Curly brackets for multi-line statements must not share line
SA1501 Statement must not be on a single line
SA1502 Element must not be on a single line
SA1503 Curly brackets must not be omitted
SA1504 All accessors must be single-line or multi-line
SA1505 Opening curly brackets must not be followed by blank line
SA1506 Element documentation headers must not be followed by blank line
SA1507 Code must not contain multiple blank lines in a row
SA1508 Closing curly brackets must not be preceded by blank line
SA1509 Opening curly brackets must not be preceded by blank line
SA1510 Chained statement blocks must not be preceded by blank line
SA1511 While-do footer must not be preceded by blank line
SA1512 Single-line comments must not be followed by blank line
SA1513 Closing curly bracket must be followed by blank line
SA1514 Element documentation header must be preceded by blank line
SA1515 Single-line comment must be preceded by blank line
SA1516 Elements must be separated by blank line
SA1517 Code must not contain blank lines at start of file
SA1518 Code must not contain blank lines at end of file
SA1519 ³ Curly brackets must not be omitted from multi-line child statement
SA1520 ³ Use curly brackets consistently
SA1600 Elements must be documented
SA1601 Partial elements must be documented
SA1602 Enumeration items must be documented
SA1603 Documentation must contain valid XML
SA1604 Element documentation must have summary
SA1605 Partial element documentation must have summary
SA1606 Element documentation must have summary text
SA1607 Partial element documentation must have summary text
SA1608 Element documentation must not have default summary
SA1609 Property documentation must have value
SA1610 Property documentation must have value text
SA1611 Element parameters must be documented
SA1612 Element parameter documentation must match element parameters
SA1613 Element parameter documentation must declare parameter name
SA1614 Element parameter documentation must have text
SA1615 Element return value must be documented
SA1616 Element return value documentation must have text
SA1617 Void return value must not be documented
SA1618 Generic type parameters must be documented
SA1619 Generic type parameters must be documented partial class
SA1620 Generic type parameter documentation must match type parameters
SA1621 Generic type parameter documentation must declare parameter name
SA1622 Generic type parameter documentation must have text
SA1626 Single-line comments must not use documentation style slashes
SA1633 File must have header
SA1634 File header must show copyright
SA1635 File header must have copyright text
SA1637 File header must contain file name
SA1638 File header file name documentation must match file name
SA1639 File header must have summary
SA1640 File header must have valid company text
SA1642 Constructor summary documentation must begin with standard text
SA1643 Destructor summary documentation must begin with standard text
SA1651 ³ Do not use placeholder elements

Notes

¹ This code fix is provided by Visual Studio
² This "alternative" rule is not enabled by default
³ This rule is new for StyleCopAnalyzers, and isn't present in the original StyleCop

Acknowledgements

Thank you goes to all of the following users, who contributed feedback, bug reports, code submissions, testing, and reviews which helped in this release. In alphabetical order by username. This list does not include people who contacted us through other channels, but your feedback is no less valuable so we thank you as well.

1.0.0 Alpha 11

20 Jul 14:41
Compare
Choose a tag to compare
1.0.0 Alpha 11 Pre-release
Pre-release

API and Bug Fix Update

Summary

  • New diagnostics
  • Bug fixes
  • Performance improvements
  • New contributors

📝 This is the final release which supports Visual Studio 2015 RC. Moving forward we will support only Visual Studio 2015 RTM.

Analyzers

The following analyzers are included in this release (all with Warning severity by default).

ID Title Code Fix
SA1000 Keywords must be spaced correctly
SA1001 Commas must be spaced correctly
SA1002 Semicolons must be spaced correctly
SA1003 Symbols must be spaced correctly
SA1004 Documentation lines must begin with single space
SA1005 Single line comments must begin with single space
SA1006 Preprocessor keywords must not be preceded by space
SA1007 Operator keyword must be followed by space
SA1008 Opening parenthesis must be spaced correctly
SA1009 Closing parenthesis must be spaced correctly
SA1010 Opening square brackets must be spaced correctly
SA1016 Opening attribute brackets must be spaced correctly
SA1017 Closing attribute brackets must be spaced correctly
SA1018 Nullable type symbols must be spaced correctly
SA1020 Increment decrement symbols must be spaced correctly
SA1021 Negative signs must be spaced correctly
SA1022 Positive signs must be spaced correctly
SA1024 Colons Must Be Spaced Correctly
SA1025 Code must not contain multiple whitespace in a row
SA1026 Code must not contain space after new keyword in implicitly typed array allocation
SA1027 Tabs must not be used
SA1028 ³ Code must not contain trailing whitespace
SA1100 Do not prefix calls with base unless local implementation exists
SA1101 Prefix local calls with this
SA1102 QueryClauseMustFollowPreviousClause
SA1103 QueryClausesMustBeOnSeparateLinesOrAllOnOneLine
SA1104 QueryClauseMustBeginOnNewLineWhenPreviousClauseSpansMultipleLines
SA1105 QueryClausesSpanningMultipleLinesMustBeginOnOwnLine
SA1106 Code must not contain empty statements
SA1107 Code must not contain multiple statements on one line
SA1108 Block statements must not contain embedded comments
SA1110 Opening parenthesis or bracket must be on declaration line
SA1111 Closing parenthesis must be on line of last parameter
SA1112 Closing parenthesis must be on line of opening parenthesis
SA1113 Comma must be on the same line as previous parameter
SA1114 Parameter list must follow declaration
SA1115 Parameter must follow comma
SA1118 Parameter must not span multiple lines
SA1119 Statement must not use unnecessary parenthesis
SA1120 Comments must contain text
SA1121 Use built-in type alias
SA1122 Use string.Empty for empty strings
SA1123 Do not place regions within elements
SA1124 Do not use regions
SA1125 Use shorthand for nullable types ✔¹
SA1200 Using directives must be placed within namespace
SA1201 Elements must appear in the correct order
SA1205 Partial elements must declare access
SA1206 Declaration keywords must follow order
SA1208 System using directives must be placed before other using directives ✔¹
SA1209 Using alias directives must be placed after other using directives ✔¹
SA1210 Using directives must be ordered alphabetically by namespace ✔¹
SA1211 Using alias directives must be ordered alphabetically by alias name ✔¹
SA1212 Property accessors must follow order
SA1213 Event accessors must follow order
SA1214 Static readonly elements must appear before static non-readonly elements
SA1216 ³ Using static directives must be placed after other using directives ✔¹
SA1217 ³ Using static directives must be ordered alphabetically ✔¹
SA1300 Element must begin with upper-case letter
SA1301 Element must begin with lower-case letter
SA1302 Interface names must begin with I
SA1303 Const field names must begin with upper-case letter
SA1304 Non-private readonly fields must begin with upper-case letter
SA1306 Field names must begin with lower-case letter
SA1307 Accessible fields must begin with upper-case letter
SA1308 Variable names must not be prefixed
SA1309 Field names must not begin with underscore
SA1310 Field names must not contain underscore
SA1311 Static readonly fields must begin with upper-case letter
SX1309 ² ³ Field names must begin with underscore
SX1309S ² ³ Static field names must begin with underscore
SA1400 Access modifier must be declared
SA1401 Fields must be private
SA1402 File may only contain a single class
SA1403 File may only contain a single namespace
SA1404 Code analysis suppression must have justification
SA1405 Debug.Assert must provide message text
SA1406 Debug.Fail must provide message text
SA1407 Arithmetic expressions must declare precedence
SA1408 Conditional expressions must declare precedence
SA1410 Remove delegate parenthesis when possible
SA1411 Attribute constructor must not use unnecessary parenthesis
SA1500 Curly brackets for multi-line statements must not share line
SA1501 Statement must not be on a single line
SA1502 Element must not be on a single line
SA1503 Curly brackets must not be omitted
SA1504 All accessors must be single-line or multi-line
SA1505 Opening curly brackets must not be followed by blank line
SA1506 Element documentation headers must not be followed by blank line
SA1507 Code must not contain multiple blank lines in a row
SA1508 Closing curly brackets must not be preceded by blank line
SA1509 Opening curly brackets must not be preceded by blank line
SA1510 Chained statement blocks must not be preceded by blank line
SA1511 While-do footer must not be preceded by blank line
SA1512 Single-line comments must not be followed by blank line
SA1513 Closing curly bracket must be followed by blank line
SA1514 Element documentation header must be preceded by blank line
SA1515 Single-line comment must be preceded by blank line
SA1516 Elements must be separated by blank line
SA1517 Code must not contain blank lines at start of file
SA1518 Code must not contain blank lines at end of file
SA1519 ³ Curly brackets must not be omitted from multi-line child statement
SA1520 ³ Use curly brackets consistently
SA1600 Elements must be documented
SA1601 Partial elements must be documented
SA1602 Enumeration items must be documented
SA1603 Documentation must contain valid XML
SA1604 Element documentation must have summary
SA1605 Partial element documentation must have summary
SA1606 Element documentation must have summary text
SA1607 Partial element documentation must have summary text
SA1608 Element documentation must not have default summary
SA1609 Property documentation must have value
SA1610 Property documentation must have value text
SA1611 Element parameters must be documented
SA1612 Element parameter documentation must match element parameters
SA1613 Element parameter documentation must declare parameter name
SA1614 Element parameter documentation must have text
SA1615 Element return value must be documented
SA1616 Element return value documentation must have text
SA1617 Void return value must not be documented
SA1618 Generic type parameters must be documented
SA1619 Generic type parameters must be documented partial class
SA1620 Generic type parameter documentation must match type parameters
SA1621 Generic type parameter documentation must declare parameter name
SA1622 Generic type parameter documentation must have text
SA1626 Single-line comments must not use documentation style slashes
SA1633 File must have header
SA1634 File header must show copyright
SA1635 File header must have copyright text
SA1637 File header must contain file name
SA1638 File header file name documentation must match file name
SA1639 File header must have summary
SA1640 File header must have valid company text
SA1642 Constructor summary documentation must begin with standard text
SA1643 Destructor summary documentation must begin with standard text
SA1651 ³ Do not use placeholder elements

Notes

¹ This code fix is provided by Visual Studio
² This "alternative" rule is not enabled by default
³ This rule is new for StyleCopAnalyzers, and isn't present in the original StyleCop

Acknowledgements

Thank you goes to all of the following users, who contributed feedback, bug reports, code submissions, testing, and reviews which helped in this release. In alphabetical order by username. This list does not include people who contacted us through other channels, but your feedback is no less valuable so we thank you as well.

1.0.0 Alpha 10

31 May 14:56
Compare
Choose a tag to compare
1.0.0 Alpha 10 Pre-release
Pre-release
1.0.0-alpha010

Update version numbers for release 1.0.0-alpha010

1.0.0 Alpha 9

30 May 20:32
Compare
Choose a tag to compare
1.0.0 Alpha 9 Pre-release
Pre-release
1.0.0-alpha009

Update version numbers for release 1.0.0-alpha009

1.0.0 Alpha 8

27 May 04:28
Compare
Choose a tag to compare
1.0.0 Alpha 8 Pre-release
Pre-release

API and Bug-fix Update

1.0.0 Alpha 7

25 May 02:42
Compare
Choose a tag to compare
1.0.0 Alpha 7 Pre-release
Pre-release

API and Bug-fix Update

  • Features (new diagnostics)
    • SA1027 (TabsMustNotBeUsed)
    • SA1028 (CodeMustNotContainTrailingWhitespace)
    • SA1108 (BlockStatementsMustNotContainEmbeddedComments)
    • SA1118 (ParameterMustNotSpanMultipleLines)
    • SA1208 (SystemUsingDirectivesMustBePlacedBeforeOtherUsingDirectives)
    • SA1216 (UsingStaticDirectivesMustBePlacedAfterOtherUsingDirectives)
    • SA1217 (UsingStaticDirectivesMustBeOrderedAlphabetically)
    • SA1501 (StatementMustNotBeOnSingleLine)
    • SA1502 (ElementMustNotBeOnSingleLine)
    • SA1512 (SingleLineCommentsMustNotBeFollowedByBlankLine)
    • SA1515 (SingleLineCommentsMustNotBePrecededByBlankLine)
    • SA1519 (CurlyBrackets)
    • SA1520 (UseCurlyBracketsConsistently)
    • SA1651 (DoNotUsePlaceholderElements)
  • Features (new code fixes for existing rules)
    • SA1500 (CurlyBracketsForMultiLineStatementsMustNotShareLine)
    • SA1609 (PropertyDocumentationMustHaveValue)
    • SA1610 (PropertyDocumentationMustHaveValueText)
    • SA1617 (VoidReturnValueMustNotBeDocumented)
  • Features (alternative rules)
    • SX1309 (FieldNamesMustBeginWithUnderscore)
    • SX1309S (StaticFieldNamesMustBeginWithUnderscore)
  • Bug fixes
    • Fix application of [ExportCodeFixProvider] (#803)
    • Enable analysis for several files previously excluded for their name alone (#848, #849, #850, #851, #854)
    • Allow <autogenerated as a trigger in a file header to skip file analysis (#833)
    • SA1005 (SingleLineCommentsMustBeginWithSingleSpace) (#715)
    • SA1205 (PartialElementsMustDeclareAccess) (#792)
    • SA1300 (ElementMustBeginWithUpperCaseLetter) (#771)
    • SA1304 (NonPrivateReadonlyFieldsMustBeginWithUpperCaseLetter) (#574)
    • SA1402 (FileMayOnlyContainASingleClass) (#773)
    • SA1403 (FileMayOnlyContainASingleNamespace) (#774)
    • SA1503 (CurlyBracketsMustNotBeOmitted) (#859)
    • SA1509 (OpeningCurlyBracketsMustNotBePrecededByBlankLine) (#775)
    • SA1513 (ClosingCurlyBracketMustBeFollowedByBlankLine) (#784)
    • SA1642 code fix (#780)

Analyzers

The following analyzers are enabled by default in this release (all with Warning severity by default).

ID Title Code Fix
SA1000 Keywords must be spaced correctly
SA1001 Commas must be spaced correctly
SA1002 Semicolons must be spaced correctly
SA1005 Single line comments must begin with single space
SA1006 Preprocessor keywords must not be preceded by space
SA1007 Operator keyword must be followed by space
SA1021 Negative signs must be spaced correctly
SA1022 Positive signs must be spaced correctly
SA1027 Tabs must not be used
SA1028 Code must not contain trailing whitespace
SA1100 Do not prefix calls with base unless local implementation exists
SA1101 Prefix local calls with this
SA1102 Query clause must follow previous clause
SA1106 Code must not contain empty statements
SA1108 Block statements must not contain embedded comments
SA1110 Opening parenthesis or bracket must be on declaration line
SA1111 Closing parenthesis must be on line of last parameter
SA1112 Closing parenthesis must be on line of opening parenthesis
SA1113 Comma must be on the same line as previous parameter
SA1114 Parameter list must follow declaration
SA1118 Parameter must not span multiple lines
SA1119 Statement must not use unnecessary parenthesis
SA1121 Use built-in type alias
SA1122 Use string.Empty for empty strings
SA1123 Do not place regions within elements
SA1124 Do not use regions
SA1125 Use shorthand for nullable types
SA1201 Elements must appear in the correct order
SA1205 Partial elements must declare access
SA1212 Property accessors must follow order
SA1213 Event accessors must follow order
SA1216 Using static directives must be placed after other using directives
SA1217 Using static directives must be ordered alphabetically
SA1300 Element must begin with upper-case letter
SA1301 Element must begin with lower-case letter
SA1302 Interface names must begin with I
SA1303 Const field names must begin with upper-case letter
SA1304 Non-private readonly fields must begin with upper-case letter
SA1306 Field names must begin with lower-case letter
SA1307 Accessible fields must begin with upper-case letter
SA1308 Variable names must not be prefixed
SA1309 Field names must not begin with underscore
SA1310 Field names must not contain underscore
SA1311 Static readonly fields must begin with upper-case letter
SA1400 Access modifier must be declared
SA1401 Fields must be private
SA1402 File may only contain a single class
SA1403 File may only contain a single namespace
SA1404 Code analysis suppression must have justification
SA1405 Debug.Assert must provide message text
SA1406 Debug.Fail must provide message text
SA1407 Arithmetic expressions must declare precedence
SA1408 Conditional expressions must declare precedence
SA1410 Remove delegate parenthesis when possible
SA1411 Attribute constructor must not use unnecessary parenthesis
SA1500 Curly brackets for multi-line statements must not share line
SA1501 Statement must not be on a single line
SA1502 Element must not be on a single line
SA1503 Curly brackets must not be omitted
SA1504 All accessors must be single-line or multi-line
SA1507 Code must not contain multiple blank lines in a row
SA1509 Opening curly brackets must not be preceded by blank line
SA1513 Closing curly bracket must be followed by blank line
SA1516 Elements must be separated by blank line
SA1517 Code must not contain blank lines at start of file
SA1518 Code must not contain blank lines at end of file
SA1600 Elements must be documented
SA1601 Partial elements must be documented
SA1602 Enumeration items must be documented
SA1603 Documentation must contain valid XML
SA1604 Element documentation must have summary
SA1605 Partial element documentation must have summary
SA1606 Element documentation must have summary text
SA1607 Partial element documentation must have summary text
SA1608 Element documentation must not have default summary
SA1609 Property documentation must have value
SA1610 Property documentation must have value text
SA1611 Element parameters must be documented
SA1612 Element parameter documentation must match element parameters
SA1613 Element parameter documentation must declare parameter name
SA1614 Element parameter documentation must have text
SA1615 Element return value must be documented
SA1616 Element return value documentation must have text
SA1617 Void return value must not be documented
SA1626 Single-line comments must not use documentation style slashes
SA1642 Constructor summary documentation must begin with standard text
SA1643 Destructor summary documentation must begin with standard text
SA1651 Do not use placeholder elements

Alternative Analyzers

The following analyzers are provided to implement "alternate configurations" to some of the reference rules above.

ID Title Code Fix
SX1309 Field names must begin with underscore
SX1309S Static field names must begin with underscore

Acknowledgements

Thank you goes to all of the following users, who contributed feedback, bug reports, code submissions, testing, and reviews which helped in this release. In alphabetical order by username. This list does not include people who contacted us through other channels, but your feedback is no less valuable so we thank you as well.

1.0.0 Alpha 6

03 May 01:19
Compare
Choose a tag to compare
1.0.0 Alpha 6 Pre-release
Pre-release

API and Bug-fix Update

  • General
    • Update to the "RC2" release of Roslyn, which matches Visual Studio 2015 RC: #712
  • Features
    • Implemented SA1612 (ElementParameterDocumentationMustMatchElementParameters): #132
  • Bug fixes
    • SA1110 (OpeningParenthesisMustBeOnDeclarationLine): #728
    • SA1205 (PartialElementsMustDeclareAccess): #714
    • SA1611 (ElementParametersMustBeDocumented): #718, #719, #720

Analyzers

The following analyzers are enabled by default in this release (all with Warning severity by default).

ID Title Code Fix
SA1000 Keywords must be spaced correctly
SA1001 Commas must be spaced correctly
SA1002 Semicolons must be spaced correctly
SA1005 Single line comments must begin with single space
SA1006 Preprocessor keywords must not be preceded by space
SA1007 Operator keyword must be followed by space
SA1021 Negative signs must be spaced correctly
SA1022 Positive signs must be spaced correctly
SA1100 Do not prefix calls with base unless local implementation exists
SA1101 Prefix local calls with this
SA1102 Query clause must follow previous clause
SA1106 Code must not contain empty statements
SA1110 Opening parenthesis or bracket must be on declaration line
SA1111 Closing parenthesis must be on line of last parameter
SA1112 Closing parenthesis must be on line of opening parenthesis
SA1113 Comma must be on the same line as previous parameter
SA1114 Parameter list must follow declaration
SA1119 Statement must not use unnecessary parenthesis
SA1121 Use built-in type alias
SA1122 Use string.Empty for empty strings
SA1123 Do not place regions within elements
SA1124 Do not use regions
SA1125 Use shorthand for nullable types
SA1201 Elements must appear in the correct order
SA1205 Partial elements must declare access
SA1212 Property accessors must follow order
SA1213 Event accessors must follow order
SA1300 Element must begin with upper-case letter
SA1301 Element must begin with lower-case letter
SA1302 Interface names must begin with I
SA1303 Const field names must begin with upper-case letter
SA1304 Non-private readonly fields must begin with upper-case letter
SA1306 Field names must begin with lower-case letter
SA1307 Accessible fields must begin with upper-case letter
SA1308 Variable names must not be prefixed
SA1309 Field names must not begin with underscore
SA1310 Field names must not contain underscore
SA1311 Static readonly fields must begin with upper-case letter
SA1400 Access modifier must be declared
SA1401 Fields must be private
SA1402 File may only contain a single class
SA1403 File may only contain a single namespace
SA1404 Code analysis suppression must have justification
SA1405 Debug.Assert must provide message text
SA1406 Debug.Fail must provide message text
SA1407 Arithmetic expressions must declare precedence
SA1408 Conditional expressions must declare precedence
SA1410 Remove delegate parenthesis when possible
SA1411 Attribute constructor must not use unnecessary parenthesis
SA1500 Curly brackets for multi-line statements must not share line
SA1503 Curly brackets must not be omitted
SA1504 All accessors must be single-line or multi-line
SA1507 Code must not contain multiple blank lines in a row
SA1509 Opening curly brackets must not be preceded by blank line
SA1513 Closing curly bracket must be followed by blank line
SA1516 Elements must be separated by blank line
SA1517 Code must not contain blank lines at start of file
SA1518 Code must not contain blank lines at end of file
SA1600 Elements must be documented
SA1601 Partial elements must be documented
SA1602 Enumeration items must be documented
SA1603 Documentation must contain valid XML
SA1604 Element documentation must have summary
SA1605 Partial element documentation must have summary
SA1606 Element documentation must have summary text
SA1607 Partial element documentation must have summary text
SA1608 Element documentation must not have default summary
SA1609 Property documentation must have value
SA1610 Property documentation must have value text
SA1611 Element parameters must be documented
SA1612 (new) Element parameter documentation must match element parameters
SA1613 Element parameter documentation must declare parameter name
SA1614 Element parameter documentation must have text
SA1615 Element return value must be documented
SA1616 Element return value documentation must have text
SA1617 Void return value must not be documented
SA1626 Single-line comments must not use documentation style slashes
SA1642 Constructor summary documentation must begin with standard text
SA1643 Destructor summary documentation must begin with standard text

Acknowledgements

Thank you goes to all of the following users, who contributed feedback, bug reports, code submissions, testing, and reviews which helped in this release. In alphabetical order by username. This list does not include people who contacted us through other channels, but your feedback is no less valuable so we thank you as well.