
Changelog
^^^^^^^^^

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by `\ ``auto-changelog`` <https://github.com/CookPete/auto-changelog>`_.

`v3.4.1 <https://github.com/craigerl/aprsd/compare/v3.4.0...v3.4.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   27 May 2024



* Refactor client and drivers `\ ``#164`` <https://github.com/craigerl/aprsd/pull/164>`_
* Refactor Dockerfile `\ ``#167`` <https://github.com/craigerl/aprsd/pull/167>`_
* Bump requests from 2.31.0 to 2.32.0 `\ ``#166`` <https://github.com/craigerl/aprsd/pull/166>`_
* Bump jinja2 from 3.1.3 to 3.1.4 `\ ``#163`` <https://github.com/craigerl/aprsd/pull/163>`_
* Eliminate need for PBR `\ ``f159741`` <https://github.com/craigerl/aprsd/commit/f15974131c4b55f1c4c1085f4d78d6e179da7157>`_
* --- `\ ``18fb2a9`` <https://github.com/craigerl/aprsd/commit/18fb2a9e2b650c694651b3eef939ecd4ed24b300>`_
* Put an upper bound on the QueueHandler queue `\ ``93a9cce`` <https://github.com/craigerl/aprsd/commit/93a9cce0c0d0d1d1195e591cbd7ab9583a33c0c9>`_
* updated requirements `\ ``fa2d2d9`` <https://github.com/craigerl/aprsd/commit/fa2d2d965d403c028fd81a15665fe1c42c950692>`_
* Use newer python -m build to build aprsd wheel `\ ``2abf8bc`` <https://github.com/craigerl/aprsd/commit/2abf8bc750542b07bbbbc96efa4613aeffc5db8a>`_

`v3.4.0 <https://github.com/craigerl/aprsd/compare/v3.3.4...v3.4.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   29 April 2024



* Reworked the stats making the rpc server obsolete. `\ ``#159`` <https://github.com/craigerl/aprsd/pull/159>`_
* Update client.py to add consumer in the API. `\ ``#158`` <https://github.com/craigerl/aprsd/pull/158>`_
* Packet updates `\ ``#154`` <https://github.com/craigerl/aprsd/pull/154>`_
* Bump black from 24.2.0 to 24.3.0 `\ ``#155`` <https://github.com/craigerl/aprsd/pull/155>`_
* Updated prism to 1.29 `\ ``db2fbce`` <https://github.com/craigerl/aprsd/commit/db2fbce079bfdd3a9db240f85dfac0cd7a344fc8>`_
* Removed RPC Server and client. `\ ``333feee`` <https://github.com/craigerl/aprsd/commit/333feee80501198df2eeffa2f40bcf10df7ccb0f>`_
* Refactored packets `\ ``1477e61`` <https://github.com/craigerl/aprsd/commit/1477e61b0fbcea4f7eda8faba7901517a89e1b0f>`_
* Removed json-viewer `\ ``bc3bdc4`` <https://github.com/craigerl/aprsd/commit/bc3bdc48d2b647a5d18ecc26c769b2bec0b406cf>`_
* More packet cleanup and tests `\ ``f53df24`` <https://github.com/craigerl/aprsd/commit/f53df2498890c252fdc06e1973e060f1e7d1957a>`_
* Make all the Objectstore children use the same lock `\ ``c206f52`` <https://github.com/craigerl/aprsd/commit/c206f52a763a665c4b22aaaa4bf0234d0d998da7>`_
* updated dev-requirements `\ ``eada5e9`` <https://github.com/craigerl/aprsd/commit/eada5e9ce25ea388913af699b3042b13156b91f3>`_
* Completely redo logging of packets!! `\ ``1e6c483`` <https://github.com/craigerl/aprsd/commit/1e6c483002be894c8862dd218b7ab7a52b65d2ef>`_
* Fixed pep8 errors and missing files `\ ``a270c75`` <https://github.com/craigerl/aprsd/commit/a270c75263aaf16bd066eded2454d71f28945a4c>`_
* Allow stats collector to serialize upon creation `\ ``71d72ad`` <https://github.com/craigerl/aprsd/commit/71d72adf065f1fb96d4e198612a98ae4322a3289>`_
* Eliminated need for from_aprslib_dict `\ ``e386e91`` <https://github.com/craigerl/aprsd/commit/e386e91f6e58e63a405eb2365809501c52a05abd>`_
* Added new config option log_packet_format `\ ``c581dc5`` <https://github.com/craigerl/aprsd/commit/c581dc5020b140955e005cea41eb094f85c1d250>`_
* Added new PacketCollector `\ ``a656d93`` <https://github.com/craigerl/aprsd/commit/a656d9326333c79482d0797f676a6e865d49541c>`_
* Admin UI working again `\ ``0ca9072`` <https://github.com/craigerl/aprsd/commit/0ca9072c97978fb298fc94ef974726852dfb9eb5>`_
* Updated Changelog for 3.4.0 `\ ``cb2a344`` <https://github.com/craigerl/aprsd/commit/cb2a3441b4dac0f4a6e6c58805f5deb0e3fcb7c6>`_
* Removed the requirement on click-completion `\ ``992485e`` <https://github.com/craigerl/aprsd/commit/992485e9c7d86fca71fb9bee4dfb1434b04c403d>`_
* Added threads chart to admin ui graphs `\ ``f2d39e5`` <https://github.com/craigerl/aprsd/commit/f2d39e5fd25489e3be46e9a31f373e533d70f6f1>`_
* Moved Threads list for mypy `\ ``d80277c`` <https://github.com/craigerl/aprsd/commit/d80277c9d8f882297ee35ffa0d1174150c290b1c>`_
* Update Dockerfiles `\ ``f02db20`` <https://github.com/craigerl/aprsd/commit/f02db20c3eecacbed79935d28eba3dbd0b6816a2>`_
* Added threads table in the admin web ui `\ ``c6079f8`` <https://github.com/craigerl/aprsd/commit/c6079f897d73a0c6c27940f5d16f9ff2f5927e58>`_
* Added PacketTrack to packet collector `\ ``717db60`` <https://github.com/craigerl/aprsd/commit/717db6083eb0fbd82c8cbff0d6cbd0cff9893136>`_
* Got unit tests working again `\ ``f92b2ee`` <https://github.com/craigerl/aprsd/commit/f92b2ee3646fe2f2c2ec5decfb98ff391faf092f>`_
* Changed Stats Collector registration `\ ``dc4879a`` <https://github.com/craigerl/aprsd/commit/dc4879a367dd43720d21a2b8cbe65a0568ae0a6e>`_
* Added new config optons for PacketList `\ ``8392d6b`` <https://github.com/craigerl/aprsd/commit/8392d6b8efec4aeb3c87edf381c672440ee2cf07>`_
* Added new webchat config option for logging `\ ``9e26df2`` <https://github.com/craigerl/aprsd/commit/9e26df26d6da1298cc3dfaead7579cb19854448c>`_
* Fixed PacketList maxlen `\ ``5ff62c9`` <https://github.com/craigerl/aprsd/commit/5ff62c9bdfc67a0ffac72aa8ff90cf774800b6eb>`_
* Some packet cleanup `\ ``da7b712`` <https://github.com/craigerl/aprsd/commit/da7b7124d7982e8d24a8e7b22bd8276f679dffe4>`_
* Fixed issue with PacketList being empty `\ ``7541f13`` <https://github.com/craigerl/aprsd/commit/7541f131745203e3d590027bc206107210e0d99e>`_
* Added try except blocks in collectors `\ ``88d2624`` <https://github.com/craigerl/aprsd/commit/88d26241f5f3685e011b710bcc40bb2e609a32bb>`_
* Remove rpyc as a requirement `\ ``7114269`` <https://github.com/craigerl/aprsd/commit/7114269ceecc088db00a7a703c69b74a2404c295>`_
* Added fox for entry_points with old python `\ ``09b9708`` <https://github.com/craigerl/aprsd/commit/09b97086bc6e6b789c69bb9446cf370a38f437fa>`_
* Fixed some tox errors related to mypy `\ ``00e185b`` <https://github.com/craigerl/aprsd/commit/00e185b4e7ca5abed9f56282924e183b1201ea33>`_
* Added missing packet types in listen command `\ ``f450238`` <https://github.com/craigerl/aprsd/commit/f450238348e6869f5ec04d247d6825f719582a5f>`_
* Added config for enable_seen_list `\ ``c43652d`` <https://github.com/craigerl/aprsd/commit/c43652dbea3c55243b1457ce3abba235d50fcea1>`_
* Added default_packet_send_count config `\ ``813bc7e`` <https://github.com/craigerl/aprsd/commit/813bc7ea29f3a73133f467c86faf884c2c4169d4>`_
* Fixed issues with watch list at startup `\ ``e2e5853`` <https://github.com/craigerl/aprsd/commit/e2e58530b26bb603875d311dea73428c434f1e24>`_
* Added PacketList.set_maxlen() `\ ``4542c0a`` <https://github.com/craigerl/aprsd/commit/4542c0a643618940ea15468619cec7737c50d309>`_
* Delete more stats from webchat `\ ``fcc02f2`` <https://github.com/craigerl/aprsd/commit/fcc02f29af1f649f45c16a0dbd08a51cddf94486>`_
* update requirements `\ ``8f588e6`` <https://github.com/craigerl/aprsd/commit/8f588e653dc59511ce42c683fa967c8691e0d523>`_
* Fix for micE packet decoding with mbits `\ ``386d2be`` <https://github.com/craigerl/aprsd/commit/386d2bea6260e6b0ea63aec0b26151e2a9602984>`_
* Added type setting on pluging.py for mypy `\ ``9c77ca2`` <https://github.com/craigerl/aprsd/commit/9c77ca26be8af072aa80236338450a1de26b6e09>`_
* Webchat Send Beacon uses Path selected in UI `\ ``4c7e27c`` <https://github.com/craigerl/aprsd/commit/4c7e27c88bbac8e8b471685ac07cc85e802816b2>`_
* Added support for RX replyacks `\ ``8d86764`` <https://github.com/craigerl/aprsd/commit/8d86764c234cbd5f9d39d3100d5acd1b9442c49a>`_
* removed Packet.last_send_attempt and just use send_count `\ ``758ea43`` <https://github.com/craigerl/aprsd/commit/758ea432ed75e2e211f38b3bd74eae90708af68f>`_
* syncronize the add for StatsStore `\ ``026dc6e`` <https://github.com/craigerl/aprsd/commit/026dc6e3761019308dd609a8d0e610c13425bfca>`_
* Call packet collecter after prepare during tx. `\ ``bef3205`` <https://github.com/craigerl/aprsd/commit/bef32059f4e5443cec80dbcf4d63fe7b3c89afe8>`_
* Added new default_ack_send_count config option `\ ``40c028c`` <https://github.com/craigerl/aprsd/commit/40c028c84411680df80a4d8782342e02aa865ff5>`_
* Fix time plugin `\ ``94f36e0`` <https://github.com/craigerl/aprsd/commit/94f36e0aadcd6c85f3dce0f9b58f4dc35fb3b76c>`_
* Fix some issues with listen command `\ ``8728926`` <https://github.com/craigerl/aprsd/commit/8728926bf4163dc7919d7e42772fe7da93f4a89b>`_
* added packet counter random int `\ ``873fc06`` <https://github.com/craigerl/aprsd/commit/873fc066080cb588658e56574100dd5200e1edbc>`_

`v3.3.4 <https://github.com/craigerl/aprsd/compare/v3.3.3...v3.3.4>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   21 April 2024



* Fix for entry_points where python &lt; 3.10 `\ ``fa9ff7d`` <https://github.com/craigerl/aprsd/commit/fa9ff7d77fb5a83b860b8ceaca07e2dceba0597a>`_
* Fixed entry_points `\ ``e9febbb`` <https://github.com/craigerl/aprsd/commit/e9febbbc52a4850de9a7cafa6d06184e211f3652>`_

`v3.3.3 <https://github.com/craigerl/aprsd/compare/v3.3.2...v3.3.3>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   27 March 2024



* Fix for sample-config warning `\ ``8e0de9c`` <https://github.com/craigerl/aprsd/commit/8e0de9c5ac72a50206c1ec4025b6a82f98a6f578>`_

`v3.3.2 <https://github.com/craigerl/aprsd/compare/v3.3.1...v3.3.2>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   13 March 2024



* Changelog for 3.3.2 `\ ``71cd7e0`` <https://github.com/craigerl/aprsd/commit/71cd7e0ab5fcb73c4b9302a7d0378719981244a1>`_
* Removed print in utils `\ ``f810c02`` <https://github.com/craigerl/aprsd/commit/f810c02d5d75b8fad03ba5065b0950d3133de86b>`_
* Remove warning during sample-config `\ ``d485f48`` <https://github.com/craigerl/aprsd/commit/d485f484ecb4e6d026e9d5a36adbf1b8c77b6044>`_

`v3.3.1 <https://github.com/craigerl/aprsd/compare/v3.3.0...v3.3.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   12 March 2024



* Fixed problem with list-plugins `\ ``cb9456b`` <https://github.com/craigerl/aprsd/commit/cb9456b29d68ec4b64377c457214d55803242b70>`_
* Updates for 3.3.1 `\ ``50e24ab`` <https://github.com/craigerl/aprsd/commit/50e24abb81dd36c604c5109c5ec95f4d5fa8c52e>`_
* Fixed failure with fetch-stats `\ ``10d023d`` <https://github.com/craigerl/aprsd/commit/10d023dd7bbc6da252fa02ef452fc4142d313bed>`_

`v3.3.0 <https://github.com/craigerl/aprsd/compare/v3.2.3...v3.3.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   12 March 2024



* Replace slow rich logging with loguru `\ ``#147`` <https://github.com/craigerl/aprsd/pull/147>`_
* Added location for callsign tabs in webchat `\ ``#146`` <https://github.com/craigerl/aprsd/pull/146>`_
* Added Location info on webchat interface `\ ``d6f0f05`` <https://github.com/craigerl/aprsd/commit/d6f0f053156dcbc86f1f44f860c755efdcbe8a9e>`_
* Added list-extensions and updated README.rst `\ ``ff051bc`` <https://github.com/craigerl/aprsd/commit/ff051bc2859223a2979c1e050b8aae7fc947b6de>`_
* Update requirements.txt `\ ``a4230d3`` <https://github.com/craigerl/aprsd/commit/a4230d324a409479ff14de420bfd44050190244f>`_
* Added the new APRS Registry thread `\ ``1e4f0ca`` <https://github.com/craigerl/aprsd/commit/1e4f0ca65af38f728de6c917d09b19450aceaa2b>`_
* Added BeaconPacket `\ ``11f1e95`` <https://github.com/craigerl/aprsd/commit/11f1e9533e89ca236006d3a5d0b9e1b3ce0f4088>`_
* Create codeql.yml `\ ``a00c4ea`` <https://github.com/craigerl/aprsd/commit/a00c4ea84095cdb25f8306ce66a47f5497bcfa3b>`_
* updated requirements files `\ ``275bf67`` <https://github.com/craigerl/aprsd/commit/275bf67b9e0b474674d5efb69551ee0d2a308ec0>`_
* Added support for loading extensions `\ ``b143072`` <https://github.com/craigerl/aprsd/commit/b14307270c1438b6f5cdf8de5bb179729a62f993>`_
* use log.setup_logging `\ ``aec88d4`` <https://github.com/craigerl/aprsd/commit/aec88d4a7e107cdfbc6d38e6bc744a74b6ef3b9b>`_
* Fixed pep8 `\ ``d1a09fc`` <https://github.com/craigerl/aprsd/commit/d1a09fc6b5234835b49da7a19bbc65d4655481dd>`_
* Added installing extensions to Docker run `\ ``4118541`` <https://github.com/craigerl/aprsd/commit/41185416cbf1ee9add54ebcae6674824384e6104>`_
* Updated dev test-plugin command `\ ``03c58f8`` <https://github.com/craigerl/aprsd/commit/03c58f83cd0f6a98cfd77861871edfd65c4e28fa>`_
* removed some unneeded code `\ ``9683459`` <https://github.com/craigerl/aprsd/commit/968345944aedc9af11b1d9286b8c0d4a3354867e>`_
* Updated requirements `\ ``d092a43`` <https://github.com/craigerl/aprsd/commit/d092a43ec9ad9284d3f8b0060719b9e6c86f1976>`_
* Disable debug logs for aprslib `\ ``24bbea1`` <https://github.com/craigerl/aprsd/commit/24bbea1d499644d9d4bd7aab62f05b5802b2867e>`_
* Added some missing classes to threads `\ ``e89f8a8`` <https://github.com/craigerl/aprsd/commit/e89f8a805bc47f8d951fcbfb350a3b40d8befbd3>`_
* Update for v3.2.3 `\ ``8bceb82`` <https://github.com/craigerl/aprsd/commit/8bceb827ecb20c87224a74868d2843e67c977e6e>`_
* Changelog for 3.3.0 `\ ``c37e1d5`` <https://github.com/craigerl/aprsd/commit/c37e1d58bbf124fa99b33d12029e611bcb82c4da>`_
* fix pep8 failures `\ ``e9c48c1`` <https://github.com/craigerl/aprsd/commit/e9c48c1914395277aa7207c7ae1a8b2917a3351f>`_
* fixed references to conf `\ ``7a5b55f`` <https://github.com/craigerl/aprsd/commit/7a5b55fa77642927f5c853ee8975d03b83324f54>`_
* Add log info for Beacon and Registry threads `\ ``a4630c1`` <https://github.com/craigerl/aprsd/commit/a4630c15bede44cbf2272fae162521ac4d1b4b81>`_
* Added iterator to objectstore `\ ``df2798e`` <https://github.com/craigerl/aprsd/commit/df2798eafb3ff0201bb8c33f8d80f1cbcc32944e>`_
* Cleanup some logs `\ ``68f23d8`` <https://github.com/craigerl/aprsd/commit/68f23d8ca78cf20b8f0efc7e26d75b9a319efb33>`_
* sample-config fix `\ ``0ca5cee`` <https://github.com/craigerl/aprsd/commit/0ca5ceee7e50387a65d538a32b2da614e1ca7cb9>`_
* update github action branchs to v8 `\ ``a88de2f`` <https://github.com/craigerl/aprsd/commit/a88de2f09cc758a63e0eb7541721dfc8a374459e>`_
* Changed processpkt message `\ ``66004f6`` <https://github.com/craigerl/aprsd/commit/66004f639fcfe429fde4a6903ebeb8a5afc55847>`_
* Change defaults for beacon and registry `\ ``5fd91a2`` <https://github.com/craigerl/aprsd/commit/5fd91a2172c7d4e1b1b3c65b8704f02500e0de87>`_
* Added sending software string to registry `\ ``8264c94`` <https://github.com/craigerl/aprsd/commit/8264c94bd63e283313161ab51297b7a501a21cb9>`_
* Fixed registry url post `\ ``2e9c9d4`` <https://github.com/craigerl/aprsd/commit/2e9c9d40e1716e15356cbb73f2f5b3e9f455a176>`_
* Make registry thread sleep `\ ``5d3f42f`` <https://github.com/craigerl/aprsd/commit/5d3f42f411d801f0bdb22ae8a172528b19a8d89e>`_
* Put threads first after date/time `\ ``2cb9c2a`` <https://github.com/craigerl/aprsd/commit/2cb9c2a31cf88904381f5e2aa456be77941d9ecb>`_
* fixed frequency_seconds to IntOpt `\ ``6a7d7ad`` <https://github.com/craigerl/aprsd/commit/6a7d7ad79b197ce0ae77195187d4ae0936eddd20>`_
* changed the default packet timeout to 5 minutes `\ ``a1e21e7`` <https://github.com/craigerl/aprsd/commit/a1e21e795d2745ce0cec6327f9b036091e9bf546>`_
* Fixed default service registry url `\ ``cb291de`` <https://github.com/craigerl/aprsd/commit/cb291de047f80f77b63e07419ff4bb9ebaec8bce>`_
* py311 fails in github `\ ``f0ad6d7`` <https://github.com/craigerl/aprsd/commit/f0ad6d7577cb462ffc2c21ce53c9fb04978c1624>`_
* Don't send uptime to registry `\ ``38fe408`` <https://github.com/craigerl/aprsd/commit/38fe408c82ab493d8b9ebb3c281bd060afa749ae>`_
* updated gitignore `\ ``1a5c5f0`` <https://github.com/craigerl/aprsd/commit/1a5c5f0dcef60a192c44b0e8774f1598d2ed48b2>`_
* Fixed RegistryThread not sending requests `\ ``0b0afd3`` <https://github.com/craigerl/aprsd/commit/0b0afd39ede5d437d41255563684144f62f0f323>`_
* add py310 gh actions `\ ``1ad2e13`` <https://github.com/craigerl/aprsd/commit/1ad2e135dc8f27a52d5e9b0d713bd72e753649c0>`_

