Releases

Aspectow 4.3 Release Notes

Aspectow v4.3.0 is a major feature and monitoring milestone that introduces the AppMon Cluster Group View for unified multi-node observability, Gateway Mode and a high-throughput lock-free Zero-Allocation cluster relayer, MetricsViewer component modularization with real-time rollup chart aggregations, Aspectran 9.8.1 integration with real-time session ID renewal (changeSessionId) tracking, enhanced console login security (open redirect prevention and safe referrer redirection), and advanced interactive physics mechanics in TrafficPainter (Kinetic Sliding Prism and Black Hole dynamics).

With the introduction of the Cluster Group View, operators can now monitor the real-time health, logs, and metrics of multiple nodes across a cluster in a single unified interface, dramatically improving observability for distributed architectures and microservices. Gateway Mode enables seamless proxying of multi-node WebSocket and long-polling relay subscriptions through a single entry point while eliminating GC pressure via zero-allocation message routing. Additionally, console wide mode toggles, enhanced contrast for metrics tooltips and session counts, and enriched physics animations in TrafficPainter deliver a sophisticated enterprise-grade monitoring experience.

🚀 New Features

  • AppMon Cluster Group View for Unified Multi-Node Observability
    • Introduced the Cluster Group View to provide real-time, consolidated observability across multiple nodes within an application cluster in a single screen.
    • Standardized frontend message processing signatures with nodeId as the leading parameter, establishing a consistent multi-node message routing model.
    • Added support for loading initial log buffers across all cluster nodes upon group view initialization and decorated multi-node console logs with intuitive node badges to clearly identify message origins.
    • Dynamic Node Session Filtering (session-node-filter): Dynamically displays node filter buttons based on active session counts, allowing operators to filter active session cards by specific nodes.
    • Streamlined node indicator state management and sampling timers to ensure smooth and responsive real-time metrics rendering in multi-node topologies.
  • Gateway Mode and High-Throughput Cluster Relayer Architecture
    • Introduced Gateway Mode, enabling a single gateway node to efficiently proxy and multiplex monitoring subscriptions across distributed backend nodes.
    • Supported multi-node subscriptions (subscribeMultiNode) over WebSocket and HTTP long-polling relay sessions, drastically reducing redundant network connections and socket overhead.
    • Enhanced Cluster-Wide (relayClusterWide) and Local (relayLocally) Message Relaying:
      • Implemented zero-allocation string prefix checking (starts-with) to significantly reduce garbage collection (GC) overhead during high-volume message dissemination.
      • Introduced lazy evaluation logic and overloaded method variants to bypass redundant serialization and deserialization cycles during message routing.
    • Improved reconnection strategies in WebSocketClient and PollingClient to ensure robust session recovery during transient network interruptions or when resuming from mobile browser background states.
    • Optimized session scavenging logic in PollingSessionManager for efficient cleanup of expired polling sessions.
  • Modularized MetricsViewer Component and Real-Time Rollup Chart Aggregations
    • Extracted metric cards, inline sparklines, and popover detail charts from the monolithic dashboard viewer into an independent, modular MetricsViewer (metrics-viewer.js) component.
    • Centralized time-series aggregation logic across activity and session statistics, enabling consistent multi-node real-time rollup chart updates in both single-node and cluster group views.
    • Normalized metric persist scheduler timestamps to minute boundaries, guaranteeing consistent alignment for historical rollup metrics.
    • Removed redundant label tracking logic to optimize chart rendering and DOM update performance.
  • Aspectran 9.8.1 Integration and Real-Time Session ID Renewal (changeSessionId) Tracking
    • Integrated with Aspectran 9.8.1’s session fixation protection API by adding sessionIdChanged event handlers to SessionEventReader and SessionEventReadingListener.
    • Propagated changedSessions mappings upon authentication or privilege changes, enabling the AppMon dashboard to seamlessly replace obsolete session cards with renewed session IDs in real time.
    • Added human-readable descriptions (description) to monitoring advice actions in ActivityEventCounter and ActivityEventReader, achieving full alignment with Aspectran’s modernized AOP advice logging.
  • Enhanced Console Login Security and Safe Referrer Redirection
    • Implemented safe post-login redirection to return unauthenticated users directly to their originally requested page (referrer) upon successful authentication.
    • Preserved original query parameters within the referrer parameter in UserAuthAspect.
    • Added rigorous local URL validation (isSafeLocalUrl) in LoginActivity to defend against Open Redirect and cross-site scripting (XSS) vectors, rejecting external domains, protocol-relative URLs (//), carriage returns/line feeds (CRLF), backslashes, and control characters.
    • Added a “Remember Username” feature to the console login form backed by browser localStorage.
  • Advanced Interactive Physics in TrafficPainter (Kinetic Sliding Prism & Black Hole Mechanics)
    • Enhanced Black Hole Mechanics: Implemented orbital rotation and ejection dispersion physics for captured request bullets, accompanied by dynamic scaling, velocity acceleration boosts, and glow effects proportional to trapped bullet counts.
    • Kinetic Sliding Prism Mechanics: Introduced smooth easing-based prism movements that react dynamically to black hole activity, providing precise bullet dispersion animations as traffic passes through the prism gate.
    • Added fade-out animations for prisms on narrow track layouts and refined black hole canvas positioning.

🚀 Improvements

  • Comprehensive Dashboard UI/UX and Visual Contrast Enhancements
    • Added a wide mode toggle (wide mode toggle) for console boxes, allowing operators to expand log and session panels across ultra-wide monitors.
    • Enhanced tooltip background contrast and refined the color palette and active session background badges to ensure optimal legibility across both dark and light themes.
    • Simplified event box and control bar structures while removing redundant title bars to maximize usable screen real estate.
    • Polished login card padding, logo sizing, and responsive mobile viewport layouts.
  • Optimized TrafficPainter Canvas Resizing and Flexbox Layout
    • Streamlined canvas resizing calculations by evaluating the canvas element directly rather than its parent container, eliminating obsolete finishLineOffset offsets.
    • Applied flexbox styling across .track-box containers to achieve precise vertical and horizontal alignment between the traffic canvas and track stack.
  • Graceful H2 Database Shutdown and Process Resilience
    • Improved H2 database shutdown routines in Console by detecting server mode and refining exception handling, preventing database lock contention or file corruption on application termination.
    • Added defensive guards to skip detached OS restart commands when the root runtime is not running as a DaemonService.
  • Modernized Static Asset Bundling Pipeline (AppMon v4.3)
    • Updated asset bundle versioning and cache-busting identifiers to the v4.3 release specification.
    • Included metrics-viewer.js in the build-time bundling manifest to accelerate browser asset delivery.
  • Dedicated macOS ARM64 (Apple Silicon) Profile
    • Added a dedicated Maven profile in appmon-demo and console-demo to import netty-resolver-dns-native-macos (osx-aarch_64), accelerating startup times and enhancing DNS resolution stability on Apple Silicon hardware.

🐛 Bug Fixes

  • Fixed Premature Exporter Termination on Multi-Session Unsubscribe
    • Fixed a concurrency issue where unsubscribing a single session prematurely halted the metric exporter while other sessions remained actively subscribed to the same application.
  • Guarded Against Redundant Chart Data Queries on Command History Traversal
    • Prevented unnecessary chart data reloading when navigating previous console commands, eliminating interface lag and chart data distortion.

🛠️ Dependency Upgrades

  • Frameworks & Core Components
    • Aspectran: 9.8.0 → 9.8.1
    • Netty: 4.2.18.Final → 4.2.19.Final
    • Lettuce Core: 7.8.0.RELEASE → 7.9.0.RELEASE
  • Build & Plugins
    • Central Publishing Maven Plugin: 0.11.0 → 0.12.0
    • Apache Maven (Wrapper): 3.9.16 → 3.10.0
    • AppMon Static Assets: Bundling pipeline upgraded to v4.3

NEWS
Release

Archive