LoopOS 07.2026.03 (M, C, S, Vr, Hr, Hu)
· 6 min read
Main News
AWS Migration — object storage on Amazon S3 (IRSA)
Apps can store Active Storage uploads on Amazon S3 (EKS IRSA or static IAM keys), with Manager infrastructure settings to pick the backend and migrate from DigitalOcean Spaces without changing blob keys.
Engineering-only deploy.
- Manager - 0.27.10.0
- Core - 0.27.11.0
- Submission - 0.24.35.0
- Validation Rails - 0.27.8.0
- Handling Rails - 0.27.9.0
- Hubs - 0.27.8.0
Tech Notes
Tech Notes
What must be done before deployment:
- Engineering-only deploy.
- Deploy Manager
0.27.10.7, Core0.27.11.6, Submission0.24.35.6, Validation Rails0.27.8.1, Handling Rails0.27.9.1, and Hubs0.27.8.1together (apps depend on LoopOS UI1.1.65.2and DS SDK2.92.0). - Prefer Manager
0.27.10.7, Core0.27.11.6, Submission0.24.35.6, Validation Rails0.27.8.1, Handling Rails0.27.9.1, and Hubs0.27.8.1(include latest hotfixes on top of the package minors). - For instances staying on DigitalOcean Spaces: leave the new object-storage backend on digitalocean (default) — no behaviour change.
- For AWS S3 migration (per app instance that owns uploads):
- Copy existing objects from DigitalOcean Spaces to the AWS bucket preserving Active Storage blob keys.
- In Manager → App instance → Infrastructure settings → Object storage (Active Storage), set Storage backend to
aws_s3, configure bucket/region, then either enable Amazon S3 via IRSA (EKS) or set static IAM access keys (non-EKS). - Restart Rails/Sidekiq pods and verify direct upload.
- On Core, after object sync, backfill blob
service_namevalues (see Migrations below).
- Host apps that mount LoopOS UI and store files locally must render the AWS S3 meta tag / use UI
1.1.65.2so uploaders omitx-amz-aclwhen AWS mode is on. Submission resolves the flag from the connected Core viaGET /object_storage_config.
New settings/configs/scopes:
- Manager, Core, Validation Rails, Handling Rails, Hubs (Infrastructure settings)
- Object storage (Active Storage) group (replaces / extends the previous DigitalOcean-only storage group where present)
Storage backend(active_storage.service/secrets.active_storage_service) —digitalocean(default),aws_s3, and on Manager alsolocal(dev only)Amazon S3 via IRSA (EKS)(aws_s3_irsa_enabled/secrets.aws_s3_irsa_enabled) — defaultfalse; pod IAM instead of static keysIRSA Kubernetes ServiceAccount(object_storage_service_account_name/secrets.object_storage_service_account_name) — Manager/Core; defaultobject-storage-sawhen empty- Bucket and DigitalOcean Spaces — bucket name and region are shared (legacy
DIGITALOCEAN_*env names) for both backends; endpoint/key/secret only for DigitalOcean - Amazon S3 IAM access keys (
secrets.aws.*) — static keys when backend isaws_s3and IRSA is disabled
- Object storage (Active Storage) group (replaces / extends the previous DigitalOcean-only storage group where present)
- Submission (Feature Settings → Store Settings → In Store Banner) — from
0.24.35.3Use Site logo— use the site logo instead of the default LoopOS logo on the Acceptable Online Disabled bannerMessage— customizable copy for the Acceptable Online Disabled banner (translatable)
- Scopes: no
app_scopeschanges in Manager, Core, Submission, Validation Rails, Handling Rails, or Hubs for this package.
Migrations or Data Migrations made (to revert):
- Core
- Data migration (rake):
object_storage:migrate_blob_service_names— updatesactive_storage_blobs.service_namefromdigitaloceantoaws_s3_irsaafter objects are copied to AWS with the same keys. Preview withDRY_RUN=1. Service:ObjectStorage::MigrateBlobServiceNames. Docs:docs/deployment/object-storage.md.
- Data migration (rake):
Retrocompatibility
→ Any app besides manager on version 0.27.x.x is only compatible with Manager 0.27.x.x
→ Manager 0.27.x.x is still compatible with all previous versions of the other apps
→ Manager 0.26.0.0 and Core 0.26.0.0 must be deployed together for multitenancy and virtual instances
→ To use Validation, Handling 0.25.x.x and Hubs 0.22.x.x and above, you need Core 0.25.x.x or above
Manager
[0.27.10.7] - 2026-08-14
Added
- (Technical) Support for multiple space-separated manual URLs on app instances
[0.27.10.6] - 2026-08-06
Changed
- Recurrency of Insurama incoming payments update
[0.27.10.5] - 2026-07-22
Changed
- Improved performance of the application settings endpoint in multi-cluster setups by resolving the main cluster and partner applications once per request – #869e2cfca
[0.27.10.4] - 2026-07-17
Fixed
- (Technical) Partner ingress Terraform failing when the root certificate secret data is empty
[0.27.10.3] - 2026-07-17
Changed
- (Technical) Application logger formatter exceptions are captured and reported to Sentry
[0.27.10.2] - 2026-07-16
Fixed
- (Technical) Infrastructure sync failing when Terraform database credentials contain special characters
[0.27.10.1] - 2026-07-16
Fixed
- (Technical) Deployment not working for AWS bucket storage
[0.27.10.0] - 2026-07-16
Added
- AWS S3 IRSA service with object storage configuration – #869dwdb3u
Core
[0.27.11.6] - 2026-07-23
Fixed
- (Technical) Allow items created by script to show on submission
[0.27.11.5] - 2026-07-22
Fixed
- Core Invoice block Block Settings show only JSON, not form fields – #869dxwje6
[0.27.11.4] - 2026-07-22
Fixed
- Submission url in Core advanced details section overlapping extra data section – #869e1amn0
[0.27.11.3] - 2026-07-20
Fixed
- Protocol elements not visible after draft answers – #869e6t67d
[0.27.11.2] - 2026-07-17
Fixed
- (Technical) Settings schema infinite recursion
[0.27.11.1] - 2026-07-16
Fixed
- (Technical) Active Storage AWS S3 IRSA service failing to load due to incorrect module nesting – #869dwdb3u
[0.27.11.0] - 2026-07-16
Added
- object_storage_config endpoint + AWS_S3_IRSA_ENABLED wiring – #869dwdb3u
Submission
[0.24.35.6] - 2026-08-05
Fixed
- Allow adding images/files when no min. files or min. is 1 (not only replace) – #869e5k54r
[0.24.35.5] - 2026-07-30
Fixed
- Pass Submission locale to Manager profile iframe
[0.24.35.4] - 2026-07-29
Fixed
- EasyPay widget not appearing
[0.24.35.3] - 2026-07-22
Added
- Translations and customizable copy/logo for the Acceptable Online Disabled banner – #869e4yzye
[0.24.35.2] - 2026-07-20
Fixed
- (Technical) Uploaded files in protocol answers not saved on submit (missing Active Storage signed ID)
[0.24.35.1] - 2026-07-17
Fixed
- (Technical) Direct uploads and images from regional AWS S3 endpoints blocked by Content Security Policy – #869dwdb3u
[0.24.35.0] - 2026-07-16
Added
- Wire AWS S3 IRSA support for direct uploads – #869dwdb3u
Validation Rails
[0.27.8.1] - 2026-07-22
Changed
- (Technical) Update LoopOS UI to 1.1.65.2
[0.27.8.0] - 2026-07-16
Added
- Implement AWS S3 IRSA service with direct upload support – #869dwdb3u
Handling Rails
[0.27.9.1] - 2026-07-22
Changed
- (Technical) Update LoopOS UI to 1.1.65.2
[0.27.9.0] - 2026-07-16
Added
- Implement AWS S3 IRSA service with direct upload support – #869dwdb3u
Hubs
[0.27.8.1] - 2026-07-22
Fixed
- (Technical) File upload failing with AWS S3 IRSA because ACL mode was read from Hubs instead of Core
Changed
- (Technical) Update LoopOS UI to 1.1.65.2
[0.27.8.0] - 2026-07-16
Added
- Implement AWS S3 IRSA service with direct upload support – #869dwdb3u
