Changelog
[Unreleased]
Added
- Spectrograms can display frequencies around a project center frequency, carry that center into SigMF exports, and adopt an unambiguous center automatically from imported SigMF metadata.
Changed
- SigMF annotation metadata export now asks which sample datatype to record, remembers the selected format, and adopts the datatype from a SigMF file imported as the graph's sole input.
Fixed
- Restored the desktop “What's New” dialog after updates, including while session checks are still loading, and ensured packaged release notes are included.
- Local Topography now flags carrier frequencies outside its supported 30 MHz to 6 GHz range directly in the Sionna channel node.
[0.1.67] - 2026-08-11
Added
- RFSim Coverage can now calculate ITU-R P.617-6 trans-horizon loss, expose its aperture-to-medium and equation-level loss diagnostics, apply P.841 worst-month statistics, report P.526 diffraction diagnostics, and provide space, frequency, and angle diversity planning for point inspections and opt-in heatmap artifacts.
[0.1.66] - 2026-08-11
Added
- RFSim Coverage can now calculate ITU-R P.617-6 trans-horizon loss, P.841 worst-month statistics, P.526 diffraction diagnostics, and space, frequency, and angle diversity planning for point inspections and opt-in heatmap artifacts.
Fixed
- Restored generation for legacy projects containing TETRA V+D blocks saved with the retired default waveform profile.
- Clarified P.452 and P.1812 fallback warnings when licensed refractivity maps are unavailable, including how to supply manual Delta-N and N0 values.
[0.1.62] - 2026-08-11
Changed
- Removed the misleading subscription-management action from Pro user profiles.
Fixed
- Generation errors now suggest retrying only when retrying can help, and jump directly to support diagnostics before reloading so current logs remain available for the support bundle.
- Corrected automatic annotation frequency bounds for FSK signals that use asymmetric or one-sided frequency shifts.
- Restored Windows desktop release publishing for signed Sionna beta runtime packs.
[0.1.61] - 2026-08-10
Fixed
- Prevented public pages from flashing or collapsing while the interactive site loads.
[0.1.60] - 2026-08-10
Added
- Added the paid Sionna RT beta for Windows NVIDIA desktops, with authenticated online installation, signed offline runtime packs, hardware eligibility checks, and fallback guidance for unsupported systems.
- Added a separate NVIDIA Local API image and offline package with startup GPU validation, read-only scene mounting, and runtime capability discovery.
Fixed
- Signed-in web users now open the node workspace directly from the homepage, while login and workspace loading no longer flash the public page.
- Fixed imported SigMF annotations sometimes disappearing while a later reload incorrectly reported them as duplicates.
[0.1.59] - 2026-08-09
Added
- Added one-time service announcements that can provide important notices in the desktop and web apps.
Fixed
- Fixed macOS desktop update checks after notarized installation and added a manual download recovery action when native updates are unavailable.
- Fixed browser input-file imports that could appear loaded even when local sample storage failed to commit.
- Fixed spectrogram and time-domain measurements snapping back when earlier measurements were hidden or a crosshair axis was disabled.
[0.1.58] - 2026-08-09
Added
- FMCW nodes can now use custom time-based expressions to combine one-cycle, multi-cycle, and non-periodic frequency controls measured directly in hertz.
- Project loading now warns before opening FMCW custom expressions from an untrusted file.
- RFix now separates user-correctable generation problems from unexpected failures, reports unexpected app crashes with a support incident ID, and offers clearer retry, reload, and diagnostics guidance.
- Added protected, agent-friendly Markdown endpoints for the RFSim Coverage documentation index and complete documentation.
- RFSim Coverage now offers an explicit P.525 plus ITU-R P.526-16 complete Delta-Bullington model for deterministic terrain diffraction, with configurable effective Earth radius and ground surface properties.
- RFSim Coverage can now build reusable terrain scenes from WGS84 bounds or a center and radius, using USGS 3DEP in fully covered U.S. areas and global Mapzen terrain as a fallback.
- Scene imports can optionally add Overture Maps buildings with disclosed height estimates, full data provenance, REST and MCP job controls, and attribution on derived results.
- RFSim Coverage can now calculate Sionna rain loss over complete ray paths, automatically choose the efficient coupling method from the expected effect, and export emitter-specific rain-attenuation maps with optional H3 value labels.
- RFSim scene uploads now retain vertical-datum, normalization, integrity, and terrain-quality provenance, with optional P.1511-3 EGM2008 normalization for ellipsoidal elevation data and separate input-quality reporting on runs.
Changed
- Signed and notarized macOS releases now download verified updates automatically and install them when RFix exits.
- RFSim Coverage now serves its complete documentation site behind an authenticated browser login, with live Swagger available separately for authorized users.
- Sionna heatmaps retain the efficient radio-map solver by default and produce dry and rain-adjusted power from the same trace when pathwise rain is significant.
- Spectrogram color thresholds now remain stable while zooming and panning, with a new Fit to View control for explicitly adjusting contrast to the visible region.
Fixed
- Fixed intermittent desktop signal-file imports when replacing or reusing an Input IQ node, and kept the import dialog open with a useful error when loading fails.
- Replaced stale automatically generated spectrogram annotations on each generation while preserving manual annotations. Generated SigMF annotations now consistently use `core:generator: "RFix"` and `rfix:auto_generated: true`.
- Kept building outlines behind heatmap value labels, legends, and distance scales so map annotations remain readable.
- RFSim Coverage can now fetch live weather from Open-Meteo's keyless evaluation API; subscribed deployments can still select the customer endpoint and provide its API key.
- Corrected GNSS receiver and interferer geometry to convert mean-sea-level heights to WGS84 ellipsoid heights when the qualified EGM2008 terrain-reference pack is installed.
- Sionna ray previews and signal generation now install or validate the required runtime, prepare full Hybrid AOI scenes automatically, and report actionable setup errors instead of silently showing no paths. Compiled scene caching is also bounded to prevent stale bundles from growing without limit.
- RFix now remembers access to user-selected Sionna terrain files and folders across desktop restarts.
[0.1.57] - 2026-07-30
Added
- A BLE Connection node can now generate followed LE 1M central/peripheral data-channel exchanges with CSA #1 or CSA #2 hopping, automatic sequence acknowledgements, and packet-level timeline annotations.
- Added BLE 2M and Coded PHY support, long chained extended advertising,
- RF coverage studies can now combine resolution-aware local Sionna ray tracing with an analytical propagation model across larger regions, including smooth transitions, bounded per-emitter work, cropped scenes, and zero-path quality checks.
- RF coverage heatmaps and point inspections now support generic fixed-snapshot satellite emitters, geostationary positions, antenna footprints, and P.618 Earth-space downlink attenuation.
- GLONASS L1 C/A can now emit one separately tuned, DC-centered IQ channel per physical FDMA channel, with channel selection in analysis views and per-lane RF frequencies in SigMF Collection exports. The existing summed RF composite remains the default.
- GNSS denial runs can optionally color cells by modeled denial cause and export elevation-visible counts, clear-signal counts, fourth-satellite tracking margin, interference noise rise, and bounded per-satellite diagnostics.
- Added industry scenario pages.
- Added a crawler-focused site summary and a richer social sharing preview.
- RFSim Coverage can now resolve authenticated current weather into replayable atmospheric inputs for heatmaps, point inspections, relative studies, Monte Carlo runs, and GNSS analysis.
- Hybrid AOI building GeoJSON can now provide per-building radio materials, wall thickness, and diffuse-scattering properties for native Sionna ray tracing.
- Added opt-in P.452 fallback and total-power anchoring for static Sionna RT
- Wi-Fi 802.11a/g nodes can now import Raw 802.11 and Radiotap PCAP or PCAPNG captures as portable Raw MPDU replay schedules, with timing, rate, channel, and FCS controls.
Changed
- BLE nodes now generate standards-valid LE 1M legacy advertising packets on channels 37–39, including Bluetooth CRC, mandatory channel whitening, strict PDU validation, and a structured packet builder with raw-hex access.
- BLE advertisers can generate repeatable event trains with configurable intervals, seeded standard advertising delay or exact laboratory timing, and packet-level timeline annotations.
- BLE connection signals can now select separate central and peripheral PHYs.
- Improved Sionna map previews with directional color waves, clearer propagation paths, distinct interaction symbols, representative grouping of overlapping rays, a persistent calculation indicator, and control over how many paths are shown.
- Coverage heatmaps, terrain images, and overlays now show uploaded building footprints by default so obstructions affecting propagation remain visible.
- GLONASS broadcast simulation now uses absolute UTC to choose multi-day RINEX records, takes blank FDMA channel values from RINEX, rejects unhealthy or stale records during automatic selection, and transmits a complete navigation superframe with derived almanac data.
- GNSS interferers now support the same directional antenna patterns, orientation, polarization, and field-of-view annotations as other transmitters.
- Public pages now load substantially less code and smaller images, use consistent canonical URLs, and return a real not-found page for unknown addresses.
- The homepage now uses softer section snapping without trapping continued wheel input or shifting as deferred images load.
- The public navigation now gains a subtle translucent background and lower-edge fade over scrolled content.
- The About page now focuses on RFix's company mission without individual profile cards.
- Already signed-in users who open the login or signup page are now taken directly to the workspace.
- MCP information and desktop setup steps now appear alongside the other capabilities on the Product page.
- Public product information now clearly states that a free plan is available while optional licensed capabilities remain separate.
- Python packages now require Python 3.14 or newer, matching the desktop and web runtimes.
- RF coverage results now report machine-readable scientific assurance and
- P.2001 now uses the complete P.2001-6 procedure and its hash-qualified
- Site-specific P.833-10 terminal-woodland attenuation can be enabled with
- New ITU climatology packs require the official P.676-13 Annex 2 coefficient
- New packs also require the official P.836-6 annual surface-water-vapour
- Satellite paths in the ionospheric range now explicitly disclose omitted
- P.528 assurance now reflects validation against every valid cell in the
- RFSim Coverage cloud runs now use durable queued CPU/GPU workers, immutable
- The Sionna refraction control is now described as opt-in building and material penetration, with clearer limits on what the model represents.
- Sionna RT now preserves the requested interaction depth when recovering from ray-solver loop failures, and free-edge diffraction is an explicit experimental depth-1 option instead of being enabled automatically. High-quality coverage now uses more rays at the balanced interaction depth, and incompatible edge-diffraction requests are rejected before starting a run.
- Sionna RT generation now reuses unchanged propagation snapshots and loaded scene devices, avoids repeated path conversions, and releases idle worker memory automatically.
Fixed
- Enabling map rays now automatically selects a fully connected emitter when no endpoint was selected.
- Sionna signal generation now recovers from a known mixed reflection-and-diffraction kernel failure by using first-order interactions and recording the reduced solve depth.
- Windows staging builds now support F12 and Ctrl+Shift+I for renderer diagnostics while production keeps developer tools disabled.
- Kept distance-scale labels fully visible at the edges of RFSim heatmap images.
- Showed distinct colorbar values when a heatmap's data range is narrow.
- Fixed installation of the custom block starter package after its package layout changed.
- Labeled every development-only node in the sidebar with a Dev badge, including nodes that also have a Beta badge.
- Bundled the image support required to compile Hybrid AOI terrain and render topography previews in the desktop app.
- Older projects with saved FSK or PSK data patterns now open without crashing the node editor.
- The map minimap now displays nodes and the current viewport instead of appearing empty.
- P.840 cloud attenuation from integrated cloud-water maps now uses the
- P.1411 street-canyon and over-rooftop results now use published site-general
- P.530 fixed-link results now include P.676 gas and median-Earth-curvature
- P.530-19 rain attenuation now applies the P.838 polarization exponent and
- P.1411 now provides an explicit urban one-turn site-specific mode backed by
- P.1411 one-turn corner loss now applies equation (65) without the erroneous
- P.839 rain heights in newly built climatology packs now include the required
- P.618 gaseous attenuation now uses the P.676-13 Annex 2 instantaneous
- SigMF annotations now align with the baseband spectrogram when importing centered or retuned captures, and 5G NR exports now write absolute annotation frequencies consistently across antenna recordings.
- Sionna channels now make the active propagation backend explicit, preserve local terrain detail with link-focused ray-tracing scenes, import common lon/lat building footprints without an extra projection package, retry LoS-only ray searches at higher quality, and report the physical paths summed into received IQ.
- Fixed selected terrain, land-cover, and building files being incorrectly reported as missing in the desktop app.
- Spectrogram measurements can now be placed over visible annotations without selecting or moving the annotation.
- Corrected Wi-Fi convolutional coding so generated 802.11a/g frames decode successfully in independent GNU Radio receivers at every supported legacy OFDM rate.
- The Windows desktop changelog now reliably shows the release notes packaged with the installed app.
[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.