- FIX: protect against a non-existing or unreadable ZDB (#579).
The timezone16.bin has to be placed into the variable configured as
TZDATADB in config.mk, assuming WITH_TZ is yes. For the Docker image,
TZDATADB=/config/timezone16.bin meaning the file is searched in the
/config volume. (New installations get that automatically, containers
created pre version 1.0.2 might need manual intervention.
- FIX: Makefile / config.mk.in remove dup libs
- UPD: packages will henceforth be built with WITH_KILL=no per default (#573)
- FIX: ocat --dump will not dump internal db names (#572)
- FIX: add referrer meta tag to maps (#570, #571)
- FIX: option --noskipdemo was incorrectly written as --skipdemo
- NEW: Support for Ubuntu 25.10
- NEW: Lookup timezone when a new location is recorded and store it (#561)
- UPD: old package signing key has been removed (#551)
- FIX: ocat JSON output now supports emitting fields which are arrays/lists (#542)
- FIX: Add proper error message to revgeo lookup (#541)
- FIX: Replace use of access(2) in ocat(1) by opening config file (#539)
- NEW: Add support for OpenBSD (#523)
- FIX: storage dir from env even when the defaults file is missing (#528)
- NEW: support for inline image data in a POI location publishes
- FIX: image2card.sh was creating invalid JSON (#520)
- UPD: deprecate google maps from vmap.html (#512)
- FIX: install unit file into /etc/systemd/system/ot-recorder.service during fpm (#514)
- FIX: fix permissions on files installed to share/docs/ot-recorder (#513)
- FIX: contrib/faces/github2card.py require TID
- FIX: contrib/faces/gravatar2card.sh require TID and replace MD5 by SHA256 for Gravatar
- FIX: contrib/faces/image2card.sh asks for TID to produce CARD
- UPD: changed 'convert' in image2card.sh to 'magick'
- FIX: consolidate raspbian/debian fpm-make invocations
- FIX: OTR_CLEAN_AGE default not correctly handled (#500)
- FIX: ocat --dump will not output keys which don't have JSON data in them
- FIX: lowercase waypoints (otrw) and config (otrc) directory and filenames (#486)
- UPD: remove support for Greenwich devices (#484)
- FIX: avoid a JSON object copy
- FIX: print currently desired lmdb size in error that cache cannot be opened (#480)
- NEW: startup message hints at configured revgeo setting and reverse geocoder brand
- FIX: debian postinst now restarts ot-recorder (#446)
- FIX: add card data to websocket notifications (#450)
- FIX: Enable building when WITH_TZ=no to disable timezone information (#473)
- FIX: view lastpos response (#471)
- FIX: handle out-of-order location notification in last/ (#472)
- FIX: drastically reduce memory leakage in views (#464)
- FIX: reformat json if it contains newlines/tabs before storing in .rec (#437)
- NEW: cached geo records can be auto-expired by setting OTR_CLEAN_AGE (#447)
- NEW: option -J prints variables in JSON format, for scripting
- NEW: version is printed in -J / -V
- FIX: in http mode friends' data must contain a topic; construct it or retrieve from last if available (#451)
- FIX: crash on non-string event name in _transition messages (#454)
- NEW: Add alt field to GeoJSON points parameters (#456)
- FIX: Tour data (requests and submissions) contain corrupt data in .rec file
b/c of pretty-printing (#437)
- UPD: Change permissions (+r) on binaries (#428)
- NEW: Add support for dumping POI in GeoJSON format (#439)
- FIX: create {static,utils}/index.html to avoid directory listing
- FIX: remove HikeBike layer (and control) from views (#442)
- UPD: Autoload track in Recorder views / tours (#441)
- NEW: Optionally enhance API data with timezone at location's position (#444)
- UPD: locations API returns Recorder version number alongside count/status
- NEW: add experimental utility with which to enhance ghash/ with tzdata
- UPD: location and tzname are stored in ghash cache only if they're non-null
- UPD: Reduce default size of LMDB to 5368709120 (5GB); it can be configured via environment
- UPD: Improve gcache error handling
- FIX: Add missing OTR_HTTPPREFIX to ot-defaults (#440)
- NEW: WITH_TOURS is built in by default
- NEW: Makefile now sets -DNS_ENABLE_IPV6 for IPv4 and IPv6
- NEW: tour views are written to and read from STORAGEDIR/tours
- NEW: add option --variables to ot-recorder to print list of all actual settings
- UPD: move config.js into docroot/utils/ to avoid having to proxy another uri
- NEW: @@@LABEL@@@ in view HTML is replaced by view's label attribute
- FIX: refactor environment variable handling for all settings. (#380)
- NEW: add very experimental shares functionality
- FIX: support OTR_HTTPHOST and OTR_HTTPPORT configuration in environment
- NEW: OTR_LMDBSIZE can be set in the environment to define size of LMDB; bytes, min 10 MB (#348)
- UPD: modernize Recorder UI (not the actual Frontend project) (#386)
2022-03-14 version 0.8.8
- FIX: make secs time_t in otr_strftime() (#375)
- FIX: inaccurate logo name in manifest and missing image (#372)
- FIX: Alpine compiler warning on strncpy in geohash.c (#369)
- FIX: ocat outputs GeoJSON Feature with properties{} (#367)
- FIX: make secs time_t in otr_strftime() (#375)
- FIX: inaccurate logo name in manifest and missing image (#372)
- FIX: Alpine compiler warning on strncpy in geohash.c (#369)
- FIX: ocat outputs GeoJSON Feature with properties{} (#367)
- UPD: Leaflet GeoJSON map point popups now contain accuracy if available (#352)
- FIX: prefix Content-Length by X- to avoid issues with chunked encoding #350
- FIX: fix off-by-one error introduced in #328 (Safari only)
- FIX: Post-installation script fails (#291)
- NEW: revgeod is queried with &app=recorder
- UPD: Add `acc` field to GeoJSON point feature properties (#283)
- FIX: lat,lon in leaflet views
- FIX: fix paths to be relative to docroot for map/, views/, and last/
- FIX: Link to location in table/ now uses OSM, our default (#278)
- FIX: ensure geohash is sent down the tube in http
- FIX: environment variable OTR_GEOKEY overrides defaults config (#277)
- UPD: Surface GEOCODE_TIMEOUT into config.mk (#272)
- FIX: Correctly calculate time differences (#271)
- FIX: local leaflet.js installation (#269)
- FIX: swapped lat/lon in last/ (#268)
- NEW: support for revgeod (#263)
- UPD: remove bundled MDB
- UPD: increased LMDB mapsize (#253) This increases the maximum size of the LMDB in place
- NEW: support for OSM on live map, by @avanc (#244)
- FIX: compilation on gcc 8 no longer warns about truncated strings (#242)
- FIX: remove deprecated signed_in in Google maps
- UPD: Use OpenCage geocoder for reverse geocoding (#202)
- NEW: Support for OpenCage in Lua
- NEW: support for OSM on live map, by @avanc (#244)
- FIX: compilation on gcc 8 no longer warns about truncated strings (#242)
- FIX: remove deprecated signed_in in Google maps
- UPD: Use OpenCage geocoder for reverse geocoding (#202)
- NEW: Support for OpenCage in Lua
- FIX: GPX exporter gets xmlns (#215)
- FIX: wait on start of systemd to allow Mosquitto to start (#185)
- FIX: s/json_remove_from_parent/_delete/g
- NEW: Add support for OwnTracks Pico by pretending `../pico` is a base topic (#205)
- UPD: rollback: cards are now once again stored at user/device/user-device.json (but map/table also uses user/user.json if it exists)
- FIX: ping/ping monitoring user/device no longer shows up on map nor in table (#195)
- FIX: OTR_CAFILE, KEYFILE, CERTFILE are now also read from config file (#198)
- NEW: support Traccar (osmand) GET requests
- FIX: systemd launch and default topics in default files (#185)
- NEW: name of Lua revgeo function can be set in JSON payload
- NEW: support TLS PSK (#74)
- NEW: support for a Lua function to perform reverse Geo (#149)
- FIX: support for FREEBSD in Makefile/config.mk.in (#163)
- NEW: support for global store of geo fences (#178)
- NEW: support for CA_PATH and TLS client certificates
- FIX: setting http_port = 0 took CPU to unheard heights (#176)
- NEW: Add support for OSM using Leaflet, by Sven Klomp (#173)
- NEW: support for waypoints / geo-fences (WARNING: you must --initialize)
- FIX: built-in Web server serves apikey.js with application/javascript mime type (#168)
- FIX: Usage now shows missing OTR_BROWSERAPIKEY (#167)
- NEW: name of Lua revgeo function can be set in JSON payload
- NEW: support TLS PSK (#74)
- NEW: support for a Lua function to perform reverse Geo (#149)
- FIX: support for FREEBSD in Makefile/config.mk.in (#163)
- NEW: support for global store of geo fences (#178)
- NEW: support for CA_PATH and TLS client certificates
- FIX: setting http_port = 0 took CPU to unheard heights (#176)
- NEW: Add support for OSM using Leaflet, by Sven Klomp (#173)
- NEW: support for waypoints / geo-fences (WARNING: you must --initialize)
- FIX: built-in Web server serves apikey.js with application/javascript mime type (#168)
- FIX: Usage now shows missing OTR_BROWSERAPIKEY (#167)
- UPD: REC files now use tst from JSON payload as timestamp (#133)
- FIX: default file is /etc/default/ot-recorder
- FIX: add support for $OTR_BROWSERAPIKEY from environment (#156)
- UPD: packages now have API kill in them (#153)
- UPD: name on live map can be overriden by 'name' in JSON payload
- NEW: decrypted payloads have "_decrypted":true added to .rec file (#151)
- NEW: new configuration variable OTR_BROWSERAPIKEY (#146)
- FIX: Maps browser API key file (apikey.js) is now served by the Recorder (#146)
- FIX: add CFLAGS for base64 to conver Arch (#128)
- FIX: if defaults file can't be read, log an error (#131)
- NEW: otr_publish() from Lua reuses Recorder's authenticated, TLS-enabled MQTT connection (#140)
- UPD: changed systemd unit file (#137)
- UPD: README restructured (#138)
- NEW: ocat -v and api/0/version now show git version/commit
- FIX: Debian package dependency on libsodium13
- FIX: FreeBSD locations api: reset isdst for mktime(3) (#125)
- FIX: apikey support for last/, map/, and views/ (#124)
- FIX: don't clobber CFLAGS from config.mk
- FIX: debian/centos package now automatically installs systemd service (thanks Tomas Lastovick for making us do this :)
- FIX: centos packages now also install binaries to /usr
- FIX: paths to binaries
- FIX: revert debian config file location
- FIX: views now have a favicon (#121)
- NEW: Table and Map now have vel and cog (#117)
- FIX: Table now correctly defaults to last 2 chars of topic for tid (#120)
- FIX: views no longer accumulate devices; the list is cleared on reload (#107)
- FIX: CSV publishes work in spite of CR at end of string (#119)
- NEW: native Debian packaging (#114)
- FIX: check whether $OTR_CAFILE can actually be opened (#109)
- FIX: image2card fixed base64 wrapping (#111)
- FIX: key for decrypting payload is now correctly lowercased from user/device
- FIX: negative lat/lon in CSV payloads
- FIX: nested object in payload no longer crashes in Lua hooks
- UPD: LWT are now stored with reltopic == 'lwt' instead of '*' (#101)
- FIX: revert debian config file location
- FIX: views now have a favicon (#121)
- NEW: Table and Map now have vel and cog (#117)
- FIX: Table now correctly defaults to last 2 chars of topic for tid (#120)
- FIX: views no longer accumulate devices; the list is cleared on reload (#107)
- FIX: CSV publishes work in spite of CR at end of string (#119)
- NEW: native Debian packaging (#114)
- FIX: check whether $OTR_CAFILE can actually be opened (#109)
- FIX: image2card fixed base64 wrapping (#111)
- FIX: key for decrypting payload is now correctly lowercased from user/device
- FIX: negative lat/lon in CSV payloads
- FIX: nested object in payload no longer crashes in Lua hooks
- UPD: LWT are now stored with reltopic == 'lwt' instead of '*' (#101)
- FIX: views now have a favicon (#121)
- NEW: Table and Map now have vel and cog (#117)
- FIX: Table now correctly defaults to last 2 chars of topic for tid (#120)
- FIX: views no longer accumulate devices; the list is cleared on reload (#107)
- FIX: CSV publishes work in spite of CR at end of string (#119)
- NEW: native Debian packaging (#114)
- FIX: check whether $OTR_CAFILE can actually be opened (#109)
- FIX: image2card fixed base64 wrapping (#111)
- FIX: key for decrypting payload is now correctly lowercased from user/device
- FIX: negative lat/lon in CSV payloads
- FIX: nested object in payload no longer crashes in Lua hooks
- UPD: LWT are now stored with reltopic == 'lwt' instead of '*' (#101)
- FIX: ocat CSV and XML output fixed
- UPD: _geoprec may be < 0 to prevent new geo lookups
- FIX: adapted build & recorder for FreeBSD 10.2 (isnan() macro)
- FIX: linestring map shows position only; no longer broken date (#97)
- FIX: Greenwich alarms were stored in last/ as ../alarm
- UPD: attempt CARD retrieval first from user/device/u-d.json (#94)
- UPD: option --skipdemo renamed to --noskipdemo