v0.25.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[0.25.2] - 2024-01-09
- This version is suppose to be release by Github CLI
[0.25.1] - 2024-01-09
- Testing
[0.23.6] - 2024-01-05
- Fix recent regression in MaxLinesIn* rules fsprojects#667 [@webwarrior-ws] & [@Mersho]
- Migrate from .NET5 to .NET6 fsprojects#655 fsprojects#606 fsprojects#604 [@Numpsy] & [@knocte] & [@webwarrior-ws]
- CI: better separation of main lane steps fsprojects#654 [@knocte]
[0.23.0] - 2023-12-28
- A new rule that deters from using underscore-prefixed elements fsprojects#643 fsprojects#573 fsprojects#591 [@tehraninasab] & [@webwarrior-ws]
- CI: don't push pre-releases for release notes commits. fsprojects#647 [@knocte]
- Ignore empty lines and comments when counting number of lines fsprojects#644 fsprojects#634 [@Mersho] & [@webwarrior-ws]
[0.21.10] - 2023-12-20
- AvoidSinglePipeOperator: fix false positive fsprojects#640 [@webwarrior-ws]
- CI: improve preRelease version numbers fsprojects#642 [@knocte]
- AvoidTooShortNames: fix false negative fsprojects#639 [@Mersho] & [@webwarrior-ws]
- CI: faster publish&docs pipelines thanks to Linux fsprojects#641 [@knocte]
[0.21.8] - 2023-12-19
- Add new rules NestedFunctionNames and UnnestedFunctionNames fsprojects#564 [@su8898] & [@webwarrior-ws]
- Addressed regression in the docs CI deploy [@knocte]
- Move docs CI to main CI (to detect problems earlier next time) fsprojects#636 [@knocte]
[0.21.7] - 2023-12-16
- Add new rule SuggestUseAutoProperty fsprojects#625 fsprojects#596 [@webwarrior-ws]
- AvoidTooShortNames: fix false negatives and improve warning positions fsprojects#633 fsprojects#632 [@Mersho] & [@webwarrior-ws]
- FavourStaticEmptyFields: properly advise Array.empty instead of List.Empty fsprojects#631 fsprojects#630 [@webwarrior-ws]
- CI: publish prerelease nuget versions for every commit fsprojects#629 [@knocte]
- CI: run FSharpLint on itself fsprojects#609 fsprojects#628 [@Mersho]
[0.21.6] - 2023-12-07
- Add new rule AsyncExceptionWithoutReturn fsprojects#623 fsprojects#597 [@Mersho]
- FailwithBadUsage: extern declarations bugfix fsprojects#562 fsprojects#561 [@webwarrior-ws]
- HintMatcher: fix potential crash fsprojects#608 fsprojects#341 [@Thorium]
- CI: upgrade the 'setup-dotnet' action fsprojects#614 [@Numpsy]
- Additional improvements to docs and CI [@knocte]
[0.21.5] - 2023-12-06
- FSharpLint.Console: add --version fsprojects#612 fsprojects#611 [@Thorium]
- gitignore: add the BenchmarkDotNet artifacts folder fsprojects#619 [@Numpsy]
- CI: remove redundant .NET install fsprojects#624 [@knocte]
- Add new rule AvoidSinglePipeOperator fsprojects#595 [@tehraninasab]
- AvoidTooShortNames: fix false negative (generic type names) fsprojects#622 [@Mersho]
- Remove recursive dependency fsprojects#569 [@knocte]
- Conventions/Naming: refactoring fsprojects#571 [@webwarrior-ws]
[0.21.4] - 2023-11-23
- Paket: use Packages storage fsprojects#615 [@Numpsy]
- Fix VS2022 build fsprojects#613 [@Thorium]
- Dotnet version SDK to allow minor version difference fwd fsprojects#607 [@Thorium]
- docs: fix Shortcuts typo in the menu fsprojects#584 [@pirrman]
- Fix false negatives in AvoidTooShortNames fsprojects#548 [@janus]
- Fix cyclomatic complexity yielding redundant messages fsprojects#559 fsprojects#579 [@davidtgillard]
- Refactoring: rename DU fsprojects#565 [@webwarrior-ws]
[0.21.3] - 2022-09-29
- Add new rule FavourStaticEmptyFields fsprojects#530 [@janus]
- Fix false negative in GenericTypesNames fsprojects#551 fsprojects#552 [@janus]
- Fix GenericTypesNames not honoring configuation fsprojects#552 [@janus]
- Stop ignoring errors when parsing fsharplint.json fsprojects#550 fsprojects#553 [@janus]
- Fix false negative in RedundantNewKeyword fsprojects#555 fsprojects#556 [@janus]
[0.21.2] - 2022-04-07
- Fix for false positive in FailwithBadUsage fsprojects#539 [@janus]
- FavourConsistentThis: fix some false positives and add unit tests for them [@janus]
- NoPartialFunctions: detect instance members Option.Value, Map.Item, List.Head & List.Item [@su8898]
- Cover more scenarios in FailwithBadUsage [@janus]
[0.21.1] - 2022-03-01
- Add new rule AvoidTooShortNames [@janus]
- Add missing config setting hooks for recently added rules [@janus]
[0.21.0] - 2021-11-18
- Add new rule FailwithBadUsage [@su8898]
- Add new rule FavourReRaise [@su8898]
- Enable running tool on .Net 6 [@cheroukee]
[0.20.2] - 2021-10-09
- Added cyclomatic complexity rule [@davidtgillard]
- Added FavourTypedIgnore rule [@su8898]
- Added GenericTypesNames rule [@su8898]
[0.20.1] - 2021-09-06
- Fix NonPublicValues' setting backwards compatiblity. [@aarani]
[0.20.0] - 2021-09-02
[0.19.2] - 2021-07-05
- Fix for extern function naming fsprojects#487
- Doc update - configuration file info.
[0.19.1] - 2021-06-23
- Update to FCS 40 [@baronfel]
[0.19.0] - 2021-06-12
- Update to FCS 39 [@baronfel]
- Consumers of the API will now need to call
Ionide.ProjInfo.Init.init(), see the FSharpLint.Console project within this repo for an example.
- Consumers of the API will now need to call
[0.18.1] - 2021-01-27
- Update docs.
[0.18.0] - 2021-01-08
- Added new rule
NoPartialFunctions (FL0066).
[0.17.1] - 2020-11-25
- Fix for records being counted as a nested statement fsprojects#464 [@davidtgillard]
[0.17.0] - 2020-11-13
[0.16.5] - 2020-06-26
- Update navigation in docs.
[0.16.4] - 2020-06-26
- Update docs to fix broken links.
[0.16.3] - 2020-06-13
- Update docs to support https.
[0.16.2] - 2020-06-10
- Load config from
fsharplint.jsonby default.
[0.16.1] - 2020-06-10
- Fix RecordFieldNames rule incorrectly checking Union Case fields
[0.16.0] - 2020-06-10
- Use
Dotnet.ProjInfo.Workspaceto load project info.
[0.15.0] - 2020-06-08
- Update FCS to 36.0.1 [@baronfel]
- Check record fields in TypedItemSpacing rule
- Fixes for issues in Indentation rule
[0.14.2] - 2020-05-20
- Fixes for exceptional indentation cases
[0.14.1] - 2020-05-19
- .NET Core 3.1 support [@milbrandt]
- Performance optimizations
- Handle exceptional cases for indentation rule
- Fix issue with active pattern naming rule running against measure types
[0.14.0] - 2020-04-11
- Update FCS to 35 [@baronfel]
[0.13.3] - 2020-02-25
- Fix for suppression comment parsing
[0.13.2] - 2020-02-25
- Remove support for multiple overriding configs
- Update FCS to 34.0.1 [@baronfel]
[0.13.1] - 2020-02-24
- Use structured comments for warning suppression
- Use Argu library for command line argument parsing
[0.13.0] - 2020-02-20
- Add
-formatflag to specify output format (standard or MSBuild).
[0.12.10] - 2020-01-23
- Return non-zero error code when there are lint warnings
[0.12.9] - 2020-01-23
- Fix linting of solution in non-Windows systems
[0.12.8] - 2020-01-23
- Pass release configuration to dotnet proj info
[0.12.7] - 2020-01-07
- Add
-cflag for specifying MSBuild release configuration
[0.12.6] - 2019-12-05
- Update FCS to 33.0 [@baronfel]
[0.12.5] - 2019-10-07
- Addressed issue: fsprojects#367 [@jrr]
[0.12.4] - 2019-10-05
- Update FCS to 32.0 [@Krzysztof-Cieslak]
[0.12.3] - 2019-08-15
- Update FCS to 31.0 [@baronfel]
[0.12.2] - 2019-07-03
- Add API to convert XmlConfiguration to new config type [@milbrandt]
- Ignore active patterns in PublicValues naming conventions rule
- Update FCS to 30.0 [@baronfel]
- Use Newtonsoft.Json for config parsing
[0.12.1] - 2019-05-31
- Implement linting of all projects in solution using
-solflag, or programmatically usinglintSolutionfunction - Return non-zero exit code if lint warnings exist
- Fix bug in converting XML config with no hints defined
- Add
XmlConfiguration.tryLoadConfigurationForProjectto support backwards compatability in external applications
[0.12.0] - 2019-05-29
- Update
FSharp.Compiler.Service
[0.11.1] - 2019-05-14
- Fix issue in loading default configuration
[0.11.0] - 2019-05-14
- Add ability to disable previously defined hints
- Ignore members implementing interface when checking member naming
- Change config from XML to JSON
- Refactor and redesign linter internals
[0.10.8] - 2019-04-01
- Fixed bug: fsprojects#323 by jgardella
- Update
FSharp.Compiler.Service, by enricosada
[0.10.7] - 2019-02-26
- Fixed bug: fsprojects#304
[0.10.6] - 2019-02-26
- Update
FSharp.Compiler.Service
[0.10.5] - 2019-02-13
- Update
FSharp.Compiler.Service, by baronfel
[0.10.4] - 2019-02-11
- Improve tuple item spacing check, by jgardella
- Ignore pattern matching in function parameters, by jgardella
- Fix using FSharpLint.Core targeting
net, by enricosada - Fix match indentation calculation, by jgardella
- Produce tuple type string correctly, by jgardella
- Fix false positive for tuple instantiation with cons operator, by jgardella
- Take comments into account when checking spacing, by jgardella
[0.10.3] - 2019-01-29
- Update configuration defaults to exclude formatting rules for now.
[0.10.2] - 2018-12-20
- API C# interop, thanks to @jgardella
- Fix guard indentation in FormattingMatchExpressionIndentation rule, thanks to @jgardella
- Command line interface improvements.
[0.10.1] - 2018-10-18
- Pack console application as tool.
[0.10.0] - 2018-10-07
- Move solution to dotnet core.
[0.9.1-beta] - 2018-02-22
- Fixed fsprojects#256 by @SteveGilham
- Fixed fsprojects#252 by @SteveGilham
[0.9.0] - 2018-01-28
- .net standard 2.0 support, thanks to @enricosada
[0.9.0-beta] - 2017-10-19
- .net standard 2.0 support, thanks to @enricosada
[0.8.1] - 2017-10-10
- Fixed fsprojects#240
[0.8.0] - 2017-09-05
- Updated
FSharp.Compiler.Service
[0.7.7] - 2017-08-20
- Fixed fsprojects#237
[0.7.6] - 2017-07-02
- Fixed fsprojects#229
- Fixed fsprojects#227
- Updated
FSharp.Compiler.Service
[0.7.5-beta] - 2017-03-31
- Updated
FSharp.Compiler.Service
[0.7.4-beta] - 2017-03-03
- Updated
FSharp.Compiler.Service
[0.7.3-beta] - 2017-02-23
- Updated
FSharp.Compiler.Service
[0.7.2-beta] - 2017-02-23
- Updated
FSharp.Compiler.Service
[0.7.1-beta] - 2017-02-20
- Added suggestion for redundant usages of the
newkeyword.
[0.7.0-beta] - 2017-02-12
- Type checks performed at end of lint in parallel
- Linter now cancellable.
[0.6.5-beta] - 2017-02-11
- Updated
FSharp.Compiler.Service - New hints by @ErikSchierboom
[0.6.4-beta] - 2017-01-30
- Updated
FSharp.Compiler.Service
[0.6.3-beta] - 2017-01-22
- Improved performance of naming analyser.
[0.6.2-beta] - 2017-01-21
- Added suggested fixes for naming rules.
- New hint by @smoothdeveloper: fsprojects#207
[0.6.1-beta] - 2017-01-17
- Naming rules now customisable thanks to @Krzysztof-Cieslak.
[0.5.1-beta] - 2016-12-31
- Introduced automated fix information to API.
[0.4.12] - 2016-11-16
- Fixed bug: fsprojects#191
[0.4.11] - 2016-11-10
- Bug fixed by @rexcfnghk: fsprojects#189
[0.4.10] - 2016-10-24
- Updated FSharp.Compiler.Service
[0.4.9] - 2016-10-08
- Fixed bug: fsprojects#184
[0.4.8] - 2016-09-13
- Updated wording of warnings.
- Disabled
RecordFieldNamesMustBePascalCasenaming rule by default.
[0.4.7-beta] - 2016-09-09
- Included FSharp.Core.sigdata and FSharp.Core.optdata in the FSharpLint.MSBuild package.
[0.4.6] - 2016-08-21
- Bug fixed by @Krzysztof-Cieslak: fsprojects#172
[0.4.5] - 2016-08-05
- Added missing app.config file to FSharpLint.MSBuild package
[0.4.5-beta] - 2016-08-04
- Run linter in separate AppDomain in MSBuild package so that we can add binding redirects to get the correct version of FSharp.Core
[0.4.4] - 2016-07-23
- Fixed structure of FSharpLint.MSBuild package
[0.4.3] - 2016-07-23
- Updated FSharp.Compiler.Service
[0.4.2] - 2016-07-16
- Fixed name convention bug which warned for DU names inside patterns.
[0.4.2-beta] - 2016-07-14
- Added required project cracker files to FSharpLint.Fake package.
[0.4.1-beta] - 2016-07-09
- Updated FSharp.Compiler.Service
- Brought back configuration manager api.
- Targets FSharp.Core 4.4.0.0
[0.4.0-beta] - 2016-06-26
- Added initial dotnet core support.
[0.3.0-beta] - 2016-06-19
- Improved overall performance of linter.
- Updated default configuration to have opinionated rules off by default.
[0.2.7] - 2015-09-27
- Fixed bug: fsprojects#126
- Fixed bug: fsprojects#125
- Added feature - now able to write a message as a suggestion in hints: fsprojects#117
- Added feature - nulls can now be matched against in hints: fsprojects@89050c3
- Fixed bug - lambda length warnings would be repeated for each argument: fsprojects@bc49dd6
- Enhancement - display operators as symbols in eta reduction suggestions: fsprojects@1b2f115
- Enhancement - updated warning messages: fsprojects@49e579c
- Partially fixed bug (fixed when type checking enabled): fsprojects#113
- Partially fixed bug (fixed when type checking enabled): fsprojects#109
- Configuration can now be written back to XML.
- Configuration API updated to provide management of configuration files.
[0.2.6] - 2015-07-18
- Fixed bug: fsprojects#108
Defaultproperty now static: fsprojects#107
[0.2.5] - 2015-07-07
- FSharp.Core.dll is now included again
[0.2.4] - 2015-07-06
- Fixed bug: fsprojects#101
- Fixed bug: fsprojects#100
- Fixed bug: fsprojects#99
- Fixed bug: fsprojects#103
[0.2.3] - 2015-07-02
- Fixed bug: fsprojects#98
[0.2.2] - 2015-06-09
- Fixed bug: fsprojects#97
- XmlDoc rules now configurable to apply to code with certain access levels e.g. private or public. Thanks goes to Jon Hamm for implementing this feature
[0.2.1] - 2015-05-31
- Included FSharp.Core
- Fixed bug where hints would accidentally match named parameters and property initialisers
[0.2.0] - 2015-05-31
- Configuration has been updated to be simpler and verifiable via an XSD.
- Type checking is now optional and off by default to speed up the linting.
- More XML documentation rules have been added thanks to jhamm
- Files can now be ignored by specifying git ignore like globs in the configuration file.
- Fixed bug: fsprojects#78
- Fixed bug: fsprojects#90
[0.1.16] - 2015-03-11
- Handling of project files is now performed by FSharp.Compiler.Service
[0.1.15] - 2015-02-08
- Added
Enabledconfig option to all analysers.
[0.1.14] - 2015-01-18
- Added a new rule
CanBeReplacedWithCompositionto theFSharpLint.FunctionReimplementationanalyser: http://fsprojects.github.io/FSharpLint/FSharpLint.FunctionReimplementation.html - Fixed bug: fsprojects#63
[0.1.13] - 2015-01-11
- Fixed bug: fsprojects#63
- Fixed bug: fsprojects#57
- Files can now be ignored via the .fsproj file: fsprojects#55
- FAKE task now reports on how many files were linted and how many warnings were found.
- FAKE task now includes more detailed information on failure.
- FAKE task now includes an option to fail the build if any warnings are found.
[0.1.12] - 2014-12-16
- Fixed bug: fsprojects#57
[0.1.11] - 2014-11-23
- FSharp.Compiler.Service now included as a strongly named assembly.
- TargetFrameworkVersion now taken from the project file: fsprojects#52
[0.1.10] - 2014-11-19
- Dropped MSBuild tools back down from 12 to 4 to support VS2010
[0.1.9] - 2014-11-17
- Updated
FSharp.Compiler.Servicefor compatibility with VisualFSharpPowerTools: fsprojects#51
[0.1.8] - 2014-11-15
- FSharp.Core lookup now supports F# 4, the package is now a single click install in VS 2015 preview
[0.1.7] - 2014-11-14
- Added support for SuppressMessageAttribute for the Typography analyser
- Fixed bug: fsprojects#48
- Fixed bug: fsprojects#47
- Attempted to fix assembly resolution issues by including FParsec built against FSharp.Core 4.3.0.0
- Added FAKE task to the nuget package
[0.1.6] - 2014-10-25
- Added
FSharpLint.Binding.TupleOfWildcardsrule - Fixed bug: fsprojects#38
[0.1.5] - 2014-10-24
- Added support for
SuppressMessageAttributefor all analysers exceptFSharpLint.Typography - Added FAKE task, thanks to @archaeron for this contribution
[0.1.4] - 2014-10-21
- Fixed bug: fsprojects#36
[0.1.3] - 2014-10-16
- Implemented new analyser:
FSharpLint.RaiseWithTooManyArguments - Implemented new rule:
FSharpLint.Binding.WildcardNamedWithAsPattern
[0.1.2] - 2014-10-14
- More hints and support added for matching if statements, tuples, lists, array, and patterns with hints
[0.1.1] - 2014-09-28
- Fixed bug: literals in pattern matches were generating lint warnings saying that they should be camel case, whereas they must be pascal case.
[0.1.0] - 2014-09-25
- First release