+loctrkd (1.98) experimental; urgency=medium
+
+ * Ignore pmod registrations older than an hour
+ * Update README for two-protocol support
+ * Update man pages to use correct name
+
+ -- Eugene Crosser <crosser@average.org> Sun, 04 Dec 2022 23:55:59 +0100
+
+loctrkd (1.97) experimental; urgency=medium
+
+ * Change reporting of pmod to events
+
+ -- Eugene Crosser <crosser@average.org> Sun, 27 Nov 2022 23:08:07 +0100
+
+loctrkd (1.96) experimental; urgency=medium
+
+ * Send backlog only the the ws client that requested
+ * Implement sending commands from the web interface
+ * webdemo: implement sending cmds to the terminal
+
+ -- Eugene Crosser <crosser@average.org> Sun, 27 Nov 2022 21:21:04 +0100
+
+loctrkd (1.95) experimental; urgency=medium
+
+ * beesure: implement a few more server commands
+ * wsgateway: clear locations on wsocket open
+ * opencellid: use temp table rather than memory db
+ * tests: separate fuzz tests in two modules
+ * test: add fuzzer for beesure protocol
+ * webdemo: use flexbox css
+ * sysnits & config: update name, remove unneeded bit
+
+ -- Eugene Crosser <crosser@average.org> Mon, 05 Sep 2022 10:38:56 +0200
+
+loctrkd (1.94) experimental; urgency=medium
+
+ * rectifier: set umask for zmq publish socket
+ * googlemaps: add code for manual testing
+ * beesure: consider valid if enough satellites
+ * lookaside returns accuracy too
+
+ -- Eugene Crosser <crosser@average.org> Fri, 05 Aug 2022 00:43:59 +0200
+
+loctrkd (1.93) experimental; urgency=medium
+
+ * beesure: fix parsing broken by prefious fix
+ * Update html and readme to mention new name
+
+ -- Eugene Crosser <crosser@average.org> Wed, 03 Aug 2022 22:43:45 +0200
+
+loctrkd (1.92) experimental; urgency=medium
+
+ * beesure: more reliable parsing of binary content
+ * opencellid: raise exception on the lack of data
+
+ -- Eugene Crosser <crosser@average.org> Wed, 03 Aug 2022 20:34:54 +0200
+
+loctrkd (1.91) experimental; urgency=medium
+
+ * opencellid: detach mem db when lookup failed
+
+ -- Eugene Crosser <crosser@average.org> Wed, 03 Aug 2022 12:20:37 +0200
+
+loctrkd (1.90) experimental; urgency=medium
+
+ * move stream parser/deframer to the protocol module
+ * change error reporting and fix bugs
+ * collector: get rid of more protocol specifics
+ * Initial multiprotocol support
+ * improve diagnistic message about left data
+ * Multiprotocol support in zmq messages and storage
+ * Rename gps303proto to zx303proto
+ * rename gps303 -> loctrkd
+ * Update package name and links in the README
+ * debian: this replaces gps303
+ * rename deb package, adjust .gitignore
+ * WIP: beesure protocol
+ * cleanup framing/deframing of beesure
+ * test: more robust version check for tools (black)
+ * beesure: add ICCID proto
+ * function `proto_handled()` in proto modules
+ * make qry work again
+ * beesure: decode wifi aps
+ * watch: fix check for proto handling
+ * beesure: location info parser
+ * beesure: don't mess with timezones for devtime
+ * Revive command sender and implement some commands
+ * collector: close old connection on new login
+ * beesure: remove the PROTO attribute
+ * WIP converting wsgateway to multiprotocols
+ * beesure: implement phone book commands
+ * beesure: handle "TK" (Voice message)
+ * qry: initial support for saving data in a file
+ * beesure: implment MESSAGE command
+ * collector: streamline tracking of polled fd-s
+ * mkgpx: quick temp switch to beesure proto
+ * protocols: make "interface" module
+ * rename `lookaside` to `rectifier`
+ * Adjust config to changing messaging topology
+ * rectifier: add PUB zmq socket
+ * protocols: introduce method `rectified()`
+ * abstract protocol selection in `common`
+ * rectifier: lookaside based on rectified objects
+ * Convert recitifier to multiprotocol support
+ * Cleanup some of the types
+ * watch: watch for both raw and rectified feeds
+ * storage: save both raw and rectified reports
+ * wsgateway: switch to the use of cooked reports
+ * rectifier: log.exception on lookaside crash
+
+ -- Eugene Crosser <crosser@average.org> Wed, 03 Aug 2022 10:45:34 +0200
+
+loctrkd (1.02) experimental; urgency=medium
+
+ * collector: prevent two active clients share IMEI
+
+ -- Eugene Crosser <crosser@average.org> Thu, 14 Jul 2022 22:17:51 +0200
+
+gps303 (1.01) experimental; urgency=medium
+
+ * collector: do not remove clients before all sends
+
+ -- Eugene Crosser <crosser@average.org> Tue, 12 Jul 2022 11:58:05 +0200
+
+gps303 (1.00) experimental; urgency=medium
+
+ * test: include lookaside and termconfig in the loop
+ * doc: edit and correct README.md
+ * docs: expand man pages
+ * forgotten manpage for install
+
+ -- Eugene Crosser <crosser@average.org> Thu, 23 Jun 2022 22:58:35 +0200
+
+loctrkd (0.99) experimental; urgency=medium
+
+ * Revive mkgpx example script
+ * Drop data if we are receiving junk
+ * test: fuzzing collector
+ * test: complete fuzzer unittest
+ * collector: fix problems found by fuzzer test
+ * test: make unittests individually runnable
+ * collector: enable SO_KEEPALIVE on accepted conn.
+ * test: message fuzzer and fix found problems
+ * test: move `send_and_drain` to common module
+ * test: skeleton for an end-to-end unittest
+ * test: adjust sleeps and drains when daemons run
+ * test: minimally functional test_storage
+ * do not try to use zlib's _Decompress
+ * test: use IPv4 because github actions
+ * Add sample opencellid csv for tests
+ * test: better aquisition of free ports
+ * test: opencellid downloader
+
+ -- Eugene Crosser <crosser@average.org> Wed, 22 Jun 2022 18:04:10 +0200
+
+loctrkd (0.98) experimental; urgency=medium
+
+ * include runtime deps as build-time for typecheck
+ * fix l3str/l3int breakage provoked by typeckeck
+ * make termconfig use unit specific config section
+ * expand README: lookaside and termconfig sections.
+ * wsgateway: reclassify http write hack as permanent
+ * Update README with configuring the terminal
+ * Implement remaining "Out" commands
+ * do not run black older than 21.1
+
+ -- Eugene Crosser <crosser@average.org> Tue, 07 Jun 2022 00:17:55 +0200
+
+loctrkd (0.97) experimental; urgency=medium
+
+ * adjust tests
+ * typecheck: skip test if mypy verison < 0.942
+
+ -- Eugene Crosser <crosser@average.org> Tue, 31 May 2022 01:05:39 +0200
+
+loctrkd (0.96) experimental; urgency=medium
+
+ * Do not write startup message for command-line cmds
+ * Add a (short) man page
+ * typing: make zmsg.py typecheck
+ * typing: annotate loctrkdproto.py (mostly)
+ * typechecking: less hacky deal with dynamic attrs
+ * typing: annotate opencellid.py
+ * typchecking: annotate googlemaps.py
+ * typechecking: annotate evstore.py
+ * typechecking: annotate common.py
+ * typeckecing: annotate ocid_dload.py
+ * typeckecing: annotate watch.py
+ * typechecking: annotate termconfig.py
+ * typeckecking: annotate storage.py
+ * typing: annotate lookaside.py
+ * typechecking: annotate collector.py
+ * typeckeck: annotate __main__ and fix loctrkdproto
+ * typeckecking: annotate wsgateway.py
+ * formatting: revive black formatting
+ * unittest: type checking and formatting
+
+ -- Eugene Crosser <crosser@average.org> Tue, 31 May 2022 00:36:33 +0200
+
+loctrkd (0.95) experimental; urgency=medium