Featured image of post DuckDB v1.5.4 Released: ADBC 1.1.0 Support, Avro Extension & Unity Catalog Integration

DuckDB v1.5.4 Released: ADBC 1.1.0 Support, Avro Extension & Unity Catalog Integration

DuckDB v1.5.4 brings ADBC 1.1.0 protocol support, Avro and Unity Catalog extensions, major MERGE INTO improvements, and dozens of critical bug fixes. Complete guide to what's new.

Overview

On June 17, 2026, DuckDB officially released v1.5.4, a bugfix release packed with significant new features and dozens of community-driven improvements. Released less than a month after v1.5.3, this update brings ADBC 1.1.0 protocol support, the Avro and Unity Catalog extensions, major MERGE INTO semantics corrections, and upgraded Vortex and Lance extensions.

DuckDB v1.5.4 Architecture Overview

This article dives deep into the most impactful changes and shows you how to leverage them in your daily data workflows.

ADBC 1.1.0 Support: Standardizing Database Connections

What is ADBC?

Arrow Database Connectivity (ADBC) is a database connectivity standard from the Apache Arrow project, designed to provide a unified driver interface across different databases. It allows applications to access PostgreSQL, MySQL, DuckDB, and many others through the same codebase, greatly simplifying data pipeline development.

What’s New in v1.5.4

The v1.5.4 release implements two critical ADBC features:

  1. StatementExecuteSchema: Allows retrieving result set metadata before executing a query. You can learn the column names and types without running the actual query.
  2. Rich Error Metadata API: When a query fails, ADBC now returns detailed error context including the specific error location and related SQL fragments, dramatically improving debugging efficiency.

Practical Example

-- Using ADBC driver with DuckDB in Python

import adbc_driver_manager.dbapi as dbapi
import adbc_driver_duckdb.dbapi

# Establish connection
with dbapi.connect(
    "duckdb://",
    driver_name="adbc_driver_duckdb",
) as conn:
    with conn.cursor() as cursor:
        # Execute query
        cursor.execute("SELECT 'Hello DuckDB v1.5.4' AS greeting")
        result = cursor.fetch_arrow_table()
        print(result)

For data application developers using ADBC, this means seamless switching between underlying database engines without modifying query logic.

Avro Extension: Full Apache Avro Format Support

What is Avro?

Apache Avro is a popular binary serialization framework widely used in Hadoop ecosystems and data pipelines. It stores data in compact binary format while preserving complete schema information, making it ideal for large-scale data storage and transmission.

Reading Avro in DuckDB

With the Avro extension officially added to DuckDB’s extension list in v1.5.4, you can directly read .avro files using the read_avro() function:

-- Read an Avro file
SELECT * FROM read_avro('data/records.avro');

-- Inspect the Avro file schema
DESCRIBE SELECT * FROM read_avro('data/records.avro');

-- Combine with other file formats
SELECT 
    avro_data.customer_id,
    csv_data.order_total,
    avro_data.timestamp
FROM read_avro('orders.avro') avro_data
JOIN read_csv_auto('customers.csv') csv_data
ON avro_data.customer_id = csv_data.id;

Performance Comparison: Avro vs Parquet

FeatureAvroParquetDuckDB Support
Compression RatioHighHigh
Columnar Storage
Schema Evolution
Random AccessSlowFast
Best Use CaseStreaming writesAnalytical queriesBoth

For users migrating data from the Hadoop ecosystem, the Avro extension lets DuckDB consume existing Avro files directly without additional format conversion steps.

Unity Catalog Extension: Databricks Data Governance Integration

What is Unity Catalog?

Unity Catalog is Databricks’ unified data governance solution, supporting cross-workspace permission management, metadata management, and audit trails. With DuckDB’s Unity Catalog extension, you can directly query Unity Catalog-managed Delta Lake tables in a local environment.

Usage

-- Attach Unity Catalog data source
ATTACH 'unity://catalog' AS uc (TYPE unity_catalog);

-- List available schemas
SHOW SCHEMAS FROM uc;

-- Query Unity Catalog managed tables
SELECT * FROM uc.default.my_table LIMIT 10;

-- Cross-catalog queries
SELECT 
    t.product_name,
    SUM(t.amount) as total_sales
FROM uc.production.sales t
GROUP BY t.product_name
ORDER BY total_sales DESC;

Ideal Use Cases

  • Data Lake Analytics: Perform ad-hoc queries on your Databricks data lake directly from your local machine
  • Hybrid Architecture: Combine DuckDB’s analytical power with Unity Catalog’s governance capabilities
  • Prototype Development: Use local DuckDB to simulate production data access during development

Major MERGE INTO Behavior Corrections

