Skip to content

v1.2.0

Choose a tag to compare

@pboling pboling released this 28 Jul 05:11
v1.2.0
c276d1a

1.2.0 - 2026-07-27

  • TAG: v1.2.0
  • COVERAGE: 93.85% -- 3557/3790 lines in 27 files
  • BRANCH COVERAGE: 76.15% -- 1338/1757 branches in 27 files
  • 28.20% documented

Added

  • kettle-family reset Gemfile.lock now resets selected member lockfiles with
    local sibling paths disabled and repairs missing checksum entries by updating
    the affected released gems.

  • kettle-family release can now use an opt-in 1password release secrets
    provider to load the gem signing passphrase and RubyGems MFA OTP from the
    local op CLI during executed publish flows.

  • kettle-family clean-unreleased now scans installed versions of selected
    family gems and can uninstall local versions newer than each gem's latest
    released version, helping recover from failed local release attempts that
    leave unpublished gems installed.

  • kettle-jem-template-20260726-001 - Projects now include YARD lint
    configuration and documentation dependencies so documentation issues fail
    before generated docs are refreshed.

  • kettle-jem-template-20260727-001 - Spec harness documentation now lists the
    RSpec helpers provided by kettle-test.

Changed

  • Templating and release progress rows now show a scheduled family-step counter
    and per-member elapsed timer, making parallel family runs easier to scan.

  • kettle-family reset Gemfile.lock now delegates to each member's
    kettle-reset release-lockfiles, keeping Gemfile.lock and
    Appraisal.root.gemfile.lock reset semantics aligned with kettle-release.

  • Explicit members.roots lists now remain open to member discovery by default:
    newly discovered gems are included in family operations and reported as
    unlisted until the config is updated. Set members.discover: false to operate
    only on configured members.

  • The kettle-family executable startup header is now shown only when
    --verbose is passed; -v and --version still print just the executable
    version and exit.

  • README release guidance now documents release secrets provider overrides,
    release-state columns, default --only filters, JSON reports, and
    unreleased-gem cleanup recovery.

  • Release secrets now use the shared kettle-dev provider implementation;
    family publish runs cache the signing passphrase once and let child
    kettle-release processes fetch RubyGems OTP values directly.

  • Family publish runs now pass --yes to child kettle-release commands by
    default, so release-owned confirmation prompts are approved explicitly instead
    of being answered by terminal prompt detection.

  • GitHub workflows now use the setup-ruby-flash revision that supports
    appraisal-only setup without installing the main Gemfile bundle.

  • kettle-jem-template-20260728-001 - Generated Ruby workflows now use clearer
    setup-ruby-flash planning and can prepare appraisal-only jobs without
    installing the main Gemfile bundle.

Fixed

  • RuboCop Gradual now ignores gems installed under gemfiles/vendor/bundle,
    preventing vendored dependency source from being treated as project lint debt.

  • Family releases now pass configured 1Password CLI paths through to child
    kettle-release processes and derive direct secret handoff from normalized
    provider config instead of parsing equivalent command-line spellings.

  • Family release secrets now preserve Kettle::Family::Error failures when the
    shared kettle-dev provider reports 1Password lookup errors.

  • Template summaries now count unique changed files from kettle-jem event
    streams instead of adding duplicate per-phase summary counts.

  • Family release lockfile refreshes now disable the generated local-path
    toggles used by member Gemfiles, reject lockfile refreshes that still write
    path sources, and re-normalize lockfiles before family-managed release pushes.

  • kettle-jem-template-20260726-002 - Generated version files now document their
    version namespace and constants, reducing warning-only YARD lint output.

  • kettle-jem-template-20260726-003 - Coverage upload steps now treat Coveralls,
    QLTY, and Codecov as optional, so provider outages do not fail CI when local
    coverage thresholds still pass.

  • kettle-jem-template-20260728-002 - Generated RuboCop configs now ignore the
    same gemfiles/vendor/bundle tree as .gitignore, so vendored dependency
    installs are not reported as project lint debt.

Official Discord 👉️ Live Chat on Discord

Many paths lead to being a sponsor or a backer of this project. Are you on such a path?

OpenCollective Backers OpenCollective Sponsors Sponsor Me on Github Liberapay Goal Progress Donate on PayPal

Buy me a coffee Donate to my FLOSS efforts at ko-fi.com