-
Notifications
You must be signed in to change notification settings - Fork 48
Conversation
cc @RichardLitt |
on top of this we have:
|
|
||
[IPFS (go) 0.4.0](https://github.com/ipfs/go-ipfs/releases/tag/v0.4.0) has been released! Among the many changes are a revamped implementation of the IPFS communication protocols, increased performance, improvements to IPNS, many bugfixes, and a couple new features to make IPFS even more powerful. | ||
|
||
This is a **breaking change** release, with a major refactor and upgrade to the IPFS networking protocol. Because of the refactor, **all IPFS (go) daemons earlier than 0.4.0 will not be able to communicate with the newest version**. It is strongly recommended that everyone running an IPFS node upgrade to the latest version as soon as possible, as these nodes will, after a certain time, no longer be able to communicate with the majority of the network until they are upgraded. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
upgrades to the latest version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both are grammatical.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would add a subheading before this: ### On Breaking Changes
. Just style, though.
Files api is missing as well as I can tell |
|
||
So by supporting as many muxers as we can, we get to choose the best multiplexors for the job. It also makes it much easier to implement the IPFS protocols in a new language. And of course, if a better multiplexor standard comes along, it will be easier to upgrade IPFS to support it in the future. | ||
|
||
In addition to the multiplexor changes, the protocol revamp has also improved efficiency and performance in a few important ways, including the elimination of a double wrapping of the length prefixer, and the removal of some unneccessary round trips between nodes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/multiplexor/multiplexer
LGTM. A few things to add, some comments, but overall, this is pretty awesome. |
|
||
[IPFS 0.4.0](https://github.com/ipfs/go-ipfs/releases/tag/v0.4.0) has been released! Among the many changes are a revamped implementation of the IPFS communication protocols, increased performance, improvements to IPNS, many bugfixes, and a couple new features to make IPFS even more powerful. | ||
|
||
### On Breaking Changes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess breaking and changes shouldn't be capitalised for consistency. Sorry.
Notes:
|
thanks @kyledrake for pushing on this! 👍 👍 |
Here's a great example of a great update of this magnitude: |
Next steps to edit this: basically, we need to know everything that has changed to meaningfully change the copy. This depends on @whyrusleeping's list of things in 0.4.0 that are different. |
|
||
## Why we're changing the protocol | ||
|
||
The most important change was to allow IPFS implementations to use pluggable stream multiplexers, such as [yamux](https://github.com/hashicorp/yamux), [spdystream](https://github.com/docker/spdystream), or [muxado](https://github.com/inconshreveable/muxado). Instead of locking IPFS permanently into a single multiplexer that won't work for every language or situation, this change allows the implementations to implement the multiplexers of their choosing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"... and then nodes will negotiate which multiplexer to use between them during the initial connection handshake"
any update here? cc @RichardLitt |
closing in favor of #37 |
This announces 0.4.0. It may need some more specific examples than provided if there's new related functionality, but the main thing is that it makes sure people know this is a breaking protocol change and that they need to upgrade.