Change Log

All notable changes to QuakeLink will be documented in this file.

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