Release v2.0.2
docs: release 2.0.2 - changelog, upgrading, commands
Changelog
Added
- Request ID deduplication – When access records are enabled, the bundle assigns a unique
request_idper HTTP request (shared between main and sub-requests). At most oneRouteDataRecordis created per logical request, avoiding duplicate entries when multipleTERMINATEevents fire (e.g. main request + fragment). routes_data_records– New optional columnrequest_id(VARCHAR 64, nullable, unique). Existing records keeprequest_id = NULL. Runphp bin/console nowo:performance:sync-schemaor your Doctrine migrations after updating.- Translation YAML validation – Script
scripts/validate-translations-yaml.phpchecks translation YAML files for valid syntax and duplicate keys. CI runs it in the test job. Composer:composer validate-translations; included incomposer qa. - Collector & diagnose: records table status – When
enable_access_recordsis true, the Web Profiler Performance panel shows Access Records Table (exists, complete, missing columns). TableStatusChecker gainsrecordsTableExists(),recordsTableIsComplete(),getRecordsMissingColumns(),getRecordsTableName(),isAccessRecordsEnabled(). CLInowo:performance:diagnoseincludes a Database Tables section (main table + records table) with missing columns. Missingrequest_id(or any entity column) is detected and the UI suggests runningsync-schemaorcreate-records-table --update.
Fixed
- CreateRecordsTableCommand – Creating the records table from scratch now sets
AUTO_INCREMENTon theidcolumn for MySQL/MariaDB.--updatenow creates missing unique constraints (e.g.uniq_record_request_idonrequest_id) and uses the same operation order as the main table (Drop → Add → Update). - CreateTableCommand –
addMissingIndexes()now usesgetSchemaManager()for DBAL 2.x compatibility.
See UPGRADING for migration steps.