Skip to content

Releases: DragonKeeperAlex/GP-SDR

GP-SDR v1.2.2

Choose a tag to compare

@github-actions github-actions released this 24 Aug 11:43

GP-SDR 1.2.2

GP-SDR 1.2.2 adds selectable DMR and conventional digital-decoder workflows
throughout the native application.

Added

  • DMR, conventional P25, NXDN, D-STAR, YSF, M17, POCSAG/FLEX, and ACARS choices
    in Tuner and Live.
  • DMR discriminator routing to DSD-FME with decoded voice returned through
    GP-SDR audio.
  • DMR time-slot, color-code, talkgroup, source-radio, and encrypted-state
    parsing when present in valid decoder output.
  • Decoder selectors for every custom channel and range, plus a New
    configuration action on decoder pages.
  • A per-job Mapper decoder selector covering DSD-FME/DMR, rtl_433, dump1090,
    multimon-ng, acarsdec, and AIS-catcher.
  • Automatic Mapper routing of locally classified digital captures to DSD-FME.
  • A DMR Conventional built-in profile split into receiver-safe subranges.

Fixed

  • Map, Discovery, and Identify are all visible in Beginner and Advanced modes.
  • Mapper passes compacted IQ capture metadata to file-based decoders.
  • Digital channels are no longer omitted from channel/range receiver loops when
    a decoder is assigned.
  • Wideband channel banks no longer send digital discriminator noise to speakers.

Verification

  • Go unit, HTTP acceptance, UI regression, race, and vet suites.
  • JavaScript syntax validation.
  • Executable smoke tests for DSD-FME/DMR, rtl_433, dump1090, multimon-ng,
    acarsdec, and AIS-catcher on the release Mac.
  • Universal macOS architecture, signature, DMG, archive, checksum, and launch
    verification. RF decoding still depends on an active compatible signal,
    antenna, receiver calibration, and local conditions. Encrypted voice is not
    decrypted.

GP-SDR v1.2.1

Choose a tag to compare

@github-actions github-actions released this 24 Aug 07:06

GP-SDR 1.2.1

GP-SDR 1.2.1 adds a unified adaptive Mapper workflow, truthful automatic RF
gain control, and a managed IQ evidence lifecycle for unattended surveys.

Adaptive Mapper

  • Map is the new beginner/default workflow. It repeatedly sweeps the chosen
    range and combines activity detection, local modulation classification,
    available protocol decoders, and enabled offline transcription.
  • Observation time is adjustable from 0.1 seconds through seven days per
    channel. Long observations use bounded capture windows so Stop remains
    responsive and memory use stays finite.
  • Discovery and Identify remain separate options in Advanced mode and existing
    saved jobs remain compatible.
  • Mapper cards and the live receiver strip show the actual gain stages,
    amplifier state, signal-above-noise threshold, and latest automatic decision.

Automatic receiver tuning

  • RTL-SDR Auto uses the tuner's driver AGC.
  • HackRF Auto now controls LNA and VGA gain between captures and can enable the
    approximately 11 dB RF amplifier after repeated weak-input measurements.
  • Clipping or excess headroom immediately disables the HackRF RF amplifier
    before reducing the other gain stages.
  • Auto, saved-calibration, and manual gain modes are available, along with
    Auto, weak-signal, balanced, conservative, and manual sensitivity targets.

Managed IQ evidence

  • Mapper shifts an active channel to baseband and resamples it before archival,
    avoiding full-rate 8–20 MS/s files for narrowband evidence.
  • IQ remains in Analyzing until local classification, available decoding,
    and enabled transcription finish.
  • Evidence with decoder output, transcription/callsigns, a supported protocol,
    confident waveform classification, or strong signal evidence is retained.
  • Low-value evidence enters a recoverable rejected-IQ quarantine. It is removed
    automatically after 24 hours by default; Settings offers one hour through
    seven days.
  • Storage caps discard quarantine before retained evidence and protect pending
    analysis for at least 24 hours. Settings reports analyzing, retained, and
    rejected IQ separately.

Verification

  • Go unit, API, static-analysis, adaptive gain, IQ lifecycle, quarantine, and
    multi-receiver Mapper tests
  • JavaScript syntax and simulated adaptive-Mapper API smoke tests
  • Universal Intel/Apple Silicon macOS package, Linux amd64/arm64 packages, and
    Windows x86_64 package with checksum and archive verification

