-
Notifications
You must be signed in to change notification settings - Fork 3
docs: add 3.17.0 changelog #1070
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
8317def
docs: add 3.17.0 changelog
adela-bytebase ba11521
update tf link
adela-bytebase 4113d52
remove mssql from omni part
adela-bytebase 6f47f57
fix
adela-bytebase 3dd8ce4
update
adela-bytebase d1eded6
update
adela-bytebase 6fad872
update
adela-bytebase c0836cc
fix
adela-bytebase fb9b9fa
update
adela-bytebase 070d7c8
update
adela-bytebase 9d45a3e
update
adela-bytebase e4020ac
update
adela-bytebase 35fa60c
fix
adela-bytebase File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,120 @@ | ||
| --- | ||
| title: Bytebase 3.17.0 - Apr 9, 2026 | ||
| author: Adela | ||
| updated_at: 2026/04/09 18:00:00 | ||
| description: 'Unified Plan Lifecycle View, High Availability' | ||
|
|
||
| --- | ||
|
|
||
| import InstallUpgrade from '/snippets/install/install-upgrade.mdx'; | ||
|
|
||
| ## 🔔 Notable Changes | ||
|
|
||
| - **Unified Plan lifecycle view** — Review and rollout now appear in a single Plan detail page, giving developers one place to follow a change from draft to deployment. | ||
|
|
||
| - **Remove Pro plan 20-user seat cap** — Pro plan no longer has a user limit. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - **API breaking changes** — Worksheet API moves to project scope (`/v1/projects/{id}/worksheets`), `ListDatabases` now requires workspace ID (`/v1/workspaces/{id}/databases`), `branding_logo` moves from workspace profile setting to workspace message, `GRANT_REQUEST` issue type renamed to `ROLE_GRANT`, and `UpdateSubscription` API replaced by `UploadLicense`. See [Change Details](<#api-breaking-changes>). | ||
|
|
||
| - **CEL filter syntax change** — Substring-search filters now use `contains()` instead of `matches()` across plan, database, instance, project, group, user, service account, workload identity, query history, access grant, and database metadata table filters. See [Change Details](<#cel-filter-syntax-change>). | ||
|
|
||
| - **Classification setting API breaking changes** — Classification description and level description fields removed. Classification level type changes from string to number. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - **Terraform provider** — Migrate for 3.17.0 API breaking changes. Support get, create, update, and list identity provider. | ||
|
|
||
| ## 🚀 Features | ||
|
|
||
| - **High Availability (HA)** — Support licensed multi-replica deployments backed by a shared external PostgreSQL metadata database. Active replicas are tracked via heartbeats, and background runners coordinate safely across replicas. | ||
|
|
||
| - **Page Agent** — Add an in-app AI assistant with tool-calling, threaded resumable conversations, DOM-aware autocomplete, and token usage tracking. | ||
|
|
||
| - **Issue Approved webhook event** — Support a new webhook event type for issue approval, with redesigned Slack message format. | ||
|
|
||
| - **MCP `query_database` tool** — Add a new MCP tool for executing SQL queries against managed databases with automatic database resolution. | ||
|
|
||
| - **CosmosDB** — Support local emulator connection and dynamic data masking for all 13 query feature areas. | ||
|
|
||
| ## 🎄 Enhancements | ||
|
|
||
| - Support executing stored procedures (`CALL` / `EXEC`) in SQL Editor by classifying stored procedure execution as DML. | ||
|
|
||
| - Support issue type filter in advanced search (Database Change, Role Grant, Database Export, Access Grant). | ||
|
|
||
| - Replace data classification file upload with an inline JSON editor and enhance the data classification editor. | ||
|
|
||
| - Redesign masking exemption list page with classification level support. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - Auto-expand sidebar group for the active route. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - Migrate the frontend from Vue to React across all major pages including settings, projects, databases, instances, plans, issues, and audit logs. | ||
|
|
||
| - Upgrade SQL parsing engine for PostgreSQL, MySQL, MSSQL, MongoDB, and CosmosDB from ANTLR to omni parser, improving SQL syntax coverage, consistency across SQL review / schema diff / auto-completion, and error message quality. | ||
|
|
||
| - Add configurable `--timeout` flag for `bytebase-action` for large SQL checks. | ||
|
|
||
| - Expose `--enable-json-logging` flag in the Helm chart for structured log output. | ||
|
|
||
|
|
||
| ## 🐞 Bug Fixes | ||
|
|
||
| - Fix false schema diff noise caused by PostgreSQL trigger ordering and CRLF / whitespace normalization. | ||
|
|
||
| - Fix automatic rollout not working. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - Fix startup crash from nil licenseService and non-idempotent migration. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - Fix SQL editor metadata sync retry flood. | ||
|
|
||
| - Fix OAuth discovery to return usable URLs in self-hosted mode. | ||
|
|
||
| - Fix SSO GitHub email fetch. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - Fix stale debounced query reverts in advanced search. | ||
|
|
||
| - Fix data export creation to issue-scoped flow and initialize export format correctly. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - Fix gh-ost directives in versioned release workflow. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - Fix various UI issues: dropdown z-index clipping, popover dismiss on label selector interaction, CEL constraint preservation after role deletion, environment dashboard responsive layout, and button label standardization. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - **PostgreSQL** — Fix CRLF line endings causing query truncation in SQL splitter, schema load failure by excluding aggregates from function sync, array subscript handling in column reference normalization, whitespace between LIMIT and FOR UPDATE clause, nested SELECTs in wrapper statements and CTEs for SQL review, and PolarDB `pg_bitmapindex` schema appearing in dumps. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| - **MySQL** — Fix unqualified SET columns in prior backup for UPDATE JOIN, missing `multiStatements` param in IAM auth DSN, and role sync for anonymous users. | ||
|
|
||
| - **TiDB** — Remove non-transaction statement handling. | ||
|
|
||
| - **Oracle** — Strip trailing null bytes from schema definitions. | ||
|
|
||
| <InstallUpgrade /> | ||
|
|
||
| ## 📃 Change Details | ||
|
|
||
| ### API Breaking Changes | ||
|
|
||
| | Change | Before | After | | ||
| | -- | -- | -- | | ||
| | Worksheet API path | `/v1/worksheets` | `/v1/projects/{id}/worksheets` | | ||
| | ListDatabases scope | `/v1/workspaces/-/databases` | `/v1/workspaces/{id}/databases` | | ||
| | Branding logo | `branding_logo` in workspace profile setting | `logo` field on workspace message | | ||
| | Issue type enum | `GRANT_REQUEST` | `ROLE_GRANT` | | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
| | Subscription API | `PATCH /v1/subscription` | `PATCH /v1/subscription/license` (renamed to `UploadLicense`) | | ||
| | Data source ID | Required explicit `data_source_id` in query API | Auto-resolved server-side; at most one read-only data source per instance (extra read-only data sources removed during migration) | | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
| | Classification level | `string` type with `description` field | `int` type, `description` removed | | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
|
|
||
| ### CEL Filter Syntax Change | ||
|
|
||
| Substring-search CEL filters now use `contains()` instead of `matches()`. Affected fields: | ||
|
|
||
| | Field | Example Before | Example After | | ||
| | -- | -- | -- | | ||
| | `title` | `title.matches("database migration")` | `title.contains("database migration")` | | ||
| | `name` | `name.matches("employee")` | `name.contains("employee")` | | ||
| | `resource_id` | `resource_id.matches("prod")` | `resource_id.contains("prod")` | | ||
| | `email` | `email.matches("admin")` | `email.contains("admin")` | | ||
| | `host` | `host.matches("10.0")` | `host.contains("10.0")` | | ||
| | `port` | `port.matches("5432")` | `port.contains("5432")` | | ||
| | `statement` | `statement.matches("select")` | `statement.contains("select")` | | ||
| | `query` | `query.matches("insert")` | `query.contains("insert")` | | ||
| | `table` | `table.matches("users")` | `table.contains("users")` | | ||
|
|
||
| Applies to: plan, database, instance, project, group, user, service account, workload identity, query history, access grant, and database metadata table filters. | ||
|
adela-bytebase marked this conversation as resolved.
Outdated
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.