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.
- Security: Default regex filter matchers for sensitive keys (password, token, secret, auth, cred, api_key, etc.)
- Security: Job argument filtering for GoodJob/ActiveJob - respects
log_arguments?class method - Security: SQL bind parameter filtering now detects JWT tokens and Bearer tokens
- Security: Reserved keys (src, evt, lvl, ts) in
additional_dataare now protected from being overwritten - CI: Fixed Ruby 4.0 bundler security error on GitHub Actions (world-writable gem directory)
- Dev: Added jscpd task/config and refactored repeated helpers in tests and codegen
- Fix: Restore request logs in Puma cluster mode by reopening SemanticLogger in forked workers
- Fix: Normalize ActiveJob and GoodJob timestamps to real wall clock time
- Fix: Tagged logging now emits
msginstead ofmessagefor AMS-style logs
- Feature:
request_idnow appears on all logs during a request, not just the request log
- Fix: ActiveJob integration handles Rails main event reporter subscribers
- Fix: Rack error handler avoids deprecated CSRF exception class on Rails main
- CI: Added Rails main daily integration run and updated Rails test matrix (7.1.6, 7.2.3, 8.0.4, 8.1.2)
- Fix: Lograge custom options now appear in request logs
- Fix: Request logs include request metadata fields (request_id, source_ip, user_agent, referer, host, content_type, accept)
- Docs: Documented Lograge custom options and request metadata fields
- Fix: Puma server detection now uses
$PROGRAM_NAMEinstead of checkingdefined?(::Puma::Server)which was unreliable - Fix: Test isolation for
server_modestate in configuration tests - CI: Updated to Ruby 3.4.7 and Rails 8.1.1
- Rename
PROVIDER_PUSH_TOKENsecret toTF_PROVIDER_GITHUB_TOKEN
- Fix: Development logs no longer wrapped in
{message: "..."}when LogStruct is disabled- The TaggedLogging formatter monkey patch now checks
LogStruct.enabled?before modifying log messages - This preserves original Rails logging behavior in development mode
- The TaggedLogging formatter monkey patch now checks
- Improve rack spoof handling and split integration setup
- Fix: Changed storage, queue name, and format fields from
StringtoSymboltype to match Rails conventions- Affected log types: ActiveStorage, CarrierWave, Shrine (storage field), ActiveJob, GoodJob (queue_name field), Request (format field)
- JSON logging now enabled for all test runs (both local and CI) to ensure tests catch production bugs
- Previously only enabled for CI test runs, now always enabled in test environment
- This ensures local tests match CI behavior and catch serialization issues early
- Fixed host authorization app
Better default policy for when JSON logs are enabled: machines get JSON, humans get readable logs. Enable LogStruct for production servers and test runs (both local and CI) to ensure tests catch production bugs. Keep dev-friendly logging on local machines or when running interactive commands on production servers.
Added dotenv-rails integration. Many other fixes and improvements.
Initial beta release.