This release introduces external fleet manager access in Spark and a fully redesigned mobile location screen, alongside Public API v2 webhook notifications, charger list and map improvements, and a range of fixes across Mobile, Spark, and backend services.

🧩 New Development

1. External Admin role added for managing fleet assets in Spark Operators can now invite Fleet Managers from their customers directly into Spark. These users are assigned the External Admin role, which allows them to manage their own fleet assets, including vehicles, drivers and charge keys. The role is restricted to the Fleet module, ensuring that all other platform functionality remains limited to CPO administrators. This allows operators to give fleet managers direct access to manage their assets without granting full platform permissions.

Platform: Spark

2. New location card UI in mobile apps The location screen in the app has been completely redesigned from the ground up. Users now get a much cleaner and more intuitive layout that surfaces more information at a glance, including charging and pricing details, making it easier to find what they need before and during a charging session.

Platform: Mobile

3. Fleet charge key helper texts updated for internal and external management The helper text in the Add charge key popup and Create new fleet team flow was revised to clarify allowed formats and input rules.

Platform: Spark

4. White-label CPO logo displayed in top menu when configured The header now replaces the EOSVOLT logo with a white-label CPO logo when configured, while keeping EOSVOLT as a fallback and preserving existing tenant_CPO behaviour.

Platform: Spark

5. Expanded location view enhanced with pricing, fees, and booking New buttons and drawers for pricing, fees, and booking were implemented in the expanded location view.

Platform: Mobile

6. Dynamic QR deep-link handling implemented for sub_CPOs under Tenant_CPO Plug QR code logic was updated so deep-links automatically resolve to the correct app scheme for each sub_CPO without requiring manual code changes.

Platform: Backend

7. CPO-controlled admin view rights added for Intelligence module Configurable admin access to the Intelligence module was implemented at CPO level, with the option visible only when the Intelligence feature flag is enabled and direct URL access restricted for admins without permission.

Platform: Spark

8. API endpoint created to control minimum app version and trigger update drawer A backend endpoint was implemented returning the required minimum app version so the mobile app can determine whether to display the update drawer based on the user's current version.

Platform: Backend

9. URL state enabled for search, filters, and pagination across Spark Spark lists now reflect search terms, filters, and pagination in the URL, enabling views to be shared, restored on refresh, and navigated correctly with browser history.

Platform: Spark

10. OTP emails simplified to plain text format All OTP emails for app and Spark login were updated to a minimal text-only format without branding elements, with the OTP code emphasised for readability.

Platform: Backend

11. Minimum required app version check and update banner implemented The app now requests the minimum supported version from the backend on launch, wake-up, and periodic background checks, displaying an Update App banner with a store deep link when the installed version is below the required version.

Platform: Mobile

12. Plug speed and type added to charger list view Operators can now see each plug's charging speed and connector type directly in the charger list, alongside its ID and status. This removes the need to open individual charger records just to identify plug types, making day-to-day management faster and more efficient.

Platform: Spark

13. Multi-phase voltage and current values from OCPP MeterValues handled in Session and Charger Insights MeterValues parsing, storage, and insights visualisations were updated to correctly separate and display per-phase current (L1, L2, L3) and voltage (L1-N, L2-N, L3-N) for three-phase AC chargers.

Platform: Spark

14. Additional location information displayed on map pin hover Hovering over a map pin now reveals a card showing the location name and connector availability grouped by plug speed, giving operators a quick overview of a site without having to click through to the full location details.

Platform: Spark

15. Currency abbreviations standardised to avoid double punctuation at sentence end Formatting rules were updated so currencies with abbreviations ending in a dot use only a single sentence-ending dot for most languages, preserving native punctuation for Armenian, Chinese, and Thai.

Platform: Mobile

16. Timer added for failed start/stop session notifications in Public API v2 A delayed worker job was implemented to detect failed start or stop session operations. If a session is not successfully started or stopped within 180 seconds, a notification with relevant details is sent to the configured webhook.

Platform: Backend

17. Start and stop session webhook notifications implemented for Public API v2 Webhook notifications were added for sessions initiated via Public API v2, listening to Cosmos startTransaction and stop events and sending a POST request to subscribed CPO webhooks via a new webhookNotificationService.

Platform: Backend

This release introduces EOSVOLT’s new AI-powered Intelligence module, alongside improvements to accessibility, mapping, authentication reliability, payments, APIs, and load balancing across Mobile, Spark, COSMOS, and backend services.


🧩 New Development

1. Improved accessibility across EOSVOLT and all white-label apps Accessibility support has been improved across all mobile apps, ensuring better compatibility with system accessibility settings and assistive technologies.

Platform: Mobile


2. Fleet charge key input restricted to alphanumeric characters The Add new charge key flow was updated so charge keys now accept only letters and numbers.

Platform: Spark


3. Pre-authorisation payment notifications at session start Users now receive a notification when a pre-authorisation hold is taken at the start of a charging session, explaining the reserved amount, currency, and refund behaviour.

Platform: Backend, Mobile


4. Dual Cosmos hub synchronization for load balancing A robust synchronization strategy was implemented between multiple Cosmos hubs to ensure reliable load balancing and consistent charger state handling.

Platform: COSMOS


5. Email address normalization for OTP reliability Email addresses are now automatically normalized before OTP generation and validation, preventing login failures caused by casing or diacritics.

Platform: Mobile


6. Map tab added to Spark with live availability Spark now includes a Map tab showing all CPO locations with live plug availability, auto-zoom, full pan and zoom controls, and navigation to location details.

Platform: Spark


7. OCPI payment method visibility for POS terminal sessions Sessions initiated via POS terminals connected through OCPI now correctly display OCPI as the payment method in the Spark sessions table.

Platform: Spark


8. Date-time filtering added to meter values API The meter values API now supports optional from and to date-time parameters for filtered data retrieval.

Platform: COSMOS


9. Updated load balancing zone helper text and validation The grid capacity buffer helper text was updated for clarity, and the input field now accepts values from 1 to 99.

Platform: Spark


10. Intelligence module launched Intelligence is now live in Spark. This AI-powered diagnostics layer analyses OCPP session data to surface what matters most for daily operations.

Platform: Spark


11. New location card UI in mobile apps A redesigned location card UI was introduced, offering a more intuitive and user-friendly presentation of charging and pricing information.

Platform: Mobile


12. User-friendly fallback error messaging Unexpected errors in the mobile apps are now wrapped with a clear, consistent fallback message.

Platform: Mobile


13. Wallet support for private RFID payments Wallet can now be used as the primary payment method for private RFID charging sessions when configured.

Platform: Backend


14. OCPP diagnostics report submission support Chargers can now submit diagnostics reports via OCPP, enabling structured collection and review of diagnostics data.

Platform: COSMOS

This sprint focuses on wallet functionality, map usability improvements, localization enhancements, intelligence tooling, and mobile experience upgrades across Mobile, Spark, COSMOS, and backend services.


🧩 New Development

1. Dynamic map pins and zoom-based clustering
The map now uses a new pin system that adapts appearance and clustering based on zoom level, with improved cluster tap behavior and accurate plug availability counts.

Platform: Mobile


2. Wallet top-up configuration per white-label CPO
White-label CPOs can now define custom minimum, maximum, and four suggested wallet top-up amounts. The backend applies validation and sensible defaults when no configuration exists.

Platform: Backend


3. Voucher creation and management in Wallet
Support for creating alphanumeric vouchers with amount validation has been added, along with viewing and cancellation of vouchers within the wallet.

Platform: Spark


4. Full wallet functionality in the mobile app
The mobile app now includes complete wallet flows, including activation, balance display, top-ups via card and voucher, transaction history, negative balance handling, settlement behavior, and wallet payments scoped per white-label CPO.

Platform: Mobile


5. New RFID charging instruction translations
New RFID charging instruction texts with ordered numbering have been added, along with updated translations across supported languages.

Platform: Mobile


6. Minimum compatible version check for white-label apps
A minimum supported app version can now be enforced per white-label app to ensure compatibility before allowing usage.

