|
1 | 1 | # go-ipfs changelog
|
2 | 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 | + |
3 | 69 | ## 0.4.16-rc1 2018-06-27
|
4 | 70 | - Features
|
5 | 71 | - Embed public keys inside ipns records, use for validation ([ipfs/go-ipfs#5079](https://github.com/ipfs/go-ipfs/pull/5079))
|
|
0 commit comments