Skip to content

Releases: gavelcode/gavel

Release list

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 17:22
365aa7a

Changelog

  • d7bbcef build(clispec): regenerate CLI flag stubs to match generator output
  • 07f1251 build(deps): bump gavel_tools 0.3.1 -> 0.3.2
  • 8932bd5 build(deps): bump gavel_tools 0.3.2 -> 0.3.3
  • d92d135 build(deps): bump gavel_tools 0.3.3 -> 0.3.4
  • c1ffecd build(deps): bump gavel_tools 0.3.4 -> 0.3.5
  • c83ade6 build(deps): bump gavel_tools to 0.3.6
  • 2533d10 build(deps): bump gavel_tools to 0.3.7
  • ad564ca build(deps): bump the actions group across 1 directory with 6 updates (#31)
  • 4dc9451 build(deps): bump the go group across 1 directory with 8 updates (#27)
  • 3614f62 build(deps): split web npm group so majors land in their own PR (#35)
  • 8e9108e build: add a safe make release driver
  • 6e74064 chore(baseline): refresh coverage baselines
  • 4c4e320 chore(bazel): regenerate BUILD files
  • 3e51105 ci: bump actions to Node 24 versions (checkout v6, setup-go/node v6, codecov v5)
  • 19586d0 ci: dogfood gavel report on gavel's own PRs
  • 1a2f013 ci: give dogfood Node for web coverage, add job timeouts
  • ab33825 ci: guard generated artifacts against drift
  • 8e770e9 ci: onboard with the distributed binary on linux and macOS
  • 17c7556 ci: pin pnpm to 9.15.4 in the drift job
  • 5aeb2d3 ci: post the gavel PR comment from the dogfood job
  • ce892a1 ci: prove onboarding by judging the examples on every PR
  • c259e53 ci: run gavel judge as a dogfooding gate
  • 17ba224 docs(brand): upload-ready social preview (re-encoded PNG + JPG fallback)
  • 2740f1f docs(design): record the multi-tenancy isolation decision
  • 2c172e7 docs(quickstart): declare the Bazel 8.0 floor and the hermetic-network allowlist (#22)
  • 31dd8b0 docs(readme): add the judge demo as the hero
  • 46f57f0 docs(readme): lead with the judicial verdict, the agent loop, and the demo
  • a18ff0f feat(casefile): fail the verdict when an analyzer did not run (tool_execution)
  • 075aa5d feat(catalog): add SelectedAspects for per-language tool selection
  • e5b363f feat(catalog): read the tool catalog from gavel-tools instead of hardcoding
  • 2d5e641 feat(catalog): select tools per language in gavel.yaml
  • 1d64195 feat(cli): build GitHub Checks payload from verdicts
  • 7164a39 feat(cli): publish check runs to the GitHub Checks API
  • 023ec25 feat(cli): read cached verdicts for gavel report
  • 3f5082d feat(cli): report posts a sticky PR comment
  • 7e16723 feat(cli): scaffold gavel report command
  • 29ff6b2 feat(cli): wire gavel report end to end
  • ce46c4c feat(db): add tenant_id to the judicial aggregate tables (nullable)
  • 09eaec8 feat(gavelspace): scope the Gavelspace aggregate by tenant
  • 0aa730e feat(iam): tenant lifecycle + operator provisioning CLI (#11)
  • 5bae0d0 feat(judge): add --no-baseline-update to inspect without persisting
  • 2b3703c feat(judge): add --summary to print the verdict without the per-finding list (#24)
  • 365aa7a feat(judge): forward bazel_config from gavel.yaml to the bazel invocation (#38)
  • 3abab61 feat(judge): surface tools that analyzed zero targets instead of passing silently (#21)
  • ad6fbc7 feat(mcp): surface the offending import in architecture violations
  • a1a2b00 feat(pleading): scope the pleading aggregate by tenant
  • 8125c8f feat(project): store the per-language tool selection
  • c9a0bcf feat(project,casefile): scope the judicial aggregates by tenant
  • 0cf274e feat(runner): forward aspect build flags to bazel
  • 09b6f0e feat(server): secure the first-boot admin password (#10)
  • 81fcf75 feat(server): version the database schema with goose migrations
  • c4116a3 feat(web): lint TypeScript type-aware and fix the findings it surfaces
  • 653fcfd fix(architecture): keep existing violations in the baseline ratchet
  • a2c20d4 fix(baseline): preserve coverage baseline in quick mode
  • 2de8e94 fix(cli): bound the GitHub Checks client with a timeout
  • 13de672 fix(cli): correct malformed format-string verbs in error messages
  • 7192243 fix(cli): embed the tool catalog so the distributed binary runs standalone
  • a3d92a2 fix(cli): fail-safe report conclusion for non-pass verdicts
  • 13f367a fix(cli): harden gavel report from the code-review backlog
  • 8d2b371 fix(cli): regenerate stale judge flags.gen.go from clispec
  • 841597c fix(cli): report attaches the check to the judged commit
  • e3992f9 fix(clispec): restore generated flags.gen.go format
  • b46cc8a fix(core): classify architecture identifiers as a set
  • 6c5c606 fix(core): don't fail tool_execution on config-only SARIF notifications
  • 213645d fix(core): treat error-level config-only notifications as failures
  • f22bbef fix(coverage): follow the bazel-testlogs symlink when collecting coverage
  • e24dbfa fix(examples): wire the rust frontend eslint config into its js_library
  • f6ae665 fix(init): append lint filegroup to an existing root BUILD
  • 69763dc fix(install): create GAVEL_BIN_DIR when it does not exist
  • bb376a8 fix(installer): order BCR before the gavel registry in .bazelrc (#20)
  • 9ef145f fix(judge): skip projects that do not own the target file
  • 6d1e392 fix(judge): treat incomplete tool analysis as a warning, not a gate failure (#23)
  • 3f50211 fix(mcp): make inspection tools read-only and declare it
  • 2d62877 fix(mcp): steer gavel_findings truncation note to the complete counts
  • f4a6b07 fix(tenant): close cross-tenant isolation gaps found in review
  • b874ae9 fix(trends): return an actionable error when the server is unreachable
  • 9a8ffb8 perf(coverage): bound coverage test memory to avoid OOM at scale
  • 5b70161 perf(coverage): collect per-test coverage instead of bazel's combined report
  • 9c51668 refactor(catalog): drop dead RuleKindsForLanguage
  • 4f4cc8b refactor(catalog): drop the defaultLanguages fallback
  • beb2410 refactor(cli): drop explanatory comments from the report feature
  • 014cfbf refactor(cli): single tagged struct for the verdict cache contract
  • f8317a4 refactor(installer): name the registry line count constant
  • e3c342e refactor(judge): unify runProject interactive/non-interactive paths
  • a8e31fe refactor(mcp): take version from ldflags instead of hardcoding
  • 904e20a refactor(tenant): thread TenantID value object through casefile/pleading finder ports
  • 67606f1 refactor: make code self-explanatory, relocate design rationale to docs
  • a223e36 test(casefile): close tool_execution evidence coverage gaps
  • 65cc68a test(catalog): cover the runfiles loader error paths
  • 750dc17 test(ci): assert the new-vs-baseline delta on a clean box
  • 3608ca3 test(cli): cover the GitHub client response-read error path
  • fd5e495 test(cli): cover the new report and cache-reader branches to 100%
  • 9200477 test(db): key reused test container to a migrations hash
  • 20418b9 test(db): seed tenant_id in integration fixtures broken by tenant-scoped uniqueness
  • b3054dd test(installer): guard the gavel_tools version against drift

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 28 Jun 16:55

Changelog

  • bbc5fa1 Initial project: Bazel bzlmod workspace and Go module
  • 10e59eb build: distribute gavel_tools via the gavelcode registry
  • 2bbb5e8 ci(release): add goreleaser-based CLI release pipeline
  • d8c8418 ci: add Codecov Test Analytics via JUnit upload
  • ff09ffd ci: drop flaky_test_attempts now that the watch race is fixed
  • 66e3007 ci: exclude the env-flaky gavel-watch e2e from the full suite
  • c7b4956 ci: run the full test suite (//...) including CLI integration
  • 744f79e docs(design): add coverage exclusion policy decision record
  • cd18307 docs(mcp): list gavel_trends and gavel_arch in the tools table
  • b341ff2 feat(cli): add --version, injected at release time
  • 74535fb feat(coverage): per-file coverage diff in gavel_coverage
  • 71aa19d feat(init): write the gavel registry into .bazelrc
  • b62c04e feat(mcp): add gavel_findings tool for project-wide finding discovery
  • 1b49d82 feat(mcp): add package-tree filter to gavel_coverage
  • 5d178b1 feat(project): project-scope exclude in gavel.yaml
  • 65d98b8 feat: Bazel integration — aspect catalog, runner, installer
  • 5e1046d feat: CaseFile aggregate with evidence and verdict
  • 74a74bb feat: Cobra CLI and composition root
  • 8ea09ea feat: Gavelspace aggregate
  • ad28bd5 feat: IAM bounded context — tenant, user, session, token
  • 0526bc5 feat: IAM infrastructure — Argon2id, crypto, Postgres
  • 84cf704 feat: OpenAPI-first v1 HTTP API with generated DTOs
  • 1a2d022 feat: Pleading aggregate, repository, and handlers
  • e0adfd5 feat: Project aggregate and quality-gate strategies
  • 2169142 feat: React + Vite web dashboard
  • 5f3ee40 feat: add curl|sh installer script
  • a6092a6 feat: application use cases — judge, submit, ingest, finalize
  • 112bdfa feat: dogfooding config and committed baselines
  • d6b98b6 feat: domain shared kernel — events and failure classification
  • 9d971ee feat: example workspaces per language
  • 2107eff feat: gavel-specific Bazel tooling (clispec-gen, spectest)
  • 13af537 feat: in-memory + Postgres adapters and SARIF/LCOV parsers
  • fc63249 feat: project and gavelspace use cases + cross-BC search
  • 90ddae9 feat: server composition root
  • 254e8b5 fix(casefile): deduplicate findings by fingerprint when merging content
  • 28af4f4 fix(init): align help text with the registered flags
  • e4496a0 fix(project): reconstitute per-file baseline coverage from disk
  • 10441c5 fix(runner): place targets after -- so negative patterns are valid
  • f079181 fix(watch): detect bazel version after registering the watch, not before
  • 0910c21 fix(watch): emit started only after the filesystem watch is registered
  • e5e09e7 style(core): satisfy varnamelen on existing loop vars
  • 15738fb test(mcp): assert gavel_findings in the tool list