Skip to content

Release candidate v1.1.8-rc

Pre-release
Pre-release

Choose a tag to compare

@meiji163 meiji163 released this 13 Jan 04:07
982eefb

Release candidate v1.1.8-rc adds major features including resumable migrations, revertible migrations, and GTID support. We invite the community to test these features and submit feedback or bug reports in an issue. After a period of further internal testing we will release GA v.1.18.

Thanks to all the contributors!

Changes

  • 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.
  • 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>
  • PanicOnWarnings option to detect SQL warnings and fail the copy process by @grodowski in #1500
    • --panic-on-warnings will panic the gh-ost process if there are any SQL warnings during the copy phase
  • Add MySQL 8.4 Support by @chen-anders in #1494
  • Add triggers support by @yakirgb in #1503
    • Use --include-triggers to make gh-ost create the same triggers on the ghost at cutover time.
  • Remove restriction on password length and bump go-mysql to 1.11.0 by @joshvarner in #1525
  • Update status format in docs by @coding-chimp in #1512
  • 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: 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: Ensure metadata lock is held by rename session by @abaowhy in #1536
  • 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
  • Upgrade builder images to go 1.23 by @meiji163 in #1519
  • Remove counts from CalculateNextIterationRangeEndValues that caused problems with --panic-on-warnings by @grodowski in #1557
  • Bump github.com/containerd/containerd from 1.7.18 to 1.7.27 in the go_modules group across 1 directory by @dependabot[bot] in #1513
  • Bump golang.org/x/net from 0.36.0 to 0.38.0 in the go_modules group across 1 directory by @dependabot[bot] in #1534
  • Bump actions/setup-go from 5 to 6 by @dependabot[bot] in #1581
  • Add Missing Languages to CodeQL Advanced Configuration by @bkungl in #1570
  • Potential fix for code scanning alert no. 5: Workflow does not contain permissions by @cinderellasecure in #1597

New Contributors

Full Changelog: v1.1.7...v1.1.8-rc

$ sha256sum *
887b0fb82dc40fbb9bf240e1765a9b30c36c69db569cdccb24bcbddcea2b70ab  gh-ost
5d94ee312b83f7d931babf7cfa179e9d2f311e7d420d7249286f5cdbcdd03a60  gh-ost_1.1.8-rc_arm64.deb
e4436537157efcd43e3c1c7f82350613fd88df56a52cba15dc274ea755c67215  gh-ost-1.1.8_rc-1.aarch64.rpm
b6ce2598abd47ddd0ed2507ba60e983a1a5bc8c26fedb73a44151dbc9c68d86e  gh-ost-binary-linux-amd64-20260112233124.tar.gz
950883152f7167ccde1badce451f23cf556a5a60b15efef71c2f6a0d4cb10b8a  gh-ost-binary-linux-arm64-20260112233124.tar.gz
5f1e252bba229564e867636892b0e08ea06183c3a4581196289c4fd7cbe8ae3a  gh-ost-binary-osx-amd64-20260112233124.tar.gz
e4f7f6fca94c507d919e563417a2ea7fef3881f48bb1da4e0d68d4b84f923101  gh-ost-binary-osx-arm64-20260112233124.tar.gz