v0.3.0
Changelog
Features
- 9b3a366: feat: bronto ask — natural language to query via a configured LLM endpoint (#54) (Severin Neumann (@svrnm))
- 7a9faeb: feat: bronto repl — interactive psql-style query prompt (#52) (Severin Neumann (@svrnm))
- 468fd0e: feat: client-side query validation — bronto query check (#46) (Severin Neumann (@svrnm))
- b10fbe8: feat: explorable search output — smart columns, teaching footer, -x expand (#50) (Severin Neumann (@svrnm))
- 7acea29: feat: hidden mascot easter eggs (graze/herd/rumble) + trademark carve-out (#62) (Severin Neumann (@svrnm))
- c8f86a1: feat: in-terminal time histogram — search --histogram (#45) (Severin Neumann (@svrnm))
- 55f1eb0: feat: level-aware auto-coloring for tail and search tables (#40) (Severin Neumann (@svrnm))
- ea051c2: feat: live aggregates — tail --select/-g redraws a group-by in place (#51) (Severin Neumann (@svrnm))
- 691314b: feat: log pattern clustering — search --patterns (#48) (Severin Neumann (@svrnm))
- 72fb047: feat: monitor linting as a CI gate — bronto monitors check (#47) (Severin Neumann (@svrnm))
- b7b39d1: feat: run saved searches — bronto search --saved (#42) (Severin Neumann (@svrnm))
- 36e5511: feat: search --local — offline query engine over NDJSON/plain files (#53) (Severin Neumann (@svrnm))
- aa5c210: feat: tail field ergonomics — --fields projection and field~regex filters (#41) (Severin Neumann (@svrnm))
- a1bbefc: feat: web-UI deep links — search --url / --open (#43) (Severin Neumann (@svrnm))
Bug fixes
- cfbae77: fix(release): read the tap App ID from secrets, not vars (#58) (Severin Neumann (@svrnm))
Others
- 8f753e7: Add OpenSSF Scorecard badge to README (#60) (Severin Neumann (@svrnm))
- daa20f3: CI hardening: make every gate provably able to fail (red phase first) (#63) (Severin Neumann (@svrnm))
- 7e94c99: CI robustness: keep main integration runs, add ruleset↔workflow tripwire (#69) (Severin Neumann (@svrnm))
- d837405: Fix four audit correctness bugs: --since overflow, tail --fields no-op, 32-bit color panic, non-atomic creds write (#66) (Severin Neumann (@svrnm))
- e0c5293: Fix: cap export --wait so a stuck export can't poll (or hang CI) forever (#65) (Severin Neumann (@svrnm))
- 8b02694: Fix: reject --jq before mutating, mask api-keys secrets by default (+ --reveal) (#68) (Severin Neumann (@svrnm))
- 089629e: Fix: restore tail --fields table projection (regression from #66) (#67) (Severin Neumann (@svrnm))
- 26d4b99: Security: close the project-file / redirect API-key exfiltration chain (#64) (Severin Neumann (@svrnm))
- 37a3b02: [StepSecurity] Apply security best practices (#59) (StepSecurity Bot (@step-security-bot))
- db5b032: chore(ci): bump the actions-all group with 10 updates (#75) (Dependabot (@dependabot)[bot])
- ff6e32f: chore(deps): bump the go-minor-patch group with 2 updates (#74) (Dependabot (@dependabot)[bot])
- a7aaf82: ci(release): gate the release job behind a protected environment (#70) (Severin Neumann (@svrnm))
- 65e42b8: ci(release): sign SLSA build provenance for release artifacts (#73) (Severin Neumann (@svrnm))
- 5eebaea: ci: add actionlint + zizmor workflow analysis (and fix the 16 findings) (#72) (Severin Neumann (@svrnm))
- b78e690: ci: scope release token permissions + add parser fuzzing (Scorecard) (#77) (Severin Neumann (@svrnm))