All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added PHPCS inline directives (
phpcs:disable) to all source, example, and test files for WordPress Plugin Check compatibility - Framework-agnostic library files now pass WordPress coding standards when bundled as a vendor dependency in WordPress plugins
- Suppressed
WordPress.Security.EscapeOutput.ExceptionNotEscaped— exceptions are not WordPress output in this library - Suppressed
WordPress.WP.AlternativeFunctions— native PHP functions (cURL, json_encode, file_get_contents) are required for framework independence - Suppressed
WordPress.PHP.DiscouragedPHPFunctions— base64_encode/urlencode required for OAuth and API operations - Suppressed
WordPress.PHP.NoSilencedErrors— @unlink used for temporary file cleanup in HttpClient - Suppressed
Universal.Operators.DisallowShortTernary— short ternary intentionally used for concise null/empty handling
- Framework-agnostic PHP core for social media publishing
- Platform abstractions with
PlatformInterfaceandPlatformResponseInterface - Content model:
Post,Media,MediaCollection, andCanonicalLinkvalue objects - Publishing engine with
Publisherorchestrator andPublishResult - Platform-specific formatters with
FormatterInterfacecontract - Character truncation and hashtag extraction utilities
- Telegram platform implementation (
TelegramPlatform,TelegramFormatter) - Twitter/X platform implementation (
TwitterPlatform,TwitterFormatter) - Facebook platform implementation (
FacebookPlatform,FacebookFormatter) PlatformRegistryfor managing multiple platform instances- OAuth handler with
OAuthProviderInterfaceandTokenStoreInterfacecontracts AccessTokenvalue object with expiration and refresh token support- Configuration system with
OwlstackConfig,PlatformCredentials, andConfigValidator DeliveryStatusenum for tracking publish delivery states- Event system with
EventDispatcherInterface,PostPublished, andPostFailedevents - cURL-based HTTP client with zero framework dependencies
- Proxy support with authentication in HTTP client
- Exception hierarchy:
OwlstackException,AuthenticationException,PlatformException,RateLimitException,ContentTooLongException,MediaValidationException - Support utilities:
Arr,Str,Clockhelpers - PHPUnit test configuration with Unit and Integration test suites