Platform: Backend


7. SPARK wallet UI for CPO admins
A new wallet interface has been added to SPARK, including wallet tabs and columns, wallet history views with list and empty states, and the ability for admins to create top-ups and vouchers.

Platform: Spark


8. Improved driver email input and pending status labels
Multiple drivers can now be added by entering emails and pressing Enter for each. Helper text has been updated and the pending invitation label clarified.

Platform: Spark


9. Intelligent Charging launched for home chargers
Home charger users can now set a “ready by” time, allowing the system to automatically charge during the cheapest electricity hours while ensuring the car is fully charged on time.

Platform: Mobile


10. Improved Intelligence faults table filters and layout
The detected faults table has been updated to match the new designs, improving clarity and usability.

Platform: Spark


11. Reusable Day, Week, Month time range filter for Intelligence tables
A visible time range filter has been added to Intelligence tables, with Day set as the default selection.

Platform: Spark


12. Language selector and updated username UI in SPARK
A new language selector has been added to SPARK with support for English, Swedish, and Spanish. The selected language now persists across navigation, and the username display has been updated to match the new UI specification.

Platform: Spark


13. Route-based command handling and protocol validation
Command routing and protocol validation have been updated so invalid or unsupported protocols are rejected based on the accessed route.

Platform: COSMOS


14. New font added to the mobile app
A new font has been introduced to improve readability across the mobile app.

Platform: Mobile


15. API for basic location card connector details
A new API endpoint now returns basic connector details for location cards, including plug ID, status, plug type, and charging speed.

Platform: Backend


16. End charging slide added to EOSVOLT and white-label apps
An end charging slide has been added to EOSVOLT and all white-label apps to improve the session completion experience.

Platform: Mobile


17. Terms and Conditions step added to login and sign-up flows
A Terms and Conditions step has been added to the login and sign-up flow for EOSVOLT and all white-label apps.

Platform: Mobile

This sprint introduces new features for white-label operators, improvements to home charging and user authentication, expanded language support, and performance upgrades across Spark, COSMOS, and our backend services.


🧩 New Development

1. Phone number verification for white-label apps White-label operators can now include phone number collection and verification as part of the mobile authentication flow. Users verify their number during sign-up or login, and can update it at any time from their profile.

Platform: Mobile


2. Phone number access in Spark Collected and verified phone numbers are available to operators inside Spark, allowing admins to view user contact information directly in the User section.

Platform: Spark


3. Simplified Chinese language support The mobile apps now support Simplified Chinese as an additional interface language.

Platform: Mobile


4. Updated Live Prices UI for home chargers The Live Prices card for home chargers has been refreshed with a cleaner and more readable design.

Platform: Mobile


5. New Charger Sharing tile A dedicated Charger Sharing tile has been added to the home charger screen, along with improved drawer design and clearer shared-user information.

Platform: Mobile


6. Wallet module available for white-label operators The Wallet feature can be included as part of a white-label configuration for operators that support Wallet-based payments.

Platform: Spark


7. Car plate automatically added to RFID sessions Sessions started with an RFID key now automatically include the user’s primary car plate for more complete session data.

Platform: Backend


8. Improved booking setup experience The final booking setup step in Spark has been updated with clearer defaults, improved guidance, and a more streamlined configuration layout.

Platform: Spark


9. Updated operator invitation email The operator invitation email now includes revised text and direct links to relevant onboarding documentation.

Platform: Backend


10. Enhanced validation logic for fleet charge keys Fleet charge keys without access to a semi-public location are now handled with clear blocked/invalid responses for consistent and predictable access control.

Platform: Backend


11. Full-speed charging information banner A new banner appears during the charging flow to show drivers when they are receiving the maximum charging performance available at the station.

Platform: Mobile


12. Optional language selector on login screens White-label apps can include a language selector on the login screen, allowing users to choose their preferred language before signing in.

Platform: Mobile


13. Branded PDF for home charger codes White-label operators now receive their own branded design when users download the “charger code” PDF from their home charger settings.

