Skip to content

v1.5.22

Choose a tag to compare

@flarco flarco released this 26 Jul 23:13
· 58 commits to main since this release
cd6fa30

Sling v1.5.22 (2026-07-26T23:16:01Z)

New Features

  • ScyllaDB connector: New scylladb database connection type for basic import/export, including connection template, default port (9042), and NoSQL type registration.

  • MariaDB CDC reader: Dedicated binlog reader for MariaDB (separate from MySQL) handling the 4-column SHOW BINLOG STATUS DDL, the MariaDB GTID scheme, and transaction-boundary reads when resuming by file/offset.

  • CDC change_feed option: Reference a pre-provisioned, DBA-managed server-side CDC object instead of relying on the engine default — a PostgreSQL publication, a SQL Server capture instance, or an Oracle GoldenGate stream. Takes precedence over engine-specific properties (e.g. gg_stream).

  • Composite unique keys: Nested unique key groups (e.g. unique: [[a, b]]) are now preserved as composite unique indexes in generated DDL instead of being flattened into separate single-column constraints.

  • Redshift IAM role & profile auth: Added AWS_ROLE_ARN and AWS_PROFILE support for S3 authentication during Redshift COPY/UNLOAD, alongside the existing access-key/session-token paths. AWS_ROLE_ARN=default uses the cluster's attached default IAM role.

  • Pipeline execution state & CLI args: Pipeline runtime state now exposes execution-level fields (ID, start time, status, errors), and CLI arguments are surfaced via SLING_CLI_ARGS_MAP with dashed keys normalized to underscores and list values (primary-key, select, streams) preserved as structured data.

Bug Fixes

  • on_failure: defer in hook group loops: Deferred step failures no longer abort the group mid-loop. They are collected across all loop iterations (concurrent and sequential) and surfaced only after every iteration completes; hard failures still abort immediately.

  • CDC replay_from in shared-reader groups: replay_from was silently ignored when multiple streams shared a CDC reader — the group computed its start position from each stream's already-advanced position. Stream positions are now rewound before the shared start position is computed, matching single-stream semantics.

  • MariaDB CDC table filtering (#775): Wildcard-expanded stream names retained their identifier quoting (e.g. `sf`.`fakturs`), so no binlog rows event ever matched the filter set and runs reported "read 0 CDC events". Table names are now normalized (quotes stripped, lower-cased) before filtering.

  • Replication runtime state race: ReplicationConfig.RuntimeState now locks state access to prevent race conditions from concurrent callers.