github.com/github/gh-ost
v1.1.11
#297 most downloaded on Go modules
github/gh-ost
What this package is like to depend on
Last release 7 days ago
17 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Rarely documented
notes for 9 of 53 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
1646 releases · first in 2016
25 releases in the last 12 months
see the full history below
Release timeline
1646 releases · Sep 2016 to Aug 2026Releases
latest 60 of 1646-
v1.1.1117 Aug 2026Release notes
Open source →gh-ost v1.1.11 includes MariaDB support, StatsD metrics, improved binlog processing, and several reliability and release/build improvements.
Thanks to all the contributors! 🙇♂️
What's Changed
New Features
- MariaDB and MariaDB GTID support (#1724, #1731) by @conf: Adds automatic server-flavor detection, MariaDB-specific replication behavior and privileges, and MariaDB GTID migrations. CI covers MariaDB 10.5, 10.6, 10.11, 11.4, and 11.8.
- StatsD/DogStatsD metrics (#1701) by @forge33: Adds opt-in telemetry for copy progress, applied DML, binlog backlog, replication and heartbeat lag, throttling, cut-over attempts and phases, query latency, sleep time, and Go runtime health. Global metric tags are supported.
- Pre-cutover table analysis (#1747) by @VandhanaSelvaprakash-at: Adds the
--analyze-ghost-table-before-cutoverflag, which runsANALYZE TABLEbefore swapping tables to help prevent stale optimizer statistics. The feature is opt-in and aborts cut-over if analysis fails.
Bug Fixes and Improvements
- Data-race fixes (#1750) by @ericyan: Synchronizes concurrent migration state more consistently and enables Go's race detector in CI to catch regressions.
- More efficient binlog processing (#1699) by @coding-chimp: Skips decoding row payloads for tables unrelated to the migration, reducing CPU and allocation overhead on servers with busy binlogs.
- More portable release binaries (#1697) by @meiji163: Disables CGO by default for release builds, reducing runtime dependencies and platform compatibility problems.
- Multi-flavor replica-test harness (#1722) by @conf: Expands automated integration testing across MySQL, Percona Server, and MariaDB versions.
- Improved release packaging and workflow (#1729 and #1753) by @conf and @ericyan: Standardizes archive and package names and a GitHub workflow to build and attest the release artifacts.
Maintenance and Documentation
- Core dependency updates (#1715) by @ericyan: Upgrades
go-mysqlto v1.15.0. - Test and security dependency updates (#1741) by @ericyan: Upgrades Testcontainers to v0.43 and
x/cryptoto v0.54. - OpenTelemetry dependency updates (#1740) by @dependabot[bot]: Upgrades
go.opentelemetry.io/otel/sdkfrom v1.21.0 to v1.43.0. - Go toolchain update (#1742) by @ericyan: Upgrades the project to Go 1.25.12.
- Test build cleanup (#1739) by @davidham: Restricts Testcontainers helpers to test builds.
- GitHub Actions updates (#1576, #1589, #1598) by @dependabot[bot]: Upgrades
actions/checkout,github/codeql-action, andactions/upload-artifact. - Command-line flag documentation (#1706) by @grodowski: Documents previously missing command-line flags.
- Throttle replica documentation (#1745) by @soepic1: Clarifies replica-selection requirements for
--throttle-control-replicas. - Documentation spelling corrections (#1749) by @vladdoster: Corrects spelling errors in the documentation.
New Contributors
- @conf made their first contribution in #1722
- @davidham made their first contribution in #1739
- @soepic1 made their first contribution in #1745
- @VandhanaSelvaprakash-at made their first contribution in #1747
- @vladdoster made their first contribution in #1749
Full Changelog: v1.1.10...v1.1.11
-
v1.1.11-rc117 Aug 2026 pre-releaseNothing published for this version
-
v1.1.11-0.20260814131752-1cb2071e405914 Aug 2026 pre-releaseNothing published for this version
-
v1.1.11-0.20260812114307-e403fed06a2b12 Aug 2026 pre-releaseNothing published for this version
-
v1.1.11-0.20260807122641-145799eeb80007 Aug 2026 pre-releaseNothing published for this version
-
v1.1.11-0.20260625204950-c2312729dd0e25 Jun 2026 pre-releaseNothing published for this version
-
v1.1.11-0.20260619155931-1409f8bcdf7119 Jun 2026 pre-releaseNothing published for this version
-
v1.1.11-0.20260604175642-83aaa708e7ef04 Jun 2026 pre-releaseNothing published for this version
-
v1.1.1001 Jun 2026Release notes
Open source →gh-ost v1.1.10 includes bug fixes, datadog stats integration, and support for in-process hook implementations.
Thanks to all the contributors! 🙇♂️What's Changed
- Add Datadog/statsd with simple client emitting startup by @forge33 in #1689
- Add Go runtime metrics to statsd reporting by @forge33 in #1690
- gh-ost can emit runtime metrics to datadog by specifying
--statsd-addr. Custom tags can be added with--statsd-tagsin a comma separated list.
- gh-ost can emit runtime metrics to datadog by specifying
- Add MigrationContext.Hooks for in-process hook implementations by @olsonjp in #1675
- When using gh-ost as a golang library, the user can implement the
Hooksinterface for hooks instead of calling external scripts.
- When using gh-ost as a golang library, the user can implement the
- Improve query performance for shared unique key with two columns by @coding-chimp in #1686
- Add GET_LOCK to prevent concurrent migrations of the same table by @jakubpliszka in #1693
- Fix: Prevent throttle() from blocking forever when context is cancelled by @ggilder in #1671
- Fix: Do not report high HeartbeatLag values until the first heartbeat is read by @grodowski in #1682
- Fix: Migrate() hang on panic abort during throttling by @jakubpliszka in #1677
- Fix: resume data loss: route heartbeat coords through applyEventsQueue by @grodowski in #1684
- Bump golang.org/x/crypto from 0.37.0 to 0.45.0 in the go_modules group across 1 directory by @dependabot[bot] in #1606
- Testing: Use
os.TempDir()for socket path by @ericyan in #1694
New Contributors
- @olsonjp made their first contribution in #1675
- @forge33 made their first contribution in #1689
- @ericyan made their first contribution in #1694
Full Changelog: v1.1.9...v1.1.10
-
v1.1.10-0.20260514180726-e62debe9857614 May 2026 pre-releaseNothing published for this version
-
v1.1.901 May 2026Release notes
Open source →GA release v1.1.9 is a small release with some bug fixes. We are aiming to make smaller releases more regularly.
Thanks to all the contributors!What's Changed
- Add retry logic for instant DDL on lock wait timeout by @yosefbs in #1651
- Retry attempt InstantDDL up to
--default-retriesby @meiji163 in #1667- When
--attempt-instant-ddlis enabled, it will retry on lock wait timeout up to--default-retriestimes. Retries are necessary in high-concurrency environments with metadata lock contention
- When
- Fix handling of warnings on DML batches by @ggilder in #1643
- Previously
--panic-on-warningsonly detected SQL warnings for the last DML in each batch. Now it is guaranteed to detect all warnings.
- Previously
- Update golangci-lint to v2.11 by @meiji163 in #1657
- Error messages have been lower-cased. Please be aware if you are parsing error logs.
- Add
GH_OST_INSTANT_DDLfor gh-ost-on-success hook by @meiji163 in #1658GH_OST_INSTANT_DDLenvironment variable is available on the success hook script to indicate whether InstantDDL succeeded or not.
- Replace usage of
Fatalewith context cancellation by @ggilder in #1639 - Improve tests for various error scenarios by @ggilder in #1642
- Fix rm permission errors in local tests by @grodowski in #1644
- Fix abort/retry interaction by @ggilder in #1655
- Fix Warning 1300 for varbinary columns with bytes invalid as utf8mb4 by @ggilder in #1661
- Prevent race condition on cutover completion by @jakubpliszka in #1664
- Prevent permanent worker deadlock when cutover times out waiting for binlog sentinel by @VarunChandola in #1637
- Upgrade to go1.25.9 by @meiji163 in #1668
New Contributors
- @yosefbs made their first contribution in #1651
- @jakubpliszka made their first contribution in #1664
- @VarunChandola made their first contribution in #1637
- @dnovitski made their first contribution in #1666
Full Changelog: v1.1.8...v1.1.9
-
v1.1.9-0.20260422235247-a3d0115586f622 Apr 2026 pre-releaseNothing published for this version
-
v1.1.9-0.20260402192245-8bc63f089aa802 Apr 2026 pre-releaseNothing published for this version
-
v1.1.9-0.20260327165944-8f274f7196ce27 Mar 2026 pre-releaseNothing published for this version
-
v1.1.809 Mar 2026Release notes
Open source →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
--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
- PanicOnWarnings option to detect SQL warnings and fail the copy process by @grodowski and @ggilder in #1500 and #1633
--panic-on-warningswill panic thegh-ostprocess 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-checkby @meiji163 in #1616- Use
--skip-metadata-lock-checkif you are running with performance_schema disabled. However, enabling performance_schema is recommended due to #1536.
- Use
- (Experimental) 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-fileinteractive 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
- Add a
gh-ost-on-batch-copy-retryhook which is invoked when a batch copy fails by @grodwoski in #1507 - Add trigger support by @yakirgb in #1503 and #1626
- Use
--include-triggersto makegh-ostcreate the same triggers on the ghost table at cutover time.
- Use
- 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
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 - 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
- @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
- @jorendorff made their first contribution in #1628
- @ggilder made their first contribution in #1633
Full Changelog: v1.1.7...v1.1.8
Edit 2026-03-10: Update binaries to include x86 RPM package
-
v1.1.8-rc.0.20260210180111-c6f95cc0b0aa10 Feb 2026 pre-releaseNothing published for this version
-
v1.1.8-rc.0.20260116225553-cc2dd7f02f4a16 Jan 2026 pre-releaseNothing published for this version
-
v1.1.8-rc05 Dec 2025 pre-releaseRelease notes
Open source →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 table 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.gzRelease notes
Open source →Release candidate v1.1.8-rc Pre-release
Pre-release
Compare
Choose a tag to compare
- GTID support for binlog streaming by @timvaillancourt and @meiji163 in #1584
-
v1.1.8-0.20260402192245-8bc63f089aa802 Apr 2026 pre-releaseNothing published for this version
-
v1.1.8-0.20260327165944-8f274f7196ce27 Mar 2026 pre-releaseNothing published for this version
-
v1.1.8-0.20251106173021-1b7933afa46606 Nov 2025 pre-releaseNothing published for this version
-
v1.1.8-0.20251016181146-1557a95891a516 Oct 2025 pre-releaseNothing published for this version
-
v1.1.8-0.20250812161850-7cc7cc8d28e112 Aug 2025 pre-releaseNothing published for this version
-
v1.1.8-0.20250724023337-65f88c6e555a24 Jul 2025 pre-releaseNothing published for this version
-
v1.1.8-0.20250605193239-fb3d71dec9f605 Jun 2025 pre-releaseNothing published for this version
-
v1.1.8-0.20250509164524-5c88f54b302609 May 2025 pre-releaseNothing published for this version
-
v1.1.8-0.20250210184832-be413cf5be5210 Feb 2025 pre-releaseNothing published for this version
-
v1.1.719 Dec 2024Release notes
Open source →gh-ost v1.1.7 includes performance improvements, new features, and several bug fixes 👻
Full Changelog: v1.1.6...v1.1.7What's Changed
- Add
cpu-profileinteractive command by @timvaillancourt in #1358- Use the
cpu-profilecommand to get a base64-encodedruntime/pprofreport
- Use the
- Add
--mysql-wait-timeoutflag by @timvaillancourt in #1401 and #1406--mysql-wait-timeoutsets the wait_timeout at cutover time
- Support to config charset and collation by @shaohk in #1368
--charsetsets the character set on gh-ost's MySQL connections
- Use query builders for DML queries, reducing time and allocations by @danieljoos in #1459
- improves throughput 5-10%
- Avoid causing deadlocks when copying rows on busy tables by @arthurschreiber in #1455
- adds
FOR SHARE NO WAITon the copy row queries for MySQL 8 to avoid deadlocks
- adds
- Use multiStatement to apply DML by @meiji163 in #1462
- batches DML queries into multi-statements to reduce network overhead
- Use testcontainers to for unit tests. by @arthurschreiber in #1458 and #1460
- Use last second copy rate to project ETA by @morgo in #1231
- Docker setup for localtests by @meiji163 in #1479
- Ensure replication running after replication restart by @andyedison in #1422
- Force index in unique key range queries by @timvaillancourt in #1237
- Fix: ensure
-attempt-instant-ddlrespects-executeflag by @timvaillancourt in #1440 - Fix: use cut-over-lock-timeout for instant DDL by @artemvovk in #1468
- Fix: onSuccess hook to run after INSTANT by @artemvovk in #1463
- Fix: successive failures error in streamer by @timvaillancourt in #1371
- Fix: binlog end log pos over lost data by @shaohk in #1367
- Fix: generated column in unique key error by @meiji163 in #1461
- Fix: tokens in inspector logging by @timvaillancourt in #1226
- Fix: Print status after escaping % character by @icyflame in #1374
New Contributors
- @testwill made their first contribution in #1331
- @icyflame made their first contribution in #1374
- @sentinel made their first contribution in #1213
- @dependabot made their first contribution in #1391
- @dontstopbelieveing made their first contribution in #1388
- @mountcount made their first contribution in #1405
- @overallteach made their first contribution in #1417
- @danieljoos made their first contribution in #1459
- @artemvovk made their first contribution in #1463
- @whhe made their first contribution in #1472
- @andyedison made their first contribution in #1422
Thanks to all the contributors!
$ sha256sum * 5bb2ed9ece5db42ae747b28585572afd9d123a45e3e916f4d93601dbf5f1d430 gh-ost 9e7c91d07ccae51c653252b8c58c148032f3785223bfa8e531eba81aa912b71a gh-ost-1.1.7-1.x86_64.rpm bf99e7df791e08642fbfbfefc8bd63cad55c563cd15c0741c996bb11b0f0d392 gh-ost_1.1.7_amd64.deb 71e6277957e52efb7c050f2ef0fac3c4f71a1045c9af809cf10a58b69959faae gh-ost-binary-linux-amd64-20241219160321.tar.gz 1afffa95bb3e1f62d47d82b517e58ce9a8f81d80c9369ec798274359a2b9b7c8 gh-ost-binary-linux-arm64-20241219160321.tar.gz dacfa1b516d4558d8db90c73ffac749733ea64d355cb8a53f6ea8db47769fe2b gh-ost-binary-osx-amd64-20241219160321.tar.gz 769d8290245d2e7d9ccc1c7c8256617c2f757a9810bba4a539581c43d3ba3731 gh-ost-binary-osx-arm64-20241219160321.tar.gz - Add
-
v1.1.7-0.20241120184147-067611679de320 Nov 2024 pre-releaseNothing published for this version
-
v1.1.7-0.20241118220058-42c0f0823a5718 Nov 2024 pre-releaseNothing published for this version
-
v1.1.7-0.20241031175127-a6ccd3feaf9331 Oct 2024 pre-releaseNothing published for this version
-
v1.1.7-0.20240815182952-48cb9ab7c7ae15 Aug 2024 pre-releaseNothing published for this version
-
v1.1.7-0.20240602232108-59db6fab409602 Jun 2024 pre-releaseNothing published for this version
-
v1.1.7-0.20240507223240-e87e2abd995b07 May 2024 pre-releaseNothing published for this version
-
v1.1.7-0.20240312235857-bc6cd55ea59a12 Mar 2024 pre-releaseNothing published for this version
-
v1.1.7-0.20240131213401-b1aae87c267931 Jan 2024 pre-releaseNothing published for this version
-
v1.1.7-0.20231212013517-59fd18dc909612 Dec 2023 pre-releaseNothing published for this version
-
v1.1.7-0.20231208233045-5ebb95347e2008 Dec 2023 pre-releaseNothing published for this version
-
v1.1.7-0.20231207145014-fe9d8d10219907 Dec 2023 pre-releaseNothing published for this version
-
v1.1.625 Oct 2023Release notes
Open source →Changes since 1.1.5: v1.1.5...v1.1.6
gh-ostv1.1.6 is based on themasterbranch, which is now considered stable.What's Changed
- Attempt
INSTANT DDLfirst for MySQL 8.0 by @morgo in #1201- disabled by default; enable with the flag
--attempt-instant-ddl
- disabled by default; enable with the flag
- Add rocksdb as transactional engine by @wangzihuacool in #1190
- RocksDB support is experimental. Enable with
--storage-engine=rocksdb.
- RocksDB support is experimental. Enable with
- Allow zero in dates by @timvaillancourt in #1161
- enable with the flag
--allow-zero-in-date
- enable with the flag
- Set binlogsyncer max reconnect attempts by @shaohk in #1279
- set with the flag
--binlogsyncer-max-reconnect-attempts
- set with the flag
- Set a transaction isolation level for MySQL connections by @timvaillancourt in #1156
gh-ostwill always useREPEATABLE_READfor InnoDB andREAD_COMMITEDfor RocksDB
- Print status to migrationContext logger by @SocalNick in #1194
- Fix: parse binlog timestamp in UTC by @meiji163 in #1322
- Fix: Convert column value in binlog events to bytes instead of utf8 encoded unicode by @wangzihuacool in #1158
- Fix: because lock is not release, drop cutover sentry table is hanged by @lmtwga in #1180
- Default to
go1.17.11by @timvaillancourt in #1136 - Improve applier
.ReadMigrationRangeValues()func accuracy by @timvaillancourt in #1164 - Add basic tests by @timvaillancourt #1165, #1166, #1168, #1179
- Upgrade go standard library for security patches by @meiji163 in #1332
Deprecation Notice
gh-ostofficially supports MySQL 5.7 and newer.- Remove MySQL 5.5 version (end-of-life Dec 2018) by @timvaillancourt in #1097
- Remove MySQL 5.6 version (end-of-life Feb 2021) by @dm-2 in #1101
Thanks to all contributors!
Edit Dec 7, 2023: Binaries updated to be statically linked
$ sha256sum * 0058c44e1a3ddba6fb6ac0b3132de5b266d57fdd059b756730d562307ffada6d gh-ost 5e389eeeaf3fded040e61f5be6f8ab282af866f33a94ba7d34fccf9e52a8ec44 gh-ost-1.1.6-1.x86_64.rpm 5d15547f207e72591fd3a55c9cbea275396880a65a290742287a1ac84d0f4977 gh-ost-binary-linux-amd64-20231207144046.tar.gz 12f9d91a77774e85073fdea6bfb26f457424bf65b12043cb330e288231aa3465 gh-ost-binary-linux-arm64-20231207144046.tar.gz dbb4005dee04ae441ef5aba0c4d35052374ad852c87637f374b3990f36339cdb gh-ost-binary-osx-amd64-20231207144046.tar.gz 48fc179f7f91efb317c13c16bdc0d817bff0a4141b2732b40a7cbbe6ff211c20 gh-ost-binary-osx-arm64-20231207144046.tar.gz f6ef9c83db73079c0c8395a85520b492551b9331c6063ce2f8996080aee51a3e gh-ost_1.1.6_amd64.deb - Attempt
-
v1.1.507 Jul 2022Release notes
Open source →Changes since 1.1.4: v1.1.4...v1.1.5
gh-ostv1.1.5 is based on v1.1.4, plus commits cherry-picked frommasterbranch.Notable:
- Cancel any row count queries before attempting to cut over, #846, thanks @ajm188
- Add context/timeout to HTTP throttle check, #1131, thanks @timvaillancourt
- Throttler will now throttle migration on HTTP timeouts to throttler source. This may cause a change in behaviour in rare cases (more throttling)
- New command line flags:
--throttle-http-interval-millis- Number of milliseconds to wait between HTTP throttle checks (default 100)--throttle-http-timeout-millis- Number of milliseconds to use as an HTTP throttle check timeout (default 1000)
- HTTP throttler calls now use
gh-ost/VERSION-HEREas aUser-Agentheader
- Use
switchstatements for readability, simplify.NewGoMySQLReader(), #1135, thanks @timvaillancourt - Ensure mysql rows responses are closed, #1132, thanks @timvaillancourt
- compound pk tests, #387, thanks @shlomi-noach
- Fix
integer divide by zeropanic in migrator, #1140, thanks @timvaillancourt for the PR and @ethankhall for reporting - fix: lost data in mysql two-phase commit, #1141, thanks @shaohk
- Add
golangci-lintCI action, fixgosimple,govet+unusedlint errors, #1127, thanks @timvaillancourt - Check RowsAffected when applying DML events to get more accurate statistics, #844, thanks @ajm188
Deprecation Notice:
--replication-lag-querycommand line flag will be deprecated ingh-ostrelease 1.1.7
This release is not based on the
masterbranch as it contains a known issue that is currently being investigated - please note that themasterbranch ofgh-ostis not considered stable; only releases are considered production-ready.Thank you to all contributors!
Updated 20th July 2022: RPM and deb packages have been updated to correctly include x86-64 binaries instead of arm64 binaries (thanks @Cartman75 for the issue report!)
$ sha256sum * 6a9dff3594b60a26422f7192ff7a79a85684b477d453431bedf025bc4023c389 gh-ost 236a1b9fb8fbb38bb6e27159377bd5af276ba09c3382724b5d88e9da6424dcbd gh-ost-1.1.5-1.x86_64.rpm 791ab7fe0e8fe9e754480f4decdba8380c87d5ce70648f8a549060d81f889116 gh-ost-binary-linux-amd64-20220707162303.tar.gz 48f53683e3c6bf52957ff985c8ccc2c09f8f2484b44da4346f659e019ef69be9 gh-ost-binary-linux-arm64-20220707162303.tar.gz 1b0d992d03eeba7aa919ca9b40019b92af319dcb3668e0a447db21b35016c5ee gh-ost-binary-osx-amd64-20220707162303.tar.gz 16fa1e09d2981e8a9312961337e41693a2e1396fe11abfd5b6a60781f3433795 gh-ost-binary-osx-arm64-20220707162303.tar.gz 2574da3ffe60f9a662366ca4f6a46edd90b8885acee8047ba0b11544561eb28d gh-ost_1.1.5_amd64.deb -
v1.1.407 Feb 2022Release notes
Open source →Changes since 1.1.3: v1.1.3...v1.1.4
gh-ostv1.1.4 is based on v1.1.3, plus commits cherry-picked frommasterbranch.Notable:
- Add flag to customize the interval which the onStatus hook is called, #1083, thanks @tknodell-recurly
- Add docs for
hooks-status-interval, #1090 - Reduce the minimal chunk size from
100to10, #1087, thanks @arthurschreiber
This release is not based on the
masterbranch as it contains a known issue that is currently being investigated - please note that themasterbranch ofgh-ostis not considered stable; only releases are considered production-ready.Thank you to all contributors!
Updated 25th Feb 2022: Binaries have been re-uploaded to fix an issue where RPMs were being generated with an OS for
darwininstead oflinux. (thanks @kedarvj for the report!)Updated 11th Mar 2022: Added macOS
arm64binary to support M1 Macs (thanks @jecepeda for adding support in #1108!)$ sha256sum * da2b2a943aaf18fb849b52e19b0828c9878b180546d1adb31ad03b3cf7c50d53 gh-ost d626f6ae582ca15c58a387c819c410788a78f64dd7ac7ec946df07f0bf66f7a0 gh-ost-1.1.4-1.x86_64.rpm ccc055a9fa2ca080b99aeb58a6aacf557582c317b8f36ee13c551d87cd5eeb30 gh-ost-binary-linux-20220225143506.tar.gz 9feebe056914335d23127db10de8f20631e0df448b1382f30366a462ab5d5473 gh-ost-binary-osx-20220225143506.tar.gz 66619ad49fb7a2a13edfe08aee110a554f7174b44453451fee2e532661f1f254 gh-ost-binary-osx-arm64-20220311164158.tar.gz 1dead2c07b73a8730ec4b923433be143dcb4dc18719e2ad640962e389168a22d gh-ost_1.1.4_amd64.deb -
v1.1.326 Jan 2022Release notes
Open source →Changes since 1.1.2: v1.1.2...v1.1.3
gh-ostv1.1.3 is comprised of v1.1.2 with a fix for security vulnerability GHSA-rrp4-2xx3-mv29, plus low-risk documentation updates cherry-picked frommasterbranch.This release is not based on the
masterbranch as it contains a known issue that is currently being investigated - please note that themasterbranch ofgh-ostis not considered stable; only releases are considered production-ready.Notable:
- Security vulnerability: Improper Input Validation of
-databaseParameter, GHSA-rrp4-2xx3-mv29, thanks @dwisiswant0 - doc/triggerless-design.md: typo, #1011, thanks @eddroid
- Document the flag critical-load-hibernate-seconds, improve grammar of flags documentation, #1066, thanks @EagleEyeJohn
- Update hook environment variable docs, #1076
- Update build script to generate releases, #1078
- Remove CGO dependency in
go-mysqlin Gh-ost v1.1.3, #1079
Thank you to all contributors!
Updated 8th Feb 2022: Binaries have been re-uploaded with the correct version number; previously they were incorrectly labelled as v1.1.2 instead of v1.1.3. (thanks @dharnett for notifying us!)
Updated 25th Feb 2022: Binaries have been re-uploaded to fix an issue where RPMs were being generated with an OS for
darwininstead oflinux. (thanks @kedarvj for the report!)$ sha256sum * 10255fa8690001d7eb37f51c6d41aba0e55ee9ef4c2b949ca4c0604011b74d71 gh-ost 496ac03a36738e752ad98668a3bb97eca913039431fdff80732fbb4acfac8991 gh-ost-1.1.3-1.x86_64.rpm c432e7d711268117bc8c13cebcf3e3cf3c986557a205cc041e0ea63937700ef5 gh-ost-binary-linux-20220225143057.tar.gz e55b3c28c655eab28617a47eefa88fb6a508af506652bafdd226293968bebd8e gh-ost-binary-osx-20220225143057.tar.gz 116db1f8f5e4bff6a8903f057dad07e14ad36eea0f3b462a16342b6d3b447d1a gh-ost_1.1.3_amd64.deb - Security vulnerability: Improper Input Validation of
-
v1.1.3-0.20231010225853-03f7fc8d09b110 Oct 2023 pre-releaseNothing published for this version
-
v1.1.3-0.20230525204553-0a033c76c10f25 May 2023 pre-releaseNothing published for this version
-
v1.1.3-0.20230206134204-b7db8c6ca76706 Feb 2023 pre-releaseNothing published for this version
-
v1.1.3-0.20221118160841-1a131d4398ee18 Nov 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20221114152627-fb82caf9e76614 Nov 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220906134848-1df37c207fcc06 Sep 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220906132318-05c7ed5f8ffb06 Sep 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220906130614-1fa3d4f75aa806 Sep 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220906120747-3c946e97d78706 Sep 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220906105656-1a473a4f663c06 Sep 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220906104407-9c2c7bad1b4006 Sep 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220830214913-ca8aef5d6d9630 Aug 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220827015536-e9cb4a233f7427 Aug 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220819170600-a17389e97ace19 Aug 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220818203624-2ad614ab1e4c18 Aug 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220812165222-3f44e043657212 Aug 2022 pre-releaseNothing published for this version
-
v1.1.3-0.20220811083200-5de91c9f90d411 Aug 2022 pre-releaseNothing published for this version