Repository navigation
The BYOS Update (Bring Your Own Storage)
🚀 The BYOS Update (Bring Your Own Storage)
We are thrilled to announce urBackend v0.6.0! This release marks a significant milestone in our journey to give developers complete control over their infrastructure. Say hello to Bring Your Own Storage (BYOS).
✨ New Features
📦 External Storage Integration (S3 & R2)
You are no longer tied to default storage. You can now connect your own enterprise-grade storage providers directly to your projects.
- AWS S3 Support: Connect any AWS S3 bucket with full region support.
- Cloudflare R2 Support: Full compatibility with Cloudflare's S3-compatible R2 storage.
- Provider-Specific Validation: A new dynamic configuration system that ensures your keys, buckets, and endpoints are correctly set up.
🔌 Storage Adapter Architecture
We've re-engineered our internal storage engine using the Adapter Pattern. This means:
- Seamlessly switch between Supabase, S3, and R2 without changing a single line of your application logic.
- Consistent API experience across all providers (
.upload(),.remove(),.list(),.getPublicUrl()).
🛠️ Improvements & Refinements
- Encrypted-at-Rest Configs: All external credentials (Access Keys, Secret Keys) are now fully encrypted using AES-256-GCM before being stored in our database.
- Smart Cache Invalidation: Updated the
storageRegistryto automatically flush and re-initialize storage clients whenever project settings are updated. No more stale connections! - CDN Domain Support: Added
publicUrlHostfield allowing you to map your own Custom Domains or CDNs (CloudFront/Cloudflare) to your storage assets. - Enhanced UI Experience:
- The Project Settings dashboard now features a dynamic form that swaps fields based on the selected provider.
- Added "Required vs Optional" indicators specifically tailored for S3 vs R2 requirements.
- S3 Protocol Compatibility: Implemented
forcePathStyle: trueensuring 100% compatibility with R2 endpoints and self-hosted S3 solutions like MinIO.
🐛 Bug Fixes
- Fixed a critical "wanted vs got" integrity mismatch in
package-lock.jsoncausing CI/CD failures. - Fixed an S3 prefix bug where listing the root directory would incorrectly append a trailing slash.
- Corrected UI typos in the Storage Configuration labels.
💡 What's next?
With Storage and Databases already customizable, we are looking into expanding our SDK ecosystem. Stay tuned!
Full Changelog: View on GitHub