The v1.4 release is one of the most significant updates in the HamClock-Next roadmap. It marks a foundational shift for core propagation modeling, replacing the simplified PropEngine approximation with a high-fidelity, native CCIR/VOACAP math engine. This is accompanied by a major UX overhaul for the map, featuring interactive zoom and pan, and the introduction of a centralized global timezone system.
Highlights
Native CCIR/VOACAP Propagation
The propagation modeling has been completely rewritten to use a high-fidelity engine ported directly from VOACAP Fortran.
- VoacapEngine: A 100% C++ port of the CCIR ionospheric math (VIRTIM, VERSY, F2VAR, and PRBMUF). Replacing the previous simplified approximation.
- Antenna Gain (dBi): Users can now configure the target antenna gain (default 3 dBi) in the "VOACAP Options" submenu (both native and web). This tunes the path reliability model to the operator's specific equipment.
- Unified Engine: The Map Overlay (MUF/Reliability/TOA) and the DE/DX Point-to-Point widget now use the same high-fidelity engine.
🔍 Interactive Map Zoom & Pan
The dashboard map is no longer static.
- Mouse-Wheel Zoom: Zoom in/out (1x to 10x) centered on your cursor.
- Click-Drag Panning: Explore the world map when zoomed.
- Right-Click Reset: Double-click the right mouse button to instantly reset the view.
- Pane-Aware Clipping: Corrected masking ensures overlays (satellite tracks, borders, grids) never bleed behind semi-transparent widgets.
Global Timezone System
Standardizing time across the dashboard for operators using local offsets.
- Central Picker: Choose from common presets (EST/CET/JST) or set a custom offset in the Setup Screen.
- Deep Integration: TimePanel, Calendar, Big Clock, Greyline, and VOACAP charts now all respect the global default timezone instead of just UTC.
Administrative & Stability Fixes
- Deadlock Fix: Resolved a critical "Hard Lockup" during DX timezone lookups.
- Centralized Restrictions: Pane 4 (the small top-right pane) now enforces widget restrictions to prevent layout breakage.
- Live-Web: Restored mouse-click interactions for the web-based remote control interface.
- Application Uptime: Switched from system-wide uptime to process-specific uptime (
hamclock-next) for more accurate session tracking. - GPU Stability/Memory: Resolved critical per-frame GPU texture leaks and implemented resource capping in the FontManager to ensure long-term stability on low-memory hardware (RPi 3B / 1GB devices).
New Features & Enhancements
Interactive Map & GUI
- Right-Click Panning Threshold: Implemented a 5-pixel threshold to distinguish between panning and selecting a DX location.
- Smooth Great-Circles: All paths (DX Spots, ONTA, Satellite tracks) now use 250 high-fidelity segments for perfectly smooth curves at high zoom levels.
- Path Color-Coding: Great-circle paths now adopt the band color of the selected spot (e.g., Purple for 20m).
Widgets & Layout
- Marine Auto-Setup: New Marine widgets automatically find and save the nearest NOAA tide station and NDBC buoy on the first use.
- DX Local Time: The DX Info panel now displays the target's local time (HH:MM UTC±N) via an asynchronous lookup.
- ONTAPanel Legend: Added a persistent band color legend to the "On The Air" widget in double-height mode for parity with the DX Cluster widget.
- LiveSpotPanel Optimization: Switched the "Live Spots" widget to a 1-column layout when in double-height mode to maximize side-panel space.
- Scroll Support Expanded: Mouse-wheel scrolling is now enabled for ONTA, Watchlist, Asteroids, DX Peditions, and DX Cluster panels.
- CallsignClock: Formally registered and available for selection in rotating panes.
- Prop Firehose: Restored as a first-class preset and fixed a font-rendering bug that made it invisible.
- VOACAP Timeline UX: The DE-DX propagation chart now uses a fixed UTC midnight-to-midnight axis with a "now" cursor, ensuring contiguous visibility of daily path openings.
- World Clock Widget: New widget displaying up to 4 labelled timezone clocks. UTC offsets are adjustable in 30-minute steps (1-hour steps with Shift). Configuration accessed via an in-widget gear icon; changes are staged and only saved on Done.
Internal Math & Reliability
- CCIR Scripting: Auto-generation scripts added to the repository for refreshing CCIR coefficients from raw source files.
- Antimeridian Wrapping: Fixed satellite track "streaks" when the map is centered on non-zero longitudes.
- UAF Fix: Resolved a Use-After-Free during application shutdown by ensuring the WebServer is joined before the Dashboard context is destroyed.
- Sensor Shutdown:
LTR329ProviderandDXClusterProviderreplaced baresleep_forloops with interruptiblecv.wait_forwaits, so application shutdown is no longer delayed by the full sensor poll interval.
Full Changelog
Added
- DX Cluster Band Filter: Legend-based filtering for specific bands.
- ONTAPanel Band Legend: Colors identified at the bottom of the activity list.
- Marine Auto-Setup: One-click configuration for nautical monitoring.
- Map Zoom with Masking: High-fidelity overlays respect widget boundaries.
- Global Timezone Picker: Centralized offset management in Identity tab.
- VoacapEngine: Comprehensive high-fidelity CCIR HF propagation model ported from Fortran.
- DX Local Time: Async timezone lookup and display in DXInfo.
- Antenna Gain Config: D-Bi spinner added to both native and web UI for propagation tuning.
- CCIR Coeff Generator: Python script for rebuilding ionospheric data arrays.
Changed
- Map Reset: Moved to right-double-click to avoid accidental panning resets.
- Great-Circle Resolution: Increased to 250 segments per line.
- Apply Button: Map View menu now uses theme-consistent "Success" (Green) color.
- Moon Masking: Tighter silhouette with improved navy-blue background blending.
- Application Uptime: Now tracks
hamclock-nextruntime instead of OS uptime. - LiveSpotPanel Layout: 1-column vertical list for double-height side panels.
- Default Colormap: "Vibrant" is now the default setting for propagation overlays; "Muted" variant truly desaturated.
Fixed
- DX Timezone Deadlock: Eliminated recursive mutex lockup during async lookup.
- Map View Label: Resolved blank text issue when using custom fonts.
- Live-Web Interaction: Fixed web-to-native event sequencing for mouse clicks.
- Sat Track Wrapping: Fixed Date Line artifacts when map is centered on DE.
- N-Hop MUF Geometry: Corrected F2 MUF math for long-path (>20,000 km) path segments.
- Reliability Legend: Corrected 0% swatch to map-consistent black/transparent.
- Scroll Caps: Removed 7/10-row limits from activity panels.
- ListPanel Geometry: Standardized footer legend support to prevent row overlap.
- GPU Texture Leaks: Fixed critical per-frame leaks in tooltips and WorldClockPanel.
- BO Exhaustion: Capped FontManager volatile cache with LRU pruning to prevent GPU memory depletion.
- MemoryMonitor Accounting: Proactive sweep corrected bare
SDL_DestroyTexturecalls inClockAuxPanel(5 sites) andAsteroidPanel; eliminated per-frame GPU allocation inONTAPanelchip-label measurement.