Atree v0.10.0 was refactored to reduce tech debt and it uses the updated features/stream-mode
branch of fxamacker/cbor v2.8.
Notable issues resolved:
- #464 Refactor and reduce technical debt. This helps us add new features, maintain, and optimize (e.g., Lazy Decoding).
- #539 and flow-go#7221 Update to newer
feature/stream-mode
branch in fxamacker/cbor from 2.4 to 2.8. This resolves build issue for external projects that depend on fxamacker/cbor 2.5 or newer versions.
Other changes needed by this release are at fxamacker/cbor:
- PR fxamacker/cbor#640 update branch v2.4->v2.7 (+15,260 −4,371)
- PR fxamacker/cbor#650 update branch v2.7->v2.8 (+2,328 −952)
What's Changed
Upgrade to fxamacker/cbor v2.8
- Bump fxamacker/cbor to latest feature/stream-mode by @fxamacker in #542
We ran extensive tests to check backward compatibility, etc. #539 (comment) before merging the version bump to main branches.
Refactor to reduce tech debt
- Remove old test files by @fxamacker in #475
- Rename and export
SlabIDLength
and related constants by @fxamacker in #478 - Replace SlabID{...} with NewSlabID() in tests by @fxamacker in #479
- Use NewDefaultDigesterBuilder() in tests by @fxamacker in #480
- Export PersistentSlabStorage funcs in export_test.go by @fxamacker in #481
- Avoid using unexported
SlabID
fields in tests by @fxamacker in #484 - Avoid creating ArrayDataSlab directly in tests by @fxamacker in #490
- Avoid using unexported
OrderedMap
fields in tests by @fxamacker in #489 - Avoid using unexported
Array
fields in tests by @fxamacker in #488 - Avoid using unexported constants in tests by @fxamacker in #485
- Avoid creating ArrayMetaDataSlab directly in tests by @fxamacker in #495
- Avoid using MapDataSlab & MapMetaDataSlab in tests by @fxamacker in #497
- Rename vars to reduce confusion (sizes vs counts) by @fxamacker in #498
- Avoid using unexported
mutableValueNotifier
in tests by @fxamacker in #499 - Use helper functions to compute array sizes in tests by @fxamacker in #500
- Use helper funcs to compute map byte sizes in tests by @fxamacker in #501
- Decouple non-test and test code by @fxamacker in #503
- Move test util funcs to test_utils package for reuse by smoke tests by @fxamacker in #504
- Rename cmd/stress to cmd/smoke (it only contains smoke tests) by @fxamacker in #505
- Refactor smoke test to reduce duplicate code by @fxamacker in #506
- Split array.go into smaller files and group related functions by @fxamacker in #508
- Split map.go into smaller files and group related functions by @fxamacker in #509
- Split storable.go & typeinfo.go into smaller files by @fxamacker in #510
- Split storage.go into smaller files by @fxamacker in #511
- Replace
panic("not reachable")
withpanic(NewUnreachableError())
by @turbolent in #512 - Split array_debug.go and map_debug.go into smaller files by @fxamacker in #513
- Replace empty interface with
any
by @fxamacker in #514 - Refactor array test & validation code to use range loops by @fxamacker in #515
- Improve consistency of variable names in array tests by @fxamacker in #516
- Refactor map tests & validation to use range loops by @fxamacker in #519
- Improve consistency of variable names in map tests by @fxamacker in #520
- Refactor non-test code to use range loops by @fxamacker in #521
- Fix some misspelled words in docs/comments by @leopardracer in #529
- Simplify and lint test code to improve maintainability and fix flakey test by @fxamacker in #522
- Use go1.21 slices package functions in tests by @fxamacker in #524
- Refactor to simplify merging child slabs in array by @fxamacker in #525
- Refactor to simplify rebalancing child slabs in array by @fxamacker in #526
- Refactor to simplify merging child slabs in map by @fxamacker in #527
- Refactor to simplify rebalancing child slabs in map by @fxamacker in #528
- Refactor ArrayMetaDataSlab.SplitChildSlab() to improve readability by @fxamacker in #530
- Use go1.21 slices package in array by @fxamacker in #531
- Use go1.21 slices package in map by @fxamacker in #532
- Use go1.21 clear() instead of loops to clear elements by @fxamacker in #533
- Simplify slab operations and reduce risks such as memory leaks, etc. by @fxamacker in #534
- Fix smoke test memory usage by @fxamacker in #536
Other Changes
- Bump actions/setup-go from 5.2.0 to 5.3.0 by @dependabot in #473
- Bump codecov/codecov-action from 5.1.2 to 5.3.1 by @dependabot in #487
- Bump github/codeql-action from 3.27.9 to 3.28.8 by @dependabot in #494
- Bump github/codeql-action from 3.28.8 to 3.28.9 by @dependabot in #502
- Bump to Go 1.23 and golangci-lint 1.63.4 by @fxamacker in #507
- Bump github/codeql-action from 3.28.9 to 3.28.10 by @dependabot in #517
- Bump lukechampine.com/blake3 from 1.3.0 to 1.4.0 by @dependabot in #518
- Bump codecov/codecov-action from 5.3.1 to 5.4.0 by @dependabot in #523
- Bump github/codeql-action from 3.28.10 to 3.28.11 by @dependabot in #537
- Bump actions/setup-go from 5.3.0 to 5.4.0 by @dependabot in #540
- Bump github/codeql-action from 3.28.11 to 3.28.12 by @dependabot in #541
- Bump github/codeql-action from 3.28.12 to 3.28.13 by @dependabot in #543
New Contributors
- @leopardracer made their first contribution in #529
Full Changelog: v0.9.0...v0.10.0