Releases: kuzudb/kuzu
v0.7.1
We are excited to announce the release of two new extensions: Delta Lake and Iceberg. The Delta extension allows seamless scanning and copying from Delta Lake tables, while the Iceberg extension provides the same functionality for Apache Iceberg tables.
In addition to these new extensions, this release introduces several bug fixes and new features, including:
- The ability to attach to a specific schema in a relational database.
- Support for
ADD
/DROP PROPERTY IF [NOT] EXISTS
commands. - A new
list_has_all
function for enhanced list operations. - Experimental support for Android armv8a platform.
Hope you enjoy the new release!
What's Changed
- Trim Unnecessary Quote for CLI JSON output #4643
- Fix list-contains binding #4644
- Support attach relational database with schema #4639
- Add Ice Berg Extension #4600
- Fix incorrect set of sequence val after exporting database #4636
- Add e-notation double #4616
- Implement FORMAT option in LOAD FROM clause. #4613
- Add inturrupt to path writer #4609
- Implement drop/add property with if exists #4598
- Delta extension #4587
- Fix flat select bug #4590
- Gds node predicate push down #4461
- Fix rollback during Node Table COPY #4467
- Fix the type cast in nested struct #4560
- Rel scan selection optimizations #4558
- Using shared_mutex instead of mutex in CatalogSet #4533
- Fix VersionInfo SelectionVector creation #4556
- Avoid importing polars in arrow scan #4551
- Added Unicode \u and \U parsing to the cli #4492
- Implement list_has_all #4546
Full Changelog: v0.7.0...0.7.1
v0.7.0
Key highlights of this release
There have been some key performance improvements in this release:
- New and much faster recursive path finding algorithms that implement relationship patterns
with the Kleene star [*
]. - Data spilling to disk during copy which enables copying very large graphs on machines with
limited RAM. - Zone maps which enable much faster scans of node/rel properties when there is
a filter on numeric properties.
From the usability perspective, we have the following improvements:
- CSV auto detection to automatically detect several CSV configurations during data ingest.
- Improved UX during CSV import that can report to users about skipping erroneous CSV lines.
- New JSON data type that you can use to store JSON blobs as node/relationship properties.
- New official Golang API so that you can build applications on top of Kùzu using Go!
What's Changed
- Make C API header available in the kuzu target's include directories by @benjaminwinger in #4034
- Add option
force_checkpoint_on_close
by @ray6080 in #4032 - Fix delete on empty database by @andyfengHKU in #4038
- Fix list_contains implicit casting by @andyfengHKU in #4044
- Force cast when scanning by @mxwli in #4041
- In memory mode by @ray6080 in #4012
- Implement attach remote duckdb database by @acquamarin in #4040
- Only commit memory on windows when initially claiming the frame by @benjaminwinger in #4047
- Fix list contains casting on empty list by @andyfengHKU in #4049
- Fix consecutive merge by @andyfengHKU in #4046
- Fix semi mask on scan node table by @ray6080 in #4050
- Add mscv in mem CI workflow; remove build steps in CI workflow by @ray6080 in #4051
- Fix resize and append of chunkedNodeGroup by @ray6080 in #4054
- Refactor list auxiliary buffer by @andyfengHKU in #4052
- Rework checkpoint memory usage estimation by @ray6080 in #4055
- Optimize catalog access by @andyfengHKU in #4058
- Fix updates to same row leading to incorrect write-write conflict errors by @ray6080 in #4063
- Added new output modes for shell by @MSebanc in #4053
- Vacuum dropped columns during checkpoint by @ray6080 in #4074
- Refactor generation of grammar files. by @mxwli in #4073
- Auto checkpoint when closing db by @ray6080 in #4075
- Csv sniffing by @mxwli in #3932
- Fix platform issues with md5sum utility by @mxwli in #4077
- Make property case insensitive by @andyfengHKU in #4039
- Add More Json tests by @mxwli in #4061
- Fixed cli modes to escape characters by @MSebanc in #4085
- Added some missing algorithm includes by @benjaminwinger in #4086
- Implemented cli start up commands ability by @MSebanc in #4078
- Fix bug in CorrelatedSubqueryUnnestSolver by @andyfengHKU in #4088
- Fix a bug when intersecting an empty build side table by @andyfengHKU in #4089
- Enabled progress bar by default for shell by @MSebanc in #4065
- Add default empty str for database path for Python and Node.js API by @mewim in #4090
- Rework iterateCatalogEntries and catalog entry oid by @ray6080 in #4057
- Add in_memory constructor for rust database and API docs for in-memory mode by @benjaminwinger in #4094
- Update api doc for java, nodejs, python and add pytest for in-mem mode by @ray6080 in #4095
- Fix detection of when rust builds don't need to re-build the bundled C++ library by @benjaminwinger in #4093
- Update number of threads in 32-bit build by @mewim in #4096
- bump version to 0.6.0 by @ray6080 in #4076
- Fix constant lambda expression evaluation by @andyfengHKU in #4098
- Refactor function&function expression by @andyfengHKU in #4102
- Csv reader progress fix by @MSebanc in #4099
- Fix user defined types in nested type by @acquamarin in #4081
- change occurrences of std::regex uses to RE2 library calls by @mxwli in #4100
- Csv reading improvement by @mxwli in #4079
- Fix failed tests when compression is disabled by @ray6080 in #4104
- Automatically upload binary dataset to s3 by @mewim in #4114
- Make Connection::query in rust call the C++ query function instead of using prepare+execute by @benjaminwinger in #4117
- Disabled progress bar by default due to performance issues by @MSebanc in #4115
- Add Pyarrow Skip and Limit by @mxwli in #4112
- Add projection push down to csv and parquet by @andyfengHKU in #4113
- Schedule lsqb to run every day by @ray6080 in #4122
- Unify getColumnID of node and rel TableCatalogEntry by @ray6080 in #4123
- Keys function by @acquamarin in #4125
- Fix serialize tinysnb dataset on windows by @acquamarin in #4124
- Fix JSON null handling by @mxwli in #4118
- Implement projection push down in scan relation tables. by @acquamarin in #4126
- Add option to ignore errors in CSV parsing + improve error messages by @royi-luo in #4067
- Random Split for Multi Copy Testing by @yiyun-sj in #3989
- Extension installation rework by @acquamarin in #4066
- Enable scheduled run for interactive v1 by @ray6080 in #4133
- Implement Predicate functions by @acquamarin in #4109
- Add filter push down to relational table by @andyfengHKU in #4120
- Added cli support for single line comments and added multiline mode by @MSebanc in #4134
- add projection to pyarrow, numpy, and json by @mxwli in #4119
- Fix progress bar threading issue by @royi-luo in #4140
- Schedule auto run of SNB BI by @ray6080 in #4139
- ALP implementation by @royi-luo in #3994
- Added shell development guide by @MSebanc in #4144
- Schedule auto run of fintech bench by @ray6080 in #4143
- Fix export-import rel group by @andyfengHKU in #4147
- Fix undirected edge projection by @andyfengHKU in #4151
- Merge BMFileHandle and FileHandle by @ray6080 in #4045
- Fix casting assertion errors in
getNodeTableEntries
andgetRelTableEntries
by @ray6080 in #4154 - Replace Linux open file flag with kuzu open file flag by @acquamarin in #2931
- Fix import legacy exported database by @acquamarin in #4157
- Fix user defined type casting by @acquamarin in #4156
- Http file cache improve by @acquamarin in #4159
- Ignore node batch insert failures by @royi-luo in #4158
- Deprecate ARM64 macOS CI job by @mewim in #4164
- Make page size be flexible configurable by @ray6080 in #4162
- Fix Windows extension test PostgreSQL host by @mewim in #4169
- Fix Windows build tool path by @mewim in #4170
- Fix indentation in build script by @mewim in #4171
- Fix multiplatform build and test workflow by @mewim in #4174
- Add compile flag to reduce size of static library on windows by @benjaminwinger in #3644
- Fix attach kuzu in in-mem mode by @acquamarin in #4177
- Generate LDBC-01 from CI by @mewim in #4180
- Minor fix for multiplatform build and test by @mewim in #4179
- Fix dataset paths for generated datasets on S3 by @mewim in #4182
- Restructure extension build pipeline (test) by @mewim in...
v0.6.1
v0.6.1 is a minor release with the following bug fixes:
- Fix attaching PostgreSQL database due to extension version mismatch
- Fix constant lambda expression evaluation (#4098)
- Csv reader progress fix (#4099)
- Fix failed tests when compression is disabled (#4104)
- Make Connection::query in rust call the C++ query function instead of using prepare+execute (#4117)
- Disabled progress bar by default due to performance issues (#4115)
- Fix JSON null handling (#4118)
- Fix undirected edge projection (#4151)
- Fix import legacy exported database (#4157)
- Fix attach kuzu in in-mem mode (#4177)
- Fix race condition causing an infinite loop in the eviction queue (#4187)
- Fix double-initialization of the NullChunkData buffer (#4186)
- Fix buffer manager failure false positive (#4221)
- Fix windows open file flag (#4238)
- Fix undefined behaviour in the Buffer Manager after failure (#4246)
- Fix subquery planning (#4255)
- Fix nested aggregate (#4259)
- fix rel checkpoint due to incrrect set null and misaligned gaps due to empty src node (#4274)
- Fix memory leak in JSON parsing (#4302)
- Fix OPTIONAL MATCH null value handling for NetworkX conversion (#4282)
- Fix Multiple COPY FROM parquet leads to data corruption (#4368)
Full Changelog: v0.6.0...v0.6.1
v0.6.0
This release comes with several bug fixes, CLI updates and a much awaited feature: in-memory mode for Kùzu to quickly create temporary databases in memory.
Please check our release post for more details!
What's Changed
- Make C API header available in the kuzu target's include directories by @benjaminwinger in #4034
- Add option
force_checkpoint_on_close
by @ray6080 in #4032 - Fix delete on empty database by @andyfengHKU in #4038
- Fix list_contains implicit casting by @andyfengHKU in #4044
- Force cast when scanning by @mxwli in #4041
- In memory mode by @ray6080 in #4012
- Implement attach remote duckdb database by @acquamarin in #4040
- Only commit memory on windows when initially claiming the frame by @benjaminwinger in #4047
- Fix list contains casting on empty list by @andyfengHKU in #4049
- Fix consecutive merge by @andyfengHKU in #4046
- Fix semi mask on scan node table by @ray6080 in #4050
- Add mscv in mem CI workflow; remove build steps in CI workflow by @ray6080 in #4051
- Fix resize and append of chunkedNodeGroup by @ray6080 in #4054
- Refactor list auxiliary buffer by @andyfengHKU in #4052
- Rework checkpoint memory usage estimation by @ray6080 in #4055
- Optimize catalog access by @andyfengHKU in #4058
- Fix updates to same row leading to incorrect write-write conflict errors by @ray6080 in #4063
- Added new output modes for shell by @MSebanc in #4053
- Vacuum dropped columns during checkpoint by @ray6080 in #4074
- Refactor generation of grammar files. by @mxwli in #4073
- Auto checkpoint when closing db by @ray6080 in #4075
- fix decimal comparison by @mxwli in #4087
- Fixed cli modes to escape characters by @MSebanc in #4085
- Added some missing algorithm includes by @benjaminwinger in #4086
- Fix bug in CorrelatedSubqueryUnnestSolver by @andyfengHKU in #4088
- Fix a bug when intersecting an empty build side table by @andyfengHKU #4089
- Add default empty str for database path for Python and Node.js API by @mewim in #4090
- Add in_memory constructor for rust database and API docs for in-memory mode by @benjaminwinger in #4094
- Update api doc for java, nodejs, python and add pytest for in-mem mode by @ray6080 in #4095
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Version 0.5.0 introduces several major changes:
Performance improvements
- MVCC-based transaction manager.
- Remote file system cache in httpfs extension.
New features
- Attach remote Kùzu databases.
- Python UDFs.
- List lambda functions.
- Scan and copy from DataFrames.
- New DDL statements: create table if not exists; drop table if exists.
- Progress bar in CLI and Explorer.
- Join order hints. Specify join order in Cypher.
New extensions and API improvements
- SQLite scanner.
- Support copying from and to JSON files.
- Decimal data type.
- Numerous improvements on C API.
Please see our release post for more details!
What's Changed
- Allow fuzzy matching on test result by @yiyun-sj in #3432
- Support asserting RETURN result column names in testing framework by @yiyun-sj in #3417
- Remove unique_ptr of value in literal expression by @andyfengHKU in #3440
- Replace const pointer with const reference in type functions by @manh9203 in #3430
- Infer test group name directly from test file path by @yiyun-sj in #3418
- Use a lockfree data structure to store page states by @benjaminwinger in #3425
- Move length function as a rewrite function by @andyfengHKU in #3442
- Remove shared_ptr of value in parameter expression by @andyfengHKU in #3443
- Optimize InMemoryHashIndex lookups by @benjaminwinger in #3378
- Add Python UDF for Primitive Types by @mxwli in #3390
- Upgrade runner to Ubuntu 24.04 by @mewim in #3445
- Support multiple query statements in e2e test framework by @yiyun-sj in #3437
- Issue 2385 by @andyfengHKU in #3444
- Rework the public interface of SelectionVector by @ray6080 in #3447
- Fix python empty dict parameter bug by @andyfengHKU in #3452
- Update project version to 0.4.1 by @mewim in #3455
- Allow numeric value comparison with precision by @yiyun-sj in #3453
- Fix CSV file answers tuple count bug by @yiyun-sj in #3454
- Add mvcc support for catalog by @ray6080 in #3301
- Fix calculation of hash slots on 32bit env by @acquamarin in #3460
- Implement Polars Scanning by @mxwli in #3451
- Pass transaction pointer to function by @hououou in #3239
- Support initialize test case on existing binary db directory by @yiyun-sj in #3428
- Reclaim empty overflow slots in memory hash index by @benjaminwinger in #3438
- Fix pandas UTF-8 scan by @acquamarin in #3468
- Remove logger from Database by @ray6080 in #3270
- Add Nested Types List and Map for Python UDF support by @mxwli in #3450
- Fix #2888: error when commit/rollback on invalid transaction; fix error msg on nested transaction by @ray6080 in #3469
- Fix some minor hash index issues by @benjaminwinger in #3471
- Backtraces by @benjaminwinger in #3456
- Fixed issue with commit error not showing in shell by @MSebanc in #3472
- Add generic utility functions by @manh9203 in #3282
- Attach remote kuzu database by @acquamarin in #3467
- Refactor ftable schema by @andyfengHKU in #3479
- Merge the HashIndex bulkstorage with the local storage for inserts by @benjaminwinger in #3482
- Fix string hash and add more hash tests by @benjaminwinger in #3473
- Migrate benchmark to new server by @mewim in #3487
- Added missing algorithm includes needed for gcc 14 by @benjaminwinger in #3490
- Port changes from 0.4.2 to master by @mewim in #3493
- Enable -Werror for GCC Build & Test Job by @mxwli in #3494
- Implement attach options by @acquamarin in #3485
- Added current_timestamp and current_date functions by @MSebanc in #3497
- Fix serial csv reader by @acquamarin in #3505
- Make serializer tool able to be run standalone by @benjaminwinger in #3501
- Fix issue-3488 by @andyfengHKU in #3506
- Always build rust integration with release runtime library on Windows by @zaddach in #3226
- Support CREATE SEQUENCE functionality by @yiyun-sj in #3474
- Read primary key for delete by @andyfengHKU in #3512
- Disk array builder cleanup by @benjaminwinger in #3498
- Add issue and PR templates by @prrao87 in #3515
- Remote file system cache by @acquamarin in #3516
- Add storage version info to the single file header by @benjaminwinger in #3519
- Propagate chunk state to commit out of place in column by @ray6080 in #3522
- Implement file cache for s3 filesystem by @acquamarin in #3526
- Graph function framework by @andyfengHKU in #3486
- Support contains function by @acquamarin in #3531
- rename InQueryCall to TableFunctionCall by @andyfengHKU in #3533
- File cache optimization by @acquamarin in #3530
- Add issue template for performance optimization category by @ray6080 in #3535
- Preliminary Decimal Datatype by @mxwli in #3521
- Remove property stats by @ray6080 in #3534
- Rework scan node by @ray6080 in #3524
- Automatically merge pull request upon extension build by @mewim in #3539
- Implement string_split and split_part functions by @acquamarin in #3537
- Scan primary key column before updating by @andyfengHKU in #3542
- Report LSQB results to benchmark server by @mewim in #3545
- C Api Enhancements by @MSebanc in #3457
- Add default value to CREATE by @yiyun-sj in #3523
- Fix shell printing issue by @MSebanc in #3547
- Python UDF and C++ UDF improvements by @mxwli in #3483
- Fix create rel table group parser exception by @acquamarin in #3549
- Fix disabled test for 3524 by @andyfengHKU in #3546
- Refactor FinBench CI pipeline and report results to server by @mewim in #3551
- Refactor InteractiveV1 CI pipeline and report results to server by @mewim in #3552
- Fix join order for 3524 by @andyfengHKU in #3553
- Fix issue 3166 by @andyfengHKU in #3404
- Fix filesearchpath in localFileSystem glob by @acquamarin in #3550
- ColumnChunk statistics for zone mapping by @benjaminwinger in #2611
- Refactor BI pipeline and add report to server by @mewim in #3555
- Turn on primary key scan by @andyfengHKU in #3556
- Support populating DEFAULT values in COPY FROM statements by @yiyun-sj in #3554
- Apply zone map to scan by @andyfengHKU in #3561
- fix sequence batch insert test by @yiyun-sj in #3563
- Auto report internal benchmark results to PR runs by @mewim in #3568
- Fix return type by @sapalli2989 in #3567
- Separate larger benchmark machines for LDBC benchmarks by @mewim in #3571
- Fix rel multiplicity parsing by @acquamarin in #3574
- Reworked progress bar to keep display handling separate by @MSebanc in #3566
- Disk array packed headers by @benjaminwinger in #3557
- Fix stats updates by @benjaminwinger in #3582
- Fix issue-3570 by @andyfengHKU in #3584
- Refactor hash function execution framework by @acquamarin in #3583
- Apply zone map to rel scan by @andyfengHKU in #3573
- Track variable sized memory manager al...
v0.4.2
v0.4.1
What's Changed
- Allow fuzzy matching on test result by @yiyun-sj in #3432
- Support asserting RETURN result column names in testing framework by @yiyun-sj in #3417
- Remove unique_ptr of value in literal expression by @andyfengHKU in #3440
- Replace const pointer with const reference in type functions by @manh9203 in #3430
- Infer test group name directly from test file path by @yiyun-sj in #3418
- Use a lockfree data structure to store page states by @benjaminwinger in #3425
- Move length function as a rewrite function by @andyfengHKU in #3442
- Remove shared_ptr of value in parameter expression by @andyfengHKU in #3443
- Optimize InMemoryHashIndex lookups by @benjaminwinger in #3378
- Add Python UDF for Primitive Types by @mxwli in #3390
- Upgrade runner to Ubuntu 24.04 by @mewim in #3445
- Support multiple query statements in e2e test framework by @yiyun-sj in #3437
New Contributors
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Changes
Breaking Changes
- Renaming of list-like types:
FIXED-LIST
toARRAY
VAR-LIST
toLIST
- Import/Export database
- Copy from subquery
- Bulk insertion into non-empty database
- External database extensions
- DuckDB
- Postgres
- Scan from pandas pyarrow backend (#3058)
Usability Improvements
- CLI improvements (#2869, #2876, #2930, #2953, #3253)
- Functions
- Export query result to Polars (#2985, contributed by @alexander-beedie)
- Python API linting improvemetns (#3023, contributed by @alexander-beedie))
- Progress bar (#3051)
- Support read after update in the same statement (#3126)
Performance Improvements
- Python import cache (#2905)
- Internal ID compression (#3116)
- Avoid busy loop when max threads has reached (#3233, contributed by @ted-wq-x)
What's Changed
- move apis from connection to clientcontext by @hououou in #2951
- Allow quotes on struct keys by @acquamarin in #2967
- Fix functions for casting string to var-list by @manh9203 in #2970
- Implemented start_node and end_node functions by @MSebanc in #2978
- Fix issue-2942 by @andyfengHKU in #2977
- Import database by @hououou in #2964
- Minor CLI Truncation Fix by @MSebanc in #2980
- Fixed start and end node tests by @MSebanc in #2981
- Refactor: unify many_one and many_many storage by @ray6080 in #2912
- Refactor: unify CopyNode and CopyRel operator by @ray6080 in #2955
- Support Polars DataFrame export from QueryResult by @alexander-beedie in #2985
- Clean up transaction pointer in physical operator by @ray6080 in #2990
- More efficient ColumnChunk string dictionary caching by @benjaminwinger in #2994
- Fix setting of column chunk capacity by @ray6080 in #2996
- Rework CSV_TO_PARQUET testing feature by @manh9203 in #2993
- Avoid moving DictionaryChunks by @benjaminwinger in #2999
- Fix broken links in README to website due to sub-domain changes by @ray6080 in #3000
- Re-write partitioner to use ColumnChunks instead of ValueVectors by @benjaminwinger in #2979
- Abstract client config by @andyfengHKU in #3010
- Support use of
QueryResult
as a context manager, and add aget_schema
method by @alexander-beedie in #3009 - Pass client context to binder by @andyfengHKU in #3015
- Refactor cast functions by @andyfengHKU in #3016
- Clean up unique_ptr of LogicalType in NodeGroup and BatchInsert by @ray6080 in #3018
- Combine append(ValueVector) with appendOne by @ray6080 in #3017
- Import cache fix and revert revert by @mxwli in #3025
- Fix issue-2984 by @andyfengHKU in #3026
- Add multiplaform test report bot by @mewim in #3027
- Python API typing, lint, config/makefile by @alexander-beedie in #3023
- Fix unicode conversion for pandas dataframe by @mewim in #3029
- Update LICENSE by @semihsalihoglu-uw in #3031
- Rewrite the Hash Index overflow file to support multiple copies by @benjaminwinger in #3012
- Add copy from subquery by @andyfengHKU in #3020
- Fix issue-3004 by @andyfengHKU in #3036
- Optimise Python unit test runtime (~7x speedup) by @alexander-beedie in #3032
- Add more parameter types for Node.js API by @mewim in #3037
- Insert into the hash index builder one chunk at a time by @benjaminwinger in #2997
- Allow CI workflow to be manually dispatched by @mewim in #3043
- Bump extensions version to 0.2.0 by @mewim in #3041
- First-pass lint/format for Python
shell
tests by @alexander-beedie in #3034 - Bump master branch version to 0.3.2.1 by @mewim in #3044
- Fixed failing shell tests by @MSebanc in #3045
- Add shell tests to CI by @mewim in #3039
- Fix rel csr sliding out-of-place commit and null strings by @ray6080 in #3055
- Refactor: separate insertions and updates in rel table local storage by @ray6080 in #2982
- Fix issue 3042 by @ray6080 in #3046
- Update Debian version in build workflows by @mewim in #3056
- Implement duckdb scanner extension by @acquamarin in #3052
- Copy table function instead of passing raw pointer by @andyfengHKU in #3067
- Add scalar_func_rewrite_t by @andyfengHKU in #3069
- Remove the constraint on HashIndexBuilder's template parameter by @benjaminwinger in #3030
- Remove unnecessary components for pip package by @mewim in #3074
- Fix Hash index split slot ID when reserving a number of slots which are a power of two by @benjaminwinger in #3066
- Implement catalog cache in postgres scanner by @acquamarin in #3071
- Rework FIXED_LIST by @manh9203 in #3057
- Implemented Progress Bar by @MSebanc in #3051
- Replace ValueVector with ColumnChunk in LocalStorage by @ray6080 in #3028
- Exclude extension files from the rust crate by @benjaminwinger in #3076
- Add include for cstdint by @mewim in #3085
- Fix rel insert and add sanityCheck for column chunk by @ray6080 in #3081
- Fix node insert by @ray6080 in #3082
- Refactor the registration of arithmetic functions by @manh9203 in #3079
- Allowed for progress bar to be configurable by CALL by @MSebanc in #3080
- Implement array functions by @acquamarin in #3087
- Remove underscore from the badges in README by @mewim in #3094
- Fix python prepared statement null value by @acquamarin in #3098
- Refactor string functions by @manh9203 in #3091
- Arrow chunk_size as keyword argument by @prrao87 in #3084
- Update rustdoc to show how to enable parallel compilation by @prrao87 in #3099
- Improve copy-to-parquet perf by @acquamarin in #3105
- Refactor list functions by @manh9203 in #3100
- Refactor cast functions by @manh9203 in #3107
- QueryResult
get_as_pl
should always return a single chunk by @alexander-beedie in #3110 - Add standard Python module
__version__
attr by @alexander-beedie in #3111 - Fix DuckDB build for macOS ARM and 32-bit by @mewim in #3115
- Pandas pyarrow backend by @mxwli in #3058
- Add pull request template by @andyfengHKU in #3118
- Added customizable delay before displaying progress bar by @MSebanc in #3092
- Hash index cleanup by @benjaminwinger in #3088
- Fix launch database using homedir by @acquamarin in #3108
- Replace DUMMY_TRANSACTION by @hououou in #3106
- fix IMPORT_DATABASE path by @hououou in #3063
- Enable compression for INTERNAL_ID by @ray6080 in #3116
- Close issue 1646 by @ray6080 in #3122
- Refactor Partitioner to use ChunkedNodeGroupCollection by @ray6080 in #3123
- Replace with client context by @hououou in #3121
- Improve the performance of VAR_LIST storage layout by @hououou in #3093
- Fix issue #3127 by @acquamarin in #3130
- Fix issue-3129 by @andyfengHKU in #3131
- Refactor scalar function registration by @manh9203 in #3119
- Support multiple COPY statements on rel tables by @ray6080 in https://github.com/kuzudb/kuzu/p...
v0.3.2
Kùzu v0.3.2 is a minor release. It mainly adds features to the Python API and fixes bugs/issues with the Python and Node.js APIs.
- Support Polars DataFrame export from QueryResult (#2985)
- Support use of QueryResult as a context manager, and add a get_schema method (#3009)
- Python API typing, lint, config/makefile (#3023)
- Fix unicode conversion for pandas dataframe (#3029)
- Optimise Python unit test runtime (~7x speedup) (#3032)
- Add more parameter types for Node.js API (#3037)
Full Changelog: v0.3.1...v0.3.2
v0.3.1
Kùzu v0.3.1 is a minor release. It mainly reverts the Python import caching implementation in v0.3.0 which causes issues when exporting query result to pyarrow
.
What's Changed
- Created shell tests and fixed bugs by @MSebanc in #2940
- Improved error messages for CLI commands and fixed shell testing issues by @MSebanc in #2953
- Add database config: max db size by @ray6080 in #2948
- Replace std::hash with our custom hash function by @benjaminwinger in #2952
- Implement levenshtein function by @acquamarin in #2950
- Revert "Implement Python Import Caching" by @mewim in #2946
- Address #2956 for Java and Node.js APIs by @mewim in #2960
- Expose kuzu version and storage version in the rust API by @benjaminwinger in #2962
- Address #2954 for C++, C, Python, Node.js, and Java APIs by @mewim in #2958
- Support specifying max DB size in rust by @benjaminwinger in #2963
- Bump version to 0.3.1 by @mewim in #2965
- Revert "Replace std::hash with our custom hash function in 15bc801
Full Changelog: v0.3.0...v0.3.1