Repository navigation
Releases: alkinbg/NovoraEasyAdminBulkEditBundle
Release list
v1.1.3 — EasyAdmin integration audit
This release includes the merged EasyAdmin integration audit (PR #6). It adds regression tests for missing and unauthorized records, and documents the integration responsibilities between EasyAdmin, the bundle, and the host application. No runtime behavior or public API changes. Verified by 27 PHPUnit tests (90 assertions), PHPStan level 8, and green GitHub Actions for PHP 8.4 (lowest/highest dependencies) and PHP 8.5 (highest dependencies). Existing session-level concurrency and distributed exactly-once limitations remain documented.
v1.1.2 — Localized success notifications
Success feedback for bulk editing
- Show a translated
successflash notification after a confirmed bulk update completes successfully. - Use singular/plural-aware wording in Bulgarian and English.
- Preserve the public
BulkEditWorkflowconstructor and existing CRUD integration. - Add an integration regression test verifying the flash is available after the HTTP redirect and no success notification is emitted for denied confirmation.
Verification: PHPUnit 25 tests / 86 assertions, PHPStan level 8, and all three CI jobs passing for PHP 8.4 (lowest/highest dependencies) and PHP 8.5 (highest dependencies).
Reminder: To bypass EasyAdmin's initial generic batch modal only for bulk editing, use BulkEditAction::new() in configureActions() rather than Action::new(). Existing other batch confirmations remain intact.
v1.1.1 — Action-specific confirmation
Adds BulkEditAction::new() to bypass EasyAdmin’s initial generic confirmation only for the bulk edit action. The bundle continues to provide its separate review and final confirmation screens. Other batch actions keep their existing confirmation behavior.\n\nValidation: PHPUnit 25 tests (84 assertions), PHPStan level 8 and green CI with PHP 8.4 (lowest/highest dependencies) and PHP 8.5 (highest dependencies).\n\nTo enable this behavior, replace Action::new("bulkEdit", ...)->linkToCrudAction("bulkEdit") with BulkEditAction::new("bulkEdit", ...) in your CRUD configureActions().
v1.1.0 — Improved UI and Bulgarian/English localization
Interface and localization release
- Clearer, structured EasyAdmin editing and review screens.
- English and Bulgarian interface translations, including form validation messages.
- Human-readable boolean values on the review screen.
- Symfony translator integration with a backward-compatible workflow constructor.
- Documented integration guidance for EasyAdmin batch confirmation.
Compatibility and verification
- PHPUnit: 24 tests, 81 assertions
- PHPStan level 8: no errors
- GitHub CI green on PHP 8.4 (lowest/highest dependencies) and PHP 8.5 (highest dependencies)
Important
EasyAdmin's generic batch confirmation is controlled by Crud::askConfirmationOnBatchActions(false), a CRUD-wide setting. Do not disable it unless every batch action in that controller has its own safe confirmation behavior. This bundle does not change the setting for you. Existing concurrency and exactly-once limitations remain as documented.
v1.0.1 — Configuration and security hardening
Patch release for EasyAdmin bulk editing.
Changes
- Reject mismatches between configured form fields and allowed field handlers before continuing.
- Add integration coverage for authorization changes between preview and confirmation.
- Clarify session-based concurrency and idempotency limitations in the integration documentation.
Verification
- 24 PHPUnit tests (79 assertions)
- PHPStan level 8 without errors
- Green GitHub Actions for PHP 8.4 (lowest and highest dependencies) and PHP 8.5 (highest dependencies)
Important limitations
This release does not implement atomic distributed exactly-once semantics or automatic protection against lost updates. Applications requiring those guarantees must provide locking, idempotency and appropriate Doctrine concurrency controls.
v1.0.0 — Initial stable release
Changelog
1.0.0 — Initial stable release
- EasyAdmin 5 batch-action handoff with exact action, entity-class and CSRF validation.
- Two-step form → read-only review → separately CSRF-protected confirmation workflow.
- Per-field opt-in edits using Symfony Forms and explicit field handlers.
- Server-side session review and one-use, expiring selection tokens.
- Explicit per-entity authorization and transactional Doctrine ORM updates with rollback.
- Safe error handling for invalid selections and refused updates.
- Integration tests with the real EasyAdmin router, Symfony container, Twig, Form CSRF and SQLite.
- CI for supported PHP versions and minimal/latest dependency constraints.
See the README for documented boundaries, concurrency considerations and supported field types.