# Change Log All notable changes to QuakeLink will be documented in this file. ## 2024.353 ### Fixed - Event browser event count statistics ## 2024.204 ### Added - Allow to query for summary format 3 - Bump telnet protocol version to 4 ## 2024.157 ### Fixed - Database archive sychronization from header version 2 to 3 ## 2024.144 ## Added - fdsnws2ql - Introduce host specific backlog parameter - Support strict date format parsing introduced with SeisComP 6.4 ## 2024.142 ### Added - Add more database index attributes and bump format version to 3 - Add event certainty type, depth type and felt flag - Add automatic event log conversion ## 2024.054 ### Changed - Event browser display of empty magnitude and depth values ## 2024.052 ### Fixed - Fix JSON event response if values are "inf" or "nan". They will be returned as "null" values. This is a hotfix and behaviour might change in future. ## 2024.032 ### Changed - Support millisecond precision in `FROM` and `TO` parameter of SELECT queries. - Clarify supported time formats in `HELP SELECT` response" ## 2023.340 ## Added - fdsnws2ql - Consider command-line options. - Do not update events when using `interval` with negative values. - Add examples to command-line help. - Allow `unknown` as event type in CSV response ## 2023.324 ### Changed - Update SQLite library to 3.44.0. ## 2023.318 ### Changed - Remove legacy SeisComP3 support ## 2023.312 ### Fixed - `--update-log` event log file generation which has generated invalid counters in some cases. ## 2023.237 ### Fixed - FDSNWS implements the `estatus` query parameter as list of status values and not just a single value. Example: `&estatus=reviewed,confirmed` ## 2023.202 ### Changed - Extract summary event region also from EventDescription with type "Flinn Engdahl region" as fallback. ## 2023.151 ### Fixed - Fixed FDSNWS query parameter endtime handling ## 2023.143 ### Fixed - If `QL.filebase` is reconfigured then `QL.database` will adopt for this new directory unless explicitly configured otherwise. ## 2023.068 ### Changed - Removed inventory support from import and output tools documentation - qltool - Add processing script option to postprocess XML files received via select. - Check server identification returned by HELLO command to ensure we are talking to a QuakeLink server. - Verify SSL certificate and hostname. - Add options to bypass certificate and hostname check. - Return status code 0 only if no errror occured. - Catch BrokenPipeError. - General code clean up and modernization. - Remove inventory support - Improve gzip response handling ## 2023.060 ### Fixed - Fixed segmentation fault in HTTP connection in combination with timeout configuration. ## 2023.055 ### Fixed - Fixed segmentation fault that has occurred with hundreds of concurrent connections. ## 2023.054 ### Fixed - Fixed linking issue that could cause segmentation faults under some circumstances in combination with an updated libseiscomp_gempautils. ## 2023.051 ### Fixed - Fixed segmentation fault in combination with HTTP timeouts ### Changed - Slightly increase bounding box used in distance queries to avoid corner cases due to numeric precision - Improve FDNSWS and DYFI test cases ## 2023.046 ### Added - Add more debug messages for http sessions ## 2023.045 ### Fixed - Fixed segmentation fault in number to string conversion ## 2023.011 ### Changed - Change favicon, add SVG and PNG variants ## 2022.298 ### Changed - Update SQLite library to 3.39.4 to fixing CVE-2022-35737. ## 2022.290 ### Added - The module qlplayback allows real-time playbacks of event parameters by feeding them into a QuakeLink server. ## 2022-07-13 ### Added - Support for JSON format at FDSNWS event service interface. - Author information in JSON format if allowed by configuration. ## 2022-07-06 ### Added - Implement FDSNWS event service. - Support multi event XML response on HTTP interface. - Debug option to print DB query string: `QL.database = .../events.db?debug`. ### Changed - Agency filter parameter on HTTP only supported in combination with `QL.http.allowNativeAttributes = true`. ### Fixed - Memory leak in case of XML read errors. - favicon.ico path and content type. - HTTP font kerning problems. ## 2022-05-13 ### Fixed - Fix `>=` operator of dist filter. ### Changed - Set file permissions of fdsnws2ql journal files according to umask. ## 2022-05-04 ### Changed - Update command-line help and documentation for qlpush. ## 2022-05-03 ### Added - Add events distance query to where clause: `where dist(12,34) < 1000`. ## 2022-03-28 ### Changed - Update command-line help for qltool and qlpush. ## 2022-03-16 ### Changed - The event order in the HTML event browser is restored to ascending origin time. ## 2022-03-03 ### Changed - Move journal dir for the fdsnws2ql plugin from var/run to var/lib ## 2022-03-02 ### Changed - The default ordering of event request is now according to the timestamp of modification. Ordering by origin time or other attributes must be requested explicitly. ## 2022-03-01 ### Changed - Populate Content-Timestamp in updated packets ## 2022-02-28 ### Changed - Updated parameter description of fdsnws2ql ## 2022-01-14 ### Added - Support to query/upload DYFI information without username and password - New DYFI query option `offset` which can be used to define an offset within the result set - Distance of the circular DYFI query can be given in degree ## 2022-01-13 ### Fixed - Fixed unresponsible service in combination with DYFI requests ## 2022-01-04 ### Added - author, estatus and emode query parameters - format URL parameter allowing to request summary/2 format at HTTP interface ## 2021-12-21 ### Fixed - **DYFI** status HTTP GET URL parameter ### Changed - Output of HELP SELECT command to include ORDER BY MAG option ## 2021-11-15 ### Added - New configuration parameter `QL.maxRevisionsPerEvent` to limit the maximum number of event revisions. The default limit is 1000. ## 2021-11-03 ### Added - Support for order by magnitude - Support for GeoJSON in DYFI access (SC API >= 14.3.0) ### Changed - Increase API version to 3 ## 2021-10-22 ### Fixed - Shutdown of the server at startup with activated DYFI feature ## 2021-10-07 ### Fixed - Event browser response when an event revision is parsed and an extension was added to the event ID. It now returns 404 rather than ignoring the extension. ## 2021-10-01 ### Added - DYFI request support to QL protocol - HTTP DYFI arrival query to return felt reports which are within a search mask formed by a travel time curve (S-phase) and its uncertainty. - Support for schema 0.12 ## 2021-06-16 ### Fixed - Broken DYFI circular region query - DYFI help page ## 2021-03-22 ### Important - This release extends the DYFI datamodel by new fields. The new datamodel is very similar to the SeisComP datamodel except that the public ID is part of the felt report table. Please run the database migration scripts to migrate existing databases. ### Added - **DYFI** link to QuakeLink index page - **DYFI** overview page that displays available filter options and example queries. ## 2021-03-12 ### Added - Heartbeat operation to the plugin protocol ## 2020-10-06 ### Fixed - `QL.http.rootURL` feature broken by previous update ## 2020-09-29 ### Added - HTTP `rev` request parameter allowing to request XML for particular event revision. - More information and XML download link in event and revision page of event brower. ## 2020-09-15 ### Added - Option to configure long polling timeout. By default QuakeLink accepts HTTP requests which are queued until the requested data are available. That could be forever. If being ran behind a proxy it might be useful to configure a timeout at QuakeLink to return an empty document rather than receiving a timeout error (504) from the proxy. ``` # Set long polling timeout to 60 seconds QL.http.timeout = 60 ``` ## 2020-05-14 ### Fixed - Crash when an XML without namespace was fed into QuakeLink ## 2020-04-22 ### Fixed - Bug with libboost 1.67 on Debian 10 which caused SELECT queries to fail with there are whitespaces between a comparator and a value in a WHERE clause ## 2020-04-07 ### Added - SUMMARY/2 request format providing access to author information as well as individual evaluation mode and evaluation status - Support filtering of estatus and emode in WHERE clause of SELECT queries - Use SQlite 3.31.1 - Increase API version to 2 ## 2019-12-02 ### Added - Config option `QL.enableKeepAlive`. By default clients need to request keep alive messages up on connection. Set this flag to true to enable the sending of keep alive messages for the native QuakeLink protocol by default. ## 2019-09-20 ### Added - Check for duplicate event revisions which will be ignored. Pushing the same content twice will reject the duplicate ## 2019-08-01 ### Fixed - Segfault caused by an error in the database access routines ## 2019-06-05 ### Fixed - Segfault caused by invalid password hash in users htpasswd file ## 2019-04-11 ### Fixed - Segfault caused by missing check ## 2019-03-15 ### Fixed - Segfault caused by an error in the database interface implementation ## 2018-12-11 ### Added - Support for SC3 schema 0.11 ## 2018-11-29 ### Fixed - Authentication check ## 2018-09-11 ### Changed - Made password encryption thread safe ## 2018-08-20 ### Changed - Internal database connection handling ## 2018-05-29 ### Changed - Allow configuration of SSL plugin port ## 2018-05-03 ### Fixed - FocalMechanism indexing which did not work correctly with updates. Users are encouraged to resync their database with `--sync-db`. ## 2018-01-24 ### Fixed - HTTP status response header ## 2017-08-03 ### Changed - Origin evaluationStatus character mapping: map REVIEWED to 'V' and FINAL to 'F' instead of 'C' ## 2017-07-03 ### Changed - Event agencyID in summary is read from event and then from origin if unset ## 2017-06-15 ### Changed - Internal code clean-up ## 2017-06-14 ### Fixed - Another possible deadlock of QuakeLink ## 2017-06-06 ### Fixed - Deadlock of QuakeLink that occured at some long polling HTTP requests - Parsing of event query filter which caused an infinite polling loop in combination with GAPS ## 2017-06-01 ### Changed - QuakeLink will not use a fallback region if not part of an event being received ## 2017-02-08 ### Added - ORDER BY and LIMIT statements to SELECT query for QL protocol ## 2016-06-21 ### Changed - Use socket timeout of 60s if keepAlive is activated ### Fixed - Export preferred magnitude even if inside another origin ## 2016-05-30 ### Fixed - Export moment tensors derived origin with XML ## 2016-05-10 ### Changed - HTTP is now allowed by any license unless explicitely disabled ## 2015-08-25 ### Changed - JSON response returns now dates in ISO format and not Unix epoch. To distinguish between both formats the mime-type is set to `application/json;charset=utf-8;version=2` including the version information ## 2015-07-07 ### Fixed - Memory leak for event summary requests