The macOS release is ad-hoc signed and not Apple-notarized. GP-SDR remains
receive-only; encrypted P25 traffic is identified and skipped, not decrypted.

GP-SDR v1.2.0

Choose a tag to compare

@github-actions github-actions released this 22 Aug 23:36
ae03faa

GP-SDR 1.2.0

GP-SDR 1.2.0 turns Mapper results into an auditable identification workflow,
adds bounded storage for unattended capture, and expands receiver comparison
and calibration tools.

Verified Mapper identities

  • The Mapper header now counts successfully identified frequencies separately
    from raw hits and classifier guesses.
  • A successful identity requires valid decoder output or an exact match from a
    nearby RadioReference import. Band-plan guesses and decoder candidates do not
    pass verification.
  • RadioReference profiles retain their import center and radius. Matches beyond
    the observation area are rejected so an identical frequency in another state
    is not accepted as the local service.
  • Google Sheet uploads have an Identified only option, enabled by default.
  • CSV exports include verification status, reason, and reference distance.

Faster, more selective surveys

  • Discovery and Identify monitor multiple software VFOs in one receiver capture
    with a user-selectable 1–32 channel limit.
  • Identify eligibility can require Discovery-only or combined hits, repeated
    observations, 10–100% successful checks, recent activity, and a maximum list.
  • Combined Results adds verified, repeated-only, receiver, job, type, status,
    search, and expanded sorting controls.
  • Live operation, current channel batches, receiver capture width, pass ETA,
    spectrum, waterfall, and expandable evidence remain visible during jobs.

Receiver characterization

  • Compare multiple connected receivers in parallel across nominal device,
    antenna, or custom frequency ranges.
  • Configure sample rate, dwell, points, gains, amplifier state, and saved
    calibration for each ambient response test.
  • Results include response/noise plots, current frequency, ETA, tested coverage,
    and CSV export. True calibrated sensitivity still requires a known RF source.

Bounded capture storage

  • Settings now shows separate Recordings and IQ usage.
  • Separate size caps and age retention can be saved, with optional automatic
    cleanup and a confirmed Clean now action.
  • Cleanup removes oldest GP-SDR capture files only, protects files written in
    the last ten minutes, and never targets profiles, Mapper history, calibration,
    range sync, or imported channel data.
  • Automatic cleanup defaults off for existing and new installations.

Verification

  • Go unit, API acceptance, race, and static-analysis test suites
  • JavaScript syntax and native/web UI regression checks
  • Universal macOS, Linux amd64/arm64, and Windows amd64 compilation checks
  • Connected HackRF and RTL-SDR discovery/capture checks where RF conditions allow

Packages

  • macOS Universal DMG and separate Apple Silicon and Intel ZIP packages
  • Debian/Ubuntu amd64 and arm64 packages
  • Windows 10/11 x86_64 ZIP package
  • SHA-256 checksums for every downloadable artifact

The macOS packages are ad-hoc signed but not Apple-notarized. Windows packages
are not Authenticode-signed. GP-SDR remains receive-only; encrypted P25 traffic
is identified and skipped rather than decrypted.

GP-SDR v1.1.2

Choose a tag to compare

@github-actions github-actions released this 22 Aug 11:38
4f0f913

GP-SDR 1.1.2

GP-SDR 1.1.2 expands Mapper into a faster multi-frequency survey workspace and
makes long-running jobs easier to understand at a glance.

Simultaneous Mapper monitoring

  • Discovery and Identify can monitor multiple nearby frequencies from one IQ
    capture without opening extra receiver processes or increasing USB bandwidth.
  • Added a configurable Channels at once limit from 1 through 32.
  • Auto defaults to 16 Discovery channels or 4 Identify channels to balance
    speed and CPU use.
  • Frequencies are grouped only when their signal and local-noise windows fit
    inside 84% of the selected SDR sample rate; out-of-span frequencies move to
    later capture batches automatically.
  • Multi-channel capture placement avoids the direct-conversion DC center when
    possible while retaining saved PPM, gain, amplifier, and I/Q calibration.

