Skip to content

Releases: chrisophus/gorefactor

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 30 Jul 14:56

Changelog

  • 181f622 build: add optional gomutants mutation-testing target
  • ff739a2 build: switch gomutants target to szhekpisov/gomutants
  • 20629f3 lint: add unnecessary-nil-check rule, widen redundant-nil-guard
  • 72330b7 lint: void caller nil-guard proofs when the argument is rewritten
  • 2cfd328 release: v0.15.0

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 15:32

Changelog

  • 445ff5f build: add compile-only build-fast target
  • 77a13d2 build: emit all binaries into gitignored bin/
  • 43ccac8 cli: emit api-diff --json through the shared envelope
  • 15628f8 cli: emit blast-radius --json through the shared envelope
  • b2a95e6 cli: emit callgraph --json through the shared envelope
  • e4686c2 cli: emit context --json through the shared envelope
  • fc1cffc cli: emit history --json through the shared envelope
  • a512eaf cli: emit mutation --json through the shared envelope
  • 95355f0 cli: emit skeleton --json through the shared envelope
  • 550335a cli: emit txn --json through the shared envelope
  • 18ca37d cli: pin the envelope contract; migrate test-affected
  • 82e21bd harness: resolve seven test-only-live findings, shrink baseline 89->81
  • f469c19 lint: add hard-to-maintain and redundant-nil-guard rules
  • 3a6f44d lint: clear CI ratchet growth vs main
  • dfeb9f4 lint: clear hard-to-maintain findings via helper extraction
  • acedd8e lint: drop stale coverage.out baseline entry
  • 923398d lint: fix file-target verify gate; surface stale coverage profile
  • 7b96b75 lint: keep gate builds from littering package dirs with binaries

v0.13.1

Choose a tag to compare

@chrisophus chrisophus released this 20 Jul 21:39

Corrective release

This release republishes the v0.13.0 lint-policy changes from merged main after pull request #58. Its source tree is identical to v0.13.0; only the release provenance is corrected.

  • Focused lint policy configuration for tracked-artifact allowlists, test/package exclusions, coupling thresholds, and committed baseline settings.
  • --no-baseline for exploratory runs when YAML enables baseline comparison.
  • Policy filtering before severity remapping and baseline comparison.
  • Literal excluded-path liveness for directories such as node_modules.

v0.13.0

Choose a tag to compare

@chrisophus chrisophus released this 20 Jul 21:32

Added

  • Focused lint policy configuration for tracked-artifact allowlists, test-file and package exclusions, high-coupling thresholds, and committed baseline settings.
  • --no-baseline for exploratory runs when YAML enables baseline comparison.
  • Rule-name validation across policy sections.

Fixed

  • Policy exclusions are applied before severity remapping and baseline comparison.
  • orphaned-config-path recognizes literal excluded directories such as node_modules without recursively walking them.

See CHANGELOG.md for details.

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 13:04