`v3.2.3 <https://github.com/craigerl/aprsd/compare/v3.2.2...v3.2.3>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   9 January 2024



* aprsd: main.py: Fix premature return in sample_config `\ ``#144`` <https://github.com/craigerl/aprsd/pull/144>`_
* Rework Location Plugin `\ ``#140`` <https://github.com/craigerl/aprsd/pull/140>`_
* Update weather.py  because you can't sort icons by penis `\ ``9350cf6`` <https://github.com/craigerl/aprsd/commit/9350cf653434b6d29d4ff4874de98a4579abeceb>`_
* Force fortune path during setup test `\ ``12a3113`` <https://github.com/craigerl/aprsd/commit/12a311319227347e648dcc3ecff4f095e62fb4d4>`_
* Update weather.py  both weather plugins have new Ww regex `\ ``651cf01`` <https://github.com/craigerl/aprsd/commit/651cf014b7874b95549ecd9d81cd59ada42862ce>`_
* Update weather.py `\ ``b6df9de`` <https://github.com/craigerl/aprsd/commit/b6df9de8aa3a1e2bb4a2951d3f7949c715ed2c3a>`_
* Fixed a bug with OWMWeatherPlugin `\ ``0433768`` <https://github.com/craigerl/aprsd/commit/043376878460f2324f66205aa0bccf285c6517cb>`_
* added /usr/games to path `\ ``026a64c`` <https://github.com/craigerl/aprsd/commit/026a64c003c776b0ea3ca668ed142234fc28b0b2>`_
* Added fortune to Dockerfile-dev `\ ``682e138`` <https://github.com/craigerl/aprsd/commit/682e138ec23dd0be1cd443d6ecfc25422a97ea8f>`_
* Added missing fortune app `\ ``f02824b`` <https://github.com/craigerl/aprsd/commit/f02824b7960c0a9e8ca872d12cd69453211d2830>`_

`v3.2.2 <https://github.com/craigerl/aprsd/compare/v3.2.1...v3.2.2>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   22 November 2023



* Walt test `\ ``#139`` <https://github.com/craigerl/aprsd/pull/139>`_
* Try to localize js libs and css for no internet `\ ``#138`` <https://github.com/craigerl/aprsd/pull/138>`_
* Normalize listen --aprs-login `\ ``#137`` <https://github.com/craigerl/aprsd/pull/137>`_
* Bump werkzeug from 2.3.7 to 3.0.1 `\ ``#136`` <https://github.com/craigerl/aprsd/pull/136>`_
* Update INSTALL with new conf files `\ ``#135`` <https://github.com/craigerl/aprsd/pull/135>`_
* Bump urllib3 from 2.0.6 to 2.0.7 `\ ``#134`` <https://github.com/craigerl/aprsd/pull/134>`_
* Updated requirements `\ ``4b1214d`` <https://github.com/craigerl/aprsd/commit/4b1214de74785af70b9bd4e530edfb52eb7d5fc6>`_
* Reworked the admin graphs `\ ``763c9ab`` <https://github.com/craigerl/aprsd/commit/763c9ab897343c3ff882e0769e9c582ce0b71e56>`_
* Test new packet serialization `\ ``fe1ebf2`` <https://github.com/craigerl/aprsd/commit/fe1ebf2ec159ead44412e3bbd2d13754b327aced>`_
* pep8 fixes `\ ``6b397cb`` <https://github.com/craigerl/aprsd/commit/6b397cbdf18c4257fc20d99fc15a9b0f258cde39>`_
* Update for v3.2.2 release `\ ``c0e2ef1`` <https://github.com/craigerl/aprsd/commit/c0e2ef119939db41b07e2ad053e55bfbdaf07329>`_
* Fix for types `\ ``809a41f`` <https://github.com/craigerl/aprsd/commit/809a41f1238a9d00252e069207ddf43555e0fbe3>`_
* Fixed datetime access in core.py `\ ``b9dd21b`` <https://github.com/craigerl/aprsd/commit/b9dd21bc14eddd1a126d6eac1fa1fa4f5cd53609>`_
* remove python 3.12 from github builds `\ ``638128a`` <https://github.com/craigerl/aprsd/commit/638128adf8862b9cade055fd9539a553f4f12fbb>`_
* Fix wsgi for prod `\ ``b0bfdaa`` <https://github.com/craigerl/aprsd/commit/b0bfdaa1fb15158b4cff95fbf7619ae0c8c3309e>`_
* removed invalid reference to config.py `\ ``fae7032`` <https://github.com/craigerl/aprsd/commit/fae7032346bf14129f27cd23a5397b524bf450aa>`_

`v3.2.1 <https://github.com/craigerl/aprsd/compare/v3.2.0...v3.2.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   9 October 2023



* Bump urllib3 from 2.0.4 to 2.0.6 `\ ``#133`` <https://github.com/craigerl/aprsd/pull/133>`_
* Fix for dupe packets. `\ ``#132`` <https://github.com/craigerl/aprsd/pull/132>`_
* rewrote packet_list and drop dupe packets `\ ``4f87d5d`` <https://github.com/craigerl/aprsd/commit/4f87d5da12a5588d943b0e3644d57a93e26ccafe>`_
* Add ability to change path on every TX packet `\ ``ddd4d25`` <https://github.com/craigerl/aprsd/commit/ddd4d25e9dbb98603fbda1854d224baae2f2a3aa>`_
* Make Packet objects hashable `\ ``544600a`` <https://github.com/craigerl/aprsd/commit/544600a96b6a23fc5999c1be117511998a2228b2>`_
* Don't process AckPackets as dupes `\ ``59cec13`` <https://github.com/craigerl/aprsd/commit/59cec1317da8fea28e2c6496f95ce8ea5bf1c73b>`_
* Changelog for 3.2.1 `\ ``acf2b62`` <https://github.com/craigerl/aprsd/commit/acf2b62bce741364311edca104934be91f678b2e>`_
* Fixed issue with packet tracker and msgNO Counter `\ ``9bdfd16`` <https://github.com/craigerl/aprsd/commit/9bdfd166fd213983ddd55e57b726bb8fc7eba8b7>`_
* Added packet_dupe_timeout conf `\ ``f41488b`` <https://github.com/craigerl/aprsd/commit/f41488b48a37a8c8bd1695304ea286bd58291faf>`_
* Fix path for KISS clients `\ ``746eeb8`` <https://github.com/craigerl/aprsd/commit/746eeb81b0b68d09c668267b74e0c09b134757ff>`_
* Update the webchat paths `\ ``5ae45ce`` <https://github.com/craigerl/aprsd/commit/5ae45ce42fe50b41ca1216a028cb85c99f52240a>`_
* Fixed another msgNo int issue `\ ``751bbc2`` <https://github.com/craigerl/aprsd/commit/751bbc25149f8623f54e9e853c22191533fda45c>`_
* pep8 fixes `\ ``99a0f87`` <https://github.com/craigerl/aprsd/commit/99a0f877f4b97dcc91cbf9552f72fe9e29ac9ba1>`_
* Changed the path option to a ListOpt `\ ``0155923`` <https://github.com/craigerl/aprsd/commit/01559233412399f25b4ce7496f6c19036ce16609>`_
* Fixed import of Mutablemapping `\ ``f79b88e`` <https://github.com/craigerl/aprsd/commit/f79b88ec1b44ea66572ee83ef040cb0f81d82549>`_
* Update index.html disable form autocomplete `\ ``8e9a021`` <https://github.com/craigerl/aprsd/commit/8e9a0213e9aaf43fda2e6279f6343229fc758e86>`_
* Update the packet_dupe_timeout warning `\ ``bf905a0`` <https://github.com/craigerl/aprsd/commit/bf905a0e9faedab4b160764a26e7e310e16ba7e7>`_
* Fixed default path for tcp_kiss client. `\ ``156d9d9`` <https://github.com/craigerl/aprsd/commit/156d9d9592d590e9168a70ff7d01d704cd10192e>`_
* Log a warning on dupe `\ ``0d7e50d`` <https://github.com/craigerl/aprsd/commit/0d7e50d2ba0ba55ae82a0c8df98bb0e7c283cdd8>`_
* Set a default password for admin `\ ``8116960`` <https://github.com/craigerl/aprsd/commit/81169600bd264f1708eddd387f14c20b3fb57429>`_

`v3.2.0 <https://github.com/craigerl/aprsd/compare/v3.1.3...v3.2.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   26 September 2023



* Bump gevent from 23.9.0.post1 to 23.9.1 `\ ``#131`` <https://github.com/craigerl/aprsd/pull/131>`_
* Webchat saved bootstrapjs `\ ``#130`` <https://github.com/craigerl/aprsd/pull/130>`_
* Convert webchat internet urls to local static urls `\ ``1d6a667`` <https://github.com/craigerl/aprsd/commit/1d6a667987f3d239512ab2458209c99e5a776e9b>`_
* WebChat: Send GPS Beacon working `\ ``81a19dd`` <https://github.com/craigerl/aprsd/commit/81a19dd10164f7d3b5702e1cb58898893120ac67>`_
* Deleted webchat mobile pages `\ ``70ddc44`` <https://github.com/craigerl/aprsd/commit/70ddc44b5c30e0381d5806a8a0c20979bcc0c464>`_
* Removed admin_web.py `\ ``a9e8050`` <https://github.com/craigerl/aprsd/commit/a9e8050ae69e9cabb2ec37ef872f0dd23b13b0ac>`_
* Reworked webchat with new UI `\ ``14e984c`` <https://github.com/craigerl/aprsd/commit/14e984c9b4143309b595c9e55ad8e9126095f9c4>`_
* Restore previous conversations in webchat `\ ``7292744`` <https://github.com/craigerl/aprsd/commit/7292744a78c179d17caadd4d659caba38cccc4f8>`_
* WebChat: fixed content area scrolling `\ ``7130ca2`` <https://github.com/craigerl/aprsd/commit/7130ca2fd9425c438a787b5521e512bc5d572f18>`_
* Webchat: Added tab notifications and raw packet `\ ``9635893`` <https://github.com/craigerl/aprsd/commit/9635893934e1a6f29bafde003bcde911a0a63fb9>`_
* Webchat: tweaks to UI for expanding chat `\ ``b393060`` <https://github.com/craigerl/aprsd/commit/b393060edb0afd592d4cb88be143df6e20d1ee66>`_
* Added close X on webchat tabs `\ ``8527602`` <https://github.com/craigerl/aprsd/commit/852760220f10b6bf29ae6f9bacb1ff1908412027>`_
* Update index.html to use chat.css `\ ``ba6b410`` <https://github.com/craigerl/aprsd/commit/ba6b410795808e737c7dd035812c674ce8f9755f>`_
* Updated the webchat UI to look like iMessage `\ ``29f21a9`` <https://github.com/craigerl/aprsd/commit/29f21a946951b0d42aab6f339da684933c6e95ed>`_
* Updated documentation build `\ ``10bf049`` <https://github.com/craigerl/aprsd/commit/10bf04929e9916b48147171a0f810dad91f8c9a7>`_
* Added new webchat config section `\ ``f922b3f`` <https://github.com/craigerl/aprsd/commit/f922b3f97b741aa80da642fe4a6def966c3677a7>`_
* WebChat: Prevent sending message without callsign `\ ``f151ae4`` <https://github.com/craigerl/aprsd/commit/f151ae434820c24c4d09beb1876eeff12296339b>`_
* WebChat: flash a dupe message `\ ``12dfdef`` <https://github.com/craigerl/aprsd/commit/12dfdefb624b410f205086f3954a6809d0fa0956>`_
* Make use of webchat gps config options `\ ``2e9a204`` <https://github.com/craigerl/aprsd/commit/2e9a204c7466446a895f3ba62e0aab69ea1be21f>`_
* Webchat suppress to display of dupe messages `\ ``a8dd9ce`` <https://github.com/craigerl/aprsd/commit/a8dd9ce0129d24a16c033546ffbff7d9b59f0885>`_
* Update Changelog for 3.2.0 `\ ``7408894`` <https://github.com/craigerl/aprsd/commit/740889426ab0dd9604b1d1492ce7bff4948eeed3>`_
* Added dupe checkig code to webchat mobile `\ ``2416f0e`` <https://github.com/craigerl/aprsd/commit/2416f0ea1a52da1d58a2562ecbe8172aa3779e3c>`_
* Webchat: Fix chat css on older browsers `\ ``6b083d4`` <https://github.com/craigerl/aprsd/commit/6b083d4c4d7dec874c3d67cca176b9de97bd867a>`_
* webchat: got active tab onclick working `\ ``1400e3e`` <https://github.com/craigerl/aprsd/commit/1400e3e71144d4dc8a48874301b90960485a3768>`_
* Webchat: Fix pep8 errors `\ ``3f5dbe0`` <https://github.com/craigerl/aprsd/commit/3f5dbe0a12349de221ce65c4687b83ab2ac14128>`_
* Webchat: Fixed bug deleteing first tab `\ ``f770c5f`` <https://github.com/craigerl/aprsd/commit/f770c5ffd569a2d8cb722b382872494a35bedc1c>`_
* Start keepalive thread first `\ ``859f904`` <https://github.com/craigerl/aprsd/commit/859f904602081a22d8b6f1228502053decb921c2>`_
* WebChat: cleanup some console.logs `\ ``82d2591`` <https://github.com/craigerl/aprsd/commit/82d25915fc28244232ee250dd45e41d4ef2e3cf5>`_
* Removed some RPC server log noise `\ ``82f77b7`` <https://github.com/craigerl/aprsd/commit/82f77b7a6ad8d322488034b3944970744377dd3c>`_
* webchat: set to_call to value of tab when selected `\ ``8a90d54`` <https://github.com/craigerl/aprsd/commit/8a90d5480ae379a3af225a4f73d452c8d5ae402e>`_
* minor cleanup prior to release `\ ``c9dc4f6`` <https://github.com/craigerl/aprsd/commit/c9dc4f67d43a95c4abf39c0bf3e90dabe7778662>`_
* Fixed admin page packet date `\ ``570fdb9`` <https://github.com/craigerl/aprsd/commit/570fdb98a748d26126a1e4c9abdf0aff35927e81>`_
* Center the webchat input form `\ ``b4e02c7`` <https://github.com/craigerl/aprsd/commit/b4e02c760ee1eac155406b0939ad058fdf0e2449>`_
* Ensure Keepalive doesn't reset client at startup `\ ``ef206b1`` <https://github.com/craigerl/aprsd/commit/ef206b12837738779bfda5beb1ccfb0edbf38649>`_
* updated github workflows `\ ``4b56e99`` <https://github.com/craigerl/aprsd/commit/4b56e99689e4aeb518bc78bec8212bfd3d8a845e>`_
* Webchat: Fix issue accessing msg.id `\ ``d63c685`` <https://github.com/craigerl/aprsd/commit/d63c6854aff0d5962d7e9a6aca277606955bdf49>`_
* Ensure parse_delta_str doesn't puke `\ ``140fa4a`` <https://github.com/craigerl/aprsd/commit/140fa4ace49385da2d8b2c675c91441a1c8d34a0>`_
* RPC Server logs the client IP on failed auth `\ ``9582812`` <https://github.com/craigerl/aprsd/commit/958281204175d7315ac3a62b0b6eb0656864e0ca>`_
* Webchat: fix input maxlength `\ ``788a72c`` <https://github.com/craigerl/aprsd/commit/788a72c643e3d4f82defc63c068fa1d5f938aa50>`_
* WebChat: new tab should get focus `\ ``ff35898`` <https://github.com/craigerl/aprsd/commit/ff358987a9206772792358ee2c14345fd63fc426>`_
* Remove VIM from Dockerfile `\ ``619b1b7`` <https://github.com/craigerl/aprsd/commit/619b1b708e0059745e7f55d2ec4f08cc2b57f3fe>`_
* recreate client during reset() `\ ``008b2ab`` <https://github.com/craigerl/aprsd/commit/008b2ab09efb98251fe55d721c75be64b1fdd8cc>`_
* fixed webchat logging.logformat typeoh `\ ``8dd3b05`` <https://github.com/craigerl/aprsd/commit/8dd3b05bb16f792ff588494811ac6a669cb629ef>`_
* fixed an issue in the mobile webchat `\ ``34311f0`` <https://github.com/craigerl/aprsd/commit/34311f0fbd1a501dc9eb27ec6e6f5532a4fe43cc>`_
* click on the div after added. `\ ``377842c`` <https://github.com/craigerl/aprsd/commit/377842c2ec9a063602aa9f4a780ac7979950bc2b>`_

