Skip to content

build(deps-dev): bump lizard from 1.19.0 to 1.24.0 - #137

Merged
miciav merged 1 commit into
mainfrom
dependabot/uv/lizard-1.24.0
Sep 11, 2026
Merged

miciav merged 1 commit into
mainfrom
dependabot/uv/lizard-1.24.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 10, 2026 •

Copy link
Copy Markdown
Contributor

Bumps lizard from 1.19.0 to 1.24.0.

Release notes

Sourced from lizard's releases.

1.24.0

New Features

  • Halstead metrics (-Ehalstead) — per-function Halstead volume, difficulty, and effort (issue #464, PR #485)
  • --no-gitignore — analyze all discovered source files even when a .gitignore would exclude them (PR #488)
  • PHP — modern syntax is parsed without false functions (classes, traits, visibility, constructor property promotion, match expressions, arrow functions, union types, named arguments); null-coalescing / nullsafe operators no longer inflate nesting depth (issue #491)

Bug Fixes

  • Java: do not report control structures in a static block as methods (issue #312, PR #489)
  • Java: count anonymous classes in field initializers (issue #311, PR #483)
  • Java: treat record as a contextual keyword in field initializers and method declarations
  • Java: parse generic and qualified type names in anonymous classes
  • Go: register generic functions with [...] type parameters (PR #484)
  • CSV: emit columns for extensions that add multiple FUNCTION_INFO fields (PR #486)
  • Python: count control flow inside f-string interpolations (issue #317, PR #481)
  • Script: stop a # comment continuing past a trailing backslash (issue #317, PR #482)
  • Objective-C: handle nested parentheses in block / function-pointer parameter types (issue #365, PR #480)

Published to PyPI via GitHub Actions (release.yml).

1.23.0

New Features

  • Python — structural pattern matching (match/case, PEP 634, Python 3.10+) is now counted correctly for cyclomatic complexity (including --modified mode)

Bug Fixes

  • C/C++: stop raw string literals (R"(…)") from swallowing following code in the tokenizer (issue #478, PR #479)

Published to PyPI via GitHub Actions (release.yml).

Release 1.20.0

Bug Fixes

  • Fix IndexError crash when parsing C++ raw string literals containing braces (#451)
    • Added proper tokenization for C++ raw string literals (R"delimiter(content)delimiter")
    • Enhanced lizardns extension with defensive invariant protection
    • Prevents misinterpretation of braces within string literals as structural elements

Improvements

  • Improved robustness of nested structures counting extension
  • Better error handling for edge cases in tokenization

What's Changed

Full Changelog: terryyin/lizard@1.19.0...1.20.0

Changelog

Sourced from lizard's changelog.

1.24.0

New Features

  • Halstead metrics (-Ehalstead) — per-function Halstead volume, difficulty, and effort (issue #464, PR #485)
  • --no-gitignore — analyze all discovered source files even when a .gitignore would exclude them (PR #488)
  • PHP — modern syntax is parsed without false functions (classes, traits, visibility, constructor property promotion, match expressions, arrow functions, union types, named arguments); null-coalescing / nullsafe operators no longer inflate nesting depth (issue #491)

Bug Fixes

  • Java: do not report control structures in a static block as methods (issue #312, PR #489)
  • Java: count anonymous classes in field initializers (issue #311, PR #483)
  • Java: treat record as a contextual keyword in field initializers and method declarations
  • Java: parse generic and qualified type names in anonymous classes
  • Go: register generic functions with [...] type parameters (PR #484)
  • CSV: emit columns for extensions that add multiple FUNCTION_INFO fields (PR #486)
  • Python: count control flow inside f-string interpolations (issue #317, PR #481)
  • Script: stop a # comment continuing past a trailing backslash (issue #317, PR #482)
  • Objective-C: handle nested parentheses in block / function-pointer parameter types (issue #365, PR #480)

1.23.0

New Features

  • Python — structural pattern matching (match/case, PEP 634, Python 3.10+) is now counted correctly:
    • Each case arm adds +1 to cyclomatic complexity (like an if/elif branch)
    • case guards (case x if cond:) count the if as a normal condition
    • case and match used as plain variable names (assignments, attribute access, function calls, subscripts, tuple unpacking, annotated assignments) are not counted — soft-keyword disambiguation via lookahead in preprocess
    • --modified: an entire match/case block counts as 1, consistent with switch/case in C-family languages

Bug Fixes

  • C/C++: stop raw string literals (R"(…)") from swallowing following code in the tokenizer (issue #478, PR #479)

1.22.2

Bug Fixes

  • TypeScript: handle function stack correctly when starting a new function (avoids incorrect nesting / metrics)
  • Duplicate finder: avoid double-counting overlapping duplicate code ranges (PR #474)

Security

  • Demo Flask app (index.py): enable debug only when FLASK_DEBUG is set, not by default (PR #475)

1.22.1

Bug Fixes

  • TypeScript: prevent IndexError when parsing nested template literals (issue #471, PR #472)

1.22.0

Improvements

  • TypeScript, TSX, and JSX — parsing and metrics are much closer to real code (PRs #467, #468):
    • TSX/JSX use the same TypeScriptStates path as .ts (tokenizer-only layer for JSX), so class methods and CCN are no longer wrong or double-counted.
    • Skips that reduce false functions: interface { … } method signatures, type … = value types, abstract method declarations without bodies; ES2022 private names #foo in tokenization; smarter parameters (type keyword noise, commas inside Map<…>, etc.).

... (truncated)

Commits
  • 308b1c3 Release 1.24.0
  • 31e3014 Issue: terryyin/lizard#491
  • e7b982c Enhance documentation and refine development rules
  • c87f6e5 refactor(golike): streamline handling of generic type parameters
  • a852e8b Merge pull request #484 from StressTestor/fix/golike-generic-type-params
  • 542c5a6 refactor(csvoutput): simplify CSV output logic and enhance extension handling
  • 7778ced Merge pull request #486 from ArmaanjeetSandhu/fix/csv-output-multi-field-exte...
  • 68fd973 refactor(halstead): remove Halstead metrics and tests
  • 1ddaeb9 feat(halstead): enhance operand classification and CSV output for extensions
  • da2d6f9 Merge pull request #485 from ArmaanjeetSandhu/feature/halstead-metrics
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Sep 10, 2026
Bumps [lizard](https://github.com/terryyin/lizard) from 1.19.0 to 1.24.0.
- [Release notes](https://github.com/terryyin/lizard/releases)
- [Changelog](https://github.com/terryyin/lizard/blob/master/CHANGELOG.md)
- [Commits](terryyin/lizard@1.19.0...1.24.0)

---
updated-dependencies:
- dependency-name: lizard
  dependency-version: 1.24.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/lizard-1.24.0 branch from 60d571a to 0bc7962 Compare September 11, 2026 14:55
@miciav
miciav merged commit ffeb7be into main Sep 11, 2026
4 checks passed
@dependabot
dependabot Bot deleted the dependabot/uv/lizard-1.24.0 branch September 11, 2026 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant