# Changelog

All notable changes to Waypoint Agent are documented here.

---

## [Unreleased]

## [0.5.7] - 2026-06-14

### Added
- **RankMath: Homepage OG Image Fallback** — new toggleable feature that uses the global Default Social Share Image on the homepage when no explicit Rank Math social image or featured image is set; respects explicit homepage-level, page-level, and featured image overrides in priority order
- `WPOSES_HIDE_VERIFIED` constant added to suppress WP Offload SES verified-sender notice

---

## [0.5.6] - 2026-06-14

### Fixed
- Admin notice for missing `WAYPOINT_AGENT_KEY` now shows `wp waypoint-agent rotate-key` instead of the raw `openssl` command

---

## [0.5.5] - 2026-06-14

### Added
- **Settings page redesign** — card layout, CSS toggle switches with live Enabled/Disabled badge (updates without page reload), footer save bar
- **Admin notice** — red `admin_notices` error when `WAYPOINT_AGENT_KEY` is not set, shown only to admins, disappears once the key is configured

---

## [0.5.4] - 2026-06-13

### Fixed
- ACF Pro now installs into `vendor/wpengine/advanced-custom-fields-pro/` via `installer-paths` override — previously `composer/installers` routed it to `wp-content/plugins/`
- `wp-content/` directory excluded from dist rsync so the dist stays clean

---

## [0.5.3] - 2026-06-13

### Fixed
- Dist `composer.json` no longer declares `wpengine/advanced-custom-fields-pro` as a requirement — consumers were getting a "could not be found" error because they don't have ACF repo auth
- CI strips `repositories`, `require[wpengine/...]`, and `config` from `composer.json` via `jq` before syncing to dist

---

## [0.5.2] - 2026-06-13

### Fixed
- `composer/installers` plugin now allowed in CI via `allow-plugins` config
- `composer.lock` committed so CI installs are reproducible

---

## [0.5.1] - 2026-06-13

### Fixed
- Release pipeline corrections after initial dist push

---

## [0.5.0] - 2026-06-13

### Added
- **PSR-4 Victoria-pattern refactor** — monolithic `waypoint-agent.php` split into namespaced classes under `src/`, each registering its own hooks via `attach_hooks()`
- **ACF Pro bundled** — `wpengine/advanced-custom-fields-pro` included in dist via Composer; `Acf\Loader` bootstraps it only if ACF isn't already active
- **Settings page** — `Tools > Waypoint Agent` with per-feature toggles (all default on)
- **Disable Comments** — removes comment support sitewide, closes REST comments endpoint, hides comment UI in admin
- **Default Content cleanup** — deletes the "Hello world!" post on first run (one-shot, guarded by option flag)
- **RankMath integration** — suppresses `slack_enhanced_data` from OpenGraph output
- **GitHub Actions release pipeline** — builds dist into `statenweb/site-agent-dist` with `vendor/` committed and ACF auth; consumers install without needing ACF credentials
- **Package rename** — `statenweb/waypoint-helper` (replaces deprecated `statenweb-plugin/waypoint-monitor`)
- **`wp waypoint-agent rotate-key`** WP-CLI command — generates and writes `WAYPOINT_AGENT_KEY` to `.env` in one step

---

## [0.4.1] - 2026-05-21

### Changed
- Minor SEO handling updates

---

## [0.4.0] - 2026-05-16

### Added
- SEO / metadata handling

---

## [0.3.3] - 2026-04-30

### Changed
- Force-serve REST response body; DRY namespace constants

---

## [0.3.2] - 2026-04-29

### Added
- Bypass WPO365 SSO for `waypoint-monitor` and `waypoint-agent` REST endpoints

---

## [0.3.1] - 2026-04-29

### Changed
- Prefer Bedrock-canonical `.env` location (one directory above web root)

---

## [0.3.0] - 2026-04-29

### Added
- Initial REST routing and HMAC auth

---

## [0.2.3] - 2026-04-29

### Fixed
- Permission check stability improvements

---

## [0.2.1] - 2026-04-28

### Changed
- Enhanced permission checks

---

## [0.2.0] - 2026-04-28

### Added
- Bearer token auth alongside HMAC

---

## [0.1.0] - 2026-04-27

### Added
- Initial release — site registration, status endpoint, Composer package
