sluice

sluice 0.137.1

Open-source MySQL <-> Postgres database migration and continuous-sync (CDC) tool

  • By sluicesync
  • Open Source
  • Updated Sep 1, 2026
Download for Windows

About sluice

sluice is an open-source database migration and continuous-sync (CDC) tool covering MySQL and Postgres in all four directions.

What's new in 0.137.1

A one-line fix for a diagnostic regression v0.137.0 introduced. If you run MySQL sync behind Vitess or PlanetScale, ProxySQL, or a tracing-instrumented client, a SLUICE-E-CDC-STATEMENT-DML refusal from v0.137.0 may have quoted your SQL comment instead of your statement — naming neither the verb nor the table. Values were never at risk. Plus the correction of a compatibility claim v0.137.0 over-stated. Drop-in from v0.137.0.

Fixed

A comment-prefixed statement keeps its diagnostic in the STATEMENT-DML refusal. v0.137.0 taught the refusal's redaction to skip a leading SQL comment, and moved the *end* of the quoted fragment without moving its *start* — so the comment was still echoed, and a long one crowded out everything worth reading. An sqlcommenter or traceparent prefix runs to about 110 bytes against an 80-byte cap, so the entire quoted fragment could be comment text with no verb and no table:exactly the diagnostic loss v0.137.0 set out to fix, one step further along.

Short comments still showed a verb, which is why v0.137.0's own tests passed it — "the verb survives" and "the comment is echoed" are both true for a short comment, so a test asserting only the first cannot tell them apart. The test now asserts the comment text is *absent* too, and exercises a real sqlcommenter prefix rather than a short contrived one.

Values were never at risk through that defect, in either version. The comment skip only ever moved the cut earlier, never later, so no literal could reach the refusal through it. What was lost was the ability to tell which statement tripped it.

A /*! versioned comment carrying a quote no longer leaks a value fragment. Separately, and found while reviewing the above:MySQL lexes a /*! … */ *executable* comment's contents as SQL, so a */ inside a string literal does not terminate it — unlike a plain /* … */, where MySQL is quote-blind exactly as sluice's scan is. A versioned comment carrying */ inside a quoted value therefore stopped the scan mid-value, and the remainder of that value was echoed into a refusal whose own text promises values are withheld. Ground-truthed against real MySQL 8.0.46. Such a comment is now not trusted as a comment at all: the refusal falls back to quoting nothing, which costs a diagnostic and never a value. Quote-free versioned comments — what mysqldump and Vitess actually emit — are unaffected.
…

Full release notes »

Technical details

Publishersluicesync
Version0.137.1
Release date2026-09-01
LicenseApache-2.0
Installer typezip
Architecturearm64, x64
Package IDsluicesync.sluice

Install sluice from the command line

Install with Windows Package Manager
winget install --id=sluicesync.sluice -e
Update to the latest version
winget upgrade --id=sluicesync.sluice -e
Uninstall
winget uninstall --id=sluicesync.sluice -e

databasemigrationcdcmysqlpostgres

sluice version history

  • 0.134.0
  • 0.100.0
  • 0.99.158
  • 0.99.41
  • 0.99.2

Frequently asked questions

Is sluice free?

Yes. sluice is free and open-source software released under the Apache-2.0 license.

What is the latest version of sluice?

The latest version is 0.137.1, released on Sep 1, 2026.

Is it safe to download sluice?

The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with 03dd91aa1defd4a1ceb3c06cde8605fb1e4b484b06a9059ae7d11155c131aba0.

Which Windows versions does sluice support?

sluice runs on Windows and is available for ARM64, 64-bit (x64) systems.

How do I uninstall sluice?

Open Settings › Apps › Installed apps, find sluice and select Uninstall. From the command line, run winget uninstall --id=sluicesync.sluice -e.