Skip to content

OpenPulseHF v0.4.0

Choose a tag to compare

@dc0sk dc0sk released this 12 Jul 14:56
7e2628e

v0.4.0 — 2026-07-12

Collects the work merged to main since v0.3.0.

Headline features

  • JS8 station discovery (new, opt-in) — when idle, your station can tune to the band's JS8 calling frequency and discover other OpenPulse stations there, using a native JS8 waveform (8-GFSK, 79 symbols, LDPC(174,87)) that interoperates with JS8Call — no separate JS8Call install. It marks itself with an in-band @OPULSE capability hint and lists what it hears (openpulse daemon stations / peers, or a new Discovery tab in the panel). Enable under [discovery]. Off by default, receive-only until you opt into transmitting.
  • JS8 beacon + rendezvous (new, opt-in transmit) — with a callsign and [discovery] mode = "beacon"/"full", the station announces itself (heartbeat + @OPULSE hint), and in full mode can negotiate a working frequency with a discovered peer over JS8 (the RendezvousWith control command), QSY both stations there, and start an authenticated OpenPulse session. Every TX path is gated behind an explicit mode + your callsign + a ±2 s clock-sync check; automatic-control behaviour is documented per FCC §97.221 — you remain the control operator.
  • Direct file transfer (new, opt-in) — send a file to a connected peer over the air with an offer/accept prompt, progress, and optional size-gated auto-accept. Every transfer carries an inline signed TransferManifest + SHA-256, verified against the peer's identity key on receipt — a tampered or wrong-sender file is quarantined and flagged UNVERIFIED (verification VarAC's file transfer lacks). Large files split into blocks and resume after a dropped session. Enable under [file_transfer]; drive it from the panel Files tab or openpulse daemon send-file / files.
  • Faster, more reliable links — the adaptive rate ladder now climbs into the high-throughput dense modes (it was capped mid-ladder by a waveform-blind signal-quality estimator), the HF ladder switched to OFDM for better performance on fading paths, and repeated retransmissions now combine their soft information instead of retrying cold. Plus a batch of DSP-correctness and channel-model measurement-fidelity fixes from the Phase 11 signal-chain audit.

Full detail: docs/releasenotes.md and docs/dev/project/changelog.md.

🤖 Generated with Claude Code