v1.5.4 introduces important semantic corrections to the MERGE INTO statement, resolving long-standing binding ambiguity issues.

The Problem

In previous versions, when a MERGE INTO statement contained a WHEN NOT MATCHED clause, DuckDB could incorrectly bind columns from the source table in conditions, leading to unexpected filtering behavior or performance issues.

The Fix

-- Corrected MERGE INTO semantics:
-- WHEN NOT MATCHED considers only the target table
-- WHEN NOT MATCHED BY TARGET considers only the source table

MERGE INTO target_table t
USING source_table s
ON t.id = s.id
WHEN MATCHED THEN
    UPDATE SET t.value = s.value
WHEN NOT MATCHED THEN
    INSERT (id, value) VALUES (s.id, s.value);

This correction ensures MERGE INTO behavior aligns perfectly with the SQL standard, especially in complex multi-table join scenarios.

Other Key Updates

Vortex and Lance Extension Upgrades

v1.5.4 upgrades the Vortex (DuckDB’s native vector index format) and Lance (open-source machine learning data format) extensions, delivering better query performance and more stable concurrency control.

-- Use Vortex vector index for accelerated similarity search
SELECT 
    id,
    vector_cosine_similarity(embedding, '[1.0, 2.0, 3.0]') as similarity
FROM read_vortex('vectors.vortex')
ORDER BY similarity DESC
LIMIT 10;

Storage Version Updates

v1.5.4 introduces a new storage version mapping, ensuring backward compatibility with v1.4.5. Users upgrading from older versions do not need to manually migrate data files.

Notable Bug Fixes

  • Fixed double-free and memory leak in Arrow GeoArrow CRS serialization
  • Corrected WindowSelfJoinOptimizer exception handling
  • Improved progress bar output, fixed crash when piping SQL
  • Fixed Parquet Thrift byte order issue
  • Optimized prepared statement parameter lookup performance

Version Comparison

Featurev1.5.3v1.5.4
ADBC SupportBasic1.1.0 + Rich Error API
Avro Extension✅ Officially included
Unity Catalog✅ Officially included
MERGE INTOBasic bindingSemantic corrections
VortexBase versionUpgraded & optimized
LanceBase versionUpgraded & optimized
Bug FixesRegular30+ items

How to Upgrade

Via pip

pip install --upgrade duckdb

Via apt (Linux)

wget https://github.com/duckdb/duckdb/releases/download/v1.5.4/duckdb_cli-linux-amd64.zip
unzip duckdb_cli-linux-amd64.zip
chmod +x duckdb
./duckdb --version

In a Python Project

import duckdb
print(duckdb.__version__)  # Should show 1.5.4

Monetization Guide

For teams and individuals looking to leverage DuckDB v1.5.4’s new features for business value, here are several directions:

1. Data Pipeline Consulting Services

The Avro and Unity Catalog extensions enable DuckDB to seamlessly integrate with Hadoop and Databricks ecosystems. Enterprise data teams often face challenges integrating legacy systems with modern analytics platforms. Offering DuckDB-based migration consulting services (project fees $1,500-$7,500) is a high-value opportunity.

2. ADBC-Powered SaaS Products

With ADBC 1.1.0 support, unified multi-source querying becomes significantly easier. Build a SaaS product that lets users query multiple data sources (DuckDB + PostgreSQL + MySQL) through a unified SQL interface, charging monthly subscriptions ($30-$300/month).

3. Training and Certification Programs

Launch online courses around DuckDB v1.5.4’s new features, focusing on Avro data processing, Unity Catalog integration, and ADBC applications. Price courses at $50-$300 with hands-on project assignments for strong completion rates and word-of-mouth growth.

4. Enterprise Data Governance Solutions

Combine the Unity Catalog extension with DuckDB’s analytical capabilities to build lightweight data governance platforms for enterprises. Compared to traditional solutions, DuckDB-based approaches reduce deployment costs by 80% while delivering 10x query performance improvements.

Summary: Although DuckDB v1.5.4 is technically a bugfix release, the introduction of ADBC 1.1.0 support, Avro and Unity Catalog extensions makes it a feature-rich milestone version. Whether you’re a data engineer, analyst, or developer, upgrading to the latest version will unlock powerful new capabilities for your data workflows.

📺 Watch video tutorials → DuckDB Lab YouTube

Subscribe for more DuckDB & AI automation tutorials

Built with Hugo
Theme Stack designed by Jimmy

⚠️ This site is an independent community project, not affiliated with, endorsed by, or sponsored by the DuckDB Foundation or official DuckDB project.

"DuckDB" is a registered trademark of the DuckDB Foundation. This site uses the name solely for factual description purposes.

All content is for educational and community promotion purposes only and does not constitute any commercial service.