DuckDB v1.4.1stable Released Oct 07, 2025
Impact Score: 5/10

DuckDB: v1.4.1 Bugfix Release

Source available β€” automated, not human-reviewed

Component: duckdb Β· Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified β€” check source notes
πŸ“„ .MD
⚑ Executive Summary (TL;DR)

DuckDB v1.4.1. Source highlight: This is a bug fix release for various issues discovered after we released 1.4.0.

Who Does This Impact? (Role-Based Analysis)

πŸ’» Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

πŸ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

βš™οΈ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

✨ New Features & Capabilities (4)

  • Correctly re-align all child column segments of the ColumnData on Deserialize, and add logging to checkpoints
  • Add config: one_schema_per_test.json
  • Don't write parquet-native `GEOMETRY` by default, add option to control GeoParquet version
  • add support for writing geoparquet with v2 metadata too

⚑ Performance & Enhancements (1)

  • HTTPUtil: response might be null, perform check

πŸ”§ Bug Fixes & Patches (6)

  • Fix attach to right DB when using DuckLake
  • Build Fix: `unordered_map<enum class` is not supported in all compilers, use `map<` instead
  • Re-add aliased settings to duckdb_settings() view, and some fixes for aliased settings
  • Fix threading issues in metadata manager, and expand concurrent attach / detach fuzz test
  • [unittest] Fixes so that '{BASE_TEST_NAME}' can be used within --on-new-connection
  • add a bunch of expected error messages to old macro tests and fix iss…
