Update dependency dlt to >=1.10,<1.29#857
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
>=1.10,<1.28→>=1.10,<1.29Release Notes
dlt-hub/dlt (dlt)
v1.28.1Compare Source
dlt 1.28.1 Release Notes
Python 3.9 EOL
ruff/mypytarget versions were bumped accordingly. Users still on 3.9 must upgrade to 3.10+ to use this release.Highlights
Core Library
timestamp[ns]and times astime64[ns](via thearrow_streamreturn type) instead ofdate64(ms). dlt now normalizes all connectorx temporal columns to microsecond precision (the renamedcast_connectorx_temporal_columns), truncating ns→us losslessly since source DBs carry no nanoseconds.detect_datetime_formatso week-date cursors round-trip (#4061 @yashs33244) — Week-date formats (YYYY-Www) were detected as%Y-W%W, which disagrees with ISO weeks at year boundaries."2026-W01"parsed to 2025-12-29 and re-rendered as"2025-W52", silently corrupting saved incremental cursors. Now emits%G-W%V/%G-W%V-%u.0x0characters from postgres INSERT strings (#4086 @rudolfix) — Postgres escaping allowed null (0x0) characters through; they are now stripped in the escape function. INSERT statements are also split by\nonly.sql_database(#4067 @rudolfix) — User-passedmetadatais now correctly consulted for cached tables in both eager and deferred reflection. Fixes #4066.ai init(#4072 @lis365b) — Codex silently drops skills whosedescriptionfrontmatter exceeds 1024 chars. The Codex install path now truncates the installedSKILL.mddescription to the cap (with a warning) so workbench skills likedlthub-routerload correctly.Docs
dlthub-initvsdlthub-startconsistently in onboarding docs (#4080 @bjoaquinc)Chores
test_common.ymlinto 27 parallel focused jobs (3 per OS/Python combo) so wall-clock is roughlymax(suite)instead ofsum(suites), moves runners toblacksmith-*variants, and enables Python 3.14 in CI (running the full suite, with 3.14-gated depssnowflake-connector-python>=4.4.0andcffi>=1.18). Also includes job/workflow renames; one functional reduction —lance_s3non-essential tests now run only on full-suite triggers.New Contributors
v1.28.0Compare Source
dlt 1.28.0 Release Notes
Breaking Changes
refresh="drop_data"on Delta and persistent-catalog Iceberg no longer frees storage (#4051 @rudolfix) — Truncation is now a transactional delete that keeps the table, schema, version history, and data files (retained for time travel untilvacuum). Previously the files were deleted. This corrects prior erroneous behavior, but pipelines relying ondrop_datato reclaim disk space will no longer see storage freed without an explicitvacuum.replacenow fully truncates empty and orphaned tables (#4010 @rudolfix) — Tables belonging to areplaceresource that receive no data in a run (including nested tables, dynamic-name and variant tables) are now consistently truncated. Previously these tables could be left orphaned with stale rows surviving the reload, leaving the dataset in an inconsistent state. Pipelines that implicitly relied on that leftover data will now see those tables emptied.Highlights
LanceNamespace+lance.Sessionacross job clients; atomic single-commit-per-table writes uncommitted fragments in parallel and commits them in one version (Append/Overwrite/upsert).replaceis now a singleOverwritecommit so readers never see a partially-replaced table, and the namespace pool rebuilds handles on credential rotation to avoidExpiredTokenon long loads. Also fixes #3800 (Iceberg409 Table already existsafterdrop_sources).replace/refreshtruncation (#4010 @rudolfix) —replaceresources now consistently truncate all participating tables even when a load carries no data (nested tables, dynamic names, variants included), anddrop_datarefresh truncates correctly onappendand survives non-existent tables.refreshis now the recommended way to do a full refresh — thereplaceswitch is deprecated. Also fixes #3998 and #4017.write_encodingoption lets you choose the encoding of CSV files dlt writes (defaultutf-8), e.g.utf-8-sigfor Excel BOM orlatin-1/cp1252for legacy importers. Set via[normalize.data_writer] write_encoding="latin-1".ExpiredTokenfailures on long-held connections (#4003).Core Library
Features
zippath as good as pandas.--asset-url. Launcher path resolution usesfind_specinstead ofimport_moduleso notebooks aren't executed beforemarimo run/streamlit run(~1–1.5s faster port readiness).Fixes
credential_chainsecrets to survive temp-token expiry (#4021 @0ywfe) — AddsREFRESH autoso long-heldsql_clientconnections no longer die withExpiredTokenonce temporary AWS tokens rotate. Fixes #3987.Retry-After: 0no longer triggers an immediate retry loop (#4043 @AstrakhantsevaAA) — Values ≤ 0 are treated as no actionable hint, letting tenacity's exponential backoff take over. Fixes #4036.create_indexesis enabled (#4011 @burnash) — Avoids Unity CatalogUC_REFERENTIAL_CONSTRAINT_DOES_NOT_EXISTfailures when the matching primary/unique key isn't created.META_TYPE 'sqlite'(#3871 @Analect) — Splits the duckdb/sqlite branch so aduckdb:///catalog.duckdbcatalog URI attaches cleanly instead of failing onPRAGMA journal_mode=WAL.Docs
__in generated CLI docs to prevent markdown bold (#3993 @burnash)__deployment__.pyfile name in CLI docs (#3988 @nuetu)Chores
pytest-rerunfailures, scoped to just those two transient destinations via--only-rerun.test_multi_schema_selectionflaking on slow CI.New Contributors
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.