Releases: EarthScope/libmseed
Releases · EarthScope/libmseed
v3.2.3
v3.2.2
- 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
- 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
- Add generator-style packing interfaces for
MS3RecordandMS3TraceList. 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
- Fix byte swapping in
ms3_detect()for v3 records for big-endian systems. Thanks @gempa-jabe for reporting. - Add
MSF_SKIPADJACENTDUPLICATESto skip adjacent duplicate records while populating a MS3TraceList.
v3.1.10
- Add
MSF_SPLITISVERSIONflag to control using thesplitversionvalue as the version instead the record publication version formstl3_addmsr()and variants. - Add missing functions to libmseed.def for Windows library exports.
v3.1.9
- Add
mstl3_pack_ppupdate_flushidle()for packing idle streams in combination with the use ofMSF_PPUPDATETIMEduring trace list additions. - Convert
mstl3_addmsr()from a macro to a real (thin) function.
v3.1.8
- Add
mstl3_pack_segment() - Deprecate
mstraceseg3_pack()in favor ofmstl3_pack_segment() - Ensure segments represent time coverage before adding new samples in
mstl3_addmsr()/mstl3_addmsr_recordptr()
v3.1.7
- Properly round negative values when converting floats to integers in
mstl3_convertsamples(). - Add
ms_nstime2timestr_n()with string size limit, deprecatems_nstime2timestr(). - With
ms_nstime2timestr_n()print "ERROR" forNSTERRORand "UNSET" forNSTUNSET. - 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
NSTERRORand 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
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.