Added Telegram external service documentation and uninstall cleanup handling.
1.2
Fixed Gutenberg automatic publishing so the selected social destinations and sidebar fields are saved reliably before the auto-post runs.
Reused the same internal publishing pipeline for both Gutenberg auto-post and the manual Publish now flow.
Prevented automatic re-posting on normal updates after a post is already published, unless the post leaves publish status and is published again.
1.0.25
Added Instagram feed image compatibility handling: images outside the supported 4:5 to 1.91:1 ratio are auto-cropped into a centered compatible copy before publishing.
Added a square-crop retry when Instagram still returns an unsupported aspect ratio error while creating the media container.
Rechecked WordPress.org review fixes: external services documentation, REST callback URLs via rest_url(), explicit setting sanitizers, and the native image cropper replacement remain in place.
1.0.24
Hardened uninstall cleanup so deleting the plugin is not blocked by stale cleanup data, upload folders, or old legacy Facebook options.
Prevented intentionally cleared/disconnected tokens from being restored from the automatic connection backup.
Clarified that disconnecting a network removes credentials, while deleting the plugin itself requires deactivating it first from the WordPress Plugins screen.
1.0.23
Improved Facebook identity confirmation messaging with clear mobile-app verification instructions and a preventive connection note.
Kept Facebook connected during Meta identity blocks and preserved technical logging without secrets.
1.0.22
Hardened the image remove action so selected/cropped images, local storage, file input, preview, and alt text are cleared reliably.
Cleared the manual publish image selection after successful and partial publishes so the next post starts clean.
Made Facebook disconnect clear both current Social Publisher options and legacy Facebook token options.
1.0.21
Improved Facebook Graph API error classification so code 368 is not always treated as identity confirmation.
Added safer Facebook diagnostics and technical logging without access tokens or app secrets.
Added Facebook test publishing options for text, link, and image checks.
1.0.20
Normalized hashtags consistently across manual publishing, Gutenberg, and network-specific payloads.
Added safer partial-result reporting so Pinterest anti-spam rejections are treated as network-specific warnings instead of full plugin failures.
Added Publisher image format options with an Original mode plus square, portrait, and landscape crops.
Hardened public media generation and validation for Instagram, Threads, Facebook, Pinterest, and Blogger uploads.
Improved Facebook Page connection fallback so page discovery can continue even when some business-related endpoints are unavailable.
Clarified user-facing publish and connection messages for Facebook, Pinterest, Instagram, Threads, and Blogger.
1.0.19
Removed the outdated bundled Cropper.js library and replaced it with a native image cropper.
Reworked Settings API registration so each setting type has an explicit sanitize callback.
Hardened the Facebook Pages cache sanitization and reduced cached settings to expected fields only.
Expanded external services documentation for Mastodon and Threads endpoints, data sent, terms, and privacy links.
1.0.18
Addressed WordPress.org review feedback for external services documentation, REST callback URLs, and settings sanitization.
1.0.14
Added automatic backup/restore protection for saved connections during updates and reinstalls
Preserved user data by default on delete unless cleanup is explicitly enabled
1.0.8
Fixed false connected states caused by missing options being treated as saved credentials
Fixed destination checkboxes so only real connected networks are preselected
1.0.3
Refined the Social Publisher admin branding and updated the header logo styling
Updated the header logo treatment for the Calliope SP brand asset
Removed the custom Update URI for WordPress.org compatibility
Added missing translators comments flagged by Plugin Check
Improved sanitization and unslashing for admin form and OAuth callback inputs
Renamed internal filter hooks to use the Social Publisher prefix