Platform: Backend


14. Updated load balancer with OCPP 2.0.1 connector handling The load balancer now includes full support for OCPP 2.0.1 connector states, ensuring accurate interpretation of charger state information.

Platform: COSMOS


15. Session status fields added to Public API The Public API now includes status, started_at, and finished_at fields in the session response for clearer integration workflows.

Platform: Backend


16. NACS support improvements NACS connector icons have been added to location details, and plug filtering logic now returns compatible results where NACS and CCS2 share support.

Platform: Mobile


17. Faster Intelligent Charging API response times The Intelligent Charging API has been optimised for significantly faster performance.

Platform: Backend

Improved OCPP reliability and Intelligent Charging, new backend notifications, plug availability in map API, and multiple stability and performance fixes across Spark, Cosmos, and Mobile.


🧩 New Development

  1. Plug availability in Map API api/v2/map now returns both available and total plugs per location, allowing mobile maps to display live charger availability.

    Platform: Backend

  2. New notifications for fully charged or payment limit reached Introduced notifications triggered when charging completes due to full battery or payment amount reached, improving user transparency.

    Platform: Backend

  3. OCPP 1.6 ↔ 2.0.1 protocol negotiation Cosmos now supports automatic negotiation between OCPP 1.6 and 2.0.1 during the initial handshake for better compatibility.

    Platform: Cosmos

  4. Blocking fee interval validation Added validation requiring an interval whenever a blocking fee is set, ensuring proper configuration and clearer error feedback.

    Platform: Spark

  5. Enhanced error handling for OCPP 2.0.1 Improved connection and handshake stability for OCPP 2.0.1 devices with more resilient error handling.

    Platform: Cosmos

  6. Intelligent Charging – backend implementation Implemented backend logic for Intelligent Charging, including total time calculation, optimal charging block detection, and new smart notifications.

    Platform: Backend

  7. Car Plate tab for customers Added a read-only “Car Plate” tab to customer profiles, visible when plates are registered.

    Platform: Spark

  8. Edge-to-edge layout improvements Enhanced mobile app layout to meet Google Play’s edge-to-edge UI recommendations for a more immersive visual experience.

    Platform: Mobile

  9. Query optimization for heavy users Optimized database aggregation queries for high-volume users, improving overall backend performance and data loading speed.

    Platform: Backend


Full OCPI integrations with NOBIL and Vourity, pagination and data-table improvements in Spark, new Malaysian-language support, and multiple fixes enhancing data accuracy and home-charging stability.

🧩 New Development

1. Integration with NOBIL EOSVOLT is now connected to NOBIL through OCPI, enabling automatic reporting of charging station data and improved public visibility.

Platform: Backend


2. Integration with Vourity Completed OCPI connection with Vourity, allowing seamless roaming transactions and charger synchronization.

Platform: Backend


3. Added NACS plug type Implemented the NACS plug type and ensured the correct icon appears consistently throughout the app interface.

Platform: Mobile


4. Updated graphs to use users’ local time zones All charts in Dashboard, Charger Insights, and Session Insights now display data based on the user’s local time.

Platform: Spark


5. Automatically set first car plate as primary The first car plate added by a user is now automatically set as primary. Existing users without a primary plate are also updated.

Platform: Mobile | Backend


6. Updated Public API with blocking-fee details and per-session totals The Public API now includes on-demand blocking-fee intervals in location details and total blocking-fee cost per session.

Platform: Backend


7. Updated booking cancellation flow to CPO-managed process Removed the in-app booking cancellation option. Users can now contact the operator directly, who can manage cancellations in Spark.

Platform: Mobile | Spark


8. Optimized Public API connector status logic for booked chargers Connectors now appear as “booked” only when actually available, improving API accuracy and user experience.

Platform: Backend


9. Enhanced list view with pagination and payment-method filter Added pagination options (20 / 50 / 100 items per page) and a new “Payment method” filter for the Sessions list.

Platform: Spark


10. Replaced Spark table pagination with Ant Design pagination All Spark tables now use the Ant Design pagination component with a quick page-jump control.

