Release v1.0.1
feat: Release version 1.0.1 with performance optimizations and new features
- Added significant performance optimizations, reducing database queries by ~90-95%.
- Extended DependencyChecker to detect optional dependencies like Symfony Messenger, Mailer, and HttpClient.
- Introduced automatic creation of routes file during bundle installation.
- Made ranking queries optional and configurable to reduce database load.
- Fixed compatibility issues with DBAL 3.x in CreateTableCommand.
- Updated documentation to reflect new features and migration steps.
Changelog
Added
- Dependency detection and management - Extended DependencyChecker to detect optional dependencies
- Detects Symfony Messenger availability for async metrics recording
- Detects Symfony Mailer availability for email notifications
- Detects Symfony HttpClient availability for Slack, Teams, and webhook notifications
- Provides information about missing dependencies with installation commands
- Modal informativo en el dashboard para mostrar dependencias faltantes
- Compatible con Bootstrap y Tailwind CSS templates
- Automatic routes file creation - Symfony Flex recipe now creates
config/routes/nowo_performance.yaml- Routes are automatically imported when installing the bundle
- Uses configured prefix and path from bundle configuration
- Can be customized or overridden by users
- Performance optimizations - Significant reduction in database queries
- Table status caching:
TableStatusCheckernow caches table existence and completeness (5 minutes TTL) - Reduces ~10
information_schemaqueries per request to 0 (cached) - Optional ranking queries: New
enable_ranking_queriesconfiguration option - When disabled, eliminates 3 ranking queries per request
- Overall reduction: ~90-95% fewer queries from the bundle per request
- Table status caching:
- Generic cache methods - Added generic cache methods to PerformanceCacheService
getCachedValue()- Get any cached value by keycacheValue()- Cache any value with custom TTLinvalidateValue()- Invalidate cached value by key- Enables caching of any bundle data, not just statistics
Changed
- DataCollector ranking queries - Made ranking queries optional and configurable
- New configuration:
nowo_performance.dashboard.enable_ranking_queries(default:true) - When disabled, ranking information is not calculated in WebProfiler
- Reduces database load for applications that don't need ranking information
- Backward compatible: enabled by default
- New configuration:
- TableStatusChecker - Now uses cache to avoid expensive
information_schemaqueries- Caches
tableExists()results for 5 minutes - Caches
tableIsComplete()results for 5 minutes - Automatically uses PerformanceCacheService if available
- Falls back to direct queries if cache is not available
- Caches
Fixed
- CreateTableCommand DBAL 3.x compatibility - Fixed error when adding columns with
--update- Added required
'name'key to column array forgetSQLDeclaration()in DBAL 3.x - Fixes "Undefined array key 'name'" error when running
nowo:performance:create-table --update - Added proper column properties (precision, scale, unsigned, fixed) to column definition
- Maintains full backward compatibility with DBAL 2.x
- Added required
- Doctrine DBAL deprecation warnings - Fixed deprecation warnings in CreateTableCommand and TableStatusChecker
- Replaced deprecated
AbstractPlatform::quoteIdentifier()with helper method compatible with DBAL 2.x and 3.x - Replaced deprecated
Column::getName()withgetColumnName()helper method - Replaced deprecated
AbstractAsset::getName()(for Index objects) withgetAssetName()helper method - All helper methods use
getQuotedName()for DBAL 3.x and fallback togetName()for DBAL 2.x - Eliminates deprecation warnings when running
nowo:performance:create-table --update - Maintains full backward compatibility with DBAL 2.x
- Replaced deprecated
Commits
- feat: Release version 1.0.1 with performance optimizations and new features (6cad7a7)
- feat: Introduce performance bundle routing and enhance caching functionality (bc5676b)
- feat: Display Messenger availability status in performance view (a02af90)
- feat: Add method to check Symfony Messenger availability in PerformanceDataCollector (fec30a9)
- fix: Update async property in PerformanceDataCollector and enhance dependency handling in the view (9662428)