Releases: dennisdoomen/CSharpGuidelines
5.7.0
5.6.0
What's Changed
- Updated menu titles to match with chapter titles by @bkoelman in #235
- Added missing collection interfaces to AV1130 by @bkoelman in #236
- Replaced broken link in AV1835 by @bkoelman in #237
- Updated AV1545 to use null-coalescing assignment operator (C# 8) by @bkoelman in #244
- Various small fixes and improvements by @bkoelman in #242
- Added guidance on composite string formatting by @bkoelman in #241
- Added link for async guidance by @bkoelman in #247
- Fix formatting of titles by @bkoelman in #238
- Updated C# version to 10 by @bkoelman in #251
- AV2210: Max warning level depends on TFM and compiler version by @bkoelman in #248
- Clarified the use of var (AV1520) and supplemented AV1707 (names) by @bkoelman in #252
Full Changelog: 5.5.0...5.6.0
5.5.0
What's Changed
- Just a few nits by @bkoelman in #188
- Updated title to match by @bkoelman in #189
- Small corrections by @bkoelman in #190
- Changed guidance on #region usage by @bkoelman in #192
- Revised AV1553 by @keremispirli in #193
- Aligned Cheatsheet with #193 (Revised AV1553) by @keremispirli in #194
- Redesign csharpguidelines by @mvhoute in #197
- Extract rules into separate Markdown files by @julianbartel in #196
- Make 1547 example compilable by @jnyrup in #201
- Add adjustment for long-running operations in AV1825 by @rynkevich in #204
- Updated guidance on the use of parentheses in expressions by @bkoelman in #208
- Added new rule for easy debugging by @bkoelman in #210
- Fix code format in 1701 and 2402 by @julianbartel in #213
- Remove ICollection as an allowed interface from AV1130 by @maikelsteneker in #216
- AV1739: Added note for discard usage on C# 9 by @bkoelman in #219
- AV2201 static member access by @bkoelman in #223
- Bump nokogiri from 1.8.2 to 1.11.4 by @dependabot in #226
- Bump addressable from 2.5.2 to 2.8.0 by @dependabot in #227
- Task / ValueTask related guidance by @czimpi in #230
New Contributors
- @keremispirli made their first contribution in #193
- @mvhoute made their first contribution in #197
- @julianbartel made their first contribution in #196
- @jnyrup made their first contribution in #201
- @rynkevich made their first contribution in #204
- @maikelsteneker made their first contribution in #216
- @dependabot made their first contribution in #226
- @czimpi made their first contribution in #230
Full Changelog: 5.4.0...5.5.0
5.4.0
- {New} Extended AV1135 with Task-specified defaults - #174
- {New] Rule references are now clickable on the site, the HTML and the PDF
- {Fix} Removed the unnecessary
Where()
in the example of AV2221 - #181 - {Fix} Fixed the search functionality
- {Fix} Fixed broken links - #182. #184
- {Fix} Query and method syntax are both LINQ so AV2200 is about avoiding query syntax and preferring method syntax - #183
- {Fix} Fixed the broken layout of the tables.
- {Fix] Documented the steps to build the PDFs.
- {Fix} Removed an old obsolete section.
- {Fix} Removed any references to GhostDoc since I no longer believe in those generated docs.
- {Fix} Fixed an inconsistency between AV2220 and AV2400 - #173
- {Fix} Rephrased AV1830 to mention the current sync context - #163
See also 5.3.0...5.4.0 for the commits.
Kudos to @Barsonax, @synercoder and @danbowker for the contributions.
5.3.0
- {Fix} Revert: replace underscores with discards - #164
- {Fix} Corrected the example of AV1522 - #168
- {Fix} Corrected the example of AV2235 that was not using Task - #172
- {Fix} Corrected terminology in AV2221 - #171
- {New} Added exception for immutable collections in AV1130 - #165
- {Fix} Removed FxCop references - #175
- {Fix} Updated naming in AV1706/AV1738 to match with Resharper - #177
Kudos @bkoelman for this release.
5.2.1
5.2.0
- {New} Updated support for C# 7.3 - #159
- {New} Added new guideline (AV2410) to use expression-bodied members appropriately - #142
- {New} Added new guideline (AV2202) to prefer using language syntax over directly calling the underlying framework implementation - #144
- {New} Added naming guidelines for tuples to AV1702 - #146
- {New} Added specific guidelines for local functions - #92
- {New} Added tuple constraints to AV1561 - #161
- {Breaking} Removed AV2205 that dealt with naming of identifiers refering to localized resources - #143
- {Breaking} Removed AV2215 since manually providing the contents of the
AssemblyInfo.cs
is no longer needed - #143 - {Fix} Removed the incomplete part about running a command-line to compile the Markdown versions of the guidelines and cheatsheet to self-contained HTML files - #133
- {Fix} Don't append a CR and LF to the output, since this is rendered visibly - #134
- {Fix} Fixed the generic part of the example in AV1220 - #137
- {Fix} Reorganized the naming conventions table in AV1702 to remove ambiguity - #145
- {Fix} Various typos and grammer improvements - #160
Kudos to @bkoelman for doing all of the hard work in this release.
5.1.0
-
{New} Updated AV1501 to make types
sealed
by default - #71 -
{New} Added rule AV1026 "Classes should protect the consistency of their internal state" - #78
-
{New} Added a reference to the four principles of OOP - #79
-
{New} Use null-conditional operator for event invocations in AV1220 - #82
-
{New} Update AV1739 for discards using
_
and__
- #90 -
{New} Updated examples in AV1545 and added ternary operator example - #88
-
{New} Allow multiple assignments per statement in AV1552 by using out variables, is-patterns or deconstruction into tuples - #100
-
{New} Added example for new-format dictionary initializers - #101
-
{New} Added null-conditional operator example to AV1545 - #103
-
{New} Added tuples and exception for TryParse to AV1562 - #113
-
{New} Added naming conventions for local functions & tuple elements to AV1702 - #115
-
{New} Added ordering guidelines for local functions - #119
-
{New} Added guidelines on where to put namespaces - #122
-
{New} Added new rule (AV1251) for
this
/base
prefixes - #123 -
{New} Updated AV2400 to include expression bodied members and initializers - #118
-
{New} Rewrote AV1570 to use the
is
pattern overas
withnull
check - #114 -
{New} Updated AV1720 to include local functions naming guidelines - #117
-
{New} Updated AV2400 with the proper location of
static
and aliases - #126 -
{Fix} Added example to AV1515 on using binary literal with digit separator - #125
-
{Fix} Updated type naming examples in AV1708 - #84
-
{Fix} Rephrased AV1010 based on feedback - #80
-
{Fix} Fixed links to SOLID principels and Uncle Bob's site - #63
-
{Fix} Updated example of AV1225 to match naming rules - #73
-
{Fix} Fixed a misleading example in AV1553 on multiple overloads - #66
-
{Fix} Fixed the reference to AV1135 in AV1553 - #75
-
{Fix} Clarified the layout of multi-line members in AV2400 - #76
-
{Fix} Added a differentiation between acronyms and abbreviations in AV1706 - #81
-
{Fix} Updated AV1506 to account for generic types - #89
-
{Fix} Various small corrections - #95
Special thanks to the significant contributions of @bkoelman
5.0.0
Release Notes
- {Changed} Update the styles to match the official Aviva Solutions styling
- {Changed} Added an exception to AV2201 to mention methods like GetUInt16 or ReadString - #14
- {Changed} Removed a remark on the
is
operator from AV1570 - #42 - {Changed} Clarified the difference between a local variable and a class-level variable in AV1701 - #16
- {Changed} Altered the example of calling overloads without duplication in AV1551 - #20
- {Changed} Added a preference for using just a verb for naming methods - #19.
- {Fix} Corrected the usage of parentheses and braces in AV2400 - #13
- {Fix} The loop variable in a
foreach
loop is read-only, so updated the example in AV1530 - #39 - {Fix} The example code AV2221 did not even compile - #41
- {Fix} Lots of spelling and typo corrections
- {Fix} Fixed the reference to Jeremy's article Isolate The Ugly Stuff - #21
Downloads