v1.5.18
Sling v1.5.18 (2026-05-12T20:15:08Z)
New Features
-
Queue-only API endpoints: New
queue_onlyflag on API spec endpoints. Such endpoints drain synchronously to populate downstream queues and emit no records of their own, and are hidden from broad enumeration (sling conns discover, wildcard replication expansion) while remaining addressable by name.queue_onlyis also honored as adefaultsvalue in the spec. -
Inline
iteratelists/objects for dynamic API endpoints: Dynamic endpoints now accept native YAML arrays and objects initerate(in addition to JSON literals and JMESPath strings). Nested YAML maps are normalized tomap[string]anyfor consistent template/JMESPath use. -
sling conns execoutput formats and--limit:sling conns execnow supports--output csv|json|arrowwith streaming (Arrow IPC / CSV go straight to stdout, logs to stderr) and a--limitflag (default 100,0= unlimited). The limit is pushed down via the dialect'slimit_sqltemplate so the database truncates server-side.sling conns discoveralso gains CSV output.
Bug Fixes
-
CDC nil target options on shared-reader path: CDC's shared-reader write path bypassed
TaskExecution.Execute()and left target options (ColumnCasing,AddNewColumns,AdjustColumnType) nil. Now callsConfig.SetDefault()on the cloned config so system-wide defaults apply. -
Dataflow.Pausetimeout on slow stream starts:Pausenow waits up to a configurable timeout (SLING_PAUSE_TIMEOUT, default 30s) and returnsfalseif any stream can't pause in time or the dataflow context is canceled, instead of using a short random timer. -
MySQL
LoadDataLocalmissing batches: Reader handler is now registered per batch in MySQL'sLoadDataLocal, ensuring every batch is loaded instead of only the first. -
DuckDB Describe errors no longer masked:
SELECT/WITHqueries fail fast onDescribeerrors in DuckDB instead of swallowing the error and returning misleading results. -
Nil reader panic in
ConsumeCsvReaderChl: Guards against a nil reader to prevent panics. -
Spurious HTTP-URL check in
GenerateInsertStatement: Removed an unnecessary check that could misclassify insert targets. -
chunk()function return type: The pipelinechunk()function now returns*ChunkResultinstead of a bare channel for consistent downstream consumption. -
Cleaner error/messages: Clearer row-count-mismatch error in
WriteToDb/writeToDbDirectly, simplified pause error handling on those same paths, corrected DuckDB pipeline path andslingcommand output message, clarified thesling runCLI description.