You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Version 0.0.555 (September 5, 2026)
Document artifacts can now be exported as PDF, rendered through the real document viewer in headless Chromium instead of the browser print dialog (#1060)
Queries moved from their own page into the agents knowledge tree: each agent has a Queries row that opens its saved queries in the side panel, and unpublished queries are no longer served to members who don't own or manage them (#1061)
Hardened SQL Server Kerberos delegation: connection handshakes serialize around the process-global credential cache and each worker gets a private ccache, so concurrent service-account and per-user connections can no longer pick up the wrong identity (#1062)
Session tokens are now revocable: logging out, changing or resetting a password, and the new admin force-signout all invalidate every session token already issued to that user. Upgrading signs every user out once (#1063)
SSO sign-in no longer returns the session token in the redirect URL; the callback redirects with a single-use 60s code the app trades for the token over POST (#1063)
Sign-in auto-starts the SSO round trip when there is exactly one provider in sso_only mode, and login_hint is carried through to the provider so an embedding app opens BOW without a chooser (#1064)
Prometheus connector is out of dev_only and ships as beta, with histogram/summary metrics typed from their base metric, schema discovery bounded to a recent window, and a configurable request timeout and discovery lookback (#1065)
Added an AWS CloudWatch connector, shipping as beta: log groups (via Logs Insights) and metrics are cataloged as tables on one connection, with static keys, assume-role, or the default credential chain (instance profile / EKS IRSA) (#1066)
OpenAI catalog adds GPT-6 Astra as a selectable model: GPT-6 requests omit temperature and route tool calls through the Responses API, including on gateways with a custom base URL. GPT-5.6 Terra remains the default and Luna the small-model default, so no organization changes model or cost on upgrade (#1068)
SQL data sources now introspect foreign keys (Postgres, SQL Server, MySQL/MariaDB, Oracle, Snowflake), so the agent sees table relationships without manual configuration; relationships pointing outside the selected tables are pruned from context, and the table picker shows a related-tables badge (#1069)
Added a catalog of 12 pre-built skills (train an agent, audit the instruction set, migrate a BI dashboard, create eval cases, complex parameterized dashboards, Mermaid ERD, company dashboard and deck themes, scikit-learn modeling, infrastructure RCA, evidence research, usage review), browsable from Skills in the knowledge explorer and enabled per organization by an admin. Skills no longer appear under Global instructions and an enabled skill opens in the normal instruction editor; skills scoped to specific agent modes are no longer advertised outside them, and instruction lists now carry a skill's one-line description instead of a prefix of its body. The read_instruction tool card reads "Read skill" when the instruction is a skill (#1070)
Added a SharePoint Server (on-premises) file connector for self-hosted farms, reading document libraries over SharePoint's own REST API rather than the Graph API — no Entra app registration needed. Authenticates with Windows credentials (NTLM, per-connection or per-user) or a Kerberos service account (#1071)
Table selection gains a Visual view beside the List view: an ERD canvas laying out relationships across a connection's tables, with selection, focus/expand and custom-query selection shared between the two, table metadata and metrics on the cards, agent-scoped recent prompts in a table's details, and a column browser that scrolls into view with its search focused (#1072)
The onboarding connector step now leads with the connectors new workspaces most often start with, browsable by category chip (defaulting to Popular), plus a search box that always queries the full catalogue — matching title, type, description, category and common aliases like "postgres" or "excel" (#1073)
Removing a member now deactivates their account when it was their last organization, so they can no longer sign in and their personal API keys stop working immediately — their reports, queries and history are kept, and re-inviting them restores access. Applies to single-organization installs (allow_multiple_organizations off). Signing in to a disabled account now says so, disclosed only after the password is verified, and a mistyped password reports "Invalid credentials" instead of the raw LOGIN_BAD_CREDENTIALS code (#1074)
The sign-in and sign-up pages share one provider-button component and a cleaner monochrome layout: each identity provider is shown by its real name and logo (Microsoft, Google, or a generic mark for a custom OIDC issuer), derived from the issuer URL rather than the provider's config key (#1075)
LDAP / Active Directory sign-in now fails closed: TLS is verified before either bind and certificate checking cannot be disabled (point config.ldap.caCertsFile at a private CA bundle), a service-account bindDn is required, and sign-in is admitted only for members of an explicit admissionGroupDn inside one organizationId. An LDAP login can no longer take over an existing local account that happens to share its email, and there is no local-password fallback while the directory is unreachable — allowLocalSuperuserLogin is the one explicit recovery path. Upgrading breaks any deployment that relied on anonymous bind, or on local-password fallback during a directory outage (#1067)
Directory group sync is scoped to a single organization and can no longer touch memberships it does not own: an empty or partial directory result no longer deletes invited members, and a failed reconciliation rolls back instead of applying halfway (#1067)
Kerberos delegation to SQL Server now takes the impersonated principal only from a verified directory identity — provider, SID and subject must all match — instead of falling back to the signed-in user's email address or a saved form value, and kerberosRealm sets the AD realm independently of users' email/UPN suffixes. Members whose delegated identity was previously inferred from their email need a linked directory identity, or their per-user connections will stop authenticating (#1067)