Skip to content

v1.6.4

Latest

Choose a tag to compare

@flarco flarco released this 28 Sep 00:14

Sling v1.6.4 (2026-09-28T00:43:13Z)

New Features

  • New database connectors: Firebolt, OpenSearch, DynamoDB (scan, batch write and delete_missing), LanceDB (with the DuckDB lance extension) and dBase .dbf files (read-only).
  • Databricks targets: New databricks-volume file connection for Unity Catalog Volumes. New copy_method: zerobus on databricks connections for direct Delta ingestion through Arrow Flight.
  • ADBC for ClickHouse: ClickHouse now supports ADBC ingest over HTTP. The MySQL source and the ClickHouse target can use the Arrow Lane.
  • DuckDB copy_format: copy_format (arrow | csv) replaces copy_method / DUCKDB_USE_ARROW. Arrow is now the default, and Sling falls back to CSV when the arrow extension does not load.
  • Iceberg merge strategies: Iceberg targets now support insert, update, update_insert and delete_insert. Cloudflare R2 is now a supported Iceberg storage.
  • StarRocks schema migration: StarRocks targets now support schema migration, with dialect-specific DDL (quoted defaults, inline comments, FK table property).
  • Connection tests: API spec tests are now cancellable and isolated per run. They report the request index, the iteration state and the final record shape per request.
  • Idle connection reaper: Long-running sling serve sessions close cached connections after 10 minutes of inactivity, so expired credentials get refreshed.
  • env.yaml editing: sling conns set/unset now edit env.yaml line by line and keep comments, formatting and key order. Literal secret values are allowed. Writes stop when env.yaml does not fully parse.

Bug Fixes

  • GCS / BigQuery gc_bucket: Fixed the multiple credential options provided error with Application Default Credentials.
  • MongoDB filters: Incremental and backfill filters now parse mongosh syntax (ISODate, ObjectId) and Extended JSON ($date, $oid, $numberLong, etc.).
  • SQL Server BCP: Fixed 3-part table names with the -d option. An interrupt during a BCP load no longer drops the _tmp table under bcp.
  • DuckDB sidecar: Sling now retries once when the DuckDB process stops during Parquet writes. Ctrl-C now cancels the query cleanly. Arrow output now goes through the same session, so temp tables and attached databases stay visible.
  • DuckDB type fidelity: hugeint/ubigint map to decimal, timestamp_s/ms/ns are recognized and ±infinity values decode correctly. checksum_decimal now truncates in DuckDB, DuckLake, LanceDB and MotherDuck.
  • Cloudflare D1: Query results are paged to survive memory-limit resets, and the limit option is respected.
  • MySQL ADBC URI: Special characters in credentials now decode correctly.
  • ClickHouse native connection: Fixed a hang caused by http_port in the native connection string.
  • Snowflake / S3 on EC2: Upgraded gosnowflake to v1.19.1. Sling no longer disables AWS IMDS, so EC2 instance-profile credentials work.
  • Connection URL passwords: Spaces are now encoded as %20 instead of +.
  • Environment loading: Existing process environment variables are no longer overwritten. Tab and non-breaking-space indentation in env files is repaired with a warning.
  • Incremental state: String update keys now save the correct maximum value.
  • Delete missing: Target table columns are refreshed before the delete runs.
  • Hooks: File-locked embedded databases now close correctly.
  • sling setup / assist: Fixed terminal detection when stdin is /dev/null. The error now points to --non-interactive.