v1.5.24
Sling v1.5.24 (2026-08-09T21:32:00Z)
New Features
- ADBC auto-setup: Automatically downloads the ADBC driver manager (conda-forge) when missing, and auto-installs drivers via the dbc CLI when a driver path is not found locally (disable with
SLING_DISABLE_DBC_AUTO_INSTALL). Windows discovery foradbc_driver_manager.dllis included.
Bug Fixes
-
Redshift AWS credential chain: Falls back to the default AWS credential chain (env vars, shared profiles, IAM roles) when Redshift/S3 credentials are not explicitly configured, with clearer errors and redacted credential logging.
-
Soft-merge delete guard NULL-safe: CDC soft-merge
_sling_synced_op != 'D'guards now useCOALESCEacross dialects so pre-CDC target rows with NULL_sling_synced_opare no longer skipped (including Redshift). -
ADBC connection keys and auth: Corrected driver property keys (e.g. Snowflake/Trino
uri), added Snowflake PAT and key-pair (JWT) auth, fixed BigQueryauth_typehandling, and improvedadbc_urioverrides per database type. -
ADBC library load diagnostics: Load failures (outdated libstdc++/glibc, wrong arch,
ADBC_DRIVER_MANAGER_LIB) now return actionable remediation steps, including anLD_PRELOADhint on Linux when needed. -
Column select vs SQL expressions:
*inside SQL/JSONPath expressions (e.g.concat('a*', id),'$[*].amount') is no longer treated as a column glob; unmatched globs warn instead of silently no-oping. -
DuckDB Arrow / concurrency: Upgraded DuckDB, fixed
copy_method→arrow_httpwhenDUCKDB_USE_ARROWis set, improved Arrow stream error handling, and fall back to CSV when Arrow is unavailable due to a locked instance. -
Bool vs int cast to string: Boolean→string casting no longer uses integer comparisons/
CASTthat break on PostgreSQL/Redshift; integers targeting string columns use a plain varchar cast. -
Incremental state time format:
time.Timestate values are stored as RFC3339 so watermarks round-trip correctly withcast.ToTime(avoids full re-pulls). -
GCS auth collision: Resolved multiple-credential-option errors with newer Google API clients; added
GC_KEY_BODY,GC_KEY_FILE,KEYFILE, andGC_CRED_API_KEYaliases.