What's Changed
- build(deps): bump github.com/containerd/containerd/v2 from 2.0.4 to 2.0.5 by @dependabot[bot] in #436
- fix(table): ensure manifest length matches file size by @zeroshade in #439
- fix(ci): Fix the minio config by @zeroshade in #444
- build(deps): bump the gomod_updates group with 3 updates by @dependabot[bot] in #440
- fix(catalog/glue): Fix nil map assignment issue in glue catalog by @lliangyu-lin in #446
- fix(table): fix race condition in scanner by @zeroshade in #445
- fix(transforms): DayTransform by @jhump in #423
- release: improve release.sh script by @zeroshade in #447
- testing(catalog/glue): Verify glue catalog snapshot management is supported by @lliangyu-lin in #448
- build(deps): bump the gomod_updates group with 2 updates by @dependabot[bot] in #449
- refactor: pass context into actual IO by @laskoviymishka in #452
- build(deps): bump the gomod_updates group with 14 updates by @dependabot[bot] in #457
- refactor: remove panics from manifest by @laskoviymishka in #456
- Use gcp.NewHTTPClient and pass creds by @agchang in #454
- fix(cli/rest): Add custom scope for rest cli when using with Oauth by @dttung2905 in #461
- build(deps): bump the gomod_updates group with 15 updates by @dependabot[bot] in #462
- fix(transforms): Add can transform method to transform interface by @lliangyu-lin in #463
- feat(catalog/sql): Add views related ops by @dttung2905 in #414
- fix(table): handle missing or nil stats + metadata field nil comparison by @James-Gilbert- in #460
- test: use
create or replaceby @kevinjqliu in #466 - build(deps): bump the gomod_updates group with 16 updates by @dependabot[bot] in #465
- fix(catalog/rest): pass key-scope by @laskoviymishka in #464
- feat(catalog/sql): Add integration test for sql catalog by @dttung2905 in #450
- build(deps): bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 by @dependabot[bot] in #472
- build(deps): bump the gomod_updates group with 5 updates by @dependabot[bot] in #473
- feat(partitions): Add support for get partition field name by @lliangyu-lin in #468
- build(deps): bump the gomod_updates group with 3 updates by @dependabot[bot] in #476
- docs: Introduce website with docs by @laskoviymishka in #478
- fix(catalog/glue): case insensitive type match by @vbekiaris in #480
- docs: remove mentiones of dynamodb by @laskoviymishka in #481
- build(deps): bump the gomod_updates group with 2 updates by @dependabot[bot] in #484
- feat(transaction): Add initial support for update spec in transaction API by @lliangyu-lin in #467
- feat(table/updates): add unmarshal for table updates & requirements by @twuebi in #488
- build(deps): bump the gomod_updates group with 16 updates by @dependabot[bot] in #490
- fix(schema): Fix bug in Schema.HighestFieldId by @jnagel12 in #494
- feat(table/updates): add stubs for the remove schemas & remove partition specs table updates by @twuebi in #491
- feat (cli): Add Support CreateTableOpt with table properties, partition spec & sort order by @dttung2905 in #475
- build(deps): bump github.com/docker/docker from 28.2.2+incompatible to 28.3.3+incompatible by @dependabot[bot] in #517
- feat(table): Implement snapshot expiration by @arnaudbriche in #401
- build(deps): bump the gomod_updates group across 1 directory with 10 updates by @dependabot[bot] in #523
- feat: reuse schemas & increment their IDS by @twuebi in #495
- fix: SetSnapshotRef has to produce updates for all branches by @twuebi in #519
- feat(table): add Refresh method to reload table metadata by @xixipi-lining in #520
- feat(evaluator): Add strict metrics evaluator by @lliangyu-lin in #522
- feat(name_mapping): Add UpdateNameMapping function by @xixipi-lining in #521
- fix(infra/testing): Enable iceberg spark interops integration tests on ci pipeline by @lliangyu-lin in #493
- build(deps): bump the gomod_updates group with 7 updates by @dependabot[bot] in #528
- fix(cli): Fix version detection for CLI by @ankane in #531
- refactor(catalog/glue): remove database_type parameter in Glue catalog operations by @xixipi-lining in #535
- fix(builder): main ref removal by @twuebi in #533
- build(deps): bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 by @dependabot[bot] in #543
- build(deps): bump the gomod_updates group with 6 updates by @dependabot[bot] in #534
- refactor(metadata): remove newLastColumnID check in AddSchema method by @xixipi-lining in #539
- fix(manifest): Interpret manifest files written without
contentmetadata asdatafiles by @joellubi in #545 - refactor(catalog/internal): Improve error handling in WriteTableMetadata and WriteMetadata functions by @xixipi-lining in #541
- build(deps): bump the gomod_updates group with 7 updates by @dependabot[bot] in #546
- feat(glue): add optimistic locking and skip-archive support to Glue catalog by @xixipi-lining in #537
- refactor(catalog): remove
propsparameter from LoadTable and changetable.Tabletotable.Identifierin CommitTable by @xixipi-lining in #542 - feat(cli): add token parameter for rest catalog by @rodrigopv in #549
- feate(table): Add time travel functionality by @dttung2905 in #548
- feat: Add
rest.CatalogOption to provide customhttp.RoundTripperby @joellubi in #552 - build(deps): bump the gomod_updates group with 7 updates by @dependabot[bot] in #553
- feat: implement object store location provider with hash-based path generation by @xixipi-lining in #550
- feat(table): Add cleanup orphan files features by @dttung2905 in #525
- build(deps): bump the gomod_updates group with 2 updates by @dependabot[bot] in #555
- feat: Fallback to Azure DefaultCredential by @alessandro-nori in #557
- build(deps): bump the gomod_updates group with 8 updates by @dependabot[bot] in #563
- fix: Azure URI parsing with
KeyExtractorfunction forblobFileIOpreprocessing by @alessandro-nori in #562 - feat(metadata): PartitionSpec builder & validations by @twuebi in #558
- fix: verify_rc.sh should fetch the latest go version by @twuebi in #565
- feat(manifest): Extent manifest to support iceberg v3 format by @dttung2905 in #560
- chore(metadata): remove Builder returns from MetadataBuilder by @twuebi in #566
- feat(metadata): remove schemas + validations & tests by @twuebi in #567
- fix(metadata): typo in schema-ids by @twuebi in #568
- feat(metadata): prevent reserved table properties from being set / removed by @twuebi in #572
- feat(metadata): validated SortOrders constructor, validations & tests by @twuebi in #571
- fix: return err when not nil in WriteTableMetadata by @alessandro-nori in #574
- feat(table): add fanout partition writer and rolling data writer by @badalprasadsingh in #524
- build(deps): bump the gomod_updates group with 3 updates by @dependabot[bot] in #573
- fix: correct release_upload in release_rc script by @zeroshade in #576
- feat(metadata): snapshot validations by @twuebi in #575
- feat(manifest): implement missing method
NewManifestListWriterV3by @dttung2905 in #569 - feat(metadata): verify timestamps in snapshot & metadata log by @twuebi in #578
- feat(metadata): Add support for Statistics and PartitionStatistics in table metadata by @alessandro-nori in #577
- build(deps): bump the gomod_updates group with 7 updates by @dependabot[bot] in #582
- build(deps): bump the gomod_updates group with 4 updates by @dependabot[bot] in #586
- fix: improve error handling on defer Close() by @twuebi in #583
- feat(metadata): export UpdateTable & fixes by @twuebi in #580
- infra: fix rc artifact structure by @kevinjqliu in #588
- infra: just run
audit-and-verify.ymlonce by @kevinjqliu in #591 - infra: add rat check to verify_rc.sh by @kevinjqliu in #592
- infra: release_rc.sh regenerate sha512 file after rename by @kevinjqliu in #590
- fix(metadata): wrap errors with exported types by @twuebi in #597
- fix(table): writing map column with multiple entries in a row by @zeroshade in #598
New Contributors
- @agchang made their first contribution in #454
- @James-Gilbert- made their first contribution in #460
- @vbekiaris made their first contribution in #480
- @twuebi made their first contribution in #488
- @jnagel12 made their first contribution in #494
- @xixipi-lining made their first contribution in #520
- @ankane made their first contribution in #531
- @joellubi made their first contribution in #545
- @rodrigopv made their first contribution in #549
- @alessandro-nori made their first contribution in #557
- @badalprasadsingh made their first contribution in #524
Full Changelog: v0.3.0...v0.4.0