Release Notes for 1.0.0
1.0.0
First stable release of the patchlevel/event-sourcing-dashboard-bundle, a Symfony bundle for inspecting
and operating applications built on patchlevel/event-sourcing.
This bundle replaces patchlevel/event-sourcing-admin-bundle. The admin bundle is no longer
maintained. Remove it and require patchlevel/event-sourcing-dashboard-bundle instead. The
package name, bundle class, configuration root and route names have changed, so the config
and routes import need to be updated as described in the getting started guide.
Features
- Dashboard: overview with counts for events in store, aggregates, registered events and
subscriptions, a subscription status breakdown and the latest recorded events. - Store: browse the raw event store and filter by aggregate, aggregate id, stream or event.
- Inspection: view a single aggregate with its events, serialized state, snapshot and a full
state dump. Time travel to any playhead to see the aggregate state at that point. - Events: list all registered events together with their listeners and subscribers.
- Subscriptions: view all subscriptions and boot, run, pause, reactivate, setup, rebuild or
remove them from the browser. #[Inspect]attribute: customize how an event is rendered with a description, icon,
color and size.
Design
- Responsive layout that works on mobile.
- Light and dark mode, following the operating system color scheme by default. Can be pinned via
the sidebar. - Adjustable content width (fixed or fitting the window). Both preferences are persisted in
local storage. - Self-hosted Inter and JetBrains Mono fonts, no external requests.
- Asset build migrated from Webpack Encore to Reprise with Tailwind CSS v4.
Configuration
The bundle is disabled by default. Set patchlevel_event_sourcing_dashboard.enabled: true and
import @PatchlevelEventSourcingDashboardBundle/config/routes.yaml under a prefix of your choice.
When disabled, no controllers, routes or services are registered. Assets are served via
assets:install or the Symfony asset mapper.
Requirements
- PHP 8.2 to 8.5
- patchlevel/event-sourcing ^3.8
- patchlevel/event-sourcing-bundle ^3.7
- Symfony 5.4, 6.4, 7 or 8
- Twig ^3.20
Backward compatibility
The bundle follows the patchlevel BC policy with two exceptions: Twig templates (names, blocks,
variables) and controller internals are not covered. Route names and paths are covered.
Security
The dashboard has no built-in access control. It is intended as a development tool. If you run
it in production, put the route prefix behind Symfony security. See the production usage docs.