License: MIT Signed-off-by: Hector Sanjuan <code@hector.link>
14 KiB
ipfs-cluster changelog
v0.3.4 - 2018-02-20
This release fixes the pre-built binaries.
- Bugfixes
- Pre-built binaries panic on start | ipfs/ipfs-cluster#320
v0.3.3 - 2018-02-12
This release includes additional ipfs-cluster-service state
subcommands and the connectivity graph feature.
-
Features
ipfs-cluster-service daemon --upgrade
allows to automatically run migrations before starting | ipfs/ipfs-cluster#300 | ipfs/ipfs-cluster#307ipfs-cluster-service state version
reports the shared state format version | ipfs/ipfs-cluster#298 | ipfs/ipfs-cluster#307ipfs-cluster-service health graph
generates a .dot graph file of cluster connectivity | ipfs/ipfs-cluster#17 | ipfs/ipfs-cluster#291 | ipfs/ipfs-cluster#311
-
Bugfixes
- Do not upgrade state if already up to date | ipfs/ipfs-cluster#296 | ipfs/ipfs-cluster#307
- Fix
ipfs-cluster-service daemon
failing withunknown allocation strategy
error | ipfs/ipfs-cluster#314 | ipfs/ipfs-cluster#315
APIs have not changed in this release. The /health/graph
endpoint has been added.
v0.3.2 - 2018-01-25
This release includes a number of bufixes regarding the upgrade and import of state, along with two important features:
-
Commands to export and import the internal cluster state: these allow to perform easy and human-readable dumps of the shared cluster state while offline, and eventually restore it in a different peer or cluster.
-
The introduction of
replication_factor_min
andreplication_factor_max
parameters for every Pin (along with the deprecation ofreplication_factor
). The defaults are specified in the configuration. For more information on the usage and behavour of these new options, check the IPFS cluster guide. -
Features
- New
ipfs-cluster-service state export/import/cleanup
commands | ipfs/ipfs-cluster#240 | ipfs/ipfs-cluster#290 - New min/max replication factor control | ipfs/ipfs-cluster#277 | ipfs/ipfs-cluster#292
- Improved migration code | ipfs/ipfs-cluster#283
ipfs-cluster-service version
output simplified (see below) | ipfs/ipfs-cluster#274- Testing improvements:
- Added tests for Dockerfiles | ipfs/ipfs-cluster#200 | ipfs/ipfs-cluster#282
- Enabled Jenkins testing and made it work | ipfs/ipfs-cluster#256 | ipfs/ipfs-cluster#294
- Documentation improvements:
- Guide contains more details on state upgrade procedures | ipfs/ipfs-cluster#270
- ipfs-cluster-ctl exit status are documented on the README | ipfs/ipfs-cluster#178
- New
-
Bugfixes
- Force cleanup after sharness tests | ipfs/ipfs-cluster#181 | ipfs/ipfs-cluster#288
- Fix state version validation on start | ipfs/ipfs-cluster#293
- Wait until last index is applied before attempting snapshot on shutdown | ipfs/ipfs-cluster#275
- Snaps from master not pushed due to bad credentials
- Fix overpinning or underpinning of CIDs after re-join | ipfs/ipfs-cluster#222
- Fix unmarshaling state on top of an existing one | ipfs/ipfs-cluster#297
- Fix catching up on imported state | ipfs/ipfs-cluster#297
These release is compatible with previous versions of ipfs-cluster on the API level, with the exception of the ipfs-cluster-service version
command, which returns x.x.x-shortcommit
rather than ipfs-cluster-service version 0.3.1
. The former output is still available as ipfs-cluster-service --version
.
The replication_factor
option is deprecated, but still supported and will serve as a shortcut to set both replication_factor_min
and replication_factor_max
to the same value. This affects the configuration file, the REST API and the ipfs-cluster-ctl pin add
command.
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