Skip to content

Commit 8eb7956

Browse files
Merge pull request ipfs#4377 from ipfs/release-0.4.12
Ipfs v0.4.12
2 parents 13ed3f3 + 84e4fe5 commit 8eb7956

File tree

4 files changed

+45
-4
lines changed

4 files changed

+45
-4
lines changed

.gx/lastpubver

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.4.11: QmNUKMfTHQQpEwE8bUdv5qmKC3ymdW7zw82LFS8D6MQXmu
1+
0.4.12: QmdKL1GVaUaDVt3JUWiYQSLYRsJMym2KRWxsiXAeEU6pzX

CHANGELOG.md

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,47 @@
11
# go-ipfs changelog
22

3-
## 0.4.12-rc2 2017-10-26
3+
## 0.4.12 2017-11-09
4+
5+
Ipfs 0.4.12 brings with it many important fixes for the huge spike in network
6+
size we've seen this past month. These changes include the Connection Manager,
7+
faster batching in `ipfs add`, libp2p fixes that reduce CPU usage, and a bunch
8+
of new documentation.
9+
10+
The most critical change is the 'Connection Manager': it allows an ipfs node to
11+
maintain a limited set of connections to other peers in the network. By default
12+
(and with no config changes required by the user), ipfs nodes will now try to
13+
maintain between 600 and 900 open connections. These limits are still likely
14+
higher than needed, and future releases may lower the default recommendation,
15+
but for now we want to make changes gradually. The rationale for this selection
16+
of numbers is as follows:
17+
18+
- The DHT routing table for a large network may rise to around 400 peers
19+
- Bitswap connections tend to be separate from the DHT
20+
- PubSub connections also generally are another distinct set of peers
21+
(including js-ipfs nodes)
22+
23+
Because of this, we selected 600 as a 'LowWater' number, and 900 as a
24+
'HighWater' number to avoid having to clear out connections too frequently.
25+
You can configure different numbers as you see fit via the `Swarm.ConnMgr`
26+
field in your ipfs config file. See
27+
[here](https://github.com/ipfs/go-ipfs/blob/master/docs/config.md#connmgr) for
28+
more details.
29+
30+
Disk utilization during `ipfs add` has been optimized for large files by doing
31+
batch writes in parallel. Previously, when adding a large file, users might have
32+
noticed that the add progressed by about 8MB at a time, with brief pauses in between.
33+
This was caused by quickly filling up the batch, then blocking while it was
34+
writing to disk. We now write to disk in the background while continuing to add
35+
the remainder of the file.
36+
37+
Other changes in this release have noticeably reduced memory consumption and CPU
38+
usage. This was done by optimising some frequently called functions in libp2p
39+
that were expensive in terms of both CPU usage and memory allocations. We also
40+
lowered the yamux accept buffer sizes which were raised over a year ago to
41+
combat a separate bug that has since been fixed.
42+
43+
And finally, thank you to everyone who filed bugs, tested out the release candidates,
44+
filed pull requests, and contributed in any other way to this release!
445

546
- Features
647
- Implement Connection Manager ([ipfs/go-ipfs#4288](https://github.com/ipfs/go-ipfs/pull/4288))

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -493,6 +493,6 @@
493493
"language": "go",
494494
"license": "MIT",
495495
"name": "go-ipfs",
496-
"version": "0.4.12-rc2"
496+
"version": "0.4.12"
497497
}
498498

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.12-rc2"
7+
const CurrentVersionNumber = "0.4.12"
88

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

0 commit comments

Comments
 (0)