`v3.1.3 <https://github.com/craigerl/aprsd/compare/v3.1.2...v3.1.3>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   15 August 2023



* prep for 3.1.3 `\ ``e06305f`` <https://github.com/craigerl/aprsd/commit/e06305fceb551c7917c545ae76c984293d045c2f>`_
* Forcefully allow development webchat flask `\ ``33c7871`` <https://github.com/craigerl/aprsd/commit/33c7871dbe86a07405e5186515adaea412498f24>`_

`v3.1.2 <https://github.com/craigerl/aprsd/compare/v3.1.1...v3.1.2>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   15 August 2023



* Removed adhoc ssl support in webchat `\ ``182887c`` <https://github.com/craigerl/aprsd/commit/182887c20a36d34122e5eefef77e28fcc814c7a5>`_
* Added support for ThirdParty packet types `\ ``ae9e4d3`` <https://github.com/craigerl/aprsd/commit/ae9e4d31ad8333451d6e81dd6440085052c192a0>`_
* Updated Changelog for 3.1.2 `\ ``b2f95b0`` <https://github.com/craigerl/aprsd/commit/b2f95b0f4e1fd627da327354568d773f1172060f>`_

`v3.1.1 <https://github.com/craigerl/aprsd/compare/v3.1.0...v3.1.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   7 August 2023



* Fix sending packets over KISS interface `\ ``#128`` <https://github.com/craigerl/aprsd/pull/128>`_
* Update the Dockerfile `\ ``#125`` <https://github.com/craigerl/aprsd/pull/125>`_
* Max out the client reconnect backoff to 5 `\ ``26f354b`` <https://github.com/craigerl/aprsd/commit/26f354b3a9113a41c6d9a7d5d71dac0ffba11809>`_
* re-enable USWeatherPlugin to use mapClick `\ ``986df39`` <https://github.com/craigerl/aprsd/commit/986df391b2eb5af78f26b95fa1c989760dfa2a56>`_
* Updated Changelog for v3.1.1 `\ ``f228144`` <https://github.com/craigerl/aprsd/commit/f228144f4bfb3fc739d48d6628804efaa04a0f6a>`_
* Use config web_ip for running admin ui from module `\ ``011cfc5`` <https://github.com/craigerl/aprsd/commit/011cfc55e100ffda5153c7ed14b287f6757842c2>`_
* Fixed pep8 failures `\ ``db9e1d2`` <https://github.com/craigerl/aprsd/commit/db9e1d23d1421ca0842208f862fe50849d7fcfd8>`_
* remove loop log `\ ``e0c3c5c`` <https://github.com/craigerl/aprsd/commit/e0c3c5cbbff6ec3ede4d4d8756c42481634a1d61>`_

`v3.1.0 <https://github.com/craigerl/aprsd/compare/v3.0.3...v3.1.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   24 July 2023



* replacement of flask-socketio with python-socketio `\ ``#124`` <https://github.com/craigerl/aprsd/pull/124>`_
* Remove flask pinning `\ ``#123`` <https://github.com/craigerl/aprsd/pull/123>`_
* Update requirements for upgraded cryptography `\ ``#122`` <https://github.com/craigerl/aprsd/pull/122>`_
* Fixed rain numbers from aprslib `\ ``#119`` <https://github.com/craigerl/aprsd/pull/119>`_
* Example plugin wrong function `\ ``#116`` <https://github.com/craigerl/aprsd/pull/116>`_
* Removed flask-classful from webchat `\ ``6a6e854`` <https://github.com/craigerl/aprsd/commit/6a6e854caf18fc01b6f38badbffe38272c73508c>`_
* Update location plugin and reworked requirements `\ ``26c1e7a`` <https://github.com/craigerl/aprsd/commit/26c1e7afbb1875bfcaf3016a2d85b34bcda48048>`_
* Added the fetch-stats command `\ ``b2e621d`` <https://github.com/craigerl/aprsd/commit/b2e621da4b058a1fc727ff6741a27c03a0b220e4>`_
* Replace ratelimiter with rush `\ ``fe0d71d`` <https://github.com/craigerl/aprsd/commit/fe0d71de4d75979968a67e6ff1122a11a303c3bc>`_
* Replace Dockerfile-dev with python3 slim `\ ``ccd564a`` <https://github.com/craigerl/aprsd/commit/ccd564a52e6de2ef800934492d5e420e90d4e365>`_
* Moved logging to log for wsgi.py `\ ``35d4158`` <https://github.com/craigerl/aprsd/commit/35d41582ee0cfc9dce505526e8a5648d93a1be12>`_
* Changelog updates for v3.1.0 `\ ``dfd3688`` <https://github.com/craigerl/aprsd/commit/dfd3688d8ff1110ac011e8adf866f67ba2ad0d86>`_
* Populate stats object with threads info `\ ``191e1ff`` <https://github.com/craigerl/aprsd/commit/191e1ff552ac3c9d769de2417d5c9a0d5f85362c>`_
* Added manual master build `\ ``311ceba`` <https://github.com/craigerl/aprsd/commit/311cebaf2770ee293c7166ee56030146cba4a274>`_
* Fixed unit tests for Location plugin `\ ``80b85e6`` <https://github.com/craigerl/aprsd/commit/80b85e648f0d40325964517ecc9db7cd999009de>`_
* Fix in for aprslib issue #80 `\ ``63bf82a`` <https://github.com/craigerl/aprsd/commit/63bf82aab5cce54f7b96d95c77043067185b1c4b>`_
* Change how fetch-stats gets it's defaults `\ ``5383b69`` <https://github.com/craigerl/aprsd/commit/5383b698ea8d92b76ee22a8ba239d6de945e0375>`_
* update manual build github `\ ``fa6e738`` <https://github.com/craigerl/aprsd/commit/fa6e738a2069721eb0100ad71cbb41bfd012bc43>`_
* Fixed rpc client initialization `\ ``7f2aba7`` <https://github.com/craigerl/aprsd/commit/7f2aba702abc079d6b36b7fbb0e5b4d8e8d03f7f>`_
* Add .readthedocs.yaml `\ ``43d6b62`` <https://github.com/craigerl/aprsd/commit/43d6b627604a50dd7c566316c0c9491b777151d9>`_
* Added timing after each thread loop `\ ``d3a93b7`` <https://github.com/craigerl/aprsd/commit/d3a93b735deb222d9a2c27015a413973c810f4d0>`_
* force tox to 4.3.5 `\ ``da20ff0`` <https://github.com/craigerl/aprsd/commit/da20ff038b40160695773e6b5fedfbf51d9da8bf>`_
* Update master-build.yml `\ ``f4d6035`` <https://github.com/craigerl/aprsd/commit/f4d60357ee15e7b16fb24738fdb882d46f068795>`_
* Add github manual trigger for master build `\ ``09a0c4c`` <https://github.com/craigerl/aprsd/commit/09a0c4cb026101dab53d1a9544135d29f15040cd>`_
* Add info logging for rpc server calls `\ ``6ae55fc`` <https://github.com/craigerl/aprsd/commit/6ae55fc9a14bb4e760fedce6b21705ee248fb2cc>`_
* Try and fix Dockerfile-dev `\ ``bba7b68`` <https://github.com/craigerl/aprsd/commit/bba7b68112c0b6372f21a1d2a9a7df52fa028a05>`_
* added counts to the fetch-stats table `\ ``0a14b07`` <https://github.com/craigerl/aprsd/commit/0a14b07fae0e2eb2c867c624d510ca60602fab5d>`_
* Update Dockerfile-dev to fix plugin permissions `\ ``d8318f2`` <https://github.com/craigerl/aprsd/commit/d8318f2ae23f5299bad2cdfb07a549bc74d83d3f>`_
* Limit the float values to 3 decimal places `\ ``0bd11d0`` <https://github.com/craigerl/aprsd/commit/0bd11d05c666d5304e3173e2e010a23fd6d9e6e0>`_
* Ensure fetch-stats ip is a string `\ ``cbef93b`` <https://github.com/craigerl/aprsd/commit/cbef93b3278b2d638c96558271ae62d72ede886a>`_
* USe new tox and update githubworkflows `\ ``9931c8a`` <https://github.com/craigerl/aprsd/commit/9931c8a6c5f84ca46521e8d8f66d58a4c88a9890>`_
* Added rpc server for listen `\ ``8b73372`` <https://github.com/craigerl/aprsd/commit/8b73372b6e63b0e6f58dffa7668a73990a599dc4>`_
* Fixed .readthedocs.yaml format `\ ``cad22e1`` <https://github.com/craigerl/aprsd/commit/cad22e174432bcfb28d2c8cbaaab995f38a95461>`_
* Update Dockerfile to help build cryptography `\ ``00f1c3a`` <https://github.com/craigerl/aprsd/commit/00f1c3a2baf6c0afc5a697ee5a895110a6c38cac>`_
* Update Dockerfile-dev to include uwsgi `\ ``1ab9c3f`` <https://github.com/craigerl/aprsd/commit/1ab9c3fee4ea228a8e9194340d8fb31fc6cd7b65>`_
* Fixed pep8 `\ ``4664ead`` <https://github.com/craigerl/aprsd/commit/4664ead9e7b833f610b5c04acebbc9cced4447d5>`_
* Changed weather plugin regex pattern `\ ``565ffe3`` <https://github.com/craigerl/aprsd/commit/565ffe3f7287a257a84c693f74e2dff6f35f84af>`_
* Update github workflows `\ ``15bf371`` <https://github.com/craigerl/aprsd/commit/15bf3710d25328cfd5ff3fb27710746636ea6899>`_
* Fixed sio namespace registration `\ ``099b87e`` <https://github.com/craigerl/aprsd/commit/099b87e25048e2be2bf453130d9ba99299079190>`_
* Fixed pep8 errors `\ ``005675c`` <https://github.com/craigerl/aprsd/commit/005675cb467863f54db1cf5ffc94f5693326b72d>`_
* Updated requirements `\ ``319969c`` <https://github.com/craigerl/aprsd/commit/319969cc08f9e49deabe27f38f941409a4c5e2ed>`_
* Update docker bin/admin.sh `\ ``fa452cc`` <https://github.com/craigerl/aprsd/commit/fa452cc773b4aacd4ecb56900e1f954887dea999>`_
* Added more libs for Dockerfile-dev `\ ``ad00463`` <https://github.com/craigerl/aprsd/commit/ad004633de75176bf70c6a4df19763f57350fbbb>`_
* Use CONF.admin.web_port for single launch web admin `\ ``c7d629f`` <https://github.com/craigerl/aprsd/commit/c7d629f88a754ef1210a1ab87a96fe8f71036f38>`_
* change port to 8000 `\ ``e51a501`` <https://github.com/craigerl/aprsd/commit/e51a50154459a5f50b3faa7784f68555bb442952>`_
* updated wsgi config default /config/aprsd.conf `\ ``588e140`` <https://github.com/craigerl/aprsd/commit/588e140a7f1de089d9813c22c116d7cc6b6169f0>`_
* removed linux/arm/v8 `\ ``5723e3a`` <https://github.com/craigerl/aprsd/commit/5723e3a77b78325e5e381b703bed61f2fef147f4>`_
* Update master build to include linux/arm/v8 `\ ``dee73c1`` <https://github.com/craigerl/aprsd/commit/dee73c1060be62f01e87413bfd9edef04a3ec675>`_
* add arm64 for manual github build `\ ``b172c69`` <https://github.com/craigerl/aprsd/commit/b172c692a1ff9bfce1cdd49695fc17544a058216>`_
* Added some utilities to Dockerfile-dev `\ ``9b94414`` <https://github.com/craigerl/aprsd/commit/9b944142bd6a21285d112929791fc87a26c9cdf9>`_
* Fixed pep8 violation `\ ``5bc589f`` <https://github.com/craigerl/aprsd/commit/5bc589f21fd3dc33a4f0aa361cbd06d1c4288219>`_
* Ensure conf is imported for threads/tx `\ ``4e99e30`` <https://github.com/craigerl/aprsd/commit/4e99e30f165d4e6dc12e1fa2aefbba790b96211f>`_

`v3.0.3 <https://github.com/craigerl/aprsd/compare/v3.0.2...v3.0.3>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   25 April 2023



* Add ratelimiting for acks and other packets `\ ``#111`` <https://github.com/craigerl/aprsd/pull/111>`_
* Update Listen command `\ ``483afce`` <https://github.com/craigerl/aprsd/commit/483afce5adb39b973f4f6e5c57431007c3318889>`_
* Added listen.sh for docker `\ ``c353877`` <https://github.com/craigerl/aprsd/commit/c353877321af14fd8bb4804a45cd8422471dd47f>`_
* Change listen command plugins `\ ``0ec41f7`` <https://github.com/craigerl/aprsd/commit/0ec41f76053a0c1278d4fde14de4f853ea542669>`_
* Fixed loading of plugins for server `\ ``e21e2a7`` <https://github.com/craigerl/aprsd/commit/e21e2a7c50455c9d43c51858f0dfe81b2d2d6296>`_
* Update Changelog to 3.0.3 `\ ``0527ddf`` <https://github.com/craigerl/aprsd/commit/0527ddfdbad58fe172f9bc24563c5c49506e22a6>`_
* Update Dockerfile `\ ``8a456ca`` <https://github.com/craigerl/aprsd/commit/8a456cac4887933e11c37b323a73e4e34fb0a7ce>`_
* Don't load help plugin for listen command `\ ``17d9c06`` <https://github.com/craigerl/aprsd/commit/17d9c06b07232276156c015daa5692ed9413223e>`_
* cleanup some debug messages `\ ``5694cab`` <https://github.com/craigerl/aprsd/commit/5694cabd93ff03e31fb0edddc1b28b2c62d9c368>`_
* Added listen args. `\ ``66ebb28`` <https://github.com/craigerl/aprsd/commit/66ebb286d8fa13a64971cdc2e9dded01637dd9c9>`_

`v3.0.2 <https://github.com/craigerl/aprsd/compare/v3.0.1...v3.0.2>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   16 January 2023



* Update Changelog for 3.0.2 `\ ``357a193`` <https://github.com/craigerl/aprsd/commit/357a193a75a4e2a5efd0768ca79f71998539d2d1>`_
* Import RejectPacket `\ ``4aa4a4b`` <https://github.com/craigerl/aprsd/commit/4aa4a4b5d3e4326c0f479e62bd5a04d0c2e0d338>`_

`v3.0.1 <https://github.com/craigerl/aprsd/compare/v3.0.0...v3.0.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   14 January 2023



* Add support for Reject messages. `\ ``#109`` <https://github.com/craigerl/aprsd/pull/109>`_
* Add support to Reject messages. `\ ``c68b270`` <https://github.com/craigerl/aprsd/commit/c68b270ee280a7f58163784511d5fbea810c977c>`_
* Update Docker builds for 3.0.0 `\ ``3872590`` <https://github.com/craigerl/aprsd/commit/38725907f31a56a9619035f17d6ae1b0f9955a17>`_

`v3.0.0 <https://github.com/craigerl/aprsd/compare/v2.6.1...v3.0.0>`_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

..

   9 January 2023