πŸ“„ View Raw Release Notes (Original Developer Log)
This is a bug fix release for various issues discovered after we released 1.4.0. ## What's Changed * Fix attach to right DB when using DuckLake by @pdet in https://github.com/duckdb/duckdb/pull/19011 * set default value of MAIN_BRANCH_VERSIONING to false by @c-herrewijn in https://github.com/duckdb/duckdb/pull/19014 * ComplexJSON: parse all valid JSON correctly by @Mytherin in https://github.com/duckdb/duckdb/pull/19024 * Issue #19016: ICU Offset Parsing by @hawkfish in https://github.com/duckdb/duckdb/pull/19029 * Throw if we detect a quoted new line with the null padding set in parallel mode by @pdet in https://github.com/duckdb/duckdb/pull/19012 * Bump iceberg & ducklake by @carlopi in https://github.com/duckdb/duckdb/pull/19037 * Build Fix: `unordered_map<enum class` is not supported in all compilers, use `map<` instead by @Mytherin in https://github.com/duckdb/duckdb/pull/19046 * Disable emitting versioned libraries by default by @Mytherin in https://github.com/duckdb/duckdb/pull/19047 * Re-add aliased settings to duckdb_settings() view, and some fixes for aliased settings by @Mytherin in https://github.com/duckdb/duckdb/pull/19050 * Fix threading issues in metadata manager, and expand concurrent attach / detach fuzz test by @Mytherin in https://github.com/duckdb/duckdb/pull/19054 * Correctly re-align all child column segments of the ColumnData on Deserialize, and add logging to checkpoints by @Mytherin in https://github.com/duckdb/duckdb/pull/19055 * [unittest] Fixes so that '{BASE_TEST_NAME}' can be used within --on-new-connection by @carlopi in https://github.com/duckdb/duckdb/pull/19056 * add a bunch of expected error messages to old macro tests and fix iss… by @lnkuiper in https://github.com/duckdb/duckdb/pull/19042 * Always execute cast and try_cast if they are not invertible by @DinosL in https://github.com/duckdb/duckdb/pull/19010 * Switching core extension upload to dedicated credentials by @hannes in https://github.com/duckdb/duckdb/pull/19061 * Include BeginQuery in latency metric by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19064 * [Dev] Bit of code cleanup in (parquet) ColumnWriter by @Tishj in https://github.com/duckdb/duckdb/pull/19063 * Add config: one_schema_per_test.json by @carlopi in https://github.com/duckdb/duckdb/pull/19059 * Change bucket name for core extensions by @hannes in https://github.com/duckdb/duckdb/pull/19083 * Moved test data into testing dir by @NiclasHaderer in https://github.com/duckdb/duckdb/pull/19102 * Bump httpfs by @carlopi in https://github.com/duckdb/duckdb/pull/19104 * Fix example syntax in `variant_typeof()` function by @krlmlr in https://github.com/duckdb/duckdb/pull/18977 * Avoid throwing on unset extension setting by @Mytherin in https://github.com/duckdb/duckdb/pull/19117 * Fix internal issue 5975 by @lnkuiper in https://github.com/duckdb/duckdb/pull/19101 * Properly initialize `StringStats` in Parquet reader by @lnkuiper in https://github.com/duckdb/duckdb/pull/19139 * Remove HTTPFS tests and setup scripts by @Mytherin in https://github.com/duckdb/duckdb/pull/19140 * Validate JSON in Parquet reader by @lnkuiper in https://github.com/duckdb/duckdb/pull/19143 * Fix bug in merge into when condition is in parenthesis by @pdet in https://github.com/duckdb/duckdb/pull/19137 * Allow implicit casts from `JSON[]` to `JSON` again by @lnkuiper in https://github.com/duckdb/duckdb/pull/19141 * [ci] Change logic for saving caches: Github variable that decides what gets cached by @carlopi in https://github.com/duckdb/duckdb/pull/19150 * Fix handling of quotes in ToString() of search_path in current_setting by @Mytherin in https://github.com/duckdb/duckdb/pull/19162 * Delay throwing `NotImplementedException` in `ExpressionBinder` by @lnkuiper in https://github.com/duckdb/duckdb/pull/19153 * Issue #18303: AsOf NLJ Nulls by @hawkfish in https://github.com/duckdb/duckdb/pull/19173 * HTTPUtil: response might be null, perform check by @carlopi in https://github.com/duckdb/duckdb/pull/19179 * Handle malformed schema index in Parquet reader by @Mytherin in https://github.com/duckdb/duckdb/pull/19191 * ATTACH IF NOT EXISTS: avoid looping waiting for DETACH to finish, wait only for an ATTACH operation to finish by @Mytherin in https://github.com/duckdb/duckdb/pull/19193 * Implement duckdb_connection_count table function by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19187 * Disable ALP for non-default block sizes by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19197 * Check for unresolved parameters when binding `CREATE MACRO ... AS TABLE` by @lnkuiper in https://github.com/duckdb/duckdb/pull/19196 * https://duckdb-blobs.s3.amazonaws.com -> https://blobs.duckdb.org by @carlopi in https://github.com/duckdb/duckdb/pull/19206 * [chore] Attempt at restoring workflow for MinGW Static libs by @carlopi in https://github.com/duckdb/duckdb/pull/19205 * Simple no default region return 301 response by @Tmonster in https://github.com/duckdb/duckdb/pull/19087 * [Fix] Correctly reset the gate status during ART merging by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19204 * build spatial extension for mingw by @c-herrewijn in https://github.com/duckdb/duckdb/pull/19207 * Fixup templated version of TryGetSecretKeyOrSetting by @carlopi in https://github.com/duckdb/duckdb/pull/19218 * Bump: delta by @samansmink in https://github.com/duckdb/duckdb/pull/19220 * Autoloading helper file system: allow either autoloading or proper errors in more file operations by @carlopi in https://github.com/duckdb/duckdb/pull/19198 * Eargerly destroy sort buffers in Window by @lnkuiper in https://github.com/duckdb/duckdb/pull/19224 * [Transaction] Delete and drop of a table can now happen in the same transaction without error by @Tishj in https://github.com/duckdb/duckdb/pull/18918 * PRAGMA's MissingEntry: Suggest CALL might be an option by @carlopi in https://github.com/duckdb/duckdb/pull/18815 * Bump: aws, ducklake, iceberg by @samansmink in https://github.com/duckdb/duckdb/pull/19228 * Issue 18603 by @Tmonster in https://github.com/duckdb/duckdb/pull/19227 * Bump DuckLake to latest of V1.4 by @pdet in https://github.com/duckdb/duckdb/pull/19237 * Bump mysql and sqlite by @staticlibs in https://github.com/duckdb/duckdb/pull/19240 * Don't write parquet-native `GEOMETRY` by default, add option to control GeoParquet version by @Maxxen in https://github.com/duckdb/duckdb/pull/19244 * When executing a relation, generate a query to set if it is not a query relation by @Mytherin in https://github.com/duckdb/duckdb/pull/19234 * add support for writing geoparquet with v2 metadata too by @Maxxen in https://github.com/duckdb/duckdb/pull/19246 * Bump: iceberg by @samansmink in https://github.com/duckdb/duckdb/pull/19250 * Bump: avro, httpfs by @samansmink in https://github.com/duckdb/duckdb/pull/19248 * bump duckdb-azure ref for 1.4.1 by @benfleis in https://github.com/duckdb/duckdb/pull/19275 **Full Changelog**: https://github.com/duckdb/duckdb/compare/v1.4.0...v1.4.1