Skip to main content

🎄 Enhancements

  • Plan review on the plan detail page — A unified Review section now lives directly on the plan detail page: approval flow, activity timeline, and rejection banner.
  • SQL Editor query history — Query history is reworked, and any history item now has a direct, shareable URL that reopens its exact statement and database connection.
  • Faster large SQL scripts and reviews — Splitting, DML transform, statement-range mapping, and SQL review now scale linearly on large multi-statement scripts, reducing the processing time of a 100k-line-SQL-statement by 98% (from 22s to 0.45s).
  • StarRocks — Dedicated StarRocks parser support: stops false syntax errors on StarRocks-specific DDL/DML (generated columns, async materialized views, INSERT OVERWRITE, CTE-prefixed DELETE/UPDATE), adds query lineage, and syncs StarRocks materialized views.
  • Consistent date & time picker — All date/time controls (run-task scheduler, role/permission expiration, time-range filters) now use one styled, app-themed picker; the whole field opens the picker, and custom expiration times are available again.

🐞 Bug Fixes

  • Fix table- and schema-scoped bb.sql.ddl / bb.sql.dml grants being silently denied for writes in the SQL Editor — such grants are now honored per write-target table.
  • PostgreSQL — Fix SQL Editor crash when a query returns a timestamp outside the supported range, and make metadata sync read columns and foreign tables from pg_catalog so privilege filtering can no longer hide them, producing valid, replayable schema dumps.
  • MySQL — Fix Sync Schema reporting false-positive diffs between identical databases (a regression from 3.17.0), and produce valid SQL for CHECK constraints and stored-routine headers in schema dumps.
  • MSSQL — Fix SQL Editor failing to resolve columns of an encrypted or otherwise unparseable view by falling back to synced column metadata.
  • Fix the instance Databases tab resetting to the first page after clicking Load more, and missing-license feedback when adding a read-only connection to an unlicensed instance.
  • Fix SQL review rules with required list values failing to save with an InvalidArgument error when no values were added.
  • Fix GitOps release checks reporting a None risk level — per-result and aggregate risk levels are now reported correctly in bytebase-action output.
  • DingTalk — Fix direct-message webhook notifications failing to resolve recipients when their phone numbers were not populated.

⚙️ Install and Upgrade

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.