Skip to content

DVM Console NEO 0.5.5

Choose a tag to compare

@github-actions github-actions released this 30 Aug 20:11
· 25 commits to neo since this release

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 the Off state.
  • 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.