Noteworthy changes deprecated
8.46
Architecture
Breaking Change
- The UI's former “home container” which was a static nginx server suited for delivering UI assets (JavaScript bundles, CSS, etc.), has been replaced by a fastify-based nodejs service.
- IMPORTANT: Please check and adjust existing memory limits. The former nginx-based service had a lower memory demand to just serve static UI sources. The nodejs-based service needs more room to work. Especially when enabling features like BIMI. The default is
256Mi(for both request and limit). By default, the helm chart starts two instances of the service. - This shift introduces a proper runtime environment directly alongside the UI, enabling a Backend-for-Frontend (BFF) pattern. Instead of routing every UI-adjacent operation through the Java middleware, we can now implement lightweight, UI-centric services directly within the UI stack.
- BIMI is the first feature built on this foundation.
- The new architecture also opens the door for additional UI-focused functionality, such as:
- Local authentication handling, potentially superseding the Switchboard service for UI-side auth flows.
- UI-specific configuration endpoints, allowing faster rollout and iteration of configuration changes without touching and restarting the core backend services.
- Overall, this refactoring establishes a more flexible and responsive UI platform, better suited for features that are tightly integrated with the frontend experience.
8.33
Consumed API
Migrate to new Mail API endpoints
Breaking Change
- Issue 715
- Migrate to new Mail API endpoints for actions
move,flag,archiveandcopy - The new endpoints support multiple mail references in a single request, improving efficiency and performance.
- This change is also a prerequisite for enabling some of our upcoming features.
- Backward Compatibility
- The old endpoints are used by default for middleware versions before version
8.33. - If the old API is still needed, you can enable it by setting
io.ox/mail//useLegacyAPItotrue.
- The old endpoints are used by default for middleware versions before version