Skip to content

Commit e7938a1

Browse files
Merge pull request ipfs#5196 from ipfs/release-0.4.16-rc2
Ipfs 0.4.16 release candidate 2
2 parents 48577e0 + 0bde02e commit e7938a1

File tree

4 files changed

+69
-3
lines changed

4 files changed

+69
-3
lines changed

.gx/lastpubver

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.4.15: QmcKwjeebv5SX3VFUGDFa4BNMYhy14RRaCzQP7JN3UQDpB
1+
0.4.16-rc2: QmYM2pipuZdMKKgU6m8wNN7F7sL64ipaCCf3p6VJpKHdb1

CHANGELOG.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,71 @@
11
# go-ipfs changelog
22

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+
369
## 0.4.16-rc1 2018-06-27
470
- Features
571
- Embed public keys inside ipns records, use for validation ([ipfs/go-ipfs#5079](https://github.com/ipfs/go-ipfs/pull/5079))

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,6 +551,6 @@
551551
"language": "go",
552552
"license": "MIT",
553553
"name": "go-ipfs",
554-
"version": "0.4.16-rc1"
554+
"version": "0.4.16-rc2"
555555
}
556556

repo/config/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ package config
44
var CurrentCommit string
55

66
// CurrentVersionNumber is the current application's version literal
7-
const CurrentVersionNumber = "0.4.16-rc1"
7+
const CurrentVersionNumber = "0.4.16-rc2"
88

99
const ApiVersion = "/go-ipfs/" + CurrentVersionNumber + "/"

0 commit comments

Comments
 (0)