Skip to content

ducklink: update to v4.3.0#2214

Merged
carlopi merged 1 commit into
duckdb:mainfrom
zacharywhitley:ducklink-v4.3.0
Jul 10, 2026
Merged

ducklink: update to v4.3.0#2214
carlopi merged 1 commit into
duckdb:mainfrom
zacharywhitley:ducklink-v4.3.0

Conversation

@zacharywhitley

Copy link
Copy Markdown
Contributor

Additive minor since v4.2.0. No API breaks, no WIT contract changes.

What's new

Native distribution end-to-end. A new native provider kind on ducklink catalog entries (platform + duckdb_version + content_digest). Entries with a matching native provider are fetched from ducklink infrastructure, sha256-verified, cached under ~/.cache/ducklink/native/…, and LOADed via DuckDB's own extension mechanism. The extension does not flip allow_unsigned_extensions — that's an explicit user choice at DuckDB startup (-unsigned).

New SQL surface. DUCKLINK LOAD '<name>' [WASM|NATIVE]; — default WASM. Retires the previous LOAD WASM 'aba' / LOAD NATIVE 'aba' pseudo-LOAD verbs (which borrowed DuckDB's LOAD keyword; the new form is unambiguously ducklink).

Function form. FROM ducklink_load('aba', kind => 'wasm' | 'native') — same choice via the existing table function.

Discovery. New native_available BOOLEAN column on ducklink.modules — TRUE when the entry has a native provider matching this host's platform + DuckDB version.

Design docs shipped alongside

Two upstream discussion drafts are in the repo, both ready to file at duckdb/duckdb:

  • docs/duckdb-upstream-custom-trusted-keys.md — minimal-viable subset of #23388; a custom_trusted_extension_keys setting so third-party extension distributors can be trusted without global allow_unsigned_extensions.
  • docs/duckdb-upstream-function-autoload.md — an ExtensionHelper::RegisterFunctionEntry API so extensions like ducklink can extend DuckDB's function → extension autoload map at runtime. Would enable transparent autoload (SELECT aba_validate(...) with no prior LOAD).

Supersedes

#2207 (v4.2.0). Closing that with a supersedes comment.

PR history

Additive minor since v4.2.0. Adds native distribution end-to-end
(`.duckdb_extension` builds fetched + cached + sha256-verified through
the ducklink catalog, then LOADed by DuckDB), a `DUCKLINK LOAD '<name>'
[WASM|NATIVE]` SQL statement (default WASM), a `kind` parameter on the
existing `ducklink_load()` table function, and a `native_available`
column on `ducklink.modules`.

Two DuckDB upstream drafts included in the repo for future ecosystem
work (trust-key registration + function-autoload registration). No
API breaks; no WIT contract changes.
@carlopi

carlopi commented Jul 10, 2026

Copy link
Copy Markdown
Member

Thanks!

@carlopi carlopi merged commit 464d1db into duckdb:main Jul 10, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants