=== DevLemon Cache Observatory ===
Contributors: devlemon
Tags: cache, object cache, transients, cache inspector, performance
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Inspect WordPress object cache, transients, cache drop-ins, and configuration with safe diagnostic tools.

== Description ==

**DevLemon Cache Observatory** is a read-first cache diagnostics workspace for WordPress administrators and developers.

Instead of acting as another cache optimizer, it focuses on explaining the cache state that already exists on the site. It combines object-cache diagnostics, cross-request persistence testing, cache drop-in inspection, transient analysis, environment checks, and a local diagnostic report without installing Redis, changing `wp-config.php`, editing `.htaccess`, or altering another plugin's configuration.

= What makes it useful =

* **Cross-request persistence test** — verifies whether an object-cache value survives a separate request instead of relying only on plugin detection.
* **Object cache inspection** — reports WordPress object-cache availability and the state returned by `wp_using_ext_object_cache()`.
* **Drop-in inventory** — checks `object-cache.php` and `advanced-cache.php` without modifying them.
* **Transient inspector** — search, filter, sort, and review expiration state before choosing a deletion action.
* **Safe cleanup controls** — delete one transient, selected transients, or expired transients only. No automatic cleanup is performed.
* **Environment snapshot** — WordPress, PHP, memory, `WP_CACHE`, multisite, and detected cache-related plugins in one place.
* **Local diagnostic report** — produces a copyable plain-text report without credentials, secrets, telemetry, or remote API calls.
* **Explicit cache flush** — `wp_cache_flush()` is available only as an administrator action with nonce validation and confirmation.

= Safety model =

The plugin is read-only by default. Any action that changes cache data requires an authenticated administrator, a WordPress nonce, and explicit user interaction.

DevLemon Cache Observatory never installs cache drop-ins, never enables or disables a cache plugin, never modifies `wp-config.php` or `.htaccess`, and never sends diagnostic data to an external service.

= Privacy =

No telemetry, analytics, tracking pixels, advertising, remote APIs, or external assets are used. Inspection and diagnostics remain inside the WordPress installation.

== Installation ==

1. Upload the `devlemon-cache-observatory` folder to `/wp-content/plugins/`.
2. Activate the plugin.
3. Go to **DevLemon Cache Observatory** in the admin menu.

== Frequently Asked Questions ==

= Is this a cache optimization plugin? =
No. DevLemon Cache Observatory does not add page caching, install Redis or Memcached, or tune another plugin. Its purpose is to inspect and explain the cache configuration already present on the site, with optional administrator-initiated diagnostic and cleanup tools.

= What is the cross-request persistence test? =
It writes a temporary value to the WordPress object cache, then checks that value from a separate request. This helps distinguish same-request object-cache behavior from actual persistence. Temporary test data is removed after the check.

= Does this plugin install Redis or Memcached? =
No. It inspects what is already present and running.

= Does it modify wp-config.php? =
No. It is read-only by default.

= Does it delete my transients automatically? =
No. All deletions require an explicit action from an administrator.

= What does "Persistent Object Cache Not Detected" mean? =
It means WordPress reports (`wp_using_ext_object_cache()`) that no external object cache is active. This is normal and not a problem for most sites.

= Does it send any data externally? =
No. All analysis is local.

= Is it safe to use on a production site? =
Yes. The plugin does not modify any configuration or cached data unless you explicitly use the Tools page.

== Screenshots ==

1. DevLemon Cache Observatory dashboard with cache health indicators.
2. Object Cache inspection and test tools.
3. Transient inspector with filters and search.
4. Environment information.
5. Tools page with diagnostic report.

== Changelog ==

= 1.0.3 =
* Renamed to DevLemon Cache Observatory with the new `devlemon-cache-observatory` directory identity.
* Updated the plugin folder, main file, text domain, internal identifiers and unique prefix to `devlcobs_` / `DEVLCOBS_`.
* Updated the public Plugin URI to the Cache Observatory page.
* Preserved the security hardening introduced in version 1.0.2.

= 1.0.2 =
* Fixed input sanitization for bulk transient deletion to satisfy WordPress security best practices and Plugin Check.
* Bulk action input is now unslashed and sanitized recursively before individual key/type validation.

= 1.0.1 =
* WordPress.org readiness: renamed the plugin to DevLemon Cache Observatory and aligned the slug/text domain with `devlemon-cache-observatory`.
* Updated the Plugin URI to the public DevLemon plugin page.
* Replaced the short internal prefix with the unique `devlcobs_` / `DEVLCOBS_` prefix.
* Hardened settings and destructive cache actions with explicit nonce, capability, sanitization, and allowlist checks.
* Added defense-in-depth permission checks to transient deletion and object-cache flush methods.
* Removed bundled translation files so WordPress.org can manage translations through translate.wordpress.org.
* Expanded the readme to clearly document the read-first diagnostics focus, safety model, privacy, and cross-request persistence test.
* Updated compatibility to WordPress 7.1.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.3 =
Renamed to DevLemon Cache Observatory with a distinctive WordPress.org directory identity.

= 1.0.2 =
Security hardening update for bulk transient deletion input handling.

= 1.0.1 =
WordPress.org readiness and security hardening update with the new DevLemon Cache Observatory identity.

= 1.0.0 =
Initial release.
