Skip to content

Releases: ipfs/go-datastore

v0.6.0

17 Aug 21:57
1de4708
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.5.1...v0.6.0

v0.5.1

29 Nov 21:44
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.5.0...v0.5.1

v0.5.0

29 Nov 21:44
7548998
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.6...v0.5.0

Release v0.4.2

14 Feb 16:38
d099e8e
Compare
Choose a tag to compare

Small patch release to avoid filtering by prefix when the prefix is equivalent to /.

Release v0.4.1

11 Feb 03:12
ac8b6e6
Compare
Choose a tag to compare

Improve test suite so we can test flatfs.

Release v0.4.0

11 Feb 00:55
b72ac7e
Compare
Choose a tag to compare

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

05 Dec 22:51
e7a4989
Compare
Choose a tag to compare
Merge pull request #142 from ipfs/fix/logds-async

LogDatastore fulfills the Datastore interface again

v0.2.0

02 Dec 23:37
v0.2.0
d4417ca
Compare
Choose a tag to compare

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.