You've already forked wp-prometheus
All checks were successful
Create Release Package / build-release (push) Successful in 59s
- Custom Metrics Builder with admin UI for gauge metrics - Support for static values and WordPress option-based values - JSON-based export/import with skip/overwrite/rename modes - Three Grafana dashboard templates (overview, runtime, WooCommerce) - New tabs: Custom Metrics and Dashboards - Reset runtime metrics button Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
139 lines
5.0 KiB
Markdown
139 lines
5.0 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [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
|