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.
2.0.2 - 2026-09-01
- Sample implementation to exercise the logger:
sample/app/Controllers/Home.phpwith a JSONPOSTendpoint (post) and a multipart file-upload endpoint (upload), plussample/app/Views/home/index.phpwith test forms. Routes show how to attach therequestlogfilter per-route.
- Request headers were never redacted. The
Cookieheader (and any other header listed inREQUEST_LOG_REDACT_FIELDS) is now redacted with***REDACTED***in theheadersfield, matching body redaction behavior.
- README: removed leftover multi-tenant specification notes.
2.0.1 - 2026-09-01
Superseded by 2.0.2 (Packagist blocks re-tagging a published tag; the fix is re-released under 2.0.2).
- Request headers are now redacted, including
Cookie, when listed inREQUEST_LOG_REDACT_FIELDS.
2.0.0 - 2026-08-31
- Architecture overhaul: logs are no longer sent to an external Analysis
Server. The filter now writes directly to the CodeIgniter
writable/logsdirectory as JSON Lines. - Configuration renamed from
ANALYSIS_*toREQUEST_LOG_*; config classAnalysis→RequestLog. - Filter renamed
AnalysisFilter→RequestLogFilter(aliasrequestlog). - Service renamed
AnalysisService→RequestLogService. - Single log file
analysis.logwith automatic daily rotation + gzip compression + retention pruning.
AnalysisSendcommand, local queue, andfailed/retry handling.- Guzzle dependency and
ANALYSIS_SERVER_URL/ANALYSIS_API_KEYconfig.
requestlog:rotatespark command — manual/cron fallback for rotation, gzip compression and pruning of old logs.REQUEST_LOG_RETENTION_DAYSconfig (default 30) to control how many days of compressed logs are kept.
1.0.0 - 2026-08-31
- Initial release:
AnalysisFilter,AnalysisService,Analysisconfig andAnalysisSendcommand with queue-based asynchronous delivery to an Analysis Server. Superseded by 2.0.0.