diff --git a/.circleci/config.yml b/.circleci/config.yml index 7ef0684..4cdcb77 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ jobs: build: working_directory: /go/src/github.com/qri-io/dag docker: - - image: circleci/golang:1.12 + - image: circleci/golang:1.13 environment: TEST_RESULTS: /tmp/test-results GO111MODULE: "on" diff --git a/CHANGELOG.md b/CHANGELOG.md index 93b88b3..004b079 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,41 @@ +# [v0.2.0](https://github.com/qri-io/dag/compare/v0.1.0...v0.2.0) (2019-09-04) + +# Overhauled Dsync with new API, P2P support, Push & Pull hooks +We've completely reworked dsync to make the API easier to work with, and add support for p2p as a dsync transport! + +This new API includes configurable _hooks_ integrated into the lifecycle of push & pulls. Check out `ExampleNew` in `dag/dsync/dsync_test.go` for an annotated overview. + +We're using this new dsync work as the basis for "remotes" in [qri](https://github.com/qri-io/qri), which makes for a nice production-grade example. + +### Bug Fixes + +* **dsync:** set RequireAllBlocks properly from config, add logging ([eb315be](https://github.com/qri-io/dag/commit/eb315be)) +* **dsync meta:** fix url encoding of meta ([7fe112d](https://github.com/qri-io/dag/commit/7fe112d)) +* **vet:** fix go vet errors ([7835ec5](https://github.com/qri-io/dag/commit/7835ec5)) +* NewLocalNodeGetter lets us fetch blocks from local repo only ([8a6c24c](https://github.com/qri-io/dag/commit/8a6c24c)) + + +### Code Refactoring + +* **dsync:** overhaul dsync API around push/pull & transfer ([c3af21d](https://github.com/qri-io/dag/commit/c3af21d)) + + +### Features + +* **dsync:** add pinning on push completion ([7928c15](https://github.com/qri-io/dag/commit/7928c15)) +* **dsync:** associate key-value metadata with a push ([184c152](https://github.com/qri-io/dag/commit/184c152)) +* **dsync:** initial dsync over a libp2p connection ([c45ec51](https://github.com/qri-io/dag/commit/c45ec51)) +* **dsync plugin:** initial support for dsync as a plugin ([ba579df](https://github.com/qri-io/dag/commit/ba579df)) +* **dsync remove:** added hooks, remove, and meta params to dsync ([7d1e921](https://github.com/qri-io/dag/commit/7d1e921)) +* **p2p:** initial support for dsync pushing over libp2p ([5c0afa9](https://github.com/qri-io/dag/commit/5c0afa9)) + + +### BREAKING CHANGES + +* **dsync:** api is completely overhauled dependants will need to refactor + + + # (2019-06-03) diff --git a/go.mod b/go.mod index 1fafbb4..2e0f2bc 100644 --- a/go.mod +++ b/go.mod @@ -34,8 +34,7 @@ require ( github.com/libp2p/go-libp2p-protocol v0.0.1 github.com/multiformats/go-multicodec v0.1.6 github.com/multiformats/go-multihash v0.0.5 - github.com/prometheus/common v0.4.0 github.com/spf13/cobra v0.0.2 github.com/ugorji/go/codec v1.1.5-pre - google.golang.org/appengine v1.4.0 // indirect + golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 // indirect ) diff --git a/go.sum b/go.sum index f8f7d95..9b8e125 100644 --- a/go.sum +++ b/go.sum @@ -755,6 +755,8 @@ golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/xerrors v0.0.0-20190212162355-a5947ffaace3/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522 h1:bhOzK9QyoD0ogCnFro1m2mz41+Ib0oOhfJnBp5MR4K4= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=