Release 0.36
Part of ongoing maintenance of key libraries and services https://github.com/ipshipyard/roadmaps/issues/1 and https://github.com/ipshipyard/roadmaps/issues/6
Meta
- Release owner: @lidel
- Release reviewer/backup: @gammazero
- Expected RC1 date: ~ Jun 11 or 18th
- 🚢 Expected final release date: Jun 25 or July 9th
- Release PR: TBD
- Accompanying PR for improving the release process: N/A
- Internal Staging tests by Shipyard: TBD
- Changelog: https://github.com/ipfs/kubo/blob/master/docs/changelogs/v0.36.md
Items In Scope
Required
This release continues focus on HTTP retrieval, provider system improvements, and reducing cost of running bitswap's libp2p client/server.
- [x] go-libp2p with quic-go >= 0.52
- [x] panic on daemon shutdown fix: boxo with https://github.com/ipfs/boxo/pull/920
- [x] HTTP
- [x] boxo with https://github.com/ipfs/boxo/pull/919
- [x] https://github.com/ipfs/kubo/pull/10836
- [x] https://github.com/ipfs/kubo/pull/10818 to fix https://github.com/ipfs/kubo/issues/10808
- [x] https://github.com/ipfs/kubo/pull/10825
- [ ] p2p-forge/client@main with https://github.com/ipfs/kubo/pull/10835
- [ ] switch to final go-libp2p release
- [ ] switch to final p2p-forge/client release
Issues found ~RC1
- [ ] https://github.com/ipfs/boxo/issues/954
- [ ] https://github.com/ipfs/boxo/issues/955
- [ ] https://github.com/libp2p/go-libp2p-kad-dht/issues/1001
Nice To Have (Optional)
- [x] https://github.com/ipfs/kubo/pull/10827
- [ ] other kad-dht provider/reprovider improvements
- [ ] https://github.com/ipfs/kubo/pull/10834 (wip, likely 0.37+)
- [ ] https://github.com/libp2p/go-libp2p-kad-dht/pull/1082
- [ ] (parked until reprovider refactor) https://github.com/ipfs/boxo/issues/901
- [ ] (parked until reprovider refactor) https://github.com/ipfs/kubo/issues/10832
- [ ] https://github.com/ipfs/kubo/pull/10834 (wip, likely 0.37+)
- [ ] boxo/gateway with configurable limits (and sane limit enabled by default)
- [ ] https://github.com/ipfs/boxo/pull/887
- [ ] https://github.com/ipfs/boxo/pull/812
- [ ] https://github.com/ipfs/kubo/pull/8648
- [ ] https://github.com/ipfs/kubo/issues/9759
- [x] https://github.com/ipfs/kubo/pull/10801
- [ ] https://github.com/ipfs/kubo/pull/8648 as fix for https://github.com/ipfs/kubo/issues/7183#issuecomment-2658029979
- [ ] https://github.com/ipfs/kubo/issues/10091
- [x] https://github.com/ipfs/kubo/issues/10570 (depends on autonatv2 client)
- [ ] Denylist support fixes and improvements
- [ ] https://github.com/ipfs-shipyard/nopfs/issues/34 (NOfs content filtering is not applied to bitswap)
- [ ] https://github.com/ipfs/rainbow/issues/126 (same applies to Kubo)
- [ ] https://github.com/ipfs/kubo/issues/10361
- [ ] https://github.com/ipfs-shipyard/nopfs/issues/39
- [ ] https://github.com/ipfs-shipyard/nopfs/issues/38
- [ ] https://github.com/ipfs/kubo/pull/9684
- [ ] https://github.com/ipfs/kubo/issues/10824
- [ ] https://github.com/ipfs/kubo/pull/10833
Perfored internal smoke-test with ipfs/kubo:master-2025-06-17-eb6cc02 on Shipyar's staging gateway and collab cluster boxes (internal notes).
Found cosmetic ERROR logs:
- https://github.com/ipfs/boxo/issues/954
- https://github.com/ipfs/boxo/issues/955
- https://github.com/libp2p/go-libp2p-kad-dht/issues/1001
but no red flags since 2025-06-17 16:25 UTC.
We will start 0.36.0-rc1 release dance.
✅ Release Checklist (v0.36.0-rc1)
1. Prepare release branch
- [x] Prepare the release branch and update version numbers accordingly
- [x] create a new branch
release-vX.Y.Z- use
masteras base ifZ == 0 - use
releaseas base ifZ > 0
- use
- [ ]
update the
CurrentVersionNumberin version.go in themasterbranch tovX.Y+1.0-dev(example) - [x] update the
CurrentVersionNumberin version.go in therelease-vX.Y.Zbranch tovX.Y.Z(-rcN)(example) - [x] create a draft PR from
release-vX.Y.Ztorelease(example) - [x] Cherry-pick commits from
masterto therelease-vX.Y.Zusinggit cherry-pick -x <commit>(example)-
NOTE: cherry-picking with
-xis important
-
NOTE: cherry-picking with
- [ ]
Replace the
ChangelogandContributorssections of the changelog with the stdout (do NOT copy the stderr) of./bin/mkreleaselog.-
NOTE:
mkreleaselogexpects your$GOPATH/src/github.com/ipfs/kuboto include latest commits fromrelease-vX.Y.Z
-
NOTE:
- [x] verify all CI checks on the PR from
release-vX.Y.Ztoreleaseare passing - [ ]
Merge the PR from
release-vX.Y.Ztoreleaseusing theCreate a merge commit- do NOT use
Squash and mergenorRebase and mergebecause we need to be able to sign the merge commit - do NOT delete the
release-vX.Y.Zbranch
- do NOT use
- [x] create a new branch
2. Tag release
- [x] Create the release tag
- ⚠️ NOTE: This is a dangerous operation! Go and Docker publishing are difficult to reverse! Have the release reviewer verify all the commands marked with !
- [x]
tag the HEAD commit using
git tag -s vX.Y.Z(-rcN) -m 'Prerelease X.Y.Z(-rcN)' - [ ]
tag the HEAD commit of the
releasebranch usinggit tag -s vX.Y.Z -m 'Release X.Y.Z' - [x] ⚠️ verify the tag is signed and tied to the correct commit using
git show vX.Y.Z(-rcN) - [x] push the tag to GitHub using
git push origin vX.Y.Z(-rcN)- ⚠️ do NOT use
git push --tagsbecause it pushes all your local tags
- ⚠️ do NOT use
3. Publish
- [x] Publish Docker image to DockerHub
- [x] Wait for Publish docker image workflow run initiated by the tag push to finish
- [x] verify the image is available on Docker Hub → tags
- [x] Publish the release to dist.ipfs.tech
- [ ] check out ipfs/distributions
- [ ] create new branch: run
git checkout -b release-kubo-X.Y.Z(-rcN) - [x] run
./dist.sh add-version kubo vX.Y.Z(-rcN)to add the new version to theversionsfile (usage) - [x] Verify ipfs/distributions's
.tool-versions'sgolangentry is set to the latest go release on the major go branch Kubo is being tested on (seego-version:). If not, update.tool-versionsto match the latest golang. - [x] create and merge the PR which updates
dists/kubo/versionsanddists/go-ipfs/versions(NOTE:will also have
dists/kubo/currentanddists/go-ipfs/current– example) - [ ] wait for the CI workflow run initiated by the merge to master to finish
- [x] verify the release is available on dist.ipfs.tech
- [x] Publish the release to NPM
- [ ] manually dispatch the Release to npm workflow
- [ ] check Release to npm workflow run logs to verify it discovered the new release
- [x] verify the release is available on NPM
- [x] Publish the release to GitHub kubo/releases
- [x] create a new release on github.com/ipfs/kubo/releases
- RC example
- FINAL example
- [ ] use the
vX.Y.Z(-rcN)tag - [ ] link to the release issue
- [ ]
link to the changelog in the description
- [x]
check the
This is a pre-releasecheckbox - [ ]
copy the changelog (without the header) in the description
- [ ]
do NOT check the
This is a pre-releasecheckbox
- [ ] run the sync-release-assets workflow
- [ ] wait for the sync-release-assets workflow run to finish
- [x] verify the release assets are present in the GitHub release
- [x] create a new release on github.com/ipfs/kubo/releases
4. After Publishing
- [ ]
Merge the release branch back into master
- [ ] Create a new branch
merge-release-vX.Y.Zfromrelease - [ ] Create the next
./docs/changelogs/vA.B.mdand link to the new changelog from the./CHANGELOG.mdfile - [ ] Create and merge a PR from
merge-release-vX.Y.Ztomaster- ⚠️ do NOT use
Squash and mergenorRebase and mergebecause we need to be able to sign the merge commit - ⚠️ NOTE: make sure to ignore the changes to version.go (keep the
-devinmaster)
- ⚠️ do NOT use
- [ ] Create a new branch
- [ ] Update Kubo staging environment, see the Running Kubo tests on staging for details.
- [ ]
Test last release against the current RC
- [ ]
Test last release against the current one
- [ ]
- [ ] Promote the release
- [x] create an IPFS Discourse topic (prerelease example, release example)
- [ ] use
Kubo vX.Y.Z(-rcN) is out!as the title andkuboandgo-ipfsas tags - [ ] repeat the title as a heading (
##) in the description - [ ] link to the GitHub Release, binaries on IPNS, docker pull command and release notes in the description
- [ ] pin the IPFS Discourse topic globally, you can make the topic a banner if there is no banner already
- [ ] use
- [x] verify the IPFS Discourse topic was copied to:
- [ ] #ipfs-chatter in IPFS Discord
- [x] #ipfs-chatter in FIL Slack
- [x] #ipfs-chatter:ipfs.io in Matrix
- [ ]
Add the link to the IPFS Discourse topic to the GitHub Release description (example)
- [x]
create an issue comment mentioning early testers on the release issue (example)
- [ ]
create an issue comment linking to the release on the release issue (example)
- [ ]
promote on bsky.app (example)
- [ ]
promote on x.com (example)
- [ ]
post the link to the GitHub Release to Reddit (example)
- [x] create an IPFS Discourse topic (prerelease example, release example)
- [x] Manually smoke-test the new version with IPFS Companion Browser Extension
- [ ]
Update Kubo in ipfs-desktop
- [ ] check out ipfs/ipfs-desktop
- [ ] run
npm install - [ ] create a PR which updates
package.jsonandpackage-lock.json
Skipped for RC1:
- [ ]
Update Kubo docs at docs.ipfs.tech:
- [ ]
run the update-on-new-ipfs-tag.yml workflow
- [ ]
merge the PR created by the update-on-new-ipfs-tag.yml workflow run
- [ ]
- [ ]
Create a blog entry on blog.ipfs.tech
- [ ]
create a PR which adds a release note for the new Kubo version (example)
- [ ]
merge the PR
- [ ]
verify the blog entry was published
- [ ]
- [ ]
Create a dependency update PR
- [ ]
check out ipfs/kubo
- [ ]
go over direct dependencies from
go.modin the root directory (NOTE: do not rungo get -uas it will upgrade indirect dependencies which may cause problems) - [ ]
run
make mod_tidy - [ ]
create a PR which updates
go.modandgo.sum - [ ]
add the PR to the next release milestone
- [ ]
- [ ]
Create the next release issue
- [ ]
Close the release issue
Early testers ping for RC1 testing:
- [ ] Charity Engine (@rytiss, @tristanolive)
- [ ] Fission (@bmann)
- [ ] Infura (@MichaelMure)
- [ ] OrbitDB (@haydenyoung)
- [ ] Pinata (@obo20)
- [ ] Shipyard (@cewood, @ns4plabs)
- [ ] Siderus (@koalalorenzo)
- [ ] Textile (@sanderpick)
- [ ] @RubenKelevra
You're getting this message because you're listed here. Open PR to update that list if you no longer want to be included in these pings.
✅ Release Checklist (v0.36.0-rc2)
1. Prepare release branch
- [x] Prepare the release branch and update version numbers accordingly
- [ ] create a new branch
release-vX.Y.Z- use
masteras base ifZ == 0 - use
releaseas base ifZ > 0
- use
- [ ]
update the
CurrentVersionNumberin version.go in themasterbranch tovX.Y+1.0-dev(example) - [x] update the
CurrentVersionNumberin version.go in therelease-vX.Y.Zbranch tovX.Y.Z(-rcN)(example) - [ ] create a draft PR from
release-vX.Y.Ztorelease(example) - [x] Cherry-pick commits from
masterto therelease-vX.Y.Zusinggit cherry-pick -x <commit>(example)-
NOTE: cherry-picking with
-xis important
-
NOTE: cherry-picking with
- [ ]
Replace the
ChangelogandContributorssections of the changelog with the stdout (do NOT copy the stderr) of./bin/mkreleaselog.-
NOTE:
mkreleaselogexpects your$GOPATH/src/github.com/ipfs/kuboto include latest commits fromrelease-vX.Y.Z
-
NOTE:
- [x] verify all CI checks on the PR from
release-vX.Y.Ztoreleaseare passing - [ ]
Merge the PR from
release-vX.Y.Ztoreleaseusing theCreate a merge commit- do NOT use
Squash and mergenorRebase and mergebecause we need to be able to sign the merge commit - do NOT delete the
release-vX.Y.Zbranch
- do NOT use
- [ ] create a new branch
2. Tag release
- [x] Create the release tag
- ⚠️ NOTE: This is a dangerous operation! Go and Docker publishing are difficult to reverse! Have the release reviewer verify all the commands marked with !
- [ ]
tag the HEAD commit using
git tag -s vX.Y.Z(-rcN) -m 'Prerelease X.Y.Z(-rcN)' - [ ]
tag the HEAD commit of the
releasebranch usinggit tag -s vX.Y.Z -m 'Release X.Y.Z' - [x] ⚠️ verify the tag is signed and tied to the correct commit using
git show vX.Y.Z(-rcN) - [x] push the tag to GitHub using
git push origin vX.Y.Z(-rcN)- ⚠️ do NOT use
git push --tagsbecause it pushes all your local tags
- ⚠️ do NOT use
3. Publish
- [x] Publish Docker image to DockerHub
- [x] Wait for Publish docker image workflow run initiated by the tag push to finish
- [x] verify the image is available on Docker Hub → tags
- [x] Publish the release to dist.ipfs.tech
- [ ] check out ipfs/distributions
- [ ] create new branch: run
git checkout -b release-kubo-X.Y.Z(-rcN) - [x] run
./dist.sh add-version kubo vX.Y.Z(-rcN)to add the new version to theversionsfile (usage) - [x] Verify ipfs/distributions's
.tool-versions'sgolangentry is set to the latest go release on the major go branch Kubo is being tested on (seego-version:). If not, update.tool-versionsto match the latest golang. - [ ] FIX APPLE NOTARIZATION: https://github.com/ipfs/distributions/pull/1149#issuecomment-3050394068
- [x] create and merge the PR which updates
dists/kubo/versionsanddists/go-ipfs/versions(NOTE:will also have
dists/kubo/currentanddists/go-ipfs/current– example) - [x] wait for the CI workflow run initiated by the merge to master to finish
- [x] verify the release is available on dist.ipfs.tech
- [x] Publish the release to NPM
- [ ] manually dispatch the Release to npm workflow
- [ ] check Release to npm workflow run logs to verify it discovered the new release
- [ ] verify the release is available on NPM
- [x] Publish the release to GitHub kubo/releases
- [ ] create a new release on github.com/ipfs/kubo/releases
- RC example
- FINAL example
- [ ] use the
vX.Y.Z(-rcN)tag - [ ] link to the release issue
- [ ]
link to the changelog in the description
- [ ]
check the
This is a pre-releasecheckbox - [ ]
copy the changelog (without the header) in the description
- [ ]
do NOT check the
This is a pre-releasecheckbox
- [x] run the sync-release-assets workflow
- [ ] wait for the sync-release-assets workflow run to finish
- [x] verify the release assets are present in the GitHub release
- [ ] create a new release on github.com/ipfs/kubo/releases
4. After Publishing
- [ ]
Merge the release branch back into master
- [ ] Create a new branch
merge-release-vX.Y.Zfromrelease - [ ] Create the next
./docs/changelogs/vA.B.mdand link to the new changelog from the./CHANGELOG.mdfile - [ ] Create and merge a PR from
merge-release-vX.Y.Ztomaster- ⚠️ do NOT use
Squash and mergenorRebase and mergebecause we need to be able to sign the merge commit - ⚠️ NOTE: make sure to ignore the changes to version.go (keep the
-devinmaster)
- ⚠️ do NOT use
- [ ] Create a new branch
- [x] Update Kubo staging environment, see the Running Kubo tests on staging for details.
- [x]
Test last release against the current RC
- [ ]
Test last release against the current one
- [x]
- [x] Promote the release
- [x] create an IPFS Discourse topic (prerelease example, release example)
- [ ] use
Kubo vX.Y.Z(-rcN) is out!as the title andkuboandgo-ipfsas tags - [ ] repeat the title as a heading (
##) in the description - [ ] link to the GitHub Release, binaries on IPNS, docker pull command and release notes in the description
- [x] pin the IPFS Discourse topic globally, you can make the topic a banner if there is no banner already
- [ ] use
- [x] verify the IPFS Discourse topic was copied to:
- [ ] #ipfs-chatter in IPFS Discord
- [ ] #ipfs-chatter in FIL Slack
- [x] #ipfs-chatter:ipfs.io in Matrix
- [ ]
Add the link to the IPFS Discourse topic to the GitHub Release description (example)
- [x]
create an issue comment mentioning early testers on the release issue (example)
- [ ]
create an issue comment linking to the release on the release issue (example)
- [ ]
promote on bsky.app (example)
- [ ]
promote on x.com (example)
- [ ]
post the link to the GitHub Release to Reddit (example)
- [x] create an IPFS Discourse topic (prerelease example, release example)
- [x] Manually smoke-test the new version with IPFS Companion Browser Extension
- [ ]
Update Kubo in ipfs-desktop
- [ ] check out ipfs/ipfs-desktop
- [ ] run
npm install - [ ] create a PR which updates
package.jsonandpackage-lock.json
- [ ]
Update Kubo docs at docs.ipfs.tech:
- [ ]
run the update-on-new-ipfs-tag.yml workflow
- [ ]
merge the PR created by the update-on-new-ipfs-tag.yml workflow run
- [ ]
- [ ]
Create a blog entry on blog.ipfs.tech
- [ ]
create a PR which adds a release note for the new Kubo version (example)
- [ ]
merge the PR
- [ ]
verify the blog entry was published
- [ ]
- [ ]
Create a dependency update PR
- [ ]
check out ipfs/kubo
- [ ]
go over direct dependencies from
go.modin the root directory (NOTE: do not rungo get -uas it will upgrade indirect dependencies which may cause problems) - [ ]
run
make mod_tidy - [ ]
create a PR which updates
go.modandgo.sum - [ ]
add the PR to the next release milestone
- [ ]
- [ ]
Create the next release issue
- [ ]
Close the release issue
Early testers ping for RC1 testing:
- [ ] Charity Engine (@rytiss, @tristanolive)
- [ ] Fission (@bmann)
- [ ] Infura (@MichaelMure)
- [ ] OrbitDB (@haydenyoung)
- [ ] Pinata (@obo20)
- [ ] Shipyard (@cewood, @ns4plabs)
- [ ] Siderus (@koalalorenzo)
- [ ] Textile (@sanderpick)
- [ ] @RubenKelevra
You're getting this message because you're listed here. Open PR to update that list if you no longer want to be included in these pings.
RC2 looking good, our (Shipyard) staging and test boxes show (private notes) the same/better success rates, but thanks to the reduced bitswap broadcast it is handling high load spikes better, and does not OOM.
Proceeding with final release. It will be the same code as RC2.
✅ Release Checklist (v0.36.0)
1. Prepare release branch
- [x] Prepare the release branch and update version numbers accordingly
- [ ] create a new branch
release-vX.Y.Z- use
masteras base ifZ == 0 - use
releaseas base ifZ > 0
- use
- [ ]
update the
CurrentVersionNumberin version.go in themasterbranch tovX.Y+1.0-dev(example) - [x] update the
CurrentVersionNumberin version.go in therelease-vX.Y.Zbranch tovX.Y.Z(-rcN)(example) - [ ] create a draft PR from
release-vX.Y.Ztorelease(example) - [ ] Cherry-pick commits from
masterto therelease-vX.Y.Zusinggit cherry-pick -x <commit>(example)-
NOTE: cherry-picking with
-xis important
-
NOTE: cherry-picking with
- [x] verify all CI checks on the PR from
release-vX.Y.Ztoreleaseare passing - [x]
Replace the
ChangelogandContributorssections of the changelog with the stdout (do NOT copy the stderr) of./bin/mkreleaselog.-
NOTE:
mkreleaselogexpects your$GOPATH/src/github.com/ipfs/kuboto include latest commits fromrelease-vX.Y.Z
-
NOTE:
- [x]
Merge the PR from
release-vX.Y.Ztoreleaseusing theCreate a merge commit- do NOT use
Squash and mergenorRebase and mergebecause we need to be able to sign the merge commit - do NOT delete the
release-vX.Y.Zbranch
- do NOT use
- [ ] create a new branch
2. Tag release
- [x] Create the release tag
- ⚠️ NOTE: This is a dangerous operation! Go and Docker publishing are difficult to reverse! Have the release reviewer verify all the commands marked with !
- [ ]
tag the HEAD commit using
git tag -s vX.Y.Z(-rcN) -m 'Prerelease X.Y.Z(-rcN)' - [x]
tag the HEAD commit of the
releasebranch usinggit tag -s vX.Y.Z -m 'Release X.Y.Z' - [x] ⚠️ verify the tag is signed and tied to the correct commit using
git show vX.Y.Z(-rcN) - [x] push the tag to GitHub using
git push origin vX.Y.Z(-rcN)- ⚠️ do NOT use
git push --tagsbecause it pushes all your local tags
- ⚠️ do NOT use
3. Publish
- [x] Publish Docker image to DockerHub
- [ ] Wait for Publish docker image workflow run initiated by the tag push to finish
- [x] verify the image is available on Docker Hub → tags
- [x] Publish the release to dist.ipfs.tech
- [ ] check out ipfs/distributions
- [ ] create new branch: run
git checkout -b release-kubo-X.Y.Z(-rcN) - [x] Verify ipfs/distributions's
.tool-versions'sgolangentry is set to the latest go release on the major go branch Kubo is being tested on (seego-version:). If not, update.tool-versionsto match the latest golang. - [ ] run
./dist.sh add-version kubo vX.Y.Z(-rcN)to add the new version to theversionsfile (usage) - [ ] create and merge the PR which updates
dists/kubo/versions(NOTE:will also have
dists/kubo/current– example) - [x] wait for the CI workflow run initiated by the merge to master to finish
- [x] verify the release is available on dist.ipfs.tech
- [x] Publish the release to NPM
- [ ] manually dispatch the Release to npm workflow if it was not executed already and verify it discovered the new release
- [x] verify the release is available on NPM
- [x] Publish the release to GitHub kubo/releases
- [ ] create a new release
- RC example
- FINAL example
- [ ] use the
vX.Y.Z(-rcN)tag - [ ] link to the release issue
- [ ]
link to the changelog in the description
- [ ]
check the
This is a pre-releasecheckbox - [ ]
copy the changelog (without the header) in the description
- [ ]
do NOT check the
This is a pre-releasecheckbox
- [x] run the sync-release-assets workflow and verify the release assets are attached to the GitHub release
- [ ] create a new release
4. After Publishing
- [x]
Merge the release branch back into master
- [x] Create a new branch
merge-release-vX.Y.Zfromrelease - [x] Create the next
./docs/changelogs/vA.B.mdand link to the new changelog from the./CHANGELOG.mdfile - [x] Create and merge a PR from
merge-release-vX.Y.Ztomaster- ⚠️ do NOT use
Squash and mergenorRebase and mergebecause we need to be able to sign the merge commit - ⚠️ NOTE: make sure to ignore the changes to version.go (keep the
-devinmaster)
- ⚠️ do NOT use
- [x] Create a new branch
- [x] Update ipshipyard/waterworks-infra
- [ ] Update Kubo staging environment, see the Running Kubo tests on staging for details.
- [ ]
Test last release against the current RC
- [ ]
Test last release against the current one
- [ ]
- [ ] Update collab cluster boxes to the tagged release (final or RC)
- [ ] Update libp2p bootstrappers to the tagged release (final or RC)
- [ ] Update Kubo staging environment, see the Running Kubo tests on staging for details.
- [x] Promote the release
- [x] create an IPFS Discourse topic (prerelease example, release example)
- [ ] use
Kubo vX.Y.Z(-rcN) is out!as the title andkuboas tags - [ ] repeat the title as a heading (
##) in the description - [ ] link to the GitHub Release, binaries on IPNS, docker pull command and release notes in the description
- [ ] pin the IPFS Discourse topic globally, you can make the topic a banner if there is no banner already
- [ ] use
- [x] verify the IPFS Discourse topic was copied to:
- [ ] #ipfs-chatter in IPFS Discord
- [ ] #ipfs-chatter in FIL Slack
- [x] #ipfs-chatter:ipfs.io in Matrix
- [ ]
Add the link to the IPFS Discourse topic to the GitHub Release description (example)
- [ ]
create an issue comment mentioning early testers on the release issue (example)
- [ ]
create an issue comment linking to the release on the release issue (example)
- [x]
promote on bsky.app (example)
- [x]
promote on x.com (example)
- [ ]
post the link to the GitHub Release to Reddit (example)
- [x] create an IPFS Discourse topic (prerelease example, release example)
- [x] Manually smoke-test the new version with IPFS Companion Browser Extension
- [x] Update Kubo in ipfs-desktop
- [x] create a PR which updates
kuboversion to the tagged version inpackage.jsonandpackage-lock.json - [ ]
switch to final release and merge
- [x] create a PR which updates
- [x]
Update Kubo docs at docs.ipfs.tech:
- [ ]
run the update-on-new-ipfs-tag.yml workflow
- [x]
merge the PR created by the update-on-new-ipfs-tag.yml workflow run
- [ ]
- [x]
Create a blog entry on blog.ipfs.tech
- [ ]
create a PR which adds a release note for the new Kubo version (example)
- [x]
merge the PR
- [x]
verify the blog entry was published
- [ ]
- [ ]
Create a dependency update PR
- [ ]
check out ipfs/kubo
- [ ]
go over direct dependencies from
go.modin the root directory (NOTE: do not rungo get -uas it will upgrade indirect dependencies which may cause problems) - [ ]
run
make mod_tidy - [ ]
create a PR which updates
go.modandgo.sum - [ ]
add the PR to the next release milestone
- [ ]
- [ ]
Create the next release issue
- [x]
Close the release issue
Kubo 0.36 is out 🚢
- https://github.com/ipfs/kubo/releases/tag/v0.36.0
IPFS Desktop 0.44 with Kubo 0.36 is out 🚢
- https://github.com/ipfs/ipfs-desktop/releases/tag/v0.44.0
Caveat on macOS
We had a small regression with macOS binaries (https://github.com/ipfs/kubo/issues/10862). MacOS binaries were updated and are now correctly signed, however the NPM package for macOS can't be updated and still may not be correctly signed.
This is not a problem for IPFS Desktop, which has separate signing and notarization process of the entire DMG image, but might be a problem for some JS devs running projects where Kubo is a dependency used for tests.
We will likely have 0.37 in ~3 weeks, so if the only use of NPM kubo is for CI tests, it is probably ok for macOS devs to keep package.json in those projects at 0.35 for now.