Repository navigation
v2.0.26
Data replication involves inherently complex and diverse workloads. Over the past several releases, we have continued to strengthen the foundation of Ape-DTS across three key areas: observability, through clearer metrics, error reporting, and runtime logs; controllability, through explicit resource configuration and the elimination of black-box behaviors that can unexpectedly amplify resource consumption; and usability, through streamlined configuration and CLI-based tooling. Alongside these foundational improvements, we have focused on making replication for four widely adopted open-source database engines—MySQL, PostgreSQL, MongoDB, and Redis—more stable and reliable across real-world workloads:
What's Changed
Added
General and Platform
- [471] - add configurable RPS and bandwidth limits for extractors and sinkers, and memory limits for pipeline buffers
- [460] - add inline CDC consistency checking
- [490] - add sampled consistency checking for snapshot and CDC workloads
- [500] - add
dts-clifor configuration validation and database connectivity diagnostics - [456] - support separate username and password fields when credentials contain URL-sensitive characters
- [544] - add busy-sinker metrics for worker utilization and scheduling visibility
- [525] - add profiling and Tokio Console image builds
- [530] - add runtime tracing for task scheduling and resource usage diagnostics
MySQL
- [450] - support parallel snapshot extraction using automatically selected or user-defined partition columns
- [483] - support TLS/SSL connections through configuration or URL parameters; certificate verification is not yet supported
PostgreSQL
- [450] - support parallel snapshot extraction using integer, floating-point, string, decimal, and other partition column types
- [475] - support selected user-defined functions and types, including enums, ranges, domains, and composite types, in structure migration
- [477] - support unchanged TOAST columns in CDC updates
- [483] - support TLS/SSL connections through configuration or URL parameters; certificate verification is not yet supported
Redis
- [508] - add Redis Cluster extraction support
- [511] - add database routing from source databases to target databases
- [520] - add Redis Cluster support to precheck and
dts-cli
MongoDB
- [515] - support MongoDB 6.0+ Change Stream DDL replication
- [515] - support structure and CDC replication for sharded collections and shard keys
- [505] - support all valid MongoDB
_idfield types - [520] - add MongoDB sharded-cluster support to precheck and
dts-cli
Changed
General and Platform
- [553] - separate checker target connections, snapshot and CDC checks, and output settings into dedicated configuration sections
- [439] - improve checker difference logs, summary logs, and revision SQL output
- [442] - add consistency rechecking and improve review workflows
- [488] - replace snapshot multi-task fan-out with a single runtime task and internal scheduling
- [497] - add configurable snapshot chunk rebalancing based on row count or data size
- [538] - optimize sinker batch query construction and parameter binding
- [486] - expand integration and regression testing for supported databases and checker workflows
Redis
- [519] - automatically detect Redis Cluster mode instead of requiring explicit configuration
Breaking Changes
- [527] - remove the HTTP client/consumer and unmaintained Foxlake integrations to clarify product scope
Fixed
General and Platform
- [459] - fix failures when concurrent queues reach capacity
- [496] - fix a potential deadlock in task monitoring
- [521] - avoid duplicate pipeline capacity limiters
- [464] - fix DDL parsing when database or table names contain reserved keywords
- [509] - release metadata caches after table-level snapshot tasks and fix related routing issues
- [503] - fix RDB merge behavior when an update changes a unique key
- [530] - reduce high-frequency Tokio runtime polling and unnecessary wakeups
- [492] - fix validation failures caused by the default dummy-sinker configuration
MySQL
- [489] - fix large-packet transfers being restricted by the client's default packet limit
- [502] - fix compatibility with binary collations such as
utf8_bin - [469] - fix snapshot compatibility for certain time-related data types
PostgreSQL
- [473] - fix writes for custom types outside the search path or with duplicate names across schemas
- [472] - fix structure migration when comments contain single quotes or other special characters
- [474] - fix unique-index detection in metadata
- [476] - fix CDC pullback and concurrent merge behavior when primary or unique keys change
- [478] - fix CDC updates and deletes for tables without primary or unique keys
- [481] - fix parameter binding when an update condition contains
NULLon a table without a primary key - [550] - fix missing
TRUNCATEevents in CDC - [467] - fix snapshot handling for
"char"and other PostgreSQL data types
Redis
- [468] - fix PSYNC recovery positions not being restored correctly from logs
- [522] - fix handling of an empty
is_clusterconfiguration value
MongoDB
- [547] - defer BSON parsing with
RawDocumentBufto handle invalid UTF-8 data and reduce extraction CPU usage