Closed lidel closed 1 month ago
We've found a potential regression in go-libp2p-kad-dht and RC1 will be slightly delayed until we have a fix. In the meantime, working on Support for UnixFS 1.5 Mode and ModTime and hoping to include it in RC1 as well.
go-libp2p-kad-dht regression should be fixed by dependency update made in https://github.com/ipfs/kubo/pull/10488.
Release dance for 0.30.0-rc1 is unblocked.
./kuboreleaser --skip-check-before release --version vX.Y.Z(-rcN) prepare-branch
or ...release-vX.Y.Z
master
as base if Z == 0
release
as base if Z > 0
CurrentVersionNumber
in version.go in the master
branch to vX.Y+1.0-dev
CurrentVersionNumber
in version.go in the release-vX.Y
branch to vX.Y.Z(-RCN)
release-vX.Y
to release
master
to the release-vX.Y.Z
using git cherry-pick -x <commit>
Changelog
and Contributors
sections of the changelog with the stdout of ./bin/mkreleaselog
release-vX.Y
to release
are passingrelease-vX.Y
to release
using the Create a merge commit
Squash and merge
nor Rebase and merge
because we need to be able to sign the merge commitrelease-vX.Y
branch
./kuboreleaser release --version vX.Y.Z(-rcN) tag
or ...git tag -s vX.Y.Z(-RCN) -m 'Prerelease X.Y.Z(-RCN)'
release
branch using git tag -s vX.Y.Z -m 'Release X.Y.Z'
git show vX.Y.Z(-RCN)
git push origin vX.Y.Z(-RCN)
git push --tags
because it pushes all your local tags
./kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-dockerhub
or ....tool-versions
's golang
entry is set to the latest go release on the major go branch Kubo is being tested on (see go-version:
)../kuboreleaser release --version vX.Y.Z(-rcN) publish-to-distributions
or ..../dist.sh add-version kubo vX.Y.Z(-RCN)
to add the new version to the versions
filedists/kubo/versions
and dists/go-ipfs/versions
( and dists/kubo/current_version
and dists/go-ipfs/current_version
)./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-npm
(⚠️ you might need to run the command a couple of times because GHA might not be able to see the new distribution straight away due to caching) or ..../kuboreleaser release --version vX.Y.Z(-rcN) publish-to-github
or ...vX.Y.Z(-RCN)
tagThis is a pre-release
checkboxThis is a pre-release
checkbox./kuboreleaser release --version vX.Y.Z(-rcN) promote
or ...Kubo vX.Y.Z(-RCN) is out!
as the titlekubo
and go-ipfs
as topics##
) in the descriptionipfs-companion
./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-desktop
or ...npm install
package.json
and package-lock.json
./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-docs
or ..../kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-blog --date YYYY-MM-DD
or ...-dev
) version, ./kuboreleaser release --version vX.Y.Z(-rcN) merge-branch
or ...merge-release-vX.Y.Z
from release
merge-release-vX.Y.Z
to master
./kuboreleaser release --version vX.Y.Z(-rcN) prepare-next
or ...go get -u
in root directorymake mod_tidy
go.mod
and go.sum
Early testers ping for v0.30.0-rc1 testing 😄.
You're getting this message because you're listed here. Please update this list if you no longer want to be included.
@lidel I'm working with @sukunrt now on a fix for https://github.com/libp2p/go-libp2p/issues/2913. There's a good chance we'll have a release by EOD once Marco can take a look. Can we hold off the final release?
@2color yes, I already planned to have -rc2
next week if we land some fixes, so no problem to wait.
Update: after analysis, the go-libp2p fix from https://github.com/libp2p/go-libp2p/pull/2936 is not a blocker, because majority of users uses static ports, and the problem only occurs in test environments when 0
is used and different UDP port is used for QUIC and Webtransport. We will cut RC2 without waiting for new libp2p.
This section covers tasks to be done during each release.
./kuboreleaser --skip-check-before release --version vX.Y.Z(-rcN) prepare-branch
or ...release-vX.Y.Z
master
as base if Z == 0
release
as base if Z > 0
CurrentVersionNumber
in version.go in the master
branch to vX.Y+1.0-dev
CurrentVersionNumber
in version.go in the release-vX.Y
branch to vX.Y.Z(-RCN)
release-vX.Y
to release
master
to the release-vX.Y.Z
using git cherry-pick -x <commit>
Changelog
and Contributors
sections of the changelog with the stdout of ./bin/mkreleaselog
release-vX.Y
to release
are passingrelease-vX.Y
to release
using the Create a merge commit
Squash and merge
nor Rebase and merge
because we need to be able to sign the merge commitrelease-vX.Y
branch
./kuboreleaser release --version vX.Y.Z(-rcN) tag
or ...git tag -s vX.Y.Z(-RCN) -m 'Prerelease X.Y.Z(-RCN)'
release
branch using git tag -s vX.Y.Z -m 'Release X.Y.Z'
git show vX.Y.Z(-RCN)
git push origin vX.Y.Z(-RCN)
git push --tags
because it pushes all your local tags
./kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-all
or follow each step below:
./kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-dockerhub
or ....tool-versions
's golang
entry is set to the latest go release on the major go branch Kubo is being tested on (see go-version:
)../kuboreleaser release --version vX.Y.Z(-rcN) publish-to-distributions
or ..../dist.sh add-version kubo vX.Y.Z(-RCN)
to add the new version to the versions
file
dists/kubo/versions
and dists/go-ipfs/versions
( and dists/kubo/current_version
and dists/go-ipfs/current_version
)
./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-npm
(⚠️ you might need to run the command a couple of times because GHA might not be able to see the new distribution straight away due to caching) or ..../kuboreleaser release --version vX.Y.Z(-rcN) publish-to-github
or ...vX.Y.Z(-RCN)
tagThis is a pre-release
checkboxThis is a pre-release
checkbox./kuboreleaser release --version vX.Y.Z(-rcN) promote
or ...Kubo vX.Y.Z(-RCN) is out!
as the titlekubo
and go-ipfs
as topics##
) in the descriptionEarly testers ping for v0.30.0-rc2 testing ✨
You're getting this message because you're listed here. Please update this list if you no longer want to be included.
FYSA found a regression caused by go1.23 update: https://github.com/ipfs/kubo/issues/10501
Workaround is to run with GODEBUG=asynctimerchan=1
.
We will likely switch to go1.22 before final release.
Given that go-libp2p hasn't been updated to account for https://github.com/libp2p/specs/pull/628, WebRTC-direct won't work out of the box.
Browser users (js-libp2p, Helia and verified-fetch) would have to override the default maxMessageSize
when initialising the transport in js-libp2p WebRTC-direct, for browser <---webrtc-direct > to work.
Ack, I see it is still being discussed, so tentatively planing to cut 0.30.0-rc3 ~Thu? if/once we agree the maxMessageSize
has to change.
The WebRTC maxMessageSize
change has been reverted in js-libp2p, so it's no longer a blocker.
In the meantime we had boxo and go-libp2p releases with various fixes, and we had to switch back to go1.22 (https://github.com/ipfs/kubo/pull/10502), so making 0.30.0-rc3 still feels prudent.
Plan is to have final 0.30 next week.
./kuboreleaser --skip-check-before release --version vX.Y.Z(-rcN) prepare-branch
or ...release-vX.Y.Z
master
as base if Z == 0
release
as base if Z > 0
CurrentVersionNumber
in version.go in the master
branch to vX.Y+1.0-dev
CurrentVersionNumber
in version.go in the release-vX.Y
branch to vX.Y.Z(-RCN)
release-vX.Y
to release
master
to the release-vX.Y.Z
using git cherry-pick -x <commit>
Changelog
and Contributors
sections of the changelog with the stdout of ./bin/mkreleaselog
release-vX.Y
to release
are passingrelease-vX.Y
to release
using the Create a merge commit
Squash and merge
nor Rebase and merge
because we need to be able to sign the merge commitrelease-vX.Y
branch
./kuboreleaser release --version vX.Y.Z(-rcN) tag
or ...git tag -s vX.Y.Z(-RCN) -m 'Prerelease X.Y.Z(-RCN)'
release
branch using git tag -s vX.Y.Z -m 'Release X.Y.Z'
git show vX.Y.Z(-RCN)
git push origin vX.Y.Z(-RCN)
git push --tags
because it pushes all your local tags
.tool-versions
's golang
entry is set to the latest go release on the major go branch Kubo is being tested on (see go-version:
)../kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-all
or follow each step below:
./kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-dockerhub
or ..../kuboreleaser release --version vX.Y.Z(-rcN) publish-to-distributions
or ..../dist.sh add-version kubo vX.Y.Z(-RCN)
to add the new version to the versions
file
dists/kubo/versions
and dists/go-ipfs/versions
( and dists/kubo/current_version
and dists/go-ipfs/current_version
)
./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-npm
(⚠️ you might need to run the command a couple of times because GHA might not be able to see the new distribution straight away due to caching) or ..../kuboreleaser release --version vX.Y.Z(-rcN) publish-to-github
or ...vX.Y.Z(-RCN)
tagThis is a pre-release
checkboxThis is a pre-release
checkbox./kuboreleaser release --version vX.Y.Z(-rcN) promote
or ...Kubo vX.Y.Z(-RCN) is out!
as the titlekubo
and go-ipfs
as topics##
) in the descriptionEarly testers ping for v0.30.0-rc3 testing :sparkles:
You're getting this message because you're listed here. Please update this list if you no longer want to be included.
./kuboreleaser --skip-check-before release --version vX.Y.Z(-rcN) prepare-branch
or ...release-vX.Y.Z
master
as base if Z == 0
release
as base if Z > 0
CurrentVersionNumber
in version.go in the master
branch to vX.Y+1.0-dev
CurrentVersionNumber
in version.go in the release-vX.Y
branch to vX.Y.Z(-RCN)
release-vX.Y
to release
master
to the release-vX.Y.Z
using git cherry-pick -x <commit>
Changelog
and Contributors
sections of the changelog with the stdout of ./bin/mkreleaselog
release-vX.Y
to release
are passingrelease-vX.Y
to release
using the Create a merge commit
Squash and merge
nor Rebase and merge
because we need to be able to sign the merge commitrelease-vX.Y
branch
./kuboreleaser release --version vX.Y.Z(-rcN) tag
or ...git tag -s vX.Y.Z(-RCN) -m 'Prerelease X.Y.Z(-RCN)'
release
branch using git tag -s vX.Y.Z -m 'Release X.Y.Z'
git show vX.Y.Z(-RCN)
git push origin vX.Y.Z(-RCN)
git push --tags
because it pushes all your local tags
.tool-versions
's golang
entry is set to the latest go release on the major go branch Kubo is being tested on (see go-version:
)../kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-all
or follow each step below:
./kuboreleaser --skip-check-before --skip-run release --version vX.Y.Z(-rcN) publish-to-dockerhub
or ..../kuboreleaser release --version vX.Y.Z(-rcN) publish-to-distributions
or ..../dist.sh add-version kubo vX.Y.Z(-RCN)
to add the new version to the versions
file
dists/kubo/versions
and dists/go-ipfs/versions
( and dists/kubo/current_version
and dists/go-ipfs/current_version
)
./kuboreleaser release --version vX.Y.Z(-rcN) publish-to-npm
(⚠️ you might need to run the command a couple of times because GHA might not be able to see the new distribution straight away due to caching) or ..../kuboreleaser release --version vX.Y.Z(-rcN) publish-to-github
or ...vX.Y.Z(-RCN)
tagThis is a pre-release
checkboxThis is a pre-release
checkbox./kuboreleaser release --version vX.Y.Z(-rcN) promote
or ...Kubo vX.Y.Z(-RCN) is out!
as the titlekubo
and go-ipfs
as topics##
) in the descriptionipfs-companion
./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-desktop
or ...npm install
package.json
and package-lock.json
./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-docs
or ..../kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-blog --date YYYY-MM-DD
or ...-dev
) version, ./kuboreleaser release --version vX.Y.Z(-rcN) merge-branch
or ...merge-release-vX.Y.Z
from release
merge-release-vX.Y.Z
to master
./kuboreleaser release --version vX.Y.Z(-rcN) prepare-next
or ...go get -u
in root directorymake mod_tidy
go.mod
and go.sum
Meta
Items In Scope
Required
- [x] https://github.com/ipfs/kubo/pull/10463 - [x] https://github.com/ipfs/kubo/pull/10468 - [x] https://github.com/ipfs/kubo/pull/10430 - [x] https://github.com/ipfs/boxo/pull/618 - [x] https://github.com/ipfs/kubo/pull/10444 - [x] https://github.com/ipfs/kubo/issues/10416 with https://github.com/libp2p/go-libp2p/pull/2861 - [x] https://github.com/ipfs/boxo/issues/527 - [ ] test docker on raspberrypi, investigate docker arm warning ([log](https://github.com/ipfs/kubo/actions/runs/9455528845/job/26045516371#step:13:8)) - [x] https://github.com/ipfs/kubo/pull/10462 - [x] https://github.com/ipfs/kubo/pull/10227 - [x] https://github.com/ipfs/boxo/pull/651 - [x] https://github.com/ipfs/kubo/issues/10461 - [x] https://github.com/ipfs/kubo/pull/10473 - [x] https://github.com/ipfs/kubo/pull/10477 - [x] https://github.com/ipfs/kubo/pull/10483 - [x] https://github.com/ipfs/kubo/pull/10485 - [x] [go-libp2p-kad-dht regression](https://github.com/ipfs/someguy/issues/78#issuecomment-2288482408); `CanConnect` fix https://github.com/libp2p/go-libp2p-kad-dht/pull/976 - [x] https://github.com/ipfs/kubo/pull/10488 & https://github.com/libp2p/go-libp2p-kad-dht/pull/980 - [x] https://github.com/ipfs/kubo/pull/10494 - [x] https://github.com/ipfs/kubo/issues/10501 - [x] workaround to unblock release: https://github.com/ipfs/kubo/pull/10502 ## Nice To Have (Optional) - [x] https://github.com/ipfs/boxo/pull/659 - [x] https://github.com/ipfs/kubo/pull/10480 - [x] https://github.com/ipfs/kubo/pull/10478 - [x] https://github.com/ipfs/boxo/pull/649 - [x] https://github.com/ipfs/kubo/pull/10472 - [x] https://github.com/ipfs/boxo/pull/643 - [x] https://github.com/ipfs/kubo/pull/10466 - [x] https://github.com/ipfs/kubo/pull/10438 - [x] https://github.com/ipfs/kubo/pull/10441 - [x] https://github.com/ipfs/kubo/pull/10486 - [x] https://github.com/ipfs/kubo/pull/10497