diff --git a/CHANGELOG.md b/CHANGELOG.md index 6435f9dd..aabc2189 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,36 @@ # ipfs-cluster changelog +### v0.3.0 - 2017-11-15 + +This release introduces Raft 1.0.0 and incorporates deep changes to the management of the cluster peerset. + +* Features + * Upgrade Raft to 1.0.0 | [ipfs/ipfs-cluster#194](https://github.com/ipfs/ipfs-cluster/issues/194) | [ipfs/ipfs-cluster#196](https://github.com/ipfs/ipfs-cluster/issues/196) + * Support Snaps | [ipfs/ipfs-cluster#234](https://github.com/ipfs/ipfs-cluster/issues/234) | [ipfs/ipfs-cluster#228](https://github.com/ipfs/ipfs-cluster/issues/228) | [ipfs/ipfs-cluster#232](https://github.com/ipfs/ipfs-cluster/issues/232) + * Rotating backups for ipfs-cluster-data | [ipfs/ipfs-cluster#233](https://github.com/ipfs/ipfs-cluster/issues/233) + * Bring documentation up to date with the code [ipfs/ipfs-cluster#223](https://github.com/ipfs/ipfs-cluster/issues/223) + +Bugfixes: + * Fix docker startup | [ipfs/ipfs-cluster#216](https://github.com/ipfs/ipfs-cluster/issues/216) | [ipfs/ipfs-cluster#217](https://github.com/ipfs/ipfs-cluster/issues/217) + * Fix configuration save | [ipfs/ipfs-cluster#213](https://github.com/ipfs/ipfs-cluster/issues/213) | [ipfs/ipfs-cluster#214](https://github.com/ipfs/ipfs-cluster/issues/214) + * Forward progress updates with IPFS-Proxy | [ipfs/ipfs-cluster#224](https://github.com/ipfs/ipfs-cluster/issues/224) | [ipfs/ipfs-cluster#231](https://github.com/ipfs/ipfs-cluster/issues/231) + * Multiple minor fixes | [ipfs/ipfs-cluster#236](https://github.com/ipfs/ipfs-cluster/issues/236) + * Avoid shutting down consensus in the middle of a commit + * Return an ID containing current peers in PeerAdd + * Do not shut down libp2p host in the middle of peer removal + * Send cluster addresses to the new peer before adding it + * Wait for configuration save on init + * Fix error message when not enough allocations exist for a pin + +This releases introduces some changes affecting the configuration file and some breaking changes affecting `go` and the REST APIs: + +* The `consensus.raft` section of the configuration has new options but should be backwards compatible. +* The `Consensus` component interface has changed, `LogAddPeer` and `LogRmPeer` have been replaced by `AddPeer` and `RmPeer`. It additionally provides `Clean` and `Peers` methods. The `consensus/raft` implementation has been updated accordingly. +* The `api.ID` (used in REST API among others) object key `ClusterPeers` key is now a list of peer IDs, and not a list of multiaddresses as before. The object includes a new key `ClusterPeersAddresses` which includes the multiaddresses. +* Note that `--bootstrap` and `--leave` flags when calling `ipfs-cluster-service` will be stored permanently in the configuration (see [ipfs/ipfs-cluster#235](https://github.com/ipfs/ipfs-cluster/issues/235)). + +--- + ### v0.2.1 - 2017-10-26 This is a maintenance release with some important bugfixes. @@ -35,3 +66,11 @@ This release introduces some breaking changes affecting configuration files and * Config: The old configuration format is no longer valid and cluster will fail to start from it. Configuration file needs to be re-initialized with `ipfs-cluster-service init`. * Go: The `restapi` component has been renamed to `rest` and some of its public methods have been renamed. * Go: Initializers (`New(...)`) for most components have changed to accept a `Config` object. Some initializers have been removed. + +--- + +Note, when adding changelog entries, write links to issues as `@` and then replace them with links with the following command: + +``` +sed -i -r 's/@([0-9]+)/[ipfs\/ipfs-cluster#\1](https:\/\/github.com\/ipfs\/ipfs-cluster\/issues\/\1)/g' CHANGELOG.md +```