v1.2.0
⚡️ Voltra 1.2.0
I am excited to announce Voltra 1.2.0! This release introduces a powerful new layout engine for iOS, enhanced Expo support, and significant improvements to developer control over widgets and media.
💎 Highlights
🍱 Flexbox (iOS)
I've introduced a new layout system via Voltra.View that brings React Native-style Flexbox capabilities directly to your views. This is fully opt-in; VStack and HStack continue to use standard SwiftUI layout, but when you need complex alignment, wrapping, or gap control, Voltra.View is now your best friend.
Supported properties include: flexDirection, justifyContent, alignItems, gap, flex, and more.
⚠️ Note: Flexbox support is currently experimental and a work in progress. Some features, such as absolute positioning, are missing but will be added in upcoming releases. If you stumble upon any edge cases, please don't hesitate to open an issue report; your feedback helps me make it rock solid.
📍 Relative & absolute positioning (iOS)
You can now mix relative and absolute positioning within your layouts. This unlocks much more flexible design patterns and overlay capabilities without fighting the layout system.
🖼️ Customizable image fallbacks (iOS and Android)
Say goodbye to the default placeholder. You can now provide a custom view to render whenever an image fails to load, ensuring your UI remains consistent and branded even when the network isn't.
🔌 Expo Config Plugin & EAS
The Expo plugin has been completely refactored to ensure seamless integration with EAS (Expo Application Services). Building Voltra-powered apps in the cloud is now smoother and more reliable.
🎛️ New API: getActiveWidgets (iOS and Android)
You can now programmatically query which widgets are currently active using Voltra.getActiveWidgets(). This is perfect for reacting to widget states directly within your logic or debugging active instances.
✨ Improvements & fixes
- Timer Rewrite (iOS): The Timer component has been rebuilt from the ground up with layout constraints in mind, resulting in much more reliable rendering.
- Text & Stack Alignment (iOS): Fixed various alignment edge cases in text and stack components.
- Line Height (iOS): Added
lineHeightsupport toVoltraTextStylefor full control over vertical text rhythm. - Progress Labels (iOS):
currentValueLabelis now supported on Linear and Circular Progress Views, allowing values to be shown directly on the indicators. - Widget Icons (iOS): Fixed app icon inheritance in widget extension build settings.
- Timeline Pruning (iOS): The logic has been updated to ensure the latest past timeline entry is preserved when pruning, preventing data gaps.
🙏 Contributors
Thank you to all the contributors who made this release possible:
@alex-vance
@bartoszboruta
@chukwumaokere
@V3RON
Full changelog: v1.1.2...v1.2.0