* Convert config to oslo_config `\ ``#107`` <https://github.com/craigerl/aprsd/pull/107>`_
* Dataclasses `\ ``#106`` <https://github.com/craigerl/aprsd/pull/106>`_
* Reworked all packet processing `\ ``94fb481`` <https://github.com/craigerl/aprsd/commit/94fb481014dea7960c0a029b3deb8828fea22ad8>`_
* Update documentation and README `\ ``c929689`` <https://github.com/craigerl/aprsd/commit/c929689647159804209f1bd3711a563ba395cb18>`_
* Removed references to old custom config `\ ``7ccfc25`` <https://github.com/craigerl/aprsd/commit/7ccfc253cf4d881b4888c3b4040dc9e119fb74dc>`_
* Decouple admin web interface from server command `\ ``ff39239`` <https://github.com/craigerl/aprsd/commit/ff392395ed9e4eb8fcc46e8ec475ff82f033c45b>`_
* Added missing conf `\ ``f4a6dfc`` <https://github.com/craigerl/aprsd/commit/f4a6dfc8a0ccff5d6cdf3abf511eaae537e60eaa>`_
* Added new docs files for 3.0.0 `\ ``29b8764`` <https://github.com/craigerl/aprsd/commit/29b8764124894f25849750890074a7e5a571000a>`_
* Cleaned out all references to messaging `\ ``bfc0a5a`` <https://github.com/craigerl/aprsd/commit/bfc0a5a1e9bd56c808edac679a50426efc5d322e>`_
* Started using dataclasses to describe packets `\ ``082db73`` <https://github.com/craigerl/aprsd/commit/082db7325de50c508a96db225ad196e47fbaf806>`_
* Updated Healthcheck to use rpc to call aprsd `\ ``c5acdba`` <https://github.com/craigerl/aprsd/commit/c5acdba6dee13bba189af106925cb33c8adf078e>`_
* reworked collecting and reporting stats `\ ``e37f99a`` <https://github.com/craigerl/aprsd/commit/e37f99a6ddbb32e5d1a59f30c7179bb81451fc6a>`_
* Removed Packet.send() `\ ``4a65f52`` <https://github.com/craigerl/aprsd/commit/4a65f52939b38eff8c664742c58b62e69ca24a51>`_
* Updated plugins and plugin interfaces for Packet `\ ``67a441d`` <https://github.com/craigerl/aprsd/commit/67a441d443f4460b0db0c67f404b6d5db85024af>`_
* More messaging -&gt; packets cleanup `\ ``6030cb3`` <https://github.com/craigerl/aprsd/commit/6030cb394ba72e70c1e3cf161f3ddef39ddf183e>`_
* Make tracking objectstores work w/o initializing `\ ``1187f1e`` <https://github.com/craigerl/aprsd/commit/1187f1ed738890b63201c136e607a88781a8b36e>`_
* Cleaned up PluginManager `\ ``220fb58`` <https://github.com/craigerl/aprsd/commit/220fb58f9779946c33429613ff397c7082fe84eb>`_
* Added ObjectPacket `\ ``ed284a4`` <https://github.com/craigerl/aprsd/commit/ed284a42cc0b29357c1f2f3182db029874394216>`_
* Cleaned up packet transmit class attributes `\ ``c201c93`` <https://github.com/craigerl/aprsd/commit/c201c93b5d01f73eb2a308d309103e114e5f6ff1>`_
* Removed watchlist plugins `\ ``f464ff0`` <https://github.com/craigerl/aprsd/commit/f464ff0785b2b6a2869effa4d1c5cca706199de4>`_
* Ensure server command main thread doesn't exit `\ ``c5aba17`` <https://github.com/craigerl/aprsd/commit/c5aba17ad1eee81bfbdae33ccfd375c0b92a2411>`_
* Fix some unit tests and loading of CONF w/o file `\ ``e9a954a`` <https://github.com/craigerl/aprsd/commit/e9a954a8fd79059995f8e44832bea040c9a5320a>`_
* Updated webchat and listen for queue based RX `\ ``ad0d89d`` <https://github.com/craigerl/aprsd/commit/ad0d89db401847a44b2d2af82d9901b40ecd9b5a>`_
* Change RX packet processing to enqueu `\ ``123b3ff`` <https://github.com/craigerl/aprsd/commit/123b3ffa81c5eb6366378cd4e28d936086af7686>`_
* Added WeatherPacket encoding `\ ``899a6e5`` <https://github.com/craigerl/aprsd/commit/899a6e5363690a1463c6102b30033e6ff1888c3c>`_
* Cleaned up KISS interfaces use of old config `\ ``0758a58`` <https://github.com/craigerl/aprsd/commit/0758a581013fe0c3f0b69bb3d8d3087969e20673>`_
* Update regex processing and regex for plugins `\ ``3d0bb8a`` <https://github.com/craigerl/aprsd/commit/3d0bb8ae8e92c7a23352f06aa951c6b18a0c2da0>`_
* Added contructing a GPSPacket for sending `\ ``59e5af8`` <https://github.com/craigerl/aprsd/commit/59e5af8ee59bfeac4c72662c42bcf0663162e3ef>`_
* Add packet filtering for aprsd listen `\ ``d01392f`` <https://github.com/craigerl/aprsd/commit/d01392f6a588b38134875acfa085f5664febacf6>`_
* Change ordering of starting up of server command `\ ``83d2e70`` <https://github.com/craigerl/aprsd/commit/83d2e708ebb68ce743a1b3db9e9bea42f3bcda32>`_
* Added rain formatting unit tests to WeatherPacket `\ ``ce3b29f`` <https://github.com/craigerl/aprsd/commit/ce3b29f99023964b4922806d476ddc2678edeee8>`_
* Removed unused threading code `\ ``9fc5356`` <https://github.com/craigerl/aprsd/commit/9fc5356456a60cd96c085a842cbeed0eb315e949>`_
* Fix PluginManager.get_plugins `\ ``2ca3636`` <https://github.com/craigerl/aprsd/commit/2ca36362ec5ce9f6083487eb903f2132ac91fcb2>`_
* cleanup webchat `\ ``1b49f12`` <https://github.com/craigerl/aprsd/commit/1b49f128a96197bd11d47feba203d1029e022a50>`_
* Update Changelog for 3.0.0 `\ ``4a10511`` <https://github.com/craigerl/aprsd/commit/4a10511d8bb58b9b7785f4469db6543e731f1418>`_
* reworked usage of importlib.metadata `\ ``a5520b2`` <https://github.com/craigerl/aprsd/commit/a5520b2cd3b977079f1971f2ce6f383340304884>`_
* Dockerfile now produces aprsd.conf `\ ``02e4f78`` <https://github.com/craigerl/aprsd/commit/02e4f78d0e3be5098333263cfafb2cc3debdff81>`_
* Fix Rain reporting in WeatherPacket send. `\ ``bbcd7c8`` <https://github.com/craigerl/aprsd/commit/bbcd7c8a5bc3e457bbce2138029b236a7607c61e>`_
* Fix some WeatherPacket formatting `\ ``f19043e`` <https://github.com/craigerl/aprsd/commit/f19043ecd994ffd2d1c6958f08a47d5328c64258>`_
* Fix packets timestamp to int `\ ``f1de7bc`` <https://github.com/craigerl/aprsd/commit/f1de7bc6815be2ee129a27ff4a898abbc48a5b51>`_
* Fixed save directory default `\ ``233d49b`` <https://github.com/craigerl/aprsd/commit/233d49bb4c3cf96f4979aa8e878635376cffad5b>`_
* Fixed pep8 failure `\ ``6391c7e`` <https://github.com/craigerl/aprsd/commit/6391c7eed691f912de49de0aa3e0a0fdb5a2edc2>`_
* Removed url option from healthcheck in dev `\ ``fe2f7b5`` <https://github.com/craigerl/aprsd/commit/fe2f7b5b71d3aba24f9530e3371450b800f8cc81>`_
* Updated docker/bin/run.sh to use new conf `\ ``79e7ed1`` <https://github.com/craigerl/aprsd/commit/79e7ed1e915e62ed2392fed27d79da8619f3eef0>`_
* Update routing for weatherpacket `\ ``088cbb8`` <https://github.com/craigerl/aprsd/commit/088cbb81eddd3bf947e2e2bd970b0f3ac094bd41>`_
* Fix pep8 violation `\ ``a1188d2`` <https://github.com/craigerl/aprsd/commit/a1188d29d41df7a609fe29d23010cf8fb50fa5cc>`_
* Cleaned up PluginManager `\ ``7dfa4e6`` <https://github.com/craigerl/aprsd/commit/7dfa4e6dbf1924b5ce1061e6be2d1a00ffd095d8>`_

`v2.6.1 <https://github.com/craigerl/aprsd/compare/v2.6.0...v2.6.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   16 December 2022



* Collections fix `\ ``#105`` <https://github.com/craigerl/aprsd/pull/105>`_
* Add unit tests for webchat `\ ``19e5cfa`` <https://github.com/craigerl/aprsd/commit/19e5cfa9cc7605ee39be6869efb40261c33e4efb>`_
* Try and fix broken 32bit qemu builds on 64bit system `\ ``87cbcaa`` <https://github.com/craigerl/aprsd/commit/87cbcaa47fc52be03d7f6763e5d2142dc7d350a1>`_
* Fixed position report for webchat beacon `\ ``9571b0b`` <https://github.com/craigerl/aprsd/commit/9571b0bb38f444f5b52d3b36b9efd2e8e7a331d5>`_
* Fix for Collections change in 3.10 `\ ``9d19502`` <https://github.com/craigerl/aprsd/commit/9d19502dd80133d74b516a09addfd38bc088c241>`_
* remove armv7 build RUST sucks `\ ``321c5a2`` <https://github.com/craigerl/aprsd/commit/321c5a2c25cc88a93dc60c3ef351413473c76517>`_
* Update workflow `\ ``40f23dc`` <https://github.com/craigerl/aprsd/commit/40f23dcb482f39ba2fe233578bbb36f5d2da17b7>`_

`v2.6.0 <https://github.com/craigerl/aprsd/compare/v2.5.9...v2.6.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   12 December 2022



* change from device-detector to user-agents `\ ``#103`` <https://github.com/craigerl/aprsd/pull/103>`_
* Remove twine from dev-requirements `\ ``#102`` <https://github.com/craigerl/aprsd/pull/102>`_
* Add support for mobile browsers for webchat `\ ``#101`` <https://github.com/craigerl/aprsd/pull/101>`_
* Send GPS Beacon from webchat interface `\ ``#100`` <https://github.com/craigerl/aprsd/pull/100>`_
* Remove email validation `\ ``#99`` <https://github.com/craigerl/aprsd/pull/99>`_
* Small refactor `\ ``#91`` <https://github.com/craigerl/aprsd/pull/91>`_
* Update docs on using Docker `\ ``#98`` <https://github.com/craigerl/aprsd/pull/98>`_
* Bump dependencies to fix python 3.10 `\ ``#89`` <https://github.com/craigerl/aprsd/pull/89>`_
* Fix #92 (PyPI scraping) `\ ``#96`` <https://github.com/craigerl/aprsd/pull/96>`_
* README formatting fixes `\ ``#93`` <https://github.com/craigerl/aprsd/pull/93>`_
* Fix typo on exception `\ ``#94`` <https://github.com/craigerl/aprsd/pull/94>`_
* Fix plugins not installing via docker-compose `\ ``#97`` <https://github.com/craigerl/aprsd/pull/97>`_
* Merge pull request #96 from ranguli/fix-pypi-scraping `\ ``#92`` <https://github.com/craigerl/aprsd/issues/92>`_
* Added webchat command `\ ``585d55f`` <https://github.com/craigerl/aprsd/commit/585d55f10dca57b8e1dcdadfe26415b1cfa40d7e>`_
* Updated requirements `\ ``075078b`` <https://github.com/craigerl/aprsd/commit/075078b52029cb0544e2d154e6064b783167b615>`_
* Refactored threads a bit `\ ``51b80cd`` <https://github.com/craigerl/aprsd/commit/51b80cd4eaa4441f4fb6c9344b7c4e99558811ff>`_
* Refactored threads.py `\ ``347a6d6`` <https://github.com/craigerl/aprsd/commit/347a6d69f7825a408553a4ee08002917c5a6ab73>`_
* Got webchat working with KISS tcp `\ ``7d970cb`` <https://github.com/craigerl/aprsd/commit/7d970cbe7029610aa2522c1c78bf60bf10b35417>`_
* Add GPS beacon to mobile page `\ ``ee96108`` <https://github.com/craigerl/aprsd/commit/ee96108324ce729abb3683e94a69c9682ecc503f>`_
* Use new aprsd.callsign as the main callsign `\ ``ad79ed1`` <https://github.com/craigerl/aprsd/commit/ad79ed1261702ae0f278e91d7369de02b20a0af3>`_
* Fixed up config option checking for KISS `\ ``1c052a6`` <https://github.com/craigerl/aprsd/commit/1c052a63c0ba896d43c06f1a06d73b73d2d2370e>`_
* Prep for 2.6.0 release `\ ``5891c71`` <https://github.com/craigerl/aprsd/commit/5891c71483229f3554d7c5b126412e464956e1b3>`_
* Refactor utils to directory `\ ``bed060f`` <https://github.com/craigerl/aprsd/commit/bed060f1c5c4e2265c90ac9dbb8db4e81a530e0a>`_
* Removed TimeOpenCageDataPlugin `\ ``528bdb9`` <https://github.com/craigerl/aprsd/commit/528bdb99e73edb94c984c7db7ca00849128e1dc0>`_
* Fix logging issue with log messages `\ ``e739441`` <https://github.com/craigerl/aprsd/commit/e739441268569748c42e059c02343e92dd00db64>`_
* Update packets to use wrapt `\ ``967959e`` <https://github.com/craigerl/aprsd/commit/967959e7b3d2d890da9476ca76a0ef1e8a3b163d>`_
* Update aprsd thread base class to use queue `\ ``9b0c626`` <https://github.com/craigerl/aprsd/commit/9b0c626b59406102cdab85b7a9de20cf53563953>`_
* create master-build.yml `\ ``1383352`` <https://github.com/craigerl/aprsd/commit/1383352e7566b35b8a14fbe98b8ea1f8d118e382>`_
* added workflow for building specific version `\ ``d40927d`` <https://github.com/craigerl/aprsd/commit/d40927d1c3f0890f79cb76d8b0c537e0ecf887e6>`_
* Update Dockerfile and build.sh `\ ``c1db238`` <https://github.com/craigerl/aprsd/commit/c1db238719eba7e0834316e5618e220f4458685b>`_
* Moved trace.py to utils `\ ``a628439`` <https://github.com/craigerl/aprsd/commit/a62843920a6742cf22c966e6d2a05155f20aeb17>`_
* Try sending raw APRSFrames to aioax25 `\ ``2ce50d8`` <https://github.com/craigerl/aprsd/commit/2ce50d886149d055357e44a0cbc2fddad81d7824>`_
* Moved log.py to logging `\ ``1ccb2f7`` <https://github.com/craigerl/aprsd/commit/1ccb2f76953d113df482902895d7014aee778195>`_
* Fixed build.sh `\ ``d1a0a98`` <https://github.com/craigerl/aprsd/commit/d1a0a988f2cb2cbb015e4c00fa80bfa1db3d8a5f>`_
* Update requirements `\ ``68472b0`` <https://github.com/craigerl/aprsd/commit/68472b0d8402ddcf48164fcf8e2f11963aff8dd6>`_
* Build on the source not released aprsd `\ ``d9b3973`` <https://github.com/craigerl/aprsd/commit/d9b39734e6a236485ab08f9c70f215fdd9dbb876>`_
* Fixed pep8 errors `\ ``29b84b4`` <https://github.com/craigerl/aprsd/commit/29b84b453be5bf1ab4ba0f40bae33bc5057e42c7>`_
* Remove docker build from test `\ ``f9d3bc4`` <https://github.com/craigerl/aprsd/commit/f9d3bc433f754b788e2fc5a988f74944239812de>`_
* Added container build action `\ ``b50f343`` <https://github.com/craigerl/aprsd/commit/b50f343440febca1d040b2463b68011aa8404526>`_
* Update to latest Makefile.venv `\ ``e4f93a2`` <https://github.com/craigerl/aprsd/commit/e4f93a2ab4dbc416a93a51ba14650531f17ee02c>`_
* specify Dockerfile-dev `\ ``4111d16`` <https://github.com/craigerl/aprsd/commit/4111d16aafe456cba998183db0e745edef4f7777>`_
* Dump config with aprsd dev test-plugin `\ ``fc1ca52`` <https://github.com/craigerl/aprsd/commit/fc1ca525934c13a72c1e0315898776a57a675814>`_
* Update dev-requirements pip-tools `\ ``7db2242`` <https://github.com/craigerl/aprsd/commit/7db2242060d8146ff4d1372fbf72df7741522ad5>`_
* Add remving existing requirements `\ ``e5f60b5`` <https://github.com/craigerl/aprsd/commit/e5f60b5ce1800bf1bdb39d7b6eea769a8ff646a4>`_
* Fixed failing unit tests `\ ``5acddbd`` <https://github.com/craigerl/aprsd/commit/5acddbd466dca342e7eca03d58485cb1a50471e8>`_
* for 2.5.9 `\ ``03a20eb`` <https://github.com/craigerl/aprsd/commit/03a20ebb5caf95763fee270c157f6e802c5e68b4>`_
* Update Makefile for dev vs. run environments `\ ``576301c`` <https://github.com/craigerl/aprsd/commit/576301ca209f59ed621a20c9dbc8b4e55d7a76a3>`_
* Added pyopenssl for https for webchat `\ ``6d34d9c`` <https://github.com/craigerl/aprsd/commit/6d34d9c514857798f7b3dbc47e2a3e14b95493a0>`_
* Mark packets as acked in MsgTracker `\ ``480094b`` <https://github.com/craigerl/aprsd/commit/480094b0d47edeeac23323211147088e1f637d70>`_
* Allow passing in version to the Dockerfile `\ ``d5e56b5`` <https://github.com/craigerl/aprsd/commit/d5e56b553eac3f327057cedd5b03c69156e23a1c>`_
* Fix PyPI scraping `\ ``9ffd320`` <https://github.com/craigerl/aprsd/commit/9ffd320353a03ab469940f9dec87ad11a1efe9a0>`_
* remove dev setting for template `\ ``726c8f4`` <https://github.com/craigerl/aprsd/commit/726c8f4f2f26c8fc5c2b868d1e482e0e662e6ed3>`_
* Fixed access to threads refactor `\ ``5f28788`` <https://github.com/craigerl/aprsd/commit/5f2878818006397c79f6438d7dc3fbeb26b2e31e>`_
* Update Dockerfile to 22.04 `\ ``4fe99c3`` <https://github.com/craigerl/aprsd/commit/4fe99c35b5ced1e79c679b28292d60c25271685c>`_
* Ignore callsign case while processing packets `\ ``44696fb`` <https://github.com/craigerl/aprsd/commit/44696fbc56e57c1a0346074e3416e126ac1897ab>`_
* remove linux/arm/v7 for official builds for now `\ ``5add0f9`` <https://github.com/craigerl/aprsd/commit/5add0f958d466172aa7a57b44e18bf27c8c0e3db>`_
* Add support for building linux/arm/v7 `\ ``117f81f`` <https://github.com/craigerl/aprsd/commit/117f81f55fe1a3e4e347d1c0dfbdb97e0f553f52>`_
* Remove python 3.7 from docker build github `\ ``b41e4a9`` <https://github.com/craigerl/aprsd/commit/b41e4a9ef3759ac819dc9740cfb276515d090fa7>`_
* change github workflow `\ ``17e7846`` <https://github.com/craigerl/aprsd/commit/17e784629e18b8b7ac4275b49f5a50194e71460b>`_
* Added click auto_envvar_prefix `\ ``d717a22`` <https://github.com/craigerl/aprsd/commit/d717a22717ac1b0422b253dea052fe405aed8292>`_
* remove arm build for now `\ ``ab65836`` <https://github.com/craigerl/aprsd/commit/ab6583666f8a3eb7853927f8a196c88a773d5a5b>`_
* Added rustc and cargo to Dockerfile `\ ``3580425`` <https://github.com/craigerl/aprsd/commit/3580425ca3ec9fa9bf6856e39aa58f3512a0dee0>`_
* remove linux/arm/v6 from docker platform build `\ ``358aa59`` <https://github.com/craigerl/aprsd/commit/358aa5904235adf36dd6ad994ba5b82fa9794537>`_

`v2.5.9 <https://github.com/craigerl/aprsd/compare/v2.5.8...v2.5.9>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   26 January 2022



* FIX: logging exceptions `\ ``6257c9e`` <https://github.com/craigerl/aprsd/commit/6257c9ea908158bc68e37fd8984b0a3119deff0d>`_
* Updated build and run for rich lib `\ ``b00c8db`` <https://github.com/craigerl/aprsd/commit/b00c8db3d6ddebe7f485a8888a52b87e43d8415a>`_
* update build for 2.5.8 `\ ``79270f9`` <https://github.com/craigerl/aprsd/commit/79270f95becc8ecf3912661a5bd3832ab5cd9341>`_

`v2.5.8 <https://github.com/craigerl/aprsd/compare/v2.5.7...v2.5.8>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   7 January 2022



* Updated list-plugins `\ ``764730c`` <https://github.com/craigerl/aprsd/commit/764730c123e020235615b4be8ab1d26b43fc96be>`_
* Send Message command defaults to config `\ ``a7bbde4`` <https://github.com/craigerl/aprsd/commit/a7bbde4a439258691feb0429e371828d5b024a64>`_
* Added unit tests for dev test-plugin `\ ``2f6e7e1`` <https://github.com/craigerl/aprsd/commit/2f6e7e17e835d7b659cf3186c17d5975dd503019>`_

`v2.5.7 <https://github.com/craigerl/aprsd/compare/v2.5.6...v2.5.7>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   11 December 2021



* Fixed an KISS config disabled issue `\ ``#79`` <https://github.com/craigerl/aprsd/pull/79>`_
* Unify the logging to file and stdout `\ ``#77`` <https://github.com/craigerl/aprsd/pull/77>`_
* Added new feature to list-plugins command `\ ``#76`` <https://github.com/craigerl/aprsd/pull/76>`_
* Updated README examples `\ ``7c653cc`` <https://github.com/craigerl/aprsd/commit/7c653cc1007b3e7698ccde4132b89ebaf937fe92>`_
* more README.rst cleanup `\ ``28b54c3`` <https://github.com/craigerl/aprsd/commit/28b54c330d23f85938d1cebeb0a19839146931e1>`_
* Fixed a bug with multiple notify plugins enabled `\ ``e57a2e2`` <https://github.com/craigerl/aprsd/commit/e57a2e2ffcc4903e191447c5f7c9baaf5f76c34f>`_
* Updated Changelog `\ ``7530bcf`` <https://github.com/craigerl/aprsd/commit/7530bcf55c23e3e7470987edcd139c03db2e9e90>`_

`v2.5.6 <https://github.com/craigerl/aprsd/compare/v2.5.5...v2.5.6>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   7 December 2021



* Unittests `\ ``#75`` <https://github.com/craigerl/aprsd/pull/75>`_
* Rich logging `\ ``#74`` <https://github.com/craigerl/aprsd/pull/74>`_
* Added LOG_LEVEL env variable for the docker `\ ``#73`` <https://github.com/craigerl/aprsd/pull/73>`_
* Added NotifyPlugin unit tests and more `\ ``0ad791b`` <https://github.com/craigerl/aprsd/commit/0ad791bdd917495d8acd43f1895bbd16535af5c6>`_
* Added python rich library based logging. `\ ``1d5f76d`` <https://github.com/craigerl/aprsd/commit/1d5f76defc3da693ba8b73b7ae655dc6e060ecb0>`_
* Added unit tests for USWeatherPlugin, USMetarPlugin `\ ``8ea00e9`` <https://github.com/craigerl/aprsd/commit/8ea00e98886db552a83a469441ee4ec8ef644aa4>`_
* Added test_location to test LocationPlugin `\ ``5d6ac5c`` <https://github.com/craigerl/aprsd/commit/5d6ac5cf31836da967377bbc15e3aca6c0322a96>`_
* Fixed some pep8 errors `\ ``b5b286e`` <https://github.com/craigerl/aprsd/commit/b5b286e75c502edc7eee29e3b10450d41dea8d86>`_
* Small cleanup on packet logging `\ ``96cc07d`` <https://github.com/craigerl/aprsd/commit/96cc07d15f25f9b1b116d5723a9fea7153175f19>`_
* Changelog `\ ``b7791eb`` <https://github.com/craigerl/aprsd/commit/b7791eb4fa78878a426d0348ddbfbb36c650671c>`_
* Updated pytest output `\ ``e0e7514`` <https://github.com/craigerl/aprsd/commit/e0e75149a9fb126f255c373bcba87c22b85ea22c>`_
* Tightened up the packet logging `\ ``440c8d5`` <https://github.com/craigerl/aprsd/commit/440c8d54adbebfdfef77d0a1e0dd757a755f3e51>`_
* Fixed the NotifyPlugin `\ ``055835c`` <https://github.com/craigerl/aprsd/commit/055835cb3cb116797e10f925a843818d8a9633e6>`_
* Added py39 to tox for tests `\ ``a5184fb`` <https://github.com/craigerl/aprsd/commit/a5184fb98cb286d6fd34df749591944af6e8faf6>`_
* Add tracing for dev command `\ ``1233137`` <https://github.com/craigerl/aprsd/commit/1233137caf1c08114a2a87f11004b3e046198ac0>`_
* Reduced the APRSIS connection reset to 2 minutes `\ ``d3dd087`` <https://github.com/craigerl/aprsd/commit/d3dd08714bb172d8804170e421283d6794a253c7>`_

`v2.5.5 <https://github.com/craigerl/aprsd/compare/v2.5.4...v2.5.5>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   28 November 2021



* Update requirements to use aprslib 0.7.0 `\ ``e27887d`` <https://github.com/craigerl/aprsd/commit/e27887db1a58e9c914e6ab24bd2d1806772600aa>`_
* fixed the failure during loading for objectstore `\ ``5e50792`` <https://github.com/craigerl/aprsd/commit/5e50792e805c0f8f6f034c7dc010f6918e9b64a7>`_
* updated docker build `\ ``deec249`` <https://github.com/craigerl/aprsd/commit/deec249c45d8e1684212577fe85a9e9fc44f0567>`_

`v2.5.4 <https://github.com/craigerl/aprsd/compare/v2.5.3...v2.5.4>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   13 November 2021



* Fixed dev command missing initialization `\ ``6fb6105`` <https://github.com/craigerl/aprsd/commit/6fb610582df07b308d862f1af68fd922f9593ccd>`_
* Updated Changelog `\ ``ade3c49`` <https://github.com/craigerl/aprsd/commit/ade3c49e93602bd91c56021abda53da32691cf23>`_

`v2.5.3 <https://github.com/craigerl/aprsd/compare/v2.5.2...v2.5.3>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   12 November 2021



* Fix admin logging tab `\ ``bda2ef0`` <https://github.com/craigerl/aprsd/commit/bda2ef00dde8c4e46d931abaf0af133f76ade385>`_

`v2.5.2 <https://github.com/craigerl/aprsd/compare/v2.5.1...v2.5.2>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   12 November 2021



* Added new list-plugins command `\ ``446484e`` <https://github.com/craigerl/aprsd/commit/446484e631bc70e83017dc9cec5799869a54e2d3>`_
* Removed requirement for aprs.fi key `\ ``7787dc1`` <https://github.com/craigerl/aprsd/commit/7787dc1be4f1115c9b7e6ef6804e1e41eea777d2>`_
* Healthcheck command doesn't need the aprsd.yml config `\ ``8842fb1`` <https://github.com/craigerl/aprsd/commit/8842fb1b441ed4d2ef441a71a5adc585465d765e>`_

`v2.5.1 <https://github.com/craigerl/aprsd/compare/v2.5.0...v2.5.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   9 November 2021



* Removed the stock plugin `\ ``#72`` <https://github.com/craigerl/aprsd/pull/72>`_
* Removed stock plugin. `\ ``9469410`` <https://github.com/craigerl/aprsd/commit/9469410929abed2947db41dca03ded7650365566>`_

`v2.5.0 <https://github.com/craigerl/aprsd/compare/v2.4.2...v2.5.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   9 November 2021



* Refactor cli `\ ``#71`` <https://github.com/craigerl/aprsd/pull/71>`_
* Refactor the cli `\ ``7d0006b`` <https://github.com/craigerl/aprsd/commit/7d0006b0a6c4b05c14214609fcfe718ae7f0c146>`_
* Added healthcheck to the cmds `\ ``82def59`` <https://github.com/craigerl/aprsd/commit/82def598f09abe02ad1fe63738040d886e568bf3>`_
* Reworked all the common arguments `\ ``89727e2`` <https://github.com/craigerl/aprsd/commit/89727e2b8e602662f22b6581ac06b6220e4e4631>`_
* Updated Dockerfile's and build script for docker `\ ``059cc86`` <https://github.com/craigerl/aprsd/commit/059cc86a1144e57ff8278341f02ceb860991f664>`_
* Cleaned up some verbose output & colorized output `\ ``cdcb98e`` <https://github.com/craigerl/aprsd/commit/cdcb98e438df407394f95eb11a849cc5a2b066b7>`_
* Ensure common params are honored `\ ``9187b97`` <https://github.com/craigerl/aprsd/commit/9187b9781a537ccdc9a3e200a050693c5e6b9587>`_
* Removed the need for FROMCALL in dev test-plugin `\ ``3463c6e`` <https://github.com/craigerl/aprsd/commit/3463c6eb96e44b7424c392c983c2942dd23d1f41>`_
* Fixed a problem with send-message command `\ ``49f3ea8`` <https://github.com/craigerl/aprsd/commit/49f3ea83392b98e5d1e362c37282819fb6f8dce7>`_
* Fixed test-plugin `\ ``617973f`` <https://github.com/craigerl/aprsd/commit/617973f56145a96eadce808f2002088106a013d4>`_
* Updated for v2.5.0 `\ ``5d17809`` <https://github.com/craigerl/aprsd/commit/5d17809895512a033db141384050a00f6dc700a0>`_
* Updated Changelog for 4.2.3 `\ ``30df452`` <https://github.com/craigerl/aprsd/commit/30df452e007b023e28dbeb1b7b19d702251bd045>`_
* Pep8 failures `\ ``2ead6a9`` <https://github.com/craigerl/aprsd/commit/2ead6a97da74cd9030f4a730ca2a40ba1d51ef05>`_
* pep8 `\ ``8287c09`` <https://github.com/craigerl/aprsd/commit/8287c09ce5ce871db09d0e70b6b6f5d0e186fd00>`_

`v2.4.2 <https://github.com/craigerl/aprsd/compare/v2.4.1...v2.4.2>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   2 November 2021



* Be more careful picking data to/from disk `\ ``cefb581`` <https://github.com/craigerl/aprsd/commit/cefb581bb802ae1d779bd3b895dd0dc8202b219c>`_
* Updated Changelog `\ ``d2e8fe6`` <https://github.com/craigerl/aprsd/commit/d2e8fe660f1ba293a11132424963ff775f0e2e81>`_
* Updated Changelog `\ ``0d5b716`` <https://github.com/craigerl/aprsd/commit/0d5b7166b3b787558b724d457054654965e8ae33>`_

`v2.4.1 <https://github.com/craigerl/aprsd/compare/v2.4.0...v2.4.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   25 October 2021



* Ensure plugins are last to be loaded. `\ ``95fecd2`` <https://github.com/craigerl/aprsd/commit/95fecd2394f77d8a64e94b44933cf6b80a9e43b6>`_
* Fixed email connecting to smtp server `\ ``c8c23e6`` <https://github.com/craigerl/aprsd/commit/c8c23e61850302c960dcf1d4993787070ec0fe32>`_

`v2.4.0 <https://github.com/craigerl/aprsd/compare/v2.3.1...v2.4.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   22 October 2021



* Refactoring/Cleanup `\ ``#70`` <https://github.com/craigerl/aprsd/pull/70>`_
* Refactored client classes `\ ``270be94`` <https://github.com/craigerl/aprsd/commit/270be947b59d47ba577091be119f6c8de522f3fd>`_
* Refactor utils usage `\ ``23e3876`` <https://github.com/craigerl/aprsd/commit/23e3876e7b5d4a4b68101dd824afb2ec8ade5281>`_
* Added new Config object. `\ ``491644e`` <https://github.com/craigerl/aprsd/commit/491644ece68f251c939fe43483bd39647b4cfa10>`_
* Added objectstore Mixin `\ ``4233827`` <https://github.com/craigerl/aprsd/commit/4233827dea27277737812003ebeee9c3a98d473d>`_
* Added new HelpPlugin `\ ``3b7924b`` <https://github.com/craigerl/aprsd/commit/3b7924b13d157bf263a2c8061bfb9508e3a80069>`_
* Fixed email plugin's use of globals `\ ``a6ed7b8`` <https://github.com/craigerl/aprsd/commit/a6ed7b894b07d30a26394c3325af68ecca0afcd9>`_
* Converted MsgTrack to ObjectStoreMixin `\ ``e009791`` <https://github.com/craigerl/aprsd/commit/e009791b754d3ddde52609f836e67330d2f55e20>`_
* Added new SeenList `\ ``278bb6e`` <https://github.com/craigerl/aprsd/commit/278bb6e8825efec0f507ffa9482b1e78357f4099>`_
* Fixed notify plugins `\ ``e3c5c7b`` <https://github.com/craigerl/aprsd/commit/e3c5c7b4081eb2c6403195f756483f1f8a093cec>`_
* Enable configuring where to save the objectstore data `\ ``0d51634`` <https://github.com/craigerl/aprsd/commit/0d51634ec28b5344ccaf279bf16246b339a483ec>`_
* removed usage of config.check_config_option `\ ``5b17228`` <https://github.com/craigerl/aprsd/commit/5b17228811d303c62fe82d85a4ddf14e15d87934>`_
* Updated Changelog for 2.4.0 release `\ ``a3a3a5a`` <https://github.com/craigerl/aprsd/commit/a3a3a5aa236508f1682fbcead45cc1d20abaf0b9>`_
* Updated build.sh `\ ``db9cbf5`` <https://github.com/craigerl/aprsd/commit/db9cbf51dfff9cee20bd545b06c69375e6e76589>`_
* Updated aprsd-dev to use config for logfile format `\ ``2bf85db`` <https://github.com/craigerl/aprsd/commit/2bf85db21ba23bef40ff2b866a42604ad4f3aecd>`_
* Added -num option to aprsd-dev test-plugin `\ ``9b22122`` <https://github.com/craigerl/aprsd/commit/9b2212245f8c3f53ad4845fe69dffcf708eac7bb>`_
* Added SIGTERM to signal_handler `\ ``8ee8b14`` <https://github.com/craigerl/aprsd/commit/8ee8b149f1ca9d5dc82126212071cabf3ebf5e19>`_
* PEP8 cleanup `\ ``135e21c`` <https://github.com/craigerl/aprsd/commit/135e21cd8d1795b594660955e7ac22c7d4989513>`_
* Fixed send-message after config/client rework `\ ``725bb2f`` <https://github.com/craigerl/aprsd/commit/725bb2fe35d6adf0cd56e2a866bee0233c46534a>`_
* Updated dev to use plugin manager `\ ``c097c31`` <https://github.com/craigerl/aprsd/commit/c097c31258ecf8d2c23193b8045d0b12b227b2a1>`_
* 2.3.1 Changelog `\ ``65ea332`` <https://github.com/craigerl/aprsd/commit/65ea33290ad54093ee5c05b727878e299461eafc>`_
* Make sure SeenList update has a from in packet `\ ``89701c8`` <https://github.com/craigerl/aprsd/commit/89701c8a7084cd3b4f535f7741c7e76aca042f28>`_
* Ensure PacketList is initialized `\ ``66c5d85`` <https://github.com/craigerl/aprsd/commit/66c5d85b89c6edb5f18d283cd09342f7331f0710>`_
* Only call stop_threads if it exists `\ ``9150f3b`` <https://github.com/craigerl/aprsd/commit/9150f3b6ff36e0a836d003f58f5c4915ce3eab8e>`_
* Fixed unit tests `\ ``b0d25a7`` <https://github.com/craigerl/aprsd/commit/b0d25a76f7f004936374675b7304b0e069a5e1b9>`_
* Fixed issue with flask config `\ ``f8d87d0`` <https://github.com/craigerl/aprsd/commit/f8d87d05bbf5e8f3861c42199907b210c1d9e91b>`_
* Added some server startup info logs `\ ``30671cb`` <https://github.com/craigerl/aprsd/commit/30671cbdbc6b6f95af0574fe7fdba8d8d6c3474f>`_
* Increase email delay to +10 `\ ``fdc8c0c`` <https://github.com/craigerl/aprsd/commit/fdc8c0cd66f6c4662e60b3a7259b792848deb747>`_
* Added plugin version to stats reporting `\ ``004795d`` <https://github.com/craigerl/aprsd/commit/004795dbf10aa9f747e86159a7b5394a98f87480>`_

`v2.3.1 <https://github.com/craigerl/aprsd/compare/v2.3.0...v2.3.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   13 September 2021



* Fixed issue of aprs-is missing keepalive `\ ``560e152`` <https://github.com/craigerl/aprsd/commit/560e1527425153088d7d10cbdcfa5ec5479898d5>`_
* Fixed packet processing issue with aprsd send-message `\ ``69b215d`` <https://github.com/craigerl/aprsd/commit/69b215d4d8784f00d81591f4063381fd6c35d965>`_

`v2.3.0 <https://github.com/craigerl/aprsd/compare/v2.2.1...v2.3.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   8 September 2021



* Send Message via admin Web interface `\ ``#59`` <https://github.com/craigerl/aprsd/pull/59>`_
* Added the ability to use direwolf KISS socket `\ ``#50`` <https://github.com/craigerl/aprsd/pull/50>`_
* Added Logfile tab in Admin ui `\ ``d6b3df9`` <https://github.com/craigerl/aprsd/commit/d6b3df93f12fb7ce145e5756e776258222549fae>`_
* Upgraded the send-message POC to use websockets `\ ``c941379`` <https://github.com/craigerl/aprsd/commit/c941379a5c3983568253a09a68613dcb42d68340>`_
* New Admin ui send message page working. `\ ``23cbf32`` <https://github.com/craigerl/aprsd/commit/23cbf32814368fa504a1c7ce5fc1012fb899cfa0>`_
* Got TX/RX working with aioax25+direwolf over TCP `\ ``f4dee4b`` <https://github.com/craigerl/aprsd/commit/f4dee4b202c3b29e265f340ae50f2f850f3fb1c8>`_
* Added enabled flag for every plugin object `\ ``3faf41b`` <https://github.com/craigerl/aprsd/commit/3faf41b203219fb3df237184e02daf2b9191a0ec>`_
* Cleaned up some pep8 failures `\ ``84ce60b`` <https://github.com/craigerl/aprsd/commit/84ce60bc50a6d3123d9a944e0098660e31d32bf9>`_
* Enable plugins to return message object `\ ``1b9a993`` <https://github.com/craigerl/aprsd/commit/1b9a9935fc96a2ce6192c9408517110e0fcfd5fb>`_
* Updated Admin UI to show KISS connections `\ ``ca438c9`` <https://github.com/craigerl/aprsd/commit/ca438c9c60dd7152d9b3e5648177cce84988bd8b>`_
* Added self creating Makefile help target `\ ``d643ca3`` <https://github.com/craigerl/aprsd/commit/d643ca38921f078a11cfeb534ebdf8e83e5ed350>`_
* Added send-message to the main admin UI `\ ``c58031d`` <https://github.com/craigerl/aprsd/commit/c58031d77275b5529f5eeb64aa04e466ffb7b85d>`_
* Prep 2.3.0 `\ ``4164e89`` <https://github.com/craigerl/aprsd/commit/4164e890165130c49a2e996f7040b142432684a9>`_
* Updated requirements `\ ``c537b54`` <https://github.com/craigerl/aprsd/commit/c537b54df64c9a47dd60764969d54afda9d766c8>`_
* Updated Makefile clean target `\ ``4f088e0`` <https://github.com/craigerl/aprsd/commit/4f088e0a4a36d313dd87a5819ed1e238f83a6667>`_
* Rebased from master `\ ``54c9a6b`` <https://github.com/craigerl/aprsd/commit/54c9a6b55a8a102d44109ae454b4c76240ae0780>`_
* Fixed email validation `\ ``0f6df5f`` <https://github.com/craigerl/aprsd/commit/0f6df5fc05819787a5c57108a39495775d4e6959>`_
* Allow passing in aprsis_client `\ ``62ce84b`` <https://github.com/craigerl/aprsd/commit/62ce84b3157968bd3b54a80870f6508d0f15d643>`_
* Update dev.py `\ ``dfaf3aa`` <https://github.com/craigerl/aprsd/commit/dfaf3aa3d1c36c992bee22405ce4625b7e1b11ad>`_
* Fixed issue at startup with notify plugin `\ ``1ea6c05`` <https://github.com/craigerl/aprsd/commit/1ea6c05decb736967f6fc9e431c3a72aa2f71871>`_
* Removed values from forms `\ ``1635feb`` <https://github.com/craigerl/aprsd/commit/1635feb8205d42e36cc15674ab75c68000d18528>`_
* Update Dockerfile to use 2.2.1 `\ ``a7d79a6`` <https://github.com/craigerl/aprsd/commit/a7d79a6e1b35164d9218ecc8e3abdf7a1503617c>`_
* Ensure plugin threads are valid `\ ``7e6dffb`` <https://github.com/craigerl/aprsd/commit/7e6dffb34bfca01f1691b3ee8421a03a655c5e2c>`_
* Fixed a problem with the AVWX plugin not working `\ ``8ada789`` <https://github.com/craigerl/aprsd/commit/8ada789d4dd37b12277d74403effde48eaf36454>`_
* Removed fixed size on logging queue `\ ``9eff99d`` <https://github.com/craigerl/aprsd/commit/9eff99dde712c2648342323a68d0ee6a1ef295e4>`_
* Updated Dockerfile to use v2.3.0 `\ ``605911c`` <https://github.com/craigerl/aprsd/commit/605911cb841099f5b00af773833e542911dbec23>`_
* Remove some noisy trace in email plugin `\ ``558710d`` <https://github.com/craigerl/aprsd/commit/558710d348fac8f3cb3f90e6326c0e163a7b0dda>`_

`v2.2.1 <https://github.com/craigerl/aprsd/compare/v2.2.0...v2.2.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   25 August 2021



* Update Changelog for 2.2.1 `\ ``44c4dd6`` <https://github.com/craigerl/aprsd/commit/44c4dd69c636abea7d0fd6dba5156a55d7f56586>`_
* Silence some log noise `\ ``ec92b07`` <https://github.com/craigerl/aprsd/commit/ec92b07e31c622181f5699692bc8143bc6ef7a99>`_

`v2.2.0 <https://github.com/craigerl/aprsd/compare/v2.1.0...v2.2.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   25 August 2021



* Refactor Message processing and MORE `\ ``#69`` <https://github.com/craigerl/aprsd/pull/69>`_
* Removed TXThread `\ ``61967b5`` <https://github.com/craigerl/aprsd/commit/61967b5fe8a088106124c5b0ce35a471be14c795>`_
* Use Gray instead of Black for code formatting. `\ ``e175f77`` <https://github.com/craigerl/aprsd/commit/e175f773474b33750a90ad66b55c3bd90b3fd71f>`_
* Added threads functions to APRSDPluginBase `\ ``86777d8`` <https://github.com/craigerl/aprsd/commit/86777d838cdb69b5fdedadf785d81479be94ba4d>`_
* Updated select timeouts `\ ``0f384b0`` <https://github.com/craigerl/aprsd/commit/0f384b0e856403611dfb00dd6bce63bbcfb665a9>`_
* Cleanup of the README.rst `\ ``e8ffaa9`` <https://github.com/craigerl/aprsd/commit/e8ffaa92b6c37c06d8059ef97b033c4f79ad938d>`_
* Rebase from master and run gray `\ ``8b5f21e`` <https://github.com/craigerl/aprsd/commit/8b5f21eece6618385fbed6c130e17099414d8b73>`_
* Added tracking plugin processing `\ ``8e627c9`` <https://github.com/craigerl/aprsd/commit/8e627c98b3cbd058417273864bdae8bd2148346d>`_
* Updated tox.ini `\ ``d6643a8`` <https://github.com/craigerl/aprsd/commit/d6643a8e965ad5ee2a48ec57e0e2b9667ad2e497>`_
* Updated Changelog for v2.2.0 `\ ``8190353`` <https://github.com/craigerl/aprsd/commit/81903534edeb804afd547ce564af0b35418fca40>`_
* Fixed aprsd-dev `\ ``d71b0df`` <https://github.com/craigerl/aprsd/commit/d71b0df31469e7ac12d4edcf8a1c8d6c6c74648c>`_
* Removed Black code style reference `\ ``daf1e21`` <https://github.com/craigerl/aprsd/commit/daf1e21b45a59964614c1575d25b322034d567af>`_
* Updated overview image `\ ``d5d0064`` <https://github.com/craigerl/aprsd/commit/d5d00643fac9f97bf5054f6f473ab0113b6175a3>`_
* Added days to uptime string formatting `\ ``2e9b42d`` <https://github.com/craigerl/aprsd/commit/2e9b42d7af4a96c3abdcab5853ba380ef0adc474>`_
* Fixed LOG.debug issue in weather plugin `\ ``f1f8aed`` <https://github.com/craigerl/aprsd/commit/f1f8aed8c477f6298fc1a7c471a3cee06844d306>`_
* Updated slack channel link `\ ``2b69446`` <https://github.com/craigerl/aprsd/commit/2b694462f02eee1448aabc827b5a8e35a7919f25>`_

`v2.1.0 <https://github.com/craigerl/aprsd/compare/v2.0.0...v2.1.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   13 August 2021



* Enable multiple replies for plugins `\ ``#68`` <https://github.com/craigerl/aprsd/pull/68>`_
* Added showing symbol images to watch list `\ ``be81794`` <https://github.com/craigerl/aprsd/commit/be8179415ab205e09c05f116495d0dc87a48f865>`_
* Updated the charts Added the packets chart `\ ``6740ff8`` <https://github.com/craigerl/aprsd/commit/6740ff80be124e9723bd7e046d91001394a51a84>`_
* Fixed time plugin `\ ``ed4995b`` <https://github.com/craigerl/aprsd/commit/ed4995b6eb5726fe756bf6a3ca6b6dc1d040ac3f>`_
* Put in a fix for aprslib parse exceptions `\ ``840c8a9`` <https://github.com/craigerl/aprsd/commit/840c8a990ee1a12ec8f7930cadf1b440da403ace>`_
* Prep for v2.1.0 `\ ``691b18f`` <https://github.com/craigerl/aprsd/commit/691b18fd1cb40f3089294e8786fdf9aa2066bf22>`_

`v2.0.0 <https://github.com/craigerl/aprsd/compare/v1.6.1...v2.0.0>`_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

..

   17 July 2021



* Reworked the notification threads and admin ui. `\ ``#66`` <https://github.com/craigerl/aprsd/pull/66>`_
* Refactor the plugin interface and manager `\ ``#65`` <https://github.com/craigerl/aprsd/pull/65>`_
* Add admin UI tabs for charts, messages, config `\ ``#64`` <https://github.com/craigerl/aprsd/pull/64>`_
* Dump out the config during startup `\ ``#63`` <https://github.com/craigerl/aprsd/pull/63>`_
* Bump urllib3 from 1.26.4 to 1.26.5 `\ ``#61`` <https://github.com/craigerl/aprsd/pull/61>`_
* Added aprsd version checking `\ ``#60`` <https://github.com/craigerl/aprsd/pull/60>`_
* Bump urllib3 from 1.26.3 to 1.26.4 `\ ``#56`` <https://github.com/craigerl/aprsd/pull/56>`_
* Add new watchlist feature `\ ``1a1fcba`` <https://github.com/craigerl/aprsd/commit/1a1fcba1c4152d2d6a869d306d6450bda087c1ee>`_
* Prep for v1.6.1 release `\ ``55862a2`` <https://github.com/craigerl/aprsd/commit/55862a279014aeda7225055e14eb6d140415a6fe>`_
* reworked the admin ui to use semenatic ui more `\ ``3c45d8b`` <https://github.com/craigerl/aprsd/commit/3c45d8bd0f1d90800df7b1d4367ce12d9bf98b92>`_
* Updated docs for 2.0.0 `\ ``b4713b2`` <https://github.com/craigerl/aprsd/commit/b4713b269488bc35740d305da7c466588deef98b>`_
* Added message counts for each plugin. `\ ``3ae5717`` <https://github.com/craigerl/aprsd/commit/3ae571745299e7fda86b588b8140f8e58b9ff435>`_
* Updated INSTALL.txt `\ ``9de0df3`` <https://github.com/craigerl/aprsd/commit/9de0df31eb75f9ce2de7ebb0c7f96ffc0613de55>`_
* Fixed the Ack thread not resending acks `\ ``562ae52`` <https://github.com/craigerl/aprsd/commit/562ae52c1effcca092ba5cc9451b29cd01c1947d>`_
* Fixed small bug with packets get_packet_type `\ ``3d38402`` <https://github.com/craigerl/aprsd/commit/3d38402be241171e92ba8e3b1bf50ee2df5a301e>`_
* Move version string output to top of log `\ ``7dc4fb3`` <https://github.com/craigerl/aprsd/commit/7dc4fb3e7765b42422ced04a93342234d83085fa>`_
* Added messages count to admin messages list. `\ ``5afc7fb`` <https://github.com/craigerl/aprsd/commit/5afc7fb6643b932c95b0de554110773f3b7377c1>`_
* Update README.rst `\ ``970b32f`` <https://github.com/craigerl/aprsd/commit/970b32f23824c670aae920238b9ef0814f9cd73f>`_
* Updated overview images `\ ``90a44bb`` <https://github.com/craigerl/aprsd/commit/90a44bb5ed6179ec2afad5d354a260d6f6bc3c3e>`_
* Update my callsign `\ ``b8dc6a3`` <https://github.com/craigerl/aprsd/commit/b8dc6a329b1cbd9ca0211d16b4cdb32a2ed6b37c>`_
* Update README.rst `\ ``2a5ef58`` <https://github.com/craigerl/aprsd/commit/2a5ef5829568fa58a5d92b0859c1c649f9073532>`_
* Removed a noisy debug log `\ ``1c66555`` <https://github.com/craigerl/aprsd/commit/1c665554507a74999f279d30297266d233b35aca>`_

`v1.6.1 <https://github.com/craigerl/aprsd/compare/v1.6.0...v1.6.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   5 April 2021



* Added aprsd web index page `\ ``#54`` <https://github.com/craigerl/aprsd/pull/54>`_
* Bump lxml from 4.6.2 to 4.6.3 `\ ``#53`` <https://github.com/craigerl/aprsd/pull/53>`_
* Bump pygments from 2.7.3 to 2.7.4 `\ ``#55`` <https://github.com/craigerl/aprsd/pull/55>`_
* Bump jinja2 from 2.11.2 to 2.11.3 `\ ``#52`` <https://github.com/craigerl/aprsd/pull/52>`_
* Bump urllib3 from 1.26.2 to 1.26.3 `\ ``#51`` <https://github.com/craigerl/aprsd/pull/51>`_
* Updated web stats index to show messages and ram usage `\ ``c7d10f5`` <https://github.com/craigerl/aprsd/commit/c7d10f53a36f84304190dea2c7154f827b2cf479>`_
* Updated README docs `\ ``b6ba90d`` <https://github.com/craigerl/aprsd/commit/b6ba90de539bf6ff6dd5e384aece0c6e3384c0fd>`_
* Reworked the stats dict output and healthcheck `\ ``bf8d2c6`` <https://github.com/craigerl/aprsd/commit/bf8d2c6088d9c09783b8d68de4c88fe77fbbc9f5>`_
* Added callsign to the web index page `\ ``123266c`` <https://github.com/craigerl/aprsd/commit/123266c9adbd025f8ad7549709866486183426b8>`_
* Reworked Makefile to use Makefile.venv `\ ``a4a06c9`` <https://github.com/craigerl/aprsd/commit/a4a06c9763d30bfd6616b5035100a7b6eb51bedf>`_
* Added Dockerfile-dev and updated build.sh `\ ``239e784`` <https://github.com/craigerl/aprsd/commit/239e784d51f975ec0c62638aa9cabfaf01f4dd46>`_
* Added email messages graphs `\ ``d6806c4`` <https://github.com/craigerl/aprsd/commit/d6806c429ce1de162e4fbc9dab311bdb63765795>`_
* Added log config for flask and lnav config file `\ ``34d2c31`` <https://github.com/craigerl/aprsd/commit/34d2c31d90269ddcd5341a669eb6051a91801dbb>`_
* Added plugin live reload and StockPlugin `\ ``e6cafeb`` <https://github.com/craigerl/aprsd/commit/e6cafeb3d27f656ffd0da765db9cb5be3c95c035>`_
* Updated Dockerfile for multiplatform builds `\ ``f0034fc`` <https://github.com/craigerl/aprsd/commit/f0034fc517fbb8d35c6067b424333f46e14d1480>`_
* Updated stats output for KeepAlive thread `\ ``7b019d2`` <https://github.com/craigerl/aprsd/commit/7b019d24f0af52a599c026af1c1b21a64e6228bb>`_
* Added acks with messages graphs `\ ``f10372b`` <https://github.com/craigerl/aprsd/commit/f10372b320ce5ce8403cee849b769ece6f9d4617>`_
* Added showing APRS-IS server to stats `\ ``d1a2a14`` <https://github.com/craigerl/aprsd/commit/d1a2a143709fb5be9e9bd7d8179895b1300feb1d>`_
* Provide an initial datapoint on rendering index `\ ``fb979ed`` <https://github.com/craigerl/aprsd/commit/fb979eda9427355c0fc8d1d981643c9adc799e40>`_
* Added log format and dateformat to config file `\ ``0a038da`` <https://github.com/craigerl/aprsd/commit/0a038dae4457b9b7c98cdfb438740baab752f05c>`_
* Updated Dockerfile and build.sh `\ ``9f66774`` <https://github.com/craigerl/aprsd/commit/9f66774541404b86ffd3bbea3c68cc3dcf4751a3>`_
* Fixed version unit tests `\ ``23c219f`` <https://github.com/craigerl/aprsd/commit/23c219f0d2ef4ac0c65d22ac9810b5a30d99b251>`_
* Update Dockerfile-dev to work with startup `\ ``3f21934`` <https://github.com/craigerl/aprsd/commit/3f21934c0f271b8de916df4d7abe551c4266f2cd>`_
* Force all the graphs to 0 minimum `\ ``3ac42ed`` <https://github.com/craigerl/aprsd/commit/3ac42edd823723ed06e86de0486de15a111b6275>`_
* Require python 3.7 and &gt; `\ ``933917b`` <https://github.com/craigerl/aprsd/commit/933917bf9d0ca94969567668832977ecbbfadfbd>`_
* ignore Makefile.venv `\ ``4aac17d`` <https://github.com/craigerl/aprsd/commit/4aac17dc9869564a777f292c486d228893cb7b8a>`_
* Updated Dockerfile for multiplatform builds `\ ``c177748`` <https://github.com/craigerl/aprsd/commit/c1777483405b8c208ae0795e636c1b58390c37df>`_
* Dockerfile: Make creation of /config quiet failure `\ ``2d5bb85`` <https://github.com/craigerl/aprsd/commit/2d5bb85071138813ec261d478a5a5168e2b5cfc8>`_
* Removed debug log for KeepAlive thread `\ ``fc1ee19`` <https://github.com/craigerl/aprsd/commit/fc1ee195163ede96e1c457bdf8fa7844925c116f>`_
* Make the index page behind auth `\ ``6297ebe`` <https://github.com/craigerl/aprsd/commit/6297ebeb670d1ce986795f55ab15750da8ae0f44>`_

`v1.6.0 <https://github.com/craigerl/aprsd/compare/v1.5.1...v1.6.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   12 February 2021



* Bump cryptography from 3.3.1 to 3.3.2 `\ ``#49`` <https://github.com/craigerl/aprsd/pull/49>`_
* Branch to stabilize for the 1.6.0 release. `\ ``#47`` <https://github.com/craigerl/aprsd/pull/47>`_
* Bump bleach from 3.2.1 to 3.3.0 `\ ``#48`` <https://github.com/craigerl/aprsd/pull/48>`_
* Added healthcheck app `\ ``#46`` <https://github.com/craigerl/aprsd/pull/46>`_
* Flask `\ ``#45`` <https://github.com/craigerl/aprsd/pull/45>`_
* Allow email to be disabled. `\ ``#44`` <https://github.com/craigerl/aprsd/pull/44>`_
* Reworked the config file and options `\ ``#43`` <https://github.com/craigerl/aprsd/pull/43>`_
* Added openweathermap weather plugin `\ ``#41`` <https://github.com/craigerl/aprsd/pull/41>`_
* Added new time plugins `\ ``#40`` <https://github.com/craigerl/aprsd/pull/40>`_
* Fixed TimePlugin timezone issue `\ ``#38`` <https://github.com/craigerl/aprsd/pull/38>`_
* Added aprsd-dev plugin test cli and WxPlugin `\ ``#35`` <https://github.com/craigerl/aprsd/pull/35>`_
* Added flask messages web UI and basic auth `\ ``aa29069`` <https://github.com/craigerl/aprsd/commit/aa290692abf927ca2398344506a401614d19acde>`_
* Added Flask web thread and stats collection `\ ``5c94934`` <https://github.com/craigerl/aprsd/commit/5c949343ec868f341c6ad3ebcff7a350afe0d620>`_
* Added tracing facility `\ ``af48c43`` <https://github.com/craigerl/aprsd/commit/af48c43eb2461d644e7d13bcd92c6b1477d65c1c>`_
* Fixed extracting lat/lon `\ ``fefb626`` <https://github.com/craigerl/aprsd/commit/fefb626c9744952a91fcb3b02640d9dbd228df6b>`_
* Updated documentation and config output `\ ``a35cb04`` <https://github.com/craigerl/aprsd/commit/a35cb04ca725eacda5473dd38c0760934ca5957c>`_
* Wrap all imap calls with try except blocks `\ ``a5cc274`` <https://github.com/craigerl/aprsd/commit/a5cc274ff54b0bee51c3a901f7c9efc287b9a471>`_
* EmailThread was exiting because of IMAP timeout, added exceptions for this `\ ``47135c6`` <https://github.com/craigerl/aprsd/commit/47135c60862852d71be0f9873f474f48fac6f7dd>`_
* First hack at flask `\ ``9630279`` <https://github.com/craigerl/aprsd/commit/9630279d14c9e8921bfbbdd260ec7b14f8f3ccd5>`_
* Moved docker related stuffs to docker dir `\ ``24edcad`` <https://github.com/craigerl/aprsd/commit/24edcad60a5218dcafaf38115524dc471ad4b874>`_
* 1.6.0 release prep `\ ``a266c98`` <https://github.com/craigerl/aprsd/commit/a266c987fd898518c4a783666d6531ed109381d5>`_
* Enable debug logging for smtp and imap `\ ``030b025`` <https://github.com/craigerl/aprsd/commit/030b02551fc1c23882a4ef625a92718e62b67af2>`_
* Cleaned up the KeepAlive output `\ ``51894bb`` <https://github.com/craigerl/aprsd/commit/51894bbab88bada9622c4cf31f1d928943ed8ac5>`_
* change query char from ? to ! `\ ``7de2820`` <https://github.com/craigerl/aprsd/commit/7de2820caa01df24a71e014c80aecb289d4cc39a>`_
* Added memory tracing in keeplive `\ ``db2b537`` <https://github.com/craigerl/aprsd/commit/db2b537317b35795380f1d0d8390b6314e162a21>`_
* Wrap another server call with try except `\ ``131919b`` <https://github.com/craigerl/aprsd/commit/131919bdfbf122e33d482bddc0978a16ac68572f>`_
* more debug around email thread `\ ``cfb1724`` <https://github.com/craigerl/aprsd/commit/cfb172481d6ea4a8e4b97258fc7c4adbd0a69919>`_
* Fixed tox pep8 failure for trace `\ ``0b44fc0`` <https://github.com/craigerl/aprsd/commit/0b44fc08eb66d58e7e9ee4cf62107526ad7b4d04>`_
* Removed some noisy debug log. `\ ``9ba44a0`` <https://github.com/craigerl/aprsd/commit/9ba44a076ca243922bb7149169d56cf6c294334b>`_
* Add flask and flask_classful reqs `\ ``cae8746`` <https://github.com/craigerl/aprsd/commit/cae87466903de55623c16f2f72138bd6f773ec89>`_
* debug around EmailThread hanging or vanishing `\ ``3ca0eef`` <https://github.com/craigerl/aprsd/commit/3ca0eeff56946b4cff5937d6980743f254c88fa3>`_
* remove fortune white space `\ ``ca05676`` <https://github.com/craigerl/aprsd/commit/ca05676c98cd8c7b98a190fe1e53564ef5fc7b09>`_
* Fixed resend email after config rework `\ ``c1e6792`` <https://github.com/craigerl/aprsd/commit/c1e67927218a9d55466f4a7f43dd0e44f7656fcc>`_
* Fixed an issue with LocationPlugin `\ ``0d18e54`` <https://github.com/craigerl/aprsd/commit/0d18e54969d79842666a79a9f7f5b7ae895fa02e>`_
* Updated path of run.sh for docker build `\ ``7df6462`` <https://github.com/craigerl/aprsd/commit/7df6462d91300fc034779995891aefbc388bd836>`_
* Fixed email login issue. `\ ``94bad95`` <https://github.com/craigerl/aprsd/commit/94bad95e26c5b7420d48b4f0eadf832f09c3b45c>`_
* fix git with install.txt `\ ``5fb363c`` <https://github.com/craigerl/aprsd/commit/5fb363c9e72f77d7181789f4f9e594b6bda722a4>`_
* Updated readme to include readthedocs link `\ ``b9f6fcf`` <https://github.com/craigerl/aprsd/commit/b9f6fcfa0c9703e5a27d26042703aa7574dedbf2>`_
* duplicate email messages from RF would generate usage response `\ ``57d768e`` <https://github.com/craigerl/aprsd/commit/57d768e0107e9e22efca1809b7c527d85462d08d>`_
* updated .gitignore `\ ``8bfdefd`` <https://github.com/craigerl/aprsd/commit/8bfdefd5ad7138948c80122557d2e39b43f79c22>`_

`v1.5.1 <https://github.com/craigerl/aprsd/compare/v1.5.0...v1.5.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   15 January 2021



* Update INSTALL.txt `\ ``47ccce5`` <https://github.com/craigerl/aprsd/commit/47ccce53ea60d71b678b1f67b6a514d4a83c8a78>`_
* Updated Changelog for v1.5.1 `\ ``658e6b6`` <https://github.com/craigerl/aprsd/commit/658e6b62027b300909e9e9e7cf131f4f93d66ca1>`_
* Updated README to fix pypi page `\ ``98e3c24`` <https://github.com/craigerl/aprsd/commit/98e3c246adaaf450a9b06b0589011cd940d5bb4c>`_

`v1.5.0 <https://github.com/craigerl/aprsd/compare/v1.1.0...v1.5.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   15 January 2021



* add null reply for send_email `\ ``#33`` <https://github.com/craigerl/aprsd/pull/33>`_
* Updated README with more workflow details `\ ``#31`` <https://github.com/craigerl/aprsd/pull/31>`_
* Added Makefile for easy dev setup `\ ``#34`` <https://github.com/craigerl/aprsd/pull/34>`_
* backout my patch that broke tox, trying to push to craiger-test branch `\ ``#32`` <https://github.com/craigerl/aprsd/pull/32>`_
* Threads `\ ``#26`` <https://github.com/craigerl/aprsd/pull/26>`_
* Added Sphinx based documentation `\ ``ee2aeb5`` <https://github.com/craigerl/aprsd/commit/ee2aeb5157344ea02852c61e6acb25c3e7272f28>`_
* refactor Plugin objects to plugins directory `\ ``d5a34b4`` <https://github.com/craigerl/aprsd/commit/d5a34b4d11dd8350b6b27d1a70b349544f929160>`_
* Creation of MsgTrack object and other stuff `\ ``2e90c0b`` <https://github.com/craigerl/aprsd/commit/2e90c0bdbb2ee37923b61eb6cc5cdd695d99f53d>`_
* reworked threading `\ ``f65707c`` <https://github.com/craigerl/aprsd/commit/f65707cb8cc10c84a3cc0faafdc871de93d20ee9>`_
* Reworked messaging lib `\ ``9768003`` <https://github.com/craigerl/aprsd/commit/9768003c2a384389a0b6427a7e761efc5675a2ea>`_
* Lots of fixes `\ ``231c15b`` <https://github.com/craigerl/aprsd/commit/231c15b1af4bb384644efcfded90d0bc6c0e8ec2>`_
* Updated Makefile `\ ``c51a945`` <https://github.com/craigerl/aprsd/commit/c51a9452d94fc9a4879eb698eaf648a81bbd0d5f>`_
* Updated MsgTrack restart_delayed `\ ``1ce2a56`` <https://github.com/craigerl/aprsd/commit/1ce2a56140566b1f1fccc7eff3f0b84b45c01578>`_
* Updated README to include development env `\ ``25d948b`` <https://github.com/craigerl/aprsd/commit/25d948b0ee95f9bd30d9688345ba54d41587e180>`_
* Added some plugin unit tests `\ ``171703a`` <https://github.com/craigerl/aprsd/commit/171703ac1a603661debda12278133ca14cc10c6f>`_
* Added support to save/load MsgTrack on exit/start `\ ``2659a0b`` <https://github.com/craigerl/aprsd/commit/2659a0b3b945bcbf82605a3ac0384919ee73676b>`_
* Added pre-commit hooks `\ ``75f610d`` <https://github.com/craigerl/aprsd/commit/75f610d9710e155beb3b32f679514d2d8c482064>`_
* Added --raw format for sending messages `\ ``54072a2`` <https://github.com/craigerl/aprsd/commit/54072a2103d9833dd3aadc3b9e200842b2cea7f5>`_
* Updated Changelog for v1.5.0 release `\ ``33a0e6c`` <https://github.com/craigerl/aprsd/commit/33a0e6c18d7adbe979bcb49708f9730dd3f5ccec>`_
* Extend APRS.IS object to change login string `\ ``ac4c3d6`` <https://github.com/craigerl/aprsd/commit/ac4c3d6562b9a6802ae069c21023d4016c146c7d>`_
* Extend APRS.IS object to change login string `\ ``5de1b3e`` <https://github.com/craigerl/aprsd/commit/5de1b3e305b4afacf417e7cff7a06e067ae16f80>`_
* Changed default log level to INFO `\ ``0aa905e`` <https://github.com/craigerl/aprsd/commit/0aa905ebba802e2f8cecc2b9c98caa72edc15a41>`_
* Added QueryPlugin resend all delayed msgs or Flush `\ ``af0d449`` <https://github.com/craigerl/aprsd/commit/af0d4491c39bec3a8837c90b14db80b4e4c8c45b>`_
* Added more pre-commit hook tests `\ ``4c0150d`` <https://github.com/craigerl/aprsd/commit/4c0150dd975fc6c2303e9eae937abafc6a5f33bc>`_
* Added the ability to add comments to the config file `\ ``cdde9c2`` <https://github.com/craigerl/aprsd/commit/cdde9c290b2aaae12c819ced5a103aa252bfbc05>`_
* Added unit test for QueryPlugin `\ ``68e6f5b`` <https://github.com/craigerl/aprsd/commit/68e6f5b98619e4bd5480accc5c8961bcd729264a>`_
* Fixed email shortcut lookup `\ ``9f4cc27`` <https://github.com/craigerl/aprsd/commit/9f4cc27a11966b9fe6d9ce3503a7100c44258569>`_
* Added FortunePlugin unit test `\ ``9d3ede6`` <https://github.com/craigerl/aprsd/commit/9d3ede6e71313dd5800c091c67b11b9682057ae4>`_
* Fixed fortune plugin failures `\ ``7ab2613`` <https://github.com/craigerl/aprsd/commit/7ab26135c2410422ca17f87efa278049146515da>`_
* make sample config easier to interpret `\ ``e11a84b`` <https://github.com/craigerl/aprsd/commit/e11a84bf053485ee0ce7367d5b9715114cd4d8ae>`_
* Added send-message login checking and --no-ack `\ ``90c4c6c`` <https://github.com/craigerl/aprsd/commit/90c4c6c59dbfc773087111c1a6a73e04c9883d23>`_
* Added APRSD system diagram to docs `\ ``cc0d0fd`` <https://github.com/craigerl/aprsd/commit/cc0d0fd523a4029ef66d50351114ef8c0f2bf9ed>`_
* fix query command syntax  ?,  ?3,  ?d(elete),  ?a(ll) `\ ``0b5c9da`` <https://github.com/craigerl/aprsd/commit/0b5c9dacf030dd39e8ee130ecde6a780205d74cd>`_
* update query plugin to resend last N messages. syntax:  ?rN `\ ``d9141dc`` <https://github.com/craigerl/aprsd/commit/d9141dc2d086f06c228751732fa58edcd1754f22>`_
* Added QueryPlugin `\ ``28f3daf`` <https://github.com/craigerl/aprsd/commit/28f3daf6d07e82ccb77ebd985726790ebc4cd854>`_
* Added new config for aprs.fi API Key `\ ``bdeaf63`` <https://github.com/craigerl/aprsd/commit/bdeaf6348a5fa48c4aa65f9c8c4f9bf65d7d7689>`_
* Enabled some emailthread messages and added timestamp `\ ``d81bfd6`` <https://github.com/craigerl/aprsd/commit/d81bfd6fd5b238157eee13809ba7fafae61b7d4d>`_
* Added a fix for failed logins to APRS-IS `\ ``3dd23fa`` <https://github.com/craigerl/aprsd/commit/3dd23fa2ad1d248c815df4b60915a79bd01a2203>`_
* Update Changelog for v1.5.0 `\ ``8bd8b95`` <https://github.com/craigerl/aprsd/commit/8bd8b95b3550d65414ef7c75398ba35af246919f>`_
* Updated build for docs  tox -edocs `\ ``bd35a61`` <https://github.com/craigerl/aprsd/commit/bd35a610ffe4a3cdccd123d10a0a39e61ad261ed>`_
* Fixed --quiet option `\ ``f022a3e`` <https://github.com/craigerl/aprsd/commit/f022a3e42158ff0d84fc354191ce2088351c7fe6>`_
* swap Query command characters a bit `\ ``a334623`` <https://github.com/craigerl/aprsd/commit/a33462327a25ff807a6df2d50222b1cc79475729>`_
* Fixed failures caused by last commit `\ ``e83ee31`` <https://github.com/craigerl/aprsd/commit/e83ee31310d2984321c67f1de3b74adb17dd09d9>`_
* don't tell radio emails were sent, ack is enuf `\ ``99c5867`` <https://github.com/craigerl/aprsd/commit/99c58671626f65d2b1b6a39c6094404e8ee1188e>`_
* Fixed unit test for fortune plugin `\ ``9470802`` <https://github.com/craigerl/aprsd/commit/94708024da3e5db16dd67ad3582b111f705b1d89>`_
* Added some more badges to readme files `\ ``7423df6`` <https://github.com/craigerl/aprsd/commit/7423df6b25d358f3c170f51b32762ccb98f7684a>`_
* Cleaned out old ack_dict `\ ``dbc891f`` <https://github.com/craigerl/aprsd/commit/dbc891f7385f03d4b8871007fd3bd9492128b580>`_
* Removed flask code `\ ``72fa550`` <https://github.com/craigerl/aprsd/commit/72fa550250dcaef2c4badfe9aa755464aafcd659>`_
* fix plugin tests to expect new strings `\ ``e7dc537`` <https://github.com/craigerl/aprsd/commit/e7dc5379009ee0982138881eb82a5de268ef2e02>`_
* Updated docker run.sh script `\ ``264b753`` <https://github.com/craigerl/aprsd/commit/264b7536b431ea17aa86e01342eea80318e1f542>`_
* change query character syntax, don't reply that we're resending stuff `\ ``0aa7fe7`` <https://github.com/craigerl/aprsd/commit/0aa7fe7a14790326a9c6cbf4c50b3c87d548b233>`_
* Disable MX record validation `\ ``e6dee3a`` <https://github.com/craigerl/aprsd/commit/e6dee3a5b052cca12b98dc63dc102cb84520ad3a>`_
* fix usage statement `\ ``f538fb2`` <https://github.com/craigerl/aprsd/commit/f538fb26aed62871c31bc47024b3041e2a15bb4a>`_
* get rid of some debug noise from tracker and email delay `\ ``7e3b95f`` <https://github.com/craigerl/aprsd/commit/7e3b95fd01628c3e7bb50536193f86cd6c4f1b23>`_
* switch command characters for query plugin `\ ``e7f2ebf`` <https://github.com/craigerl/aprsd/commit/e7f2ebf17ed47e7acd0b4b2511a325603f437580>`_

