Skip to content

GA release v1.1.8

Latest

Choose a tag to compare

@meiji163 meiji163 released this 09 Mar 18:27
f7862c0

GA release v1.1.8 includes new features such as GTID support, MySQL 8.4 support, and migration checkpoints, as well as several critical bug fixes. Please submit any questions or bug reports in an issue.

Big thanks to all the contributors!

Changes

  • Add MySQL 8.4 Support by @chen-anders in #1494
  • GTID support for binlog streaming by @timvaillancourt and @meiji163 in #1584
    • Use the --gtid flag to use GTID sets for binlog streaming instead of file-based coordinates (the default). This option requires gtid_mode=ON and enforce_gtid_consistency=ON.
  • Resume migration from checkpoint by @meiji163 in #1595
    • Use --checkpoint flag to write periodic checkpoints that can be used to resume an interrupted migration. As long as the relevant binlogs are still available, a migration can be resumed from the last checkpoint by invoking gh-ost again with --resume. It is recommended to use in combination with --gtid, which allows resuming from a different replica.
    • Please read resume.md before using. Also see #1595 (comment) for more details.
  • PanicOnWarnings option to detect SQL warnings and fail the copy process by @grodowski and @ggilder in #1500 and #1633
    • --panic-on-warnings will panic the gh-ost process if there are any unexpected warnings while copying rows or applying row changes.
    • This prevents data loss for migrations that would violate a unique key constraint.
  • Add --skip-metadata-lock-check by @meiji163 in #1616
    • Use --skip-metadata-lock-check if you are running with performance_schema disabled. However, enabling performance_schema is recommended due to #1536.
  • (Experimental) Revertible migrations by @meiji163 in #1607
    • Some migrations can be reverted after they complete by invoking gh-ost with the --revert flag and the --old-table flag, which specifies name of the "old" table from the original migration e.g. _<table-name>_del. The original migration must be invoked with --checkpoint and the relevant binlogs have to still exist on the inspected replica.
    • ⚠️ Migrations are only revertible under certain conditions. Please read revert.md before using. Also see #1607 (comment) for more details.
  • Add postpone-cut-over-flag-file interactive command by @yktakaha4 in #1561
    • The cutover flag file can be set via interactive command postpone-cut-over-flag-file=<path-to-cutover-flag>.
  • Add a gh-ost-on-batch-copy-retry hook which is invoked when a batch copy fails by @grodwoski in #1507
  • Add trigger support by @yakirgb in #1503 and #1626
    • Use --include-triggers to make gh-ost create the same triggers on the ghost table at cutover time.
  • Fix: Avoid logging MySQL connection configs by @meiji163 in #1501
  • Fix: Add support for unique text column, they are mapped to uint8[] by @markmarkmarkthebest in #1583
  • Fix: Ensure metadata lock is held by rename session by @abaowhy in #1536
  • Fix: Panic if InitiateHeartbeat exhausts retries to avoid looping infinitely by @grodowski in #1594
  • Fix: Conversion bug when string data comes from binlog by @mattbooks in #1571
  • Fix: Converting binary to varbinary strips trailing 0's @jorendorff in #1628
  • Fix: Prevent exponential backoff from overflowing. by @burnison in #1491
  • Fix: TLS verify error when gh-ost discovers the replication master by @petervandoros in #1487
  • Fix: Output for binary keys in -verbose mode. by @burnison in #1559
  • Fix: Lexographical comparison of binlog filenames by @grodowski in #1604
  • Fix: Logic to include originalUniqueKey in sharedUniqueKeys by @htmsousa in #1453
  • Fix: Align max --dml-batch-size with the implementation by @yktakaha4 in #1575
  • Testing: sysbench localtest by @meiji163 in #1590
  • Testing: toxiproxy localtest by @meiji163 in #1591
  • Testing: copier test, upgrade testcontainers by @meiji163 in #1567
  • Testing: Use docker for CI replica tests, deprecate dbdeployer by @meiji163 in #1529
  • Move successful cleanup into func by @pasha132 in #1520
  • Upgrade go to 1.23.0, net module to 0.36.0 by @dependabot[bot] in #1511
  • Add support for go 1.25 by @ggilder in #1634
  • Update status format in docs by @coding-chimp in #1512
  • Remove restriction on password length and bump go-mysql to 1.11.0 by @joshvarner in #1525

New Contributors

Full Changelog: v1.1.7...v1.1.8

Edit 2026-03-10: Update binaries to include x86 RPM package