Platform: Spark


11. Updated “Total kWh & sessions” column in Access tab The Access tab now shows totals per location rather than overall aggregated data.

Platform: Spark


12. Allowed booking of ongoing charging slots until next slot’s buffer begins Users can now book an ongoing charging slot until the buffer period before the next slot begins.

Platform: Mobile


13. Added Malaysian language to the apps Added full Bahasa Malaysia translations across the mobile apps.

Platform: Mobile


Improved booking messages, precise maps, home-charging upgrades, flexible payment options, and expanded language and payment ID support across the platform.

🧩 New Development

1. Download invoices directly in the app Users can now view and download invoices for their charging sessions directly from their profile.

Platform: Mobile

 2. Better booking status messages We’ve improved how booking cancellations and refund notifications appear to make them clearer and more accurate.

Platform: Mobile

 3. Enhanced map precision Charger pins now display with much higher accuracy.

Platform: Mobile

 4. Language selector Drivers can now select their preferred language both from the login screen and profile settings.

Platform: Mobile

 5. Plug ID example A new example Plug ID helps drivers identify connectors more easily.

Platform: Mobile

 6. Right-to-left UI support Added full RTL layout capability, ensuring proper display for languages like Arabic.

Platform: Mobile

 7. Multi-charger sessions Users can now charge on multiple home chargers simultaneously under one account.

Platform: Mobile | Backend

 8. Live pricing cost display When live pricing is enabled, the app now shows estimated charging costs in real time.

Platform: Mobile

 9. Flexible blocking fees Now includes a 5-minute interval option.

Platform: Backend

 10. Improved data export controls Session exports now include booking and semi-public location data.

Platform: Spark

 11. Pre-Auth with hard stop It’s now possible to configure so that charging sessions automatically stop once the pre-authorized amount is reached.

Platform: Backend

 12. Custom Pre-Auth & Pre-Paid options White-label customers can now choose to let users decide how much to pre-authorize or pre-pay for each session.

Platform: Backend

 13. Reusing authorizations If a session fails, existing payment authorizations can now be reused.

Platform: Backend

 14. Negative balance recovery Unpaid amounts are automatically retried at the next charging session.

Platform: Backend

 15. Configurable retry policy White-label CPOs can set automated retry intervals (24 h / 3 days / 7 days).

Platform: Backend

 16. Fingerprint ID for payments Fingerprint recognition now supports user identification for payments — even when switching accounts.

Platform: Mobile | Backend


Focused on transparency and configurability, this release added the free_energy API field, advanced booking-fee controls, multi-profile home-charging management, and new tools for fleet and semi-public location management.

🧩 New Development

1. Exposed free_energy field in Public API Added a free_energy field (kWh) to charger details, session stop, and session meter endpoints for transparency and display purposes. Updated the OpenAPI documentation accordingly; pricing logic remains unchanged.

Platform: Backend

2. Added logo upload for Tenant CPOs Introduced a logo upload option during Tenant CPO creation. The uploaded logo now appears in the Spark portal header for each Tenant CPO.

Platform: Spark

3. Support separate same-day and advance booking fees Extended booking settings so operators can define different fees for same-day and future-day bookings.

Platform: Spark

4. Home charging — Manage up to 4 price profiles CPOs can now create, assign, filter, and delete up to four home charger price profiles. Features include automatic default profile creation for live pricing, assignment visibility in charger tables, profile-based filtering, and fallback handling when a profile is deleted.

Platform: Spark

5. Updated fleet team creation flow Enhanced fleet team creation with new inline charge-key creation, improved location-type icons, pricing mode selection (custom or location-based), and an updated overview displaying location counts by type and pricing setup.

Platform: Spark

6. Added Access tab to Semi-public location details Added an Access tab to Semi-public location pages, showing a full table of teams and their member discounts.

Platform: Spark

7. Updated member discount creation flow Enhanced the discount setup process to include driver selection by email, visual location-type icons in dropdowns, and the ability to choose between custom or inherited location pricing.

Platform: Spark