|
1 | 1 | # go-graphsync changelog
|
2 | 2 |
|
| 3 | +# go-graphsync v0.13.0 |
| 4 | + |
| 5 | +Graphsync v0.13.0 is a major new feature release |
| 6 | + |
| 7 | +Key features: |
| 8 | + |
| 9 | +#### Graphsync 2.0 protocol |
| 10 | + |
| 11 | +Graphsync is now a CBOR protocol with an IPLD schema. The new protocol is quite |
| 12 | +similar to the protobuf protocol, but slightly smaller, and includes a few major |
| 13 | +changes: |
| 14 | +- Graphsync request IDs are now UUIDs |
| 15 | +- Metadata is no longer an extension, but a core component of a GraphSync Protocol Response object |
| 16 | +- Cancel/Update is now a single enum RequestType |
| 17 | +- Metadata is refactored, supports not just Present/Missing but two new types |
| 18 | + - DuplicateNotSent makes explicit when the remote is not sending a block for this link, even though it had it. Previous duplicates could only be detected implicitly from the absence of the block in the message |
| 19 | + - DuplicateDAGSkipped indicates the provider chose not to pursue a branch within a selector request because it believes the entire DAG to be a duplciate of what it already sent |
| 20 | + |
| 21 | +#### Rebuilt loading system for ingesting and verifying remote responses |
| 22 | + |
| 23 | +We've rebuilt the system for ingesting and verifying remote responses |
| 24 | +- detects malicious responses immediately |
| 25 | +- can substitute local data if present when a remote does not have a set of data |
| 26 | +- will delay a network request until the local store is missing data |
| 27 | + |
| 28 | +#### Better UnixFS selector support |
| 29 | + |
| 30 | +- Now supports sending multiblock files with UnixFS selectors |
| 31 | +- Also supports byte range selectors on unixfs files |
| 32 | + |
| 33 | +#### Moving forward |
| 34 | + |
| 35 | +This release is 0.13.0 cause it is backwards compatible and supports Graphsync v1.0 protocol requests. This will be the last major release in the go-graphsync 0.x series. go-graphsync 1.0 will release when we remove Graphsync protocol 1.0 support |
| 36 | + |
| 37 | +### Changelog |
| 38 | + |
| 39 | +- github.com/ipfs/go-graphsync: |
| 40 | + - fix(impl): delete file |
| 41 | + - Minimal alternate metadata type support (#365) ([ipfs/go-graphsync#365](https://github.com/ipfs/go-graphsync/pull/365)) |
| 42 | + - Fix unixfs fetch (#364) ([ipfs/go-graphsync#364](https://github.com/ipfs/go-graphsync/pull/364)) |
| 43 | + - [Feature] UUIDs, protocol versioning, v2 protocol w/ dag-cbor messaging (#332) ([ipfs/go-graphsync#332](https://github.com/ipfs/go-graphsync/pull/332)) |
| 44 | + |
| 45 | +### Contributors |
| 46 | + |
| 47 | +| Contributor | Commits | Lines ± | Files Changed | |
| 48 | +|-------------|---------|---------|---------------| |
| 49 | +| Rod Vagg | 1 | +5118/-3322 | 84 | |
| 50 | +| Hannah Howard | 2 | +350/-65 | 16 | |
| 51 | +| hannahhoward | 1 | +0/-0 | 1 | |
| 52 | + |
3 | 53 | # go-graphsync v0.12.0
|
4 | 54 |
|
5 | 55 | New features (UnixFS Fetching!) and additional tracing
|
|
0 commit comments