Starting from v2.2.5, all notable changes to this project will be documented in this file.
This release focuses on LAN accessibility and deployment security, introducing mDNS-based local network discovery and a stronger authentication pipeline.
With built-in mDNS discovery, AnyShake Observer can now be found more easily on the same local network without manual IP lookup, improving setup convenience in home and lab environments. In parallel, authentication and runtime hardening updates improve reliability across both plain HTTP and constrained deployment scenarios.
- Added mDNS local network discovery, allowing clients on the same LAN to discover AnyShake Observer instances automatically.
- Added Proof-of-Work (PoW) validation in authentication flow to improve resistance against abusive login traffic.
- Implemented AES-GCM + RSA hybrid login support over plain HTTP environments.
- Added support for running the Observer service as
nobodyfor reduced privilege operation. - Added spectrogram zoom in/out support in the web frontend.
- Introduced
schema_versiontable for future database migration compatibility.
- Improved frontend localization consistency by merging and refining translation resources.
- Cached user status data to reduce repeated computation and improve response performance.
- Reduced hard-coded keys in code paths to improve maintainability.
- Refined active menu item styles for better UI consistency.
- Fixed login failures in specific plain HTTP deployment environments.
- Fixed CI build failure in release pipeline.
- Fixed database migration behavior by using the explicitly specified table name.
This release focuses on MQTT connectivity robustness and operational convenience, introducing configurable MQTT Client ID support and in-app restart capability.
By allowing explicit control over the MQTT Client ID, AnyShake Observer can now avoid client collisions and better integrate with managed brokers and shared infrastructures. In addition, the new in-app restart mechanism improves maintainability by enabling controlled restarts without external process management.
- Added support for configurable MQTT Client ID, allowing users to explicitly define the client identifier used when connecting to the MQTT broker.
- Added support for in-app restart, enabling the service to restart itself without external supervisors or manual intervention.
This is a minor performance and stability release focused on UI responsiveness and upgrade robustness.
The main highlight is spectrogram rendering optimization, significantly improving smoothness and reducing frame drops during real-time visualization. In addition, several upgrade and startup edge cases have been tightened to avoid misleading states and permission-related failures.
- Optimized spectrogram rendering pipeline, improving frame rate and interaction smoothness during real-time display.
- Reduced unnecessary redraws in the frontend, lowering CPU usage under continuous data streams.
- Fixed upgrade status priority logic, ensuring correct status reporting when multiple upgrade conditions overlap.
- Added write permission checks before startup to prevent silent failures during initialization.
- Explicitly specified HTTPS scheme in CSP sources, avoiding mixed-content and policy resolution issues in some browsers.
This release introduces configuration flexibility and frontend observability improvements, focusing on custom sensor adaptability and web-based data visualization.
By allowing users to define custom sensor parameters, AnyShake Observer can now better support experimental setups. In parallel, the web frontend gains spectrogram viewing capability, improving real-time signal inspection directly from the browser without requiring local analysis tools.
- Added support for custom sensor parameters, enabling flexible definition of sensor characteristics beyond predefined device profiles.
- Added spectrogram viewer to the web frontend, allowing users to visualize frequency-domain data directly in the browser.
- Removed unavailable earthquake event data sources: Sichuan Earthquake Administration (Bulletin), Australian Passive Seismic Server.
This is a minor bugfix release focused on data correctness and metadata accuracy, addressing issues discovered after v4.3.0.
- Support E-C131G device metadata.
- Fixed sign extension for 24-bit signed integer data, correcting decoding errors caused by non-standard integer width.
- Updated device gain values to ensure metadata accuracy and correct amplitude scaling.
This release focuses on reliability, maintainability, and long-term operability, with a strong emphasis on automatic upgrade infrastructure, time synchronization precision, and network robustness.
The introduction of a fully integrated automatic upgrade mechanism significantly reduces maintenance overhead, allowing AnyShake Observer to stay up to date with minimal user intervention. At the same time, continued refinements to NTP, GNSS time handling, and clock drift compensation further improve timestamp accuracy in both online and offline deployments.
This version also delivers multiple stability fixes across protocol handling, metadata accuracy, and connectivity edge cases, ensuring smoother long-term operation in production environments.
With this release, AnyShake Observer gains the ability to self-update safely and predictably, including version compatibility checks and support for pre-release channels. Time synchronization logic has been further refined to better handle local clock drift, network latency, and unstable environments, while new mechanisms improve real-time data forwarding and observability.
Several internal refactors improve correctness and reduce subtle failure modes, particularly in device metadata, file handling, and protocol behavior.
- Implemented automatic upgrade system, enabling seamless version updates.
- Added support for pre-release versions in the build and upgrade pipeline.
- Enabled treating Git tags as latest releases for version resolution.
- Introduced real-time data forwarding, allowing external consumers to subscribe to live streams.
- Added manual delay control for the built-in NTP server.
- Improved NTP server accuracy, including higher-precision reference handling.
- Set GNSS as NTP server refid, improving traceability and diagnostics.
- Enhanced clock drift compensation to better handle long-running deployments.
- Improved time synchronization accuracy under unstable local clocks.
- Added latest log viewing support via internal logging refinements (infrastructure side).
- Fixed connectivity issues with CWA data source, improving reliability.
- Corrected gain values for accelerometer metadata.
- Fixed file ID changes caused by list updates.
- Resolved TCP read blocking issues.
- Fixed incorrect gain factors in device metadata.
- Fixed Docker build failures and related build inconsistencies.
- Corrected versioning and build flag handling issues.
- Fixed protocol handling regressions affecting frame stability.
- Resolved time drift issues in NTP mode under certain conditions.
- Fixed typos in logs and diagnostics output.
- Improved robustness of local clock drift handling to prevent cascading timestamp errors.
This release brings a wide range of time synchronization enhancements, stability improvements, and new data sources. The configuration field ntpclient.endpoint is now deprecated and replaced by ntpclient.pool, enabling synchronization with multiple NTP servers for significantly improved network time accuracy. At the same time, the synchronization mechanism has been further refined, taking overall stability and precision to the next level.
Our crowdfunding campaign has successfully concluded, and we sincerely thank every supporter — your trust and encouragement continue to drive us forward. With this milestone achieved, we are now preparing to enter mass production, moving ahead with confidence toward the official shipment of AnyShake.
This version achieves complete independence from the system clock — even if the system time experiences large jumps, the internal clock of AnyShake Observer remains unaffected. In GNSS mode, the software can now run entirely offline and also act as an NTP server for other devices on the local network. For example, if there are devices in your LAN without GNSS capability but still requiring high-precision time synchronization, you can simply point their NTP address to AnyShake Observer.
In addition, this update introduces several new seismic data sources, further expanding available monitoring channels.
This release introduces major improvements in time handling, data sources, and usability features to make AnyShake Observer more reliable and versatile across deployment scenarios.
- Added Mexican National Seismological Service data source.
- Improved tolerance to timestamp jitter.
- Implemented reliance on monotonic time, completely removing dependency on the system clock.
- Introduced an NTP forwarding service, allowing the system to act as a Stratum 1 time source.
- The Web panel now supports viewing the latest logs.
- Achieved higher-precision timestamps.
- In GNSS mode, NTP synchronization can now be skipped to allow fully offline operation.
- Added Polish translation (#33).
- Optimized browser rendering styles on Windows.
- Added British Geological Survey (BGS) data source.
- Changed configuration from
ntpclient.endpointtontpclient.pool, enabling synchronization with multiple NTP sources.
This version also delivers critical stability fixes and platform compatibility improvements, ensuring more robust performance under diverse conditions.
- Fixed build failure and availability on Windows 7.
- Program now returns error code 1 on fatal errors, allowing external shells to capture and handle it.
- Allowed unlimited systemd restart attempts, especially useful when USB serial ports are disturbed.
- Fixed buffer overflow issue in Protocol v3 that could cause a panic.
- Added dynamic compensation in NTP mode to correct time drift caused by oscillator frequency deviation.
- In GNSS mode, host time is now always synchronized with AnyShake Explorer.
- Implemented link delay compensation during transmission.
- Added DNSCrypt-based resolution of
scweb.cwa.gov.twto avoid DNS spoofing in China. - Fixed SQLite compatibility issues on platforms such as Windows 386.
- Resolved a Protocol v2 defect that could cause infinite synchronization attempts.
This update continues our mission to make seismic monitoring more powerful, accessible, and secure. It adds key network and time-handling improvements, introduces better fault tolerance, and enhances QuakeSense detection flexibility. With this release, AnyShake Observer becomes even more robust in various deployment environments.
Don’t miss out on the launch of AnyShake Explorer — our open-source, high-performance seismic acquisition hardware. Available now on Crowd Supply: www.crowdsupply.com/senseplex/anyshake-explorer
This version delivers major reliability enhancements to time synchronization, networking flexibility, and QuakeSense analytics. It also features UI polish, bug fixes, and better compatibility across diverse user environments.
- Integrated FRP (Fast Reverse Proxy) client service for connecting devices behind NAT/firewall.
- Built-in public FRP server support for quick remote access without external configuration.
- Added support for custom TLS settings to improve secure deployment scenarios.
- Random topic assignment in QuakeSense for enhanced event stream handling in distributed setups.
- Fixed time offset issues after system hibernation (e.g., on battery powered laptops), ensuring consistent timestamps.
- Improved NTP mode accuracy under varying system load conditions.
- Resolved a bug causing FRP connections not to close cleanly, preventing potential resource leaks.
- Fixed login error prompts to show more informative messages on failure.
- Normalized comparison logic between null values and empty arrays, reducing edge case errors.
- Moved potentially blocking code into goroutines to ensure timeout mechanisms work properly.
- Removed an invalid protocol entry to prevent runtime parsing issues.
- Corrected several minor typos and documentation mismatches.
- Refined login error UI for better user experience.
- Removed background colors on images for a cleaner visual presentation.
- Applied minor style and layout adjustments for consistent appearance.
This patch release focuses on improving stability, performance, and overall robustness. It resolves several critical issues, including a potential crash in the helicorder module, and introduces subtle improvements to the application's lifecycle management and UI.
This update enhances reliability during seismic clip exports and real-time data handling, ensuring smoother operation in both background services and user interactions.
- Added timeout control for service modules to prevent indefinite blocking and ensure smoother background operations.
- Introduced a timeout threshold for program exit, improving stability during abnormal shutdown scenarios.
- Fixed FIR filter issues in the QuakeSense module and WAV audio export to restore accurate signal processing.
- Corrected a UI issue where buttons did not reset properly after submitting field settings.
- Fixed a critical integer divide by zero error in the helicorder module that could cause application crashes during rendering.
- Validated helicorder settings before applying them to prevent runtime configuration errors.
- Improved system resilience by adding connectivity checks before reporting status.
- Normalized string comparisons to avoid subtle logic errors.
- Updated broken documentation links for easier access to support materials.
- Applied minor style adjustments for improved visual consistency.
This patch release focuses on reliability improvements and critical bug fixes. It introduces STEIM2 compression support for MiniSEED export and resolves issues affecting helicorder rendering and token expiration.
Enhancements in this version contribute to better performance, interoperability, and system integrity, especially when exporting seismic clips and managing real-time data views.
- Added support for exporting MiniSEED clips with STEIM2 compression, fixing Waves' compatibility issue on INT32 encoding.
- Fixed a division by zero error in the helicorder generator under certain data conditions.
- Corrected an issue where temporary tokens never expired, improving session security and compliance.
A minor but essential update focusing on stability, performance, and new regional data support. This release continues our commitment to delivering high-quality, open-source seismic monitoring software.
This version includes critical bug fixes, UI improvements, and a new data integration, further enhancing the reliability and usability of the AnyShake Observer platform.
- Added Thai Meteorological Department as a new data agency, expanding regional data support.
- Enhanced UI to highlight unsaved changes, reducing the risk of accidental data loss.
- Optimized error handling for more robust system behavior.
- Fixed a link error with Go 1.24.3 that could cause build failures on Darwin.
- Prevented unnecessary message bus re-creation, improving runtime stability.
- Corrected translation keys for more accurate localization.
We are proud to announce AnyShake Observer v4.0.0, a major release that marks a transformative step forward in our seismic monitoring software. This update is incompatible with all previous versions due to significant architectural changes and feature enhancements.
Alongside this release, we are launching the AnyShake Explorer, a fully open-source, low-cost, and reliable seismic data acquisition device. Designed for researchers, hobbyists, and professionals alike, the Explorer integrates seamlessly with AnyShake Observer and sets a new standard for affordable and powerful seismology tools.
This version represents a leap forward in terms of usability, security, reliability, and functionality — setting a new benchmark in open-source seismic software.
- Simplified deployment with just 40 lines of configuration to get started.
- Full support for legacy v1, mainline v2, and latest v3 protocols used by AnyShake Explorer.
- Enhanced coroutine lifecycle management to ensure clean, stable module operations.
- Multi-channel sampling support to accommodate new Explorer variants with both 3-axis geophones and 3-axis accelerometers.
- Efficient waveform data archiving and fast querying for reduced CPU overhead.
- Export station metadata in SeisComp XML and FDSNWS StationXML formats for Explorer devices.
- Upgraded API architecture combining GraphQL + RESTful interfaces.
- WebSocket endpoints now support 120 seconds of historical waveform data, reducing chart fill time.
- Data export now includes both TXT (for MATLAB) and WAV (for audio sharing) formats.
- Fully redesigned and optimized UI — minimalist design with smoother performance even under large data volumes.
- Web interface now supports editing station metadata and managing coroutine services dynamically.
- Customizable waveform panel layout via drag/zoom actions — with memory and locking features.
- Introduced QuakeSense service: earthquake detection using Classic STA/LTA and Z-Detect, with rapid alerts via MQTT.
- Helicorder images can now be saved in PNG format (previously only SVG).
- Removed deprecated seismic event data APIs.
- Improved SeedLink protocol stability.
- Added multi-language support with translations in 9 languages.
- Resolved high CPU usage issue caused by "empty-run" behavior after Explorer device disconnection.
- Fixed significant time offset when AnyShake Observer starts before Explorer under NTP mode.
- Resolved decoder thread crash when receiving delayed data via serial-to-TCP device.
- Fixed numerous potential data race issues for improved multithreaded stability.
- Disable waveform normalization completely.
- Disable compression for exporting MiniSEED in history service.
- Fixed incorrect coordinates when legacy mode enabled.
- Support customizing helicorder image size, waveform scale and samples per span.
- Provide an option to disable MiniSEED compression.
- Handle coordinates correctly when by hot switching.
- Update copyright and email address.
- Fixed device ID calculation when it is not set on AnyShake Explorer.
- Fixed the issue of not being able to reconnect to AnyShake Explorer after hard reset.
- Support GNSS mode enabling or disabling by hot switch.
- Update logotypes for AnyShake.
- Disable waveform normalization.
- Added precompiled packages for ARMv5 devices.
- Determine if eligible to enable cache to aviod OOM.
- Discard record that sample rate jitters in history.
- Load dummy settings if service configration field not found.
- Added the code of conduct.
- Skip empty files when getting file list.
- Set archiver clean interval to 1 hour.
- Display progress for helicorder tasks in frontend.
- Plot helicorder hourly for some weak devices.
- Split helicorder line into multiple segments when gap occurs.
- Reduced memory usage when plotting helicorder images.
- Record sequence numbers to file to reduce initialization time.
- Support previewing helicorder images in frontend.
- Added earthquake event source API of KNDC.
- Fixed channel names in inventory response.
- Cache parsed results instead of crawler response.
- Return nil directly for API endpoints if miniSEED or helicorder service is disabled.
- Support downloading helicorder images in frontend.
- Plot helicorder image periodically.
- Added event data source of KRADE.
- Fixed parsing errors on data sources of CENC, CWA.
- Fixed malformed serial number in legacy mode.
- Changed the cache data type to any.
- Made some tricks to make TypeScript happy.
- Attach station information when exporting miniSEED data.
- Disable captcha input until captcha image is loaded.
- Clean expired miniSEED files every hour.
- Added non-official event data sources (CWA, JMA, CENC).
- Added AFAD and DOST event data sources.
- Enhanced support for devices without GNSS support.
- Handle auto flag properly for event data sources of China.
- Fixed occasional checksum error in legacy mode.
- Use Web Workers to process seismic data.
- chore: Update slgo dependency to v0.0.4.
- Fixed the timestamp accuracy issue of event data source of JMA.
- Fixed token refresh logic in Main component.
- Insert timestamp before buffering legacy mode packets.
- Create a copy of the configuration file when executing make run.
- Updated retention default value to 120s in global configuration.
- Added multi-user support and permission management.
- Added earthquake event source API of BMKG.
- Display AnyShake Explorer device serial number on home page.
- Fix timezone issue on earthquake event source API of CEA.
- Refined the module names in the log.
- Add more detailed description to API documentation.
- Replace table component with MUI in the frontend.
- Use year provided by Cloudflare to fill the timing of earthquake event source of CWA.
- Added more earthquake event source APIs.
- Completely fixed the sampling rate jitter issue in legacy mode.
- Convert device ID to hexadecimal string format.
- Replace SVG icons with Material Design Icons in the frontend.
- Send error message when server returned no earthquake event.
- Merge API docs Makefile into the main Makefile.
- Add support for OpenBSD builds.
- Add SQLite support on all architectures.
- Provide i18n support for earthquake event data source.
- Show flags next to earthquake data sources.
- Deprecated
.envfile based versioning in frontend, usecraco.config.jsto generate version info. - Support Multi-platform Docker image build.
- Build and release more easily with GitHub Actions.
- Some Dockerfile optimizations to reduce image size.
- Fixed time offset in EQZT data source.
- Fixed Windows 7 compatibility issue.
- Enable mainline data protocol support for AnyShake Explorer without GNSS module.
- Added earthquake event source API support of EQZT.
- Data Protocol: The AnyShake Explorer mainline data protocol has been updated again. If you are using AnyShake Explorer implemented by STM32, please rebuild and burn the firmware to the latest version, if you are using AnyShake Explorer implemented by ESP8266, just ignore this message.
- Print log messages from AnyShake Explorer driver.
- Improved the stability of the legacy data protocol.
- Support Windows ARM32 architecture.
- Fix SQLite "out of memory" issue on Windows release build.
- Fix release names in the GitHub Actions workflow.
- Use
time.NewTimerinstead oftime.Afterto avoid memory leak.
- Support custom NTP query retry times and timeout.
- Retry querying NTP server when the first attempt fails.
- Support rotating log files by day or by size.
- Validate the configuration file before starting the application.
- Fixed potential data race issues.
- Replace concurrent-map with haxmap to avoid OOM.
- Fixed build failure on windows/386, linux/mips* architectures.
- Support export history waveform as MiniSEED.
- Discard records with different sample rate for SeedLink history.
- Added support for forwarding raw messages via TCP.
- Re-support for the SeedLink protocol.
- Updated Go version to v1.23.0.
- Updated Gin version to v1.10.0.
- Update network time at 00:00:00 every day to avoid time drift.
- Alleviated the problem of frequent jitter in sampling rate.
- Fixed the time offset of up to several hours caused by external compensation of timestamp.
- Fixed an issue where the timepicker component in the frontend would not update the selected time when the time range was changed.
- Fixed an issue on the frontend where the CPU and memory usage percentages were not displayed correctly.
- Resolved a backend issue where the timestamp, latitude, longitude, and elevation values were always 0 when fallback values were expected.
- Added ability to automatically fix time jitter when using internet NTP server as time source.
- Fixed "insufficient arguments" error when using PostgreSQL as the database backend (see go-gorm/gorm#6832 (comment)).
- Never check for sample rate consistency in MiniSEED and SAC records when in legacy mode.
- Send history buffer only if client requests in WebSocket API to avoid flooding the client.
- Lowered
MINISEED_ALLOWED_JITTER_MSconstant to 2 ms for better jitter tolerance.
- Fixed the issue where MiniSEED recording in legacy mode would be interrupted due to sampling rate jitter.
- Data Protocol: The AnyShake Explorer data protocol has been entirely refactored. Please rebuild and burn the firmware of AnyShake Explorer to the latest version.
- Configuration File: The configuration file layout has been completely overhauled. The old configuration file format is no longer supported.
- SeedLink Server: The SeedLink service has been temporarily removed and will be re-implemented in a future release.
- API Endpoints: Some request and response fields have been modified in API v1. Please refer to the built-in Swagger API documentation for details.
- Added support for accessing AnyShake Explorer via a serial-to-Ethernet converter.
- Introduced custom channel prefixes (e.g., HH*, SH*, EH*).
- Added log dumping functionality with multiple output levels.
- Enhanced data processing and storage efficiency.
- Improved the accuracy of reading time from the Internet NTP server.
- Refined component lifecycle management using dependency injection for better module decoupling.
- Implemented an asynchronous message bus to optimize application execution efficiency.
- Established a GraphQL-based routing endpoint in preparation for API v2.
- Dockerized the application for easier and faster deployment.
- Completely resolved the gap issue in MiniSEED records.
- Fix gaps in MiniSEED records
- Update frontend map tile provider to OpenStreetMap
- Format frontend code using ESLint and Prettier
- Use
time.Tickerto collect geophone counts by second
- Always use fallback locale if the preferred locale is not available
- Optimize the serial port reading process
- Sort earthquake event source API by name in frontend
- Fix intensity calculation issue of CSIS in frontend
- Removal of unused utility functions
- Support lifecycle configuration for records in database
- Set minimum TLS version to 1.2 for HTTP request utility
- Update frontend dependencies
- Show disk free space in banner instead of station UUID
- Add earthquake event source API support of CEA and INGV
- Reuse of int32 array encoding and decoding functions
- Specify the minimun TLS version to 1.0 in HTTP client
- Add earthquake event source API support of KMA
- Ensure that there is only one Websocket connection after reconnecting
- Fix a frontend issue that causes event querying to fail
- Set non-zero start time when SeedLink DATA command has no extra argument
- Response with OK when SeedLink DATA command has no extra argument
- Code style improvements again
- Basic implementation of SeedLink DATA command
- Fix frontend issue where the input component does not update its value
- Some frontend code style improvements
- Using NoSQL database as SeedLink ring buffer backend
- Fix SeedLink command parsing issue which causes some clients to be unable to connect
- Fragmenting SeedLink packets to accommodate higher sampling rates
- Remove redundant
statusfields in/api/v1/stationresponse - Fix timestamp issue in geophone data collecting module
- Input component optimization
- Back to limiting waveform query duration to 1 hour
- Support download SeisComP3 XML inventory directly from the frontend
- Update swagger docs to include new API endpoints
- Update frontend dependencies credits in README
- Fixed the validation error of the datetime picker in the frontend
- New API endpoint
/api/v1/inventoryto get SeisComP3 XML inventory data - Removed unused configuration fields, change geophone sensitivity unit to
V/m/s
- Frontend refactoring: use functional components and hooks
- Support Butterworth bandpass filter in frontend waveform data processing
- API /api/v1/mseed: use unix timestamp as file modification time response
- Check for remote server error before parsing earthquake event data from SCEA API
- Show disk usage of current working directory
- Allow setting rate limitation for API endpoints
- Update frontend dependencies
- Ensure encoded SeedLink packet length is 512 bytes
- Support SeedLink buffer size customization
- Basic implementation of SeedLink buffer file
- Fixed a depencency issue in MiniSEED data processing
- Simple implementation of SeedLink buffer
- Add PowerShell frontend build script for Windows
- Replace CWB to CWA in earthquake event data source API
- Allows querying waveform within 24 hours in JSON format
- Save MiniSEED data by channel to separate files
- Remove support for MIPS64 architecture
- Use timestamp from backend for frontend chart
- Support channel multi-selection in SeedLink protocol
- Fix MiniSEED sample rate calculation error under unstable data link
- Use the timestamp of the first packet as reference time in each MiniSEED record
- Some efforts to make SeedLink protocol work properly
- Disable SeedLink by default
- Update README to introduce SeedLink protocol
- Basic Go implementation of SeedLink
- Skip TLS verification for earthquake event data source API
- Remove SQLite support due to MIPS architecture incompatibility
- Make frontend className conditional rendering logic more predictable
- Correct frontend map anchor point offset
- Optimization on CPU usage metrics calculation
- Some changes made to
/api/v1/stationresponse: - Add
stationobject field, which containsuuid,name,station(string),networkandlocation - Move the original
uuidandstationstring fields tostationobject - Move current API handlers to
v1subdirectory to prepare for future API versions - Regulating MiniSEED file naming rules to
NN.SSSSS.LL.D.yyyy.ddd.mseed - Regulating SAC file naming rules to
yyyy.ddd.hh.mm.ss.ffff.NN.SSSSS.LL.CCC.D.sac - Move
station,networkandlocationfields tostation_settingsin configuration file
- Translation optimizations
- Allow collapsing PGA, PGV, intensity data in realtime chart
- Automatically adjusting realtime chart height to fit the screen
- Update earthquake event arrival estimation algorithm
- Remove compensation IIR filter
- Change
altitudefield instation_settingstoelevation - Restart daemon only on-failure
- Add restart delay for daemon
- Follow the SemVer principles
- Update README reference docs
- More backend credits
- Run build workflow on tag creations only
- Fixed SAC file waveform lag issue caused by sample rate calculation
- Migrating to anyshake/observer
- Supplement of README, CHANGELOG, build instructions, etc.
- Use templates to standardize ISSUEs and Pull Requests
- Update repository frontend logos