Sha256: e7b0864128b4ee06cbc0e53bb15dc267381818272aee190668012cdb3495686f

Contents?: true

Size: 1.68 KB

Versions: 2

Compression:

Stored size: 1.68 KB

Contents

# Releasing

To release a new version of Prism, perform the following steps:

## Preparation

* 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 the `Gem::Specification#version=` method call
  * `ext/prism/extension.h` in the `EXPECTED_PRISM_VERSION` macro
  * `include/prism/version.h` in the version macros
  * `javascript/package.json` in the `version` field
  * `rust/ruby-prism-sys/tests/utils_tests.rs` in the `version_test` function
  * `templates/java/org/prism/Loader.java.erb` in the `load` function
  * `templates/javascript/src/deserialize.js.erb` in the version constants
  * `templates/lib/prism/serialize.rb.erb` in the version constants
* Run `bundle install` to update the `Gemfile.lock` file.
* Update `rust/ruby-prism-sys/Cargo.toml` to match the new version and run `cargo build`
* Update `rust/ruby-prism/Cargo.toml` to match the new version and run `cargo build`
* Commit all of the updated files.

## Publishing

* 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](rubygems.org). Note that you must have access to the `prism` gem to do this.
* Either download the `wasm` artifact from GitHub actions or generate it yourself with `make wasm`.
* Run `npm publish` to publish the JavaScript package to [npmjs.com](npmjs.com). Note that you must have access to the `ruby-prism` package to do this.

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
prism-0.21.0 docs/releasing.md
prism-0.20.0 docs/releasing.md