Skip to content

chore: add changelog and release 2.7.0 - #168

Merged
cardmagic merged 1 commit into
masterfrom
release/2.7.0
Aug 15, 2026
Merged

chore: add changelog and release 2.7.0#168
cardmagic merged 1 commit into
masterfrom
release/2.7.0

Conversation

@cardmagic

Copy link
Copy Markdown
Owner

Prepares the 2.7.0 release, adds a changelog, and adopts the solid_objects agent-file layout.

Version: 2.7.0

2.6.0 is the last published version. Since then the repo gained the keywords CLI (#163), its follow-up fixes (#167), and dev dependency bumps. The keywords executable, Classifier::Streaming::MultiIO, and String#stem_to_word_hash are all new API, and none of them break an existing caller, so this is a minor release.

CHANGELOG.md, backfilled

New file, backfilled from the git history and the RubyGems release dates. It follows the format used in solid_objects:

  • one ## X.Y.Z - YYYY-MM-DD heading per release, newest first
  • prose bullets that describe user-visible behavior
  • a **Breaking:** prefix where a caller must change

Coverage runs from 2.7.0 back to 1.3.2. Two releases carry a **Breaking:** marker:

  • 2.2.0 set required_ruby_version to >= 3.1
  • 2.0.0 replaced the fixed 0.1 constant in Bayes with add-one (Laplace) smoothing, which changes classification scores

Versions 1.0 through 1.3.1 are grouped under a single note. All six reached RubyGems on 2009-07-25, and the git history before 2010 is too sparse to attribute changes to any one of them. I would rather say that than invent entries.

Gemspec

  • changelog_uri now points at CHANGELOG.md instead of the releases page.
  • s.files lists README.md and CHANGELOG.md explicitly instead of globbing *.md. The glob would have shipped AGENTS.md and CLAUDE.md to gem users. Verified against the built gem: it now contains CHANGELOG.md, README.md, LICENSE, both executables, and neither agent file.

Agent files

CLAUDE.md is renamed to AGENTS.md, and CLAUDE.md becomes a one-line @AGENTS.md pointer, matching solid_objects. AGENTS.md gains two sections:

  • Changelog — when to add an entry, and how to write one for the installing user rather than the committing author. It says explicitly that a bug caught in review and fixed before release never existed for a user, so it does not belong in the changelog.
  • Release Workflow — bump the version, changelog, and lockfile; run the suite and RuboCop; merge; then push an annotated vX.Y.Z tag. CI publishes through RubyGems trusted publishing. Never gem push from a workstation.

Verification

  • 709 runs, 0 failures, 1 skip
  • bundle exec rubocop: 56 files, no offenses
  • rbs-inline + rbs validate: pass
  • Gemfile.lock regenerated at 2.7.0
  • Built the gem and inspected its file list

After merge

The tag is what publishes, so I have not pushed one. Once this merges:

git tag -a v2.7.0 -m "Version 2.7.0"
git push origin v2.7.0

Backfill CHANGELOG.md from the git history and the RubyGems release dates,
back to 1.3.2. Group 1.0 through 1.3.1 under one note, because those
versions all reached RubyGems on 2009-07-25 and the history before 2010
does not map to them.

Follow the format solid_objects uses: a `## X.Y.Z - YYYY-MM-DD` heading per
release, prose bullets that describe user-visible behavior, and a
`**Breaking:**` prefix where a caller must change.

Bump the version to 2.7.0. The keywords CLI, MultiIO, and
String#stem_to_word_hash are new since 2.6.0 and none of them break an
existing caller, so this is a minor release.

Point changelog_uri at CHANGELOG.md rather than the releases page, and list
README.md and CHANGELOG.md in s.files instead of globbing *.md, which would
otherwise ship AGENTS.md and CLAUDE.md to gem users.

Rename CLAUDE.md to AGENTS.md and leave an @AGENTS.md pointer, matching
solid_objects. Document how to write a changelog entry and how to cut a
release.
@greptile-apps

greptile-apps Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR prepares the 2.7.0 release and documents the project’s release history and contributor workflow.

  • Bumps the gem and lockfile versions to 2.7.0.
  • Adds a backfilled changelog and points gem metadata to it.
  • Restricts packaged Markdown files to README.md and CHANGELOG.md.
  • Moves agent guidance to AGENTS.md while retaining a CLAUDE.md pointer.

Confidence Score: 5/5

The PR appears safe to merge with no actionable defects identified.

The release version, lockfile, gem metadata, packaged file list, changelog, and agent-document layout are internally consistent, and the changed code introduces no reachable runtime or security failure.

Important Files Changed

Filename Overview
CHANGELOG.md Adds release notes from 2.7.0 through the earliest releases, including explicit breaking-change markers.
classifier.gemspec Updates the changelog metadata URL and explicitly limits packaged Markdown documentation.
lib/classifier/version.rb Bumps the public gem version from 2.6.0 to 2.7.0.
Gemfile.lock Synchronizes the local classifier package version with the release.
AGENTS.md Establishes the shared agent guidance, including changelog and release procedures.
CLAUDE.md Replaces duplicated guidance with a pointer to AGENTS.md.

Reviews (1): Last reviewed commit: "chore: add changelog and release 2.7.0" | Re-trigger Greptile

@cardmagic
cardmagic merged commit fb3843c into master Aug 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant