To release a new version of Prism, perform the following steps:
- Update the
CHANGELOG.md
file.- Add a new section for the new version at the top of the file.
- Fill in the relevant changes — it may be easiest to click the link for the
Unreleased
heading to find the commits. - Update the links at the bottom of the file.
- Update the version in the following files:
prism.gemspec
in theGem::Specification#version=
method callext/prism/extension.h
in theEXPECTED_PRISM_VERSION
macroinclude/prism/version.h
in the version macrosjavascript/package.json
in theversion
fieldrust/prism-sys/tests/utils_tests.rs
in theversion_test
functiontemplates/java/org/prism/Loader.java.erb
in theload
functiontemplates/javascript/src/deserialize.js.erb
in the version constantstemplates/lib/prism/serialize.rb.erb
in the version constants
- Run
bundle install
to update theGemfile.lock
file. - Update
rust/prism-sys/Cargo.toml
to match the new version and runcargo build
- Update
rust/prism/Cargo.toml
to match the new version and runcargo build
- Commit all of the updated files.
- Update the GitHub release page with a copy of the latest entry in the
CHANGELOG.md
file. - Run
bundle exec rake release
to publish the gem to rubygems.org. Note that you must have access to theprism
gem to do this. - Either download the
wasm
artifact from GitHub actions or generate it yourself withmake wasm
. - Run
npm publish
to publish the JavaScript package to npmjs.com. Note that you must have access to theruby-prism
package to do this.