Changelog
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 bykettle-test. - kettle-jem-template-20260913-001 - Templating now also surfaces a review
entry independency_conflicts.resolvewhen 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.sqlite3on
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_packgem 1.13.3 or newer by default. - kettle-jem-template-20260725-002 - Version specs now use
anonymous_loaderto
coverversion.rbwithout 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 installedsmorg-rbdriver command. - kettle-jem-template-20260725-001 - Release pull request branches beginning
withfeature/releasenow 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
samegemfiles/vendor/bundletree 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 againstgem.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::Versionby removing a duplicateVersionGem::Basicclass_eval fromauth/sanitizer/core(the version constant is loaded aftercoreinauth/sanitizer.rb). - Gemspec no longer defines a top-level
Authconstant when evaluated on Ruby < 3.1 (e.g. bybundler/setup); the version file now loads into an anonymous module viaModule#module_evalon 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#inspectoutput (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 withpretty_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-jemv7.0.0.
Fixed
-
Package configured license files in gem release file lists.
- Removed stale local-path
version_gemstate from the main lockfile. - Prevented gemspec version detection from defining top-level
Authon 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_loadergem as the preferred reusable
helper for zero-auth-sanitizer-namespace loading.
Fixed
- Documented the
$LOAD_PATHfallback needed by isolated loader consumers when
Bundler standalone setup providesauth_sanitizer/loader.rbwithout a
matchingGem.loaded_specsorGEM_PATHentry.
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::DuplicatedDeclarationErrorin 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#inspectto redact narrow patterns from
super.inspectinstead 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::Basichelpers toAuth::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-levelAuthon 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-sanitizerversion 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_isolatedfor isolated loading without defining top-levelAuth - Document zero-top-level-namespace loading for consumers that need to avoid defining
AuthorAuthSanitizer
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