Profinity 2.2.5
This release focuses on improving upgrade safety and reliability across common deployment scenarios (desktop, Docker, and CAN adapter connectivity), while tightening schema validation so dashboards and configuration issues are surfaced earlier.
There is a major change in this release in that the documents are moved from the Documents folder to the AppData folder on Windows, this has been done to improve the reliability of the user experience when users have their home directory stored in OneDrive.
Summary
- Profinity’s default data/artifacts directory moved to the OS application-data location (with automatic migration from legacy locations).
- Windows installer sample/profile content updated to match the new default location.
- Improved robustness and diagnostics across desktop/WebView2 paths and adapter connection edge-cases.
- Dashboard validation hardening and updates to bundled dashboards/DBC handling.
Installation & data locations
New default artifact location
Profinity stores its artifacts under the OS “local application data” directory (the LocalApplicationData special folder) in:
.../Prohelion/Profinity/
This includes Config/, Profiles/, logs, and other persisted artifacts.
Automatic migration from legacy locations
On startup, Profinity will attempt to migrate legacy Prohelion/Profinity trees into the new location when it detects a legacy install (legacy tree contains Config/Config.yaml). Depending on the scenario, it may move or merge files into the new location.
Upgrade guidance:
- If you have automation or backups that reference legacy paths (e.g. “Documents”/home-based paths), update them to the new location.
- If you maintain custom profiles/config files, ensure you have a backup before upgrading.
Docker
On Linux, the underlying runtime uses $XDG_DATA_HOME for LocalApplicationData when set; otherwise it uses $HOME/.local/share. For a typical root container with no overrides, that means:
/root/.local/share/Prohelion/Profinity/
If you have existing Docker Compose mounts targeting /root/Prohelion/Profinity/..., you can preserve that layout by setting:
XDG_DATA_HOME=/root
and keeping your existing volume mappings.
Dashboards
- Dashboard examples and templates were refreshed to stay aligned with the dashboard schema validation rules.
- Validation around dashboard/schema/DBC handling has been tightened, making invalid content more likely to be surfaced early (rather than failing later at runtime).
If you maintain custom dashboards, validate them against the current schema and review any schema error messages during load.
CAN & adapters
- Improved handling of connection edge-cases (including scenarios where an adapter is connected but no CAN traffic is present, which will now be surfaced as a warning rather than an error).
- Virtual CAN connection paths were hardened to avoid attempting to connect when required network capabilities are not present.
- Ewert Energy CANdapter adapter reliability improvements:
- Serial port selection is more robust (handles COM port case differences such as
com3vsCOM3). - Profinity will attempt a bounded-time port scan to discover a connected CANdapter when no port is configured, instead of failing with an unusable adapter.
- Settings UI is clearer when no device is detected: the UI shows a warning and avoids presenting irrelevant/empty fields until a CANdapter is available.
- Improved error messages when the selected serial port is missing or invalid.
Desktop GUI stability
- Hardened WebView2 cleanup and reload/shutdown paths to reduce the chance of shutdown being blocked by best-effort cleanup work.
Battery management systems (BMS)
- Updates across Prohelion D1000Gen1 BMS components and bundled DBC content to address issues found in the field (including engagement/heartbeat/state-machine improvements).