License: MIT Signed-off-by: Hector Sanjuan <code@hector.link>
8.9 KiB
ipfs-cluster changelog
v0.3.1 - 2017-12-11
This release includes changes around the consensus state management, so that upgrades can be performed when the internal format changes. It also comes with several features and changes to support a live deployment and integration with IPFS pin-bot, including a REST API client for Go.
- Features
ipfs-cluster-service state upgrade
| ipfs/ipfs-cluster#194ipfs-cluster-test
Docker image runs withipfs:master
| ipfs/ipfs-cluster#155 | ipfs/ipfs-cluster#259ipfs-cluster
Docker image only runsipfs-cluster-service
(and not the ipfs daemon anymore) | ipfs/ipfs-cluster#197 | ipfs/ipfs-cluster#155 | ipfs/ipfs-cluster#259- Support for DNS multiaddresses for cluster peers | ipfs/ipfs-cluster#155 | ipfs/ipfs-cluster#259
- Add configuration section and options for
pin_tracker
| ipfs/ipfs-cluster#155 | ipfs/ipfs-cluster#259 - Add
local
flag to Status, Sync, Recover endpoints which allows to run this operations only in the peer receiving the request | ipfs/ipfs-cluster#155 | ipfs/ipfs-cluster#259 - Add Pin names | ipfs/ipfs-cluster#249
- Add Peer names | ipfs/ipfs-cluster#250
- New REST API Client module
github.com/ipfs/ipfs-cluster/api/rest/client
allows to integrate against cluster | ipfs/ipfs-cluster#260 | ipfs/ipfs-cluster#263 | ipfs/ipfs-cluster#266 - A few rounds addressing code quality issues | ipfs/ipfs-cluster#264
This release should stay backwards compatible with the previous one. Nevertheless, some REST API endpoints take the local
flag, and matching new Go public functions have been added (RecoverAllLocal
, SyncAllLocal
...).
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 | ipfs/ipfs-cluster#196
- Support Snaps | ipfs/ipfs-cluster#234 | ipfs/ipfs-cluster#228 | ipfs/ipfs-cluster#232
- Rotating backups for ipfs-cluster-data | ipfs/ipfs-cluster#233
- Bring documentation up to date with the code ipfs/ipfs-cluster#223
Bugfixes:
- Fix docker startup | ipfs/ipfs-cluster#216 | ipfs/ipfs-cluster#217
- Fix configuration save | ipfs/ipfs-cluster#213 | ipfs/ipfs-cluster#214
- Forward progress updates with IPFS-Proxy | ipfs/ipfs-cluster#224 | ipfs/ipfs-cluster#231
- Delay ipfs connect swarms on boot and safeguard against panic condition | ipfs/ipfs-cluster#238
- Multiple minor fixes | ipfs/ipfs-cluster#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
andLogRmPeer
have been replaced byAddPeer
andRmPeer
. It additionally providesClean
andPeers
methods. Theconsensus/raft
implementation has been updated accordingly. - The
api.ID
(used in REST API among others) object keyClusterPeers
key is now a list of peer IDs, and not a list of multiaddresses as before. The object includes a new keyClusterPeersAddresses
which includes the multiaddresses. - Note that
--bootstrap
and--leave
flags when callingipfs-cluster-service
will be stored permanently in the configuration (see ipfs/ipfs-cluster#235).
v0.2.1 - 2017-10-26
This is a maintenance release with some important bugfixes.
- Fixes:
- Dockerfile runs
ipfs-cluster-service
instead ofctl
| ipfs/ipfs-cluster#194 | ipfs/ipfs-cluster#196 - Peers and bootstrap entries in the configuration are ignored | ipfs/ipfs-cluster#203 | ipfs/ipfs-cluster#204
- Informers do not work on 32-bit architectures | ipfs/ipfs-cluster#202 | ipfs/ipfs-cluster#205
- Replication factor entry in the configuration is ignored | ipfs/ipfs-cluster#208 | ipfs/ipfs-cluster#209
- Dockerfile runs
The fix for 32-bit architectures has required a change in the IPFSConnector
interface (FreeSpace()
and Reposize()
return uint64
now). The current implementation by the ipfshttp
module has changed accordingly.
v0.2.0 - 2017-10-23
-
Features:
- Basic authentication support added to API component | ipfs/ipfs-cluster#121 | ipfs/ipfs-cluster#147 | ipfs/ipfs-cluster#179
- Copy peers to bootstrap when leaving a cluster | ipfs/ipfs-cluster#170 | ipfs/ipfs-cluster#112
- New configuration format | ipfs/ipfs-cluster#162 | ipfs/ipfs-cluster#177
- Freespace disk metric implementation. It's now the default. | ipfs/ipfs-cluster#142 | ipfs/ipfs-cluster#99
-
Fixes:
- IPFS Connector should use only POST | ipfs/ipfs-cluster#176 | ipfs/ipfs-cluster#161
ipfs-cluster-ctl
exit status with error responses | ipfs/ipfs-cluster#174- Sharness tests and update testing container | ipfs/ipfs-cluster#171
- Update Dockerfiles | ipfs/ipfs-cluster#154 | ipfs/ipfs-cluster#185
ipfs-cluster-service
: Do not run service with unknown subcommands | ipfs/ipfs-cluster#186
This release introduces some breaking changes affecting configuration files and go
integrations:
- 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 torest
and some of its public methods have been renamed. - Go: Initializers (
New<Component>(...)
) for most components have changed to accept aConfig
object. Some initializers have been removed.
Note, when adding changelog entries, write links to issues as @<issuenumber>
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