* [H] indicates a change in the Hub code * [S] indicates a change in the URadioServer code * [W] indicates a change in the website 2017-10-30: - [SW] Added support for rtl_tcp 2017-10-26: - [S] Added Direct Sampling support for RTL2832 receiver 2017-08-19: - [SW] Added support for PCR-1000 DSP unit - [SW] Added support for IC-R8500 APF, NB, AGC and IF-shift 2016-04-02: - [H] Fixed potential I/O related deadlock 2016-03-03: - [SH] Stability improvements 2016-02-13: - [S] Added support for RTL2832 + E4000 tuner 2016-01-25: - [S] Use MP3 encoder library on Linux systems when possible, for more reliable operation and reduced latency - [S] Replaced Newtonsoft JSON library with UCIS PML implementation - [S] Maintain tuning offset in SDRSharp driver to prevent center/edge tuning issues 2016-01-23: - [S] Fixed audio bit ordering on Raspberry Pi/ARM - [S] Workaround to detect audio stream disconnection even if source initialization failed in ALSA and OSS recorders 2015-12-16: - [S] Added Yaesu FT-840 driver 2015-11-18: - [S] Added support for negative frequency offset in RTL2832 driver 2015-10-17: - [S] Improved error handling in ALSA audio recorder - [S] Improved error reporting in audio relay stream initialization - [S] Prevent crash in logging code when hub connection is lost 2015-10-11: - [S] Compiled software in Release mode (as it should be), fixes performance regression in SDR decoder. - [S] Added Deny.Option receiver configuration to disallow access to receiver options - [S] Handle potential crash on hub connection closure 2015-09-21: - [S] Fixed DRM button for audio device switching. 2015-08-24: - [H] Fix deadlock/threadpool exhaustion in AJAX polling communication - [S] Remove unsupported options from Ten-Tec RX-320 driver 2015-07-25: - [S] Added option for slow CPUs in RTLSDR V1 decoder - [S] Added audio AGC in RTLSDR V2 decoder 2015-05-07: - [S] Re-added support for external audio line in WDM driver - [SH] Added support for WebSocket audio streaming 2015-04-14: - [S] Small improvements and bugfixes - [S] Improved performance in RTLSDR V1 decoder (it can now run on a Raspberry Pi!) - [S] Added support for JSON-based client-server communication protocol (protocol version 4) - [S] Support unicode characters in RTLSDR2 RDS decoder 2015-04-04: - [S] Added extra debugging functions (extra system information, performance counters) - [S] Improved RTLSDR code (RDS format, FM DC offset, buffer settings, audio level, always-on mode) - [S] Use two queued transfers in RTLSDR2 code for better performance on old hardware - [S] Fixed regression in RTLSDR2 AM demodulator 2015-03-16: - [S] Improved PML code to fix race condition in RPC 2015-03-01: - [S] Fixed several bugs in RTL-SDR code, improved stability - [S] Added RDS decoder to RTLSDR2 decoder - [H] Improved MP3 frame sync for audio recording and RTMP streaming 2015-02-22: - [S] Send configured frequency to hub for non-tuneable receivers 2015-02-09: - [S] Performance improvements in RTLSDR2 decoder - [S] Added NAudio WaveIn audio recorder - [S] Radio driver code cleanup - [S] Improved PCR-1000 I/O code and added automatic EEPROM backup 2015-01-19: - [S] Fixed possible bug in SDR WFM decoder de-emphasis - [S] Improved reset logic for PCR-1000 by timing out read operations - [S] Updated RTLSDR2 decoder (added squelch, signal level improvements) 2015-01-08: - [S] New RTL SDR decoder 2014-11-03: - [S] Major source code cleanup and refactoring - [S] Hide audio recorder configuration if not applicable - [S] Improved error handling during receiver startup - [S] Automatically update SDRSharp plugin - [S] Use audio pin directly in WDM FM/TV capture card 2014-10-26: - [S] Added Icom IC-7100 D-STAR mode - [S] Added support for FC0013 tuner chip in RTL-SDR decoder - [H] Fixed unintentional connection throttling caused by thread starvation - [S] Improved Windows DirectSound capture via SlimDX (lower latency, less chopping, cleanup) - [S] Allow 3k and 6k filter in SDRSharp receiver interface - [SH] Fix to prevent blocking connections in audio streaming 2014-10-01: - [S] Fixed PCR-1000 IF Shift initialization - [SHP] Added receiver frequency tracking 17-08-2014: - [S] Fixed regression with audio-only receivers 01-08-2014: - [S] Added native RTL-SDR support based on rtl_fm code 01-07-2014: - [SH] Internal changes - [S] Improved error reporting and samplerate handling in ALSA recorder - [S] Added support for receiver driver provided by frontend (SDRSharp integration) - [S] Small fixes (shutdown handling, stream relay timeout handling) - [S] Added support for RTL-SDR receiver via rtl_fm 09-12-2013: - [S] Fix for time-out while sending audio data to relay server - [S] Encode audio at correct sample rate if requested rate is not supported by ALSA recorder - [S] Limit logging of buffer overflow errors in ALSA driver 07-09-2013: - [S] Updated PCR-1500 and PCR-2500 drivers to support frequencies up to 3299.999 MHz 12-05-2013: - [SH] Updated dependency on UCIS Core library - [S] Fixed TenTec RX320 volume control - [S] Disabled unsupported Perseus options - [S] Removed "unsafe" code from ALSA audio recorder - [SH] Updated HTTP server 07-01-2013: - [SH] Updated the UCIS HTTP server code - [SH] Added source code to source control 29-09-2012: - [S] Small fixes for ARM platform (uint to double conversion fails) - [H] Improved messages about relay-hub connections and small fixes in relay 14-07-2012: - [S] Small update to properly reset IF Shift when last user leaves 30-12-2011: - [H] More error checking in Relay AudioServer.Serve - [S] Added/improved support for DRM audio from secondary soundcard 30-11-2011: - [S] Ten-tec RX-320 AGC Off now sets the receiver to AGC Medium instead of Slow 20-11-2011: - [S] Fixed ALSA audio driver to not use pointers to structures 04-11-2011: - [HS] Logging context and GLobal Chat via node fixes - [H] Use the existing PML connection to forward RTMP sessions from the relay to the hub 02-11-2011: - [S] Added RFT EKD500 receiver driver 31-10-2011: - [HS] Added support for handling global chat messages by the node 29-10-2011: - [HS] Added some support for traffic statistics and tuning statistics - [HS] Cleanup and refactoring - [S] Released version number 3212 - [HS] Partially fixed logging context when running multiple receivers on one node 26-10-2011: - [HS] Added support for locking the receiver by owner and admins 27-09-2011: - [H] Added some commands to the IRC receiver interface - [H] Added receiver name in downtime notification e-mails 11-08-2011: - [S] Fixed S-meter in JRC NRD 545 driver - [S] Added Linux ALSA audio recording driver 15-06-2011: - [S] Added basic support for attaching to receiver serial port for debugging - [S] Added more modes to the Icom CI-V driver 07-06-2011: - [H] In the relay server, transfer the audio feed directly from the audio distribution to the RTMP object (instead of via a TCP connection) 19-05-2011: - [S] Fixed a bug in UCIS ActivePmlChannel which would lock a thread when reading after the channel had been closed 17-04-2011: - [S] Updated UCIS Pml Binary Writer code to buffer a message before writing - [S] Attempt to improve single instance check - [H] Changed relay port number to 9394 to prepare for the move to another server 08-04-2011: - [S] Upgraded UCIS Pml code to be easier to use 04-04-2011: - [S] Added support for ARSWIN rotator - [S] Made upgrade code even more failsafe (download new files to another directory) 25-03-2011: - [S] Added support for v4l2-ctl linux command 23-03-2011: - [S] Fixed a bug in the FMIO drievr that would round the displayed frequency to MHz 17-03-2011: - [S] Added PCR-2500 D-star and P25 demodulation support - [S] Changed Icom CI-V AGC behaviour to 'medium' instead of 'super fast' 11-03-2011: - [S] Added Kenwood TS-2000 driver (derived from TS-480) - [S] Fixed AOR AR-3000 frequency and attenuator setting 02-03-2011: - [S] Allow to configure audio device even if initialization of configured device fails - [S] Fixed JRC NRD545 driver 07-02-2011: - [S] RTS line is now configurable in Icom CI-V driver - [SH] Some small fixes - [S] Added AOR AR-3000(A) driver 03-01-2011: - [S] Fixed a bug that crashed the installer while testing for SlimDX - [S] Added support for Icom CI-V antenna switching 03-09-2010: - [SH] Fixed a bug in the forwarding code that caused problems with the mobile website 02-02-2010: - [S] First try SlimDX for audio, then try DirectX (loading DirectX on x64 may crash the server) 21-06-2010: - [S] Added Server.UPnP configuration option to disable the UPnP client - [S] Extended pid file check to exclude own process ID 22-05-2010: - [S] Fixed a small bug that might cause an user connection to drop out when broadcasting an EXT message 09-05-2010: - [S] Updated AOR AR-8000 driver (removed S-meter to prevent popping sound) 29-04-2010: - [S] Changed RX320 driver to allow for custom filter mapping - [H] Included RTMP server code in Relay application 11-04-2010: - [HS] Fixed a bug in the audio relay system which caused audio relaying to break for newly created receivers 04-04-2010: - [S] Ported/re-added Fanfare FT1A driver 01-04-2010: - [H] Check whether old connection is still alive when duplicate nodes are detected 23-03-2010: - [S] Small fix to allow the tuner and audio to be configured even though one of them fails to start 18-03-2010: - [S] Fixed S-meter in Yaesu FT-817/FT-847 driver 05-03-2010: - [S] Changed upgrade code to be even more failsafe - hopefully 03-03-2010: - [S] Converted Yaesu radio driver package from VB.Net to C# - [S] Released version 3211 - [S] Enhanced PID file management to improve restart times 28-02-2010: - [S] Removed some obsolete files - [S] Converted OSS and SlimDX audio drivers from VB.Net to C# - [S] Converted External, Icom and WDM radio driver packages from VB.Net to C# 27-02-2010: - [SH] Lowered default minimum and maximum number of idle threads in UCIS ThreadPool class, idle threads will now die if none are busy (clean shutdown) - [S] Extended support for server 'Frontends' - [S] Added a GUI Frontend/service manager/server controller - [S] Rewrote service stop/restart code to use WMI 22-02-2010: - [S] Changed the logging behaviour to create a backup of the local log file before erasing it 17-02-2010: - [S] Added some error handling to the receiver initialization, to make the receiver (configuration) accessible even though the receiver fails to start. - [S] Released version 3210 03-02-2010: - [S] Fixed another ghost user issue (hopefully) 02-02-2010: - [S] Fixed some multiple-receiver issues - [H] Fixed upgrade code (downloads drivers depending on associated receivers) - [S] Fixed audio configuration (now properly loads per-receiver configuration) - [HS] Added throttle option to TCP server module (currently unused) - [H] Fixed IRC receiver control session 29-01-2010: - [S] Added drivers for Ten-tec RX-320 and RX-350 28-01-2010: - [HS] Re-wrote much of the hub-radioserver code - [HS] Hub and radioserver are now using the new improved PmlCommunicator (replaced LegacyPmlCommunicator) - [HSP] Added support for multiple receivers on one radioserver - [S] Some fixes in AOR AR-8600 driver - [S] Released version 3209 - [D] Updated the GlobalTuners desktop client (bugfixes, new features) 14-01-2010: - [H] Fixed timezone issues in hub software and database definitions (known problem: incorrect timestamps in receiver logs) - [S] Attempted to fix late 'Read operation timed out' messages (relay mode, ForwardedXmlSocket.Close) 12-01-2010: - [HS] Added PmlArray to UCIS library, modified PmlCollection to use PmlArray 02-01-2010: - [PWF] Released new website and flash interface - [R] Upgraded AOR AR-7030 driver (corrected filter buttons) - [R] Small bugfix in WDM driver shutdown 30-12-2009: - [S] Added support for Luc's antenna rotator (ask user vitesse) 29-12-2009: - [S] Added some code to allow for future extensibility (EXT command) - [S] Added some code to allow for 'Ask to tune'/'Grant permission' buttons and admin auto-grant - [S] Released version 3207 26-12-2009: - [S] (Re)Added/ported JRC NRD-525/545 driver - [S] Released version 3206 03-12-2009: - [S] In some cases the radioserver did not report leaving users to the hub, resulting in users still being marked as 'logged in' (fixed) - [S] AOR AR-8200 driver: changed baud rate selection to dropdown - [P] Fixed redirect function, which broke on URLs containing any special characters (especially &) (affected share.php) 16-11-2009: - [HS] Fixed a few bugs introduced earlier on, related to relaying - [S] Fixed a bug which caused the radioserver to enter an infinite loop when the MP3 encoder was failing 15-11-2009: - [H] Some more optimizations and cleanup in Hub, Relay and UCIS library code - [HS] Added support for multiple quality audio streams to Relay server, RadioServer and Hub - [S] Released version 3205 14-11-2009: - [PW] Added links to use the audio streams in an external MP3 player to the JavaScript interface - [PW] Created some pages and scripts for the Mobile website: http://www.globaltuners.com/mobile/ - [H] Added support for webpage-reload-based receiver interface (Mobile website) - [P] Finished Mobile receiver interface - [H] Code cleanup and optimizations 10-11-2009: - [S] Removed signal meter reading from fmio/v4l radio driver to fix a NullReferenceException 30-10-2009: - [HS] Small change in TcpStream class to properly close sockets - [S] Added Yaesu FRG-8800 driver, contributed by VK4FSGW - [S] Decreased minimum tuning step and fixed a squelch problem in AOR AR-8000 driver, fixes contributed by VK4FSGW - [S] Released version 3204 31-08-2009: - [S] Fixed a bug that could slow down forwarded connections 30-08-2009: - [S] Fixed a bug in the Uniden BC785 driver which caused the receiver to report offline after each tune operation - [S] Modified the AOR AR-8600 driver to be compatible with the AR-8000 - [S] Added support for per thread debugging and stack traces - [H] Reduced resource usage by eliminating one thread per connected client node - [S] Some code cleanup to reduce file size, attempted to fix some bugs in ThreadPool code 24-08-2009: - [S] Added driver for Uniden BC785 23-08-2009: - [S] Added driver for Ten-tec RX-340 receiver - [S] Added support for relative frequency and option (squelch etc) changing - [S] Added some statements to debug ghost user issues on V3202+ - [W] Added support for relative frequency and option changing which makes interface more responsive 18-08-2009: - [S] Fixed Yaesu VR-5000 driver - [S] Added support for remote serial port debugging/control 17-08-2009: - [S] Added support for frequency indication on audio only nodes - [P] Automatically selecting special interface for audio only nodes - [S] More failsafe restart procedure by moving some of the cleanup procedure to an async call, will restart even when a deadlock occurs - [S] Fixed error handling which caused an unhandled exception in the framework's tread pool (LegacyPmlCommunicator.SyncRequestHandler) - [H] Added support for a more flexible free text cascaded command interface - [H] Introduced a new NODECMD command to the web interface - [WPF] Added support for on-demand reconnection after connection is lost in JavaScript radio interface - [WP] Added support for fixed frequency receivers in JavaScript radio interface - [S] Added support for flexible free text cascaded command interface - [S] Released version 3203 14-08-2009: - [S] Added device selection to SlimDX audio recorder - [S] Slightly modified audio recorder selection in CONF_RECORDER_CONFIG call 19-07-2009: - [WP] Added URL detection/conversion to hyperlink to forum and news areas 16-07-2009: - [P] Forum did not set FirstPost field for thread, fixed and updated the database - [WP] Now using forum for news posts - [H] Hub will now automatically kick (unauthorative) nodes when their (authorative) duplicate disconnects - [H] Decreased timeouts in PHP (AJAX/Comet) receiver session handling 14-07-2009: - [S] Fixed a problem in the Flash Cross Domain Policy File that prevented the classic interface from connecting - [S] Upgrade backup files will now be moved to a new directory: upgrade_backup, hopefully evading any locking of the file - [S] Improved reply reading in Icom CI-V driver - [S] Added option for live soundcard switching for use with DRM decoder 13-07-2009: - [S] Released version 3200 - [S] Added options to remotely modify bandguides - [WP] Added pages to edit bandguides - [L] Working SilverLight streaming MP3 player - [L] Working XML based SilverLight-RadioServer communication - looking for alternatives to XML - [S] Cleaned up GTController code - [S] Improved client time-out detection - [S] Modified some logging code to provide more informative receiver/user tagged entries - [S] Radio drivers take an ISettingsCollection implementation for configuration, instead of a SettingsCollection instance 10-07-2009: - [S] Completely re-ordered hub/server/audio related code - [S] Major code cleanup and re-ordering - [S] Added modules to improve interaction with the GlobalTuners database (GlobalTuners, GTUser, GTReceiverStatus) - [S] Wrote general purpose caching class - [S] Added AudioProcessor class, re-wrote all audio subsystem code to allow real-time recorder/channel/encoder switching, volume adjustment and DSP 08-07-2009: - [S] Added support for single channel (left or right) audio recording 07-07-2009: - [HP] Added support for live nodes listing - [HP] Added support for kicking connected clients - [H] Log data from radioserver is now written to the system log - [P] Added date/time span limitation to SysLog viewer to increase performance - [S] Changed version number to 3114 - [W] Changed forum thread/posts layout - [WP] Added support for editing forum posts - [WP] Added page numbering to forum thread list - [W] Changed the support thread layout - [W] Added Frequently Asked Questions page 03-07-2009: - [HS] Migrated the PML communication layer in the node-hub communication - [H] Enhanced support for 'duplicate' nodes - [S] Fixed a bug in the PING/PONG code (counter was not cleared resulting in excessive traffic) 29-06-2009: - [S] Cleaned up redundant variables in GTController class - [S] Added possibility to run the server without a Radio instance - [S] Audio URL detection is now based on whether the control socket is relayed or not - [H] Added code to reconnect a duplicate node after the first one disconnects - [H] Always sending audio relay base URL, just in case... 18-06-2009: - [H] Added e-mail (optional!) notification when a receiver goes down 16-06-2009: - [P] Changed the logging event codes, added a function to search and print log information - [C] Desktop client: mpg123+DirectX audio, updated the protocol handler, added distribution to Downloads section of website - [H] Converted the Hub code to C# 14-06-2009: - [SWF] Added STREAMS command to inform the interface about available audio streams, added support to JavaScript and Modern flash interfaces - [F] Integrated GlobalChat socket in Modern flash interface - [H] Increased website session timeout from 1 hour to two hours - [H] Allow receiver sessions closed less than 10 minutes ago back in - [D] Added an how-to on how to setup bandgudies - [S] Fixed a bug in the STREAMS comment which affects the medium quality stream (was sending stream name instead of mountpoint) - [PS] Migrated some of the website and hub maintenance to a new logging system 12-06-2009: - [WP] Added JavaScript interface to the user's/receiver default interface selection - [WP] Fixed MSIE-only bugs in JavaScript interface (local chat going into global chat) - [WP] Added basic page numbering to forum threads - [H] Changed relay server address to relay.globaltuners.com - [W] Added mouse-over effect to menu items 06-06-2009: - [W] Replaced "x unread forum threads" link in template/menu bar with a more informative link target - [P] Fixed a bug that caused errors on some pafes after a forum thread had been deleted - [P] Replaced "DB_Eval" with "DB_EvalRow" in forum pre-caching code 01-06-2009: - [W] Changed font to "Arial, Helvetica, sans-serif" / small - [W] Javascript PING-timeout seems to be fixed (using instead of ) 29-05-2009: - [W] Fixed Global Chat in JavaScript interface 28-05-2009: - [W] Fixed some design/stylesheet problems in IE6 26-05-2009: - [WP] Added WMP and VLC audio players to JS interface, added audio player selection - [WP] Fixed AJAC communication in JavaScript interface for MSIE(6) 25-05-2009 (V3113): - [P] Fixed kick option in status page - [S] Fixed hub link connection time-out bug which mostly affected forwarded connections (use UCIS TCPStream instead of MS NetworkStream) - [P] Added some classes for forum access, modified forum.php and thread.php to use the classes - [P] Added database cache to User and Forum* classes 24-05-2009: - [P] Introduced some PHP classes to simplify internal receiver/user management - [D] Stereo/Mono option will now change the AudioMode of the WDM Radio driver - [WP] Slightly changed the website layout 23-05-2009: - [HPW] Added AJAX/Comet based communication module to JavaScript interface - [SH] Fixed a bug in the PmlConnection class which caused connection time outs - [WP] Each forum thread and post has a unique ID number from now on - [W] Added list of active forum threads to the website layout 22-05-2009 (V3112): - [SHP] Added audio/control connection relaying support Before 22-05-2009: - [S] Re-wrote most code in C# - [SH] Introduced PML for reliable multiplexed communications and remote procedure calls - [PH] Added support for remote procedure calls from PHP to the Hub - [H] Added logging to IRC - [WH] Added Global Chat (flash based communication) - Created GlobalTuners! :-D 17-02-2008: - Fixed unclean shutdown in TCPServer and ICom PCR-1000 modules - Redesigned portal communication protocol - Added remote restart - Fixed unclean client shutdown which caused disconnected users to show up in status info 13-02-2008: - Changed delay in Icom CI-V communication from 10ms to 50ms - Renamed project to URadioServer - DXTunerServer.cfg config file will be renamed automatically - Removed old DXTuners heartbeat code - Added new portal communication protocol module 16-01-2008: - Changed text encoding for controller connections to UTF-8 (instead of Latin1), to support non-ASCII characters in the communication with the flash controller. 14-01-2008: - Fixed DirectSound recorder device selection bug - Enhanced PCR1500 support - Removed PCR1000 BaudRate setting - Renamed PCR1000.ComPort setting to PCR.ComPort 13-01-2008: - Added updated readdsp binary to the package, this fixes the Linux 22050Hz samplerate issue on linux 09-01-2008: - Fixed PCR1000 baudrate setting 07-01-2008: - Added file logging for error messages - Added stand-alone console server to installer package (for debugging purposes) 18-12-2007: - Added PCR1000 baudrate setting (for use with other PCR radios, use 38400 for PCR1500) - Much time has been spend on a new portal communication system for easier management and debugging 07-12-2007: - Added frequency exclusion to configuration tool - Added NodeInfo and Bandguide options to configuration tool 05-12-2007: - Added DTR option for Icom CI-V serial port communication - Attempted to fix 100% CPU usage bug (in DXTController.ServeClient) 04-12-2007: - Fixed tuning bugs in JRC NRD-525 driver 03-12-2007: - Added audio recorder configuration to configuration tool - Fixed a bug in the Icom PCR-1000 configuration 02-12-2007: - Added (windows) configuration tool 01-12-2007: - Added windows installer package - Added a Windows background Service version of the server application 30-11-2007: - Added HTTP headers to prevent proxyservers from caching content (MP3 streams for example...) 29-11-2007: - Renamed the main application and config file to DXTunerServer.exe and DXTunerServer.cfg! - Rewrote the DXRFC-0001 to DXRFC-0001.1 - Added bandguides directory to server package - Added configuration options to forbid frequencies, modes and filters - Fixed some critical bugs I introduced earlier today - Added support for the Icom CI-V protocol 28-11-2007: - Fixed a bug in the Yaesu CAT driver and tested the driver with Dan. - Default bandguide text is now read from NodeInfo.txt (most DXTuners options can be removed from the config file) - Started testing with Icom CI-V protocol (Radio.Icom.dll -> CIV) * [H] indicates a change in the Hub code (which may not be active until the Hub is restarted!) * [S] indicates a change in the URadioServer code * [P] indicates a change in the PHP scripts of the website * [W] indicates a change in the rest of the website * [F] indicates a change in the flash interface * [D] indicates a change in the Desktop Client