|
| 1 | +# Release Template |
| 2 | + |
| 3 | +> short tl;dr; of the release |
| 4 | +
|
| 5 | +# 🗺 What's left for release |
| 6 | + |
| 7 | +<List of items with PRs and/or Issues to be considered for this release> |
| 8 | + |
| 9 | +# 🚢 Estimated shipping date |
| 10 | + |
| 11 | +<Date this release will ship on if everything goes to plan (week beginning...)> |
| 12 | + |
| 13 | +# 🔦 Highlights |
| 14 | + |
| 15 | +<Top highlights for this release> |
| 16 | + |
| 17 | +# 🏗 API Changes |
| 18 | + |
| 19 | +<Any API changes breaking or otherwise that people should know of> |
| 20 | + |
| 21 | +# ✅ Release Checklist |
| 22 | + |
| 23 | +- [ ] **Stage 0 - Automated Testing** |
| 24 | + - [ ] Feature freeze. If any "non-trivial" changes (see the footnotes of [doc/releases.md](https://github.com/ipfs/js-ipfs/tree/master/doc/releases.md) for a definition) get added to the release, uncheck all the checkboxes and return to this stage. |
| 25 | + - [ ] Automated Testing (already tested in CI) - Ensure that all tests are passing, this includes: |
| 26 | + - [ ] unit/functional/integration/e2e |
| 27 | + - [ ] interop |
| 28 | + - [ ] sharness |
| 29 | +- [ ] **Stage 1 - Internal Testing** |
| 30 | + - [ ] Publish a release candidate to npm |
| 31 | + ```sh |
| 32 | + # Clean out node_modules and re-install dependencies |
| 33 | + # (Ensures you have the latest versions for the browser build) |
| 34 | + rm -rf node_modules package-lock.json |
| 35 | + npm install |
| 36 | + |
| 37 | + # Minor prerelease (e.g. 0.33.1 -> 0.34.0-rc.0) |
| 38 | + npx aegir release --type preminor --preid rc --dist-tag next |
| 39 | + |
| 40 | + # Increment prerelease (e.g. 0.34.0-rc.0 -> 0.34.0-rc.1) |
| 41 | + npx aegir release --type prerelease --preid rc --dist-tag next |
| 42 | + ``` |
| 43 | + - Network Testing: |
| 44 | + - test lab things - TBD |
| 45 | + - Infrastructure Testing: |
| 46 | + - TBD |
| 47 | + - [ ] IPFS Application Testing - Run the tests of the following applications: |
| 48 | + - [ ] [webui](https://github.com/ipfs-shipyard/ipfs-webui) |
| 49 | + - [ ] [ipfs-desktop](https://github.com/ipfs-shipyard/ipfs-desktop) |
| 50 | + - [ ] [ipfs-companion](https://github.com/ipfs-shipyard/ipfs-companion) |
| 51 | + - [ ] [npm-on-ipfs](https://github.com/ipfs-shipyard/npm-on-ipfs) |
| 52 | + - [ ] [ipfs-pubsub-room](https://github.com/ipfs-shipyard/ipfs-pubsub-room) |
| 53 | + - [ ] [peer-base](https://github.com/peer-base/peer-base) |
| 54 | + - [ ] [service-worker-gateway](https://github.com/ipfs-shipyard/service-worker-gateway) |
| 55 | +- [ ] **Stage 2 - Community Dev Testing** |
| 56 | + - [ ] Reach out to the IPFS _early testers_ listed in [doc/EARLY_TESTERS.md](https://github.com/ipfs/js-ipfs/tree/master/doc/EARLY_TESTERS.md) for testing this release (check when no more problems have been reported). If you'd like to be added to this list, please file a PR. |
| 57 | + - [ ] Reach out on IRC for additional early testers. |
| 58 | + - [ ] Run tests available in the following repos with the latest RC: |
| 59 | + - [ ] [ipfs-log](https://github.com/orbitdb/ipfs-log) |
| 60 | + - [ ] [orbit-db](https://github.com/orbitdb/orbit-db) |
| 61 | +- [ ] **Stage 3 - Community Prod Testing** |
| 62 | + - [ ] Documentation |
| 63 | + - [ ] Ensure that [README.md](https://github.com/ipfs/js-ipfs/tree/master/README.md) is up to date |
| 64 | + - [ ] Ensure that all the examples run without problems: |
| 65 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-add-readable-stream |
| 66 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-browserify |
| 67 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-mfs |
| 68 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-parceljs |
| 69 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-readablestream |
| 70 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-script-tag |
| 71 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-video-streaming |
| 72 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-vue |
| 73 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/browser-webpack |
| 74 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/circuit-relaying |
| 75 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/custom-ipfs-repo |
| 76 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/custom-libp2p |
| 77 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/exchange-files-in-browser |
| 78 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/explore-ethereum-blockchain |
| 79 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/ipfs-101 |
| 80 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/run-in-electron |
| 81 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/running-multiple-nodes |
| 82 | + - [ ] https://github.com/ipfs/js-ipfs/tree/master/examples/traverse-ipld-graphs |
| 83 | + - [ ] Update [js.ipfs.io](https://js.ipfs.io) examples to use the latest js-ipfs |
| 84 | + - [ ] Invite the IPFS [_early testers_](https://github.com/ipfs/js-ipfs/tree/master/doc/EARLY_TESTERS.md) to deploy the release to part of their production infrastructure. |
| 85 | + - [ ] Invite the wider community (link to the release issue): |
| 86 | + - [ ] [discuss.ipfs.io](https://discuss.ipfs.io/c/announcements) |
| 87 | + - [ ] Twitter |
| 88 | + - [ ] IRC |
| 89 | +- [ ] **Stage 4 - Release** |
| 90 | + - [ ] Take a snapshot of everyone that has contributed to this release (including its direct dependencies in IPFS, libp2p, IPLD and multiformats) using [this script](https://gist.github.com/alanshaw/5a2d9465c5a05b201d949551bdb1fcc3). |
| 91 | + - [ ] Publish to npm: |
| 92 | + ```sh |
| 93 | + # Clean out node_modules and re-install dependencies |
| 94 | + # (Ensures you have the latest versions for the browser build) |
| 95 | + rm -rf node_modules package-lock.json |
| 96 | + npm install |
| 97 | +
|
| 98 | + # lint, build, test, tag, publish |
| 99 | + npm run release-minor |
| 100 | + ``` |
| 101 | + - [ ] Publish a blog post to [github.com/ipfs/blog](https://github.com/ipfs/blog) (at minimum, a c&p of this release issue with all the highlights, API changes and thank yous) |
| 102 | + - [ ] Broadcasting (link to blog post) |
| 103 | + - [ ] Twitter |
| 104 | + - [ ] IRC |
| 105 | + - [ ] [Reddit](https://reddit.com/r/ipfs) |
| 106 | + - [ ] [discuss.ipfs.io](https://discuss.ipfs.io/c/announcements) |
| 107 | + - [ ] Announce it on the [IPFS Users Mailing List](https://groups.google.com/forum/#!forum/ipfs-users) |
| 108 | + - [ ] Copy release notes to the [GitHub Release description](https://github.com/ipfs/js-ipfs/releases) |
| 109 | +
|
| 110 | +# ❤️ Huge thank you to everyone that made this release possible |
| 111 | +
|
| 112 | +<Generated contributor list> |
| 113 | +
|
| 114 | +# 🙌🏽 Want to contribute? |
| 115 | +
|
| 116 | +Would you like to contribute to the IPFS project and don't know how? Well, there are a few places you can get started: |
| 117 | + |
| 118 | +- Check the issues with the `help wanted` label in the [js-ipfs repo](https://github.com/ipfs/js-ipfs/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) |
| 119 | +- Join an IPFS All Hands, introduce yourself and let us know where you would like to contribute - https://github.com/ipfs/team-mgmt/#weekly-ipfs-all-hands |
| 120 | +- Hack with IPFS and show us what you made! The All Hands call is also the perfect venue for demos, join in and show us what you built |
| 121 | +- Join the discussion at https://discuss.ipfs.io/ and help users finding their answers. |
| 122 | +- Join the [🚀 IPFS Core Implementations Weekly Sync 🛰](https://github.com/ipfs/team-mgmt/issues/992) and be part of the action! |
| 123 | + |
| 124 | +# ⁉️ Do you have questions? |
| 125 | + |
| 126 | +The best place to ask your questions about IPFS, how it works and what you can do with it is at [discuss.ipfs.io](https://discuss.ipfs.io). We are also available at the `#ipfs` channel on Freenode. |
0 commit comments