Skip to content

Releases: HeyItsGilbert/GoodEnoughRules

Release 0.4.0

04 May 22:27
f913037

Choose a tag to compare

Added

  • Measure-GremlinCharacter: New rule to detect invisible or visually
    deceptive Unicode characters (gremlins) such as zero-width spaces,
    bidirectional overrides, and curly quotes. 19 characters flagged with
    per-character severity (Error, Warning, or Information).
    Inspired by vscode-gremlins.
  • Tests for Measure-GremlinCharacter with per-character -ForEach
    cases, a negative clean-code case, a fixture-based detection test,
    and a suppression test using SuppressMessageAttribute.
  • CLAUDE.md with project guidance for Claude Code.

Changed

  • Measure-TODOComment: Updated Token parameter type to Token[]
    to match how PSScriptAnalyzer invokes token-based rules; renamed
    $matches to $regexMatches to avoid collision with the automatic
    $Matches variable; normalized keyword casing to lowercase.
  • tests/PSScriptAnalyzerRules.psm1: Proxy module now loads explicitly
    from the Output\GoodEnoughRules build directory.

[0.3.1] 2025-12-14

15 Dec 20:00
39e7dca

Choose a tag to compare

Fixed

  • Measure-BasicWebRequestProperty: AST search modified to fix duplicate errors
    due to recursive search.
  • Measure-InvokeWebRequestWithoutBasic: AST search modified to fix duplicate
    errors due to recursive search.

[0.3.0] 2025-12-13

14 Dec 00:01
99555f3

Choose a tag to compare

Added

  • Measure-BasicWebRequestProperty: Detects when Invoke-WebRequest uses
    UseBasicParsing with incompatible properties like Forms, ParsedHtml,
    Scripts, or AllElements. Works with both direct property access and
    variable assignments.
  • Measure-InvokeWebRequestWithoutBasic: Flags Invoke-WebRequest (and its
    aliases iwr, curl) when used without the UseBasicParsing parameter.
  • Get-CommandParameter: New private helper function to parse command
    parameters from AST, including support for positional parameters.
  • Documentation for new rules in docs/en-US/ directory.
  • Comprehensive test coverage for new rules.

Changed

  • Updated about_GoodEnoughRules.help.md with complete module documentation
    including examples, rule descriptions, and troubleshooting guidance.
  • Measure-SecureStringWithKey: Standardized parameter block formatting and
    updated to use Get-CommandParameter helper function.
  • Test files: Added BeforeAll checks to ensure module builds before testing.
  • Improved code consistency across all rule files (param block formatting,
    using consistent helper function names).