Releases: doismellburning/samoyed
Release 2026.04.15.1776291813-5e52e9b
Automated release for commit 5e52e9b.
You will need to fetch your own dependencies to build this for now - see https://github.com/doismellburning/samoyed/blob/main/.github/workflows/build-and-test.yml for an example for Debian.
This is an alpha release and likely contains bugs. Please file issues at https://github.com/doismellburning/samoyed/issues
What's Changed
- feat: Add UDP audio output support by @doismellburning in #485
- test: Refactor and test AGWPE command handling in server.go by @doismellburning in #483
- fix: Exclude debug null byte from AGWPE connected data transmit by @doismellburning in #487
- test: Add tests for beacon IS_GOOD, heading_change, SmartBeaconing, and validation by @doismellburning in #489
- fix: Remove debug null byte appended in cmd_listen_thread by @doismellburning in #490
Full Changelog: 2026.04.07.1775595292-e7f5211...2026.04.15.1776291813-5e52e9b
Release 2026.04.07.1775595292-e7f5211
Automated release for commit e7f5211.
You will need to fetch your own dependencies to build this for now - see https://github.com/doismellburning/samoyed/blob/main/.github/workflows/build-and-test.yml for an example for Debian.
This is an alpha release and likely contains bugs. Please file issues at https://github.com/doismellburning/samoyed/issues
What's Changed
- chore: Tidy assorted obsolete consts and comments by @doismellburning in #478
- fix: Use portable -u flag for UTC date in version.sh by @doismellburning in #480
- build: Generate version once and share across matrix jobs by @doismellburning in #481
- fix: Export struct fields so binary.Decode can populate them by @doismellburning in #479
Full Changelog: 2026.04.05.1775433220-bc35361...2026.04.07.1775595292-e7f5211
Release 2026.04.05.1775433220-bc35361
Automated release for commit bc35361.
You will need to fetch your own dependencies to build this for now - see https://github.com/doismellburning/samoyed/blob/main/.github/workflows/build-and-test.yml for an example for Debian.
This is an alpha release and likely contains bugs. Please file issues at https://github.com/doismellburning/samoyed/issues
What's Changed
- docs: Add Further Reading section with project background link by @doismellburning in #470
- fix: Pass pointer to AGWPEHeader in cmd_listen_thread to fix connections by @doismellburning in #471
- fix: Resolve udev-assigned ALSA card IDs when matching PortAudio devices by @doismellburning in #473
- fix: Show the correct error on read issues in fxrec by @doismellburning in #475
- build: Upgrade golangci-lint to 2.11.4 by @doismellburning in #474
- chore: Run modernize over the code by @doismellburning in #476
- chore: Re-enable gosec G704 SSRF linting by @doismellburning in #477
Full Changelog: 2026.04.03.1775232653-97889ba...2026.04.05.1775433220-bc35361
Release 2026.04.03.1775232653-97889ba
Automated release for commit 97889ba.
You will need to fetch your own dependencies to build this for now - see https://github.com/doismellburning/samoyed/blob/main/.github/workflows/build-and-test.yml for an example for Debian.
This is an alpha release and likely contains bugs. Please file issues at https://github.com/doismellburning/samoyed/issues
What's Changed
- docs: README updates by @doismellburning in #436
- refactor: Move mheard globals to a struct and functions to methods by @doismellburning in #437
- build: Drop obsolete reference to external/ when making ctags by @doismellburning in #438
- refactor: Move kissnet globals to a struct and functions to methods by @doismellburning in #439
- refactor: Move many APRStt globals to structs and methods on those by @doismellburning in #440
- build: Clean the go testcache on builds to avoid spurious failures by @doismellburning in #443
- build: Clean the build cache, not the testcache by @doismellburning in #444
- feat: Support macOS by @doismellburning in #426
- refactor: Move symbols globals to a struct and functions to methods etc. by @doismellburning in #441
- style: Move gochecknoglobals ignores to per-file for whack-a-mole by @doismellburning in #442
- chore: Tidy up globals in version.go by @doismellburning in #446
- chore: Mark ccitt_table as an ignored global by @doismellburning in #448
- refactor: Move beacon globals into BeaconService struct by @doismellburning in #449
- fix: Resolve stale PHG0000 TODO in walk96 by @doismellburning in #451
- refactor: Move dedupe globals into DedupeService struct by @doismellburning in #456
- test: Add pure function tests for igate, config, NMEA, il2p scramble, dedupe by @doismellburning in #454
- docs: Improve AGENTS notes by @doismellburning in #457
- fix: Resolve stale CRC-mismatch TODO in igate.go by @doismellburning in #452
- build: Find files to shellcheck, don't hardcode them by @doismellburning in #458
- chore: Add upstream tracker tooling for direwolf/dev by @doismellburning in #459
- refactor: Replace retry_t type with BitFixLevel by @doismellburning in #450
- docs: Update README status to reflect completed port by @doismellburning in #461
- refactor: Extract DeviceIDData struct from package-level globals by @doismellburning in #462
- build(deps): Bump golang.org/x/sys from 0.41.0 to 0.42.0 by @dependabot[bot] in #464
- fix: Guard against out-of-bounds access in split when closing quote is last character by @doismellburning in #467 - thanks Scott VE3QBZ
Full Changelog: 2026.03.06.1772839935-f3ff8d7...2026.04.03.1775232653-97889ba
Release 2026.03.06.1772839935-f3ff8d7
Automated release for commit f3ff8d7.
You will need to fetch your own dependencies to build this for now - see https://github.com/doismellburning/samoyed/blob/main/.github/workflows/build-and-test.yml for an example for Debian.
This is an alpha release and likely contains bugs. Please file issues at https://github.com/doismellburning/samoyed/issues
What's Changed
- build: Skip auto-creating releases for "internal" changes by @doismellburning in #429
- fix: Handle lowercase zone letters in utm2ll by @doismellburning in #428
- refactor: Move xmit globals to a struct and functions to methods by @doismellburning in #431
- test: Enable nolintlint (and fix issues) now cgo is cgone by @doismellburning in #434
- fix: Re-enable APRStt configuration by @doismellburning in #435
Full Changelog: 2026.03.02.1772460230-1ec342c...2026.03.06.1772839935-f3ff8d7
Release 2026.03.02.1772460230-1ec342c
Automated release for commit 1ec342c.
This release adds arm64 support, and includes a basic Debian binary package to help with testing
You will need to fetch your own dependencies to build this for now - see https://github.com/doismellburning/samoyed/blob/main/.github/workflows/build-and-test.yml for an example for Debian.
This is an alpha release and likely contains bugs. Please file issues at https://github.com/doismellburning/samoyed/issues
What's Changed
- docs(build): Update release message template by @doismellburning in #419
- chore: Remove legacy
oldhelpMakefile target by @doismellburning in #420 - build(deps): Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #422
- build(deps): Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #424
- build(deps): Bump golang.org/x/sys from 0.31.0 to 0.41.0 by @dependabot[bot] in #423
- feature: Support arm64 by @doismellburning in #425
- chore: Tidy up comment / TODO in encode_aprs by @doismellburning in #427
Full Changelog: 2026.02.27.1772196519-84b4713...2026.03.02.1772460230-1ec342c
Release 2026.02.27.1772196519-84b4713
Automated release for commit 84b4713.
This marks the first release of Samoyed with no C in its source tree, and includes a basic Debian binary package for x86_64 to help with testing.
You will need to fetch your own dependencies to build this for now - see https://github.com/doismellburning/samoyed/blob/main/.github/workflows/build-and-test.yml for an example for Debian.
This is an alpha release and likely contains bugs. Please file issues at https://github.com/doismellburning/samoyed/issues
What's Changed (primarily internal)
- feat: Port fcs_calc.c to Go by @doismellburning in #187
- feat: Port il2p_scramble.c to Go by @doismellburning in #188
- feat: Port il2p_codec.c to Go by @doismellburning in #189
- feat: Port il2p_payload.c to Go by @doismellburning in #190
- feat: Port il2p_header.c to Go by @doismellburning in #191
- feat: Port il2p_rec.c to Go by @doismellburning in #193
- feat: Port il2p_init.c to Go by @doismellburning in #194
- feat: Port the last il2p_test.c to Go by @doismellburning in #195
- feat: Port the last of gen_packets.c to Go by @doismellburning in #196
- build(deps): Bump actions/checkout from 5 to 6 by @dependabot[bot] in #197
- docs: Very basic contributing notes by @doismellburning in #198
- feat: Port fx25_encode.c to Go by @doismellburning in #199
- refactor: Clean out unused extras by @doismellburning in #200
- feat: Port fx25_send.c to Go by @doismellburning in #117
- feat: Port the last of atest.c to Go and remove atest.h by @doismellburning in #201
- fix: Explicitly new some C structs to avoid unpinned pointer panics by @doismellburning in #203
- feat: Port audio_stats.c to Go by @doismellburning in #202
- feat: Port ax25_pad2.c to Go by @doismellburning in #204
- refactor: Port config.c to Go by @doismellburning in #205
- fix: Accidentally inverted the absolute filepath error check in config by @doismellburning in #206
- refactor: Port rrbb.c to Go by @doismellburning in #207
- refactor: Port fx25_rec.c to Go by @doismellburning in #208
- refactor: Remove Windows / PortAudio audio code by @doismellburning in #209
- refactor: Port symbols.c to Go by @doismellburning in #210
- refactor: Port hdlc_rec.c to Go by @doismellburning in #211
- refactor: Improve tt_text tests to directly compare strings by @doismellburning in #212
- refactor: Port tt_text.c to Go by @doismellburning in #213
- refactor: Port DNS-SD C to Go by @doismellburning in #214
- refactor: Port audio.c to Go by @doismellburning in #217
- build(deps): Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #216
- build(deps): Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #215
- refactor: Move bulk of ttcalc main back into the direwolf package by @doismellburning in #219
- refactor: Port ax25_pad.c to Go by @doismellburning in #221
- refactor: Port cm108.c to Go by @doismellburning in #223
- refactor!: Disable gpsd support pending a rewrite by @doismellburning in #224
- refactor: Port hex_dump to Go by @doismellburning in #225
- refactor: Port some of cm108.h to Go by @doismellburning in #226
- refactor: Change the internal union in demodulator_state_s to a struct by @doismellburning in #227
- refactor: Port demod_9600.c to Go by @doismellburning in #228
- test: More latlong tests by @doismellburning in #229
- refactor: Port demod_afsk.c to Go by @doismellburning in #230
- refactor: Port fx25_init.c to Go by @doismellburning in #231
- refactor: Port demod_psk.c to Go by @doismellburning in #232
- refactor: Port dsp.c to Go by @doismellburning in #233
- refactor: Port fx25_extract.c to Go by @doismellburning in #234
- refactor!: Port ptt.c to Go by @doismellburning in #156
- refactor: Lightweight pure Go textcolor implementation by @doismellburning in #238
- refactor: Port aprs_tt structs to Go by @doismellburning in #239
- refactor: Delete unused external/hidapi code by @doismellburning in #240
- refactor: Port the xid_param_s struct to Go and eliminate xid.h by @doismellburning in #241
- refactor: Move tt2text and text2tt cmd source back into src by @doismellburning in #242
- refactor: Remove tt_text.h and the tt_text.go cgo exports by @doismellburning in #243
- refactor: Remove tq.h by @doismellburning in #244
- refactor: Remove symbols.h by @doismellburning in #245
- refactor: Remove morse.h by @doismellburning in #246
- refactor: Remove unused rpack.h and redecode.h by @doismellburning in #247
- refactor: Remove some obsolete .h files and exports by @doismellburning in #248
- refactor: Remove rrbb.h and obsolete exports by @doismellburning in #249
- refactor: Remove il2p.h and obsolete exports by @doismellburning in #250
- refactor: Remove gen_tone.h and obsolete exports by @doismellburning in #251
- refactor: Remove fcs_calc.h and obsolete exports by @doismellburning in #252
- refactor: Remove dwgpsnmea.h by @doismellburning in #253
- refactor: Remove various .h files and obsolete exports by @doismellburning in #254
- refactor: Remove aprs_tt.h and move constants to Go by @doismellburning in #255
- refactor: Remove ax25_link.h and move the constants to Go by @doismellburning in #256
- refactor: Remove kiss_frame.h and port the consts and structs to Go by @doismellburning in #257
- refactor: Remove igate.h and move struct and consts to Go by @doismellburning in #258
- refactor: Remove fx25.h and move structs and consts to Go by @doismellburning in #259
- refactor: Port dwfix_t and dwgps_info_t to Go and remove dwgps.h by @doismellburning in #260
- refactor: Remove dlq.h and port structs and consts to Go by @doismellburning in #261
- refactor: Remove digipeater.h and port types and structs to Go by @doismellburning in #262
- refactor: Port decode_aprs_t struct to Go and remove .h by @doismellburning in #263
- refactor: Port cdigi_config_s to Go and remove cdigipeater.h by @doismellburning in #264
- refactor: Remove ax25_pad2.h by @doismellburning in #265
- refactor: Remove cm108.h and move all consts to Go by @doismellburning in #266
- refactor: Remove latlong.h and move G_UNKNOWN to latlong.go by @doismellburning in #267
- refactor: Remove gen_packets.h and move wav_header to Go by @doismellburning in #269
- refactor: Remove config.h and port misc_config_s etc. to Go by @doismellburning in https://github...
Release 2025.11.16.1763332860-d62ea07
Automated release for commit d62ea07.
You will need to fetch your own dependencies for now - see https://github.com/doismellburning/samoyed/blob/main/.github/workflows/build-and-test.yml for an example for Debian.
This is a mid-port pre-release and likely contains bugs. Please file issues at https://github.com/doismellburning/samoyed/issues
What's Changed
- feat: Port deviceid.c to Go by @doismellburning in #157
- docs: Add a brief AGENTS.md with notes about C.CString memory leaks by @doismellburning in #158
- feat: Port demod.c to Go by @doismellburning in #159
- refactor: Move Base 91 code into its own file by @doismellburning in #160
- Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #163
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #162
- docs: Add AGENTS.md licensing notes by @doismellburning in #165
- feat: Port telemetry.c to Go by @doismellburning in #161
- docs: Clean up telemetry.go FIXMEs that got missed by @doismellburning in #168
- feat: Port the last remaining parts of kiss_frame.c to Go by @doismellburning in #169
- feat: Port dlq.c to Go by @doismellburning in #170
- refactor: Move bulk of dwgpsnmea main back into the direwolf package by @doismellburning in #171
- feat: Port dwgps.c to Go by @doismellburning in #172
- feat: Add a "samoyed-" prefix to all cmd binaries by @doismellburning in #173
- feat: Port dwgpsnmea.c to Go by @doismellburning in #174
- refactor: Drop unused external/regex C by @doismellburning in #175
- refactor: Move various cmd/*/main.go contents back to src by @doismellburning in #176
- feat: Port serial_port.c to Go by @doismellburning in #177
- refactor: Remove various obsolete .h files by @doismellburning in #179
- build(deps): Bump golang.org/x/sys from 0.0.0-20200909081042-eff7692f9009 to 0.1.0 by @dependabot[bot] in #178
- test: Tests for ais.c functionality by @doismellburning in #182
- feat: Port ais.c to Go by @doismellburning in #155
- refactor: Remove empty fx25_auto.c by @doismellburning in #183
- refactor: Remove obsolete dtime_now functionality by @doismellburning in #184
- refactor: Drop obsolete direwolf.c by @doismellburning in #185
- feat: Port latlong.c to Go by @doismellburning in #186
Full Changelog: 2025.10.21.1761038090-677ec9c...2025.11.16.1763332860-d62ea07
Release 2025.10.21.1761038090-677ec9c
Automated release for commit 677ec9c.
You will need to fetch your own dependencies for now - see https://github.com/doismellburning/samoyed/blob/main/.github/workflows/build-and-test.yml for an example for Debian.
This is a mid-port pre-release and likely contains bugs. Please file issues at https://github.com/doismellburning/samoyed/issues
What's Changed
- build: Improved release setup - automated CHANGELOG and prereleases by @doismellburning in #153
- build: Add details about dependencies and bugs to release message by @doismellburning in #154
Full Changelog: 2025.10.20.1760925343-6fe6370...2025.10.21.1761038090-677ec9c
Release 2025.10.20.1760925343-6fe6370
Automated release for commit 6fe6370.
CHANGELOG forthcoming.
What's Changed
- ci: Fail release flow on unmatched files by @doismellburning in #147
- Build binaries into /dist/ by @doismellburning in #148
- build: Fix tarball name used for release artifact upload/download by @doismellburning in #149
Full Changelog: 2025.10.16.1760648326-9764503...2025.10.20.1760925343-6fe6370