Skip to content

v4.0.0

Latest
Compare
Choose a tag to compare
@chad-earthscope chad-earthscope released this 24 Nov 21:28
· 23 commits to main since this release

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.