Sling v1.6.6 (2026-11-05T12:46:25Z)
New Features
- Add SAP HANA database connector (HANA Cloud and SSH tunnel supported).
- Add CDC primary key detection: use
primary_key, then the Postgres replica identity index, then the table primary key, then a unique index on NOT NULL columns (_idfor MongoDB). Fail before any read when streams have no key, and name all of them in one error. - Add
parallel_scansource option to read a Postgres table with parallelctidranges on the Arrow lane. - Add
insert_concurrencytarget option for ADBC and native ClickHouse targets. - Add SOCKS5 proxy support for SFTP with
proxy_url. - Support expression strings in the
filter()function, for examplefilter(array, "value > 1"). - Use the
pgxdriver instead oflib/pqfor Postgres. Reads use the binary protocol and take less CPU. - Speed up the Arrow lane (decimal parsing without
big.Rat) and the row path (rows pass between goroutines in chunks). - Write the Arrow IPC file format on the Arrow lane, and read both IPC formats.
- Infer the file format on the Arrow lane from the stream path (for example local
.arrowfiles). - Log an info line when
use_adbcdoes not change the read. - Update the default models for Anthropic and Google keys in the assist harness (
claude-sonnet-5-5,gemini-3.8-flash). - Update
mcp-goto v1.5.0 for the current MCP protocol. - Sync connection templates and LLM docs with the real connectors (add
dbaseandfirebolt).
Bug Fixes
- Reject chunked custom SQL that has no
{incremental_where_cond}or{incremental_value}placeholder. Before, each chunk read the same rows. - Fix decimal handling: keep precision and scale in Arrow and Parquet files, write decimals above 38 digits as strings in Parquet, keep all decimals for native ClickHouse targets, and keep all digits for ADBC Postgres numeric columns with no precision.
- Fix ClickHouse decimal precision and scale lookup on 21.x servers.
- Fix direct insert with chunks: create the target table only once (
TABLE_ALREADY_EXISTSon ClickHouse Cloud). - Fix TLS host verification through SSH or
proxy_urltunnels for Postgres (verify-full), MySQL, SQL Server and ClickHouse. - Redact tunnel passwords in errors, and fix the connection discovery check for unknown connections.
- Fix Postgres COPY (
pgx) for empty binary values and for integer or text values in bool columns. - Fix Postgres connections that use a secret manager (empty
role), and Snowflake one-line PEM keys from a secret manager. - Fix Snowflake unload reads from an external stage (S3, GCS, Azure).
- Fix Oracle: do not set a default
client_charset, keep NVARCHAR2/NCLOB text on non-Unicode databases, and fix LOB column length forsqlldr. - Fix SQL Server BCP
UNIQUEIDENTIFIERvalues. - Fix DuckDB: download the DuckDB 2.0 CLI
tar.gzasset, bind the HTTP import listener early, and let DuckDB read an HTTP import batch more than once (MotherDuck). - Fix S3 virtual-hosted addressing for custom endpoints.
- Fix Databricks
shortandbytenative types (map tosmallint). - Fix integer to string cast that wrote
true/falsefor1/0. - Fix Prometheus chunked range queries: accept
d/w/Msuffixes, use step-based chunk size, and remove boundary duplicates. - Fix CSV header dedupe to be case-insensitive.
- Return an error when the requested Excel sheet does not exist.
- Fix
{model.*}variables insling buildmodel hooks, and runKILLand similar statements withExecon ClickHouse. - Fix pipeline steps after
breakorgoto: send the skipped status. - Report replication streams skipped by cancel or timeout as failures.
- Set the error of a replication hook run that fails.
- Stop timeouts and dead targets from parking a run (StarRocks stream load deadline, threaded streams after a connect failure).
- Name all missing connections in one error, and hint Drive sharing for Google Drive "not found" errors.
- Show the "concurrent process created the table" message when a table exists.
- Fix
SLING_TASK_CONFIGfor large configs: read it from a file path (E2BIGon Linux). - Fix concurrent map access crashes in task
Env, state store and shared replication state. - Fix a data race in
Datastream.Collect, and a 0-row file write for small streams. - Fix bytes-written count for rows that the consumer changes in place.
- Reset the POST body before an API retry (HTTP/2 retry sent an empty body).
- Fix API spec docs: remove unsupported OAuth2 flows, fix
explodeand alias docs.