v1.5.19
Sling v1.5.19 (2026-05-25T11:50:17Z)
New Features
-
Column reordering and renames in
select: Theselectclause now supports reordering and renaming columns inline. Combined with stricter handling of select exclusions and excluded PKs, this gives finer control over output schemas without needing downstream transforms. -
Oracle LOB / binary fidelity to Snowflake: End-to-end row-level fidelity for Oracle
LONG,LONG RAW, and largeBLOBcolumns when replicating to Snowflake. SnowflakeCOPY VIA STAGEnow casts hex-encoded binary toBINARYwith explicit sizing up to 64MB, Snowflake parquet file formats setbinary_as_text = false, DuckDB staging decodes hex-encoded binary toBLOBfor parquet, DuckDBread_csvmax_line_sizeis raised for large hex blobs, andBinaryToHexconversion is optimized from O(n²) to O(n). Type inference is refined to preserve native binary types and apply explicit lengths. -
null_iffunction: New function for normalizing values to null when they match a target — useful for cleaning sentinel values out of API responses and CSV inputs. -
JSON-RPC error detection in endpoints: API endpoints now recognize JSON-RPC error envelopes and surface them through the standard rule/retry pipeline instead of treating them as successful payloads.
-
Idle DB-connection reaping in
sling lsp: The language server now reaps idle database connections instead of holding them open for the lifetime of the editor session. -
FileType.Extsmethod: New helper returns all valid extensions for aFileType, enabling correct detection of multi-extension formats (e.g..xlsmnow recognized as Excel file).
Bug Fixes
-
Inline
iterate.overpreserved on dynamic API endpoints: Inneriterate.overis now preserved across dynamic endpoint expansion, and theoverfield's JSON tag is corrected so YAML/JSON specs round-trip correctly. -
BigQuery errors masked by
context.Canceled: BigQuery job-wait logic is consolidated intowaitForJob, which re-fetches job status with a detached context ifjob.Waitreturnscontext.Canceled. Real BigQuery API errors now surface fromLoadFromReader,CopyFromGCS, andCopyToGCSinstead of being hidden behind a generic cancellation error. -
GCS path format in
importViaGoogleStorage: Corrected the GCS URI format used when importing via Google Storage, fixing failures on BigQuery loads that route through GCS. -
Auth-sequence responses skipped default rules: Default retry/fail rules are now applied to authentication-sequence responses in
dbio/api. Previously these responses bypassed the rule pipeline, producing unclear errors on auth failures. Rule application is also guarded for idempotency to prevent stacking on re-compilation. -
Endpoint rule stacking on re-compilation: Added an idempotency guard to
checkResponseso endpoint rules aren't duplicated when specs are re-compiled, and ensured mutations tosetup/teardowncall requests/responses persist by indexing directly into slices. -
CDC metadata column validation: Added support for retrieving and validating CDC metadata columns after the initial snapshot, with additional debug logging on CDC operations to make troubleshooting easier.
-
Temp-table double-drop: Skip dropping a temp table that has already been marked as dropped, and make the temp-table cleanup key unique to avoid collisions between concurrent tasks.