Changelog

[Unreleased]

Fixed

  • Spectrogram measurements can now be placed over visible annotations without selecting or moving the annotation.

[0.1.56] - 2026-07-25

Changed

  • Spectrogram rendering now uses the responsive viewport engine for all signals; the former beta toggle and legacy renderer have been removed.

Fixed

  • Saved projects now reliably include loaded input-file and recorder samples, restore them into the desktop runtime after import, and report incomplete project data instead of silently generating an empty spectrogram.
  • Repeated spectrogram generation now keeps each run's stored sensor output separate, preventing an earlier cleanup from deleting newly generated chunks.
  • Spectrogram window size now controls the number of analyzed samples independently of FFT size, while preserving signal power when shorter windows are zero-padded.
  • Moving Average now smooths neighboring spectrogram frames consistently during generation, viewport navigation, recording trim previews, and local-agent previews.

[0.1.55] - 2026-07-25

Changed

  • SigMF exports now default to matching `.sigmf-data` and `.sigmf-meta` files on both web and desktop. Web exports wait for generation to finish and use ordinary browser downloads, without requesting folder access. A remembered option can package each recording as its own `.sigmf` archive, while multi-recording Collection exports continue to produce one collection archive.

Fixed

  • Web raw-binary IQ downloads can now start while signal generation is still running, writing completed chunks directly to the selected file in supported browsers.
  • Large web SigMF data/metadata pair exports now convert completed IQ chunks directly into the selected format instead of assembling the full floating-point recording in memory.
  • SigMF archives exported without optional TAR end blocks can now be loaded, and new exports include standards-compatible end blocks.
  • macOS builds without a Developer ID certificate now use a complete ad-hoc signature, allowing the standard unidentified-developer approval flow instead of being reported as damaged.

[0.1.54] - 2026-07-25

Added

  • The Map now shows height-styled Hybrid AOI building footprints by default and can display the strongest propagation rays for a selected Sionna-linked emitter or sensor.

Changed

  • Local Topography now uses frequency-dependent terrain and building-profile diffraction from 30 MHz through 6 GHz, honors the LoS and Diffraction path switches, and rejects endpoints outside or below the loaded terrain.
  • 3D emitter and sensor beam patterns are now evaluated for each propagation path before multipath is combined. Map rays show antenna attenuation and mark dominant terrain obstructions.
  • Desktop releases now use an updated Electron runtime and refreshed cloud and routing dependencies with current security fixes.

Fixed

  • Hosted project launches no longer repeat session activation while navigating into an opened project.

[0.1.53] - 2026-07-25

Added

  • RFSim Coverage can optionally calculate outdoor heatmaps, point inspections, relative comparisons, and GNSS jammer paths with GPU-backed Sionna ray tracing over terrain and uploaded structure geometry.

Changed

  • Outdoor structure uploads accept normalized RFSim and common OpenStreetMap building properties, can be read back as WGS84 GeoJSON, and can be outlined on heatmap and GNSS PNGs.
  • Sionna receiver surfaces are clipped around buildings, indoor transmitter and point-receiver positions are rejected, and run diagnostics report geometry and ray-interaction details.
  • Added optional Windows NVIDIA Sionna runtime installation without bundling a second Python runtime or increasing the normal desktop download with ray-tracing dependencies.
  • Sionna ray-traced channels now apply endpoint polarization, path-specific Doppler from moving endpoints, and atmospheric attenuation along each reflected or diffracted path segment, with richer path diagnostics and faster reusable scene solves.

Fixed

  • SigMF annotations imported through an input-file node now appear immediately in the annotations panel.
  • Loose SigMF pair pickers now show both loaded filenames instead of a misleading native “no file chosen” status.
  • Desktop spectrogram regeneration now cancels superseded file-backed jobs and starts the latest graph immediately without active-job errors.
  • Fixed Input File generation failures for single-channel real imports in web and desktop.
  • Made a single Undo unload a newly imported IQ file while keeping its Input IQ File node in the graph.
  • Fixed automatic spectrogram annotations in the web demo.
  • Fixed web generation exhausting its Pyodide memory during long, complex simulations.
  • Fixed large progressive web spectrograms stalling or losing regions while chunks were still being saved.
  • Input IQ File now loads matching SigMF metadata, including the sample rate, datatype, and annotations. Desktop discovers same-folder sidecars automatically, while web imports can select both files together.
  • Fixed Sionna runtime packs hanging while the desktop waited for their startup handshake.
  • Fixed Sionna ray tracing for imported terrain and building scenes by emitting compatible RF material identifiers.
  • Kept spectrogram annotation labels visible when their boxes extend beyond the current zoomed or rotated view, with the full name shown when hovering over shortened labels.

[0.1.52] - 2026-07-19

Added

  • RF coverage requests can use NTIA ITM and P.528, ITU-R P.452, P.530, P.1812, P.1411, P.2001, and P.2108 clutter procedures, with explicit capability and conformance diagnostics.
  • Dedicated GNSS runs calculate satellite visibility, C/N0 degradation, DOP, and acquisition or tracking denial from inline or SP3 ephemerides and intentional or adjacent-band interferers.
  • GNSS denial runs can render selected denial, tracked-satellite, minimum-C/N0, and PDOP maps as standalone or terrain-overlay PNG artifacts.

