Skip to content

Releases: bluebear-io/baloo-bear

v2.3.0

Choose a tag to compare

@bb-amir bb-amir released this 30 Aug 12:53
280529a

Features

  • Databricks AI Gateway as an agent provider (#228) — Baloo can now run reviews through a Databricks-hosted model endpoint alongside Anthropic and Bedrock.
  • Databricks misconfiguration surfaced at startup (#230) — a bad or incomplete gateway config fails loudly on boot instead of at first review, and env-only settings are labelled as such in the dashboard.

Fixes

  • Review findings no longer silently lost (#233) — three separate paths could drop findings between the agent and the PR, producing a review that looked clean because nothing was posted.
  • Never approve a PR when the review agent failed (#224) — an agent error no longer falls through to an approval.
  • Documentation drift prompt kept inside the context window (#232) — the drift prompt embedded the PR diff twice, unbounded, so large PRs failed with Prompt is too long. The diff is now capped and de-duplicated.

Maintenance

  • Dependency and CI action bumps: mako, setuptools, python, astral-sh/setup-uv, docker/setup-buildx-action, github/codeql-action, and the extensions/ npm deps (#211, #212, #216, #217, #221, #223, #225, #226, #227).

Container image

ghcr.io/bluebear-io/baloo-bear:2.3.0
ghcr.io/bluebear-io/baloo-bear:latest

v2.2.1

Choose a tag to compare

@bb-amir bb-amir released this 12 Aug 11:44
38c70b3

Docs updates

v2.2.0

Choose a tag to compare

@bb-amir bb-amir released this 12 Aug 05:41
d34abcc

What's Changed

Major release. Amazon Bedrock is now a first-class provider, agent provider/model can be changed from the dashboard without a redeploy, and per-PR review briefs are elevated into the review checklist and cited in findings. Cross-provider fallback has been removed — see the upgrade notes.

⚠️ Breaking / Upgrade Notes

  • AGENT_FALLBACK_MODEL and cross-provider retry are removed (#194). Reviews no longer retry on a secondary model. Settings use extra="ignore", so a leftover value in your .env won't fail startup — it is silently ignored. Migration 009 drops the reviews.fallback_model column and deletes any stored agent_fallback_model runtime override.
  • Provider selection is all-or-nothing (#194). AGENT_PROVIDER applies to every Baloo agent, and short model names (haiku / sonnet / opus) are provider-specific tiers. AGENT_MODEL now defaults to the portable sonnet tier alias, so switching provider is a one-variable change.
  • Two new migrations to run: 008_add_runtime_settings and 009_remove_agent_fallback. Only relevant when DATABASE_ENABLED=true.

Features

  • Amazon Bedrock provider supportamazon-bedrock via PI, with a per-provider model tier catalog. The sandbox passes AWS credentials (static keys, session tokens, AWS_PROFILE, IRSA, ECS/EC2 roles, AWS_BEARER_TOKEN_BEDROCK) and bind-mounts credential files read-only. Provider errors (auth, model access, throttling) are now captured into error_message and surfaced instead of degrading to "check server logs" (#194)
  • DB-backed runtime settings overlay — change agent provider/model and related knobs without a redeploy. Allowlisted keys only, 30s cache TTL, precedence DB overlay → env → field default; secrets and infra settings are never overridable. Dashboard Settings becomes editable with Save / Revert to env and source badges (#192)
  • Models in use + Test connection — dashboard summary of the resolved provider/model per role (primary, false-positive, thread, fidelity, docs), plus a PI smoke test that auto-runs after changing AGENT_PROVIDER / AGENT_MODEL (#192, #194)
  • Per-PR review briefs elevated — a ## Review guidance for Baloo section in the PR body is extracted and injected as a dedicated review checklist step, so falsifiable checks are salient rather than buried in the description. Customer-repo hardcoding was dropped from the system prompt in favor of generic guidelines-driven wording (#193)
  • Findings cite the review brief — a finding prompted by a brief check now cites it explicitly, and checks that hold are recorded as positive observations. The brief never narrows scope: issues it doesn't mention are still reported (#186)
  • Missing review-brief section is flagged — when a repo's guidelines require a review-brief section and the PR description lacks it, Baloo emits a HIGH Guidelines finding (#181)

Fixes

  • Emit the missing-brief-section finding as a general finding instead of anchoring it to a fabricated file:line, which could cause it to be dropped (#186)
  • Unknown providers raise a clear configuration error instead of silently borrowing Anthropic model IDs (#194)
  • Dashboard renders a role-level warning for model resolution errors rather than returning a 500 (#194)
  • Keep tests deterministic when a developer has AGENT_PROVIDER exported (#194)

Docs

Dependencies

  • ~29 dependency and CI updates, including a consolidated batch (#210). Highlights: cryptography 49→50, fastapi 0.138→0.141.1, starlette 1.3.1→1.6.0, certifi, typescript 6→7, mypy 2.1→2.3, Python and Node base images, and GitHub Actions pins
  • Restricted the Dependabot uv ecosystem to direct dependencies (#210)

v2.1.0

Choose a tag to compare

@bb-amir bb-amir released this 13 Jul 11:03
4ac8952

What's Changed

Baloo now integrates with Linear tickets, reviews documentation drift, accepts @baloo review comment commands, and no longer silently drops findings it can't anchor to the diff. Plus reliability fixes for GitHub API timeouts and the Docker image build.

Features

  • Documentation drift review — optional PR-time analysis against a repo-owned documentation catalog (.baloo/documentation-catalog.json), posted as an upserted PR comment (#112, #114)
  • Linear ticket integration + two-layer fidelity spec — with LINEAR_API_KEY set, Baloo fetches the linked Linear ticket and injects it into the review prompt and fidelity analysis as an explicit ticket (intent) + plan (design) spec; stub tickets are detected and skipped instead of producing low-signal analysis. Includes webhook reliability improvements (#70)
  • @baloo review comment command — re-trigger a review from a PR comment, unsticking PRs after thread-resolution races or merge commits that don't fire synchronize (#160)
  • General findings — observations without a file/line anchor (e.g. "missing tests") now appear in a "General Observations" section of the review body instead of being silently dropped; CRITICAL/HIGH general findings still block (#149)
  • PR total cost tracking — dashboard aggregates spend across all review attempts for the same PR, shown on the review list and detail pages (#132)

Fixes

  • Retry transient GitHub API read timeouts with backoff instead of failing the whole review (#129)
  • Coerce bare-string findings in DocumentationDriftResult validation, ending the recurring pydantic errors (#145, #146)
  • Surface inline findings dropped as file_not_in_diff in the progress comment (#146)
  • Correct PR review cost accounting (#113)
  • Install libatomic1 for the Node 26 runtime in the Docker image (#161)
  • Drop the husky prepare script before npm ci in the Docker build (#169)

Security & Docs

  • OpenSSF Scorecard improvements: pinned actions, scoped workflow permissions (#94, #125)
  • Semantic PR title guidelines required for contributions (#133)

Dependencies

  • 48 dependency and CI bumps, including cryptography 48→49, Python and Node base images, and GitHub Actions pins

Full Changelog: v2.0.0...v2.1.0

v2.0.0

Choose a tag to compare

@bb-amir bb-amir released this 07 Jun 06:16
bdd61bd

What's Changed

Major release. The review agent now checks out the real PR repository and reads actual files — not just the diff — and does so by default. See the upgrade notes below.

⚠️ Breaking / Upgrade Notes

  • Repo provisioning is now on by default (REPO_CACHE_ENABLED=true). On each review Baloo creates a blobless bare clone + per-review git worktree at the PR head SHA under REPO_CACHE_ROOT (/tmp/baloo-repo-cache, capped at REPO_CACHE_MAX_DISK_GB=10, LRU-evicted). The agent's file tools (read/grep/find/ls) now operate on the real repo instead of Baloo's own filesystem. Any failure falls back to the previous diff-only behavior. Requires Contents: Read (already required); no new GitHub permissions.
  • Subprocess sandbox is now on by default (REPO_SANDBOX_MODE=bwrap). The agent runs under bubblewrap, bound read-only to the review worktree, with a scrubbed environment. The official Docker image ships bubblewrap; on hosts without unprivileged user namespaces Baloo automatically and silently falls back to running unsandboxed. Set REPO_SANDBOX_MODE=off to disable.
  • DASHBOARD_ENABLED now defaults to true (the code default was already true; docs/env templates previously claimed false). The dashboard stays dormant until DATABASE_ENABLED=true and credentials are also set, so this is a no-op for most deployments.

Features

  • Provision the PR repo for the review agent so file tools read real code, sandboxed via bubblewrap (#96, #97, #99)
  • Read-only dashboard Settings page at /dashboard/settings showing effective runtime config with secrets redacted (#73)

Fixes

  • Authenticate git worktree add so blobless caches can lazily fetch blobs during checkout; consistent agent logging + labels (#97)
  • Redact database URL query-string secrets in the dashboard
  • Treat 404 as end-of-pagination only for page > 1; raise on page 1 (#67)
  • Remove installation_id from the /health response (#65, #66)
  • Pin codeql-action/upload-sarif and the OpenSSF Scorecard action to real release SHAs; scope Scorecard workflow permissions to the job level (#91, #92, #93)
  • Use CodeQL default setup for Python

Refactors

  • Extract the review orchestrator from webhook_handler; decompose _drive_session into _dispatch_events (#61)

Tests

  • Coverage for orchestrator, fidelity analyzer/plan-fetcher, webhook_handler, auth, and discussions (#60)

Docs

  • Document repo provisioning + sandbox settings; rebuild .env.docker to parity with .env.example; document the dashboard Settings page (#99)
  • Improve OpenSSF Scorecard posture and discoverability; remove the public roadmap page (#72)

Dependencies

  • Bump Python (#80) and base images (postgres 16→18-alpine)
  • cryptography 46→48, starlette 0.52.1→1.0.1, python-multipart, psycopg2-binary, plus dev and GitHub Actions bumps

v1.2.0

Choose a tag to compare

@bb-amir bb-amir released this 27 May 15:36
63b0dde

What's Changed

Features

  • Webhook security validation chain — installation filter + HMAC token + repo ownership check (#58)
  • /health now exposes installation_id scope (#58)

Fixes

  • Hit rate now includes acknowledged findings so hit rate + noise rate sum to 100% (#64)
  • Async context manager lifecycle on GitHub API clients (#62)
  • Guard active_reviews cleanup against aclose() failure in finally block
  • CI workflow permissions (#55)

Refactors

  • httpx.AsyncClient injected into GitHub API clients for testability; PyGithub removed (#62)
  • Removed unused INSTALLATION_IDS setting (#62)

Docs

  • Multi-broker deployment and webhook security documentation (#57)

v1.1.0

Choose a tag to compare

@bb-amir bb-amir released this 20 May 14:00
71e6abd

What's Changed

Features

  • Multi-tenant support: All DB queries, reviews, and dashboard data are now scoped by installation_id, enabling safe multi-tenant deployments (#48)
  • Duplicate review prevention: DB partial unique index prevents duplicate reviews when running multiple replicas (#50)

Fixes

  • Advisory lock on migrations: Alembic migrations are now serialized with pg_advisory_lock to prevent race conditions on startup (#53)
  • Migration numbering: Renamed duplicate migration 006 to 007 (#52)
  • Security dependencies: Bumped idna, urllib3, python-multipart, and mako to address security advisories (#54)

Full Changelog

v1.0.0...v1.1.0

v1.0.0 - First Stable Release

Choose a tag to compare

@bb-amir bb-amir released this 13 May 09:46
fe39713

🎉 First Stable Release

This is the first stable release of Baloo, the AI-powered code review GitHub App.

🚀 Features

  • Automated PR reviews using Claude (Sonnet, Haiku, Opus) and Gemini
  • Agentic code review with file reading and grep capabilities
  • Severity-based routing (CRITICAL/HIGH → review comments, MEDIUM → Checks API)
  • Multi-model support with automatic fallback
  • Discussion thread tracking across PR iterations
  • FP verification to reduce false positives
  • Optional fidelity analysis against design plans
  • Dashboard for review history and cost tracking

🐛 Recent Improvements

  • Added comprehensive stderr logging for PI agent debugging (#39)
  • Completed environment variable documentation (#40)
  • Added Support section to README (#42)
  • Changed Docker builds to release-based workflow (#45)

📦 Docker Images

This release publishes Docker images to GitHub Container Registry:

  • ghcr.io/blue-bear-security/baloo-bear:latest
  • ghcr.io/blue-bear-security/baloo-bear:1.0.0

📖 Documentation

See the README for installation and usage instructions.