Releases: ipfs/go-datastore
v0.6.0
What's Changed
- sync: update CI config files by @web3-bot in #186
- sync: update CI config files by @web3-bot in #189
- chore: Fix comment typo by @stensonb in #191
- feat: add Features + datastore scoping by @guseggert in #188
New Contributors
Full Changelog: v0.5.1...v0.6.0
v0.5.1
What's Changed
- fix NullDatastore Batch to take a Context by @aschmahmann in #184
- Release v0.5.1 by @aschmahmann in #185
Full Changelog: v0.5.0...v0.5.1
v0.5.0
What's Changed
- feat: add context to interfaces by @guseggert in #181
- Bump version to 0.5.0 by @guseggert in #183
New Contributors
- @guseggert made their first contribution in #181
Full Changelog: v0.4.6...v0.5.0
Release v0.4.2
Small patch release to avoid filtering by prefix when the prefix is equivalent to /
.
Release v0.4.1
Improve test suite so we can test flatfs.
Release v0.4.0
This is a major release only because it includes some breaking changes to previously unspecified behavior in the query logic to align it with expectations.
Prefixes
Prefixes in queries will now be cleaned (you may need to update your datastores for this).
Additionally, querying with a prefix /foo
will now:
- Match anything under
/foo
(including/foo/bar
, etc.). - Not match
/foo
. - Not match
/foobar
.
This is what users want 90% of the time. Previously, one had to use the prefix /foo/
to mean "anything strictly under /foo
. However, due to how key cleaning works, turning /foo/
into a datastore key would result in /foo
(which included /foo
and /foobar
).
Mounts
Put: Given mounts at /foo
and /
in a mounted datastore, puts to /foo
will now go in the /
datastore, not /foo
. Previously, puts to /foo
would been written to /
in the child datastore which isn't a valid key in many datastores.
Query: Previously, querying for the prefix /foo/
on a datastore with mounts /foo
and /
would search both datastores. However, keys starting with /foo
living in /
shouldn't be visible when another datastore is mounted at /foo
.
Documentation
The behavior and edge cases of datastores is now better documented (and tested).
v0.3.1
Merge pull request #142 from ipfs/fix/logds-async LogDatastore fulfills the Datastore interface again
v0.2.0
Queries can now pass ReturnSizes
to ask the datastore to return sizes of values. Useful when used in conjunction with KeysOnly
to retrieve sizes without returning the values.
If a datastore does not support returning sizes, it should return -1.
WARNING: If you intend to use this feature, make sure to upgrade your datastore implementations at the same time. Otherwise, they'll silently return 0
for sizes.