------------------------------------------------------------------- Fri Jan 2 10:38:34 UTC 2026 - Andreas Stieger - update to 3.2.3: * 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() ------------------------------------------------------------------- Sat Dec 27 09:53:31 UTC 2025 - Andreas Stieger - update to 3.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 ------------------------------------------------------------------- Sat Dec 20 18:36:37 UTC 2025 - Andreas Stieger - update to 3.2.1: * Multiple API changes and updates * Update internal selection matching to support ! in addition to ^ for character class negation and handle edge cases more robustly. * Bug fixes and updates to tests ------------------------------------------------------------------- Fri Oct 31 08:14:47 UTC 2025 - Andreas Stieger - update to 3.1.11: * Fix byte swapping in ms3_detect() for v3 records for big-endian systems * Add MSF_SKIPADJACENTDUPLICATES to skip adjacent duplicate records while populating a MS3TraceList ------------------------------------------------------------------- Sun Oct 26 07:24:07 UTC 2025 - Andreas Stieger - update to 3.1.10: * Add MSF_SPLITISVERSION flag to control using the splitversion value as the version instead the record publication version for mstl3_addmsr() and variants ------------------------------------------------------------------- Fri Sep 26 20:03:33 UTC 2025 - Andreas Stieger - update to 3.1.9: * 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. ------------------------------------------------------------------- Mon Sep 15 16:32:55 UTC 2025 - Andreas Stieger - update to 3.1.8: * 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() ------------------------------------------------------------------- Sat Aug 23 15:42:41 UTC 2025 - Andreas Stieger - update to 3.1.7: * Avoid fatal errors when v2 record blockettes contain invalid time stamps. When invalid SEED "btime" values * Limit float point values in extra headers to single precision to avoid unrealistically high precision values in the output ------------------------------------------------------------------- Mon Jul 28 18:29:35 UTC 2025 - Andreas Stieger - update to 3.1.6: 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. ------------------------------------------------------------------- Sat Apr 26 07:15:44 UTC 2025 - Andreas Stieger - update to 3.1.5: * Change the default initialization for MS3Record.starttime to NSTUNSET. Previously this was a value of 0, corresponding to 1970-01-01T00:00:00Z. * Add support for generating SourceIDs from SEED codes with (illegal) spaces. * ms_sid2nslc() is deprecated * API extensions and bug fixes ------------------------------------------------------------------- Wed Feb 12 06:58:16 UTC 2025 - Andreas Stieger - initial package