Release candidate v1.1.8-rc
Pre-release
Pre-release
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
--gtidflag to use GTID sets for binlog streaming instead of file-based coordinates (the default). This option requiresgtid_mode=ONandenforce_gtid_consistency=ON.
- Use the
- Resume migration from checkpoint by @meiji163 in #1595
- Use
--checkpointflag 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.
- Use
- Revertible migrations by @meiji163 in #1607
- Some migrations can be reverted after they complete by invoking
gh-ostwith the--revertflag and the--old-tableflag, which specifies name of the "old" table from the original migration e.g._<table-name>_del. The original migration must be invoked with--checkpointand 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.
- Some migrations can be reverted after they complete by invoking
- 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>
- The cutover flag file can be set via interactive command
- PanicOnWarnings option to detect SQL warnings and fail the copy process by @grodowski in #1500
--panic-on-warningswill panic thegh-ostprocess 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-triggersto makegh-ostcreate the same triggers on the ghost at cutover time.
- Use
- 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
binarykeys in-verbosemode. 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-sizewith 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,
netmodule 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
- @htmsousa made their first contribution in #1453
- @chen-anders made their first contribution in #1494
- @burnison made their first contribution in #1491
- @petervandoros made their first contribution in #1487
- @coding-chimp made their first contribution in #1512
- @grodowski made their first contribution in #1500
- @joshvarner made their first contribution in #1525
- @pasha132 made their first contribution in #1520
- @abaowhy made their first contribution in #1536
- @yktakaha4 made their first contribution in #1561
- @mattbooks made their first contribution in #1571
- @markmarkmarkthebest made their first contribution in #1583
- @bkungl made their first contribution in #1570
- @cinderellasecure made their first contribution in #1597
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