Skip to content

Nexus 0.24.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 16:17
· 368 commits to main since this release

Nexus 0.24.0

Changes since v0.21.5:

  • chore: release-prep 0.24.0 — version surfaces + changelog editorial pass
  • fix(cat): Test CAT diagnoses the rig instead of shrugging - baud ladder, backend attribution, CI-V port identity
  • chore: 0.23.0 — satellite operating joins the tester build
  • test(ui): the recall-card mock needs resolveEntity after the merge
  • chore: 0.22.2 tester build - full recall card + SSTV pane pass
  • feat(log): the full caller card returns on resolution; SSTV joins the pane grid
  • chore: src-tauri lockfile follows the merged 0.22.1 version
  • fix(sat): keep the full TLE epoch — it was truncated to whole seconds
  • docs: ui-layout skill - the build-time procedure for the layout contract
  • chore: 0.22.1 tester rebuild - pane roles + log-form wrap
  • docs: the UI layout contract joins the contributor guide
  • fix(layout): panes have roles - control strips stop hoarding columns, the log form wraps
  • docs(sat): record why the real-signal fixture stays at eight passes
  • chore: 0.22.0 tester build - changelog for the layout overhaul
  • feat(layout): Phone, CW and RTTY adopt the pane grid; width finally rescues height
  • feat(layout): pane-grid cockpit primitives - one frame, one region, one dock
  • fix(ui): portaled dialogs and tooltips finally honor the UI scale
  • fix(layout): one responsive vocabulary - data-viewport everywhere, @media retired
  • fix(windows): band-map geometry is validated against real monitors on open
  • fix(ui): one pinned-scroll discipline; focus moves never pan hidden boxes
  • fix(layout): persisted geometry is clamped on load, not just at drag time
  • fix(layout): restore the cockpit deficit valve and retire the floors that clipped the log form
  • fix(sat): actually wire the track loop to the shared driver
  • test(sat): validate Doppler against carriers actually recorded off the air
  • test(sat): fly a whole pass onto a real rotctld, and make the loop testable
  • test(sat): validate the geometry against an independent implementation
  • docs: changelog for operator-follow and the passband strip
  • feat(sat): the transponder passband strip — inversion you can see
  • fix(sat): wire operator-follow, and stop the pointing error counting the trim
  • feat(sat): report passband offset and width, so nothing has to reconstruct them
  • feat(sat): hero sky dome, globe pass mode, and a track badge that cannot lie
  • feat(sat): one honest status surface — true position, commanded position, range, Doppler
  • feat(sat): Phase 1 UI — transponder picker, Doppler and rotator settings
  • docs: CHANGELOG for satellite operating (Phase 1)
  • feat(sat): Phase 1 complete — Doppler runs the pass, and the rotator gets manners
  • feat(sat): the engine-side Doppler tick, and the module lands where the architecture says
  • feat(sat): the radio-binding decision layer — VFO mapping and rate limits
  • feat(sat): FT-mode and satellite are opposite TX intents — model them as such
  • feat(sat): the Doppler core — range-rate geometry, transponder data, and the tuning engine
  • chore: version 0.21.7 for the AI-CW-fix rebuild
  • fix: the AI CW engine is a PAIR of files — ship both, guard the build, and stop a QSY erasing the fault
  • chore: version 0.21.6 for the audit-batches test build
  • fix: a same-band FM/SSB hop clears stale activity but must NOT abort an over in flight
  • fix: adversarial-review round — the MSRV the security bump forced, two broken gates, and a biased eviction
  • fix: the cssVar memo empties at the START of the draw — the first frame after a theme switch painted old colors
  • style: plain comments on the thread_local sweep counter (doc comments can't attach through the macro)
  • docs: CHANGELOG for the recurrences batch (audit Batch 3)
  • fix: the pop-out maps agree with the docked one, the globe breathes, and four trivial recurrences
  • deps: the divergence gate's first catch — the shipped AI-CW decoder was on a vulnerable tract
  • ci: the gates that were switched off — live-feature tests, the src-tauri supply chain, and the stylesheet half of the demo gate
  • test: the sweep counter is per-thread — parallel tests inflated a process-global count
  • fix: the cheap recurrences — DNS off the mutex, the regrown snapshot sweep, and coin-flip answers made deterministic
  • fix: adversarial-review round — the resurrection bug, the failed-read stamp, and the legacy-midnight migration
  • ui: the edit payload stops pretending to clear upload stamps — the backend ruling owns that now
  • fix: the recovery gate's mtime comes from the save itself — never from a post-rename stat
  • test: station_identity integration literal gains the new QsoRecord fields
  • docs: CHANGELOG for the log-integrity batch (audit Batch 2)
  • perf+docs: the upload-stamp path stops re-parsing the whole log, and the manual tells the truth about ADIF
  • fix: loading a config profile can no longer remove your power ceiling — profile load is a merge
  • fix: one entity identity — the NEW ONE badge and the DXCC counts stop disagreeing with the awards engine
  • fix: the log stops lying about time, loses nothing on import, and corrections reach the services
  • fix: a band-plan channel token can no longer become the stored band identity
  • fix: ADIF parser mirrors the writer's mode-identity cascade — Tempo QSOs survive a restart
  • fix: adversarial-review round — the CAT-broker backend joins the poison sweep, broker re-key is idempotent again
  • docs: CHANGELOG for the TX-safety batch (audit Batch 1)
  • fix: tune auto-release regains a hard ceiling — the setting is clamped at the point of use
  • fix: one tx_owner() arbiter — an APRS beacon or auto-ack can no longer key over a live mic or broker over
  • fix: poison recovery for the engine and source locks — the deaf-radio doctrine, applied to its own outliers
  • fix: commit_tx validates the whole plan, not just the tier — and the promised slot refusal now exists
  • fix: keying-identity gate asks the mode plugin, not an Ft8|Ft4 allow-list
  • fix: TIME_OFF/QSO_DATE_OFF parse panicked on multibyte input reachable from a WSJT-X datagram
  • fix: APRS position parser panicked on 8-bit bytes inside the fixed 19-byte layout
  • docs: the on-air claim, file by file, and rename the protocol spec
  • README: use the Nexus splash art as the banner
  • Wiki: the on-air claim, all of it this time, plus the template that regenerates it
  • Wiki: refresh to truth, spine on the two positioning pages, and CITATION.cff
  • CHANGELOG: the launch-window work is Unreleased, not shipped in 0.21.5
  • SUPPORT and CONTRIBUTING: finish routing bug reports to GitHub
  • Issue templates become forms, with the fields that decide investigations
  • Record the full-corpus tag census in the needs fixture
  • Fix false "new mode" needs: honest claim + surface-scoped chips
  • needByCall carries each call's STRONGEST need, not whichever alert came last
  • Roster "sort by need" ranks by chase importance, not by an arbitrary tag
  • README: bug reports go to GitHub Issues
  • Call Roster and Band Activity filters persist across a restart
  • README: voice pass on the two dash-asides that were mine