Skip to content

Releases: AWeber-Imbi/imbi

2.11.5

12 Jun 18:45
@gmr gmr
c46c693

Choose a tag to compare

What's Changed

Added

  • Sync PRs button in Project Doctor — a new "Sync PRs" action in the Doctor tab's Utility Functions card lets operators kick off an on-demand pull-request history backfill for a project, mirroring the existing Sync Commits & Tags workflow. (imbi-ui #434)

Improved

  • Reports are now shareable links — each report in the Reports section has a genuine URL you can copy, open in a new tab, or bookmark. Back/Forward navigation works correctly between reports; the bare /reports path redirects to the default report. (imbi-ui #433)

Fixed

  • MCP --public-url documentation corrected — the help text and README example for IMBI_MCP_PUBLIC_URL now shows the base host (e.g. https://imbi-public.aweber.io) instead of the /mcp path. FastMCP appends the mount path internally; including it in the configured value was doubling the path and breaking OAuth discovery for remote MCP clients. (imbi-mcp #16)

2.11.4

12 Jun 15:07
@gmr gmr
91a88e5

Choose a tag to compare

What's Changed

This release realigns the full stack at 2.11.4 (imbi-common 2.11.4). The 2.11.3 release advanced the API and plugins but left imbi-ui pinned at 2.11.0, so 2.11.4 ships the accumulated UI work and brings every component back into lockstep.

Added

  • Apply Blueprint Fixes in Project Doctor — The Project Doctor panel now surfaces blueprint-compliance findings (missing required properties, invalid enum values, out-of-range numerics, missing defaults, and stale properties no longer covered by an applicable blueprint) and adds an Apply Blueprint Fixes action that fills in missing defaults, removes stale blueprint-managed properties, and re-runs analysis. This is the UI surface for the compliance check shipped server-side in 2.11.3. (imbi-ui #431)

Improved

  • "Imbi Assistant" naming — Renamed every remaining user-facing "Imbot" reference (command-bar thinking state, release-note drafting placeholders, and supporting docs) to the proper Imbi Assistant. Text-only, no behavioral change. (imbi-ui #432)

All services and plugins are released in lockstep at 2.11.4 (imbi-common 2.11.4).

2.11.3

12 Jun 01:34
@gmr gmr
f867905

Choose a tag to compare

What's Changed

Added

  • Blueprint Compliance Check — Project Doctor now includes a built-in blueprint-compliance check that compares each project's AGE node properties against its applicable blueprint JSON Schemas, flagging missing required fields, invalid enum values, out-of-range numerics, and missing defaults. A new Apply Blueprint Fixes action fills in missing defaults and removes stale blueprint-managed properties left over from project type changes. (imbi-api #450)

  • Pull Request History Sync — A new github-pr-sync webhook plugin captures GitHub pull request events (opened, closed, reopened, synchronize) and writes them to ClickHouse. A sync_all_history backfill action populates historical PR data. (imbi-plugin-github #40, imbi-api #450)

Fixed

  • Dependency bumps — aiohttp 3.13.5 → 3.14.0 across all services; starlette 1.0.0 → 1.2.1 in imbi-api and imbi-gateway.

All services and plugins are released in lockstep at 2.11.3 (imbi-common 2.11.3).

2.11.2

11 Jun 19:26
@gmr gmr
3d040db

Choose a tag to compare

What's Changed

Fixed

  • Event queries target imbi.events directly — the event list and get-by-id endpoints were querying through the events_latest view instead of the underlying table; switched to query imbi.events directly (imbi-api #448). The events_latest view DDL and related schema migration stubs have also been removed from imbi-common (imbi-common v2.11.2).

All services and plugins are released in lockstep at 2.11.2 (imbi-common 2.11.2).

2.11.1

11 Jun 18:59
@gmr gmr
7dda9d6

Choose a tag to compare

What's Changed

Fixed

  • imbi-plugin-pagerduty submodule registration — the plugin was shipped and documented in 2.11.0 but the submodule pointer was missing from the deployment repo; it is now included at the 2.11.0 tag.

All services and plugins are released in lockstep at 2.11.1 (imbi-common 2.11.0).

2.11.0

11 Jun 18:06
@gmr gmr
a884997

Choose a tag to compare

What's Changed

Added

  • PagerDuty integration — end-to-end incident management: a new imbi-plugin-pagerduty (lifecycle, webhook, and incidents plugins), host support in the API for incidents, lifecycle sync, and the encrypted webhook signing secret (imbi-api #438), HMAC-verified webhook dispatch in the gateway (imbi-gateway #40), and an incidents tab + lifecycle mapping editor in the UI (imbi-ui #416).
  • Releases tab for build-and-release projects — library/no-deploy project types can cut and view releases (tag + GitHub release) without an environment pipeline, gated on a new releasable project-type flag (imbi-api #439; imbi-ui #417, #419).
  • Webhook History admin view — browse and inspect inbound webhook events with filters and per-event detail (imbi-api #437; imbi-ui #415).
  • Document attachments for users and project types — attach documents beyond projects, plus a top-level Documents index and a profile Documents tab (imbi-api #444; imbi-ui #424).
  • Actor attribution across deploys, commits, and releases — events now resolve to the responsible Imbi user (Gravatar + profile link) through a canonical UserIdentity widget (imbi-api #446; imbi-plugin-github #39; imbi-ui #426, #430).
  • Admin dashboard Releases & Health widgets — releases-by-environment and project-health breakdowns on the admin overview (imbi-ui #428).
  • Loading-state skeletons — footprint skeletons across the UI in place of spinners and "Loading…" text (imbi-ui #425).

Improved

  • Deeper deployment resync — the resync action now backfills historical deployments and re-resolves their attribution rather than only catching up the latest event (imbi-api #447; imbi-ui #429).
  • Commit-sync hardening — CI status captured during sync (imbi-plugin-github #37), accurate lightweight-tag dates (#38), and pause-and-resume on GitHub rate limits instead of dead-lettering (imbi-api #436; imbi-plugin-github #36).
  • Search — non-Project results are routed from the command bar (which now defaults to Projects), results carry routing context, Comments and Components are searchable in org-scoped vector search, and archived projects are excluded (imbi-api #440, #442, #443, #445; imbi-ui #420, #421).
  • Gateway dispatch — two-phase per-handler dispatch outcome recording for webhook routing (imbi-gateway #41).
  • Slack bot rendering — adopted improved message rendering and behavior in imbi-slackbot.

Fixed

  • Release-drift base selection — drift is computed against the highest semver release rather than the most recently tagged one (imbi-api #441).
  • UserIdentity rendering on project detail — corrected avatar/name layout on the project detail page (imbi-ui #427).
  • Releases tab lists — scrollable lists with an accurate cutting tag/suggestion (imbi-ui #418).

All services and plugins are released in lockstep at 2.11.0 (imbi-common 2.11.0).

2.10.0

06 Jun 00:33
@gmr gmr
ac38f02

Choose a tag to compare

What's Changed

A lockstep release advancing every service, plugin, and the UI to 2.10.0 (pinned to imbi-common 2.10.0). Headline work: deployment-status scoring, a redesigned project Environments card backed by per-environment edge attributes, end-to-end commit-author attribution, and webhook expressions that evaluate against the full event context.

⚠️ Breaking — webhook action expressions. Action handler_config selectors and CEL expressions now evaluate against the same event context as filter expressions, so body fields must be addressed under the /payload prefix (e.g. /deployment/ref/payload/deployment/ref, substring(deployment.sha, 0, 7)substring(payload.deployment.sha, 0, 7)). Existing top-level selectors must be migrated. (imbi-gateway #39, imbi-plugin-sonarqube #2)

Added

  • Deployment-status scoring — a new DeploymentStatusPolicy scores projects on their latest deployment status and recomputes automatically when a deployment event is recorded. The new deployment_status policy category is fully CRUD-able. (imbi-api #433, imbi-common #156)
  • Redesigned project Environments card with per-environment attributes — each environment now renders its blueprint-defined DEPLOYED_IN edge attributes with inline per-key editing, a release-status badge, deployed version, and deployer, plus x-display value formatting. Backed by a new targeted PATCH /{project_id}/environments/{env_slug} endpoint. (imbi-api #435, imbi-ui #414)
  • Commit-author attribution — synced commits are attributed to Imbi users by resolving the external author identity: directly against the graph in the on-demand backfill, and over the gateway's identity lookup on the webhook path. (imbi-api #431, imbi-plugin-github #33, imbi-gateway #36)
  • "My Teams" projects filter — a toggle on the projects list narrows it to projects owned by a team you belong to; GET /users/me now returns the caller's team memberships. (imbi-api #432, imbi-ui #411)
  • Webhook rule filtering on the event contextfilter_expressions can now match on request headers (e.g. X-GitHub-Event) and the resolved event type, evaluated against the same materialized event context recorded to the activity feed. (imbi-gateway #38)

Improved

  • Commit sync survives GitHub rate limits — every GitHub request now pauses and resumes on both primary and secondary rate limits (reactive retry on 403/429 plus preemptive pause when the remaining quota hits zero), bounded per call so the gateway request path never blocks for long. (imbi-plugin-github #32)
  • Full ClickHouse footprint on the admin dashboard — the dashboard now reports the complete ClickHouse storage footprint and the storage-size figure is correct. (imbi-api #434, imbi-ui #413)
  • Lockstep to imbi-common 2.10.0 — all services (imbi-api, imbi-gateway, imbi-mcp, imbi-assistant, imbi-slackbot), plugins (aws, github, logzio, oidc, sonarqube), and imbi-ui pinned to imbi-common 2.10.0, which adds the plugin commit-author contract and ON CLUSTER/Replicated engine injection for clustered ClickHouse. (imbi-common #154, #155, #157)

Fixed

  • Configuration "Connect now" link — now routes to /settings/connections. (imbi-ui #410)

2.9.3

04 Jun 20:45
@gmr gmr
72f36f9

Choose a tag to compare

What's Changed

A scoped patch over 2.9.2 fixing the on-demand "Sync Commits & Tags" feature. Only imbi-api and imbi-plugin-github changed; all other services remain at 2.9.2 (and imbi-common stays 2.9.2).

Fixed

  • Commit-sync status endpoint no longer 500sGET /commits/sync-status aliased a column with the reserved word by, which Apache AGE expanded into invalid SQL. Renamed to requested_by. (imbi-api #430)
  • Commit-sync status writes survive contentionset_status now retries AGE's transient concurrent-update conflict so the worker's authoritative running/success/failed transitions land even when a webhook touches the project mid-write; the enqueue endpoint's optimistic queued write no longer clobbers a newer running. (imbi-api #430)
  • Tag backfill records annotated-tag metadata — the full-history sync now reads tags via GET /git/matching-refs/tags and enriches annotated tags with message, tagger_name/tagger_email, and tagged_at from the tag object; url is populated for every tag on both the backfill and webhook paths. Lightweight tags carry name/sha/url only. (imbi-plugin-github #30)

2.9.2

04 Jun 19:06
@gmr gmr
1375340

Choose a tag to compare

What's Changed

Added

  • On-demand "Sync Commits & Tags" — Project Doctor gains a button that enqueues a background job to backfill a project's full commit and tag history into ClickHouse, complementing the incremental webhook sync. Spans a new imbi-api background worker + endpoint, a full-history sync path with GitHub App auth in the commit-sync plugin, and the UI control. (imbi-api #427, imbi-plugin-github #26, imbi-plugin-github #29, imbi-ui #407)

Improved

  • Access log shows the API-key owner — API-key authenticated requests now log the resolving principal (user email or service-account slug) instead of the opaque ik_<id>, making the access log far easier to attribute. (imbi-api #429)

Fixed

  • Events feed no longer 500s on non-UTF-8 bytes — JSON columns containing non-UTF-8 byte sequences are decoded gracefully instead of erroring the events feed. (imbi-api #428)
  • Webhook gateway normalizes payloads to UTF-8 — incoming webhook payloads are sanitized to valid UTF-8 before they are evaluated or stored. (imbi-gateway #34)
  • Commit-sync host resolution on GHEC/GHES — fixes GitHub API base resolution for GitHub Enterprise Cloud/Server services in the commit-sync plugin. (imbi-plugin-github #28)

Lockstep

All Python services and plugins pin imbi-common 2.9.2 and exclude uv.lock from the tombi-format pre-commit hook.

2.9.1

04 Jun 14:23
@gmr gmr
f4e4a58

Choose a tag to compare

What's Changed

Fixed

  • Webhook & analysis plugin assignments — Assigning a webhook or analysis plugin to a project type returned 422. The assignment field tab is renamed to plugin_type end to end — across the imbi-api assignment models, validator, and every :USES_PLUGIN Cypher read/write, and across the imbi-ui types and consumers — now typed against imbi-common's full PluginType set instead of a drifted 4-value union. Edge readers fall back to the legacy tab property until the one-time graph migration runs. (imbi-api #425; imbi-ui #405)

Improved

  • imbi-common 2.9.1 across the stack — Every service and plugin is rebuilt against imbi-common 2.9.1, which exports the PluginType enum as the single source of truth for plugin/assignment types.