New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release v0.4.23 #6837
Comments
|
@alanshaw could I borrow your expertise at writing wonderful, engaging release notes for this release? (I understand that might be a bit tricky given that you weren't directly involved in most of the changes; we can discuss this on Monday and/or I can try writing a soulless skeleton). |
|
RC1 at /ipfs/QmRxq967po6BcGW68wbUvwin758dkRiejAKmyHDm9wqaRB/go-ipfs/v0.4.23-rc1/. I'll update dist.ipfs.io later. |
I'll give it a go! |
|
@Stebalien is it too late to include WebUI fixes from #6778 (comment)? |
|
No, we can include that. Could you send a patch against the current RC branch to use the new version? |
|
I'm releasing an RC2 with two changes:
|
|
Early testers: We're entering stage 3 of this patch release. As with the previous release, this release only includes cherry-picked bug fixes (quite a few of them) so we don't expect any regressions or significant performance changes. However, we're still inviting you to do a quick sanity check before the final release. Note: We have cherry-picked a few patches that could cause interesting behavioral changes: If you're relying on AutoRelay, we're no longer picking random relays from the DHT. Instead, we've hard-coded a list of known-good relays. This is a stop-gap to deal with the fact that many of the public relays were unreliable, causing nodes using AutoRelay to continuously crawl the network looking for a good relay. The connection manager no longer counts connections in the "grace period" (default is 30s) against the limit. Before this change, nodes with many inbound connections would disconnect from all long-term peers as connections in the grace period would take the entire quota. You may need to adjust your connection limits to account for this change. Finally, bitswap now tracks which peers we frequently exchange data with and asks the connection manager to avoid closing connections to these peers.
|
|
Thanks for the release :) Just a note: consider pinging the early testers when you make the release (aka 5 days ago) instead of at stage 3 so we can do the testing with a bit more room. |
|
@MichaelMure you're right, I should have pinged the early testers when creating the release issue. I'll add that to the release process. |
|
What about fixing #6795 as well ? |
|
|
|
I'm currently testing rc2 in dev. I wont be able to switch over any production nodes until friday during maintenance however. |
|
@bonedaddy SGTM. We're planning on cutting a release either late friday or early next monday but I'm willing to wait to get this right. |
|
I'm on this now - sorry for the delay. Here's my intro:
|
|
@alanshaw playing to both pirate and pokemon crowds in a single paragraph? Deep. I'll upgrade our deps & run tests ASAP & try to report back before the end of the week. @Stebalien I'm hoping you're still a few timezones behind me |
You're sure this sentence should be that way? |
|
I guess "unsound" usage of unsafe is more accurate. |
I thought you accidentally wrote 'unsafe' the second time, but actually meant something else :) Btw: I really appreciate your hard work, this wasn't meant to be picky. The size of this changes is unreal :) |
I hope there will be a long grace period where both TLS and SECIO are supported. We got a lot of ipfs nodes in production, and given the trouble we had upgrading last time we are not going to immediately upgrade all nodes. Also, it is very important for us that interop between rust-libp2p and js-ipfs via TLS is confirmed to work before disabling SECIO. |
|
I've read that as:
They lean strongly towards setting the TLS as first option on a connection. Which means a handshake with SECIO is the second option, when TLS doesn't work.
This means new connections with SECIO will take longer.
The idea is to deprecate SECIO, so any new implementation should only implement TLS, any existing peer up (including 0.5) will support both and keeps the network running.
|
TLS has been supported for quite some time (since go-ipfs 0.4.21, 30 May 2019). The issue fixed in this release was just a bug that could cause the handshake to fail in some rare cases. The current plan is to drop SECIO support in go-ipfs 0.5.0, assuming we have full interoperability with js-ipfs and rust-libp2p. Note: go-ipfs 0.5.0 will not work with go-ipfs nodes less than 0.4.21 anyways as it introduces a feature that triggers a bug in 0.4.20 (and before).
0.4.23 is a patch release on 0.4.22 which is a patch release on 0.4.21. If you're running 0.4.22 or 0.4.21, the upgrade should be very smooth.
The plan is to introduce a Noise transport in all languages as it's significantly easier to implement correctly. There are ongoing efforts in rust, js, and go. |
|
Done, here are the release notes for your reading pleasure: go-ipfs 0.4.23
Yes that's right, the next feature release of go-ipfs (0.5.0) is, well, running a tiny bit behind schedule. In the mean time though we have patches, and I'm not talking pirate eye patches, I'm talking bug fixes. We're hunting these bugs like they're Pokemon, and jeez, do we come across some rare and difficult to fix ones? - you betcha. Alright, enough funny business, what's the deal? Ok so, I don't want to alarm anyone but this release has some critical fixes and if you're using go-ipfs or know someone who is then you and your friends need to slide into your upgrade pants and give those IPFS nodes a good wipe down ASAP.
|
|
I'm planning on cutting the release by EOD today (PST) or tomorrow morning at the latest. Does anyone have any regressions to report? |
|
Maintenance was postponed so I didn't get a chance to deploy one node in production, but the node in dev seems fine. Output from |
Good to hear. We fixed at least one memory leak. |
|
I'm going to include one more last minute fix in this release: #6418 (not sure how I missed this). The fix is trivial (libp2p/go-libp2p-swarm@50cbe2b) so I'm not going to bother with another RC. |
|
LGTM |
|
The release is up and announced. Thanks everyone! |
Stebalien commentedJan 17, 2020
•
edited
go-ipfs 0.4.23 Release
PR: #6836
Download: https://dist.ipfs.io/go-ipfs/v0.4.23-rc2 (RC2)
Unfortunately, go-ipfs 0.5.0 is taking longer than expected. Given the large number of fixes merged since 0.4.22, we've decided to cut another patch release.
This release contains critical fixes. Please upgrade ASAP. Importantly, we're strongly considering switching to TLS by default in go-ipfs 0.5.0 and dropping SECIO support. However, our the current TLS transport in go-ipfs 0.4.22 has a bug that can cause connections to spontaneously disconnect during the handshake.
This release fixes that bug, among many other issues. Users that don't upgrade may experience connectivity issues when the network upgrades to go-ipfs 0.5.0.
January 27th, at the latest (likely earlier).
Changelog
(multiformats/go-multihash#119)
Other:
Update bloom filter libraries to remove unsound usage of the
unsafepackage.For each RC published in each stage:
version.gohas been updatedChecklist:
make test)make test_go_lint)./bin/mkreleaselogto generate a nice starter listDeploy new version to a subset of Preload nodesCollect metrics every day. Work with the Infrastructure team to learn of any hiccupNPM on IPFSStage 2 - Community Dev Testingrepo/version.gohas been updatedgit merge vX.Y.Z).version.gotovX.(Y+1).0-dev.Would you like to contribute to the IPFS project and don't know how? Well, there are a few places you can get started:
help wantedlabel in the go-ipfs repoThe best place to ask your questions about IPFS, how it works and what you can do with it is at discuss.ipfs.io. We are also available at the
#ipfschannel on Freenode, which is also accessible through our Matrix bridge.The text was updated successfully, but these errors were encountered: