Skip to content

Latest commit

 

History

History
161 lines (150 loc) · 9.79 KB

VERSION.md

File metadata and controls

161 lines (150 loc) · 9.79 KB

Versions

0.2.3

  • Add ROADMAP.md (included in documentation)
  • Add pyjs8call.settings.Settings.load() to load settings from an ini file (see example settings.ini in repo)
  • Add CLI support for usage like python -m pyjs8call (try --help for options)
  • Add CLI documentation to README
  • Add RNS PipeInterface support using python -m pyjs8call --rns CLI option
  • Add restore_on_exit argument to pyjs8call.settings.Settings.set_profile()
  • Add pyjs8call.message.Message.encode() and pyjs8call.message.Message.decode() for handling byte data
  • Add notification type enable/disable functions in pyjs8call.notifications
  • Add terminate_js8call argument to pyjs8call.client.Client.stop()
  • Add pyjs8call.settings.Settings.create_new_profile()
  • Add create argument to pyjs8call.settings.Settings.set_profile()
  • Add support for user home directory (~/) in JS8Call configuration file path
  • Add normalize_snr argument to propagation functions
  • Add lat/lon to grid-based datasets in propagation
  • Add pyjs8call.client.Client.get_call_activity_from_spots() to improve processing speed
  • Separate pyjs8call.settings.Settings and pyjs8call.callbacks.Callbacks into separate modules
  • Add pyja8call.callbacks.restart_complete callback function
  • Add restart attribute to pyjs8call.schedulemonitor.ScheduleEntry objects to allow forced restart on a schedule
  • Remove JS8Call timer.out file when starting (or restarting) to avoid large file size over time
  • Add pyjs8call.settings.Settings functions related to daily application restart (to remove timer.out)
  • Add best_band_for_grid() and best_band_for_origin() functions to pyjs8call.propagation.Propagation
  • Add client.Client.heard_freq_bands() function
  • Enable JS8Call heartbeat networking when pyjs8call heartbeat networking is enabled
  • Enable JS8Call heartbeat networking when heartbeat acknowledgements are enabled
  • Add pyjs8call.client.Client.autodetect_outgoing_directed_command to simplify app development
  • @TIME group no longer added by default
  • Replace pyjs8call.message.Message.time with pyjs8call.message.Message.utc_time_str
  • Fix bug preventing setting of station info
  • Fix bug causing comma in empty groups field
  • Fix bug causing pyjs8call exit tasks to be run when restarting JS8Call application
  • Fix bug in inbox message timestamp parsing
  • Documentation improvements

0.2.2

  • Add pyjs8call.propagation module
  • Add pyjs8call.notifications module
  • Fix bug when JS8Call is running before pyjs8call is started on Windows (see discussion #1)
  • Fix intermittent transmission of heartbeat messages outside of sub-band
  • Improve pyjs8call heartbeat interval timing and utilize config file heartbeat interval
  • Prevent pyjs8call heartbeat networking in turbo mode and when a callsign is selected on the JS8Call UI
  • Add additional configuration management functions to pyjs8call.client.settings
  • Write configuration to file on pyjs8call.client stop, including JS8Call application exit
  • Read/write persistent pyjs8call.client attributes to/from configuration on init/stop
  • Update pyjs8call.message autoreply commands
  • Detect JS8Call autoreplies as outgoing activity
  • Prevent past schedule entries running when pyjs8call.client.schedule re-enabled
  • Store schedule changes in configuration file and load on init
  • Improve rx text box message processing in pyjs8call.client.get_rx_messages
  • Add spot get/set functions to pyjs8call.js8call to facilitate import/export
  • Change spot limit from quantity-based to time-based
  • Add grid, dial frequency, and frequency band spot filters to pyjs8call.spotmonitor.filter
  • Allow multiple callbacks for spots, station spots, and group spots in pyjs8call.client.callback
  • Add frequency/band conversion convenience functions to pyjs8call.client
  • Track frequency/band changes
  • Track last incoming/outgoing message timestamp by band
  • Add pyjs8call.client.station_hearing and pyjs8call.client.station_heard_by functions
  • Manage periodic local state updates in pyjs8call.js8call instead of individual modules
  • Stability improvements
  • Minor bug fixes
  • Minor documentation improvements

0.2.1

  • Fix pyjs8call.Message.text being overwritten during object initialization
  • Fix intermittent NoneType error in pyjs8call.js8call transmit function
  • Fix removal of incorrect message from outgoing queue due to incorrect equality logic
  • Fix IndexError in pyjs8call.offsetmonitor when no unused spectrum is found
  • Change the maximum time to wait for a socket connection during JS8Call application start to 120 seconds
  • Improve JS8Call application start process by waiting for socket response (supports slower SBCs)
  • Change minimum limit for pyjs8call.Client.settings.set_idle_timeout to zero (idle timeout disabled)
  • Remove idle monitor module (not needed, set timeout to zero to disable)
  • Add enabled, paused, pause, and resume functions to all internal modules
  • Rename module enable and disable functions as needed for consistency
  • Rename pyjs8call.Client.drift to pyjs8call.Client.drift_sync
  • Add hb argument to pyjs8call.Client.identities
  • Add pyjs8call.Client.settings configuration profile functions
  • Add pyjs8call.Client.settings distance units functions
  • Add pyjs8call.message default attributes tdrift, profile, error, and local_time_str
  • Set spotted message status to Message.STATUS_RECEIVED
  • Set incoming and outgoing message profile attribute to the active configuration profile
  • Add profile argument to the pyjs8call.spotmonitor.filter function
  • Change message type used by pyjs8call.windowmonitor from TX_FRAME to RIG_PTT
  • Improve JS8Call "ping" (application connectivity check) handling
  • Add pyjs8call.Client.heard_by function
  • Improve pyjs8call.Client.hearing command handling and aging
  • Add additional information to pyjs8call.Client.get_call_activity
  • Fix message value handling for various JS8Call transmit messages type
  • Add support for JS8Call command line arguments
  • Add necessary config file handling when rig name command line argument is specified
  • Change default application close action to exit instead of automatic restart
  • Improve internal restart handling
  • Implement support for custom processing of incoming and outgoing messages
  • Add pyjs8call.schedulemonitor
  • Change minimum Python version to 3.6.1
  • Stability improvements
  • Minor bug fixes
  • Minor documentation improvements

0.2.0

  • Add psutil package requirement
  • Add cross-platform support for Linux, Windows, and MacOS
  • Improve error handling during start/stop/restart
  • Minor bug fixes
  • Minor documentation improvements

0.1.2

  • Rename pyjs8call.txmonitor to pyjs8call.outgoingmonitor
  • Rename pyjs8call.hbmonitor to pyjs8call.hbnetwork
  • Rename several module enable/disable/pause/resume functions
  • Reorganize several pyjs8call.client functions into pyjs8call.client.Settings
  • Reorganize spot related function under pyjs8call.spotmonitor
  • pyjs8call.client function get_spots moved to pyjs8call.spotmonitor filter
  • Improve efficiency by reducing JS8Call API calls in pyjs8call.client.Settings get functions
  • Rename pyjc8call.client function get_tx_window_duration to get_window_duration
  • pyjs8call.client function set_station_callsign no longer restarts JS8Call automatically
  • Improve pyjs8call.client function hearing by including heartbeat acknowledgements
  • Add pyjs8call.client functions reset_when_inactive, activity, and grid_distance
  • Change the log message format to use the pyjs8call.message function dump
  • Change pyjs8call.windowmonitor function next_transition_seconds arguments to cycles and default
  • Change pyjs8call.windowmonitor function next_transition_timestamp arguments to cycles and default
  • Add pyjs8call.windowmonitor function sleep_until_next_transition
  • Set distance and bearing attributes in pyjs8call.message objects when grid attribute is set
  • Implement offset QSY to the heartbeat sub-band while sending heartbeat messages via pyjs8call.hbnetwork
  • pyjs8call.windowmonitor now continues to use incoming messages after receiving a tx frame
  • Minor bug fixes
  • Documentation improvements
  • Updated documentation examples and example.py

0.1.1

  • Increase pyjs8call.js8call default maximum spots to 5000
  • Replace pyjs8call.spot with pyjs8call.message, eliminating the pyjs8call.spot object
  • Improve pyjs8call.spotmonitor efficiency by checking spots at each rx/tx window transition
  • Add group spot management functions in pyjs8call.spotmonitor
  • Add callback function for group spots
  • Add callback function for new inbox messages
  • Improve callback handling by calling functions using threading.Thread
  • Improve restart handling by not reinitializing modules unnecessarily
  • Improve restart handling by saving and restoring internal configuration and state without restarting sub-modules
  • Improve message parsing for specific types and commands
  • Add all JS8Call message types and commands to pyjs8call.message
  • Improve pyjs8call.windowmonitor by utilizing incoming messages in addition to outgoing tx frames
  • Add pyjs8call.client.Settings with common configuration file management functions
  • Add pyjs8call.timemonitor module for syncing time drift and managing time master stations
  • Add pyjs8call.hbmonitor module for automating heartbeat messages
  • Add pyjs8call.inboxmonitor module for local inbox message handling and syncing of remote inbox messages
  • Add pyjs8call.client.Callbacks which replaces module-specific callback functions
  • Add pyjs8call.client.Client.hearing function to parse spots for network mapping
  • Add multiple pyjs8call.client query message functions
  • Improve pyjs8call.client outgoing message functions to support relay destinations
  • Improvements per pylint
  • Documentation improvements
  • Update documentation examples and example.py

0.1.0

Initial publicly released version.