v0.3.0
- Add DAG-repair support
Failures fetching or merging nodes can mark the datastore as dirty.
A dirty datastore is repaired by a process that rewalks the nodes from the
heads which gets triggered on a configurable interval.
This means we keep track of processed nodes in a new datastore
namespace. Nodes that upgrade will need to reprocess the full DAG
on boot.
This also means that go-ds-crdt no longer needs a DAGSyncer with a HasBlock()
method and can use directly an ipld.DAGService().
- Improved DAG processing logic: logic to avoid reprocessing of branches
during sync has been improved. - Avoid broadcasting 0 heads when there's nothing to broadcast.
- Update dependencies on the globaldb example
- Enable parallel processing of new heads
Improved branch-pruning logic allows better processing of tipsets in parallel.