`v1.1.0 <https://github.com/craigerl/aprsd/compare/v1.0.1...v1.1.0>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   21 December 2020



* Update .gitignore `\ ``#25`` <https://github.com/craigerl/aprsd/pull/25>`_
* Major refactor `\ ``#23`` <https://github.com/craigerl/aprsd/pull/23>`_
* Updated the Dockerfile to use alpine `\ ``#24`` <https://github.com/craigerl/aprsd/pull/24>`_
* Big patch `\ ``fa51f8f`` <https://github.com/craigerl/aprsd/commit/fa51f8fdf20bd5578353009cb49cf4fdf7ed71fb>`_
* Added Changelog `\ ``6d2160c`` <https://github.com/craigerl/aprsd/commit/6d2160c7b740d8508c9fc5daebf58659c2d4595f>`_
* Refactored the main process_packet method `\ ``1d898ea`` <https://github.com/craigerl/aprsd/commit/1d898ea20fb739e50d190f35b2e8bac909d4f127>`_
* Updated README.rst `\ ``6a61765`` <https://github.com/craigerl/aprsd/commit/6a61765eba9cd2f3ad0c4f104f011e82e0f86029>`_
* Fixed issue when RX ack `\ ``d3ee1b7`` <https://github.com/craigerl/aprsd/commit/d3ee1b78bc62dd57be6b505eb1269a70cdbb7242>`_
* Fixed send-message with email command and others `\ ``3261710`` <https://github.com/craigerl/aprsd/commit/3261710bf8d5b3dc8d038016825af39fa1cdbf98>`_
* Update README with version 1.1.0 related info `\ ``8161719`` <https://github.com/craigerl/aprsd/commit/8161719697d04b02b00a2bd6b6ef32606602489c>`_
* Ensure fortune is installed `\ ``18b269a`` <https://github.com/craigerl/aprsd/commit/18b269a39d91feeea7329ac1df61df21a29c49f4>`_
* Added fix for an unknown packet type `\ ``b260954`` <https://github.com/craigerl/aprsd/commit/b2609548f23430d850a365796fc519e6798b7576>`_
* Updated docker-compose `\ ``c39fdde`` <https://github.com/craigerl/aprsd/commit/c39fddef67f25bb73e128a47576e33cdf9db9d04>`_
* Updated the aprsd-slack-plugin required version `\ ``0992ab8`` <https://github.com/craigerl/aprsd/commit/0992ab817696a2aa97604e0c4571350e4bd368a3>`_

`v1.0.1 <https://github.com/craigerl/aprsd/compare/v1.0.0...v1.0.1>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

..

   15 December 2020



* Fix unknown characterset emails `\ ``#22`` <https://github.com/craigerl/aprsd/pull/22>`_
* Readme `\ ``#21`` <https://github.com/craigerl/aprsd/pull/21>`_
* Updates for building containers `\ ``#19`` <https://github.com/craigerl/aprsd/pull/19>`_
* Don't use the dirname for the plugin path search `\ ``#18`` <https://github.com/craigerl/aprsd/pull/18>`_
* Reworked Plugin loading `\ ``#17`` <https://github.com/craigerl/aprsd/pull/17>`_
* Updated README with a TOC `\ ``21253ff`` <https://github.com/craigerl/aprsd/commit/21253ff6e798356aff97479ca0d80326bcf0e9b3>`_
* Updated README with development information `\ ``3ffa416`` <https://github.com/craigerl/aprsd/commit/3ffa4165f01153f67102c835508bf6dd5a9a30bc>`_
* Fixed an issue with weather plugin `\ ``eba093b`` <https://github.com/craigerl/aprsd/commit/eba093b62a7d100fe0f88850c9e9b3b6f50d3a2e>`_
* Updated loggin timestamp to include [] `\ ``8a62738`` <https://github.com/craigerl/aprsd/commit/8a6273867cc9bd341f4c4ed628048c932320cf8e>`_

v1.0.0
~~~~~~

..

   14 December 2020



* Fixed the usage string after plugins introduced `\ ``#16`` <https://github.com/craigerl/aprsd/pull/16>`_
* Created plugin.py for Command Plugins `\ ``#15`` <https://github.com/craigerl/aprsd/pull/15>`_
* Refactor networking and commands `\ ``#14`` <https://github.com/craigerl/aprsd/pull/14>`_
* Update tox environment to fix formatting python errors `\ ``#13`` <https://github.com/craigerl/aprsd/pull/13>`_
* Click `\ ``#12`` <https://github.com/craigerl/aprsd/pull/12>`_
* Fixed all pep8 errors and some py3 errors `\ ``#11`` <https://github.com/craigerl/aprsd/pull/11>`_
* Added tox support `\ ``#10`` <https://github.com/craigerl/aprsd/pull/10>`_
* Fixed SMTP settings `\ ``#9`` <https://github.com/craigerl/aprsd/pull/9>`_
* removed ASS `\ ``#8`` <https://github.com/craigerl/aprsd/pull/8>`_
* Added port and fixed telnet user `\ ``#7`` <https://github.com/craigerl/aprsd/pull/7>`_
* Require ~/.aprsd/config.yml `\ ``#6`` <https://github.com/craigerl/aprsd/pull/6>`_
* Added reading of a config file `\ ``#5`` <https://github.com/craigerl/aprsd/pull/5>`_
* First stab at migrating this to a pypi repo structure `\ ``#4`` <https://github.com/craigerl/aprsd/pull/4>`_
* Added password, callsign and host `\ ``#3`` <https://github.com/craigerl/aprsd/pull/3>`_
* Cleaned up trailing whitespace `\ ``#2`` <https://github.com/craigerl/aprsd/pull/2>`_
* Added standard python main() `\ ``#1`` <https://github.com/craigerl/aprsd/pull/1>`_
* de-localize `\ ``fcef019`` <https://github.com/craigerl/aprsd/commit/fcef0195b03a1d6397a5dbaf25454ba2b4c87ccb>`_
* Rewrote the README.md to README.rst `\ ``e1edbe6`` <https://github.com/craigerl/aprsd/commit/e1edbe6c6287791f6ced2d243c073dbd65c648ea>`_
* Created fake_aprs.py `\ ``bd47a2b`` <https://github.com/craigerl/aprsd/commit/bd47a2bdea43566bf63cb497d3b57996c2751d04>`_
* added weather and location `\ ``7b74138`` <https://github.com/craigerl/aprsd/commit/7b74138cbaf016e770b3879d36740c2a57fcc585>`_
* fix bugs after beautification and yaml config additions. Convert to sockets.  case insensitive commands `\ ``abc6379`` <https://github.com/craigerl/aprsd/commit/abc63791f135b75cd71ce0fcce002fee386a258e>`_
* First stab at migrating this to a pytpi repo `\ ``ecd797d`` <https://github.com/craigerl/aprsd/commit/ecd797d91e56a3444e79a9e67d552c602fffa772>`_
* First stab at migrating this to a pytpi repo `\ ``a2b5908`` <https://github.com/craigerl/aprsd/commit/a2b5908b1670251bb4a4250db8bbf8d75da646fd>`_
* fix check_email_thread to do proper threading, take delay as arg `\ ``e171e16`` <https://github.com/craigerl/aprsd/commit/e171e16854862e3cbc743b9c5d526f0895d54b19>`_
* add tweaked fuzzyclock `\ ``7dc1c5d`` <https://github.com/craigerl/aprsd/commit/7dc1c5d8fdab0543f0e655ea79887d87cedb713f>`_
* added weather and location 2 `\ ``2fbc0e3`` <https://github.com/craigerl/aprsd/commit/2fbc0e305c21ab45ff6c0443794447d1686422e5>`_
* Initial conversion to click `\ ``50fb090`` <https://github.com/craigerl/aprsd/commit/50fb0905578171485c6cc69c3f60bc9f4eb3dd91>`_
* Add files via upload `\ ``51579d7`` <https://github.com/craigerl/aprsd/commit/51579d7c2350a85f755e3ee039bc76278da62a59>`_
* clean up code around closed_socket and reconnect `\ ``371a7a0`` <https://github.com/craigerl/aprsd/commit/371a7a08acbef67cfcc9163888ade88a5e4ae88b>`_
* Add files via upload `\ ``471af76`` <https://github.com/craigerl/aprsd/commit/471af76595407ded6a25c6ac4f24ea91e0fa872c>`_
* Update README.md `\ ``ce66908`` <https://github.com/craigerl/aprsd/commit/ce6690842ad5c2a182ecdd57359aa1bccd4d9dc4>`_
* Added argparse for cli options `\ ``8b61116`` <https://github.com/craigerl/aprsd/commit/8b61116fceef117a5d2faa86bde5e8244878f88d>`_
* can detect closed socket and reconnect now `\ ``b8f37fa`` <https://github.com/craigerl/aprsd/commit/b8f37fac6ed24be4dcf5741f3b85b0f4b0f8b2f8>`_
* switch from urlib to requests for weather, tested in py3 and py2.  still need to update locate, and all other http calls `\ ``00432cf`` <https://github.com/craigerl/aprsd/commit/00432cf5bbdfb59bc89d721874d692b79a90d6be>`_
* socket reconnect on timeout testing `\ ``712d66c`` <https://github.com/craigerl/aprsd/commit/712d66c389c068cb84738bae0e26a7904c5e1c73>`_
* fix parse_email unicode probs by using body.decode(errors='ignore') `\ ``44228c6`` <https://github.com/craigerl/aprsd/commit/44228c63b3accd72acb92185ac22bc7a2240af5d>`_
* added decaying email check timer which resets with activity `\ ``cf73add`` <https://github.com/craigerl/aprsd/commit/cf73add2db7ac6e85ee65e3d3e038dd709ce19f2>`_
* socket reconnect on timeout testing `\ ``5e96706`` <https://github.com/craigerl/aprsd/commit/5e96706f7adf74c955fa4006228ea76a68b42f1e>`_
* Reconnect on socket timeout `\ ``ecd0e8f`` <https://github.com/craigerl/aprsd/commit/ecd0e8f95eeadf9582075e15e1120f9999ca068a>`_
* Reconnect on socket timeout `\ ``766acbb`` <https://github.com/craigerl/aprsd/commit/766acbb777a59150da5e77d2d5c7725621dfc01e>`_
* Update README.md `\ ``6db4e6f`` <https://github.com/craigerl/aprsd/commit/6db4e6fd5e7d35b21bf3dde1c18a50cbacc99232>`_
* completely off urllib now, tested locate/weather in py2 and py3 `\ ``86bf428`` <https://github.com/craigerl/aprsd/commit/86bf42802c36a1415481cb5fe974844f850a1d08>`_
* more debugging messages trying to find rare tight loop in main `\ ``3d7e3a4`` <https://github.com/craigerl/aprsd/commit/3d7e3a4e542bab8edfb48f1804136873077e34f1>`_
* Update README.md `\ ``821a34b`` <https://github.com/craigerl/aprsd/commit/821a34b12d97b4521cfbc1de9c39f6248f0ea512>`_
* Update README.md `\ ``34d4da8`` <https://github.com/craigerl/aprsd/commit/34d4da8f0d32da286cda1faf0a8af74f981523aa>`_
* Update README.md `\ ``04269b3`` <https://github.com/craigerl/aprsd/commit/04269b39ba4b295943efa80e5fad2d6343756f5f>`_
* Update README.md `\ ``38d2e51`` <https://github.com/craigerl/aprsd/commit/38d2e516de18876b911213f373d76fddff3d6115>`_
* Update aprsd.py `\ ``230cf45`` <https://github.com/craigerl/aprsd/commit/230cf453591e55c632aa2b672b6a9fd40ed9ef74>`_
* Update aprsd.py `\ ``2330523`` <https://github.com/craigerl/aprsd/commit/2330523853855e0b722e0ee51164af932ffae196>`_
* imap tags are unicode in py3.  .decode tags `\ ``4b09fad`` <https://github.com/craigerl/aprsd/commit/4b09fad8767c8bdb7ddcab2dc4b04a0863d6cdfe>`_
* INSTALL.txt for the average person `\ ``f175f7e`` <https://github.com/craigerl/aprsd/commit/f175f7e6e31f41fd0dd9eb6fbb40bd2aea8b4cfb>`_
* readme update `\ ``4a8181c`` <https://github.com/craigerl/aprsd/commit/4a8181ce303b173116704bf8c0a0eccf76aa6690>`_
* Update README.md `\ ``e3a1841`` <https://github.com/craigerl/aprsd/commit/e3a18417f1fb9b78056c4d2b1327b0011e53c5ab>`_
* cleaned up weather code after switch to requests ... from urllib. works on py2 and py3 `\ ``ad0f96d`` <https://github.com/craigerl/aprsd/commit/ad0f96d1aafef080dfaa6f9d5587c965f9115bd2>`_
* Update README.md `\ ``e2d9478`` <https://github.com/craigerl/aprsd/commit/e2d9478e272a047f0dd1d2e6ffa5f9c3f9f3d269>`_
* Update INSTALL.txt `\ ``22f7123`` <https://github.com/craigerl/aprsd/commit/22f7123e17724331e669c7b5ecf52edefdfb1693>`_
* make tn a global `\ ``d9caac6`` <https://github.com/craigerl/aprsd/commit/d9caac64d7b3e0e7c63d64a3562a4789d6c49f0d>`_
* reset default email check delay to 60, fix a few comments `\ ``d3bb44f`` <https://github.com/craigerl/aprsd/commit/d3bb44feeca74f37df3a95ab51f308823e2214a7>`_
* Added a try block around imap login `\ ``89d038e`` <https://github.com/craigerl/aprsd/commit/89d038e93d32ff63526335aed72859099641edcd>`_
* fix check_email_thread to do proper threading, take delay as arg `\ ``b552f96`` <https://github.com/craigerl/aprsd/commit/b552f9611f0f0c02d65804aeb03128383e16917c>`_
* main loop went into tight loop, added debug print before every continue `\ ``b597228`` <https://github.com/craigerl/aprsd/commit/b5972287196130ea873ee00a8713cf56e5d543b3>`_
* socket timeout 5 minutes `\ ``e6995c3`` <https://github.com/craigerl/aprsd/commit/e6995c360582ab5bb21c98ce4c90de43578efa48>`_
* sanitize readme `\ ``8390419`` <https://github.com/craigerl/aprsd/commit/8390419292188e9abae4d7c86dacbb47b3ecb747>`_
* readme again again `\ ``20c43b4`` <https://github.com/craigerl/aprsd/commit/20c43b4e85b712f9e7d78a492084eb1a3db4f169>`_
* sanitize readme a bit more `\ ``b6356ce`` <https://github.com/craigerl/aprsd/commit/b6356ce90142dc4c24ff564182baa9e61bedf1d5>`_
* yet another unicode problem, in resend_email fixed `\ ``bb1a2ee`` <https://github.com/craigerl/aprsd/commit/bb1a2ee61a7bf7b95821c46d8094a0814512ac7a>`_
