✓ No known CVEs patched in this version
Topics
+13 more
Affected surfaces
ReleasePort's take
Moderate signalBytebase 3.18.0 includes breaking API changes: require_2fa→require_mfa, plan_spec_update→plan_update, ApprovalStatus moved to top-level. Terraform provider 3.18.0 required.
Why it matters: Update API clients and Terraform provider before upgrading. Test renamed endpoints and ApprovalStatus enum in dev. Plan 2-3 hours validation time.
Summary
AI summaryrequire_2fa renamed to require_mfa, plan_spec_update → plan_update, and Issue.ApprovalStatus moved to top-level.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | Medium |
API: plan_spec_update renamed to plan_update with restructured payload API: plan_spec_update renamed to plan_update with restructured payload Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Breaking | Medium |
API: require_2fa renamed to require_mfa in WorkspaceProfileSetting API: require_2fa renamed to require_mfa in WorkspaceProfileSetting Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Breaking | Medium |
API: Issue.ApprovalStatus moved to top-level ApprovalStatus enum API: Issue.ApprovalStatus moved to top-level ApprovalStatus enum Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Breaking | Medium |
Terraform provider 3.18.0 required; adds sensitive fields and header blocks Terraform provider 3.18.0 required; adds sensitive fields and header blocks Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Bytebase Cloud now supports multi-tenant SaaS architecture with workspace switching Bytebase Cloud now supports multi-tenant SaaS architecture with workspace switching Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Global SSO supports Google, GitHub, and custom IdP authentication Global SSO supports Google, GitHub, and custom IdP authentication Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Audit logs restored for Login, Signup, ExchangeToken events Audit logs restored for Login, Signup, ExchangeToken events Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Passwordless email code sign-in available for Bytebase Cloud Passwordless email code sign-in available for Bytebase Cloud Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Self-serve subscription plan upgrade and cancellation in app Self-serve subscription plan upgrade and cancellation in app Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Retry issue approval via new RetryIssueApproval API Retry issue approval via new RetryIssueApproval API Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
CosmosDB support for cross-partition queries CosmosDB support for cross-partition queries Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
TiDB DataSource connection parameters including packet compression TiDB DataSource connection parameters including packet compression Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
AWS RDS IAM authentication for metadata PostgreSQL database AWS RDS IAM authentication for metadata PostgreSQL database Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
MariaDB supports DML rollback and prior-backup matching MySQL MariaDB supports DML rollback and prior-backup matching MySQL Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
OAuth redirect URIs whitelisted in dynamic client registration OAuth redirect URIs whitelisted in dynamic client registration Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Plan edits now appear as comments in issue activity Plan edits now appear as comments in issue activity Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Bytebase Action custom headers flag for CI/CD proxies Bytebase Action custom headers flag for CI/CD proxies Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Google Chat webhook integration added for project notifications Google Chat webhook integration added for project notifications Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Low |
Bytebase Cloud now supports multi‑tenant SaaS with workspace switcher, self‑serve leave/delete, passwordless email sign‑in, global SSO (Google/GitHub/IdP), and subscription plan management in app Bytebase Cloud now supports multi‑tenant SaaS with workspace switcher, self‑serve leave/delete, passwordless email sign‑in, global SSO (Google/GitHub/IdP), and subscription plan management in app Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Feature | Low |
RetryIssueApproval API allows retrying stuck issue approvals in CHECKING state RetryIssueApproval API allows retrying stuck issue approvals in CHECKING state Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Feature | Low |
Audit logs restored for Login, Signup, ExchangeToken events; added retry approval and email‑code/password‑reset paths Audit logs restored for Login, Signup, ExchangeToken events; added retry approval and email‑code/password‑reset paths Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Bugfix | Medium |
PIPELINE_COMPLETED webhook event fixed when tasks skipped PIPELINE_COMPLETED webhook event fixed when tasks skipped Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Multi-change plans targeting same database group now accepted Multi-change plans targeting same database group now accepted Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
PostgreSQL query span bugs fixed for masking and analysis PostgreSQL query span bugs fixed for masking and analysis Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Per-sheet plan check summary preserved during approval checks Per-sheet plan check summary preserved during approval checks Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Databricks SQL Editor applies user-selected row limit Databricks SQL Editor applies user-selected row limit Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
SQL analysis reliability improved across PostgreSQL, MySQL, MSSQL SQL analysis reliability improved across PostgreSQL, MySQL, MSSQL Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
PostgreSQL and CockroachDB schema diff reliability improved PostgreSQL and CockroachDB schema diff reliability improved Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Refactor | Medium |
MongoDB driver replaced with native Go implementation MongoDB driver replaced with native Go implementation Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Other | Medium |
SQL Editor default role set to least-privileged select SQL Editor default role set to least-privileged select Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Other | Medium |
TiDB SQL Editor Ctrl+Enter runs cursor statement TiDB SQL Editor Ctrl+Enter runs cursor statement Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Other | Medium |
ClickHouse errors suggest using -Merge and finalizeAggregation ClickHouse errors suggest using -Merge and finalizeAggregation Source: llm_adapter@2026-05-21 Confidence: low |
— |
Full changelog
☁️ Bytebase Cloud Upgrade
Bytebase Cloud is now a true multi-tenant SaaS.
- One account, many workspaces — with a workspace switcher and self-serve leave/delete.
- Passwordless sign-in by email code (no more passwords in Cloud).
- Global SSO — sign in with Google, GitHub, or your org's IdP without picking a workspace first.
- Self-serve subscription plan upgrade and cancel from inside the app.
- Pro plan: unlimited users.
🔔 Other Notable Changes
-
Plan edits surfaced in issue activity — Plan edits now appear as audit comments in the issue activity feed for approver visibility.
-
API breaking changes —
require_2fa→require_mfa,plan_spec_update→plan_update(restructured payload), andIssue.ApprovalStatusmoved to top-level. See Change Details. -
Terraform provider 3.18.0 required — Adds write-only sensitive fields and a provider-level
custom_headerblock. Requires Terraform CLI 1.11+. See Migration Guide.
🚀 Features
-
AWS RDS IAM auth for the Bytebase metadata database — Authenticate the metadata PostgreSQL via AWS RDS IAM tokens.
-
Google Chat webhook integration — Add Google Chat as a project webhook destination.
-
Bytebase Action custom headers — Add
--custom-headerflag for header-based access proxies in CI/CD pipelines. -
Retry issue approval — Issues stuck in
CHECKINGcan be retried via a newRetryIssueApprovalAPI. -
CosmosDB — Support cross-partition queries.
-
MariaDB — Support DML rollback / prior-backup, matching MySQL behavior.
-
TiDB — Support extra DataSource connection parameters, including connection packet compression.
🎄 Enhancements
-
Improve SQL analysis reliability across PostgreSQL, MySQL, and MSSQL for advisor rules, query span, completion, and schema diff.
-
Improve PostgreSQL and CockroachDB metadata-backed schema diff reliability.
-
Show gh-ost start/end events in task run logs.
-
Show DDL/DML environment warnings across role grant, role request, and issue creation flows.
-
Show expired roles inline in the members table and member detail panel.
-
Show database group titles in plan selectors and human-readable instance/database names in member-role scopes.
-
Whitelist redirect URIs in OAuth dynamic client registration.
-
Restore audit logs for Login / Signup / ExchangeToken; add audit events for retry approval and email-code / password-reset paths.
-
Default the SQL Editor query role to the least-privileged SQL select role.
-
Improve the SQL statement matching for JIT access grants.
-
MongoDB — Replace mongosh with the native Go driver.
-
TiDB — SQL Editor
Ctrl+Enternow runs the cursor statement, matching MySQL / PostgreSQL behavior. -
ClickHouse —
AggregateFunction(...)errors fromSELECT *now suggest using-Merge+GROUP BYorfinalizeAggregation().
🐞 Bug Fixes
-
Fix multi-change plans targeting the same database group being rejected.
-
Fix
PIPELINE_COMPLETEDwebhook event missing when failed tasks are skipped. -
Fix per-sheet plan check summary preservation during approval checks.
-
PostgreSQL — Fix query span bugs affecting masking and query analysis.
-
Databricks — Apply user-selected row limit to SQL Editor queries.
📃 Change Details
API Breaking Changes
1. require_2fa renamed to require_mfa
The field on WorkspaceProfileSetting reflects the broader MFA scope (no longer 2FA-only).
| Field | Before | After |
| --- | --- | --- |
| WorkspaceProfileSetting.require_2fa | require_2fa (bool) | require_mfa (bool) |
Affected routes: any caller updating workspace profile settings via SettingService.UpdateSetting writing WorkspaceProfileSetting. Update references in your config or IaC.
2. IssueComment.plan_spec_update renamed to plan_update
The per-spec event (single sheet replacement) is replaced by a before/after snapshot of Plan.Spec[], so the comment carries the full diff of every plan spec change in one event.
| Field | Before | After |
| --- | --- | --- |
| IssueComment.plan_spec_update — PlanSpecUpdate { spec, from_sheet, to_sheet } (single spec/sheet change) | IssueComment.plan_update — PlanUpdate { from_specs, to_specs } (repeated Plan.Spec) |
Affected routes: any consumer of IssueService.ListIssueComments or issue activity events that previously read plan_spec_update. Update to read plan_update.from_specs / to_specs.
3. Issue.ApprovalStatus moved to top-level ApprovalStatus
Nested enum Issue.ApprovalStatus is removed; the same enum now lives at the top level in common.proto and is referenced by both Issue.approval_status and Plan.approval_status. Enum values and ordinals are unchanged (CHECKING=1, PENDING=2, APPROVED=3, REJECTED=4, SKIPPED=5).
| Type | Before | After |
| --- | --- | --- |
| Enum location | bytebase.v1.Issue.ApprovalStatus | bytebase.v1.ApprovalStatus |
Affected routes: clients that referenced the nested enum type by name (for example, generated Go or TS types). Update imports or type references; wire format is unchanged.
https://github.com/bytebase/bytebase/compare/3.17.1...3.18.0
Before upgrading: 1) Back up the metadata — in-place downgrade is not supported. 2) Do not run multiple containers on the same data directory. 3) Terraform users: upgrade Bytebase server first, then apply the new Terraform config.
Breaking Changes
- `require_2fa` → `require_mfa` in `WorkspaceProfileSetting`
- `IssueComment.plan_spec_update` → `plan_update` (restructured payload)
- `Issue.ApprovalStatus` enum moved from nested to top-level
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About bytebase
World's most advanced database DevSecOps solution for Developer, Security, DBA and Platform Engineering teams. The GitHub/GitLab for database DevSecOps.
Related context
Related tools
Earlier breaking changes
- v3.18.1 The `--demo` server flag has been removed.
Beta — feedback welcome: [email protected]