Skip to content

Releases: ipld/go-car

v0.3.2

13 Oct 02:22

Choose a tag to compare

  • Add optional Options varargs to car.NewSelectiveCar():
    • car.MaxTraversalLinks(uint64) to provide an upper limit on the number of links to traverse during a selector walk
    • car.TraverseLinksOnlyOnce() to instruct the selector traversal to not make repeat visits of the same link (this is only safe in the case of an exhaustive selector, partial selectors may require valid repeat visits of the same link)
  • Update go-ipld-prime to v0.12.3

Full Changelog: v0.3.1...v0.3.2

v2.1.0

06 Oct 09:46
c93f536

Choose a tag to compare

  • Implement the new multicodec.CarMultihashIndexSorted index format, which uses full multihashes, and is now the default when generating an index

  • Add ExtractV1File to extract a CARv1 file out of a CARv2 efficiently

  • Add ReplaceRootsInFile to update the roots list in a CAR file

  • Support the fully-indexed CARv2 characteristic along with StoreIdentityCIDs, which specify if an index contains identity CIDs

  • Prevent indexing huge CIDs, configurable via MaxIndexCidSize

  • Reader.IndexReader now returns nil when a CARv2 file lacks an index

  • The API types ReadOption, WriteOption, and ReadWriteOption are deprecated in favor of Option to improve usability

Full Changelog: v2.0.2...v2.1.0

v2.0.2

10 Aug 11:54

Choose a tag to compare

The v2/blockstore.ReadWrite now offers Discard to allow closing the blockstore without performing the extra work done as part of Finalize. Apart from use in testing, this is particularly useful when writing a CARv2 file is cancelled.

Fixes an issue where v2/blockstore.ReadOnly blockstore would panic if used after it is closed. It now returns a dedicated error to signal that the blockstore is closed and no longer usable.

Fixes an issue where AllKeysChan retained lock when an error occurs early on during the traversal.

See #206

Full Changelog: v2.0.1...v2.0.2

v2.0.1

06 Aug 15:19

Choose a tag to compare

We're happy to announce go-car v2.0.1!

This is the first stable release of the v2 module, github.com/ipld/go-car/v2.
As a v2 module, existing users of go-car v0 are not forced to upgrade,
and it is possible to use both go-car v0 and v2 in the same build.

This new major version adds support for the
CAR version 2 spec.
It is mainly aimed at reading and writing CARv2 files,
but also supports consuming CARv1 files.

On top of support for CARv2, it also includes a blockstore sub-package that
implements a go-ipfs-blockstore on top of a CARv2 archive with an index.

Downstream users of go-car which simply want to list or obtain blocks and CIDs
from CAR files should be able to replace v0 with v2.0.1. With the upgrade, the
code will also be able to consume CARv2 files.

Downstream users which want to write CARv1 files should likely continue using v0
for that purpose for now. In the future, the v2 module will be
better suited to writing DAGs as
CAR files. As of v2.0.1, only the blockstore package allows writing CARv2 files.

Please note that the previous v2.0.0 tag is missing a LICENSE file and should be ignored.

v0.3.1

03 Jun 11:57

Choose a tag to compare

  • [dce539042a] - chore: make sure we get an error where we expect one (Rod Vagg)
  • [dde2a73215] - chore: refactor header tests to iterate over a struct (Rod Vagg)
  • [2876c180ff] - chore: add header error tests (Rod Vagg)
  • [5bff03e9b7] - fix: lint errors (Rod Vagg)
  • [22a64d29af] - fix: go mod tidy (Rod Vagg)
  • [bfb5342f54] - chore: update go.mod to 1.15 (Rod Vagg)
  • [97fb3e695c] - fix: ReadHeader return value mismatch (Rod Vagg)
  • [3f6c2c6dab] - update .github/workflows/go-check.yml (web3-bot)
  • [a682bee975] - update .github/workflows/go-test.yml (web3-bot)
  • [9d134ea620] - update .github/workflows/automerge.yml (web3-bot)

v0.0.5

27 Mar 18:40
a0fe2b4

Choose a tag to compare

Switch from DAGService to NodeGetter when exporting CAR files. This isn't a breaking change, it just allows more use-cases.

v0.0.4

04 Mar 19:09
28226cb

Choose a tag to compare

Exports CarReader

v0.0.3

04 Mar 18:52

Choose a tag to compare

Move to IPLD org.

v0.0.2

17 Oct 21:56

Choose a tag to compare

  • Defined general Store interface for LoadCar to consume
  • Updated to github.com/ipfs/go-merkledag v0.2.4