Skip to content

Releases: dfinity/stable-structures

v0.6.6

12 Nov 13:16
376db8d
Compare
Choose a tag to compare

Overview

This release adds the ability to iterate backwards in a StableBTreeMap. Additionally includes some other small changes, like bumping some dependency versions and fixing a problem with posting the comment about benchmarks on PRs.

What's Changed

  • chore(deps): bump dawidd6/action-download-artifact from 3.1.4 to 6 by @dependabot in #225
  • chore: upgrade canbench from 0.1.1 to 0.1.7 by @ielashi in #232
  • chore(deps): bump thollander/actions-comment-pull-request from 2 to 3 by @dependabot in #230
  • feat: move initialization of StableBTreeMap cursors into Iter by @hpeebles in #231
  • fix: Fix arg names in post-comment action by @frankdavid in #238
  • feat: implement DoubleEndedIterator for StableBTreeMap by @hpeebles in #235
  • chore: bump version to 0.6.6 by @dsarlis in #239

New Contributors

Full Changelog: v0.6.5...v0.6.6

v0.6.5

10 Jun 11:05
4b8e0bc
Compare
Choose a tag to compare

What's Changed

  • fix: grow memory when necessary in BaseVec::set. by @ielashi in #222

Full Changelog: v0.6.4...v0.6.5

v0.6.4

22 Apr 11:01
206fc04
Compare
Choose a tag to compare

Overview

This new release addresses a minor memory issue in BTreeMap and expands its support for tuples.

What's Changed

  • feat: Implement Storable for three elements tuples by @dragoljub-duric in #202
  • feat: Implement into_memory for memory manager by @bitdivine in #188
  • fix: BTreeMap memory issue when deallocating nodes with overflows by @ielashi in #212

Full Changelog: v0.6.3...v0.6.4

v0.6.3

04 Mar 14:27
3c9c2e7
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.6.2...v0.6.3

v0.6.2

25 Jan 08:19
da24d22
Compare
Choose a tag to compare

What's Changed

  • fix: vec should panic when trying to insert element > MAX_SIZE by @ielashi in #180

Full Changelog: v0.6.1...v0.6.2

v0.6.1

18 Dec 17:05
f610a3e
Compare
Choose a tag to compare

Changed

  • feat: impl DoubleEndedIterator for Vec by @hpeebles in #156
  • feat: impl Storable for ic_principal::Principal by @sesi200 in #163

Full Changelog: v0.6.0...v0.6.1

v0.6.0

13 Oct 10:13
f9483a1
Compare
Choose a tag to compare

Summary

This release includes a major upgrade to BTreeMap to allow it to store unbounded types.
An example showcasing the new BTreeMap functionality can be found here.

What's Changed

  • chore: update CHANGELOG.md by @ielashi in #102
  • test: Node::load and Node::save by @ielashi in #107
  • chore: fix minor error in docs by @ielashi in #112
  • test: improve test coverage of BTreeMap::Node by @ielashi in #113
  • chore: merge BoundedStorable into Storable by @ielashi in #94
  • feat: v2 of BTreeMap::Node to support unbounded types. by @ielashi in #114
  • feat: BTreeMap V2 (beta) by @ielashi in #115
  • feat: add basic profiling to benchmarks by @ielashi in #116
  • perf: make BTreeMap V2 2-4x more officient by @ielashi in #118
  • fix: memory leak in BTreeMap V2 by @ielashi in #119
  • perf: set page size when keys and values are bounded by @ielashi in #120
  • feat: introduce new benchmarking script by @ielashi in #121
  • perf: do not store key size in BTreeMap if size is fixed. by @ielashi in #122
  • perf: update BTreeMap v2 default page size from 500 bytes to 1024 bytes by @ielashi in #123
  • feat: prepare beta release + add example for BTreeMap v2 by @ielashi in #124
  • perf: reduce storage requirements for bounded btreemaps by ~25%. by @ielashi in #130
  • feat(log): add an iterator over thread-local log by @roman-kashitsyn in #132
  • perf: [BTreeMap V2] avoid allocating large buffer on save. by @ielashi in #131
  • refactor: determine node version automatically on load by @ielashi in #133
  • feat: add additional assertions to the Storable trait. by @ielashi in #136
  • feat: make BTreeMap V2 the default and automatically migrate V1 maps. by @ielashi in #135
  • feat: expose helper methods for extracting bounds by @ielashi in #138
  • refactor: rewrite BTreeMap proptests using test_strategy. by @ielashi in #139
  • chore: new beta release by @ielashi in #137
  • feat: Improve Error Handling by Adding Display Implementations by @b3hr4d in #140
  • feat: Enhance Bound Enum with Utility Methods and Refactor Storable Trait by @b3hr4d in #142
  • chore: remove unused error struct by @ielashi in #141
  • feat: impl Storable for Option<T: Storable> by @witter-deland in #127
  • feat: comprehensive fuzzing for BTreeMap by @ielashi in #143
  • chore: remove redundant utility methods by @ielashi in #144
  • docs: add docs on how to upgrade the schema of stable structures by @ielashi in #146
  • fix: support for migrating from bounded type to unbounded type. by @ielashi in #148
  • test: add 'range' operation to btree comprehensive test by @ielashi in #149
  • feat: impl pop_last() & pop_first() for BTreeMap by @witter-deland in #150
  • chore: bump beta release version by @ielashi in #147
  • chore: release 0.6.0 by @ielashi in #152

