Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Changelog

All notable changes to this project are documented in this file.

The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.6.0] - 2026-09-15

### Added

- Installable Nix flake. `nix run github:ajmarkow/snippet_cli` runs the CLI without
installing the gem, and `overlays.default` lets Nix users refer to `snippet_cli`
by bare name in `environment.systemPackages` or `home.packages`.
- This changelog. The gemspec advertised a `changelog_uri` that pointed at a file
which did not exist.

### Changed

- **Require Ruby 3.2 or newer.** The runtime dependencies already needed it, so the
previous `>= 3.1.0` constraint let the gem install on a Ruby it could not run on.
Narrowing supported Ruby is why this is a minor release rather than a patch.
RubyGems resolves Ruby 3.1 users to 0.5.3, so they keep a working install.

## [0.5.3] - 2026-04-13

### Added

- Nix packaging: a `bundlerApp` derivation with a `gemConfig` patch that links the
`gum` binary into the path the `gum` gem expects.

### Fixed

- Replaced an implicit `it` block parameter with an explicit one, which Ruby 3.4
otherwise reinterprets.

## [0.5.2] - 2026-04-13

### Fixed

- Embedded the Espanso schema JSON under `lib/` so `check` resolves it from an
installed gem rather than only from a source checkout.

## [0.5.1] - 2026-04-13

### Fixed

- Gemspec packaging correction for files missing from the published gem.

## [0.5.0] - 2026-04-13

### Changed

- Restricted `spec.files` to an explicit allowlist, so the gem ships only `lib/`,
`exe/`, and the top-level README, CHANGELOG, and LICENSE.

[0.6.0]: https://github.com/ajmarkow/snippet_cli/compare/v0.5.3...v0.6.0
[0.5.3]: https://github.com/ajmarkow/snippet_cli/compare/v0.5.2...v0.5.3
[0.5.2]: https://github.com/ajmarkow/snippet_cli/compare/v0.5.1...v0.5.2
[0.5.1]: https://github.com/ajmarkow/snippet_cli/compare/v0.5.0...v0.5.1
[0.5.0]: https://github.com/ajmarkow/snippet_cli/releases/tag/v0.5.0
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,16 +89,22 @@ Add the flake as an input:
}
```

Then add the package where you need it — Home Manager:
Simplest: apply the overlay, then refer to the package by name everywhere `pkgs`
is in scope — no need to thread `system` through:

```nix
home.packages = [ inputs.snippet_cli.packages.${pkgs.system}.default ];
nixpkgs.overlays = [ inputs.snippet_cli.overlays.default ];
```

…or NixOS:
```nix
home.packages = [ pkgs.snippet_cli ]; # Home Manager
environment.systemPackages = [ pkgs.snippet_cli ]; # NixOS
```

Without the overlay, reach the package directly instead:

```nix
environment.systemPackages = [ inputs.snippet_cli.packages.${pkgs.system}.default ];
home.packages = [ inputs.snippet_cli.packages.${pkgs.system}.default ];
```

</details>
Expand Down
17 changes: 12 additions & 5 deletions docs/updating-version.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,18 @@ bump them by hand, the build breaks.

## Choose the number

Follow [semantic versioning](https://semver.org). One case is easy to get wrong:

**Raising `required_ruby_version` is a minor bump, not a patch.** It stops users on
the dropped Ruby from installing at all. Treat any narrowing of supported Ruby,
Espanso schema, or platform the same way.
Follow [semantic versioning](https://semver.org), with one caveat: the spec exempts
`0.x` releases, where "anything MAY change at any time". While this gem is pre-1.0,
the rule below is convention rather than a requirement — but follow it anyway.

**Raising `required_ruby_version` is a minor bump, not a patch.** Treat any narrowing
of supported Ruby, Espanso schema, or platform the same way.

Nobody breaks when you do this. RubyGems enforces `required_ruby_version` while
resolving, so users on the dropped Ruby stay on the last version that supported them
and keep a working install. What they lose is future updates, silently. The minor
bump is what makes that visible, and it is what lets someone pinned at `~> 0.5.3` opt
in deliberately instead of being held back without knowing why.

## Steps

Expand Down
2 changes: 1 addition & 1 deletion lib/snippet_cli/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module SnippetCli
VERSION = '0.5.3'
VERSION = '0.6.0'
end
Loading