38 lines
2.2 KiB
Markdown
38 lines
2.2 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to OpenGraph (by ROBOTSTXT) will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [1.0.0] - 2026-02-18
|
|
|
|
### Added
|
|
- Automatic format detection for AVIF, WebP, GIF, BMP, SVG, and TIFF featured images
|
|
- HTTP HEAD-based resolution of compatible JPEG/PNG alternatives
|
|
- Postmeta caching (`_og_image_fallback_url`) with automatic invalidation on featured image change
|
|
- Negative caching via transients (1-hour TTL) to avoid repeated failed HEAD requests
|
|
- Open Graph meta tags: `og:image`, `og:image:secure_url`, `og:image:width`, `og:image:height`, `og:image:type`
|
|
- Direct `wp_head` tag injection (when no SEO plugin is active)
|
|
- Yoast SEO integration via `wpseo_opengraph_image` filter
|
|
- RankMath integration via `rank_math/opengraph/facebook/og_image` filter
|
|
- Global fallback image setting (configurable in Settings > OpenGraph)
|
|
- Taxonomy archive image support via `robotstxt_og_taxonomy_image` filter
|
|
- Admin settings page (Settings > OpenGraph) with three tabs: Settings, Tools, Diagnostics
|
|
- WP-CLI commands: `wp og-fallback resolve` and `wp og-fallback clear-cache`
|
|
- REST API: `POST /wp-json/robotstxt-og/v1/resolve/{post_id}` and `GET /wp-json/robotstxt-og/v1/status/{post_id}`
|
|
- Developer filters: `robotstxt_og_external_image_enabled`, `robotstxt_og_external_image_timeout`, `robotstxt_og_taxonomy_image`, `robotstxt_og_enable_logging`
|
|
- Auto-updater via Gitea (`robotstxt-updater.php`)
|
|
- Multisite compatible with per-site configuration
|
|
- Full internationalization support (text domain: `robotstxt-og`)
|
|
- `uninstall.php` with optional data deletion on plugin removal
|
|
|
|
### Security
|
|
- Nonce verification on all forms and state-changing actions
|
|
- `manage_options` capability check on all admin pages, REST endpoints, and WP-CLI commands
|
|
- Input sanitization via WordPress APIs throughout
|
|
- Output escaping on all dynamic HTML
|
|
- WordPress database APIs exclusively (no direct SQL writes; `$wpdb->prepare()` for reads)
|
|
- CSRF protection on all state-changing actions
|
|
|
|
[1.0.0]: https://git.robotstxt.es/ROBOTSTXT/robotstxt-og/releases/tag/1.0.0
|