Skip to content

Releases: DamienHarper/auditor-bundle

3.2.0

02 Dec 18:25
Compare
Choose a tag to compare

What's Changed

  • Symfony 5 support by @DamienHarper in #134
  • Ensures DoctrineSubscriber is registered first (fixes audit not capturing some entity mutation coming from other Doctrine linteners/subscribers) by @DamienHarper in #130

References

Official documentation

Full Changelog: 3.1.0...3.2.0

3.1.0

21 Nov 22:24
Compare
Choose a tag to compare

What's Changed

  • Fix table layout for long data in the timeline by @Jonathan-Lathiere in #121
  • Fix Doctrine deprecations by @DamienHarper in #125
  • Allow to filter audits using multiple filter values in AuditReader::filterBy() by @DamienHarper in #127
  • Ensure compatibility with doctrine/dbal <2.10.0

References

Official documentation

Full Changelog: 3.0.0...3.1.0

3.0.0

01 Nov 11:10
Compare
Choose a tag to compare

What's new

  • Annotation support: audit configuration (audited entities, ignored columns, etc) can be done mostly
    using annotations in entities.
  • Audit events: an audit event is dispatched for every audit entry opening the doors to add
    custom behavior on audit entry creation.
  • Security controls: audit access can be now restricted to specific roles.
  • The bundle now supports non numeric IDs for the User objects (thanks to @Gonzalo1987).
  • A transaction hash is now stored in audit tables and makes it easier to identify all operations performed
    in the same transaction.
    • The timeline now displays a transaction hash for each element. By clicking a transaction hash,
      you get a complete overview of all the operations included into the transaction.
    • AuditReader::getAudits() now accepts a transaction hash as fifth parameter to return audits
      logged in the given transaction for the given entity.
    • AuditReader::getAuditsByTransactionHash() accepts a transaction hash as parameter and returns
      all the audits logged in the given transaction.
  • Better single table (SINGLE_TABLE) inheritance support.
    • AuditReader::getAudits() now accepts a boolean as sixth parameter to return either audits
      for the given entity only or audits for the given entity hierarchy.
  • Add class table (JOINED) inheritance support (thanks to @versh23).
  • Performance enhancements when saving a lot of entities at once (thanks to @acanicatti).
  • Removed deprecation messages (thanks to @maxhelias).
  • Fixed an issue with audit:schema:update command when run against a database with no audit table.
  • A few icons have been added in the timeline.
  • Revamped documentation.

Breaking changes

  • The structure of audit tables has changed so you have to run the migration command right after updating
  • AuditEntry::getUserId() now return a string or null instead of an int.
  • When using a secondary database Doctrine's doctrine:schema:update command do not create
    audit tables automatically anymore (this command cannot work with multiple databases simultaneously),
    use the bundled migration command instead which supports the same options as Doctrine's command.
    • bin/console audit:schema:update --dump-sql prints SQL queries that need be executed.
    • bin/console audit:schema:update --force executes relevant SQL queries.
  • Configuration has changed to use a secondary database: you now only need to declare the dedicated
    entity manager in configuration file as described here.
  • The bundle requires mbstring extension (cf. https://www.php.net/manual/en/mbstring.installation.php).

How to upgrade?

Either update your composer.json file manually to include "damienharper/doctrine-audit-bundle": "^3.0"
or run

composer require damienharper/doctrine-audit-bundle ^3.0

Due to internal changes requiring new columns and blame_id column type change, run the migration command after updating the bundle to update the structure of your current audit tables.

bin/console audit:schema:update --force

Changes

New Contributors

References

Official documentation

Full Changelog: 2.5.0...3.0.0

2.5.0

04 Sep 07:40
Compare
Choose a tag to compare

Changelog

  • Add an option to globally enable/disable auditing from configuration file (thanks to @MylesKingsnorth01)
  • Allow to use a custom entity manager/secondary database for audits (thanks to @pawello92)
    Warning: Using a custom entity manager/secondary database breaks atomicity because audited entity operation and audit storage are performed into different transactions.

2.4.0

19 Aug 14:05
Compare
Choose a tag to compare

Changelog

  • Fix deprecated usage of spaceless tag (thanks to @maxhelias)
  • Timezone can be set from configuration file. It affects audit entries creation date and defaults to UTC (thanks to @MylesKingsnorth01)

2.3.2

29 Jul 10:02
Compare
Choose a tag to compare

Changelog

  • Add a new AuditReader:getEntityTableAuditName() method allowing to retrieve the audit table name for an entity (#68)

2.3.1

13 Jun 13:38
Compare
Choose a tag to compare

Changelog

  • Fix Unknown "spaceless" filter encountered in some configurations (#65)
  • Updated README.md regarding Symfony 3.4 configuration and Unknown "pagerfanta" function error (#64)

2.3.0

18 Apr 12:56
ce7def6
Compare
Choose a tag to compare

Changelog

  • Add a way to globally enable and disable audit at runtime (#61 thanks to @webmasterMeyers)
  • Fixed a Windows compatibility issue regarding URLs including backslashes (fixes #62)

2.2.0

15 Apr 07:11
b97a659
Compare
Choose a tag to compare

Changelog

  • Performance improvements in audit viewer
  • Paginated timeline
  • listAuditsAction() now also include disabled entities (fixes #58)

2.1.0

12 Apr 16:30
Compare
Choose a tag to compare

Changelog

  • Reworked default templates to display audit entries in a timeline instead of a simple tabular view.
  • Fixed some deprecated references
  • AuditReader::getAudits() and AuditController::showEntityHistoryAction() do not return the first 50 history items anymore but the full history. Though, it is still possible to get only a few items by specifying $pageSize and $page arguments
  • README.md adjustments

Breaking changes

  • Some default templates have been renamed