30/04/2025 - Vapor Release
⚙️ Serverless Infrastructure
Migration to Serverless Architecture
api3.mytoggle.io is now fully serverless, enabling significantly improved scalability during high-traffic spikes.
middleware.mytoggle.io, api.mytoggle.io, and api2.mytoggle.io remain on a traditional EC2 setup for now.
Queued actions are now processed faster and more reliably, improving overall system responsiveness.
Upgraded to Long-Term Support (LTS) Versions
PHP: Upgraded from 8.0.8 → 8.3
MySQL: Upgraded from 5.7.44 → 8.4.4
Laravel: Upgraded from version 8 → 11
⚡ Performance Improvements
Completely restructured stock management logic, dramatically reducing database load.
Rewritten handling of API query budgeting, optimizing efficiency and database utilization
Increased Maximum Concurrent Users (MCU) to support higher simultaneous traffic volumes.
🧩 Services & Architecture
The Apple/Google Wallet engine has been migrated to its own serverless API, isolating and scaling this service independently.
Images are now delivered via a new image service, supporting dynamic resizing and format conversion.
All assets (images, files) are now served from Amazon S3, eliminating reliance on EC2 storage.
Introduced a legacy API proxy to ensure older integrations remain functional without requiring updates. Note: These legacy services do not benefit from the new autoscaling capabilities.
All internal command line actions (such as creating webhooks) are now completed through the Vapor interface.
🐞 Bug Fixes
Fixed an issue where oversized image uploads (e.g. product logos) caused Apple Wallet installs to fail.
Improved pending order fulfillment logic:
Previously, high-traffic spikes that delayed order fulfillment beyond 30 minutes, risking stock inconsistencies as held stock would be released back for sale after this time. This is now no longer an issue, and stock won’t be released as long as an order is fulfilled within 24 hours of creation - this should only affect orders held by fraud prevention systems that aren’t manually approved during this time.
Batch action jobs (e.g., Toggle Switches) are no longer limited to a fixed number of executions, improving flexibility and throughput.
Last updated