Releases: arbCoding/sac-format
Releases · arbCoding/sac-format
v0.4.0
Another step toward v1.0!
- Installers have been added. For Windows an NSIS graphical installer is used (also handles uninstall). macOS and Linux use gzipped tar archives (.tar.gz), they also use self-extracting gziped-tar archives (.sh).
- Setter rules have been added to: stla, stlo, evla, evlo, npts, data1, data2, leven, and iftype. Documentation reflects the change.
- Safer geometric functions (still spherical Earth assumption).
- Now check for SAC file corruption while reading and throw sacfmt::io_error if the file fails.
- Stricker compliance with C++ best practices (safer, cleaner code).
What's Changed
- Begin development of v0.4.0 by @arbCoding in #12
- Safer geometric functions. Testing updates, documentation improvements. by @arbCoding in #13
- Safer reading. by @arbCoding in #14
- Unit-tests for reading corrupt sac-files have been added (make sure t… by @arbCoding in #15
- Finalized file-corruption checking-throwing on sac-file read. Unit-te… by @arbCoding in #16
- More Automatic Compliance with the format. by @arbCoding in #17
- Stricter compliance with C++ best-practices, enforced by stricter rul… by @arbCoding in #18
- Code cleanup by @arbCoding in #19
- Create codeql.yml by @arbCoding in #20
- Typo in documentation. Typo in codeql.yml by @arbCoding in #21
- CPack packaging on Linux. by @arbCoding in #22
- Adding macOS and Windows packaging by @arbCoding in #23
- GitHub release workflows by @arbCoding in #24
- Fixed release workflows by @arbCoding in #25
- Typo in Linux and macOS release workflows on action name. Fixed by @arbCoding in #26
- Another fix for the automated release workflows. by @arbCoding in #27
- Apparently release types do not work with the workflows by @arbCoding in #28
- Added bashisms for obtaining the version and arch information because… by @arbCoding in #29
- upload-on-release is problematic. It doesn't work on windows or mac (… by @arbCoding in #30
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Another step forward to v1.0!
In this jump sac-format becomes both safer, faster, and has some added functionality in the form of calculating great-circle arc (gcarc) distance and azimuth angles assuming a spherical planet.
Notable changes
- Testing against the big 3 OSes (Linux, macOS, and Windows) takes place on pull requests to main.
- C++ standards compliance and linting has been added through the automated linting workflow to ensure clean, safe, and optimized code.
- The addition of throwing the custom sacfmt::io_error exception on read/write failures allows the library user to perform error handling, instead of the library passing a message into std::cerr (set behavior for user, bad).
- The addition of geometric functions, gcarc and azimuth (using spherical planet assumption, future work may include defining an ellipsoid to make more accurate calculations).
- Helper functions radians_to_degrees and degrees_to_radians were added for the use of gcarc and azimuth.
- Addition of noexcept specifier to functions/methods that do not throw exceptions.
- Various minor changes to documentation.
What's Changed
- Testing github workflow and merging changes between devel and main (just typographical fixes) by @arbCoding in #3
- Back propagate merge by @arbCoding in #4
- Workflow updates from devel to main by @arbCoding in #5
- Devel by @arbCoding in #7
- C++ Standards Compliance and linting. by @arbCoding in #8
- Windows and macOS workflows added by @arbCoding in #9
- Devel to Main by @arbCoding in #10
- Custom exceptions and greater type safety. by @arbCoding in #11
Full Changelog: v0.2.0...v0.3.0
sac-format v0.2.0
Originally my goal was only to migrate from using Make to using CMake. Then I got inspired and rewrote a large chunk of the sac-format library.
Major changes from v0.1.0:
- namespace is now sacfmt
- SacStream is now Trace
- Parameters are no longer directly accessible, now you must use the setters and getters. (e.g., instead of trace.npts, use trace.npts(), or trace.npts = 10 becomes trace.npts(10))
- Parameters are now stored in private arrays and getters/setters access via a look-up table using class enumaration (much safer against coding errors)
- Added trace comparison functionality
- Now uses CMake
- Documentation on github.io and as a pdf
- Migrated from markdown to org for consistent text generation
- Unit-testing with Catch2
- Benchmarking with Catch2
- Added an example program
- Compiles as a statically linked library to simplify usage
And generally cleaner code through linting.
Cheers!
sac-format v0.1.0 (historic)
This is the first working version from GitHub. Used in PsSp and possibly other places.
This is being made into a release to prevent breaking any workflows during the transition to the new Trace class and CMake integration.