From 23f17aedd25e36d4110ed3a28770a7e5cf9b93ed Mon Sep 17 00:00:00 2001
From: adela
Date: Thu, 15 Jan 2026 10:56:49 +0100
Subject: [PATCH 1/4] add 3.14.0
---
docs/changelog/bytebase-3-14-0.mdx | 78 ++++++++++++++++++++++++++++++
docs/docs.json | 1 +
2 files changed, 79 insertions(+)
create mode 100644 docs/changelog/bytebase-3-14-0.mdx
diff --git a/docs/changelog/bytebase-3-14-0.mdx b/docs/changelog/bytebase-3-14-0.mdx
new file mode 100644
index 00000000..98823368
--- /dev/null
+++ b/docs/changelog/bytebase-3-14-0.mdx
@@ -0,0 +1,78 @@
+---
+title: Bytebase 3.14.0 - Jan 15, 2026
+author: Adela
+updated_at: 2026/01/15 18:00:00
+description: 'Separate CI and CD phases'
+
+---
+
+import InstallUpgrade from '/snippets/install/install-upgrade.mdx';
+
+## 🔔 Notable Changes
+
+- Redesign the database CI/CD workflow to align with industry practices (GitHub, GitLab) by clearly separating **CI (review)** and **CD (deployment)** phases:
+ - Issue page now displays plan changes directly - no more context switching between tabs
+ - Rollout is now a standalone deployment page, clearly separating review from execution
+ - Rollout UI now supports release-based tasks — showing per-file execution status, command duration, and release info in task items
+ - Rollout creation: previously rollout is created at the same time when issue is created, but now it's creation is decoupled from issue creation, with 2 creation modes: 1) automatic creation, if issue is approved AND SQL review check pass; 2) user can manually create in other cases (most common case, issue approved BUT review not passed, and there should be an action button)
+ - As a result of mode 2, project releaser might need to create rollout manually before executing rollout, so `bb.rollouts.create` permission is added to project releaser role. All custom roles for rollout initiation are advised to be assigned `bb.rollouts.create` permission. This permission only controls who can create a rollout; it does not bypass approval requirements or task execution.
+
+- Improve permission guards and access control:
+ - Stop hiding UI elements when users lack permissions and show a no permission alert instead. Allow users to request roles directly from the UI.
+ - Allow project owners to disable the self-service role request workflow in Project Settings.
+ - Introduce more granular permission management:
+ - Add new policy permissions:
+ - `bb.policies.getMaskingRulePolicy`
+ - `bb.policies.updateMaskingRulePolicy`
+ - Add new settings permissions:
+ - `bb.settings.getEnvironment`
+ - `bb.settings.setEnvironment`
+ - `bb.settings.getWorkspaceProfile`
+ - `bb.settings.setWorkspaceProfile`
+ - Permission assignments are updated accordingly:
+ - The **Workspace Admin** and **DBA** receive all these new permissions.
+ - The **Project Owner** receives the new policy permissions.
+ - The **Workspace Member** receives `bb.settings.getEnvironment` and `bb.settings.getWorkspaceProfile`.
+ - Tighten **Workspace Members** permissions:
+ - Revoke `bb.settings.get`, `bb.settings.list`, `bb.projects.list`.
+ - If **Workspace Members** should not access the user list, create a custom role and revoke `bb.users.list` and `bb.users.get`.
+- Redesign the **Database Changelog** and **Revision** pages.
+- Remove **Schema Drift Detection** feature:
+ - Remove `drifted` field from `Database message` in `v1/database_service.proto`.
+ - Remove `drifted` filter option from `ListDatabases` API (previously supported `drifted == true` filter).
+ - Remove `dump_version` field from `ChangelogPayload` in store proto.
+- Update core APIs `CreateSheet`, `CreatePlan`, `CreateRollout`, and `CreateRelease`, please refer to the latest API documentation for updated request/response definitions.
+- Update **Project Webhook events**. Please review the [documentation](/change-database/webhook) for the current list of supported events to ensure your listeners remain compatible.
+- Remove `auto_resolve_issue` and `allow_modify_statement` from **Project Settings**.
+- Remove `maximum_connections` from **Instance Settings** and use `Parallel tasks per rollout` in **Project Settings** instead.
+- Unify `TRUNCATE_TABLE` and `TRUNCATE` into a single `TRUNCATE` statement type for **Custom Approval** CEL expressions.
+- Update **Terraform provider**:
+ - Remove `allow_modify_statement` and `auto_resolve_issue` from the project resource.
+ - Remove `auto_resolve_issue` from the workspace_profile setting resource.
+ - Remove `maximum_connections` from the instance resource.
+ - The `notification_types` in the project webhook are changed to `ISSUE_CREATED`, `ISSUE_APPROVAL_REQUESTED`, `ISSUE_SENT_BACK`, `PIPELINE_FAILED` and `PIPELINE_COMPLETED`.
+ - Support configure `allow_request_role`, `data_classification_config_id`, `enforce_sql_review`, `force_issue_labels`, `issue_labels`, `labels`, `require_issue_approval`, `require_plan_check_no_error` for the project resource.
+
+## 🚀 Features
+
+- Add **refresh token** support (previously only access tokens were supported).
+- Allow configuring **Access token duration** and **Refresh token duration** (previously the sign-in frequency setting).
+- Allow setting `No approval required` in approval rules when configured conditions are met.
+- Support [**Workload Identity** with **GitLab**](/administration/user-groups/workload-identity/github-actions).
+
+## 🎄 Enhancements
+
+- Add list sorting for projects, instances, and databases.
+- Grant Exemption supports CEL expressions and includes a database selector.
+- **PostgreSQL** - Support ENUM value additions via `ALTER TYPE ... ADD VALUE` in schema sync.
+- **MySQL** - Prettify generated DDL statements.
+
+## 🐞 Bug Fixes
+
+- Fix AI setting cache modification issues.
+- **PostgreSQL** – Fix cyclic foreign key dependency handling in schema diff.
+- **TiDB** – Fix DML dry run handling for BATCH syntax.
+- **PostgreSQL** – Fix using identifiers as SELECT target field aliases.
+- **Oracle** – Fix SQL Review incorrectly flagging GRANT / REVOKE as reserved keywords.
+
+
diff --git a/docs/docs.json b/docs/docs.json
index 3a356f35..5b012be7 100644
--- a/docs/docs.json
+++ b/docs/docs.json
@@ -389,6 +389,7 @@
{
"tab": "Changelog",
"pages": [
+ "changelog/bytebase-3-14-0",
"changelog/bytebase-3-13-1",
"changelog/bytebase-3-13-0",
"changelog/bytebase-3-12-2",
From 13503323c890e866ab8642a12cc969f0a7258f0d Mon Sep 17 00:00:00 2001
From: adela
Date: Thu, 15 Jan 2026 11:08:50 +0100
Subject: [PATCH 2/4] add expandable
---
docs/changelog/bytebase-3-14-0.mdx | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/docs/changelog/bytebase-3-14-0.mdx b/docs/changelog/bytebase-3-14-0.mdx
index 98823368..28746aa3 100644
--- a/docs/changelog/bytebase-3-14-0.mdx
+++ b/docs/changelog/bytebase-3-14-0.mdx
@@ -11,15 +11,18 @@ import InstallUpgrade from '/snippets/install/install-upgrade.mdx';
## 🔔 Notable Changes
- Redesign the database CI/CD workflow to align with industry practices (GitHub, GitLab) by clearly separating **CI (review)** and **CD (deployment)** phases:
- - Issue page now displays plan changes directly - no more context switching between tabs
- - Rollout is now a standalone deployment page, clearly separating review from execution
- - Rollout UI now supports release-based tasks — showing per-file execution status, command duration, and release info in task items
- - Rollout creation: previously rollout is created at the same time when issue is created, but now it's creation is decoupled from issue creation, with 2 creation modes: 1) automatic creation, if issue is approved AND SQL review check pass; 2) user can manually create in other cases (most common case, issue approved BUT review not passed, and there should be an action button)
- - As a result of mode 2, project releaser might need to create rollout manually before executing rollout, so `bb.rollouts.create` permission is added to project releaser role. All custom roles for rollout initiation are advised to be assigned `bb.rollouts.create` permission. This permission only controls who can create a rollout; it does not bypass approval requirements or task execution.
+
+ - Issue page now displays plan changes directly - no more context switching between tabs.
+ - Rollout is now a standalone deployment page, clearly separating review from execution.
+ - Rollout UI now supports release-based tasks — showing per-file execution status, command duration, and release info in task items.
+ - Rollout creation: previously rollout is created at the same time when issue is created, but now it's creation is decoupled from issue creation, with 2 creation modes: 1) automatic creation, if issue is approved AND SQL review check pass; 2) user can manually create in other cases (most common case, issue approved BUT review not passed, and there should be an action button).
+ - As a result of mode 2, project releaser might need to create rollout manually before executing rollout, so `bb.rollouts.create` permission is added to project releaser role. All custom roles for rollout initiation are advised to be assigned `bb.rollouts.create` permission. This permission only controls who can create a rollout; it does not bypass approval requirements or task execution.
+
- Improve permission guards and access control:
+
- Stop hiding UI elements when users lack permissions and show a no permission alert instead. Allow users to request roles directly from the UI.
- - Allow project owners to disable the self-service role request workflow in Project Settings.
+ - Allow **Project Owners** to disable the self-service role request workflow in **Project Settings**.
- Introduce more granular permission management:
- Add new policy permissions:
- `bb.policies.getMaskingRulePolicy`
@@ -36,22 +39,27 @@ import InstallUpgrade from '/snippets/install/install-upgrade.mdx';
- Tighten **Workspace Members** permissions:
- Revoke `bb.settings.get`, `bb.settings.list`, `bb.projects.list`.
- If **Workspace Members** should not access the user list, create a custom role and revoke `bb.users.list` and `bb.users.get`.
+
- Redesign the **Database Changelog** and **Revision** pages.
- Remove **Schema Drift Detection** feature:
+
- Remove `drifted` field from `Database message` in `v1/database_service.proto`.
- Remove `drifted` filter option from `ListDatabases` API (previously supported `drifted == true` filter).
- Remove `dump_version` field from `ChangelogPayload` in store proto.
+
- Update core APIs `CreateSheet`, `CreatePlan`, `CreateRollout`, and `CreateRelease`, please refer to the latest API documentation for updated request/response definitions.
- Update **Project Webhook events**. Please review the [documentation](/change-database/webhook) for the current list of supported events to ensure your listeners remain compatible.
- Remove `auto_resolve_issue` and `allow_modify_statement` from **Project Settings**.
- Remove `maximum_connections` from **Instance Settings** and use `Parallel tasks per rollout` in **Project Settings** instead.
- Unify `TRUNCATE_TABLE` and `TRUNCATE` into a single `TRUNCATE` statement type for **Custom Approval** CEL expressions.
- Update **Terraform provider**:
+
- Remove `allow_modify_statement` and `auto_resolve_issue` from the project resource.
- Remove `auto_resolve_issue` from the workspace_profile setting resource.
- Remove `maximum_connections` from the instance resource.
- The `notification_types` in the project webhook are changed to `ISSUE_CREATED`, `ISSUE_APPROVAL_REQUESTED`, `ISSUE_SENT_BACK`, `PIPELINE_FAILED` and `PIPELINE_COMPLETED`.
- Support configure `allow_request_role`, `data_classification_config_id`, `enforce_sql_review`, `force_issue_labels`, `issue_labels`, `labels`, `require_issue_approval`, `require_plan_check_no_error` for the project resource.
+
## 🚀 Features
@@ -63,7 +71,7 @@ import InstallUpgrade from '/snippets/install/install-upgrade.mdx';
## 🎄 Enhancements
- Add list sorting for projects, instances, and databases.
-- Grant Exemption supports CEL expressions and includes a database selector.
+- **Grant Exemption** supports CEL expressions and includes a database selector.
- **PostgreSQL** - Support ENUM value additions via `ALTER TYPE ... ADD VALUE` in schema sync.
- **MySQL** - Prettify generated DDL statements.
From e9472fa45d74abf0372afa5670ae633de393c0a0 Mon Sep 17 00:00:00 2001
From: adela
Date: Thu, 15 Jan 2026 11:18:29 +0100
Subject: [PATCH 3/4] update
---
docs/changelog/bytebase-3-14-0.mdx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/changelog/bytebase-3-14-0.mdx b/docs/changelog/bytebase-3-14-0.mdx
index 28746aa3..cfb9d39a 100644
--- a/docs/changelog/bytebase-3-14-0.mdx
+++ b/docs/changelog/bytebase-3-14-0.mdx
@@ -21,7 +21,7 @@ import InstallUpgrade from '/snippets/install/install-upgrade.mdx';
- Improve permission guards and access control:
- - Stop hiding UI elements when users lack permissions and show a no permission alert instead. Allow users to request roles directly from the UI.
+ - Stop hiding UI elements when users lack permissions and show a no permission alert instead. Allow users with `bb.issues.create` permission to request Project roles directly from the UI.
- Allow **Project Owners** to disable the self-service role request workflow in **Project Settings**.
- Introduce more granular permission management:
- Add new policy permissions:
@@ -66,7 +66,7 @@ import InstallUpgrade from '/snippets/install/install-upgrade.mdx';
- Add **refresh token** support (previously only access tokens were supported).
- Allow configuring **Access token duration** and **Refresh token duration** (previously the sign-in frequency setting).
- Allow setting `No approval required` in approval rules when configured conditions are met.
-- Support [**Workload Identity** with **GitLab**](/administration/user-groups/workload-identity/github-actions).
+- Support [**Workload Identity** with **GitLab**](/administration/user-groups/workload-identity/gitlab-ci).
## 🎄 Enhancements
From 6ee879709643e6430a6898d094b0d1cbb65aa385 Mon Sep 17 00:00:00 2001
From: adela
Date: Thu, 15 Jan 2026 11:28:31 +0100
Subject: [PATCH 4/4] update the order
---
docs/changelog/bytebase-3-14-0.mdx | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/docs/changelog/bytebase-3-14-0.mdx b/docs/changelog/bytebase-3-14-0.mdx
index cfb9d39a..f418c5d7 100644
--- a/docs/changelog/bytebase-3-14-0.mdx
+++ b/docs/changelog/bytebase-3-14-0.mdx
@@ -18,7 +18,7 @@ import InstallUpgrade from '/snippets/install/install-upgrade.mdx';
- Rollout creation: previously rollout is created at the same time when issue is created, but now it's creation is decoupled from issue creation, with 2 creation modes: 1) automatic creation, if issue is approved AND SQL review check pass; 2) user can manually create in other cases (most common case, issue approved BUT review not passed, and there should be an action button).
- As a result of mode 2, project releaser might need to create rollout manually before executing rollout, so `bb.rollouts.create` permission is added to project releaser role. All custom roles for rollout initiation are advised to be assigned `bb.rollouts.create` permission. This permission only controls who can create a rollout; it does not bypass approval requirements or task execution.
-
+- Update **Project Webhook events**. Please review the [documentation](/change-database/webhook) for the current list of supported events to ensure your listeners remain compatible.
- Improve permission guards and access control:
- Stop hiding UI elements when users lack permissions and show a no permission alert instead. Allow users with `bb.issues.create` permission to request Project roles directly from the UI.
@@ -48,7 +48,6 @@ import InstallUpgrade from '/snippets/install/install-upgrade.mdx';
- Remove `dump_version` field from `ChangelogPayload` in store proto.
- Update core APIs `CreateSheet`, `CreatePlan`, `CreateRollout`, and `CreateRelease`, please refer to the latest API documentation for updated request/response definitions.
-- Update **Project Webhook events**. Please review the [documentation](/change-database/webhook) for the current list of supported events to ensure your listeners remain compatible.
- Remove `auto_resolve_issue` and `allow_modify_statement` from **Project Settings**.
- Remove `maximum_connections` from **Instance Settings** and use `Parallel tasks per rollout` in **Project Settings** instead.
- Unify `TRUNCATE_TABLE` and `TRUNCATE` into a single `TRUNCATE` statement type for **Custom Approval** CEL expressions.