DVM Console NEO 0.5.5
DVM Console NEO 0.5.5
Version 0.5.5 is a reliability update for configuration saves, recording
history, FNE session state, web streams, and audio teardown. It also replaces
several duplicated lifecycle policies with shared implementations so the live
runtime and its validation paths make the same decisions.
Fixed
- Configuration Studio now reads the latest editor state before it plans and
commits a save. It rejects duplicate destination paths, checks for external
file changes at commit time, keeps staged secrets and backups private,
and adopts the saved settings snapshot in the running application. - Configuration validation accepts supported system, mode, card-size, and
encryption tokens without depending on letter case or surrounding spaces. It
rejects a system port that cannot reserve the adjacent metadata port. - YAML updates preserve empty known collections and no longer use list position
as a fallback when placing vendor fields. - A web stream can be stopped while its connection or decoder is still opening.
Slow startup work no longer holds the control gate needed by Stop or disposal,
and a canceled start now reliably finishes in theOffstate. - New TAR recordings carry the receive episode that produced them. History uses
that identity before applying a bounded time-based fallback for older files,
which keeps rapid calls on the same channel from sharing the wrong recording. - Clear and Secure recording filters exclude calls whose encryption state is
still unknown. Recording path containment follows the case-sensitivity rules
of the host filesystem. - FNE connection state and login retry cadence now follow typed peer state and
transport events instead of diagnostic message wording. Compatible UDP
receives return promptly after shutdown. - NXDN late entry starts from the configured privacy policy, while explicit
clear metadata can still override it. DMR and NXDN receive sessions no longer
retain unused encryption state. - Analog transmit sends a padded final PCM frame before the call terminator.
Full and partial PCM frame handoffs are not replayed if a downstream callback
fails. - Mixer lanes remain owned until the output device accepts their final samples.
macOS playback and capture release native streams and high-quality Bluetooth
overrides after startup, pump, stop, or disposal failures. - WAV, MPEG, Opus, and FFmpeg readers reject overlapping reads and coordinate
cancellation with disposal. MPEG startup can be cancelled even when decoder
construction blocks. - Desktop state changes that resume after asynchronous work return to the UI
dispatcher, and settings write failures are reported through the application
error path.
Engineering changes
- Configuration saving and settings persistence now have dedicated
coordinators instead of being owned by window event handlers and the main
view model. - Filesystem path identity is centralized so save planning and recording
containment use the same platform rules. - The allocation-free receive stream state machine is the canonical lifecycle
engine. The immutable reducer adapts its input through that engine rather
than maintaining a second policy implementation. - Application-owned FNE code has nullable analysis enabled and uses a finite
compatibility suppression list for pinned upstream source. - macOS CI now builds and tests the native CoreAudio component. The capture ring
is allocated after the device's negotiated sample rate is known.
Operator behavior
- Existing YAML codeplugs and operator settings do not require migration.
- Existing TAR recordings remain readable. New recordings add receive-episode
identity to their embedded catalog metadata. - FNE login retry intervals remain 5, 10, 20, 40, and 60 seconds, capped at 60
seconds and reset after a successful connection or operator restart. - Stopping a web stream during startup now cancels the pending start instead of
waiting for the network or decoder operation to finish.
Packages
Extract the complete archive before starting DVM Console NEO.
| Platform | Package |
|---|---|
| Apple Silicon macOS | dvmconsole-0.5.5-osx-arm64.zip |
| Intel macOS | dvmconsole-0.5.5-osx-x64.zip |
| Windows x64 | dvmconsole-0.5.5-win-x64.zip |
The packages are unsigned and not notarized. Signing and notarization status is
reported with the release.
Safety and compatibility
- FNE packet formats, vocoder payloads, transmit pacing, encryption signaling,
and codeplug structure are unchanged. - Automated tests cover configuration transactions, recording correlation,
stream cancellation, FNE retry state, receive lifecycle, reader ownership,
native audio cleanup, and transmit tails. - Live FNE, radio, Bluetooth, serial PTT, and audio-device acceptance still
requires testing on the affected systems and routes.
DVMHost/FNE R06A00 or newer is recommended. This software is for personal,
non-commercial, amateur, and educational use and must not be used in
public-safety or life-safety-critical applications.
This repository is an independently maintained downstream version of
DVMProject/dvmconsole.
For the complete history, see the
changelog.