v1.2.0
Security & Hardening
- Remove CORS wildcard headers and enforce per-user rate limiting
- Add
current_user_can()authorization checks to tool execution and WordPress tool - Validate tool arguments against inputSchema before handler dispatch
- Strip JS page settings keys on template import when dangerous actions disabled
- New RateLimiter class with atomic
wp_cache_incrpattern replaces duplicated transient logic - Add
validate_arguments()to ValidationService for tool input schema validation - Add rate limit RPM settings field on admin page
- Add SECURITY.md documentation
Performance
- Fix N+1 queries in post listing tools via cache priming
Accessibility
- Add ARIA roles, id attributes, and aria-selected/tabindex to settings page form inputs and tab component
- Add arrow-key tab navigation to admin updates UI
Admin UI
- Add settings save feedback via
settings_errors() - Extract inline styles from Settings.php into admin-settings.css
Full Changelog: v1.1.5...v1.2.0