Clearer live Mapper workspace

  • Added an operation strip showing the active workflow, receiver, pass, batch,
    capture width, center frequency, and every software VFO being checked.
  • Added a latest-capture spectrum and waterfall to the Mapper page.
  • Current Mapper channels are highlighted over the spectrum and the display is
    labeled with the job and receiver that match the latest capture.
  • Updated pass progress and ETA calculations to operate on simultaneous capture
    batches rather than implying one hardware retune per frequency.

Results search and organization

  • Search now covers numeric and formatted frequencies, names, protocols,
    modulation, callsigns, decoder evidence, automatic analysis, and transcripts.
  • Added job, receiver, signal type, identification/activity, and sort controls.
  • Results can be ordered by recency, hits, occupancy, confidence, or frequency.
  • The complete results area can be collapsed, with the preference retained for
    the next session.

Native startup recovery

  • Extended the bundled receiver-service readiness window.
  • Reload Interface now performs a fresh authenticated service check.
  • Added an in-app Retry button if the receiver service is temporarily late,
    preventing a stale failure page after the service becomes available.

Verification

  • Race-enabled Go test suite and Mapper API acceptance tests
  • Desktop and mobile-responsive UI interaction smoke tests
  • JavaScript syntax validation
  • Universal macOS, Linux amd64/arm64, and Windows amd64 compilation checks

Packages

  • macOS Universal DMG and separate Apple Silicon and Intel ZIP packages
  • Debian/Ubuntu amd64 and arm64 packages
  • Windows 10/11 x86_64 ZIP package
  • SHA-256 checksums for every downloadable artifact

The macOS packages are ad-hoc signed but not Apple-notarized. Windows packages
are not Authenticode-signed. GP-SDR remains receive-only; encrypted P25 traffic
is identified and skipped rather than decrypted.

GP-SDR v1.1.1

Choose a tag to compare

@DragonKeeperAlex DragonKeeperAlex released this 21 Aug 11:55

GP-SDR 1.1.1 is a Mapper usability, reliability, and Google Sheets
compatibility update for the native app and companion web interface.

Mapper workflow controls

  • Replaced the workflow dropdown with compact Discovery and Identify
    buttons so the active operating mode is immediately visible.
  • Discovery continuously sweeps its configured range until stopped and exposes
    the active step size and dwell time.
  • Identify revisits discovered or imported frequencies and exposes its extended
    listening duration and transcription setting.
  • Renamed the user-facing Decipher workflow to Identify while retaining
    compatibility with existing saved jobs and exported configurations.

Native app reliability

  • Replaced browser-native confirmation prompts with GP-SDR dialogs for deleting
    Mapper jobs and clearing Mapper results.
  • Cancel reliably preserves the selected job or result history; confirmed
    actions update the interface and status immediately.
  • The confirmation dialogs work consistently in the native macOS WebView and
    the mobile-responsive companion interface.

Google Sheets integration

  • Updated Mapper uploads to the complete 16-column Additions Queue schema,
    including the Confirmed Contact field.
  • Updated the bundled Apps Script to use the current spreadsheet scope, lock
    simultaneous appends, and neutralize formula-prefixed imported text.
  • Preserved receiver/job provenance, identification evidence, activity timing,
    location, transcript, callsign, and protocol fields in exported rows.

Documentation

  • Added a detailed GitHub Wiki covering installation, receiver setup, tuning,
    RF and I/Q controls, profiles, multi-receiver Mapper jobs, P25 trunking,
    optional decoders, imports, Google Sheets, RadioReference, remote access,
    performance tuning, and troubleshooting.
  • Kept the complete Wiki source versioned in the repository for review and
    future release updates.

Packages

  • macOS Universal DMG and separate Apple Silicon and Intel ZIP packages
  • Debian/Ubuntu amd64 and arm64 packages
  • Windows 10/11 x86_64 ZIP package
  • SHA-256 checksums for every downloadable artifact

The macOS packages are ad-hoc signed but not Apple-notarized. Windows packages
are not Authenticode-signed. Encrypted P25 calls are identified and skipped;
GP-SDR does not decrypt encrypted traffic or transmit.

GP-SDR v1.1.0

Choose a tag to compare

@DragonKeeperAlex DragonKeeperAlex released this 21 Aug 08:36

GP-SDR 1.1.0

GP-SDR 1.1 is a major app-first feature and hardening update. It keeps the
native macOS app as the primary experience while retaining the authenticated,
mobile-responsive companion interface.

