Skip to content

6.0.0

Latest
Compare
Choose a tag to compare
@Abasz Abasz released this 20 Dec 19:02

Version 6.0.0

This release focuses on significant architectural improvements, new experimental features, and user experience enhancements. The update ensures better compatibility with the new functionalities introduced in ESPRM v6, including the experimental FTMS service and over-the-air (OTA) firmware updates. Additionally, this version continues to refine the application's reliability, modularity, and ease of use.

Please note that this release completely removes any WebSocket or WebServer related feature from the codebase.

New Features

This version aligns version numbering between ESPRM and the WebGUI, hence the bump to version 6 instead of version 4.

FTMS BLE Service Integration

  • Added experimental support for the FTMS BLE Profile, allowing compatibility with applications leveraging this protocol.

Over-the-Air (OTA) Firmware Updates

  • Introduced OTA firmware update functionality, so users can now perform firmware updates directly from the Web GUI and track the status of the update in a progress dialog.

Enhanced Device Information

  • Expanded the Settings Dialog to include data from the BLE Device Information service (such as Manufacturer details, Firmware version.)

UI and UX Enhancements

  • Migrated to Material Design 3 for a modernized look and feel.
  • Improved spinner overlay design.
  • Updated BLE connection status feed back (e.g. service details are only displayed when the device is connected, settings are disabled in settings when no device is connected).
  • Enhanced the layout and usability of the Settings Dialog.
  • Added tooltips with a 1-second delay for better accessibility.

General Updates and Improvements

Bug Fixes and Optimizations

  • Fixed a concurrency bug in BLE notifications that prevented exceptions when writing to characteristics before startNotifications completed.
  • Optimized BLE stream handling by resolving an issues with incorrectly destroying observables in settings.

Refactoring and Code Modernization

  • Service Layer Improvements:
    • Refactored the ErgDataService class into smaller, modular components based on functionality.
    • Simplified repetitive code using static utility functions.
  • Signal-Based State Management:
    • Migrated components to Angular's Signals API for improved performance and readability.
    • Updated components to use InputSignals for better data flow.
  • Standalone Components:
    • Removed NgModules and adopted Angular's standalone component model for cleaner architecture.
  • Refactored Configuration Management:
    • Streamlined configuration handling with a single BehaviorSubject to store state.
  • Transitioned to Vite:
    • As part of Angular 18 update move to Vita, improving build performance and dev server speed.

Full Changelog: 3.3.0...6.0.0