Long-running queries can now be canceled immediately with Ctrl + C (terminal) or Escape (RStudio IDE and Workbench) (#514, #515).
Add col.types
argument to duckdb_read_csv()
(#445, @eli-daniels).
Rethrow errors with rlang if installed (#522).
Improve error message for parsing erros during statement extraction (tidyverse/duckplyr#219, #521).
Avoid RStudio IDE crashes when ending session with open objects (#520).
rfuns
extension: %in%
works correctly as part of a &
conjunction (#528).
New interal APIs: rapi_get_last_rel_mat()
, rapi_rel_to_altrep(allow_materialization = TRUE)
, rapi_rel_from_altrep_df(enable_materialization)
(#526).
xz-compress duckdb sources in the tarball (#530).
rfuns
extension: Fix signedness.
Update to duckdb v1.1.1, see https://github.com/duckdb/duckdb/releases/tag/v1.1.1 for details.
Add comparison expression to relational API (@toppyy, #457).
Temporarily change max_expression_depth
during ALTREP evaluation (#101, #460).
Add temporary
argument to duckdb_read_csv()
(@ThomasSoeiro, #223).
Update vendored extension sources to hannes/duckdb-rfuns@20cde009b51b9355e6041b72b87105c6b45793fe.
Remove warnings for uninitialized variables.
Update to duckdb v1.1.0, see https://github.com/duckdb/duckdb/releases/tag/v1.1.0 for details.
Upgrade vendored cpp11 to 0.5.0.
Upgrade vendored cpp11 to 0.4.7 to fix compilation with R-devel.
Support dplyr::tbl(conn, I(...))
.
MAP
type (#61, #165).clock::date_count_between()
(@edward-burn, #163, #166).round()
duckdb translation uses ROUND_EVEN()
instead of ROUND()
(@lschneiderbauer, #146, #157).sort
argument to rel_order()
(@toppyy, #168).clock::add_days()
, clock::add_years()
, clock::get_day()
, clock::get_month()
, and clock::get_year()
(@edward-burn, #153).win_current_group()
instead of win_current_order()
in SQL translation (@lschneiderbauer, #173, #175)."difftime"
class is now mapped to the INTERVAL
data type (#151).n_distinct()
for multiple arguments using duckdb structs (@lschneiderbauer, #110, #122).NA
to SQLNULL
(#143).rel_sql(rel, "{{sql}}")
works even on a read-only database (@Tmonster, #138).R CMD check
warning regarding SETLENGTH()
and SET_TRUELENGTH()
(#145).duckdb()
. A database file is closed (and available to be opened from another session) after the last connection that uses this file calls dbDisconnect()
. The shutdown
argument to dbDisconnect()
or the duckdb_shutdown()
functions are no longer necessary. Two database connections from the same R session can access the same file concurrently in read-write mode (#124).Fix compilation for R 4.0 and R 4.1, regression introduced in v0.10.0. Using librstrtmgr.a
from UCRT build of rtools40 (#130).
The C++ core is now vendored commit by commit, once every five minutes. Vendoring stops if R CMD check
fails or if a previously unreleased tag is reached.
New maintainer: Kirill Müller.
dplyr::tbl()
works again when a Parquet or CSV file is passed instead of a table name (#38, #91).
DBI::dbQuoteIdentifier()
correctly quotes identifiers that start with a digit (#67, #92).
Align the argument order of dbWriteTable()
with the DBI specs (@eitsupi, #43, #49).
New tbl_file()
and tbl_query()
to explicitly access tables and queries as dbplyr lazy tables (#96). The cache
argument to tbl()
and to the new functions must be named.
Initial ALTREP support for LIST
logical type (@romainfrancois, #77).
Update core to duckdb v0.10.0 (#90).
New private rel_to_parquet()
to write a relation to parquet (@Tmonster, #46).
Change directory location for extensions and secrets for v.0.10.0 release (@Tmonster, #73).
Remove last instance of default_connection()
(#50).
Use pkgdown BS5 (@maelle, #31, #70) with DuckDB logo (#76, @romainfrancois).
Link to R documentation page.
Add csv reading test for duckdb_read_csv(na.strings = )
(@Tmonster, #10).
Fix snapshot tests.
Tweak tests for compatibility with v0.10.0 (#84).
See release notes at https://github.com/duckdb/duckdb/releases/tag/v0.9.2.
See blog post at https://duckdb.org/2023/09/26/announcing-duckdb-090.html.
See release notes at https://github.com/duckdb/duckdb/releases/tag/v0.9.1.
Move sources to https://github.com/duckdb/duckdb-r (@krlmlr).
Add ADBC integration with the adbcdrivermanager package (duckdb/duckdb#8172, @paleolimbot).
Full support of lists and structs in R (duckdb/duckdb#8503, @krlmlr).
Compatibility with dbplyr.
Internal changes to support the duckplyr package.
duckdb_prepare_substrait_json()
.See release notes at https://github.com/duckdb/duckdb/releases/tag/v0.3.0.
See release notes at https://github.com/duckdb/duckdb/releases/tag/v0.2.9.
This preview release of DuckDB is named "Ceruttii" after a long-extinct relative of the present-day Harleqin Duck (Histrionicus Ceruttii). Binary builds are listed below. Feedback is very welcome.
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.
RANGE
/GENERATE_SERIES
for timestamp + intervalPARQUET_METADATA
and PARQUET_SCHEMA
functionsRANGE
framing, NTH_VALUE
and other improvementsTRY_CAST
This preview release of DuckDB is named "Mollissima" after the Common Eider (Somateria mollissima). Binary builds are listed below. Feedback is very welcome.
Note: 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.
Major changes:
SQL
NEXTAFTER
for float and doubleFIRST
implementation for nested typesUNNEST
table function & array syntax in parserQUANTILE
APIs
Engine
This preview release of DuckDB is named "Jamaicensis" after the blue-billed Ruddy Duck (Oxyura jamaicensis). Binary builds are listed below. Feedback is very welcome.
Note: 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.
Also note: Due to changes in the internal storage (#1530), databases created with this release wil require somewhat more disk space. This is transient as we are working hard to finalise the on-disk storage format.
Major changes:
Engine
SQL
#1
etc.QUANTILE
variants and #1685: Temporal quantilesTIMESTAMP_NS
, TIMESTAMP_MS
and TIMESTAMP_NS
USING
keyword in DELETE
statementARRAY
syntaxCURRVAL
SKIP
as an option to READ_CSV
and COPY
APIs
.parquet
or .csv
ALTREP
to speed up string column transfer to RThis preview release of DuckDB is named "Falcata" after the Falcated Duck (Mareca falcata). Binary builds are listed below. Feedback is very welcome.
Note: 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.
Major Changes:
Engine
SQL
QUANTILE
aggregate variant that takes a list of quantiles & #1346: Approximate QuantilesJACCARD
, #1441 LEVENSHTEIN
& HAMMING
distance scalar functionFACTORIAL
scalar function and ! postfix operatorIS (NOT) DISTINCT FROM
LIST_EXTRACT
to get a single element from a listHAVING
clause (fixes issue #1358)APIs:
This preview release of DuckDB is named "Jubata" after the Australian Wood Duck (Chenonetta jubata). Binary builds are listed below. Feedback is very welcome.
Note: 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.
Major changes: SQL
SAMPLE
OperatorSHOW
select queriesCHR
and ASCII
functions & #1252: Add GAMMA
and LGAMMA
functionsEngine
DELIM_GET
and DELIM_JOIN
operatorsDATE
, TIME
and TIMESTAMP
rework: move to epoch format & microsecond supportClients
Parquet
This preview release of DuckDB is named "Serrator" after the Red-breasted merganser (Mergus serrator). Binary builds are listed below. Feedback is very welcome.
Note: 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.
Major changes:
SQL:
INTERVAL
SyntaxMEDIAN
and QUANTILE
functionsCREATE FUNCTION
NOT
) ILIKE
, and optimize certain types of LIKE
expressionsEngine
Clients
0.2.3-devXXX
& #1176: Python binding: Add module attributes for introspecting DuckDB versionParquet Reader:
This is a preview release of DuckDB. Starting from this release, releases get named as well. Names are chosen from species of ducks (of course). We start with "Clypeata".
Note: 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.
Binary builds are listed below. Feedback is very welcome. Major changes:
SQL
Engine
Client
This is a preview release of DuckDB. Binary builds are listed below. Feedback is very welcome. Major changes:
Engine
INTERVAL
Type, #858: Fixed-precision DECIMAL
types & #819: HUGEINT
typeAPI
CreateAggregateFunction()
& #752: CreateVectorizedFunction()
using only template parametersSQL
strftime
and strptime
EXPORT DATABASE
and IMPORT DATABASE
This is a preview release of DuckDB. Binary builds are listed below. Feedback is very welcome.
SQL:
FULL OUTER JOIN
SupportNULLS FIRST
/NULLS LAST
LEAST
/GREATEST
functionsTRIM
function and add optional second parameter to RTRIM
/LTRIM
/TRIM
Clients:
This is a preview release of DuckDB. Binary are listed below. Feedback is very welcome. Major changes: New website woo-ho!
Engine
SQL
EPOCH_MS
function and test casesClients
This is a preview release of DuckDB. Feedback is very welcome.
SQL
IF
and IFNULL
#644LEFT
#620 and RIGHT
#631BLOB
type supportLIKE
escape supportClients
This is the sixth preview release of DuckDB. Feedback is very welcome. Binary builds are available as well.
SQL
READ_CSV_AUTO
for dialect, data type and header detection #582SHOW
& DESCRIBE
Tables #501CONTAINS
#488LPAD
/ RPAD
, LTRIM
/ RTRIM
, REPEAT
, REPLACE
& UNICODE
#597BIT_LENGTH
, BIT_COUNT
, BIT_AND
, BIT_OR
, BIT_XOR
& BIT_AGG
#608Engine
LIKE
optimization rules #559Clients
This is the fifth preview release of DuckDB. Feedback is very welcome. Binary builds can be found here: http://download.duckdb.org/alias/v0.1.6/
SQL
ALTER TABLE tbl RENAME TO tbl2
LIST
aggregation and unpacked with the new UNNEST
operatorINSTR
string function, #477 PREFIX
string function, #480 SUFFIX
string functionEngine
Python client
date
/ datetime
supportdescription
field for cursorread_only
flag to connect
pybind11
R client
read_csv_duckdb
data.frame
objectsThis is the fourth preview release of DuckDB. Feedback is very welcome. Note: The v0.1.4 version was skipped because of a Python packaging issue.
Binary builds can be found here: http://download.duckdb.org/rev/59f8907b5d89268c158ae1774d77d6314a5c075f/
Major changes:
DATE_TRUNC
SQL functionREVERSE
SQL functionSELECT table.* FROM table
index_t
to idx_t
Note: This release contains a bug in the Python API that leads to crashes when fetching strings to NumPy/Pandas #447
This is the third preview release of DuckDB. Feedback is very welcome. Binary builds can be found here: http://download.duckdb.org/rev/59f8907b5d89268c158ae1774d77d6314a5c075f/
Major changes:
This is the third preview release of DuckDB. Feedback is very welcome. Binary builds can be found here: http://download.duckdb.org/rev/6fcb5ef8e91dcb3c9b2c4ca86dab3b1037446b24/
This is the second preview release of DuckDB. Feedback is very welcome. Binary builds can be found here: http://download.duckdb.org/rev/2e51e9bae7699853420851d3d2237f232fc2a9a8/
This is the first preview release of DuckDB. Feedback is very welcome.
Binary builds can be found here: http://download.duckdb.org/rev/c1cbc9d0b5f98a425bfb7edb5e6c59b5d10550e4/