Changelog

SemVer 2.0.0 Keep-A-Changelog 1.0.0

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning,
and yes, platform and engine support are part of the public API.
Please file a bug if you notice a violation of semantic versioning.

Unreleased

Added

Changed

Deprecated

Removed

Fixed

Security

0.2.5 - 2026-10-25

  • TAG: v0.2.5
  • COVERAGE: 100.00% – 184/184 lines in 8 files
  • BRANCH COVERAGE: 100.00% – 40/40 branches in 8 files
  • 98.21% documented

Added

  • kettle-jem-template-20260720-001 - READMEs can now display configured
    corporate sponsor logos.

Changed

  • [kc] kettle-jem/prepare: updated 15 project files:
    • dependencies (15)
  • [kc] kettle-jem/template: updated 7 project files:
    • code and tests (1)
    • dependencies (2)
    • documentation (1)
    • other (2)
    • workflows (1)

0.2.4 - 2026-10-23

  • TAG: v0.2.4
  • COVERAGE: 100.00% – 172/172 lines in 7 files
  • BRANCH COVERAGE: 100.00% – 34/34 branches in 7 files
  • 98.08% documented

Added

  • kettle-jem-template-20260720-005 - README Support & Community links now
    include RubyForum.
  • 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.

  • kettle-jem-template-20260913-001 - Templating now also surfaces a review
    entry in dependency_conflicts.resolve when a direct development
    dependency doesn’t support one or more of this project’s declared
    engines: and has no template-managed modular home (e.g. sqlite3 on
    jruby). Review each entry and pick a resolution per the project’s own
    engine support needs.

Changed

  • kettle-jem-template-20260716-002 - Generated gemspec manifests now ship fewer
    repository-only files by default to reduce downstream distro packaging churn.

  • kettle-jem-template-20260720-002 - Development Gemfiles now use the released
    tree_sitter_language_pack gem 1.13.3 or newer by default.
  • kettle-jem-template-20260725-002 - Version specs now use anonymous_loader to
    cover version.rb without redefining constants, or are removed when version
    specs are not managed for the project.
  • 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.

  • kettle-jem-template-20260801-001 - Generated README gem dashboard links now
    use ClickGems instead of BestGems.

  • [kc] kettle-jem/prepare: updated 17 project files:
    • configuration (1)
    • dependencies (16)
  • [kc] kettle-jem/template: updated 52 project files:
    • code and tests (4)
    • configuration (1)
    • dependencies (8)
    • documentation (2)
    • other (5)
    • workflows (32)

Fixed

  • kettle-jem-template-20260720-003 - StructuredMerge Git diff driver config now
    uses the installed smorg-rb driver command.
  • kettle-jem-template-20260725-001 - Release pull request branches beginning
    with feature/release now run JRuby and TruffleRuby workflows.
  • 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.
  • kettle-jem-template-20260728-003 - Generated dep-heads workflows now run
    TruffleRuby jobs with current RubyGems and Bundler, avoiding setup failures
    before the test suite starts.
  • kettle-jem-template-20260728-004 - Generated dep-heads workflows now use the
    setup-ruby Bundler install path for direct appraisal Gemfiles, avoiding rv
    lockfile parser failures on Git and path dependencies.
  • kettle-jem-template-20260728-005 - VersionGem bootstrap now creates the
    missing canonical version spec when a project only has shim namespace version
    specs.
  • kettle-jem-template-20260729-001 - Generated JRuby 9.4 workflows now use the
    legacy manual bundle install path, avoiding setup-time Bundler full-index
    failures against gem.coop.
  • kettle-jem-template-20260730-001 - Gemspec package file enumeration now runs
    relative to the gemspec directory, so release package contents stay correct
    even when the gemspec is loaded from another working directory.

  • kettle-jem-template-20260801-002 - Generated RSpec helpers now normalize
    managed configuration block bindings structurally, preventing mixed block
    parameter names from producing invalid configuration after a merge.
  • kettle-jem-template-20260801-003 - Generated project metadata and
    documentation now normalize configured underscore hostnames to valid
    hyphenated hostnames.
  • kettle-jem-template-20260801-004 - Generated organization README logos now
    use GitHub’s stable organization avatar endpoint instead of assuming a
    matching Galtzo-hosted asset exists.
  • kettle-jem-template-20260802-001 - Devcontainer JSON files now merge as JSONC,
    preserving comments and trailing commas during template updates.

  • Fix load-order NameError: uninitialized constant Auth::Sanitizer::Version by removing a duplicate VersionGem::Basic class_eval from auth/sanitizer/core (the version constant is loaded after core in auth/sanitizer.rb).

  • Gemspec no longer defines a top-level Auth constant when evaluated on Ruby < 3.1 (e.g. by bundler/setup); the version file now loads into an anonymous module via Module#module_eval on all supported Rubies. This un-breaks the isolated-loading specs and the ruby-2.4 CI workflow.

Security

  • SanitizedLogger now redacts configured keys in Ruby Hash#inspect output (both Ruby 3.4+ {"key" => "value"} / {key: "value"} and pre-3.4 hash-rocket formats), fixes a mangling bug where the form-pair pattern partially matched :key=>"value" pairs, and no longer raises on invalid-encoded message bytes. This closes the OAUTH_DEBUG cleartext-logging bypass reported for oauth2 as GHSA-cmh8-5q25-68v6, where Faraday renders Hash request bodies with pretty_inspect. Reported by iamibi.

