diff --git a/core/pom.xml b/core/pom.xml index 524282d..9112ad2 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -26,7 +26,7 @@ under the License. org.apache.datafusion datafusion-java-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT datafusion-java diff --git a/dev/changelog/0.1.0.md b/dev/changelog/0.1.0.md new file mode 100644 index 0000000..daf5a23 --- /dev/null +++ b/dev/changelog/0.1.0.md @@ -0,0 +1,92 @@ + + +# DataFusion Java 0.1.0 Changelog + +This release consists of 48 commits from 2 contributors. See credits at the end of this changelog for more information. + +**Breaking changes:** + +- feat(udf)!: switch ScalarFunction.evaluate to ColumnarValue API (closes #62) [#64](https://github.com/apache/datafusion-java/pull/64) (andygrove) + +**Fixed bugs:** + +- fix(udf): declare scalar UDF signatures with Field, not ArrowType [#59](https://github.com/apache/datafusion-java/pull/59) (LantaoJin) + +**Implemented enhancements:** + +- feat: initial seed of Apache DataFusion Java bindings [#1](https://github.com/apache/datafusion-java/pull/1) (andygrove) +- feat(proto): generate datafusion-proto Java classes at build time [#9](https://github.com/apache/datafusion-java/pull/9) (andygrove) +- feat(parquet): expose ParquetReadOptions via registerParquet and readParquet [#18](https://github.com/apache/datafusion-java/pull/18) (andygrove) +- feat(dataframe): add select/filter/count/show methods [#19](https://github.com/apache/datafusion-java/pull/19) (andygrove) +- feat(proto): execute Java-built protobuf plans via SessionContext [#13](https://github.com/apache/datafusion-java/pull/13) (andygrove) +- feat(csv): expose CsvReadOptions via registerCsv and readCsv [#21](https://github.com/apache/datafusion-java/pull/21) (LantaoJin) +- feat(write): add DataFrame.writeParquet with ParquetWriteOptions [#27](https://github.com/apache/datafusion-java/pull/27) (andygrove) +- feat: configure SessionContext and RuntimeEnv via builder [#28](https://github.com/apache/datafusion-java/pull/28) (andygrove) +- feat(dataframe): add limit, distinct, dropColumns, withColumnRenamed [#30](https://github.com/apache/datafusion-java/pull/30) (andygrove) +- feat(builder): expose ConfigOptions.set/get as setOption / setOptions / getOption [#49](https://github.com/apache/datafusion-java/pull/49) (LantaoJin) +- feat(json): expose NdJsonReadOptions via registerJson and readJson [#47](https://github.com/apache/datafusion-java/pull/47) (LantaoJin) +- feat(dataframe): expose withColumn and unnestColumns [#54](https://github.com/apache/datafusion-java/pull/54) (LantaoJin) +- feat: add Java scalar UDF support [#46](https://github.com/apache/datafusion-java/pull/46) (andygrove) +- feat(arrow): expose Arrow IPC reader via registerArrow and readArrow [#52](https://github.com/apache/datafusion-java/pull/52) (LantaoJin) +- feat(dataframe): add writeCsv with CsvWriteOptions [#53](https://github.com/apache/datafusion-java/pull/53) (LantaoJin) +- feat(dataframe): add executeStream(allocator) for incremental batch iteration [#51](https://github.com/apache/datafusion-java/pull/51) (LantaoJin) +- feat(avro): expose Avro reader via registerAvro and readAvro [#60](https://github.com/apache/datafusion-java/pull/60) (LantaoJin) +- feat(dataframe): add writeJson with JsonWriteOptions [#61](https://github.com/apache/datafusion-java/pull/61) (LantaoJin) +- feat(datasource): add Java-implemented data sources [#65](https://github.com/apache/datafusion-java/pull/65) (andygrove) +- feat(dataframe): add schema, explain, cache, and describe introspection methods [#71](https://github.com/apache/datafusion-java/pull/71) (LantaoJin) +- feat(session): register object_store backends on SessionContextBuilder [#73](https://github.com/apache/datafusion-java/pull/73) (LantaoJin) +- feat(dataframe): add join, joinOn, and JoinType [#72](https://github.com/apache/datafusion-java/pull/72) (LantaoJin) +- feat(dataframe): expose sort and repartition [#66](https://github.com/apache/datafusion-java/pull/66) (LantaoJin) +- feat: typed DataFusionException hierarchy across the JNI boundary [#81](https://github.com/apache/datafusion-java/pull/81) (LantaoJin) +- feat(session): configure DataFusion's built-in CacheManager from Java [#78](https://github.com/apache/datafusion-java/pull/78) (LantaoJin) +- feat(metrics): add SessionContext.memoryUsage and runtimeStats [#85](https://github.com/apache/datafusion-java/pull/85) (LantaoJin) +- feat(loader): bundle native library inside the JAR [#77](https://github.com/apache/datafusion-java/pull/77) (andygrove) + +**Documentation updates:** + +- docs: replace roadmap with project-status checklist [#20](https://github.com/apache/datafusion-java/pull/20) (andygrove) +- docs: add GitHub issue and PR templates [#23](https://github.com/apache/datafusion-java/pull/23) (andygrove) +- docs: add Sphinx documentation site with user and contributor guides [#24](https://github.com/apache/datafusion-java/pull/24) (andygrove) +- docs: publish Javadoc as part of the User Guide [#31](https://github.com/apache/datafusion-java/pull/31) (andygrove) +- docs: remove project-status checklist [#34](https://github.com/apache/datafusion-java/pull/34) (andygrove) + +**Other:** + +- chore: remove protected_branches block and format workflow [#7](https://github.com/apache/datafusion-java/pull/7) (andygrove) +- chore(.asf.yaml): null out main branch protection to clear stale rules [#11](https://github.com/apache/datafusion-java/pull/11) (andygrove) +- ci: add build workflow that runs make test [#15](https://github.com/apache/datafusion-java/pull/15) (andygrove) +- ci: replace disallowed third-party actions in build workflow [#16](https://github.com/apache/datafusion-java/pull/16) (andygrove) +- ci: publish docs site to datafusion.apache.org/java/ [#26](https://github.com/apache/datafusion-java/pull/26) (andygrove) +- refactor: pass csv and parquet read options via protobuf [#29](https://github.com/apache/datafusion-java/pull/29) (andygrove) +- build: add examples module on a multi-module Maven build [#32](https://github.com/apache/datafusion-java/pull/32) (andygrove) +- chore(release): add ASF release scripts for source tarballs [#76](https://github.com/apache/datafusion-java/pull/76) (andygrove) +- chore(release): add multi-platform release JAR build pipeline [#87](https://github.com/apache/datafusion-java/pull/87) (andygrove) + +## Credits + +Thank you to everyone who contributed to this release. Here is a breakdown of commits (PRs merged) per contributor. + +``` + 31 Andy Grove + 17 Lantao Jin +``` + +Thank you also to everyone who contributed in other ways such as filing issues, reviewing PRs, and providing feedback on this release. + diff --git a/examples/pom.xml b/examples/pom.xml index 96c9ad5..78fcc5c 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -26,7 +26,7 @@ under the License. org.apache.datafusion datafusion-java-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT datafusion-java-examples diff --git a/pom.xml b/pom.xml index 8827f31..f21552a 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ under the License. org.apache.datafusion datafusion-java-parent - 0.1.0-SNAPSHOT + 0.2.0-SNAPSHOT pom Apache DataFusion Java (Parent)