DuckDB is an in-process SQL OLAP Database Management System
This is a bug fix release for various issues discovered after we released 0.10.1. There are no new features, just bug fixes. Database files created by DuckDB v0.10.* or v0.9.* can be read by DuckDB v0.10.2.
This release has a number of bug fixes that change SQL semantics in a few edge cases:
je_mallctl
fails in DEBUG mode by @lnkuiper in https://github.com/duckdb/duckdb/pull/11303
FileSystem::OpenFile
call, and add FILE_FLAGS_NULL_IF_NOT_EXISTS
by @Mytherin in https://github.com/duckdb/duckdb/pull/11297
list()
aggregate is used in combination with other arena using aggregate functions by @Maxxen in https://github.com/duckdb/duckdb/pull/11306
optional_ptr<FileOpener>
to various calls, and add support for attaching DuckDB files over S3 by @Mytherin in https://github.com/duckdb/duckdb/pull/11343
optional_idx
, add skip_default
option to json_serialize_sql()
by @Maxxen in https://github.com/duckdb/duckdb/pull/11405
cppcoreguidelines-pro-type-const-cast
by @Mytherin in https://github.com/duckdb/duckdb/pull/11414
cppcoreguidelines-avoid-non-const-global-variables
by @Mytherin in https://github.com/duckdb/duckdb/pull/11424
cppcoreguidelines-virtual-class-destructor
by @Mytherin in https://github.com/duckdb/duckdb/pull/11437
cppcoreguidelines-[interfaces-global-init|slicing|rvalue-reference-param-not-moved]
by @Mytherin in https://github.com/duckdb/duckdb/pull/11435
optional_idx
in more places by @Mytherin in https://github.com/duckdb/duckdb/pull/11466
LogicalCopyDatabase
operator by @Flogex in https://github.com/duckdb/duckdb/pull/11401
datetime.time
values when converting TIME columns to Pandas DataFrame by @Tishj in https://github.com/duckdb/duckdb/pull/11468
CompressedMaterialization
inside of StatisticsPropagator
by @lnkuiper in https://github.com/duckdb/duckdb/pull/11495
DESTROY_UNPINNED_BLOCKS
is set by @Tishj in https://github.com/duckdb/duckdb/pull/11270
json_scan.cpp
by @lnkuiper in https://github.com/duckdb/duckdb/pull/11530
C Enum Integrity Check
by @Tishj in https://github.com/duckdb/duckdb/pull/11547
RadixPartitionHashTable
task assignment in source phase by @lnkuiper in https://github.com/duckdb/duckdb/pull/11528
vector_hash
for ARRAYs by @Maxxen in https://github.com/duckdb/duckdb/pull/11558
reduce_sql_statement
to improve test case reduction capabilities of fuzzer by @Mytherin in https://github.com/duckdb/duckdb/pull/11622
extension_entries.hpp
generation script more modular by @Tishj in https://github.com/duckdb/duckdb/pull/11623
IndexCatalogEntry
. by @Tishj in https://github.com/duckdb/duckdb/pull/11462
last_value
in the duckdb_sequences
metadata function by @Tishj in https://github.com/duckdb/duckdb/pull/11465
ARRAY(SELECT .. ORDER BY 1)
by @Mytherin in https://github.com/duckdb/duckdb/pull/11674
Full Changelog: https://github.com/duckdb/duckdb/compare/v0.10.1...v0.10.2
This is a bug fix release for various issues discovered after we released 0.10.0. There are no new features, just bug fixes. Database files created by DuckDB v0.10.0 or v0.9.* can be read by DuckDB v0.10.1.
visualizer
leftovers by @Y-- in https://github.com/duckdb/duckdb/pull/10642
window-rows-overflow.test
by @Tishj in https://github.com/duckdb/duckdb/pull/10679
INSERT OR REPLACE
fixes by @Tishj in https://github.com/duckdb/duckdb/pull/10789
run_tests_one_by_one.py
by @Tishj in https://github.com/duckdb/duckdb/pull/10744
thread.join()
and acquiring the GIL by @Tishj in https://github.com/duckdb/duckdb/pull/10854
extension_entries.hpp
by @Tishj in https://github.com/duckdb/duckdb/pull/10597
refresh
in CompressedFile::Close() by @Maxxen in https://github.com/duckdb/duckdb/pull/10882
all_transactions
and transactions
by @Tishj in https://github.com/duckdb/duckdb/pull/10799
read_csv
related to the s3 extension by @Tishj in https://github.com/duckdb/duckdb/pull/10690
TemporaryFileManager
and friends out of StandardBufferManager by @Tishj in https://github.com/duckdb/duckdb/pull/10938
scope
column to duckdb_settings
by @Tishj in https://github.com/duckdb/duckdb/pull/11017
extract_statements
and the Statement class by @Tishj in https://github.com/duckdb/duckdb/pull/10891
map_from_entries
by @Tishj in https://github.com/duckdb/duckdb/pull/11091
test_httpfs.py
error test more lenient by @Tishj in https://github.com/duckdb/duckdb/pull/11125
ConstantVector::Reference
for dictionary arrays by @Maxxen in https://github.com/duckdb/duckdb/pull/11136
TupleDataCollection
serialization of dictionary vectors containing nested data by @lnkuiper in https://github.com/duckdb/duckdb/pull/11174
IS NULL
/ IS NOT NULL
support to Expression API by @cmdlineluser in https://github.com/duckdb/duckdb/pull/11175
Full Changelog: https://github.com/duckdb/duckdb/compare/v0.10.0...v0.10.1
This is a bug fix release for various issues discovered after we released 0.9.1. There are no new features, just bug fixes. Database files created by DuckDB v0.9.0 or v0.9.1 can be read by DuckDB v0.9.2 (i.e. v0.9.2 is backwards compatible with both v0.9.0 and 0.9.1 and vice versa).
execute
by @Tishj in https://github.com/duckdb/duckdb/pull/9394
relation.df()
to output microsecond precision for DATE
types. by @Tishj in https://github.com/duckdb/duckdb/pull/9362
DUCKDB_MAJOR/MINOR/PATCH_VERSION
by @Maxxen in https://github.com/duckdb/duckdb/pull/9457
GroupedAggregateHashTable
by @lnkuiper in https://github.com/duckdb/duckdb/pull/9575
globalDb
to NULL
after closing database by @Flogex in https://github.com/duckdb/duckdb/pull/9655
Full Changelog: https://github.com/duckdb/duckdb/compare/v0.9.1...v0.9.2
This is a bug fix release for various issues discovered after we released 0.9.0. There are no new features, just bug fixes. Database files created by DuckDB v0.9.0 can be read by DuckDB v0.9.1 (i.e. v0.9.1 is backwards compatible with v0.9.0 and vice versa).
duckdb_cursor
fixture in pytest by @Tishj in https://github.com/duckdb/duckdb/pull/9140
map()
and Dictionary Vectors. by @Tishj in https://github.com/duckdb/duckdb/pull/9046
create_function
in duckdb-stubs
by @earwig in https://github.com/duckdb/duckdb/pull/9224
old_transactions
by @Mytherin in https://github.com/duckdb/duckdb/pull/9236
value_counts
by @Tishj in https://github.com/duckdb/duckdb/pull/9278
read.json
and read.parquet
+ some unhappy path testing by @Tishj in https://github.com/duckdb/duckdb/pull/9276
test_map_vector_types.test
by @Tishj in https://github.com/duckdb/duckdb/pull/9277
This preview release of DuckDB is named "Undulata" after the aptly named Yellow-billed duck native to Africa.
Note: Again, this release introduces a backwards-incompatible change to the on-disk storage format. We suggest you use the EXPORT DATABASE
command with the old version followed by IMPORT DATABASE
with the new version to migrate your data. See the documentation for details.
duckdb_arrow_scan
and duckdb_arrow_array_scan
by @angadn in https://github.com/duckdb/duckdb/pull/7570
columns()
method to get type info from prepared statement by @Maxxen in https://github.com/duckdb/duckdb/pull/7948
stride
when scanning object
arrays. by @Tishj in https://github.com/duckdb/duckdb/pull/7964
UPDATE SET
by @nickgerrets in https://github.com/duckdb/duckdb/pull/7968
ValueRelation
by @Tishj in https://github.com/duckdb/duckdb/pull/7967
BIT
type by @nickgerrets in https://github.com/duckdb/duckdb/pull/7941
Value
class to explicitly set type of prepared parameter by @Tishj in https://github.com/duckdb/duckdb/pull/8114
join
method by @Tishj in https://github.com/duckdb/duckdb/pull/8170
create_function
as part of a transaction by @Tishj in https://github.com/duckdb/duckdb/pull/8169
max_expression_depth
setting by @Tishj in https://github.com/duckdb/duckdb/pull/8188
to_base
function by @Maxxen in https://github.com/duckdb/duckdb/pull/8122
INT128
type by @nickgerrets in https://github.com/duckdb/duckdb/pull/8277
pandas
DataFrames when copy_on_write
is set to True by @Tishj in https://github.com/duckdb/duckdb/pull/8348
datetime
objects by @Tishj in https://github.com/duckdb/duckdb/pull/8294
PyObject *
where possible by @Tishj in https://github.com/duckdb/duckdb/pull/8393
run_nanodbc_tests.sh
by @Tishj in https://github.com/duckdb/duckdb/pull/8388
pytest.mark.parametrize
to make test logs easier to read in test_all_types.py
by @Tishj in https://github.com/duckdb/duckdb/pull/8479
groups
parameter of DuckDBPyRelation aggregate methods. by @Tishj in https://github.com/duckdb/duckdb/pull/8510
tools/pythonpkg/duckdb
folder on build by @Tishj in https://github.com/duckdb/duckdb/pull/8534
cpp11::stop()
calls by @krlmlr in https://github.com/duckdb/duckdb/pull/8614
datetime64
columns with a time-unit that is not ns
by @Tishj in https://github.com/duckdb/duckdb/pull/8620
test/sql/storage/multiple_clients_checkpoint_pending_updates.test
by @Tishj in https://github.com/duckdb/duckdb/pull/8654
window-rows-overflow.test
by @Tishj in https://github.com/duckdb/duckdb/pull/8678
test_filter_pushdown_2145
test instead by @Tishj in https://github.com/duckdb/duckdb/pull/8694
map_entries
by @Tishj in https://github.com/duckdb/duckdb/pull/8460
duckdb_arrow_scan
API by @k-anshul in https://github.com/duckdb/duckdb/pull/8653
test_statement_bind.py
test by @Tishj in https://github.com/duckdb/duckdb/pull/8711
GetName
instead of ToString()
by @Tmonster in https://github.com/duckdb/duckdb/pull/8717
ReorderTableEntries
by @Tishj in https://github.com/duckdb/duckdb/pull/8707
str
becomes None instead of 'NaN' by @Tishj in https://github.com/duckdb/duckdb/pull/8745
test_multithread.py
by @Tishj in https://github.com/duckdb/duckdb/pull/8747
list_cosine_similarity
, list_distance
, list_inner_product
by @Maxxen in https://github.com/duckdb/duckdb/pull/8750
adbc_driver_manager
by @Tishj in https://github.com/duckdb/duckdb/pull/8725
duckdb_columns
by @Tishj in https://github.com/duckdb/duckdb/pull/8835
Expression
class by @Tishj in https://github.com/duckdb/duckdb/pull/8469
scan_vector
is invoked by @Tishj in https://github.com/duckdb/duckdb/pull/8916
test_replacement_scan.py
from side effects by @Tishj in https://github.com/duckdb/duckdb/pull/8953
PRAGMA metadata_info
that displays info about the storage of metadata, and correctly write free metadata blocks by @Mytherin in https://github.com/duckdb/duckdb/pull/8956
pyduckdb
module into duckdb
by @Tishj in https://github.com/duckdb/duckdb/pull/8959
show
with keyword arguments to set BoxRenderer options by @Tishj in https://github.com/duckdb/duckdb/pull/8954
dtype
parameter in the read_csv
method. by @Tishj in https://github.com/duckdb/duckdb/pull/8387
read_csv
by @Tishj in https://github.com/duckdb/duckdb/pull/8967
Column
and a bunch of DataFrame methods by @Tishj in https://github.com/duckdb/duckdb/pull/8990
This is a bug fix release for various issues discovered after we released 0.8.0. There are no new features, just bug fixes. Database files created by DuckDB v0.8.0 can be read by DuckDB v0.8.1 (i.e. v0.8.1 is backwards compatible with v0.8.0). Note that database files created by v0.8.1 cannot be read by DuckDB v0.8.0 (i.e. v0.8.0 is not forwards compatible with v0.8.1).
StripUnicodeSpaces
parser utility method by @stephaniewang526 in https://github.com/duckdb/duckdb/pull/7705
ArrowTableFunction::GetArrowLogicalType
on Linux by @Tishj in https://github.com/duckdb/duckdb/pull/7718
default_types
from json files by @Tishj in https://github.com/duckdb/duckdb/pull/7646
sql
in the python_regression_test.py
. by @Tishj in https://github.com/duckdb/duckdb/pull/7787
DuckDBPyRelation::Close
if it was never executed before by @Tishj in https://github.com/duckdb/duckdb/pull/7844
__exit__
signature by @Tishj in https://github.com/duckdb/duckdb/pull/7849
range
by @Tishj in https://github.com/duckdb/duckdb/pull/7876
Full Changelog: https://github.com/duckdb/duckdb/compare/v0.8.0...v0.8.1
This is a bug fix release for various issues discovered after we released 0.7.0. There are no new features, just bug fixes. Notably, there is no incompatibility with database files created with v0.7.0
.maxwidth
option to the shell for duckbox mode by @Mytherin in https://github.com/duckdb/duckdb/pull/6274
explain
method and add sql
method by @Tishj in https://github.com/duckdb/duckdb/pull/6287
COPY ... (FORMAT JSON)
by @lnkuiper in https://github.com/duckdb/duckdb/pull/6319
to_table
and to_view
alias by @Tishj in https://github.com/duckdb/duckdb/pull/6455
This preview release of DuckDB is named "Labradorius" after the Labrador duck (Camptorhynchus labradorius) which was native to North America and went extinct in 1878 despite its reportedly bad taste.
Again, @Mytherin has written a blog post explaining the exciting list of new features in this release.
Binary builds are listed at the bottom of this post. Please note that it can take a couple of hours until binary builds for all platforms and environments are available.
Note: Again, this release introduces a backwards-incompatible change to the on-disk storage format. We suggest you use the EXPORT DATABASE
command with the old version followed by IMPORT DATABASE
with the new version to migrate your data. See the documentation for details.
scale
of the target by @Tishj in https://github.com/duckdb/duckdb/pull/5362
clean.sh
be run from anywhere, not just tools/pythonpkg
by @Tishj in https://github.com/duckdb/duckdb/pull/5625
RESET
statement on configuration options by @Tishj in https://github.com/duckdb/duckdb/pull/5603
numpy.datetime64
objects by @Tishj in https://github.com/duckdb/duckdb/pull/5659
duckdb.execute()
== duckdb.default_connection.execute()
by @Tishj in https://github.com/duckdb/duckdb/pull/5650
schema
setting when the default schema is dropped by @Tishj in https://github.com/duckdb/duckdb/pull/5874
read_csv
method by @Tishj in https://github.com/duckdb/duckdb/pull/6015
pyarrow.dataset
optional by @Tishj in https://github.com/duckdb/duckdb/pull/6106
move
's that snuck in by @Tishj in https://github.com/duckdb/duckdb/pull/6117
read_parquet
, to_parquet
and to_csv
by @Tishj in https://github.com/duckdb/duckdb/pull/6129
read_json
method by @Tishj in https://github.com/duckdb/duckdb/pull/6165
Full Changelog: https://github.com/duckdb/duckdb/compare/v0.6.1...v0.7.0