Skip to content

Releases: EarthScope/ringserver

v4.0.0

24 Nov 21:28
Compare
Choose a tag to compare

Note

The ring buffer format has changed in this release. Older versions of the saved buffer format will be converted for a seamless upgrade. Once this conversion is completed, older releases of ringserver will detect the buffer as corrupt and discard the contents, a consequence of downgrading to an earlier release.

Major new features:

  • Add support for SeedLink protocol version 4.
  • Support for buffer sizes up to UINT64_MAX (aka more than you need).
  • Map 24-bit SeedLink v3 sequence numbers into 64-bit range, allowing v3 clients to resume from the most recent 16,777,215 packets in the buffer even if the buffer can contain more packets.
  • Add support for TLS/SSL using mbedtls release 3.6.2
  • Add TLS flag for listening port configuration
  • Add TLSCertfile, TLSKeyFile, and TLSVerfiyClientCert parameters (and equivalent environment variables) for TLS configuration.
  • Allow DataLink v1.1 WRITE command to accept a packet ID.
  • All configuration options can be specified with environment variables.
  • Container images are built for release versions and published to Docker Hub: https://hub.docker.com/repository/docker/earthscope/ringserver/general

Other changes:

  • Add HTTP endpoints that return status information in JSON format: /id/json, /streams/json, /status/json, /connections/json
  • Add -C command line option to print a reference configuration file.
  • Add HTTPPort parameter, RS_HTTP_PORT evnvvar, and -HL option for HTTP-only ports.
  • Automatically convert packet buffer from previous version to current.
  • Convert internal time stamps from microsecond ticks (hptime) to use nanosecond ticks, as used by the libmseed3.
  • Most generated time strings are now YYYY-MM-DDThh:mm:ss.sss*Z formatted.
  • All legacy stream IDs for miniSEED of the form: NN_SSSSS_LL_CCC/MSEED will be converted to FDSN Source ID form: FDSN:NN_SSSSS_LL_C_C_C/MSEED.
  • Allow ring size to be specified in fractional large units, e.g. "1.5g".
  • Update libmseed to 3.1.3, adapt for miniSEED 3 API.
  • Upgrade to PCRE2 10.44 from legacy PCRE.
  • Upgrade mini-XML (mxml) to 4.0.3.

v2020.075

17 Mar 17:17
Compare
Choose a tag to compare
  • Fix resuming SeedLink connections when both sequence and begin time are included in multi-station mode.
  • Add IPv6 support, on by default if supported by the system.
  • Add ability to serve variable miniSEED record lengths via SeedLink.
  • Add ability to scan variable miniSEED record length via file scanning.
  • Apply LimitIP SourceID pattern to limit what a client can write in addition to read.
  • Update libmseed to 2.19.6.
  • Update mini-XML library to 3.1.
  • Update pcre library to 8.43.
  • License ringserver specific code as Apache 2.

v2018.078

19 Mar 20:56
Compare
Choose a tag to compare
  • Add MIME-type mappings for static files with extensions: htm, css, xml, json, text. Already supported were html, js and txt.

v2018.054

23 Feb 18:40
Compare
Choose a tag to compare
  • Fix unmasking of received data for DataLink over WebSockets

v2018.050

20 Feb 05:08
Compare
Choose a tag to compare
  • Change output of /streamids to always be only stream IDs (no type included)

v2018.047

17 Feb 00:32
Compare
Choose a tag to compare
  • Add HTTPHeader config file parameter that specifies custom HTTP headers that will be added to HTTP responses.
  • Decode percent-encoded URLs (for HTTP).
  • Append 'Z' time zone designator to earliest and latest times in HTTP streams output.
  • Add /streamids endpoint to HTTP support to return a list of streams. This is similar to the /streams endpoint but without the time extents. The /streamids endpoint is consistent, always and only a list of streams.
  • Disallow SeedLink TIME requests with future start time, return error to the client.
  • Update mini-XML library to 2.11.
  • Update pcre library to 8.41.

v2017.052

21 Feb 22:38
Compare
Choose a tag to compare
  • Fix time windowing when the TimeWindowLimit configuration option is set.
  • Check for and echo WebSocket sub-protocols:
    • SeedLink at /seedlink endpoint: 'SeedLink3.1'
    • DataLink at /datalink endpoint: 'DataLink1.0'

v2017.012

14 Feb 06:34
Compare
Choose a tag to compare
  • Network listening ports can now optionally respond to any supported protocol (DataLink, SeedLink and HTTP). This major refactor of client handling code reduces redundancy and adds flexibility. A new config file parameter ListenPort and command line option -L are used to specify such a listening port.
  • Add minimalistic HTTP server support, an optional directory can be specified from which files will be returned by HTTP when requested with an HTTP GET request. See HTTP details in manual for an overview of support
  • Add WebSocket support for both DataLink and SeedLink.
  • Add TrustedIP config file parameter to control access to server connection list and detailed status.
  • AutoRecovery value of 2 now instructs the server to delete the packet buffer and stream index files when corruption is detected.
  • Make sure the MSeedScan config file parameter is not treated as a dynamic parameter to avoid multiple scanning threads when the config file is re-read when changed.
  • Reformat source code using included clang-format profile.
  • Update libmseed to 2.18.
  • Update Mini-XML (mxml) to 2.10, apply patch to fix memory leak.
  • Update pcre to 8.39.
  • Reorganize common RecvData() and SendData() and improve.