Multi-receiver Mapper

  • Independent saved Mapper jobs assign one physical receiver each.
  • Multiple receivers can sweep different ranges concurrently, split Discovery
    coverage, or run Discovery and Decipher at the same time.
  • Every job reports its current frequency, channel/pass progress, checks,
    activity, elapsed time, and next-pass ETA.
  • Decipher listening is adjustable from five seconds through multiple days.
  • Combined results retain receiver/job provenance and can be filtered,
    expanded, exported, saved locally, or queued to a configured Google Sheet.

Identification and history

  • Added normalized live handoffs for DSD-FME, rtl_433, dump1090, multimon-ng,
    acarsdec, and AIS-catcher. HackRF signed IQ is shifted, resampled where needed,
    and converted before decoders that require centered unsigned samples.
  • Added analog CTCSS detection with narrow-peak validation.
  • Timeline search uses an in-memory index covering transcripts, callsigns,
    labels, systems, protocols, decoder output, and frequencies.
  • Profile logging exposes audio recording, unknown-signal IQ evidence, offline
    transcription, and one-day through forever retention controls.

Reliability and setup

  • Hardware cards show active Mapper ownership and live receiver telemetry.
  • Live health notices report overload, dropped sample blocks, noise-only state,
    and excessive GP-SDR capture storage. Settings shows bounded storage usage for
    GP-SDR-owned data, recording, IQ, and profile folders.
  • The macOS app bundles a one-click, revision-pinned optional decoder-suite
    installer. Receiver tools and transcription retain their existing Install or
    platform-specific How to actions.
  • The release workflow now supports validated manual dispatch, semantic-version
    checks, artifact-count/package verification, and release-note publishing.

Release-gate evidence

  • Go unit, HTTP acceptance, web regression, race, vet, JavaScript syntax, and
    cross-compile tests cover the complete source tree.
  • Installed DSD-FME, rtl_433, dump1090, multimon-ng, acarsdec, and AIS-catcher
    binaries pass GP-SDR bridge smoke tests on macOS.
  • Concurrent live Mapper sweeps used the HackRF at 8 MS/s and RTL-SDR at
    2.4 MS/s. They independently detected 88.5 and 99.7 MHz FM activity,
    preserved correct receiver/job provenance, advanced simultaneously, and
    released both devices immediately after Stop.
  • Simulator acceptance separately covers two simultaneous receiver jobs and
    the mobile layout.

Known external boundaries

  • RadioReference live lookup still requires the service's Premium subscription
    and separately approved application key; local exported databases work
    without an API key.
  • Public macOS notarization and Windows code signing require suitable signing
    certificates. Checksums are included for every artifact.
  • Encrypted P25 calls are identified and skipped; GP-SDR does not decrypt or
    transmit.

GP-SDR 1.0.13

Choose a tag to compare

@DragonKeeperAlex DragonKeeperAlex released this 21 Aug 07:26

GP-SDR 1.0.13

Local signal intelligence

  • Offline IQ classification identifies AM, narrow FM, wide FM, constant-envelope digital candidates, and weak carriers with confidence and measured evidence.
  • The native tuner has an Auto mode and shows the current local classification.
  • Offline whisper.cpp setup now installs a pinned English model without an API key.
  • Transcripts extract strict callsign candidates from ordinary spelling and NATO phonetics.
  • Mapper records, CSV exports, event history, and decoder pages retain analysis, transcripts, callsigns, and decoder evidence.

Receiver and decoding improvements

  • Multiple assigned SDRs divide conventional channels and scan ranges into non-overlapping receiver workloads; SDRTrunk continues to allocate multiple P25 tuners.
  • Native and Soapy views of the same physical HackRF are deduplicated, and hardware refreshes preserve the active inventory instead of probing a radio while it is receiving.
  • Measured clipping telemetry replaces ambiguous overload state and reports the clipped-sample percentage.
  • Separate hardware center and software VFO tuning, immediate RF/IQ controls, master audio, stereo pan, priority ducking, and Mapper ETA remain available in the native app.
  • rtl_433, multimon-ng, and DSD-FME have executable file/audio bridges; a candidate is promoted to confirmed only after a decoder returns a real message or frame.
  • SDRTrunk P25 calls can be recorded, attached to GP-SDR events, and passed to offline transcription when enabled.
  • P25 events now retain structured system, talkgroup, source-radio, and encryption fields. The isolated HackRF P25 runtime forces the RF amplifier off to avoid overload-driven robotic voice.
  • The P25 mixer shows the currently decoded control channel and orders talkgroups by most recent activity or total calls received, with active calls pinned first.
  • HackRF P25 capture now defaults to a tested 10 MS/s, automatically retries at 5 MS/s after a decoder transport failure, and exposes Auto/5/8/10/20 MS/s controls in both the P25 workspace and profile editor.
  • Mapper has an independent Auto/2/3.2/8/10/20 MS/s capture-width control; live HackRF scanning now captures at 8 MS/s before digitally narrowing each channel, while the tuner retains manual control through 20 MS/s.
  • Missing optional components appear in a dismissible startup list with automatic Install actions where supported and upstream instructions otherwise.
  • A tested macOS helper installs DSD-FME, dump1090, multimon-ng, acarsdec, and AIS-catcher from their maintained upstream sources, including the dependencies needed by GP-SDR's decoder bridges.

