Skip to content

Releases: EarthScope/libmseed

v3.2.3

01 Jan 22:35

Choose a tag to compare

  • Add mseh_get_ptr_type() to determine type of an extra header.
  • Add unsigned integer (uint64_t) support to mseh_set_ptr_r() and mseh_get_ptr_r().

v3.2.2

26 Dec 19:30

Choose a tag to compare

  • Allow mseh_set_ptr_r() to create extra headers when none exist for a Merge Patch using the root pointer (""). Pointers to non-root locations still must exist. Recommend use for Merge Patch operations is to always use the root pointer ("") for consistency.

v3.2.1

20 Dec 17:37

Choose a tag to compare

  • Rename ms3_mstl_init_fd() to ms3_msfp_init_fd() and add backward compatibility.
  • Add -fPIC to the build options for the static library target.
  • Update internal selection matching to support ! in addition to ^ for character class negation and handle edge cases more robustly.
  • Avoid modifying record buffer during v3 CRC check and add CRC validation to testing.
  • Add v3 parsing test for ensuring header-indicated lengths are sane.
  • Small fixes of logic errors and increased portability.
  • Add GitHub action to build and test on multiple platforms.
  • Fix Windows symbol issues and CMake configuration.

v3.2.0

11 Nov 22:22

Choose a tag to compare

  • Add generator-style packing interfaces for MS3Record and MS3TraceList. Specifically these interfaces:
    • msr3_pack_init(), msr_pack_next(), msr_pack_free()
    • mstl3_pack_init(), mstl3_pack_next(), mstl_pack_free()
  • Fix mstl3_pack_ppupdate_flushidle() logic to flush only idle streams.
  • Fix memory leak in mseh_replace().
  • Addition of a CMake build system contributed by @lsawade, thank you!

v3.1.11

31 Oct 00:07

Choose a tag to compare

  • Fix byte swapping in ms3_detect() for v3 records for big-endian systems. Thanks @gempa-jabe for reporting.
  • Add MSF_SKIPADJACENTDUPLICATES to skip adjacent duplicate records while populating a MS3TraceList.

v3.1.10

25 Oct 18:03

Choose a tag to compare

  • Add MSF_SPLITISVERSION flag to control using the splitversion value as the version instead the record publication version for mstl3_addmsr() and variants.
  • Add missing functions to libmseed.def for Windows library exports.

v3.1.9

24 Sep 23:15

Choose a tag to compare

  • Add mstl3_pack_ppupdate_flushidle() for packing idle streams in combination with the use of MSF_PPUPDATETIME during trace list additions.
  • Convert mstl3_addmsr() from a macro to a real (thin) function.

v3.1.8

14 Sep 23:01

Choose a tag to compare

  • Add mstl3_pack_segment()
  • Deprecate mstraceseg3_pack() in favor of mstl3_pack_segment()
  • Ensure segments represent time coverage before adding new samples in mstl3_addmsr()/mstl3_addmsr_recordptr()

v3.1.7

22 Aug 21:46

Choose a tag to compare

  • Properly round negative values when converting floats to integers in mstl3_convertsamples().
  • Add ms_nstime2timestr_n() with string size limit, deprecate ms_nstime2timestr().
  • With ms_nstime2timestr_n() print "ERROR" for NSTERROR and "UNSET" for NSTUNSET.
  • Avoid fatal errors when v2 record blockettes contain invalid time stamps. When invalid SEED "btime" values (e.g. with day-of-year 1000) are encountered they are now set to NSTERROR and serialized in extra headers as "ERROR".
  • Limit float point values in extra headers to single precision to avoid unrealistically high precision values in the output
  • Update yyjson to v0.12.0

v3.1.6

27 Jul 00:12

Choose a tag to compare

Important

Use cases creating miniSEED v2 records with microsecond resolution and non-integer sampling rates are strongly encouraged to update to this release to retain full microsecond accuracy in created data.

  • Properly propagate sub-fractional microseconds to v2 blockette 1001 when packing more than one record.
  • Round sub-fractional and sub-microsecond times for v2 record fields to retain accuracy.
  • Ensure microsecond offsets in v2 record fields are -50 to +49, which matches previous major library version behavior and SEED recommendation.
  • Add msr3_repack_mseed2() to repack v2 records efficiently without decoding data samples.
  • Add -s (start time) and -R (sample rate) options to example/lm_pack.c.
  • Fix some pedantic compiler warnings in msio.c.