<#3798 fix(taps): ignore start_date for non-string...
# meltano-repo-activity
g
#3798 fix(taps): ignore start_date for non-string SQL replication keys Pull request opened by akashmalbari Summary • add a cached Stream.supports_start_date property backed by a _supports_start_date hook that defaults to True for backward-compatible custom stream behavior • have SQLStream evaluate the configured replication-key schema: string keys retain start_date; non-string keys warn once and omit it before initial state is written • raise the standard invalid-replication-key error when an SQL replication key is absent from the effective schema • add regression coverage for generic streams and SQL streams with integer, string, absent, and invalid replication keys Fixes #1677 Validation • UV_PRERELEASE=if-necessary-or-explicit uv run --python 3.14 --locked pytest tests/core/test_streams.py (51 passed) • UV_PRERELEASE=if-necessary-or-explicit uv run --python 3.14 --locked pytest -m packages tests/packages/test_tap_sqlite.py (12 passed) • uvx prek run --files singer_sdk/streams/core.py singer_sdk/sql/stream.py tests/core/test_streams.py tests/packages/test_tap_sqlite.py (passed) • GitHub Actions required checks, including API changes, typing, package tests, and coverage (passed on the prior head; the fresh run is in progress) Compatibility and privacy/security impact The behavior change is limited to SQLStream instances with an explicit non-string replication key: an ISO start_date is no longer used as their initial bookmark, preventing incompatible SQL comparisons. String SQL keys and streams without a replication key retain existing behavior. Other Stream subclasses keep the default support and can explicitly opt out by overriding _supports_start_date. No credentials, tokens, records, or sensitive responses are exposed. meltano/sdk