Ipfs v0.4.12
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
Jeromy committed
Nov 9, 2017 at 10:05 UTC
84e4fe578fc48aa2c53cafc93d49a67adcddd3da
4 files changed
+45
-4
.gx/lastpubver
+1
-1
@@ -1 +1 @@
1
-0.4.11: QmNUKMfTHQQpEwE8bUdv5qmKC3ymdW7zw82LFS8D6MQXmu
1
+0.4.12: QmdKL1GVaUaDVt3JUWiYQSLYRsJMym2KRWxsiXAeEU6pzX
CHANGELOG.md
+42
-1
@@ -1,6 +1,47 @@
1
# go-ipfs changelog
2
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!
45
46
- Features
47
- Implement Connection Manager ([ipfs/go-ipfs#4288](https://github.com/ipfs/go-ipfs/pull/4288))
package.json
+1
-1
@@ -493,6 +493,6 @@
493
"language": "go",
494
"license": "MIT",
495
"name": "go-ipfs",
496
- "version": "0.4.12-rc2"
496
+ "version": "0.4.12"
497
}
498
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.12-rc2"
7
+const CurrentVersionNumber = "0.4.12"
8
9
const ApiVersion = "/go-ipfs/" + CurrentVersionNumber + "/"