0.2.3 - 2026-07-14

  • TAG: v0.2.3
  • COVERAGE: 85.80% – 145/169 lines in 7 files
  • BRANCH COVERAGE: 82.35% – 28/34 branches in 7 files
  • 84.62% documented

Added

  • Added support for JRuby 10.1 and TruffleRuby 34.0.

Changed

  • Retemplated project metadata and CI/development automation with kettle-jem v7.0.0.

Fixed

  • Package configured license files in gem release file lists.

  • Removed stale local-path version_gem state from the main lockfile.
  • Prevented gemspec version detection from defining top-level Auth on older
    Rubies.

0.2.2 - 2026-06-18

  • TAG: v0.2.2
  • COVERAGE: 100.00% – 145/145 lines in 6 files
  • BRANCH COVERAGE: 100.00% – 28/28 branches in 6 files
  • 84.62% documented

Changed

  • Documented the released anonymous_loader gem as the preferred reusable
    helper for zero-auth-sanitizer-namespace loading.

Fixed

  • Documented the $LOAD_PATH fallback needed by isolated loader consumers when
    Bundler standalone setup provides auth_sanitizer/loader.rb without a
    matching Gem.loaded_specs or GEM_PATH entry.

0.2.1 - 2026-06-06

  • TAG: v0.2.1
  • COVERAGE: 100.00% – 145/145 lines in 6 files
  • BRANCH COVERAGE: 100.00% – 28/28 branches in 6 files
  • 84.62% documented

Fixed

  • Removed the duplicate RBS declaration for Auth::Sanitizer::VERSION, fixing
    RBS::DuplicatedDeclarationError in downstream projects.
  • Fixed the README support table to list Ruby 2.3 as supported but untested,
    matching the current runtime support and CI policy.

0.2.0 - 2026-06-04

  • TAG: v0.2.0
  • COVERAGE: 100.00% – 145/145 lines in 6 files
  • BRANCH COVERAGE: 100.00% – 28/28 branches in 6 files
  • 84.62% documented

Changed

  • Changed FilteredAttributes#inspect to redact narrow patterns from
    super.inspect instead of rebuilding object inspect output, preserving host
    inspect behavior.

Fixed

  • Redacted configured attributes inside standard Ruby hash inspect fragments,
    including nested attribute hashes.

0.1.5 - 2026-06-03

  • TAG: v0.1.5
  • COVERAGE: 100.00% – 138/138 lines in 6 files
  • BRANCH COVERAGE: 100.00% – 28/28 branches in 6 files
  • 84.62% documented

Added

  • Added VersionGem::Basic helpers to Auth::Sanitizer::Version.

Changed

  • Refreshed generated package metadata, support documentation, CI workflows,
    and development dependency floors from the current kettle-jem template.
  • Documented that CI workflows and appraisals now target MRI Ruby 2.4+ while
    runtime compatibility remains MRI Ruby 2.2+.

Fixed

  • Prevented isolated loader namespace leakage on Ruby 2.5 and older TruffleRuby runtimes.
  • Protected the custom gemspec version loader from templating rewrites so
    version detection does not define top-level Auth on older Rubies.

0.1.4 - 2026-05-21

  • TAG: v0.1.4
  • COVERAGE: 100.00% – 135/135 lines in 6 files
  • BRANCH COVERAGE: 100.00% – 28/28 branches in 6 files
  • 84.62% documented

Changed

  • (docs) Document constrained auth-sanitizer version lookup for isolated loader examples
  • (dev) Make templating dependencies opt-in for the main Gemfile

Fixed

  • (test) Stop running Appraisal install steps in the locked-deps workflow for the main Gemfile

0.1.3 - 2026-05-20

  • TAG: v0.1.3
  • COVERAGE: 100.00% – 135/135 lines in 6 files
  • BRANCH COVERAGE: 100.00% – 28/28 branches in 6 files
  • 84.62% documented

Added

  • Add AuthSanitizer::Loader.load_isolated for isolated loading without defining top-level Auth
  • Document zero-top-level-namespace loading for consumers that need to avoid defining Auth or AuthSanitizer

0.1.2 - 2026-05-15

  • TAG: v0.1.2
  • COVERAGE: 100.00% – 134/134 lines in 5 files
  • BRANCH COVERAGE: 100.00% – 28/28 branches in 5 files
  • 87.50% documented

Added

  • gemspec description, summary

Changed

  • gemspec contact email

0.1.1 - 2026-05-15

  • TAG: v0.1.1
  • COVERAGE: 100.00% – 134/134 lines in 5 files
  • BRANCH COVERAGE: 100.00% – 28/28 branches in 5 files
  • 87.50% documented

Added

  • Usage documentation in README.md

0.1.0 - 2026-05-15

  • TAG: v0.1.0
  • COVERAGE: 100.00% – 134/134 lines in 5 files
  • BRANCH COVERAGE: 100.00% – 28/28 branches in 5 files
  • 87.50% documented

Added

  • Initial release