Welcome to Kùzu 0.0.9! In this release, we've introduced following main improvements and features:
- Supported LOAD FROM, which directly evaluate queries over CSV/Parquet files without loading into database.
- Replaced the `beginReadTransaction()`, `beginWriteTransaction()`, `commit()` and `rollback()` APIs in all language bindings with cypher statements.
- Supported comments on tables.
- Expand recursive rel pattern and enables projection on intermediate nodes and rels.
- Introduced `CREATE REL GROUP`.
- Introduced a set of new data types (e.g., `INT8`, `UINT64`, `UINT32`, `UINT16`, `UINT8`) and related casting functions.
- Replaced arrow's CSV and Parquet reader with new customized one.
- Introduced bitpacking compression for integers.
As always, we have more details in our [blog post](https://kuzudb.com/docusaurus/blog/kuzu-0.0.9-release). Enjoy your reading!
What's Changed
* Refactor order by compilation by andyfengHKU in https://github.com/kuzudb/kuzu/pull/1971
* Implement 1959 by mewim in https://github.com/kuzudb/kuzu/pull/1974
* Remove currIdx from DataChunkState by andyfengHKU in https://github.com/kuzudb/kuzu/pull/1966
* Add snap amazon and twitter for copy tests by ray6080 in https://github.com/kuzudb/kuzu/pull/1969
* Reader function refactor by acquamarin in https://github.com/kuzudb/kuzu/pull/1979
* Skip reading null data if the property is known to have no nulls by benjaminwinger in https://github.com/kuzudb/kuzu/pull/1945
* Add CREATE RDF GRAPH ddl statement by andyfengHKU in https://github.com/kuzudb/kuzu/pull/1984
* Reader compilation refactor by andyfengHKU in https://github.com/kuzudb/kuzu/pull/1985
* Fix aggregate rel bug by andyfengHKU in https://github.com/kuzudb/kuzu/pull/1987
* Expression Constant Folding by andyfengHKU in https://github.com/kuzudb/kuzu/pull/1989
* configure CI workflow for Ubuntu 20.04 LTS by russell-liu in https://github.com/kuzudb/kuzu/pull/1991
* Move CopyRel to query processing pipeline by ray6080 in https://github.com/kuzudb/kuzu/pull/1990
* Change copy morsel size back to DEFAULT_VECTOR_CAPACITY by acquamarin in https://github.com/kuzudb/kuzu/pull/1992
* share build cache when building rust API and the example project by russell-liu in https://github.com/kuzudb/kuzu/pull/1995
* Log errors for serializer by mewim in https://github.com/kuzudb/kuzu/pull/1998
* Fix issue 1915 by ray6080 in https://github.com/kuzudb/kuzu/pull/2001
* Implement csv reader by acquamarin in https://github.com/kuzudb/kuzu/pull/1988
* Fix test logging level by acquamarin in https://github.com/kuzudb/kuzu/pull/1997
* Support defining multiple FROM TO in CREATE REL TABLE GROUP by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2009
* Transaction statement by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2012
* Remove blocks counting in copying rel pipeline by ray6080 in https://github.com/kuzudb/kuzu/pull/2013
* Add arrow feature to rust example so that it can re-use the test build in CI by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2002
* Split catalog table schemas by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2020
* Add test cases match3/4 and new feature "--" by AEsir777 in https://github.com/kuzudb/kuzu/pull/2016
* Add INT8 type by Ashleyhx in https://github.com/kuzudb/kuzu/pull/1994
* Update README.md by semihsalihoglu-uw in https://github.com/kuzudb/kuzu/pull/2024
* Rel group query by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2023
* Add turtle file type, refactor copy compilation by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2026
* Arrow schema fixes by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2019
* Fix cmake configuration by yixinglu in https://github.com/kuzudb/kuzu/pull/2022
* Implement Commenting on Tables by Riolku in https://github.com/kuzudb/kuzu/pull/2011
* Implement copy node rdf by acquamarin in https://github.com/kuzudb/kuzu/pull/2028
* finish range literal [*] [*2] [*..] [*2..] [*..2] by AEsir777 in https://github.com/kuzudb/kuzu/pull/2027
* Add int8 supported functions by Ashleyhx in https://github.com/kuzudb/kuzu/pull/2030
* Refactor exception.h by Riolku in https://github.com/kuzudb/kuzu/pull/2006
* Remove `types_include.h` by Riolku in https://github.com/kuzudb/kuzu/pull/2008
* Fix create node on empty table by acquamarin in https://github.com/kuzudb/kuzu/pull/2034
* Splitup value.h by Riolku in https://github.com/kuzudb/kuzu/pull/2025
* Don't self-initialize schema comments by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2038
* Upgrade ANTLR4 runtime by Riolku in https://github.com/kuzudb/kuzu/pull/2040
* Add include guards to all headers by Riolku in https://github.com/kuzudb/kuzu/pull/2042
* Add win32 access violation handler to buffer manager by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2035
* Transaction test rewrite by hououou in https://github.com/kuzudb/kuzu/pull/2029
* Implement copy rdf rel table by acquamarin in https://github.com/kuzudb/kuzu/pull/2033
* Solve issue-1983 by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2044
* Refactor copy compilation by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2043
* Replace CopyDescription with CSVReaderConfig for storage classes. by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2046
* Rename logical operator dir by ray6080 in https://github.com/kuzudb/kuzu/pull/2047
* allow node bound to include 0 [*0..4] by AEsir777 in https://github.com/kuzudb/kuzu/pull/2041
* Support Parquet filetype on COPY TO by rfdavid in https://github.com/kuzudb/kuzu/pull/1893
* Refactor reader functors by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2049
* Rewrite transaction test by hououou in https://github.com/kuzudb/kuzu/pull/2053
* Refactor node table to take in columnID instead of propertyID by ray6080 in https://github.com/kuzudb/kuzu/pull/2054
* Use a different schema for each RecordBatch in python getAsArrow by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2055
* Restructure storage directory by ray6080 in https://github.com/kuzudb/kuzu/pull/2056
* Expose rel label for Python and Node.js API by mewim in https://github.com/kuzudb/kuzu/pull/2060
* add unsigned int types by Ashleyhx in https://github.com/kuzudb/kuzu/pull/2045
* Load from csv by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2052
* range() function by AEsir777 in https://github.com/kuzudb/kuzu/pull/2058
* Allow dev version of Python wheels to be built and published by mewim in https://github.com/kuzudb/kuzu/pull/2066
* Rename logicalScanNode to logicalScanInternalID by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2067
* Add abstraction of TableData by ray6080 in https://github.com/kuzudb/kuzu/pull/2072
* Rework table statistics ser/deser by ray6080 in https://github.com/kuzudb/kuzu/pull/2073
* Move metadataDAHInfo from catalog to statistics by ray6080 in https://github.com/kuzudb/kuzu/pull/2074
* Reorganize stat files by ray6080 in https://github.com/kuzudb/kuzu/pull/2075
* Copy FROM brackets have optional whitespace by OTooleMichael in https://github.com/kuzudb/kuzu/pull/2078
* Abstract Compression interface and initial integer packing by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2004
* Rdf predicate iri processing by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2071
* Implement parquet-reader by acquamarin in https://github.com/kuzudb/kuzu/pull/2076
* Remove arrow from npy reader by acquamarin in https://github.com/kuzudb/kuzu/pull/2086
* Add direct scan on parquet by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2088
* Bitpack VAR_LIST offset data by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2084
* Fix bounds check in integer bitpacking by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2091
* Fix warning by acquamarin in https://github.com/kuzudb/kuzu/pull/2094
* Fix list reader bug by acquamarin in https://github.com/kuzudb/kuzu/pull/2090
* Add direct scan npy, add where predicate in LOAD FROM by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2093
* Refactor ALTER statement by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2097
* miniparquet: Define HAVE_STDINT_H by Riolku in https://github.com/kuzudb/kuzu/pull/2101
* finish list_product by AEsir777 in https://github.com/kuzudb/kuzu/pull/2069
* Add DDL to rel group by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2103
* Fix add-prop by acquamarin in https://github.com/kuzudb/kuzu/pull/2100
* Int8 and Int16 bitpacking by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2085
* Clean up arrow code in node column chunk and copy node by ray6080 in https://github.com/kuzudb/kuzu/pull/2104
* Fix copy to csv by acquamarin in https://github.com/kuzudb/kuzu/pull/2108
* Fix update bugs by ray6080 in https://github.com/kuzudb/kuzu/pull/2098
* reader: implement parallel CSV reading by Riolku in https://github.com/kuzudb/kuzu/pull/2070
* reader: remove moved constant from Parallel CSV by Riolku in https://github.com/kuzudb/kuzu/pull/2110
* copy: use string_view to avoid a copy by Riolku in https://github.com/kuzudb/kuzu/pull/2112
* add numerical types for APIs by Ashleyhx in https://github.com/kuzudb/kuzu/pull/2105
* add castString in functions by AEsir777 in https://github.com/kuzudb/kuzu/pull/2092
* upload benchmark copy query times to benchmark server by russell-liu in https://github.com/kuzudb/kuzu/pull/2099
* Change slot capacity by ray6080 in https://github.com/kuzudb/kuzu/pull/2111
* Add overflow check for casting by acquamarin in https://github.com/kuzudb/kuzu/pull/2114
* reader/csv: Use binary mode on Windows by Riolku in https://github.com/kuzudb/kuzu/pull/2121
* Explicit exports by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2118
* Fix map creation by ray6080 in https://github.com/kuzudb/kuzu/pull/2113
* Recursive join projection push down by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2120
* reader/csv: sniff column name and type by Riolku in https://github.com/kuzudb/kuzu/pull/2116
* finish cast to bool by AEsir777 in https://github.com/kuzudb/kuzu/pull/2119
* Add load from with headers by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2123
* Add Linux aarch64 build pipelines by mewim in https://github.com/kuzudb/kuzu/pull/2122
* Add documentation example to test by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2125
* Fix table function by acquamarin in https://github.com/kuzudb/kuzu/pull/2127
* Fix recurrsive join test by acquamarin in https://github.com/kuzudb/kuzu/pull/2128
* Add enable_semi_mask option by acquamarin in https://github.com/kuzudb/kuzu/pull/2129
* Inline generated export headers by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2124
* Ignore imports and exports in the static rust build by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2130
* try fix header by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2131
* Update begin trasaction syntax by ray6080 in https://github.com/kuzudb/kuzu/pull/2126
* improve recursive join projection by andyfengHKU in https://github.com/kuzudb/kuzu/pull/2132
* Optional Compression by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2102
* Remove function exports/imports for inlined Value functions by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2134
* Fix non-bundled rust build by benjaminwinger in https://github.com/kuzudb/kuzu/pull/2133
* Bump version to v0.0.9 by ray6080 in https://github.com/kuzudb/kuzu/pull/2135
New Contributors
* russell-liu made their first contribution in https://github.com/kuzudb/kuzu/pull/1991
* AEsir777 made their first contribution in https://github.com/kuzudb/kuzu/pull/2016
* Ashleyhx made their first contribution in https://github.com/kuzudb/kuzu/pull/1994
* yixinglu made their first contribution in https://github.com/kuzudb/kuzu/pull/2022
* Riolku made their first contribution in https://github.com/kuzudb/kuzu/pull/2011
* hououou made their first contribution in https://github.com/kuzudb/kuzu/pull/2029
* OTooleMichael made their first contribution in https://github.com/kuzudb/kuzu/pull/2078
**Full Changelog**: https://github.com/kuzudb/kuzu/compare/v0.0.8...v0.0.9