Files
wp-prometheus/CHANGELOG.md
magdev 19d75ab7b2
All checks were successful
Create Release Package / build-release (push) Successful in 56s
feat: Add option to disable early mode (v0.4.2)
- Add wp_prometheus_disable_early_mode option in admin settings
- Support WP_PROMETHEUS_DISABLE_EARLY_MODE environment variable
- Add Early Mode section in Metrics tab with status indicator
- Allow users to enable wp_prometheus_collect_metrics hook

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:09:14 +01:00

7.3 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.4.2] - 2026-02-02

Added

  • Option to disable early mode in admin settings (Metrics tab)
  • Support for WP_PROMETHEUS_DISABLE_EARLY_MODE environment variable
  • Early mode status display in settings

Changed

  • Early mode can now be disabled for users who need the wp_prometheus_collect_metrics hook for custom metrics
  • Updated translations with new early mode strings (English and German)

[0.4.1] - 2026-02-02

Fixed

  • Fixed memory exhaustion when wp-fedistream (Twig-based) plugin is active
  • Added early metrics endpoint handler that intercepts /metrics requests before full WordPress initialization
  • Removed content filters (the_content, the_excerpt, get_the_excerpt, the_title) during metrics collection to prevent recursion
  • Skip third-party extensibility hooks during early metrics mode to avoid conflicts
  • Changed template_redirect hook to parse_request for earlier request interception

[0.4.0] - 2026-02-02

Added

  • Persistent Storage Support:
    • Redis storage adapter for shared metrics across multiple instances
    • APCu storage adapter for single-server high-performance caching
    • StorageFactory class for automatic adapter selection and fallback
    • Connection testing with detailed error messages
  • New "Storage" tab in admin settings:
    • Storage adapter selection (In-Memory, Redis, APCu)
    • Redis configuration (host, port, password, database, key prefix)
    • APCu configuration (key prefix)
    • Connection test button
    • Environment variables documentation
  • Environment variable configuration for Docker/containerized environments:
    • WP_PROMETHEUS_STORAGE_ADAPTER - Select storage adapter
    • WP_PROMETHEUS_REDIS_HOST - Redis server hostname
    • WP_PROMETHEUS_REDIS_PORT - Redis server port
    • WP_PROMETHEUS_REDIS_PASSWORD - Redis authentication
    • WP_PROMETHEUS_REDIS_DATABASE - Redis database index (0-15)
    • WP_PROMETHEUS_REDIS_PREFIX - Redis key prefix
    • WP_PROMETHEUS_APCU_PREFIX - APCu key prefix
  • Automatic fallback to In-Memory storage if configured adapter fails
  • Docker Compose example in admin settings

Changed

  • Settings page now has 6 tabs: License, Metrics, Storage, Custom Metrics, Dashboards, Help
  • Updated translations with all new strings (English and German)
  • Collector now uses StorageFactory for storage adapter instantiation

[0.3.0] - 2026-02-02

Added

  • Custom Metrics Builder:
    • Admin UI to define custom gauge metrics
    • Support for static values and WordPress option-based values
    • Label support with up to 5 labels and 50 value combinations
    • Metric validation following Prometheus naming conventions
  • Metric Export/Import:
    • JSON-based configuration export for backup
    • Import with three modes: skip existing, overwrite, or rename duplicates
    • Version tracking in export format
  • Grafana Dashboard Templates:
    • WordPress Overview dashboard (users, posts, comments, cron, transients)
    • WordPress Runtime dashboard (HTTP requests, database queries)
    • WordPress WooCommerce dashboard (orders, revenue, products, customers)
    • Easy download and import instructions
  • New "Custom Metrics" tab in admin settings
  • New "Dashboards" tab in admin settings
  • Reset runtime metrics button to clear accumulated data

Changed

  • Settings page now has 5 tabs: License, Metrics, Custom Metrics, Dashboards, Help
  • Updated translations with all new strings

[0.2.2] - 2026-02-02

Fixed

  • Fixed wc_orders_count() call missing required status parameter in WooCommerce orders metrics

[0.2.1] - 2026-02-02

Added

  • Localhost license bypass for development environments (localhost, 127.0.0.1, ::1, *.localhost, *.local)
  • Automatic rewrite rules flush when license status changes

Fixed

  • Fixed 404 error on /metrics endpoint when license becomes valid after plugin activation

[0.2.0] - 2026-02-02

Added

  • WooCommerce integration metrics (when WooCommerce is active):
    • wordpress_woocommerce_products_total - Products by status and type
    • wordpress_woocommerce_orders_total - Orders by status
    • wordpress_woocommerce_revenue_total - Revenue (all time, today, month)
    • wordpress_woocommerce_customers_total - Customers (registered, guest)
  • Cron job metrics:
    • wordpress_cron_events_total - Scheduled cron events by hook
    • wordpress_cron_overdue_total - Number of overdue cron events
    • wordpress_cron_next_run_timestamp - Unix timestamp of next scheduled cron
  • Transient cache metrics:
    • wordpress_transients_total - Transients by type (total, with_expiration, persistent, expired)
  • WooCommerce metrics section in settings (only visible when WooCommerce is active)
  • Support for WooCommerce HPOS (High-Performance Order Storage)

Changed

  • Updated Help tab with new metrics reference

[0.1.1] - 2026-02-02

Changed

  • Reorganized settings page with tabbed interface (License, Metrics, Help tabs)
  • Moved Prometheus configuration help to dedicated Help tab
  • Separated static and runtime metrics in settings with descriptions
  • Added admin CSS for improved tab styling

Added

  • New Help tab with endpoint information, curl examples, and metrics reference table
  • Custom code examples section in Help tab

[0.1.0] - 2026-02-02

Added

  • HTTP request metrics:
    • wordpress_http_requests_total - Counter of HTTP requests by method, status code, and endpoint
    • wordpress_http_request_duration_seconds - Histogram of request durations
  • Database query metrics:
    • wordpress_db_queries_total - Counter of database queries by endpoint
    • wordpress_db_query_duration_seconds - Histogram of query durations (requires SAVEQUERIES)
  • RuntimeCollector class for collecting metrics during WordPress request lifecycle
  • New settings options for enabling/disabling runtime metrics
  • Translation files (.pot, .po, .mo) for German (Switzerland)

Changed

  • Metrics are now categorized into static metrics (users, posts, etc.) and runtime metrics (HTTP, database)
  • Runtime metrics only collected when explicitly enabled and license is valid

[0.0.2] - 2026-02-01

Fixed

  • Fixed composer.json dependency version constraint for wc-licensed-product-client (^0.2.2 instead of dev-main)
  • Changed minimum-stability back to stable

[0.0.1] - 2026-02-01

Added

  • Initial plugin structure and bootstrap
  • Main plugin class with singleton pattern
  • License management integration with wc-licensed-product-client
  • Prometheus metrics collector with default WordPress metrics:
    • wordpress_info - WordPress installation information
    • wordpress_users_total - Total users by role
    • wordpress_posts_total - Total posts by type and status
    • wordpress_comments_total - Total comments by status
    • wordpress_plugins_total - Total plugins by status
  • Authenticated /metrics endpoint with Bearer token
  • Admin settings page under Settings > Metrics
  • Extensibility via wp_prometheus_collect_metrics action hook
  • Gitea CI/CD pipeline for automated releases
  • Comprehensive documentation (README.md, PLAN.md, CLAUDE.md)

Security

  • Bearer token authentication for metrics endpoint
  • Nonce verification for all AJAX requests
  • Capability checks for admin operations
  • Input sanitization and output escaping