Skip to content

Apache Iceberg C++ v0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Jun 09:19
· 8 commits to main since this release
0284683

What's Changed

  • chore: bump cpr to 1.14.1 by @HeartLinked in #535
  • chore: post release 0.2.0 by @wgtmac in #536
  • chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 by @dependabot[bot] in #529
  • chore: refactor Transaction::Apply to use separate smaller functions by @zhjwpku in #527
  • chore(doc): fix minimum compiler version by @HuaHuaY in #528
  • chore: update copyright year to 2026 by @zhjwpku in #537
  • refactor(rest): Switch HttpClient to use connection pool by @HeartLinked in #530
  • test: add test case for table scan planning by @wgtmac in #492
  • feat: add update partition stats by @HeartLinked in #538
  • chore: consolidate json serde file names by @zhjwpku in #539
  • fix: SetSnapshotRef::ApplyTo should call SetRef by @zhjwpku in #540
  • fix(cmake): require Parquet when using system Arrow by @MisterRaindrop in #541
  • refactor: replace std::vformat with std::format for ListType|MapType::ToString by @HeartLinked in #545
  • fix(test): fix missing registering of avro map logical type by @HeartLinked in #547
  • test: Rename TypeTest to VisitTypeTest to avoid naming conflict by @HeartLinked in #546
  • refactor: Reduce extra lookup in RegisterTable by @mzibitsker in #549
  • refactor(manifest): remove MakeVxWriter functions in favor of MakeWriter by @zhjwpku in #551
  • feat: add json serde for expression operations by @evindj in #532
  • fix: use std::move when passing by value in the config by @SYaoJun in #555
  • chore: remove unnecessary header inclusion by @zhjwpku in #554
  • refactor: use std::from_chars instead of stoi/stoll/stod by @HuaHuaY in #556
  • chore: improve the pre-commit requirement by @SYaoJun in #557
  • feat: add support to select columns in table scan planning by @wgtmac in #550
  • chore(deps): bump nanoarrow to 0.8.0 by @lishuxu in #558
  • feat: Implement NoopAuthManager and integrate it with RestCatalog by @lishuxu in #544
  • infra: set github actions max-parallel to 15 by @kevinjqliu in #565
  • ci: Remove unused strategy sections from non-matrix jobs by @kevinjqliu in #566
  • doc: add AI-assisted contributions guidelines by @zhjwpku in #568
  • fix: fix grammar errors in comments by @shangxinli in #569
  • fix: fix misspelled variable, missing format arg, and wrong pointer assignment by @shangxinli in #570
  • CI: Add CodeQL workflow for GitHub Actions security scanning by @kevinjqliu in #567
  • chore(ci): add explicit least-privilege workflow permissions by @kevinjqliu in #573
  • chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #574
  • feat: add SnapshotManager by @zhjwpku in #542
  • feat: implement DataWriter for Iceberg data files by @shangxinli in #552
  • fix: use strtod fallback when std::from_chars(float) unavailable by @zhjwpku in #572
  • refactor: Use RestCatalogProperties by value instead of unique_ptr by @lishuxu in #575
  • feat: Implement BasicAuthManager to support basic authentication by @lishuxu in #564
  • refactor: Optimize SnapshotUtil ancestor methods with early return by @WZhuo in #560
  • chore(deps): bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #580
  • chore: use ubuntu-slim for lightweight jobs by @zhjwpku in #578
  • chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #579
  • fix: add missing direct include of in file_writer.h by @shangxinli in #584
  • feat: add json serde for expressions by @evindj in #553
  • fix(ci): windows ci should return error if build fails by @wgtmac in #586
  • feat: Add incremental scan API by @WZhuo in #559
  • feat: implement truncate max for literals by @WZhuo in #585
  • feat: implement UpdateMapping and apply meta change to UpdateSchema by @zhjwpku in #561
  • feat: Implement PositionDeleteWriter for position delete files by @shangxinli in #582
  • feat: Implement EqualityDeleteWriter for equality delete files by @shangxinli in #583
  • refactor: introduce TransactionContext to decouple Transaction and PendingUpdate by @wgtmac in #591
  • feat: bind literals with right type after serde by @evindj in #562
  • chore: add ai related files to .gitignore by @wgtmac in #593
  • feat(rest): add initial oauth2 support to rest catalog by @lishuxu in #577
  • feat(rest): support snapshot loading mode by @HeartLinked in #543
  • fix: use base_location instead of location in CreateTable by @WZhuo in #594
  • chore(deps): update nanoarrow download url by @wgtmac in #596
  • Infra: Remove GitHub Actions from Dependabot configuration by @kevinjqliu in #597
  • feat(puffin): add basic data structures and constants by @zhaoxuan1994 in #588
  • fix: use secure random for UUID generation by @wgtmac in #602
  • fix: add using StructType::Equals to fix -Woverloaded-virtual warning by @WZhuo in #601
  • feat: add roaring-based position bitmap by @wgtmac in #595
  • feat: Impl IncrementalAppendScan by @WZhuo in #590
  • feat: add position delete index by @wgtmac in #605
  • feat: metrics for avro writer by @WZhuo in #604
  • feat: add StructLikeSet by @wgtmac in #598
  • docs: restructure and improve documentation website by @wgtmac in #606
  • fix: update metadata_location_ in Table::Refresh() method by @linguoxuan in #612
  • feat(data): add DeleteLoader for position and equality delete files by @wgtmac in #610
  • feat/perf: optimize AddRange in RoaringPositionBitmap by @Baunsgaard in #608
  • feat(rest): support namespace separator by @wgtmac in #617
  • feat: add s3 file io integration by @MisterRaindrop in #548
  • feat(puffin): add format constants, utilities, and JSON serialization by @zhaoxuan1994 in #603
  • ci: apply github workflow best practice (zizmor/codeql/asf-allowlist-check) by @kevinjqliu in #618
  • feat: implement incremental changelog scan by @WZhuo in #611
  • chore: add more ai related .gitignore by @HuaHuaY in #621
  • ci: set zizmor min-severity and min-confidence to medium by @kevinjqliu in #620
  • chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 by @dependabot[bot] in #622
  • chore: bump arrow-cpp to 24.0.0 by @wgtmac in #623
  • feat: add ReachableFileCleanup to expire snapshots by @shangxinli in #592
  • feat: retry failed transaction commit by @linguoxuan in #626
  • fix(ci): restore auth for docs gh-pages deploy by @wgtmac in #625
  • fix: typo in RoaringPositionBitmap deletion vector note by @zhjwpku in #632
  • chore(deps): bump github/codeql-action from 4.35.1 to 4.35.2 by @dependabot[bot] in #629
  • chore(deps): bump zizmorcore/zizmor-action from 0.5.2 to 0.5.3 by @dependabot[bot] in #630
  • fix: concurrent Lazy::Get should get correct result by @HuaHuaY in #634
  • chore(deps): bump mozilla-actions/sccache-action from 0.0.9 to 0.0.10 by @dependabot[bot] in #636
  • fix: repair shared package linkage and export scan builder symbols by @zhjwpku in #635
  • feat: add iceberg_data library alongside iceberg by @zhjwpku in #631
  • fix(cmake): use consistent generator expressions to link libraries by @zhjwpku in #639
  • ci: use ilammy/msvc-dev-cmd for Windows MSVC environment by @zhjwpku in #643
  • refactor(util): make retry policy explicit and deterministic by @wgtmac in #633
  • ci: split S3/MinIO into a Linux and macOS-only workflow by @zhjwpku in #642
  • CI: Use specific patch versions in workflow action comments by @kevinjqliu in #644
  • feat(io): add streaming FileIO support by @wgtmac in #641
  • feat(data): add delete filter support by @wgtmac in #650
  • chore(deps): bump github/codeql-action from 4.35.2 to 4.35.3 by @dependabot[bot] in #647
  • chore(deps): bump github/codeql-action from 4.35.3 to 4.35.4 by @dependabot[bot] in #654
  • build: sync Meson project version with CMake by @slfan1989 in #655
  • fix: preserve snapshot ID width in UseRef by @fallintoplace in #661
  • feat(manifest): add ManifestFilterManager and ManifestMergeManager by @gty404 in #652
  • feat: add IncrementalFileCleanup strategy and dispatch in ExpireSnapshots::Finalize by @shangxinli in #648
  • fix(parquet): check compression codec availability by @wgtmac in #656
  • feat(io): add bulk delete API to FileIO. by @slfan1989 in #659
  • fix(ci): fix macOS ci to use provided fmt by @slfan1989 in #670
  • feat(data): add MOR file scan task reader by @wgtmac in #657
  • feat: Add v3 timestamp nanosecond primitive types by @zhjwpku in #653
  • fix: evaluate ManifestGroup file filters by @fallintoplace in #664
  • fix: disallow zoned and non-zoned literal comparisons by @zhjwpku in #676
  • chore(deps): bump github/codeql-action from 4.35.4 to 4.35.5 by @dependabot[bot] in #677
  • chore(deps): bump zizmorcore/zizmor-action from 0.5.3 to 0.5.6 by @dependabot[bot] in #678
  • chore(ci): skip actions for draft PRs by @zhjwpku in #680
  • refactor: move temporal utilities out of transform util by @zhjwpku in #675
  • feat: metrics for parquet writer by @WZhuo in #651
  • fix(parquet): fix parquet writer metrics conversion by @wgtmac in #681
  • feat(data): coalesce position deletes into range inserts by @Baunsgaard in #645
  • ci: update pre-commit workflow permissions to write by @gty404 in #683
  • fix(meson): add missing install headers for meson by @wgtmac in #684
  • feat(puffin): add puffin file reader and writer by @zhaoxuan1994 in #624
  • fix: correct StrictMetricsEvaluator::CanContainNulls/CanContainNaNs when field missing from stats map by @sentomk in #686
  • docs: add Iceberg security model by @sungwy in #688
  • chore(deps): bump github/codeql-action from 4.35.5 to 4.36.0 by @dependabot[bot] in #691
  • build(hive): add ICEBERG_BUILD_HIVE option and skeleton by @MisterRaindrop in #689
  • doc: bump minimum Clang version to 18 by @zhjwpku in #695
  • feat: add MergingSnapshotUpdate by @gty404 in #682
  • chore: normalize license headers by @zhjwpku in #692
  • feat(rest): implement OAuth2 token auto-refresh for REST catalog by @lishuxu in #646
  • feat(catalog): add SQL catalog by @zhjwpku in #693
  • feat: support Iceberg v3 unknown type by @manuzhang in #662
  • feat: add executor pool support by @HuaHuaY in #687
  • chore: update LICENSE of FnOnce by @HuaHuaY in #698
  • feat: metrics reporting for scan and commit by @evindj in #589
  • chore: upgrade avro and remove fmt in ci script by @HuaHuaY in #704
  • chore: release candidate version string by @zhjwpku in #705
  • build: install generated version header by @manuzhang in #710
  • feat(hive): vendor Hive 3.1 metastore + fb303 Thrift IDL by @MisterRaindrop in #694
  • feat(rest): add scan plan endpoints to REST catalog client by @gsandeep1241 in #614
  • chore: disable installing googletest libs by @zhjwpku in #711
  • fix: avoid stale gh run watch in RC release script by @wgtmac in #712
  • fix: align manifest partition reads with reassigned IDs by @wgtmac in #700
  • fix(rest): use "ref" field name for AssertRefSnapshotId requirement by @plusplusjiajia in #702
  • fix: Assign UUID when creating table metadata by @WZhuo in #713
  • fix: YearTransform passes wrong TransformType kTruncate instead of kYear by @WZhuo in #715
  • fix: make release script more robust by @wgtmac in #717

New Contributors

Full Changelog: v0.2.0...v0.3.0