-
-
Notifications
You must be signed in to change notification settings - Fork 121
/
Changelog
433 lines (364 loc) · 18.5 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
2024-07-23 version 0.9.8
- 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)
2024-02-06 version 0.9.7
- 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)
2023-10-24 version 0.9.6
- FIX: debian packaging
2023-10-24 version 0.9.5
- FIX: logs to stderr if DOCKER_RUNNING in environment (#426)
- FIX: typo in help descriptions (#423)
- NEW: Updated Google Timeline Import script (#407)
- UPD: Improve GPX-Import (#413)
- FIX: Table of Locations sorting issue (#415)
2022-12-09 version 0.9.3
- FIX: JS fixes for disappeared links (#406)
- FIX: instructions for building on FreeBSD 13.1 with TOURS configured (#405)
2022-09-30 version 0.9.2
- FIX: Remove accidental eval (#403)
- FIX: Various build fixes (#402)
- FIX: now compiles without MQTT (#401)
- FIX: read OTR_TOPICS from environment (overrides config); can be overriden by argv
- UPD: ocat -v shows compiled-in values, ot-recorder -V runtime ones
- FIX: add "OTR_HTTPPREFIX" (verbatim) to tour url if prefix unconfigured (#399)
- FIX: Duplicate log entries when running as daemon (#398)
- FIX: package build for raspbian
2022-08-10 version 0.9.1
- 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
2022-05-24 version 0.9.0
- 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)
2021-06-29 version 0.8.7
- 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)
2020-03-10 version 0.8.6
- FIX: default views directory results in view not found (#338)
2020-03-09 version 0.8.5
- FIX: OTR_CAPATH wasn't recognized in defaults (#336)
- UPD: support for Debian 10 (Buster) packages
- FIX: compilation with HTTP=no
- FIX: compilation with WITH_MQTT = no and WITH_HTTP = yes (#308)
- NEW: ot-recorder option --viewsdir overrides <docroot>/views (#305)
- FIX: fix misleading error message (#302)
- UPD: document that user/device names are always lowercased (#300)
- FIX: fix unused result warning on debian stretch, (fixes #290)
- FIX: Leaflet map and view wrap around antimeridian (±180°) #293
2019-02-20 version 0.8.4
- FIX: Post-installation script fails (#291)
- NEW: revgeod is queried with &app=recorder
- UPD: Add `acc` field to GeoJSON point feature properties (#283)
2019-01-11 version 0.8.3
- 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)
2019-01-10 version 0.8.1
- 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)
2018-11-24 version 0.8.0
- 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
2018-09-01 version 0.7.9
- 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
2018-04-30 version 0.7.6
- NEW: contrib/freebsd/ notes and rc (#229)
- NEW: View using Leaflet (#226)
- FIX: CAPATH or CAFILE set TLS (#232)
2018-02-13 version 0.7.5
- FIX: ocat --list now works also on file systems which don't support dtype (xfs)
2018-02-12 version 0.7.4
- FIX: fpm-make for Debian to pull in correct libsodium package (thanks @juzam!)
2018-02-12 version 0.7.3
- 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)
2017-05-19 version 0.7.2
- 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
2017-05-17 version 0.7.1
- FIX: systemd launch and default topics in default files (#185)
2017-05-17 version 0.7.0
- 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)
2016-11-25 version 0.6.9
- 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)
2016-09-23 version 0.6.8
- 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
2016-07-20 version 0.6.7
- FIX: don't crash on null payloads
2016-07-19 version 0.6.6
- 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
2016-05-30 version 0.6.5
- FIX: paths to binaries
2016-05-30 version 0.6.4
- FIX: revert debian config file location
2016-05-30 version 0.6.3
- 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)
2016-03-07 version 0.6.2
- 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)
2016-03-04 version 0.6.1
- NEW: received payload may contain _geoprec:N to override precision (#58)
- FIX: view's page returns content-type
2016-03-04 version 0.6.0
- UPD: view can specify hours instead of from/to (#99)
- UPD: recorder and config option HTTPLOGDIR for access.log
2016-03-03 version 0.5.9
- UPD: messages received over http have _http:true added to JSON
- UPD: http publishes are displayed with grey user in Table
2016-03-02 version 0.5.8
- FIX: topic missing in last/
2016-03-02 version 0.5.7
- 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
2016-03-01 version 0.5.6
- FIX: gwstorage lowercase username & device (#96)
2016-03-01 version 0.5.5
- FIX: MQTT topics on command line override those in config file
- NEW: API supports track for CTRL
2016-02-26 version 0.5.4
- UPD: MQTT can be disabled even if compiled-in
- UPD: ship README and service file in /usr/share/doc/ot-recorder/
- UPD: ocat -v displays path to config file
- FIX: ocat should process only part of config file
2016-02-25 version 0.5.3
- FIX: mqtt user/pass from config file
2016-02-25 version 0.5.2
- UPD: defaults file now contains most config settings
- UPD: ocat -v explicitly shows yes/no for MQTT/HTTP
- NEW: hooks in httpmode
- REM: r-only mode removed
- FIX: squashed a number of memory leaks
- NEW: encryption in responses of httpmode
- UPD: API supports GPX output
- NEW: friends (locations, cards) in http mode
- UPD: LMDB is no longer optional during build
- UPD: remove Hosted mode (#86)
- NEW: HTTP mode
- UPD: remove support for /msg
- UPD: startup log message includes version
2016-02-18 version 0.5.1
- FIX: RHEL postinstall shoud run on update as well
2016-02-17 version 0.5.0
- FIX: License: GPL2 (#18)
- NEW: view contains CARD's avatar if available, as does last/
- FIX: map heights _ought_ to now be ok, also on mobile devices
- NEW: small utility for creating view auth
- NEW: support for VIEWs with optional digest authentication
- NEW: gravatar2card.sh and github2card.py in contrib/faces
- FIX: use of limit in locations api
2016-02-09 version 0.4.9
- NEW: introduce /etc/default/ot-recorder
- UPD: GPX output now contains elevation and UTC time
- UPD: default --label on live map changed from "Recorder" to "OwnTracks"
- NEW: optional rename of topics in map popups (#79)
- FIX: mongoose correctly identifies changed files (304 vs 200 and Etag)
- NEW: points on GeoJSON map are now clickable for infowindow (#78)
- NEW: GeoJSON points now have tst in properties (#78)
- FIX: map with extra info in popup box (#77)
- NEW: packaging for Centos7
- NEW: ot-recorder --debug
- FIX: ocat version shows libmosquitto and sodium versions
2016-01-27 version 0.4.8
- FIX: finish Debian8 packaging
- FIX: add missing entry to reason table which could cause SIGSEGV
- FIX: add public domain base64.[ch] (#18)
- NEW: experimental support for payload decryption with per/user secret keys
- FIX: ignore SIGPIPE
- NEW: API endpoint /version returns Recorder version
2016-01-11 version 0.4.7
- NEW: Beacon messages are now handed to the Websocket server
- UPD: locations API returns data in `data` (no longer in `locations`)
- NEW: google reverse-geo API key is now a run-time option in recorder (#18)
- FIX: table view shows last voltage for Greenwich devices in battery column (#73)
- FIX: normalize acc to double for older device versions
- NEW: API locations/ now has support for CSV (#72)
2015-11-13 version 0.4.6
- NEW: support batt,ext,status in LAST API for Greenwich device firmware
- FIX: reverse geo lookup limited to 2000ms
- FIX: make install now creates STORAGEDEFAULT/last (#67)
- FIX: documentation update to include instructions for building on Ubuntu 14.04
2015-11-04 version 0.4.5
- NEW: LAST and LOCATIONS return additional human-formatted ISO timestamp for display, disptst
- FIX: otrc dump now contains correct configuration settings which can be restored to phone
- FIX: waypoints/config filename extention fixed (otrw/otrc)
- NEW: extra.json (in last/username/device/) is merged in and returned in API (#60)
- FIX: http server sets utf-8 on JSON responses (API)
- NEW: recorder's --norec disables writing REC files
- FIX: removed Mosquitto loop timeout; great improvement in HTTP performance
- NEW: API supports /last ?fields=a,b,c
2015-10-23 version 0.4.4
- FIX: now actually builds without LMDB (not recommended!)
- NEW: Add a battery level column to the Table. (#56)
- FIX: waypoints and config dumps are prettyfied
- FIX: XML output prints empty tags when fields are requested
- NEW: API photo/ endpoint (returns default png on user 404)
- NEW: configuration dump (cmd dump) is stored in store/config/$user-$device.otrc
- NEW: waypoints dump (Publish Waypoints from device) written to store/waypoints/$user/$device/user-device.otrw
2015-10-19 version 0.4.3
- NEW: recorder exits if Lua script cannot be loaded (#54)
- FIX: add fail-safe to CSV parser (#53)
- FIX: GeoJSON LineString tracks are now sorted by tst and not by received date
- FIX: recorder's default label correctly set if not compiling with WITH_LUA (#50)
- FIX: Re-zoom map on autozoom enable (#51)
- NEW: favicon/logo, thanks to @ckrey (#50)
- NEW: contrib/faces/image2card.sh to publish a Recorder-compatible JSON CARD from photo
- NEW: multilister adds username/device to JSON location data (#49)
2015-10-02 version 0.4.2
- FIX: ocat --format csv outputs addr and locality as quoted strings
- NEW: live map has a label (set with ot-recorder --label) to indentify instance; connection status is border
- NEW: live map has toggle button to auto-fit (zoom)
- NEW: live map fits to show all devices (#46, #47) with &fit=1 (#48)
- NEW: recorder --initialize non-destructively creates databases (#45)
- INT: added multilister (not yet surfaced to API) (#36)
- FIX: index.html uses UTC to go back in time (reported by Ben)
- NEW: recorder can use Lua otr_putrec() to prohibit REC file writing (#27)
- FIX: storage removes waypoints on kill (#34)
- FIX: storage removes photo on kill (#30)
- FIX: exit if HTTP port cannot be opened
- FIX: lowercase T in date formats allowed (#44)
- FIX: websockets switch to WSS when content served over HTTPS (#43)
- FIX: live map now shows user/device (#42)
2015-09-26 version 0.4.1
- FIX: recorder correctly handles topics with leading slash
- NEW: Lua functions (putdb, getdb) have access to a `luadb'-named LMDB database
- NEW: Lua hooklets
- UPD: reverse geo JSON data in lmdb now contains locality (unless null)
- UPD: ocat --load can delete individual keys from lmdb
- NEW: recorder uses topic2tid named database for on-the-fly TID replacements in JSON payloads
2015-09-21 version 0.4.0
- NEW: ot-recorder stores received (shared) waypoints in waypoints/
- NEW: ot-recorder --quiet to disable info on stdout
- FIX: full rewrite of on_message(); needs testing!
- FIX: recorder logs MQTT connection request
- FIX: Lua's otr_exit is now invoked on exit
- FIX: SIGINT and SIGTERM gracefully stop the recorder
- NEW: Lua hook support
- FIX: kill now removes card and its containing directory if available
2015-09-15 version 0.3.0
- FIX: ocat lowercases device/username (reported by tiptronic)
- NEW: XML support in storage and ocat --format xml
- FIX: display (lat,lon) in table if no address available
- FIX: nasty memory leak in locations from storage
- FIX: LAST now carries isotst
- FIX: ocat --last now supports CSV output (with fields)
- NEW: demo data in etc/ with description
- NEW: index.html has links to -12h, -7d, and -30d for convenience
- NEW: add API q= to query geo cache for particular lat,lon
- FIX: close two memory leaks
- NEW: add systemd unit file
2015-09-15 version 0.2.9
- FIX: added API description and diagram to documentation
- NEW: kill has been surfaced into the API (disabled by compile flag by default)
- FIX: kill now also deletes LAST file and its parent directories if empty
- NEW: ocat --load-ghash can load revgeo db
- NEW: ocat --dump-ghash dumps content of revgeo db
- FIX: main index now shows users/devices already in storage
2015-09-14 version 0.2.8
- FIX: undo ocat -v change
2015-09-14 version 0.2.7
- FIX: ocat -v correctly displays configured JSON_INDENT
- FIX: spec file now builds packages on OBS
2015-09-14 version 0.2.6
- FIX: source of doc root renamed to docroot
2015-09-14 version 0.2.5
- FIX: renamed wdocs to htdocs
- FIX: updated spec file and renamed defaults
- FIX: log with which clientID user is connecting to Hosted
to aid in trouble-shooting
2015-09-13 version 0.2.4
- FIX: incorrect install of wdocs/ (thanks to @rk295)
- FIX: use correct hostname for --hosted mode
- FIX: live map had ugly HTML on hover-over point
2015-09-11 version 0.2.3
- NEW: --hosted mode for recorder
2015-09-11 version 0.2.2
- first public release