ReleaseChecklist.md
write:packages scope to access Github's container registry.
You can generate one by visiting https://github.com/settings/tokens/new?scopes=write:packages.docker-buildx.solc package./r/ethereum requirements).At least a day before the release:
make linkcheck from within docs/ and fix any broken links it finds.
Ignore false positives caused by href anchors and dummy links not meant to work.
Note: In order to run the link check, make sure you've built the docs first via docs.sh.solc-jssolc-bin (make sure the bytecode comparison check did run)solc-js works.
Bump version locally, add soljson.js from CI, build it, compare the file structure with the previous version, install it locally and try to use it.At least a day before the release:
solidity and solc-js.
Note: The solc-js PR won't pass CI checks yet because it depends on the soljson binary from solc-bin.Releases category and explain some of the new features or concepts.Security Alerts category in case of important bug(s).scripts/update_bugs_by_version.py to regenerate bugs_by_version.json from the changelog and bugs.json.
Make sure that the resulting bugs_by_version.json has a new, empty entry for the new version.develop branch and the tag to the new version, e.g. v0.8.5.
Include the following warning: **The release is still in progress. You may see broken links and binaries may not yet be available from all sources.**.
Do not publish it yet - click the Save draft button instead.scripts/list_contributors.sh v<previous version> to get initial list of names.
Remove different variants of the same name manually before using the output.develop are green.Publish release button on the release page, creating the tag.
Important: Must not be done before all the PRs, including changelog cleanup and date, are merged.solidity_x.x.x.tar.gz) from c_source_tarball run of the tagged commit on Circle CI and upload it to the release page.github-binaries.tar tarball from c_release_binaries run of the tagged commit on Circle CI and add all binaries from it to the release page.
Make sure it contains five binaries: solc-windows.exe, solc-macos, solc-static-linux, solc-static-linux-arm, and soljson.js.solc-bin-binaries.tar tarball from c_release_binaries run of the tagged commit on Circle CI and add all binaries from it to solc-bin.npm install if you've got a clean checkout of the solc-bin repo.npm run update -- --reuse-hashes in solc-bin and verify that the script has updated list.js, list.txt and list.json files correctly and that symlinks to the new release have been added in solc-bin/wasm/ and solc-bin/emscripten-wasm32/.sha256sum solidity_$VERSION.tar.gz) in the solidity formula in Homebrew core repository.docker-buildx is installed.echo $GHCR_TOKEN | docker login ghcr.io --username $GH_USERNAME --password-stdin where $GH_USERNAME is your GitHub username and $GHCR_TOKEN is a PAT with write:packages scope../scripts/docker_deploy_manual.sh v$VERSION.git tag --annotate v$VERSION and push it with git push --tags.solc-x.y.z.tgz artifact from build-package run on the tagged commit on Circle CI.
Inspect the tarball to ensure that it contains an up-to-date compiler binary (soljson.js).npm publish solc-x.y.z.tgz to publish the newly created tarball./r/ethdev, cross-posted to /r/ethereum.Announcements category.#solidity channel on Matrix.#solc-tooling.develop in CMakeLists.txt and add a new skeleton changelog entry.develop or breaking branch (whichever was chosen for the prerelease) are green.develop or breaking branch and the tag to the new version with a prerelease suffix, e.g. v0.8.5-pre.6.
Version matches the next release (develop) or the next breaking release (breaking).
The prerelease number in the suffix is 1-based, sequential, resets after a full release and is counted separately for develop and breaking.**The release is still in progress. You may see broken links and binaries may not yet be available from all sources.**.Set as a pre-release box.Publish release button on the release page, creating the tag.solidity_x.x.x-pre.N.tar.gz) from c_source_tarball run of the tagged commit on Circle CI and upload it to the release page.github-binaries.tar tarball from c_release_binaries run of the tagged commit on Circle CI and add all binaries from it to the release page.
Make sure it contains five binaries: solc-windows.exe, solc-macos, solc-static-linux, solc-static-linux-arm and soljson.js.solc-bin-binaries.tar tarball from c_release_binaries run of the tagged commit on Circle CI and add all binaries from it to solc-bin.npm install if you've got a clean checkout of the solc-bin repo.npm run update -- --reuse-hashes in solc-bin and verify that the script has updated list.js, list.txt and list.json files correctly and that symlinks to the new release have been added in solc-bin/wasm/ and solc-bin/emscripten-wasm32/.#solidity channel on Matrix.#solc-tooling.