Sha256: 22dc92911a80b2ed8a9a257b8c45a1f70415ae8fc3ebc3f2231c4c6a683caf2a

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

# How to release a gem

This document describes a process of releasing a new version of a gem.

1. Bump version.

```sh
git commit -m "Bump 1.<x>.<y>"
```

We're (kinda) using semantic versioning:

- Bugfixes should be released as fast as possible as patch versions.
- New features could be combined and released as minor or patch version upgrades (depending on the _size of the feature_—it's up to maintainers to decide).
- Breaking API changes should be avoided in minor and patch releases.
- Breaking dependencies changes (e.g., dropping older Ruby support) could be released in minor versions.

How to bump a version:

- Change the version number in `lib/<%= name_path %>/version.rb` file.
- Update the changelog (add new heading with the version name and date).
- Update the installation documentation if necessary (e.g., during minor and major updates).

2. Push code to GitHub and make sure CI passes.

```sh
git push
```

3. Release a gem.

```sh
gem release -t
git push --tags
```

We use [gem-release](https://github.com/svenfuchs/gem-release) for publishing gems with a single command:

```sh
gem release -t
```

Don't forget to push tags and write release notes on GitHub (if necessary).

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
arsenic-0.0.2 lib/arsenic/templates/newgem/RELEASING.md.tt
arsenic-0.0.1 lib/arsenic/templates/newgem/RELEASING.md.tt