Changelog

  • 1171848 analyzer: delete the lossy exprString; delegate to types.ExprString
  • 9e1bd72 analyzer: emit one change per -/+ run in diff hunks; keep old-side ranges
  • 48094c8 analyzer: fix complexity blindness in case clauses; refuse vacuous extractions; hermetic gates [baseline-growth]
  • f4a5d0b analyzer: replace rename validator's confident boolean with advisory hints
  • 50b3023 ci: fetch the PR head before reading the [baseline-growth] marker [baseline-growth]
  • 1eb3f53 ci: read the [baseline-growth] marker from the PR head commit [baseline-growth]
  • 4efa43a cleanup: finish extraction-residue removal; rename stutter files [baseline-growth]
  • 84098c4 cleanup: re-inline extraction residue outside cmd/gorefactor
  • c706bf6 cleanup: remove inert sweagent/ and .pi/ experiments
  • 2af8d37 cli: add subcommand help via 'gorefactor help' and 'gorefactor help '
  • 3b765ca doc-drift: pin iteration defaults and autofix batch size to their constants
  • 6ff29c5 doctor: auto-provision golangci-lint, deadcode, and govulncheck
  • a71de4b doctor: fix long-function lint on runSubstrates; extract runOneSubstrate
  • fc9a8e7 doctor: isolate PATH in golangci toolresolve tests
  • 06a77fd doctor: parallelize substrate execution; drop APIDiff
  • 64000e7 doctor: value-tier the health score so it rewards genuine improvement
  • 7cde45e extract: fix return-lift tail and type-switch binding bugs; wire long-function autofix
  • 60a7093 extract: gate autofix on nameability (skip unnameable guard blocks)
  • 94f6e0b extract: make generated helper names package-unique (fix cross-file collisions)
  • 7f273a0 fix: --fail-on warning must not fail on info findings (gate integrity)
  • 2c966f0 fix: address Copilot review on temporal, undo, and journal
  • 062f3ed fix: address PR review — effective split threshold, honest fix-counters [baseline-growth]
  • 00130b6 generators: behavioral tests for every emitter; bridge plan-level extract/inline ops
  • b91f5ff harness: bump Go 1.26.5 and clear score hotspots
  • 1c44bc7 harness: execute project-review P0–P3 backlog [baseline-growth]
  • 93e4a66 harness: execute review P0 + first dogfooding sensors; pay down baseline
  • 8e10c88 harness: make the doctor score honest about skipped substrates; remove dead code
  • f90e481 harness: scope examples/ out of health surface; consolidate agent duplicates
  • 222f00d lint/extract: don't flag data-literal length; name switch/for extractions
  • e73aa30 lint: add orphaned-config-path liveness check; drop two dead exemptions it found
  • a1906ac lint: add stranded-comment sensor; fix two stranded comments it found
  • a0908ca lint: journal autofix outcomes; let the gate's verdicts reclassify findings
  • 40a735f lint: live no-target notes and a --probe-fixes sensor mode
  • ad112ce lint: per-branch re-scoring demotes dispatch-table findings; string literals count as data [baseline-growth]
  • 1ddd14a lint: raise signal — cap noisy blast-radius, exempt test noise, better extraction names
  • acf699d lint: register --probe-fixes in the CLI flag whitelist
  • f2993a3 orchestrator: insert at-beginning lands after imports; refuse to write invalid Go; hermetic test env
  • eb20c79 parser: stop losing AST data in the foundation package
  • 66ce5fe recommend: fix mangled residue + dedup flag parsing in recommendExtractions
  • d278e3f refactor: raise doctor score 36.5 -> 64.3 by clearing ~50 structural warnings
  • 7e2183e release: v0.12.0
  • c0163c4 review batch 1: fix add-test lost-write bug; repair types.go; add residue sensors
  • a8ae767 score: distance-based partial credit for threshold proxies (fixes binary cliff)
  • 5e108c7 score: size-normalize the proxy tier; fix data-clumps carrier false-positives
  • ddd8ab8 split: never repeat a token when composing destination filenames
  • a3b3363 wip: cmd/gorefactor extraction-residue re-inline (in progress, tree green)

v0.11.1

Choose a tag to compare

@chrisophus chrisophus released this 17 Jul 19:05

Fixed

  • complexity and long-function extraction autofix disabled — the automated extraction engine produced unreliable output in some cases (name collisions, invalid function signatures, missing returns), causing build failures after lint --fix. Both autofixes are disabled until the extractor is hardened; recommend --reduce-complexity --apply and recommend --reduce-length --apply are unaffected.

Changed

  • Applied safe auto-fixes repo-wide: error-not-wrapped and funcorder issues resolved across analyzer/, doctor/, and test files.

v0.11.0

Choose a tag to compare

@chrisophus chrisophus released this 17 Jul 17:40

Fixed

  • wrap-errors: sentinel branch before bare return err was skippedif err != nil blocks containing an errors.Is sentinel branch followed by a bare return nil, err were skipped entirely.
  • wrap-errors: bare return err inside loops was skippedif err != nil blocks nested inside for/range/switch/select bodies were never visited.
  • wrap-errors: doc comment of next function embedded in fmt.Errorf — The go/printer could pull the doc comment of the immediately following function into the fmt.Errorf(...) argument list and remove it from its correct position.
  • error-not-wrapped lint rule: false positives inside function literalsreturn err inside filepath.Walk/WalkDir callbacks was reported as an unwrapped error on the outer exported function.

v0.10.4

Choose a tag to compare

@github-actions github-actions released this 16 Jul 14:50

Changelog

  • 81c18c5 Bump GitHub Actions to Node.js 24-compatible versions
  • 155efb5 Fix doctor --fix ignoring walk: config skip rules for generated files

v0.10.3

Choose a tag to compare

@github-actions github-actions released this 16 Jul 13:34

Changelog

  • f986081 Fix version reporting: inject via ldflags, fall back to ReadBuildInfo

v0.10.2

Choose a tag to compare

@github-actions github-actions released this 16 Jul 13:30

Changelog

  • 81d9679 Fix +dirty version suffix: pass -buildvcs=false to skip VCS stamp in GoReleaser builds
  • a53a6b9 Release v0.10.2