mirror of
https://github.com/smittix/intercept.git
synced 2026-04-24 22:59:59 -07:00
Add start.sh as the recommended production entry point with: - gunicorn + gevent worker for concurrent SSE/WebSocket handling - CLI flags for port, host, debug, HTTPS, and dependency checks - Auto-fallback to Flask dev server if gunicorn not installed - Conditional gevent monkey-patch in app.py via INTERCEPT_USE_GEVENT env var - Docker CMD updated to use start.sh - Updated all docs, setup.sh, and requirements.txt accordingly Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
525 lines
24 KiB
Markdown
525 lines
24 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to iNTERCEPT will be documented in this file.
|
||
|
||
## [2.23.0] - 2026-02-27
|
||
|
||
### Added
|
||
- **Radiosonde Weather Balloon Tracking** - 400-406 MHz reception via radiosonde_auto_rx with telemetry, map, and station distance tracking
|
||
- **CW/Morse Code Decoder** - Custom Goertzel tone detection with OOK/AM envelope detection mode for ISM bands
|
||
- **WeFax (Weather Fax) Decoder** - HF weather fax reception with auto-scheduler, broadcast timeline, and image gallery
|
||
- **System Health Monitoring** - Telemetry dashboard with process monitoring and system metrics
|
||
- **HTTPS Support** - TLS via `INTERCEPT_HTTPS` configuration
|
||
- **ADS-B Voice Alerts** - Text-to-speech notifications for military and emergency aircraft detections
|
||
- **HackRF TSCM RF Scan** - HackRF support added to TSCM counter-surveillance RF sweep
|
||
- **Multi-SDR WeFax** - Multiple SDR hardware support for WeFax decoder
|
||
- **Tool Path Overrides** - `INTERCEPT_*_PATH` environment variables for custom tool locations
|
||
- **Homebrew Tool Detection** - Native path detection for Apple Silicon Homebrew installations
|
||
- **Production Server** - `start.sh` with gunicorn + gevent for concurrent SSE/WebSocket handling — eliminates multi-client page load delays
|
||
|
||
### Changed
|
||
- Morse decoder rebuilt with custom Goertzel decoder, replacing multimon-ng dependency
|
||
- GPS mode upgraded to textured 3D globe visualization
|
||
- Destroy lifecycle added to all mode modules to prevent resource leaks
|
||
- Docker container now uses gunicorn + gevent by default via `start.sh`
|
||
|
||
### Fixed
|
||
- ADS-B device release leak and startup performance regression
|
||
- ADS-B probe incorrectly treating "No devices found" as success
|
||
- USB claim race condition after SDR probe
|
||
- SDR device registry collision when multiple SDR types present
|
||
- APRS 15-minute startup delay caused by pipe buffering
|
||
- APRS map centering at [0,0] when GPS unavailable
|
||
- DSC decoder ITU-R M.493 compliance issues
|
||
- Weather satellite 0dB SNR — increased sample rate for Meteor LRPT
|
||
- SSE fanout backlog causing delayed updates across all modes
|
||
- SSE reconnect packet loss during client reconnection
|
||
- Waterfall monitor tuning race conditions
|
||
- Mode FOUC (flash of unstyled content) on initial navigation
|
||
- Various Morse decoder stability and lifecycle fixes
|
||
|
||
---
|
||
|
||
## [2.22.3] - 2026-02-23
|
||
|
||
### Fixed
|
||
- Waterfall control panel rendered as unstyled text for up to 20 seconds on first visit — CSS is now loaded eagerly with the rest of the page assets
|
||
- WebSDR globe failed to render on first page load — initialization now waits for a layout frame before mounting the WebGL renderer, ensuring the container has non-zero dimensions
|
||
- Waterfall monitor audio took minutes to start — `_waitForPlayback` now only reports success on actual audio playback (`playing`/`timeupdate`), not from the WAV header alone (`loadeddata`/`canplay`)
|
||
- Waterfall monitor could not be stopped — `stopMonitor()` now pauses audio and updates the UI immediately instead of waiting for the backend stop request (which blocked for 1+ seconds during SDR process cleanup)
|
||
- Stopping the waterfall no longer shows a stale "WebSocket closed before ready" message — the `onclose` handler now detects intentional closes
|
||
|
||
---
|
||
|
||
## [2.22.1] - 2026-02-23
|
||
|
||
### Fixed
|
||
- PWA install prompt not appearing — manifest now includes required PNG icons (192×192, 512×512)
|
||
- Apple touch icon updated to PNG for iOS Safari compatibility
|
||
- Service worker cache bumped to bust stale cached assets
|
||
|
||
---
|
||
|
||
## [2.22.0] - 2026-02-23
|
||
|
||
### Added
|
||
- **Waterfall Receiver Overhaul** - WebSocket-based I/Q streaming with server-side FFT, click-to-tune, zoom controls, and auto-scaling
|
||
- **Voice Alerts** - Configurable text-to-speech event notifications across modes
|
||
- **Signal Fingerprinting** - RF device identification and pattern analysis mode
|
||
- **SignalID** - Automatic signal classification via SigIDWiki API integration
|
||
- **PWA Support** - Installable web app with service worker caching and manifest
|
||
- **Real-time Signal Scope** - Live signal visualization for pager, sensor, and SSTV modes
|
||
- **ADS-B MSG2 Surface Parsing** - Ground vehicle movement tracking from MSG2 frames
|
||
- **Cheat Sheets** - Quick reference overlays for keyboard shortcuts and mode controls
|
||
- App icon (SVG) for PWA and browser tab
|
||
|
||
### Changed
|
||
- **WebSDR overhaul** - Improved receiver management, audio streaming, and UI
|
||
- **Mode stop responsiveness** - Faster timeout handling and improved WiFi/Bluetooth scanner shutdown
|
||
- **Mode transitions** - Smoother navigation with performance instrumentation
|
||
- **BT Locate** - Refactored JS engine with improved trail management and signal smoothing
|
||
- **Listening Post** - Refactored with cross-module frequency routing
|
||
- **SSTV decoder** - State machine improvements and partial image streaming
|
||
- Analytics mode removed; per-mode analytics panels integrated into existing dashboards
|
||
|
||
### Fixed
|
||
- ADS-B SSE multi-client fanout stability and update flush timing
|
||
- WiFi scanner robustness and monitor mode teardown reliability
|
||
- Agent client reliability improvements for remote sensor nodes
|
||
- SSTV VIS detector state reporting in signal monitor diagnostics
|
||
|
||
### Documentation
|
||
- Complete documentation audit across README, FEATURES, USAGE, help modal, and GitHub Pages
|
||
- Fixed license badge (MIT → Apache 2.0) to match actual LICENSE file
|
||
- Fixed tool name `rtl_amr` → `rtlamr` throughout all docs
|
||
- Fixed incorrect entry point examples (`python app.py` → `sudo -E venv/bin/python intercept.py`)
|
||
- Removed duplicate AIS Vessel Tracking section from FEATURES.md
|
||
- Updated SSTV requirements: pure Python decoder, no external `slowrx` needed
|
||
- Added ACARS and VDL2 mode descriptions to in-app help modal
|
||
- GitHub Pages site: corrected Docker command, license, and tool name references
|
||
|
||
---
|
||
|
||
## [2.21.1] - 2026-02-20
|
||
|
||
### Fixed
|
||
- BT Locate map first-load rendering race that could cause blank/late map initialization
|
||
- BT Locate mode switch timing so Leaflet invalidation runs after panel visibility settles
|
||
- BT Locate trail restore startup latency by batching historical GPS point rendering
|
||
|
||
---
|
||
|
||
## [2.21.0] - 2026-02-20
|
||
|
||
### Added
|
||
- Analytics panels for operational insights and temporal pattern analysis
|
||
|
||
### Changed
|
||
- Global map theme refresh with improved contrast and cross-dashboard consistency
|
||
- Cross-app UX refinements for accessibility, mode consistency, and render performance
|
||
- BT Locate enhancements including improved continuity, smoothing, and confidence reporting
|
||
|
||
### Fixed
|
||
- Weather satellite auto-scheduler and Mercator tracking reliability issues
|
||
- Bluetooth/WiFi runtime health issues affecting scanner continuity
|
||
- ADS-B SSE multi-client fanout stability and remote VDL2 streaming reliability
|
||
|
||
---
|
||
|
||
## [2.15.0] - 2026-02-09
|
||
|
||
### Added
|
||
- **Real-time WebSocket Waterfall** - I/Q capture with server-side FFT
|
||
- Click-to-tune, zoom controls, and auto-scaling quantization
|
||
- Shared waterfall UI across SDR modes with function bar controls
|
||
- WebSocket frame serialization and connection reuse
|
||
- **Cross-Module Frequency Routing** - Tune from Listening Post directly to decoders
|
||
- **Pure Python SSTV Decoder** - Replaces broken slowrx C dependency
|
||
- Real-time decode progress with partial image streaming
|
||
- VIS detector state in signal monitor diagnostics
|
||
- Image gallery with delete and download functionality
|
||
- **Real-time Signal Scope** - Live signal visualization for pager, sensor, and SSTV modes
|
||
- **SSTV Image Gallery** - Delete and download decoded images
|
||
- **USB Device Probe** - Detect broken SDR devices before rtl_fm crashes
|
||
|
||
### Fixed
|
||
- DMR dsd-fme protocol flags, device label, and tuning controls
|
||
- DMR frontend/backend state desync causing 409 on start
|
||
- Digital voice decoder producing no output due to wrong dsd-fme flags
|
||
- SDR device lock-up from unreleased device registry on process crash
|
||
- APRS crash on large station count and station list overflow
|
||
- Settings modal overflowing viewport on smaller screens
|
||
- Waterfall crash on zoom by reusing WebSocket and adding USB release retry
|
||
- PD120 SSTV decode hang and false leader tone detection
|
||
- WebSocket waterfall blocked by login redirect
|
||
- TSCM sweep KeyError on RiskLevel.NEEDS_REVIEW
|
||
|
||
### Removed
|
||
- GSM Spy functionality removed for legal compliance
|
||
|
||
---
|
||
|
||
## [2.14.0] - 2026-02-06
|
||
|
||
### Added
|
||
- **DMR Digital Voice Decoder** - Decode DMR, P25, NXDN, and D-STAR protocols
|
||
- Integration with dsd-fme (Digital Speech Decoder - Florida Man Edition)
|
||
- Real-time SSE streaming of sync, call, voice, and slot events
|
||
- Call history table with talkgroup, source ID, and protocol tracking
|
||
- Protocol auto-detection or manual selection
|
||
- Pipeline error diagnostics with rtl_fm stderr capture
|
||
- **DMR Visual Synthesizer** - Canvas-based signal activity visualization
|
||
- Spring-physics animated bars reacting to SSE decoder events
|
||
- Color-coded by event type: cyan (sync), green (call), orange (voice)
|
||
- Center-outward ripple bursts on sync events
|
||
- Smooth decay and idle breathing animation
|
||
- Responsive canvas with window resize handling
|
||
- **HF SSTV General Mode** - Terrestrial slow-scan TV on shortwave frequencies
|
||
- Predefined HF SSTV frequencies (14.230, 21.340, 28.680 MHz, etc.)
|
||
- Modulation support for USB/LSB reception
|
||
- **WebSDR Integration** - Remote HF/shortwave listening via WebSDR servers
|
||
- **Listening Post Enhancements** - Improved signal scanner and audio handling
|
||
|
||
### Fixed
|
||
- APRS rtl_fm startup failure and SDR device conflicts
|
||
- DSD voice decoder detection for dsd-fme and PulseAudio errors
|
||
- dsd-fme protocol flags and ncurses disable for headless operation
|
||
- dsd-fme audio output flag for pipeline compatibility
|
||
- TSCM sweep scan resilience with per-device error isolation
|
||
- TSCM WiFi detection using scanner singleton for device availability
|
||
- TSCM correlation and cluster emission fixes
|
||
- Detected Threats panel items now clickable to show device details
|
||
- Proximity radar tooltip flicker on hover
|
||
- Radar blip flicker by deferring renders during hover
|
||
- ISS position API priority swap to avoid timeout delays
|
||
- Updater settings panel error when updater.js is blocked
|
||
- Missing scapy in optionals dependency group
|
||
|
||
---
|
||
|
||
## [2.13.1] - 2026-02-04
|
||
|
||
### Added
|
||
- **UI Overhaul** - Revamped styling with slate/cyan theme
|
||
- Switched app font to JetBrains Mono
|
||
- Global navigation bar across all dashboards
|
||
- Cyan-tinted map tiles as default
|
||
- **Signal Scanner Rewrite** - Switched to rtl_power sweep for better coverage
|
||
- SNR column added to signal hits table
|
||
- SNR threshold control for power scan
|
||
- Improved sweep progress tracking and stability
|
||
- Frequency-based sweep display with range syncing
|
||
- **Listening Post Audio** - WAV streaming with retry and fallback
|
||
- WebSocket audio fallback for listening
|
||
- User-initiated audio play prompt
|
||
- Audio pipeline restart for fresh stream headers
|
||
|
||
### Fixed
|
||
- WiFi connected clients panel now filters to selected AP instead of showing all clients
|
||
- USB device contention when starting audio pipeline
|
||
- Dual scrollbar issue on main dashboard
|
||
- Controls bar alignment in dashboard pages
|
||
- Mode query routing from dashboard nav
|
||
|
||
---
|
||
|
||
## [2.13.0] - 2026-02-04
|
||
|
||
### Added
|
||
- **WiFi Client Display** - Connected clients shown in AP detail drawer
|
||
- Real-time client updates via SSE streaming
|
||
- Probed SSID badges for connected clients
|
||
- Signal strength indicators and vendor identification
|
||
- **Help Modal** - Keyboard shortcuts reference system
|
||
- **Main Dashboard Button** - Quick navigation from any page
|
||
- **Settings Modal** - Accessible from all dashboards
|
||
|
||
### Changed
|
||
- Dashboard CSS improvements and consistency fixes
|
||
|
||
---
|
||
|
||
## [2.12.1] - 2026-02-02
|
||
|
||
### Added
|
||
- **SDR Device Registry** - Prevents decoder conflicts between concurrent modes
|
||
- **SDR Device Status Panel** - Shows connected SDR devices with ADS-B Bias-T toggle
|
||
- **Real-time Doppler Tracking** - ISS SSTV reception with Doppler correction
|
||
- **TCP Connection Support** - Meshtastic devices connectable over TCP
|
||
- **Shared Observer Location** - Configurable shared location with auto-start options
|
||
- **slowrx Source Build** - Fallback build for Debian/Ubuntu
|
||
|
||
### Fixed
|
||
- SDR device type not synced on page refresh
|
||
- Meshtastic connection type not restored on page refresh
|
||
- WiFi deep scan polling on agent with normalized scan_type value
|
||
- Auto-detect RTL-SDR drivers and blacklist instead of prompting
|
||
- TPMS pressure field mappings for 433MHz sensor display
|
||
- Agent capabilities cache invalidation after monitor mode toggle
|
||
|
||
---
|
||
|
||
## [2.12.0] - 2026-01-29
|
||
|
||
### Added
|
||
- **ISS SSTV Decoder Mode** - Receive Slow Scan Television transmissions from the ISS
|
||
- Real-time ISS tracking globe with accurate position via N2YO API
|
||
- Leaflet world map showing ISS ground track and current position
|
||
- Location settings for ISS pass predictions
|
||
- Integration with satellite tracking TLE data
|
||
- **GitHub Update Notifications** - Automatic new version alerts
|
||
- Checks for updates on app startup
|
||
- Unobtrusive notification when new releases are available
|
||
- Configurable check interval via settings
|
||
- **Meshtastic Enhancements**
|
||
- QR code support for easy device sharing
|
||
- Telemetry display with battery, voltage, and environmental data
|
||
- Traceroute visualization for mesh network topology
|
||
- Improved node synchronization between map and top bar
|
||
- **UI Improvements**
|
||
- New Space category for satellite and ISS-related modes
|
||
- Pulsating ring effect for tracked aircraft/vessels
|
||
- Map marker highlighting for selected aircraft in ADS-B
|
||
- Consolidated settings and dependencies into single modal
|
||
- **Auto-Update TLE Data** - Satellite tracking data updates automatically on app startup
|
||
- **GPS Auto-Connect** - AIS dashboard now connects to gpsd automatically
|
||
|
||
### Changed
|
||
- **Utility Meters** - Added device grouping by ID with consumption trends
|
||
- **Utility Meters** - Device intelligence and manufacturer information display
|
||
|
||
### Fixed
|
||
- **SoapySDR** - Module detection on macOS with Homebrew
|
||
- **dump1090** - Build failures in Docker containers
|
||
- **dump1090** - Build failures on Kali Linux and newer GCC versions
|
||
- **Flask** - Ensure Flask 3.0+ compatibility in setup script
|
||
- **psycopg2** - Now optional for Flask/Werkzeug compatibility
|
||
- **Bias-T** - Setting now properly passed to ADS-B and AIS dashboards
|
||
- **Dark Mode Maps** - Removed CSS filter that was inverting dark tiles
|
||
- **Map Tiles** - Fixed CARTO tile URLs and added cache-busting
|
||
- **Meshtastic** - Traceroute button and dark mode map fixes
|
||
- **ADS-B Dashboard** - Height adjustment to prevent bottom controls cutoff
|
||
- **Audio Visualizer** - Now works without spectrum canvas
|
||
|
||
---
|
||
|
||
## [2.11.0] - 2026-01-28
|
||
|
||
### Added
|
||
- **Meshtastic Mesh Network Integration** - LoRa mesh communication support
|
||
- Connect to Meshtastic devices (Heltec, T-Beam, RAK) via USB/Serial
|
||
- Real-time message streaming via SSE
|
||
- Channel configuration with encryption key support
|
||
- Node information display with signal metrics (RSSI, SNR)
|
||
- Message history with up to 500 messages
|
||
- **Ubertooth One BLE Scanner** - Advanced Bluetooth scanning
|
||
- Passive BLE packet capture across all 40 BLE channels
|
||
- Raw advertising payload access
|
||
- Integration with existing Bluetooth scanning modes
|
||
- Automatic detection of Ubertooth hardware
|
||
- **Offline Mode** - Run iNTERCEPT without internet connectivity
|
||
- Bundled Leaflet 1.9.4 (JS, CSS, marker images)
|
||
- Bundled Chart.js 4.4.1
|
||
- Bundled Inter and JetBrains Mono fonts (woff2)
|
||
- Local asset status checking and validation
|
||
- **Settings Modal** - New configuration interface accessible from navigation
|
||
- Offline tab: Toggle offline mode, configure asset sources
|
||
- Display tab: Theme and animation preferences
|
||
- About tab: Version info and links
|
||
- **Multiple Map Tile Providers** - Choose from:
|
||
- OpenStreetMap (default)
|
||
- CartoDB Dark
|
||
- CartoDB Positron (light)
|
||
- ESRI World Imagery
|
||
- Custom tile server URL
|
||
|
||
### Changed
|
||
- **Dashboard Templates** - Conditional asset loading based on offline settings
|
||
- **Bluetooth Scanner** - Added Ubertooth backend alongside BlueZ/DBus
|
||
- **Dependencies** - Added meshtastic SDK to requirements.txt
|
||
|
||
### Technical
|
||
- Added `routes/meshtastic.py` for Meshtastic API endpoints
|
||
- Added `utils/meshtastic.py` for device management
|
||
- Added `utils/bluetooth/ubertooth_scanner.py` for Ubertooth support
|
||
- Added `routes/offline.py` for offline mode API
|
||
- Added `static/js/core/settings-manager.js` for client-side settings
|
||
- Added `static/css/settings.css` for settings modal styles
|
||
- Added `static/css/modes/meshtastic.css` for Meshtastic UI
|
||
- Added `static/js/modes/meshtastic.js` for Meshtastic frontend
|
||
- Added `templates/partials/modes/meshtastic.html` for Meshtastic mode
|
||
- Added `templates/partials/settings-modal.html` for settings UI
|
||
- Added `static/vendor/` directory structure for bundled assets
|
||
|
||
---
|
||
|
||
## [2.10.0] - 2026-01-25
|
||
|
||
### Added
|
||
- **AIS Vessel Tracking** - Real-time ship tracking via AIS-catcher
|
||
- Full-screen dashboard with interactive maritime map
|
||
- Vessel details: name, MMSI, callsign, destination, ETA
|
||
- Navigation data: speed, course, heading, rate of turn
|
||
- Ship type classification and dimensions
|
||
- Multi-SDR support (RTL-SDR, HackRF, LimeSDR, Airspy, SDRplay)
|
||
- **VHF DSC Channel 70 Monitoring** - Digital Selective Calling for maritime distress
|
||
- Real-time decoding of DSC messages (Distress, Urgency, Safety, Routine)
|
||
- MMSI country identification via Maritime Identification Digits (MID) lookup
|
||
- Position extraction and map markers for distress alerts
|
||
- Prominent visual overlay for DISTRESS and URGENCY alerts
|
||
- Permanent database storage for critical alerts with acknowledgement workflow
|
||
- **Spy Stations Database** - Number stations and diplomatic HF networks
|
||
- Comprehensive database from priyom.org
|
||
- Station profiles with frequencies, schedules, operators
|
||
- Filter by type (number/diplomatic), country, and mode
|
||
- Tune integration with Listening Post
|
||
- Famous stations: UVB-76, Cuban HM01, Israeli E17z
|
||
- **SDR Device Conflict Detection** - Prevents collisions between AIS and DSC
|
||
- **DSC Alert Summary** - Dashboard counts for unacknowledged distress/urgency alerts
|
||
- **AIS-catcher Installation** - Added to setup.sh for Debian and macOS
|
||
|
||
### Changed
|
||
- **UI Labels** - Renamed "Scanner" to "Listening Post" and "RTLAMR" to "Meters"
|
||
- **Pager Filter** - Changed from onchange to oninput for real-time filtering
|
||
- **Vessels Dashboard** - Now includes VHF DSC message panel alongside AIS tracking
|
||
- **Dependencies** - Added scipy and numpy for DSC signal processing
|
||
|
||
### Fixed
|
||
- **DSC Position Decoder** - Corrected octal literal in quadrant check
|
||
|
||
---
|
||
|
||
## [2.9.5] - 2026-01-14
|
||
|
||
### Added
|
||
- **MAC-Randomization Resistant Detection** - TSCM now identifies devices using randomized MAC addresses
|
||
- **Clickable Score Cards** - Click on threat scores to see detailed findings
|
||
- **Device Detail Expansion** - Click-to-expand device details in TSCM results
|
||
- **Root Privilege Check** - Warning display when running without required privileges
|
||
- **Real-time Device Streaming** - Devices stream to dashboard during TSCM sweep
|
||
|
||
### Changed
|
||
- **TSCM Correlation Engine** - Improved device correlation with comprehensive reporting
|
||
- **Device Classification System** - Enhanced threat classification and scoring
|
||
- **WiFi Scanning** - Improved scanning reliability and device naming
|
||
|
||
### Fixed
|
||
- **RF Scanning** - Fixed scanning issues with improved status feedback
|
||
- **TSCM Modal Readability** - Improved modal styling and close button visibility
|
||
- **Linux Device Detection** - Added more fallback methods for device detection
|
||
- **macOS Device Detection** - Fixed TSCM device detection on macOS
|
||
- **Bluetooth Event Type** - Fixed device type being overwritten
|
||
- **rtl_433 Bias-T Flag** - Corrected bias-t flag handling
|
||
|
||
---
|
||
|
||
## [2.9.0] - 2026-01-10
|
||
|
||
### Added
|
||
- **Landing Page** - Animated welcome screen with logo reveal and "See the Invisible" tagline
|
||
- **New Branding** - Redesigned logo featuring 'i' with signal wave brackets
|
||
- **Logo Assets** - Full-size SVG logos in `/static/img/` for external use
|
||
- **Instagram Promo** - Animated HTML promo video template in `/promo/` directory
|
||
- **Listening Post Scanner** - Fully functional frequency scanning with signal detection
|
||
- Scan button toggles between start/stop states
|
||
- Signal hits logged with Listen button to tune directly
|
||
- Proper 4-column display (Time, Frequency, Modulation, Action)
|
||
|
||
### Changed
|
||
- **Rebranding** - Application renamed from "INTERCEPT" to "iNTERCEPT"
|
||
- **Updated Tagline** - "Signal Intelligence & Counter Surveillance Platform"
|
||
- **Setup Script** - Now installs Python packages via apt first (more reliable on Debian/Ubuntu)
|
||
- Uses `--system-site-packages` for venv to leverage apt packages
|
||
- Added fallback logic when pip fails
|
||
- **Troubleshooting Docs** - Added sections for pip install issues and apt alternatives
|
||
|
||
### Fixed
|
||
- **Tuning Dial Audio** - Fixed audio stopping when using tuning knob
|
||
- Added restart prevention flags to avoid overlapping restarts
|
||
- Increased debounce time for smoother operation
|
||
- Added silent mode for programmatic value changes
|
||
- **Scanner Signal Hits** - Fixed table column count and colspan
|
||
- **Favicon** - Updated to new 'i' logo design
|
||
|
||
---
|
||
|
||
## [2.0.0] - 2026-01-06
|
||
|
||
### Added
|
||
- **Listening Post Mode** - New frequency scanner with automatic signal detection
|
||
- Scans frequency ranges and stops on detected signals
|
||
- Real-time audio monitoring with ffmpeg integration
|
||
- Skip button to continue scanning after signal detection
|
||
- Configurable dwell time, squelch, and step size
|
||
- Preset frequency bands (FM broadcast, Air band, Marine, etc.)
|
||
- Activity log of detected signals
|
||
- **Aircraft Dashboard Improvements**
|
||
- Dependency warning when rtl_fm or ffmpeg not installed
|
||
- Auto-restart audio when switching frequencies
|
||
- Fixed toolbar overflow with custom frequency input
|
||
- **Device Correlation** - Match WiFi and Bluetooth devices by manufacturer
|
||
- **Settings System** - SQLite-based persistent settings storage
|
||
- **Comprehensive Test Suite** - Added tests for routes, validation, correlation, database
|
||
|
||
### Changed
|
||
- **Documentation Overhaul**
|
||
- Simplified README with clear macOS and Debian installation steps
|
||
- Added Docker installation option
|
||
- Complete tool reference table in HARDWARE.md
|
||
- Removed redundant/confusing content
|
||
- **Setup Script Rewrite**
|
||
- Full macOS support with Homebrew auto-installation
|
||
- Improved Debian/Ubuntu package detection
|
||
- Added ffmpeg to tool checks
|
||
- Better error messages with platform-specific install commands
|
||
- **Dockerfile Updated**
|
||
- Added ffmpeg for Listening Post audio encoding
|
||
- Added dump1090 with fallback for different package names
|
||
|
||
### Fixed
|
||
- SoapySDR device detection for RTL-SDR and HackRF
|
||
- Aircraft dashboard toolbar layout when using custom frequency input
|
||
- Frequency switching now properly stops/restarts audio
|
||
|
||
### Technical
|
||
- Added `utils/constants.py` for centralized configuration values
|
||
- Added `utils/database.py` for SQLite settings storage
|
||
- Added `utils/correlation.py` for device correlation logic
|
||
- Added `routes/listening_post.py` for scanner endpoints
|
||
- Added `routes/settings.py` for settings API
|
||
- Added `routes/correlation.py` for correlation API
|
||
|
||
---
|
||
|
||
## [1.2.0] - 2026-12-29
|
||
|
||
### Added
|
||
- Airspy SDR support
|
||
- GPS coordinate persistence
|
||
- SoapySDR device detection improvements
|
||
|
||
### Fixed
|
||
- RTL-SDR and HackRF detection via SoapySDR
|
||
|
||
---
|
||
|
||
## [1.1.0] - 2026-12-18
|
||
|
||
### Added
|
||
- Satellite tracking with TLE data
|
||
- Full-screen dashboard for aircraft radar
|
||
- Full-screen dashboard for satellite tracking
|
||
|
||
---
|
||
|
||
## [1.0.0] - 2026-12-15
|
||
|
||
### Initial Release
|
||
- Pager decoding (POCSAG/FLEX)
|
||
- 433MHz sensor decoding
|
||
- ADS-B aircraft tracking
|
||
- WiFi reconnaissance
|
||
- Bluetooth scanning
|
||
- Multi-SDR support (RTL-SDR, LimeSDR, HackRF)
|
||
|