v0.1.0
What's Changed
- Establish rust project layout by @Xuanwo in #1
- docs: Add ASF related files by @Xuanwo in #2
- ci: add asf license check by @QuakeWang in #4
- feat(spec): Add schema types by @Xuanwo in #5
- docs: Fix typo and add contribute section by @Xuanwo in #9
- docs: modify document specifications by @caicancai in #12
- Remove main branch protect by @JingsongLi in #8
- feat(spec): Add Snapshot by @QuakeWang in #11
- chore/docs: add cargo fmt by @caicancai in #13
- chore: Fix spec not exposed by @Xuanwo in #19
- feat(spec): Add DataFileMeta by @crrow in #15
- feat(spec): Add primitive data types by @XuQianJin-Stars in #18
- feat: Add file io by @Xuanwo in #23
- chore: Fix all reference links to tag instead by @Xuanwo in #24
- feat(spec): Add Manifest List by @Asura7969 in #17
- refactor: Refactor DateTypes to make it more easy to use by @Xuanwo in #29
- feat(spec): implement data field by @devillove084 in #21
- chore(deps): update typed-builder requirement from ^0.18 to ^0.19 by @dependabot[bot] in #28
- feat(spec): complete the Display and is_nullable for DataType by @Aitozi in #35
- refactor: Refactor error in DataType by @XuQianJin-Stars in #36
- ut: add test for
Snapshotby @QuakeWang in #39 - feat: Implement serde for boolean and array by @Xuanwo in #48
- feat: Implement ser/de for mostly all types by @Xuanwo in #49
- feat(test): add data type fixtures by @devillove084 in #47
- feat: add schema change by @QuakeWang in #27
- test: Use test fixtures to test data type by @Xuanwo in #50
- ci: fix ci error by @QuakeWang in #53
- feat(io): Align FileStatus with the Java API. by @Aitozi in #45
- feat(test): add manifest file meta json fixtures by @devillove084 in #55
- feat(io): Implement base IO Module by @devillove084 in #51
- spec: Implement ManifestList read functionality by @Aitozi in #59
- feat(spec): Add CommitKind in snapshot by @Aitozi in #64
- chore(deps): update opendal requirement from 0.48 to 0.49 by @dependabot[bot] in #67
- docs: improve CONTRIBUTING.md by @XuQianJin-Stars in #65
- feat(file_index): add file index format read and write by @devillove084 in #63
- feat: Implement ser/de for the remaining all by @XuQianJin-Stars in #58
- feat(spec): Impl the ManifestFile read functionality by @Aitozi in #69
- feat: add devcontainer support by @zmlcc in #74
- Implement Index Manifest by @zmlcc in #76
- chore(deps):update rust version be 1.86.0 by @camilesing in #84
- ci: fix clippy warn error to long issue by @luoyuxia in #88
- chore: add issue and pr template by @luoyuxia in #91
- feat: introduce schema by @luoyuxia in #90
- feat: introduce catalog api by @luoyuxia in #92
- Introduce filesystem catalog by @luoyuxia in #93
- Introduce manifest by @luoyuxia in #94
- Introduce split & plan by @luoyuxia in #95
- feat: introduce snapshot manager by @luoyuxia in #103
- fix(io): return correct list_status paths and reuse storage operators by @QuakeWang in #101
- Introduce table scan by @luoyuxia in #96
- ci: introduce spark paimon integration for integration test by @luoyuxia in #107
- ci: introduce deny to check apache compatible licenses by @luoyuxia in #112
- feat: introduce basic deletion vector support by @luoyuxia in #110
- feat: introduce read builder by @luoyuxia in #114
- feat: support read to arrow by @luoyuxia in #116
- feat: plan support to plan deletion vector by @luoyuxia in #118
- feat: introduce c binding to expose ffi for go binding by @luoyuxia in #123
- feat: use bin pack to generate data splits by @luoyuxia in #135
- feat: introduce go binding by @luoyuxia in #132
- feat: add OSS storage support. by @QuakeWang in #134
- feat: implement BinaryRow deserialization for partition bytes by @QuakeWang in #133
- ci: add release pipeline for go binding by @luoyuxia in #138
- feat: support read deletion vector to arrow by @luoyuxia in #141
- feat(spec): implement partition path generation by @QuakeWang in #139
- feat: add REST API client with list_databases support by @discivigour in #144
- feat(io): support S3 file IO by @QuakeWang in #143
- feat: support datafusion integration by @luoyuxia in #150
- feat: support partitioned table in TableScan and TableRead by @QuakeWang in #145
- feat: implement REST API database and table CRUD operations with DLF authentication by @discivigour in #147
- feat(table): support column projection in ReadBuilder by @QuakeWang in #153
- fix: Adjust required_approving_review_count to zero by @JingsongLi in #158
- feat: Introduce docs for paimon-rust by @JingsongLi in #157
- feat(spec): define Predicate data structure and PredicateBuilder by @QuakeWang in #156
- fix: remove invalid gh-pages key from .asf.yaml and add CI validation by @XiaoHongbo-Hope in #159
- feat: introduce projection in go binding and datafusion by @luoyuxia in #162
- ci: trigger go release pipeline on release tag push by @luoyuxia in #166
- feat: implement RESTCatalog with database and table CRUD by @discivigour in #160
- ci: introduce release rust pipeline by @luoyuxia in #171
- feat(datafusion): parallelize paimon split execution by @QuakeWang in #169
- feat(table): support partition predicate pruning in TableScan by @QuakeWang in #167
- feat: introduce catalog factory to unify api for creating catalog by @luoyuxia in #175
- chore(deps): update roaring requirement from 0.10 to 0.11 by @dependabot[bot] in #186
- fix: remove protected_branches in asf.yaml by @JingsongLi in #187
- chore(deps): update snafu requirement from 0.8.3 to 0.9.0 by @dependabot[bot] in #184
- chore(deps): bump apache/skywalking-eyes from 0.6.0 to 0.8.0 by @dependabot[bot] in #178
- chore(deps): bump actions/download-artifact from 4 to 8 by @dependabot[bot] in #179
- chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #180
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #181
- chore(deps): update serde_avro_fast requirement from 1.1.2 to 2.0.2 by @dependabot[bot] in #182
- feat: support catalog provider in datafusion by @luoyuxia in #176
- feat(io): refactor FileIO to reuse storage operators and improve path handling by @QuakeWang in #106
- feat: support data evolution table mode by @JingsongLi in #193
- feat: add paimon-rust website by @JingsongLi in #194
- feat(datafusion): support partition predicate pushdown by @QuakeWang in #190
- chore(api/auth): fix clippy failure for DLF default signer identifier by @freedom3219 in #191
- feat: support limit push down in datafusion by @luoyuxia in #177
- feat: introduce time travel for data fusion by @JingsongLi in #195
- feat(scan): support deletion vector cardinality by @luoyuxia in #200
- feat: support time travel by tag name and doc it by @JingsongLi in #199
- feat: support schema evolution read with SchemaManager by @JingsongLi in #197
- feat(scan): support data-level stats pruning in TableScan by @QuakeWang in #196
- feat: support complex types by @JingsongLi in #202
- feat: replace apache-avro with serde_avro_fast and parallelize manifest reads by @JingsongLi in #203
- chore: remove obsolete allow(dead_code) annotations by @luoyuxia in #206
- chore(provision): make Spark integration test provisioning idempotent by @freedom3219 in #198
- feat(scan): add bucket pruning, DV/postpone filtering, and DE group pruning by @JingsongLi in #205
- doc: add README for published crates by @luoyuxia in #209
- feat(python): introduce pypaimon core and DataFusion catalog integration by @luoyuxia in #204
- ci: add python release pipeline by @luoyuxia in #212
- feat: push down filters to parquet read path by @QuakeWang in #208
- fix(scan): harden time-travel selector validation by @QuakeWang in #219
- feat: Implement statistics for data fusion scan by @JingsongLi in #217
- feat: Support data evolution row id filter by @littlecoder04 in #222
- feat(go): add filter push-down and predicate API for Go binding by @luoyuxia in #216
- feat: abstract FormatFileReader and introduce ORC & avro readers by @JingsongLi in #225
- feat(btree): Add BTree global index reader with async on-demand block loading by @JingsongLi in #229
- feat(tantivy): Add Tantivy full-text search with on-demand archive reading by @JingsongLi in #231
- feat(table): Add commit pipeline with SnapshotCommit abstraction by @JingsongLi in #233
- add document for how to release and how to verify a release by @luoyuxia in #235
- perf(reader): Improve the performance of parquet reader by @discivigour in #230
- feat(write): add write pipeline with DataFusion INSERT INTO/OVERWRITE support by @JingsongLi in #234
- feat(datafusion): Add DDL support with PRIMARY KEY constraint syntax by @JingsongLi in #237
- feat(datafusion): upgrade to DataFusion 53 and use VERSION AS OF by @JingsongLi in #236
- feat: support hdfs using hdfs native by @SML0127 in #242
- feat(datafusion): Add $options system table by @plusplusjiajia in #240
- fix(docs): use correct crate name for integration tests. by @LinMingQiang in #243
- feat(write): add MERGE & UPDATE with DataEvolutionWriter by @JingsongLi in #241
- chore: update dependency list for release 0.1.0 by @luoyuxia in #244
- refactor(read): split ArrowReader into DataFileReader, DataEvolutionReader and TableRead by @JingsongLi in #246
- ci: fix release issue by @luoyuxia in #248
- ci: fix publish paimon-datafusion and python issue by @luoyuxia in #253
- fix: cherry-pick serde_avro_fast replacement and update dependency list by @luoyuxia in #279
- ci: include runner arch in cargo cache key to avoid cross-arch conflicts for go by @luoyuxia in #282
New Contributors
- @Xuanwo made their first contribution in #1
- @caicancai made their first contribution in #12
- @crrow made their first contribution in #15
- @XuQianJin-Stars made their first contribution in #18
- @Asura7969 made their first contribution in #17
- @devillove084 made their first contribution in #21
- @dependabot[bot] made their first contribution in #28
- @Aitozi made their first contribution in #35
- @zmlcc made their first contribution in #74
- @camilesing made their first contribution in #84
- @discivigour made their first contribution in #144
- @freedom3219 made their first contribution in #191
- @littlecoder04 made their first contribution in #222
- @SML0127 made their first contribution in #242
- @LinMingQiang made their first contribution in #243
Full Changelog: https://github.com/apache/paimon-rust/commits/v0.1.0