What's Changed
Breaking Changes
Minimum required PowerShell version raised from 3 to 5.1
- Drop v3 and v4 support from build by @andyleejordan in #2081
New Features
- Add new options (enabled by default) to formatting rule
UseCorrectCasing
to also correct operators, keywords and commands - Add UseConsistentCasing by @Jaykul in #1704
Enhancements
- PSAlignAssignmentStatement: Ignore hashtables with a single key-value pair by @liamjpeters in #1986
- Use
RequiredResource
hashtable to specify PowerShell module versions by @andyleejordan in #2053 - Set exit code of
Invoke-ScriptAnalyzer -EnableExit
to total number of diagnostics (#2054) by @MatejKafka in #2055 - PSAvoidAssignmentToAutomaticVariable: Ignore when a Parameter has an Attribute that contains a Variable expression by @liamjpeters in #1988
- Trim unnecessary trailing spaces from string resources in Strings.resx by @XPlantefeve in #1972
- Do not print summary repeatedly for each logger by @MatejKafka in #2058
- Make Settings type detection more robust by @Tadas in #1967
- Add foreach Assignment to AvoidAssignmentToAutomaticVariable by @PoshAJ in #2021
- Invoke-ScriptAnalyzer: Stream diagnostics instead of batching by @MatejKafka in #2062
- Invoke-ScriptAnalyzer: Print summary only once per invocation by @MatejKafka in #2063
- Invoke-ScriptAnalyzer: Include parse errors in reported error count by @MatejKafka in #2069
- Add exception message for missing rules by @Tadas in #1968
Bug Fixes
- Update links in module manifest by @martincostello in #2034
- Fix incorrect
-ReportSummary
Pester test grouping by @MatejKafka in #2057 - Fixed erroneous PSUseDeclaredVarsMoreThanAssignments for some globals variables by @John-Leitch in #2013
- PSReservedParams: Make severity Error instead of Warning by @liamjpeters in #1989
- PSUseConsistentIndentation: Check indentation of lines where first token is a LParen not followed by comment or new line by @liamjpeters in #1995
- PSUseConsistentWhitespace: Correctly fix whitespace between command parameters when parameter value spans multiple lines by @liamjpeters in #2064
- PSAvoidTrailingWhitespace: Rule not applied when using formatter + single character lines with trailing whitespace are truncated by @liamjpeters in #1993
- PSUseConsistentWhitespace: Ignore whitespace between separator and comment by @liamjpeters in #2065
- PSReviewUnusedParameter false positive for ValueFromPipeline by @liamjpeters in #2072
- Change severity of UseCorrectCasing to be Information by @bergmeister in #2082
Process Changes
- Copy more files to module root by @andyleejordan in #2037
- Upgrade to .NET 8 since .NET 6 is past EOL by @andyleejordan in #2073
- Use -NoProfile when invoking pwsh in Pester tests by @MatejKafka in #2061
- Add GitHub Actions Ubuntu's dotnet path by @andyleejordan in #2080
- Update README.md with recent upgrade to .NET 8 by @bergmeister in #2076
- Update CHANGELOG.MD with 1.23.0 release notes by @bergmeister in #2078
- Bring back Codespaces by @bergmeister in #2077
- Update SMA version to 7.4.7 by @bergmeister in #2075
- Test PowerShell Preview in CI by @andyleejordan in #2070
- Backport MSDocs changes by @bergmeister in #2085
- Document new optional parameters added to UseCorrectCasing by @bergmeister in #2086
New Contributors
- @martincostello made their first contribution in #2034
- @MatejKafka made their first contribution in #2055
- @XPlantefeve made their first contribution in #1972
- @John-Leitch made their first contribution in #2013
- @Tadas made their first contribution in #1967
- @PoshAJ made their first contribution in #2021
- @Jaykul made their first contribution in #1704
Full Changelog: 1.23.0...1.24.0