Skip to content

API Stability and Deprecation Policy

ETLantic is pre-1.0. Breaking changes remain possible, but they must not be silent.

Stability levels

Surface Current promise
Documented 0.14 public imports Supported for the 0.14 line
Versioned plugin protocols Compatible within their documented protocol version
Pipeline Plan schema Governed by its schema version
Experimental APIs May change in any 0.x release
Design proposals No compatibility promise
Private underscore modules No compatibility promise

Breaking-change requirements

A breaking 0.x change requires a changelog entry, migration guide, before/after example, affected plugin/protocol analysis, and tests that make the new boundary explicit. Persistent plans should normally be regenerated.

Deprecation behavior

When practical, a replacement is documented and a warning is emitted for at least one release before removal. Security fixes may shorten that window. After 1.0, incompatible public API removal requires a major release unless a documented security exception applies.

Active 0.15 → 0.16 vocabulary deprecations

Deprecated (0.15 warns) Replacement Removed
Source / Sink Extract / Load 0.16
binding= on extract/load constructors asset= 0.16
.binding property .asset 0.16
Profile(bindings=...) / bindings-only JSON Profile(assets=...) 0.16
RunRequest.binding_overrides asset_overrides 0.16

Wire names intentionally not deprecated: plan/graph binding, NodeKind "source"/"sink", DPCS etlantic:binding, plugin *_from_binding, and port-wiring Step.bindings. See Migration 0.14 → 0.15.