Skip to content

Release v1.0.1

Choose a tag to compare

@github-actions github-actions released this 27 Jan 10:27

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: TableStatusChecker now caches table existence and completeness (5 minutes TTL)
    • Reduces ~10 information_schema queries per request to 0 (cached)
    • Optional ranking queries: New enable_ranking_queries configuration option
    • When disabled, eliminates 3 ranking queries per request
    • Overall reduction: ~90-95% fewer queries from the bundle per request
  • Generic cache methods - Added generic cache methods to PerformanceCacheService
    • getCachedValue() - Get any cached value by key
    • cacheValue() - Cache any value with custom TTL
    • invalidateValue() - 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
  • TableStatusChecker - Now uses cache to avoid expensive information_schema queries
    • 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

Fixed

  • CreateTableCommand DBAL 3.x compatibility - Fixed error when adding columns with --update
    • Added required 'name' key to column array for getSQLDeclaration() 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
  • 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() with getColumnName() helper method
    • Replaced deprecated AbstractAsset::getName() (for Index objects) with getAssetName() helper method
    • All helper methods use getQuotedName() for DBAL 3.x and fallback to getName() for DBAL 2.x
    • Eliminates deprecation warnings when running nowo:performance:create-table --update
    • Maintains full backward compatibility with DBAL 2.x

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)