Bytebase 3.20.1 was published on July 16, 2026. The main operator visible fix reduces the high CPU usage caused by SQL Editor autocompletion on large sheets, while the release also corrects approval checks and database specific behavior.
The full release notes and downloads are on the GitHub release page.
SQL Editor work uses less CPU ¶
Autocompletion in the SQL Editor no longer causes the reported high CPU usage when a user enters or edits a large sheet containing multiple statements. The same area also received a fix for stale syntax error markers. Once a statement becomes valid, its old error marker should no longer remain on screen.
The release also addresses slow page behavior around overly long statements, SQL Editor URL redirects, and query result display. Those fixes are grouped as assorted UI work in the notes, so there are no published latency numbers. The practical change is narrower: editing a large SQL sheet should consume less CPU and present fewer stale validation signals.
PostgreSQL users get a related correctness fix. Selecting a schema in the SQL Editor now keeps public in the session search path. Extension functions installed in public can therefore resolve while another schema is selected. This removes a failure mode where changing editor context could make a valid extension function appear unavailable.
Approval and access rules are corrected ¶
Approval checks for multiple database changes are faster in 3.20.1. The release also improves access grant filtering and fixes approval flow rule validation. These changes affect control plane work before deployment, especially when one approval operation covers changes across several databases. The notes do not quantify the performance gain, so operators should treat this as a targeted reduction in approval check cost rather than a general server performance change.
The access expiration model also changes after the rename in 3.20.0. Maximum role expiration is restored as its own workspace setting. It limits how long a requested role can last. Maximum request expiration now applies only to just in time access requests. Terraform users should review the linked Migration Guide because the two limits now represent separate policy controls.
Row estimation is now aware of LIMIT, which should make estimates better reflect bounded statements during review. This sits beside the approval changes, but it has a distinct effect: a query capped by LIMIT should no longer be assessed as though every matching row will be returned.
Oracle sync and MongoDB exports preserve usable values ¶
Oracle schema sync now handles a view definition containing invalid UTF-8 instead of failing the sync. The release notes do not describe a replacement or normalization policy. The concrete outcome is that one malformed view definition should no longer prevent schema synchronization from completing.
MongoDB double values now render in mongosh notation instead of scientific notation. The change applies to query results, the detail panel, copied values, and exports. That consistency matters when exported text feeds a comparison, review, or downstream processing step. Numeric meaning may be unchanged, but a notation change can still alter snapshots and text based checks. Teams that retain exported output should expect the rendered form to change after the upgrade.
Upgrade notes ¶
The project lists three constraints before upgrading. First, back up the Bytebase metadata because an in place downgrade is not supported. Treat the move to 3.20.1 as forward only unless a metadata restore is available.
Second, do not run multiple Bytebase containers against the same data directory. Third, Terraform users must upgrade the Bytebase server before applying the new Terraform configuration. The server first order is especially relevant for the restored role expiration setting and its separate request expiration counterpart.