Wavelog
Self-hosted logbook for amateur radio operators
Alternative to: qrz logbook, club log, hamrs
About
Versions (48)
3.0.2
2026-07-19- Add “Run Now” buttons in Cronmanager (by @slepp)
- Set VUCC to default to only VHF+ bands on install (by @bseidenberg)
- QSL Designer now automatically uploads a QSL image as soon as you pick it (by @AndreasK79)
- Redesigned the QSL print queue with filters, grouped action buttons, and improved label/QSL printing (by @AndreasK79)
- QSL Designer now confirms before switching templates so unsaved work isn’t lost (by @AndreasK79)
- Added a “copy template” option to the QSL Designer (by @AndreasK79)
- Cleaned up unused views and files no longer referenced by the codebase (by @AndreasK79)
- Removed orphaned/unused functions across several models (by @AndreasK79)
- Advanced Logbook now searches for the exact callsign by default instead of using wildcards (by @AndreasK79)
- QSL Designer now warns you if you navigate away from the page with unsaved changes (by @AndreasK79)
- Fixed a lot of code syntax issues after playing around with PHPstan (by @HB9HIL)
- Dropped HTMX as it wasn’t barely used and was different from the rest of the codebase (by @HB9HIL)
- Live statistics in debug view for Wavelog Worker, worker stats now piped through websocket if worker is configured (by @HB9HIL)
- If Wavelog Worker is configured the radio component on the dashboard uses websocket (by @HB9HIL)
- If Wavelog Worker is configured the qso past contacts in qso logging used websocket (by @HB9HIL)
- Improved Worker Token handling and made TTL configurable (by @HB9HIL)
- All “polling radios” are now using websocket if Wavelog Worker is configured (by @HB9HIL)
- Add soft callsign validation for any import path to catch malicious code. Still shit in / shit out (by @HB9HIL)
- Fixed vulnerability in oqrs model (by @HB9HIL)
- New Contesting: Add QRG as column in contesting and make it editable (by @HB9HIL)
- New Contesting: if online callbook is enabled, grid gets logged aswell if there is one (by @HB9HIL)
- New Contesting: default radio (hardware interface) is now respected in the contest engine (by @HB9HIL)
- New Contesting: Add an option which allows to count the serial by band instead global (required for some contests) (by @HB9HIL)
- New Contesting: Improved legacy/historical contest import so weekly and quarterly contests are respected as individual sessions (by @HB9HIL)
- New Contesting: Some UI improvements (by @HB9HIL)
- New Contesting: Fixed the bug which logged QSOs in the active station location instead the selected one (by @HB9HIL)
- Fixed QSL-Via (Yes/No) not hiding correctly in LBA mass edit (by @int2001)
- Fixed grid corner activations breaking (by @int2001)
- Guarded eQSL view against empty/crash states (by @int2001)
- Added Station_callsign and Operator to QSL card designator (by @int2001)
- Fixed OQRS 500 error on malformed time input (by @int2001)
- Added fallback on error page when language missing (by @int2001)
- Added human-friendly wildcard matching in LBA (by @int2001)
- Added QSO filtering by type (contest filter) (by @int2001)
- Fixed error at user edit (by @int2001)
- Added public Punchcard feature (by @int2001)
- Stopped emitting Az from lookup during satellite operations (by @int2001)
- Fixed dashboard options on login (by @int2001)
- Added trim() to QRZ key to help with accidental whitespace (by @int2001)
- Fixed ADIF errors (Tab-Grants and missing fields) (by @int2001)
- Fixed more empty-variable bugs in edit flow (by @int2001)
- Updated WWFF to their changed lookup URL (by @int2001)
- Derived QRG in API/ADIF export same as UI, added frequency units/conversion + checkbox to omit/show (by @int2001)
- Fixed missing ADIF column qrzcom_qso_download and adjusted CSV export to show QSL states (by @int2001)
- Fixed stats returning wrong values, including unique-stats(by @int2001)
- Fixed the link to the current commit in debug view (by @phl0)
- Fixed the table formatting displaying the club permissions (by @phl0)
- Removed several parts of ophaned code (by @phl0)