Changed

  • NXDN, DMR Tier 2, P25 Phase 1 and 2, Analog PMR, and GPS L1 C/A blocks are now available without enabling Beta Blocks.
  • Propagation requests now present one model-specific parameter block, typed application and clutter choices, and clearer OpenAPI examples while continuing to accept saved requests that use the earlier model-block format.
  • Scene-layer routes now expose clutter and radio-climate layer kinds as typed OpenAPI choices.
  • Propagation parameters now include clearer units, statistical meanings, model limitations, and examples, with stricter validation for refractivity, P.1812 location percentages, P.530 rain percentages, and categorical raster codes.

Fixed

  • Fixed the Into Sight Help easter egg failing to load after an earlier production cache miss.
  • Fixed Windows desktop builds failing to start when the packaged Python backend retained a path from the release build machine.

[0.1.51] - 2026-07-17

Added

  • Added a synchronized musical surprise to desktop Easter Egg mode.
  • Added static roll controls to 3D emitters and sensors so asymmetric antenna patterns can rotate about boresight while motion waypoints remain position-only.

Fixed

  • Prevented the spectrogram page from repeatedly regenerating annotations when renderer state changes without a graph change.
  • Fixed annotation resize cursors getting stuck after leaving an annotation box.
  • Made the spectrogram action tool use the regular cursor over plain spectrogram areas.
  • Added visible download progress and aligned update controls when fetching a macOS update installer from the desktop app.
  • Fixed a spectrogram freeze where changing FFT settings and then zooming could leave the recompute indicator stuck.
  • Unified spectrogram Undo and Redo across zooming, panning, and manual annotation edits, while reliably restoring both axes without delayed plot updates creating duplicate history steps.

[0.1.50] - 2026-07-15

Added

  • Added a What's New section to Help with a direct link to the full changelog.

Changed

  • Moved annotation opacity into the color picker and limited it to the box fill, keeping annotation borders and labels opaque.

[0.1.49] - 2026-07-14

Added

  • Added per-annotation opacity controls, preserved in SigMF appearance colors as an optional alpha byte.
  • Added automatic and wideband channel response controls for 3D ITU and Sionna channel nodes, including frequency-dependent ITU loss correction for wideband signals and cached sparse path responses for Sionna-based channels.
  • Added crawlable, source-backed product comparison pages and improved public page metadata for search engines and AI-assisted discovery.

Changed

  • Expanded product comparisons with a clearer view of RFix workflow advantages, an at-a-glance capability matrix, concrete workflows, claim-level sources, and links into relevant RFix features and examples.
  • SigMF recording and annotation-table exports of an unchanged, single Input File recording now default to the original recording's filename.

Fixed

  • Stopped the macOS desktop app from repeatedly showing the same ready-to-install update after choosing Later.
  • Unsigned macOS builds now offer an authenticated manual installer download instead of attempting an unsupported automatic installation, while keeping the signed update path ready for future use.
  • Updater failures now show their underlying reason.
  • Preserved and rescaled manual spectrogram annotations across sample-rate changes while regenerating automatic annotations without waiting for long IQ generations to finish.

[0.1.46] - 2026-07-10

Added

  • Added a Firebase-gated LocalAPI Docker download portal for authorized client accounts.

Changed

  • Desktop installer downloads from the website now start through the browser download manager instead of buffering the installer in the page first.

Fixed

  • Fixed macOS desktop updates getting stuck after clicking restart to install.

[0.1.45] - 2026-07-09

Changed

  • The desktop "What's New" popup now shows the full changelog with the newest entries first.

[0.1.44] - 2026-07-09

Fixed

  • Input File node now shortens the project's global sample duration to match a shorter loaded file when it is the only node in the graph, instead of only ever extending the duration to fit longer files.

[0.1.43] - 2026-07-08

Added

  • In-app "What's New" popup and changelog page for the desktop and web apps.
  • Opt-in "Local MCP Connector" beta for the desktop app, letting local agent clients (Codex, Claude, Cursor, and others) read and edit the current project.
  • Offline Docker bundle for running the RFIX API locally without pulling from a registry, activated with a license file, plus a one-command helper to register its MCP endpoint with common agent clients.
  • Setting to disable automatic desktop app updates (manual update checks remain available).
  • SigMF Collection archive export (bundled `.zip`/`.tar.gz`) from the IQ download dialog, with streaming export for large recordings on desktop.
  • SigMF output format for the local generate-to-file and spooled-generation API/SDK methods.
  • Color-coded spectrogram annotations that can be copied and pasted between rows.
  • Input File node now shows file details (duration, sample count, sample rate) and prompts to reconcile mismatched sample rates against the project.

Changed

  • Faster signal generation for larger, multi-emitter scenes through accelerated protocol encoding, resampling, and channel/motion math.
  • Redesigned the Overview page hero section with an animated multi-scenario carousel.
  • Upgraded the in-browser web runtime to Python 3.14 with refreshed scientific computing libraries.

Fixed

  • Corrected the IQ Mismatch channel effect block, which rotated quadrature phase error in the wrong direction.
  • Corrected the Phase Noise block's power conversion, which applied roughly half the intended noise power, and fixed its mislabeled units.
  • Fixed the visibility checkbox in measurement/annotation tables not always registering a click.
  • Fixed Keysight N9000B instrument capture failing when the analyzer was left in the wrong mode.
  • SigMF exports now include correct SHA-512 data-file hashes.