4.6 KiB
FreeDMR v1.6.3 release notes
This release collects maintenance changes since v1.6.2 and supports the optional Data Gateway v0.2.0 / Kryten v0.1.0 SMS services.
Changes
- Native Data Gateway links receive local and authenticated mesh observations, retaining origin metadata. Gateway source-quench affects only its group-voice observation copy, not data/control packets or other routing targets.
- The optional worker Dial API supports ingress-scoped SMS link, unlink, status, default reset and non-dial TG timer expiry. It is disabled unless configured. Existing voice controls, statics, defaults and timer durations remain unchanged; active RF voice blocks control on the affected slot.
- Dial timeout voice announcements work on both slots.
- Standalone DMRA packets no longer allocate proxy sessions. Packets matching an established session remain forwarded without alteration.
- Generated Data Gateway configuration carries a valid outbound server identity.
- RX group-voice END reports can append a completed Unicode Talker Alias as UTF-8 JSON metadata. Existing positional fields and alias-free reports remain unchanged; the current dashboard parser remains compatible. This is observed identity evidence, not authenticated ownership of a DMR ID.
- The SQL exporter stores that optional alias and can run under the standard container's Supervisor using discrete REPORT_SQL_* environment variables. It is disabled by default. The positional standalone CLI remains supported.
- The upgrader validates file-only and inline FBP relationship JSON, accepting formatting differences but stopping on conflicts or malformed input. It preserves existing image selections and unrelated Compose services, and prints manual image-update commands even when no migration is needed.
- Fresh installs and legacy D-APRS migrations explicitly select two network SMS preambles. Existing native Gateway settings, including an omitted count, are preserved. This does not change Gateway's standalone default of four.
- GitLab release creation uses the API rather than requiring release-cli.
Upgrade
Back up configuration and state. Use the common installer/upgrader, not only docker pull. On an existing installation, this entry point delegates to the deployment upgrader rather than overwriting the installation:
curl -fsSL https://gitlab.hacknix.net/hacknix/FreeDMR/-/raw/master/docker-configs/docker-compose_install.sh -o /tmp/freedmr-install-upgrade.sh
sudo bash /tmp/freedmr-install-upgrade.sh --dry-run
sudo bash /tmp/freedmr-install-upgrade.sh
The upgrade path requires Python 3 (standard library only) and standalone docker-compose. It updates deployment configuration to version 2, not a software release number. It does not pull images or restart containers: review and run the printed service-specific commands afterwards. Custom relationship file paths need manual migration. Do not change the deployment marker merely to bypass validation. Deliberate custom deployments retain the documented FREEDMR_ALLOW_UNMIGRATED_START override.
Basic Data Gateway/D-APRS deployments do not require Kryten or its API. Enable SMS services and persistent Gateway state deliberately; the upgrade does not silently enable the API or install Kryten.
SQL Exporter Deployment Order
Before deploying the updated exporter, add the nullable column:
ALTER TABLE feed
ADD COLUMN talker_alias TEXT CHARACTER SET utf8mb4 NULL;
Configure the exporter only on its intended reporting host. When moving from the standalone service into the container, stop the old exporter to avoid duplicate inserts and preserve the dashboard relay path. See reporting-relay.md for configuration and limitations. FreeDMR routing and existing dashboard consumption do not require this SQL migration when the exporter is not used. BRIDGE_SERVER mode does not run the optional Supervisor-managed exporter.
Images And Validation
The tag build publishes latest, v1.6.3-with-proxy and development-latest for Linux ARMv7, AMD64, i386 and ARM64. Development builds update development-latest only. Check that the tag pipeline has succeeded before pulling release images. Image publication is not deployment.
All 380 local tests passed with UDP integration and the pinned current dashboard parser enabled. Development-image smoke checks and live AnyTone SMS request/reply tests on Hawk also passed, with intermittent confirmed-message failures observed. This is not validation of every radio or architecture. DMR remains a best-effort amateur service, subject to RF loss, busy channels and terminal interoperability differences.