What's Changed
- build(deps): bump the gomod_updates group with 5 updates by @dependabot[bot] in #599
- build(deps): bump the gomod_updates group with 8 updates by @dependabot[bot] in #604
- feat(table): Table Metadata V3 support by @dttung2905 in #585
- feat(view metadata): implement the View spec by @alessandro-nori in #600
- fix(transforms): fix truncate transform for negative ints by @zeroshade in #608
- chore(deps): update substrait by @zeroshade in #607
- feat(table): add schema evolution support by @xixipi-lining in #596
- fix(schema): Fix HighestFieldID to include ListType ElementID by @xixipi-lining in #609
- feat(types) add support for TimestampNano(Tz) by @twuebi in #594
- fix(table): support gzipped metadata json by @hamilton-earthscope in #610
- build(deps): bump the gomod_updates group with 6 updates by @dependabot[bot] in #613
- fix(schema): Fix bug in Schema.HighestFieldId for List types by @jnagel12 in #611
- feat(table): support writing gzipped metadata json by @hamilton-earthscope in #612
- build(deps): bump the gomod_updates group with 8 updates by @dependabot[bot] in #615
- feat(views): add validations for json parsing of view metadata by @twuebi in #619
- build(deps): bump github.com/containerd/containerd/v2 from 2.1.4 to 2.1.5 by @dependabot[bot] in #617
- build(deps): bump the gomod_updates group with 10 updates by @dependabot[bot] in #618
- fix(catalog:rest): Fix RegisterTable endpoint by @itaigilo in #624
- build(deps): bump the gomod_updates group with 7 updates by @dependabot[bot] in #625
- perf(table): optimize partitioned write throughput by @hamilton-earthscope in #622
- feat(view): view updates & MetadataBuilder stubs by @twuebi in #621
- fix: remove partition type cache causing concurrent map write panic by @hamilton-earthscope in #627
- feat(view): add NewMetadata constructor for views by @twuebi in #620
- infra: notify on github workflow failure by @kevinjqliu in #626
- build(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0 by @dependabot[bot] in #631
- build(deps): bump the gomod_updates group with 14 updates by @dependabot[bot] in #632
- build(deps): bump the gomod_updates group with 4 updates by @dependabot[bot] in #635
- infra: automatically delete head branches after merge by @kevinjqliu in #634
- fix(catalog/rest): Handle 204 No Content response in doPost for renameTable by @ankur-anand in #633
- Align error messages with RCK tests by @shtripat in #636
- set header x-amz-content-sha256 before signing by @0xMALVEE in #637
- fix: preserve snapshot log history by @shtripat in #638
- feat(view): Implement view metadata builder and UpdateView method in REST catalog by @jnagel12 in #629
- build(deps): bump the gomod_updates group with 11 updates by @dependabot[bot] in #645
- docs: Update README.md by @el10savio in #641
- fix(table): handle error in unmarshal of snapshot ref by @ferhatelmas in #646
- test: benchmark write performance for complex types and many partitions by @hamilton-earthscope in #643
- fix(view): field ID preservation and error handling for RCK compatibility by @shtripat in #647
- feat: load view by @0xMALVEE in #640
- fix: read updated props when trimming metadata log by @shtripat in #639
- Add analytics for Iceberg-go by @rambleraptor in #653
- feat(metadata): Add support for source-ids by @rambleraptor in #651
- chore(ci): drop backup golangci configuration by @ferhatelmas in #649
- fix(catalog/sql): handle error for metadata location while dropping view by @ferhatelmas in #648
- feat(types): Support Unknown Type for v3 table spec by @dttung2905 in #605
- fix data race in yieldDataFiles by @vjanelle in #650
- fix(manifest): Update method comment for Count by @hdnpth in #660
- build(deps): bump the gomod_updates group across 1 directory with 9 updates by @dependabot[bot] in #661
- chore(arrow): update arrow-go dep by @zeroshade in #662
- fix(catalog/rest): do not leak response bodies by @ferhatelmas in #655
- feat(metadata): row lineage tracking by @twuebi in #659
- build(deps): bump the gomod_updates group with 2 updates by @dependabot[bot] in #664
- fix(table): close writers on error for every exit path by @ferhatelmas in #667
- fix(catalog): ensure we close metadata writers by @zeroshade in #666
- feat(catalog): add WithHeaders function by @rambleraptor in #652
- fix(catalog): handle content-type header correctly for fetchToken by @ferhatelmas in #673
- build(deps): bump the gomod_updates group with 8 updates by @dependabot[bot] in #675
- fix(table): add AssertRefSnapshotID requirements to ExpireSnapshots by @dhananjaykrutika in #672
- fix(catalog,manifest): handle some ignored errors by @ferhatelmas in #670
- refactor(table): make PostCommit optional in ExpireSnapshots by @dhananjaykrutika in #677
- fix: handle missing parent snapshots in ExpireSnapshots by @dhananjaykrutika in #671
- fix(table): close underlying counter in manifest creation by @ferhatelmas in #683
- fix(table): no panic in duplicate schema keys by @ferhatelmas in #684
- build(deps): bump the gomod_updates group with 4 updates by @dependabot[bot] in #680
- refactor(table): wrap manifest writing into closures by @ferhatelmas in #685
- fix(table): skip RemoveSnapshotsUpdate when no snapshots to expire by @dhananjaykrutika in #679
- fix(table): handle early return for commit by @ferhatelmas in #687
- fix: support INT32/INT64 physical types for decimal columns by @hackintoshrao in #686
- fix(io): handle leak for error cases of open blob by @ferhatelmas in #688
- chore(ci): add simplify into formatters by @ferhatelmas in #689
- refactor(iceberg): replace max util with std equivalent by @ferhatelmas in #690
- fix(table): find min seq correctly from manifest list by @ferhatelmas in #693
- fix(table): add pagination support to ListNamespaces by @csumisha in #694
- build(deps): bump google.golang.org/api from 0.260.0 to 0.262.0 in the gomod_updates group by @dependabot[bot] in #698
- feat(catalog/rest): Adding AuthManager support by @rambleraptor in #579
- fix(table): handle race for key map getter by @ferhatelmas in #699
- refactor(ci): use staticcheck from golangci-lint by @ferhatelmas in #700
- chore: fix the pre-commit config to properly point at golangci-lint url by @zeroshade in #704
- chore: clean up pre-commit by @zeroshade in #705
- feat(ci): enable govet for lint by @ferhatelmas in #706
- fix(table): prevent index out of range error in buildManifestEvaluator by @ErenDursun in #692
- build(deps): bump the gomod_updates group with 4 updates by @dependabot[bot] in #708
- fix(table): use proper data file names by @zeroshade in #702
- fix: explicitly pass purgeRequested=false in DropTable by @shtripat in #707
- feat: table overwrite functionality by @dontirun in #674
- build(deps): bump the gomod_updates group with 3 updates by @dependabot[bot] in #719
- feat(catalog): initial support for Hive Catalog by @subkanthi in #678
- fix(table): set current schema to existing schema ID when reusing schema by @ErenDursun in #712
- refactor: Update Overwrite API to Use Options by @alexandre-normand in #717
- feat(table): add support for copy-on-write delete by @alexandre-normand in #718
- infra: remove explicit GITHUB_TOKEN export from labeler workflow by @kevinjqliu in #730
- build(deps): bump the gomod_updates group with 2 updates by @dependabot[bot] in #725
- fix(io): handle new writer exists error by @ferhatelmas in #726
- infra: set github actions max-parallel to 15 by @kevinjqliu in #733
- CI: Add CodeQL workflow for GitHub Actions security scanning by @kevinjqliu in #734
- feat: Wire V3 snapshot producer to row-lineage state by @laskoviymishka in #728
- (docs) Updated hive operations in README by @subkanthi in #740
- feat: add functions for add and replacing data directly with datafiles by @agaddis02 in #723
- fix(manifest): correct v3 manifest-list first row id assigment for row-lineage by @ferhatelmas in #741
- fix(io/s3): allow s3.signer.uri property; only reject explicit s3.remote-signing-enabled=true by @mkuznets in #744
- (docs) Added steps in README to run unit tests and integration tests by @subkanthi in #732
- fix(literals): decimal literal marshalbinary by @zeroshade in #745
- fix(io): update sas token behaviour to mimic java implementation by @jwtryg in #746
- fix(table): schema map handling by @zeroshade in #748
- fix(table): error formatting by @ferhatelmas in #747
- chore: pass writerFactory to newPartitionedFanoutWrite by @twuebi in #743
- refactor(io): use the registry pattern for IO schemes by @alessandro-nori in #709
- feat(hive): Add support for view operations in hvie catalog by @dttung2905 in #742
- build(deps): bump the gomod_updates group with 13 updates by @dependabot[bot] in #749
- ci: replace pull_request_target with pull_request by @kevinjqliu in #751
- chore(ci): add explicit least-privilege workflow permissions by @kevinjqliu in #750
- feat: puffin Reader and Writer by @Shreyas220 in #676
- Revert "ci: replace pull_request_target with pull_request" by @kevinjqliu in #756
- feat(table): add support for merge-on-read delete by @alexandre-normand in #721
- feat(rest): add support staged table creation in REST catalog by @lovromazgon in #754
- fix: replace panics with proper error returns by @shtripat in #758
- fix: field id:0 incorrectly rejected as missing by NestedField.UnmarshalJSON by @shtripat in #761
- chore: use ubuntu-slim for lightweight jobs by @zhjwpku in #760
New Contributors
- @hamilton-earthscope made their first contribution in #610
- @itaigilo made their first contribution in #624
- @ankur-anand made their first contribution in #633
- @0xMALVEE made their first contribution in #637
- @el10savio made their first contribution in #641
- @rambleraptor made their first contribution in #653
- @vjanelle made their first contribution in #650
- @hdnpth made their first contribution in #660
- @dhananjaykrutika made their first contribution in #672
- @hackintoshrao made their first contribution in #686
- @csumisha made their first contribution in #694
- @ErenDursun made their first contribution in #692
- @dontirun made their first contribution in #674
- @alexandre-normand made their first contribution in #717
- @agaddis02 made their first contribution in #723
- @mkuznets made their first contribution in #744
- @lovromazgon made their first contribution in #754
- @zhjwpku made their first contribution in #760
Full Changelog: v0.4.0...v0.5.0