Changelog

View Source

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • Initial release of ex_esdb_dashboard as a separate package
  • Real-time cluster dashboard with Phoenix LiveView
  • ExESDBDashboard main module for cluster data aggregation
  • ExESDBDashboard.ClusterLive - Main dashboard LiveView component
  • ExESDBDashboard.ClusterStatus - Embeddable cluster status widget
  • Real-time updates via Phoenix PubSub integration
  • Cluster health monitoring and visualization
  • Node status tracking and display
  • Event store statistics and monitoring
  • Stream count and subscription monitoring
  • Responsive dashboard UI components
  • Automatic refresh capabilities with manual refresh option
  • Support for both secure and unsecured message handling
  • Integration with ExESDBGater structured messaging system

Dependencies

  • Phoenix LiveView (~> 1.0)
  • Phoenix HTML (~> 4.0)
  • ExESDBGater (~> 0.5.0) for core cluster functionality
  • Jason (~> 1.0) for JSON encoding/decoding

Features

  • Real-time Dashboard: Live updates of cluster state via PubSub
  • Cluster Health: Visual health indicators with emoji and status text
  • Node Monitoring: Track connected nodes, uptime, and node types
  • Store Statistics: Monitor event stores, streams, and subscriptions
  • Embeddable Components: Standalone widgets for integration into existing Phoenix apps
  • Responsive Design: Works on desktop and mobile interfaces
  • Message Validation: Secure message handling with signature validation
  • Legacy Support: Backward compatibility with existing message formats

Technical Notes

  • Extracted from ex_esdb_gater v0.4.x dashboard modules
  • Renamed from ExESDBGater.Dashboard.* to ExESDBDashboard.*
  • Removed conditional compilation guards (Phoenix LiveView now explicit dependency)
  • Clean separation of concerns between core logic and UI components
  • Maintains compatibility with existing ExESDBGater clusters

Migration Notes

If migrating from ex_esdb_gater v0.4.x dashboard:

  1. Replace {:ex_esdb_gater, "~> 0.4.0"} with separate dependencies:
    • {:ex_esdb_gater, "~> 0.5.0"}
    • {:ex_esdb_dashboard, "~> 0.1.0"}
  2. Update module references:
  3. Update function calls:
    • ExESDBGater.Dashboard.get_cluster_data()ExESDBDashboard.get_cluster_data()