Releases: rcsofttech85/AuditTrailBundle
Releases · rcsofttech85/AuditTrailBundle
v3.3.0
v3.0.0
v2.2.0
[2.2.0]
2.2.0 Installation Note
Important for UI updates: Please run the following command to publish the newly added CSS file for the EasyAdmin integration:
php bin/console assets:install2.2.0 New Features
- JSON & CSV Export: Added ability to export filtered audit logs to JSON or CSV directly from the index page via a dropdown action menu. Uses memory-efficient
toIterable()streaming for large datasets through the newfindAllWithFilters()repository method. - Transaction Drill-down Pagination: The transaction drill-down view now supports cursor-based (keyset) pagination using
afterId/beforeIdfor deterministic, offset-free navigation through large transaction groups. - Integrity Signature Badge: Visual integrity verification on the Changes tab — displays "Verified Authentic", "Tampered / Invalid", or "Integrity Disabled" badges with corresponding icons and color coding to instantly alert admins to tampered logs.
- "Reverted" UI State Protection: Added an
isReverted()repository check that powers a new "REVERTED" badge on the detail page. The revert button is now dynamically disabled with an "Already Reverted" state to prevent duplicate reverts of the same log. - Conditional EasyAdmin Registration: The
AuditLogCrudControlleris now conditionally registered as a service only whenEasyAdminBundleis actively installed, checked viakernel.bundlesat compile time inAuditTrailExtension.
2.2.0 Improvements
- Optimized
isReverted()Query: Replaced N+1 entity hydration with a singleCOUNT+LIKEquery against the JSONcontextcolumn, eliminating full result set loading for the "Reverted" UI check. - Keyset Pagination UUID Typing:
afterId/beforeIdparameters now explicitly use the'uuid'Doctrine type constraint for proper cross-database UUID comparison in cursor-based pagination. - Soft Delete Detection Fix:
ChangeProcessor::determineUpdateAction()now correctly detects soft-deletes whenoldValueisnullandnewValueis not (previously only detected restores). - Revert Subscriber Silencing: Wrapped the entire revert operation in a
try/finallyblock to ensure theScheduledAuditManagerInterfacesubscriber is reliably re-enabled even if the revert fails mid-transaction. - Revert Dry-Run Associations:
RevertValueDenormalizernow usesEntityManager::getReference()instead offind()during dry-runs to avoid unnecessary database query overhead for associated entities. - Revert Access Action:
AuditReverter::determineChanges()now gracefully handlesACTION_ACCESS(read-tracking) logs by returning empty changes instead of throwing an exception.
v2.1.0
v2.0.0
v2.0.0 – Major Release
This version introduces breaking changes, performance improvements, and enhanced security.
📖 Full details available in the CHANGELOG:
https://github.com/rcsofttech85/AuditTrailBundle/blob/main/CHANGELOG.md
v1.10.0
What's Changed
- modernized to PHP 8.4 standards by @rcsofttech85 in #50
- Track access by @rcsofttech85 in #52
Full Changelog: v1.9.6...v1.10.0
v1.9.5
What's Changed
- add EasyAdmin dashboard images by @rcsofttech85 in #40
- Readme by @rcsofttech85 in #41
- improve CI setup by @rcsofttech85 in #42
- clean up README by @rcsofttech85 in #43
- implement quality, test matrix, and success gate by @rcsofttech85 in #44
- code complexity refactoring performed by @rcsofttech85 in #45
- update README by @rcsofttech85 in #46
- Php cs fixer ruleset by @rcsofttech85 in #48
Full Changelog: v1.9.4...v1.9.5
v1.9.0
What's Changed
- Enable cross-platform compatibility for audit trail messages by @rcsofttech85 in #29
Full Changelog: v1.8.0...v1.9.0
v1.8.0
v1.7.4
What's Changed
- improve HTTP and queue transport handling by @rcsofttech85 in #22
- remove redundant code by @rcsofttech85 in #23
Full Changelog: v1.7.2...v1.7.4