Changelog
What's new in
BridgeKit.
All notable changes to the library. Format follows Keep a Changelog.
v1.3.0
Latest April 27, 2026
Added
-
Folder & file tree —
StorageTreeNodeandlistTree()onFileStorageInterface, withwalk(),toAscii(), JSON serialisation, and theBuildsFileTreetrait for all storage services. -
S3
webUrl— canonical URLs for objects (virtual-host vs path-style) plusgetPresignedUrl()for private buckets. -
SharePoint —
MicrosoftSharePointServicevia Graph document libraries;sharepoint()on the Microsoft provider, optionallistLibraries(), env keys undermicrosoft.sharepoint.
193
Tests
488
Assertions
v1.2.0
April 4, 2026
Added
-
Webhooks — incoming webhooks for Google, Microsoft, Meta, and X with verification, parsing, and Laravel events (files, social, calendar). Configurable route prefix via
bridgekit.webhooks. - Token auto-refresh — expired OAuth tokens are automatically refreshed before each API call with a 60-second buffer. Zero configuration, works across all OAuth providers.
-
Retry + Rate limiting — built-in retry with exponential backoff for 429/5xx errors. New
RateLimitExceptionwithretryAfterproperty. Configurable viawithRetry(). -
Multi-posting — broadcast a
SocialPostacross Meta, LinkedIn, X in one call viaMultiPoster. Auto-adapts content per platform limits (280/3k/63k chars). ReturnsMultiPostResultwith success/failure per provider. -
Dropbox provider — full OAuth 2.0 +
FileStorageInterface. Upload sessions for large files, search, folder creation. 6th storage provider alongside Google Drive, OneDrive, FTP, S3, SFTP. -
New DTOs —
MultiPostResultwithisFullSuccess(),isPartialSuccess(),getResult(provider),getError(provider). -
ConnectManager shortcuts —
dropbox(),multiPost().
Changed
-
HasHttpClienttrait now handles retry, rate limiting, and token auto-refresh transparently. -
BridgeKitServiceProviderregisters webhook routes and the webhook processor. - Provider count increased from 8 to 9 (Dropbox added).
176
Tests
448
Assertions
9
Providers
5
Major areas
v1.1.0
March 29, 2026
Added
3 New Storage Providers
FTP / FTPS
SSL, passive mode, ftp_mlsd listing
S3
AWS Sig V4, multipart, MinIO/R2/DO compatible
SFTP
Password or SSH key, chunked streaming
Architecture
AbstractStorageProvider
— New base class for credential-based providers (no OAuth required)
Provider enum
— 3 new cases (Ftp, S3, Sftp) + isStorageOnly(), requiresOAuth() helpers
ServiceType::Storage
— New enum case for storage services
ConnectManager shortcuts
— ftp(), s3(), sftp() with inline config support
Inline config
— All storage providers can be instantiated with a config array — no .env required
S3-Compatible Endpoints
AWS S3
MinIO
DigitalOcean Spaces
Cloudflare R2
Testing
128
Tests passing
322
Assertions
v1.0.0
March 29, 2026
Added
5 OAuth Providers, 15 Services
Google
Drive · Gmail · Calendar · OAuth
Microsoft
OneDrive · Outlook · Calendar · OAuth
Meta
Posts · OAuth
LinkedIn
Posts · OAuth
X
Posts · OAuth
Architecture
6 Contracts
— ProviderInterface, OAuthInterface, FileStorageInterface, EmailSenderInterface, PostPublisherInterface, CalendarInterface
6 Typed DTOs
— OAuthToken, StorageFile, EmailMessage, CalendarEvent, SocialPost, SocialPostResult — all final readonly
6 Backed Enums
— Provider, Visibility, EventStatus, MailFolder, OAuthGrantType, ServiceType
4 Exceptions
— BridgeKitException, AuthenticationException, ProviderException, InvalidConfigException
Abstract base classes
— AbstractProvider, AbstractService, AbstractAuthService — eliminate boilerplate
HasHttpClient trait
— Built-in error handling via Laravel HTTP Client
Performance
Streaming downloads
Zero memory overhead via
downloadStream()Resumable uploads
Chunked, fault-tolerant via
uploadLargeFile()Lazy generators
Memory-efficient pagination via
listFilesLazy()Laravel Integration
BridgeKitServiceProvider — auto-discovery, config merging, singleton binding
BridgeKit facade — static access to ConnectManager
ConnectManager — provider shortcuts + extend() for custom providers
Extensible — register custom providers via extend()
Config publishing via php artisan vendor:publish --tag=bridgekit-config
Testing
76
Tests passing
195
Assertions
Requires PHP 8.3+, Laravel 13, PHPUnit 11, Orchestra Testbench 11