Ipfs 0.4.16 release candidate 2
License: MIT Signed-off-by: Whyrusleeping <why@ipfs.com>
Jeromy committed
Jul 2, 2018 at 18:21 UTC
0bde02e59a9d95152b8bf993300381c64a7b02ab
4 files changed
+69
-3
.gx/lastpubver
+1
-1
@@ -1 +1 @@
1
-0.4.15: QmcKwjeebv5SX3VFUGDFa4BNMYhy14RRaCzQP7JN3UQDpB
1
+0.4.16-rc2: QmYM2pipuZdMKKgU6m8wNN7F7sL64ipaCCf3p6VJpKHdb1
CHANGELOG.md
+66
@@ -1,5 +1,71 @@
1
# go-ipfs changelog
2
3
+## 0.4.16
4
+
5
+Ipfs 0.4.16 is a fairly small release in terms of changes to the ipfs codebase,
6
+but it contains a huge amount of changes and improvements from libraries we
7
+depend on, notably libp2p. This version of ipfs contains the changes for libp2p
8
+v6.0.5, In that release, we made significant changes to the codebase to allow
9
+for more easy integration of future transports and modules. We also improved
10
+some of our dialing logic, fixed a couple issues in the DHT, and added
11
+support for a new way to write ipfs multiaddrs. The transport refactor now
12
+allows us to much more easily add in support for running libp2p (and by
13
+extension, ipfs) over QUIC, or using TLS instead of secio for encrypting
14
+connections. Our [QUIC
15
+transport](https://github.com/libp2p/go-libp2p-quic-transport) currently
16
+works, and can be plugged into libp2p manually (though note that it is
17
+still experimental, as the upstream spec is still in flux). Further work is
18
+needed to make enabling this inside ipfs easy and not require
19
+recompilation. For more information on the refactor and libp2p v6.0.0, see
20
+the [release blog post](https://ipfs.io/blog/39-go-libp2p-6-0-0/). Between
21
+libp2p v6.0.0 and v6.0.5, there have been some changes worth pointing out
22
+as well. The swarm dialer has been improved to have shortened timeouts when
23
+dialing peers in 'local' subnets. This prevents large dial timeouts from
24
+wasting dial time when the subnet you are dialing is not accessible. The
25
+TCP handshake timeout has also been dropped to 5 seconds, improving the
26
+performance of dials to non-existent addresses. In the DHT, we have fixed
27
+the query code to put records to the K closest peers we can actually
28
+connect to, which is a strict superset of the peers we previously put
29
+records to: The peers we could connect to out of the K closest we learned
30
+about. Finally, we are changing the way that people write 'ipfs'
31
+multiaddrs. Currently, ipfs multiaddrs look something like
32
+`/ip4/104.131.131.82/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ`.
33
+But caling them 'ipfs' multiaddrs is a bit misleading, as this is actually
34
+the multiaddr of a libp2p peer that runs ipfs. Other protocols using libp2p
35
+right now still have to use multiaddrs that say 'ipfs', without actually
36
+having anything to do with ipfs. Towards that, we are renaming them to
37
+'p2p' multiaddrs. Moving forward these addresses will be written as:
38
+`/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ`.
39
+This release adds support for *parsing* both types of addresses into the
40
+same binary format, and the binary format is remaining exactly the same. A
41
+future release will have the ipfs daemon switch to *printing* out addresses
42
+this way, once a large enough portion of the network has upgraded.
43
+
44
+On the ipfs side of things, we've added a few small features. The first of
45
+which is moving to embedding public keys inside IPNS records. This allows
46
+lookups to be faster, as we only need to fetch the record itself (and not the
47
+public key separately), and also fixes an issue where DHT peers wouldnt store a
48
+record for a peer if they didn't have their public key already. Combined with
49
+some of the DHT and dialing fixes, this should improve the performance of IPNS
50
+(once a majority of the network updates).
51
+
52
+The second feature added is the automatic inclusion of the git plugin in the
53
+default build. With this, ipfs can ingest git repositories and other data
54
+directly, and operate over it. For more information on this, see [the
55
+go-ipld-git repo](https://github.com/ipfs/go-ipld-git).
56
+
57
+Various other changes were merged in this release, including great
58
+documentation, a good number of smaller bugfixes, refactoring and a good bit
59
+more. For the details, see the changelog below.
60
+
61
+
62
+## 0.4.16-rc2 2018-07-05
63
+- Bugfixes
64
+ - Fix usage of file name vs path name in adder ([ipfs/go-ipfs#5167](https://github.com/ipfs/go-ipfs/pull/5167))
65
+ - Fix `ipfs update` working with migrations ([ipfs/go-ipfs#5194](https://github.com/ipfs/go-ipfs/pull/5194))
66
+- Documentation
67
+ - Grammer fix in fuse docs ([ipfs/go-ipfs#5164](https://github.com/ipfs/go-ipfs/pull/5164))
68
+
69
## 0.4.16-rc1 2018-06-27
70
- Features
71
- Embed public keys inside ipns records, use for validation ([ipfs/go-ipfs#5079](https://github.com/ipfs/go-ipfs/pull/5079))
package.json
+1
-1
@@ -551,6 +551,6 @@
551
"language": "go",
552
"license": "MIT",
553
"name": "go-ipfs",
554
- "version": "0.4.16-rc1"
554
+ "version": "0.4.16-rc2"
555
}
556
repo/config/version.go
+1
-1
@@ -4,6 +4,6 @@ package config
4
var CurrentCommit string
5
6
// CurrentVersionNumber is the current application's version literal
7
-const CurrentVersionNumber = "0.4.16-rc1"
7
+const CurrentVersionNumber = "0.4.16-rc2"
8
9
const ApiVersion = "/go-ipfs/" + CurrentVersionNumber + "/"