github slingdata-io/sling-cli v1.6.6

5 hours ago

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 (_id for MongoDB). Fail before any read when streams have no key, and name all of them in one error.
  • Add parallel_scan source option to read a Postgres table with parallel ctid ranges on the Arrow lane.
  • Add insert_concurrency target option for ADBC and native ClickHouse targets.
  • Add SOCKS5 proxy support for SFTP with proxy_url.
  • Support expression strings in the filter() function, for example filter(array, "value > 1").
  • Use the pgx driver instead of lib/pq for 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 .arrow files).
  • Log an info line when use_adbc does 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-go to v1.5.0 for the current MCP protocol.
  • Sync connection templates and LLM docs with the real connectors (add dbase and firebolt).

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_EXISTS on ClickHouse Cloud).
  • Fix TLS host verification through SSH or proxy_url tunnels 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 for sqlldr.
  • Fix SQL Server BCP UNIQUEIDENTIFIER values.
  • Fix DuckDB: download the DuckDB 2.0 CLI tar.gz asset, 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 short and byte native types (map to smallint).
  • Fix integer to string cast that wrote true/false for 1/0.
  • Fix Prometheus chunked range queries: accept d/w/M suffixes, 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 in sling build model hooks, and run KILL and similar statements with Exec on ClickHouse.
  • Fix pipeline steps after break or goto: 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_CONFIG for large configs: read it from a file path (E2BIG on 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 explode and alias docs.

Don't miss a new sling-cli release

NewReleases is sending notifications on new releases.