Evidence and storage

  • Unknown activity can retain a bounded two-second IQ capture with a metadata sidecar.
  • The configured recording-retention period now prunes only dated GP-SDR recording and IQ folders.
  • RadioReference and other key-based integrations are unchanged and remain optional.
  • Universal macOS releases now include a drag-to-Applications DMG in addition to ZIP packages.

GP-SDR v1.0.11

Choose a tag to compare

@DragonKeeperAlex DragonKeeperAlex released this 20 Aug 08:49

Maintenance release focused on reliability and first-run setup.

  • Fixes clean shutdown of remote rtl_tcp streams
  • Adds end-to-end feature-surface, audio fan-out, and offline transcription tests
  • Expands race-enabled server coverage to 48%
  • Adds complete macOS, Windows, Debian/Ubuntu, P25, driver, LAN, and troubleshooting instructions
  • Adds release protection against cloud-created duplicate source files

The native macOS app remains the primary interface. SDRTrunk v0.6.1 and JMBE Creator v1.0.9 are included in every platform package. See Docs/RELEASE_NOTES_1.0.11.md for the exact validation scope and hardware-specific limits.

GP-SDR 1.0.8

Choose a tag to compare

@DragonKeeperAlex DragonKeeperAlex released this 20 Aug 06:14

Native-first GP-SDR release focused on dependable receiver operation and a denser, utilitarian workflow.

Highlights:

  • Persistent per-device PPM, I/Q, DC, and gain calibration with safe automatic measurement
  • Mapper range scanner with consolidated activity logging and optional Google Sheets webhook uploads
  • Direct rtl_tcp remote receiver support for tuning, audio, spectrum, scanning, and mapping
  • Saved calibration applied to live tuning, surveys, channel banks, and the bundled P25 stack
  • Beginner and Advanced interface modes, responsive mobile companion UI, and simplified controls
  • OpenSourceSDRLab HackRF IQ compatibility and improved wideband-to-audio DSP

Validation:

  • Automated Go, DSP, import, runtime, web regression, calibration, and rtl_tcp protocol tests pass
  • Universal macOS package verified for Intel and Apple Silicon; Windows and Debian archives verified
  • Live HackRF WFM tuning, spectrum, waterfall, signal detection, Mapper scanning, and PCM audio verified
  • Bundled P25 engine startup and shutdown verified; live control-channel decoding remains dependent on receiving a usable local P25 control channel

The tagged workflow rebuilds, checksums, and attaches packages for macOS, Windows 10/11, and Debian/Ubuntu.

GP-SDR 1.0.2

Choose a tag to compare

@DragonKeeperAlex DragonKeeperAlex released this 15 Aug 10:30

GP-SDR 1.0.2 completes the application rename throughout the current source and release artifacts.

Changes

  • Removed obsolete legacy brand aliases from environment variables, HTTP headers, helper discovery, data-path selection, and UI launcher code
  • Updated historical release documentation to GP-SDR
  • Rebuilt and scanned macOS, Windows, and Debian packages for the former name
  • Preserved Google Sheets range sync, bundled P25 stack, regional profiles, bulk imports, and all 1.0.1 functionality

The current source tree and extracted release contents were audited with zero remaining matches. User event data was preserved under the GP-SDR application-data directory.

Includes Universal/Apple Silicon/Intel macOS apps, Windows x86_64, Debian amd64/arm64 packages, and SHA256SUMS.txt.