Releases: ipld/go-car
v0.3.2
- Add optional
Optionsvarargs tocar.NewSelectiveCar():car.MaxTraversalLinks(uint64)to provide an upper limit on the number of links to traverse during a selector walkcar.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
-
Implement the new
multicodec.CarMultihashIndexSortedindex format, which uses full multihashes, and is now the default when generating an index -
Add
ExtractV1Fileto extract a CARv1 file out of a CARv2 efficiently -
Add
ReplaceRootsInFileto update the roots list in a CAR file -
Support the
fully-indexedCARv2 characteristic along withStoreIdentityCIDs, which specify if an index contains identity CIDs -
Prevent indexing huge CIDs, configurable via
MaxIndexCidSize -
Reader.IndexReadernow returnsnilwhen a CARv2 file lacks an index -
The API types
ReadOption,WriteOption, andReadWriteOptionare deprecated in favor ofOptionto improve usability
Full Changelog: v2.0.2...v2.1.0
v2.0.2
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
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
- [
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)