Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</a>
<img src="https://img.shields.io/badge/WordPress-6.2%E2%80%937.1-21759b?logo=wordpress" alt="WordPress" />
<img src="https://img.shields.io/badge/PHP-7.4%2B-777bb4?logo=php" alt="PHP" />
<img src="https://img.shields.io/badge/Stable-2.22.0-green" alt="Stable" />
<img src="https://img.shields.io/badge/Stable-2.23.0-green" alt="Stable" />
</p>

---
Expand Down Expand Up @@ -239,6 +239,11 @@ These plug straight into **Aura's Fleet MCP Gateway**: read tools run on demand,

## Changelog

### 2.23.0

- **`publish-document` promoting an autosave is a custom-CSS write** (P7.2, references re-verification 2026-09-28 §4). Elementor 4.3.2's `publish-document` restores the calling user's pending autosave, page settings and CSS included, so a listed promoter (`AUTOSAVE_PROMOTERS`) declares a conservative `custom_css` touch when — and only when — an autosave exists to promote (owner decision). An Elementor without `promote_pending_autosave` promotes nothing; an unresolved target or a missing `wp_get_post_autosave()` fails conservative. (#141)
- **The judgement stays true to what Elementor promotes.** A replay asks about the held actor's autosave, not the approver's; `govern()`'s per-request memo is keyed on the touches too; a warn the wrapper meets that the approval did not acknowledge answers `warn_changed` and keeps the hold; an autosave that appears before the callback refuses retryably (`409 aura_autosave_appeared`, approval given back); and while a CSS-free publish runs, a `posts_pre_query` filter answers Elementor's own autosave lookup (a `WP_Query` since WP 6.4) with none, so a later autosave stays staged for the next judged publish. (#141)

### 2.22.0

- **An install ledger** (Digitizers/Aura spec 2026-09-21 §4, P6.3 phase 2). New `Aura_Worker_Install_Ledger` observes the upgrader for plugin and theme runs only — a per-run token in `hook_extra`, `upgrader_pre_download` at `PHP_INT_MAX`, the entry at `upgrader_install_package_result` — and records and never decides. Each entry: when, type, action, slug, version (the main file), transport (`siteagent` for SiteAgent's own upgrader object, `wp_cli`, `auto_update` only inside core's `wp_maybe_auto_update` — never the upgrader skin, `cron`, `rest`, `wp_admin`), user id, auth, the application password's name (never its uuid), REST route, and the package source (`wporg`, `uploaded_zip`, `remote_host` + host, `local_path`, `unknown`). (#139)
Expand Down
4 changes: 2 additions & 2 deletions digitizer-site-worker/digitizer-site-worker.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* Plugin Name: SiteAgent for Aura
* Plugin URI: https://my-aura.app/siteagent
* Description: Remote site management agent for Aura dashboard. Enables secure updates, health monitoring, and maintenance operations via REST API.
* Version: 2.22.0
* Version: 2.23.0
* Requires at least: 6.2
* Requires PHP: 7.4
* Author: Digitizer
Expand All @@ -18,7 +18,7 @@
exit;
}

define( 'AURA_WORKER_VERSION', '2.22.0' );
define( 'AURA_WORKER_VERSION', '2.23.0' );
define( 'AURA_WORKER_FILE', __FILE__ );
define( 'AURA_WORKER_DIR', plugin_dir_path( __FILE__ ) );

Expand Down
5 changes: 4 additions & 1 deletion digitizer-site-worker/readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Tags: ai, automation, maintenance, updates, wordpress management
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 2.22.0
Stable tag: 2.23.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Expand Down Expand Up @@ -253,6 +253,9 @@ Yes. SiteAgent is open source under the GPLv2 or later license. The source code

== Changelog ==

= 2.23.0 =
* Operator rules about custom CSS now also cover Elementor's publish-document when publishing would take a pending autosave live, since that autosave can carry CSS no rule has seen. A publish with no autosave is unaffected. If an autosave appears while a call is being approved or run, the call is stopped and can be retried, or it publishes without that autosave, which stays waiting for the next publish. No new settings.

= 2.22.0 =
* New: an install ledger. Every plugin and theme install or update is recorded with how it arrived (wp-admin, REST, WP-CLI, cron, a WordPress auto-update, or SiteAgent itself), which user and application password, and where the package came from, so Aura can flag packages an AI agent installed. It only observes; it never blocks an install. Nothing to configure.
* Privacy: each record keeps the user ID, the application password's name (never the password) and the REST route. While the plugin is active, records older than 90 days (or beyond the latest 200 installs) are deleted; a deactivated plugin cannot delete anything, so they stay until its first cleanup after reactivation (the daily clean-up, an audit or the next install) or until it is uninstalled. Records are not autoloaded and are deleted when the plugin is uninstalled.
Expand Down
Loading