-
Release 0.5.1
Stablereleased this
2026-03-07 16:20:21 +00:00 | 0 commits to main since this releaseFixed
- Custom metric name sanitization:
sanitize_key()was stripping colons and lowercasing names, silently mangling valid Prometheus metric names (e.g.my:Custom_metricbecamemycustom_metric). Added dedicatedsanitize_metric_name()that preserves valid Prometheus characters.
Changed
- Consolidated 3 separate transient COUNT queries into a single query with conditional aggregation for better database performance.
- Deduplicated inline HPOS check in WooCommerce customer metrics to use existing
is_hpos_enabled()method. - Added license domain binding for authorized deployment domains.
Downloads
- Custom metric name sanitization:
-
Release 0.5.0
Stablereleased this
2026-02-26 07:42:13 +00:00 | 1 commits to main since this releaseAdded
- Comprehensive PHPUnit test suite with 189 tests and 329 assertions:
- CustomMetricBuilderTest (35 tests) - validation, CRUD, import/export
- AuthenticationTest (13 tests) - Bearer token, query param, header extraction
- StorageFactoryTest (25 tests) - adapter config, env vars, connection testing
- RuntimeCollectorTest (22 tests) - endpoint normalization, histograms, singleton
- DashboardProviderTest (27 tests) - registration validation, path traversal security
- InstallerTest (11 tests) - activation, deactivation, uninstall cleanup
- CollectorTest (10 tests) - registry, metric registration, render output
- MetricsEndpointTest (5 tests) - rewrite rules, request routing
- Test bootstrap with WordPress function stubs and GlobalFunctionState helper
- CI/CD test job in Gitea release workflow that gates release builds
- php-mock/php-mock-phpunit dependency for mocking WordPress functions in namespaced code
Changed
- Release pipeline now requires passing tests before building release packages
Downloads
- Comprehensive PHPUnit test suite with 189 tests and 329 assertions:
-
Release 0.4.8
StableAll checks were successfulCreate Release Package / build-release (push) Successful in 54sreleased this
2026-02-07 10:44:24 +00:00 | 4 commits to main since this releaseFixed
- Fixed
_load_textdomain_just_in_timenotice on admin pages (WordPress 6.7+ compatibility) - Deferred
load_plugin_textdomain()toinitaction instead ofplugins_loaded - Deferred Settings tab label and DashboardProvider initialization to avoid early translation loading
Downloads
- Fixed
-
Release 0.4.7
StableAll checks were successfulCreate Release Package / build-release (push) Successful in 56sreleased this
2026-02-03 18:28:07 +00:00 | 7 commits to main since this releaseAdded
- Database query duration distribution panel in Grafana Runtime dashboard
wordpress_db_query_duration_secondsmetric now listed in Help tab- Documentation for enabling
SAVEQUERIESconstant for query timing
Changed
- Updated README with instructions for enabling database query timing
- Grafana Runtime dashboard now includes bucket distribution chart for DB queries
Downloads
-
Release 0.4.6
StableAll checks were successfulCreate Release Package / build-release (push) Successful in 1m5sreleased this
2026-02-03 10:16:51 +00:00 | 8 commits to main since this releaseAdded
- Dashboard extension hook
wp_prometheus_register_dashboardsfor third-party plugins - Third-party plugins can now register their own Grafana dashboard templates
- Support for file-based and inline JSON dashboard registration
- "Extension" badge for third-party dashboards in admin UI
- Plugin attribution display for third-party dashboards
- Security: Path traversal protection for registered dashboard files
- Isolated mode support for dashboard registration hook
Changed
- DashboardProvider now supports both built-in and third-party registered dashboards
- Dashboard cards show source (built-in vs extension) with visual distinction
Downloads
- Dashboard extension hook
-
Release 0.4.5
StableAll checks were successfulCreate Release Package / build-release (push) Successful in 1m2sreleased this
2026-02-02 22:13:02 +00:00 | 9 commits to main since this releaseFixed
- Settings now persist correctly across Metrics sub-tabs
- Auth token no longer gets cleared when saving from Selection sub-tab
- Enabled metrics no longer get cleared when saving from Endpoint sub-tab
- Isolated mode setting no longer gets cleared when saving from other sub-tabs
Changed
- Split Metrics settings into separate WordPress option groups per sub-tab
- Each sub-tab now uses its own settings group to prevent cross-tab overwrites
Downloads
-
Release 0.4.3
StableAll checks were successfulCreate Release Package / build-release (push) Successful in 59sreleased this
2026-02-02 20:49:40 +00:00 | 11 commits to main since this releaseAdded
- Sub-tabs navigation within Metrics tab (Endpoint, Selection, Runtime, Advanced)
- Option to disable early mode in admin settings (Metrics → Advanced)
- Support for
WP_PROMETHEUS_DISABLE_EARLY_MODEenvironment variable - Early mode status display in settings
Fixed
- Early mode setting now saves correctly (moved into form with proper settings group)
Changed
- Reorganized Metrics tab into logical sub-sections for better usability
- Early mode can now be disabled for users who need the
wp_prometheus_collect_metricshook - Updated translations with sub-tab and early mode strings (English and German)
Downloads
-
Release 0.4.2
StableAll checks were successfulCreate Release Package / build-release (push) Successful in 56sreleased this
2026-02-02 20:09:27 +00:00 | 13 commits to main since this releaseAdded
- Option to disable early mode in admin settings (Metrics tab)
- Support for
WP_PROMETHEUS_DISABLE_EARLY_MODEenvironment variable - Early mode status display in settings
Changed
- Early mode can now be disabled for users who need the
wp_prometheus_collect_metricshook for custom metrics - Updated translations with new early mode strings (English and German)
Downloads
-
Release 0.4.1
StableAll checks were successfulCreate Release Package / build-release (push) Successful in 57sreleased this
2026-02-02 19:23:41 +00:00 | 15 commits to main since this releaseFixed
- Fixed memory exhaustion when wp-fedistream (Twig-based) plugin is active
- Added early metrics endpoint handler that intercepts
/metricsrequests 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_redirecthook toparse_requestfor earlier request interception
Downloads
-
Release 0.4.0
StableAll checks were successfulCreate Release Package / build-release (push) Successful in 56sreleased this
2026-02-02 15:16:04 +00:00 | 17 commits to main since this releaseAdded
- 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 adapterWP_PROMETHEUS_REDIS_HOST- Redis server hostnameWP_PROMETHEUS_REDIS_PORT- Redis server portWP_PROMETHEUS_REDIS_PASSWORD- Redis authenticationWP_PROMETHEUS_REDIS_DATABASE- Redis database index (0-15)WP_PROMETHEUS_REDIS_PREFIX- Redis key prefixWP_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
Downloads
- Persistent Storage Support:
You've already forked wp-prometheus