Skip to content

Releases: tvinke/algorilla

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 23 Mar 14:48
f8f75b4

0.3.1 (2026-03-23)

Features

  • LoopBoundAnnotator — cross-cutting constant-size loop detection (6d0d8f0), closes #98

Bug Fixes

  • sort-for-last stop flagging .get(variable), language-aware variable extraction (8ccdea7), closes #99
  • strip collection-view .values() via YAML, prevent iteratedVariable regression (1ed83f1)
  • release workflow — set version for gradle plugin, handle no-op snapshot bump (ff551b2)

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 18 Mar 12:36

0.3.0 (2026-03-18)

Features

  • add framework-aware semantics overlays (927e2dd)
  • add language tags and dedicated language pages (08bf1a9)
  • API stability prep — lenient parsing, version fields, fail-on default (51fbae5)
  • cross-method parameter-flow queries (HARD-3 Phases 3b-3d) (8665000)
  • extract TypeEnvironment from buildTypeMap, wire into rules (cd0d66b)
  • infer JS/TS variable types for nested-lookup suppression (cab5575)
  • io-in-loop rule, smarter suggestions, repeated-sort detection, FP fixes (dfc034f)
  • loop-invariant-hoisting and lazy-loading-in-loop rules (ME-2, ME-4) (ecb5279)
  • parameter-flow annotation pass (HARD-3 Phase 3a) (7aff3ce)
  • skip implicit-regex findings for string literal args in JS/TS (11a8132)
  • tree-sitter Kotlin parser replacing ANTLR preprocessor hack (6ffaf11)
  • two-tier IO classification — candidates require target confirmation (75264ad)
  • typed Suggestion model replacing plain suggestion strings (42097b0)
  • unmemoized-recursion, cardinality-explosion, multi-pass-stream-fusion rules (4d61df8)

Bug Fixes

  • apply minSeverity filter and fix file group ordering in output (71d5b42)
  • close detection gaps — find/search as IO candidates, map/flatMap as iteration context (00c877b)
  • color language tags via JS instead of CSS-only selectors (7a5a97a)
  • eliminate cross-language semantic leaking in registry (90d5ac0)
  • enforce language filter in string-concat-in-loop evaluate() (470cd1b)
  • engine caps per-finding confidence at rule's defaultConfidence (1fa8764)
  • hybrid suffix matching for io-target-patterns, exclude cross-language reflection leaks (ece45ab)
  • nextToken IO false positive + argFingerprint for nested children (8e428f3)
  • query YAML extras per-language instead of merging all languages (55bad76)
  • reduce false positives with type-aware lookup refinement and language-scoped methods (994b965)
  • reduce FPs — sequential-read args, pipeline collapse, scan-count demotion, subsumption (ed054a9)
  • remove generic method names from Jakarta EE and Gson io-methods (cc08c62)
  • remove generic method names from JPA io-methods (next, get, first, last) (b19d906)
  • skip equals/hashCode/toString in unmemoized-recursion rule (76c141f)
  • stop flagging close()/stream() and tighten io-candidate matching (9107090)
  • string-concat-in-loop skips non-String receivers (factory, builder, etc.) (365aea3)
  • suppress FPs on constant-size collection factories (bb22913)
  • use signature key for TypeEnvironment to handle overloaded methods (f07ed25)
  • use SymbolTable type check for string-concat-in-loop receivers (0b64d57)

What's Changed

  • API stability prep for going public by @tvinke in #79
  • Feat/kotlin tree sitter by @tvinke in #95
  • chore(main): release 0.3.0 by @github-actions[bot] in #64

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Mar 13:31

See CHANGELOG.md for full details.

Installation

# npm
npx algorilla .

# Gradle
plugins { id("io.github.tvinke.algorilla") version "0.2.0" }

# Docker
docker run --rm -v "$(pwd):/src" ghcr.io/tvinke/algorilla /src

# GitHub Action
- uses: tvinke/algorilla@v0.2.0

# JAR
java -jar algorilla-0.2.0.jar .

What's Changed

  • chore(main): release 0.2.0-SNAPSHOT by @github-actions[bot] in #62

New Contributors

  • @github-actions[bot] made their first contribution in #62

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 09 Mar 11:57