New Contributors

Full Changelog: v0.5.6...v0.6.0

v0.6.0-beta.2

05 Oct 09:56
ce317fb
Compare
Choose a tag to compare
v0.6.0-beta.2 Pre-release
Pre-release

What's Changed

  • feat: Improve Error Handling by Adding Display Implementations by @b3hr4d in #140
  • feat: Enhance Bound Enum with Utility Methods and Refactor Storable Trait by @b3hr4d in #142
  • chore: remove unused error struct by @ielashi in #141
  • feat: impl Storable for Option<T: Storable> by @witter-deland in #127
  • feat: comprehensive fuzzing for BTreeMap by @ielashi in #143
  • chore: remove redundant utility methods by @ielashi in #144
  • docs: add docs on how to upgrade the schema of stable structures by @ielashi in #146
  • fix: support for migrating from bounded type to unbounded type. by @ielashi in #148
  • test: add 'range' operation to btree comprehensive test by @ielashi in #149
  • feat: impl pop_last() & pop_first() for BTreeMap by @witter-deland in #150
  • chore: bump beta release version by @ielashi in #147

New Contributors

Full Changelog: v0.6.0-beta.1...v0.6.0-beta.2

v0.6.0-beta.1

21 Sep 11:13
f0f716a
Compare
Choose a tag to compare
v0.6.0-beta.1 Pre-release
Pre-release

Summary

This beta release contains performance enhancements to BTreeMap V2. It also makes BTreeMap V2 the default implementation, automatically migrating V1 BTreeMaps to V2.

Change Log

  • perf: reduce storage requirements for bounded btreemaps by ~25%. by @ielashi in #130
  • feat(log): add an iterator over thread-local log by @roman-kashitsyn in #132
  • perf: [BTreeMap V2] avoid allocating large buffer on save. by @ielashi in #131
  • refactor: determine node version automatically on load by @ielashi in #133
  • feat: add additional assertions to the Storable trait. by @ielashi in #136
  • feat: make BTreeMap V2 the default and automatically migrate V1 maps. by @ielashi in #135
  • feat: expose helper methods for extracting bounds by @ielashi in #138
  • refactor: rewrite BTreeMap proptests using test_strategy. by @ielashi in #139
  • chore: new beta release by @ielashi in #137

Full Changelog: v0.6.0-beta.0...v0.6.0-beta.1

v0.6.0-beta.0

11 Sep 12:44
6d683ba
Compare
Choose a tag to compare
v0.6.0-beta.0 Pre-release
Pre-release

This is a beta release that features an early preview of BTreeMap V2, a btree that supports unbounded keys and values. An example showcasing the BTreeMap V2 functionality can be found here.

What's Changed

  • chore: update CHANGELOG.md by @ielashi in #102
  • test: Node::load and Node::save by @ielashi in #107
  • chore: fix minor error in docs by @ielashi in #112
  • test: improve test coverage of BTreeMap::Node by @ielashi in #113
  • chore: merge BoundedStorable into Storable by @ielashi in #94
  • feat: v2 of BTreeMap::Node to support unbounded types. by @ielashi in #114
  • feat: BTreeMap V2 (beta) by @ielashi in #115
  • feat: add basic profiling to benchmarks by @ielashi in #116
  • perf: make BTreeMap V2 2-4x more officient by @ielashi in #118
  • fix: memory leak in BTreeMap V2 by @ielashi in #119
  • perf: set page size when keys and values are bounded by @ielashi in #120
  • feat: introduce new benchmarking script by @ielashi in #121
  • perf: do not store key size in BTreeMap if size is fixed. by @ielashi in #122
  • perf: update BTreeMap v2 default page size from 500 bytes to 1024 bytes by @ielashi in #123
  • feat: prepare beta release + add example for BTreeMap v2 by @ielashi in #124

Full Changelog: v0.5.6...v0.6.0-beta.0