Release v2.0.5
Release 2.0.5: docs and release notes
Changelog
Added
- Access records: logged-in user – When access records and
track_userare enabled, eachRouteDataRecordcan store the logged-in user:user_identifier(e.g. username, email fromUserInterface::getUserIdentifier()) anduser_id(stringified ID fromUser::getId()if present). New columnsuser_identifier(VARCHAR 255, nullable) anduser_id(VARCHAR 64, nullable) onroutes_data_records. Config:nowo_performance.track_user(defaultfalse). The Access Records UI shows a User column; CSV and JSON exports include both fields. Runphp bin/console nowo:performance:create-table --updateornowo:performance:sync-schemaafter updating. - Makefile: validate-translations – New target
make validate-translationsruns the translation YAML validation script inside the PHP container (starts the container if needed). - Translation validation: block-aware duplicate detection – The script
scripts/validate-translations-yaml.phpnow treats duplicate keys only when they appear in the same parent block. The same key under different parents (e.g.statistics.max_queriesandfilters.max_queries) is no longer reported as a duplicate.
Fixed
- Security autowiring (Symfony 7/8) – Resolved "Cannot autowire service PerformanceMetricsSubscriber: argument $security has type Symfony\Component\Security\Core\Security but this class was not found." The Security dependency is now optional (
?security.helper); the bundle works when SecurityBundle is not installed or when using Symfony 7+ where the old Security class was removed. User tracking is applied only whentrack_useris true and the security helper is available.
Added (tests)
- PerformanceMetricsSubscriberSecurityTest – Tests for
track_userwith security null, with user (identifier/id), and user withoutgetId(). - ValidateTranslationsYamlTest – Nested-block duplicate detection, three-level nesting, comments/blank lines, default dir when no argument, duplicate at root level.
- RecordMetricsMessageTest – getUserIdentifier/getUserId getters; RouteDataRecordTest – userIdentifier/userId setters and getters.
- DeleteRecordsByFilterRequestTest, StatisticsEnvFilterTest, ArrayExtensionTest, PerformanceAlertTest, RecordFiltersTest, NowoPerformanceBundleTest, RouteDataWithAggregatesTest, Event/Twig component tests – Additional edge-case and coverage tests.
See UPGRADING for migration steps.
Commits
- Release 2.0.5: docs and release notes (4948bba)