Skip to content

Bekannte Bugs

Aktive Issues + Workarounds. Wird händisch gepflegt; gemeldete Bugs landen im Posteingang bugs@funkwelt.net.

Aktiv

  • Rotorsteuerung (neu in v1.29.0) ist in Erprobung. Logik, das eingebettete rotctld-Binary und die 22 Modell-Profile sind abgesichert, ein Test gegen echte Rotor-Hardware steht aber noch aus — Rückmeldungen von Nutzern mit angeschlossenem Rotor sind sehr willkommen. Für USB: Rotor per USB-Serial-Adapter anstecken, unter Einstellungen → Rotor das Modell wählen (Serial-Parameter werden vorausgefüllt, bleiben editierbar), Port wählen, verbinden. Die voreingestellten Serial-Defaults stammen aus Hamlib; weicht dein Controller ab, lassen sie sich pro Konfiguration anpassen. Bei Verbindungsproblemen zuerst Port, Baudrate und Modellnummer prüfen.
  • Contest-Scoring (neu in v1.10.0) ist in Erprobung. Die komplett neu aufgebaute Wertungs-Engine ist noch nicht für jeden Contest gegen offizielle Ergebnislisten gegengerechnet — Endpunktzahlen vor einer Einreichung prüfen. ARRL RTTY Roundup, Russian DX, All Asian DX und JIDX haben inzwischen eigene Regelwerke (gegen die offiziellen Reglements gebaut), liegen aber noch ohne Vergleichslog vor. Für die IARU-HF-Wertung („gleiche ITU-Zone") muss die eigene CQ-/ITU-Zone in den Stations-Einstellungen gesetzt sein.

Behoben in v1.32.1

  • App startete auf macOS 26.5.2 nicht mehr — Absturz direkt beim Öffnen. (Crash-Report 09.07.) macOS 26.5.2 lehnt das eingebettete Kartendaten-Bundle ab; beim ersten Zeichnen der Atlas-Weltkarte (neu in 1.32.0) stürzte die App deshalb noch vor dem Fensteraufbau ab. Das Laden aller mitgelieferten Daten ist jetzt robust und kann die App nicht mehr zum Absturz bringen. Betroffene Macs: einmal das aktuelle DMG manuell installieren — der Auto-Updater kommt auf einem crashenden 1.32.0 nicht zum Zug.

Behoben in v1.32.0

  • Karten ließen sich nicht bis zur ganzen Welt herauszoomen. (BUG vom 08.07., HB9HJL) Ursache ist eine harte MapKit-Grenze: Apple-Karten zeigen auf dem Mac maximal 180° Längengrad, egal wie weit man herauszoomt. Grayline und DX-Weltkarte zeichnen deshalb jetzt selbst (eigene Atlas-Engine, Natural-Earth-Daten) — die ganze Welt ist dort immer erreichbar. Alle übrigen Karten-Tabs (POTA, SOTA, BOTA, WWFF, GMA, WCA, LLOTA, Contest, QTH-Locator, History) bekommen einheitlich großzügige Kamera-Grenzen und zoomen jetzt bis ans MapKit-Limit (~halbe Welt) hinaus.
  • IC-705 WLAN: »Verbunden«, aber keine Reaktion mehr nach ~2 Minuten. (BUG-20260708-1630-LQ, HB9HJL) Nach WLAN-Paketverlust konnte der CI-V-Datenkanal am Radio absterben, während der Steuerkanal weiter Pings beantwortete — der bisherige Watchdog sah »es kommt ja was« und schlug nie an. Neuer CI-V-Watchdog: bleiben trotz laufender Abfragen ~10 s alle CI-V-Antworten aus, wird die Session als gestört erkannt und automatisch neu verbunden. Test mit echter Hardware steht noch aus — Rückmeldung willkommen, ob der Hänger damit weg ist.

Behoben in v1.31.1

  • Cluster → Weltkarte: ausgewählte Station war nicht zu sehen. Pins wurden nur für Spots innerhalb des Zeitfensters (Standard 60 min) gerendert — ein in der Liste ausgewählter älterer Spot zentrierte die Karte auf eine leere Stelle. Der ausgewählte Spot wird jetzt immer als Pin angezeigt; Stationen ohne auflösbare Koordinaten melden »⚠︎ Position unbekannt« in der Infoleiste. (BUG-20260704-1247, HB9HJL)
  • Grayline-Fenster ließ sich nicht klein genug machen für ein 15"-Display. Mindestgröße von 640×420 auf 420×300 gesenkt. (BUG-20260704-1247, HB9HJL)
  • Dazu zwei Wünsche umgesetzt: SSTV-Anruffrequenzen als Menü mit CAT-QSY (80 m–2 m) und Doppelklick auf einen Log-Eintrag zeigt ihn oben im Eingabe-Panel mit QRZ-Karte und Bild. (HB9HJL)

Behoben in v1.31.0

  • LLOTA-Spots-Tab: QRT-Spots blieben stehen, Kommentar war veraltet. Bei re-gespotteten Aktivierungen zeigte die Liste den ältesten statt des neuesten Kommentars der Spot-History — dadurch blieben als QRT gemeldete Aktivierungen in der Liste, und der angezeigte Kommentar/Spotter war überholt. Jetzt zählt der jüngste History-Eintrag: QRT-Spots verschwinden, ein Re-Spot nach QRT gilt wieder als QRV.
  • LLOTA-Spots-Tab: Spots anderer Apps mit MHz-Frequenz wurden falsch angezeigt (z.B. 0.014 statt 14.275 MHz). llota.app speichert den Frequenz-String unverändert, und nicht alle Apps senden kHz — der Parser erkennt jetzt beide Formate.
  • LLOTA-Spot mit alter Referenz schlug kommentarlos fehl. Sessions mit Referenzen von vor der llota.app-Formatumstellung (30.06., z.B. DE-0003) liefen beim neuen Self-/AutoSpot auf einen nackten Serverfehler. Die App übersetzt alte Referenzen jetzt automatisch ins 4-Buchstaben-Format (LLDE-0003).

Behoben in v1.30.0

  • Auto-Suggest-Feldschalter waren ohne Funktion. Die Schalter »welche Felder befüllen« in den Lookup-Einstellungen (Name, QTH, Locator, Country, …) wurden von keinem Code gelesen — Lookups füllten immer alle Felder. Jetzt filtern sie zentral jedes Lookup-Resultat, einheitlich in allen Formularen. (Bug-Mail BUG-20260620-2117-LK betraf denselben Einstellungs-Bereich: der ausgegraute Fallback-Schalter ist mit der Multi-Service-Lookup-Engine ebenfalls scharf.)
  • Englische Oberfläche hatte Lücken. 157 Strings aus den Releases 1.24–1.29 (SSTV, Rotor, GMA, WCA) erschienen in der EN-Oberfläche auf Deutsch — alle nachübersetzt.

Behoben in v1.29.1

  • IC-705 WLAN: Verbindungsverlust wurde nicht bemerkt. Riss die WLAN-Verbindung zum Radio ab oder wurde die IC-705 ausgeschaltet, blieb die CAT-Anzeige grün, als wäre noch alles verbunden — die direkte WLAN-Verbindung (UDP) meldet keinen Fehler, wenn die Gegenstelle still verschwindet. Neu erkennt ein Watchdog den Abriss nach 6 Sekunden Funkstille, und HAM-Tools verbindet automatisch neu (bis zu 3 Versuche; Budget füllt sich nach 60 s stabiler Verbindung wieder auf). Ist das Radio wirklich aus, endet es mit einer klaren Fehlermeldung. (BUG-20260702-1702-PA, HB9HJL)
  • IC-705 WLAN: Klick auf VFO B riss die CAT-Verbindung ab (z.B. im SSTV-Radio-Panel). Der VFO-Befehl ging intern an den im WLAN-Modus nicht verbundenen rigctld-Client statt ans Radio. Neu schaltet der VFO nativ per CI-V um — der Button funktioniert jetzt. Zusätzlich sind alle Bedienelemente, die es nur über den USB/rigctld-Weg gibt (Lautstärke, Sendeleistung, Squelch, Mic-Gain, Keyer, Antenne, NB/NR/Notch/Tuner, CW-Keyer, Voice-Memory, TUNE), im WLAN-Modus jetzt sauber inaktiv, statt beim Klick die Verbindung abzureißen. (HB9HJL)

Behoben in v1.29.0

  • Reines Feature-Release (Antennen-Rotorsteuerung, siehe Changelog) — keine Bugfixes.

Behoben in v1.28.2

  • Headerloser Empfang konnte farbverschoben sein (Grünstich/Schräglauf). Beim Einstieg mitten in eine Aussendung (kein VIS-Header) wurde die erste Bildzeile an einem einzelnen Sync-Puls verankert — war der durch Rauschen oder QSB verjittert, erbte das ganze Bild einen konstanten Versatz der Farb-Subscans. Die Zeile-0-Verankerung nutzt jetzt einen Phasen-Konsens über alle Sync-Pulse (zirkuläre Mittelung), wodurch Jitter und Ausreißer herausfallen; das Bild steht stabiler. Auf sauberem Empfang unverändert, und der Live-Empfang profitiert mit (er nutzt dieselbe Timing-Routine). Abgesichert durch eine neue Mid-stream-plus-Rauschen-Regression und einen unabhängigen Gegentest gegen einen Fremd-Encoder (pysstv).

Behoben in v1.28.1

  • SSTV-Empfang scheiterte stumm, wenn der VIS-Header fehlte. Stieg man mitten in eine Aussendung ein oder zerlegte QSB den Header, verharrte der Empfang scheinbar reglos, obwohl ein gültiges Signal anlag — die Bilddaten waren da, nur die Betriebsart unbekannt. Jetzt erkennt der Decoder die Betriebsart in diesem Fall automatisch aus dem Zeilen-Timing (bei eindeutigem Ergebnis Auto-Decode, sonst Kandidaten-Vorschlag), und der Empfang gibt durchgehend ehrliches Status-Feedback statt stummem Stillstand. Abgesichert mit neuen Kern-Tests (alle 14 Betriebsarten header-los erkannt; Rauschen/Stille/falsche Modi abgelehnt).

Behoben in v1.28.0

  • Im Wesentlichen ein SSTV-Ausbau-Release (siehe Changelog): hands-free Auto-Start, aufgewertete Galerie und Sende-Anzeige. Dazu ein echter Robustheits-Fix im Decoder: Ein verstimmtes Funkgerät ließ den Empfang scheitern (jenseits ~100 Hz Versatz wurde der VIS-Header nicht mehr erkannt). Der Decoder kalibriert die Verstimmung jetzt automatisch aus dem VIS-Leader heraus (bis ±150 Hz), sodass VIS-Erkennung, Sync und Farben wieder am Soll liegen. Abgesichert mit neuen Schwachsignal- und Offset-Regressionstests.

Behoben in v1.27.0

  • Reines Feature-Release (neues SSTV-Modul) — keine Fixes an bestehenden Modulen.

Behoben in v1.26.3

  • Weiterhin hohe CPU-Last im Contest mit CAT (Folge-Fix zu 1.26.2, gemessen ~55 % → ~30 %). Profiling zeigte als Hauptursache, dass die SCP-Callsign-Vorschläge bei jedem Render — also bei jedem S-Meter-Tick (2×/s mit CAT) — neu aus der MASTER.SCP-Datenbank berechnet wurden, ein teurer String-Scan auf dem Main-Thread. Jetzt gecacht (Neuberechnung nur bei Call-Eingabe). Zusätzlich ein S-Meter-Throttle: die Anzeige wird nur bei sichtbarer Änderung aktualisiert. (BUG-20260620-1548-3C, -1703-UK)

Behoben in v1.26.2

  • Absturz beim Wechsel Contest → DX (bei offenem Contest-Cluster-Fenster). Dem Fenster fehlte eine interne Datenobjekt-Injektion; behoben. (BUG-20260620-1318-PY)
  • Hohe CPU-Last im Contest mit aktivem CAT (80–90 %, träge UI). Das Contest-Stats-Panel rechnete bei jedem einlaufenden Cluster-Spot das komplette Scoring über alle QSOs neu. Die Band-Activity-Heatmap ist jetzt vom Scoring entkoppelt — gerechnet wird nur noch bei einem neuen QSO. (BUG-20260620-1548-3C, -1703-UK)
  • Grid-Contest: Locator wird aus dem Callbook vorbelegt. Beim Eingeben eines Rufzeichens füllt sich das empfangene Locator-Feld automatisch aus QRZ/HamQTH (nur wenn leer; Gehörtes hat Vorrang) und zieht beim Wechsel auf den nächsten Spot korrekt nach. (BUG-20260620-1343-UP)

Behoben in v1.26.0

  • Im Wesentlichen ein Feature-Release (GMA — Global Mountain Activity, das siebte Outdoor-Programm — siehe Changelog). Mit dabei: die in v1.25.0 erwähnte kleine Lücke ist geschlossen — WCA (und GMA) sind jetzt als Cross-Ref-Partner direkt in den Anlege-Wizards aller anderen Outdoor-Programme wählbar.

Behoben in v1.25.0

  • Reines Feature-Release (WCA / COTA — Castles On The Air, das sechste Outdoor-Programm — siehe Changelog). Keine Bugfixes. (Kleine bekannte Lücke: die WCA-Cross-Ref-Sektion fehlt noch in den Anlege-Wizards der anderen 5 Programme — nachträgliches WCA-Tagging geht aber jederzeit über „Cross-Refs bearbeiten".)

Behoben in v1.24.3

  • Voice-Memory-Buttons (V1–V5) trennten beim schnellen Klicken kurz die CAT (Yaesu). Der nicht quittierte Voice-Befehl lief in einen Read-Timeout, der als Verbindungsabbruch gewertet wurde — jetzt toleriert, mit budgetfreiem Resync. Außerdem den funktionslosen Stop-Button neben den Voice-Buttons entfernt.
  • Logbuch: Wechsel von einer LLOTA-Session zurück auf DX ging ins Leere. Man musste erst auf Contest (o.ä.) und dann auf DX wechseln. Die Modus-Umschaltung hatte WWFF/BOTA/LLOTA nicht berücksichtigt; jetzt deckt sie jeden Nicht-Standard-Modus ab. (BUG-20260614-0616-3M)

Behoben in v1.24.2

  • Yaesu-Tuner-Bedienung riss die CAT-Verbindung ab. Erstmals auf echter Yaesu-Hardware (FTDX-10) reproduziert und behoben: (1) der Tuner-Toggle (jetzt »ATU«) lief beim Relais-Klacken gelegentlich in einen Timeout und warf die CAT weg — jetzt mit stillem Wiederholversuch abgefangen (gilt auch für VFO-Wechsel, Antennenwahl und die Slider); (2) der bisher unter „Aktiv" gelistete Fall „Tune (bzw. Spot-Klick direkt danach) verklemmt CAT, Reset nötig" ist erledigt — der Abstimmvorgang löst jetzt einen deterministischen, budgetfreien CAT-Resync aus, der beliebig oft greift (Status zeigt kurz »Tuning…«). Der 15-Sekunden-Workaround ist damit hinfällig.

Behoben in v1.24.1

  • DX-Cluster-Tab ruckelte bei einlaufenden Spots (CPU-Bursts bis 77 %, „Layout-Storm"). Ursache war ein Neuaufbau der Tabellenspalten + Re-Filterung bei jedem Render. Behoben durch Caching der gefilterten Spot-Liste/Spotter-Evidenz und differenziellen Tabellen-Reload (nur bei echter Zeilen-Änderung).
  • Hohe CPU-Last bei aktivem CAT (~60 %): Das Logbuch (QSO-Eingabe, Solar-Panel, Content-Baum) renderte bei jedem S-Meter-Tick des Funkgeräts mit. Jetzt auf ~23 % gesenkt — nur das Radio-Panel reagiert noch live auf die TRX-Werte.

Behoben in v1.24.0

  • Reines Feature-Release (LLOTA — Lakes and Lagoons On The Air, das fünfte Outdoor-Programm — siehe Changelog). Keine Bugfixes.

Behoben in v1.23.0

  • Reines Feature-Release (eQSL-Karten-Versand per Mail — siehe Changelog). Keine Bugfixes.
  • Nebenbei: Die englische Übersetzung wurde vervollständigt (eQSL-Texte sowie nachgezogene Propagations-/Split-Strings aus 1.21/1.22, die in der EN-Oberfläche noch deutsch erschienen).

Behoben in v1.22.1

  • Normaler Spot-Klick schaltete den aktiven VFO um (Icom mit zwei VFOs) (gemeldet von HB9HJI, IC-7610): Seit der Split-aus-Spot-Funktion (1.22.0) ging bei jedem Spot-Klick ein Split-Aus-Befehl ans Gerät — auch bei einem ganz normalen Spot ohne Split-Hinweis. Auf Icom-Geräten mit zwei VFOs (z. B. IC-7610) sprang dadurch der aktive VFO ungewollt auf B, obwohl die Frequenz korrekt auf VFO A gesetzt wurde. Der Split-Aus-Befehl geht jetzt nur noch ans Gerät, wenn vorher tatsächlich Split aktiv war.

Behoben in v1.22.0

  • IC-705-WLAN: zuletzt eingegebene Zugangsdaten gingen verloren (selbst gefunden): Radio-IP, Benutzer und Passwort der WLAN-Direktverbindung hingen an der aktiven CAT-Konfiguration und konnten bei einem Konfig-Wechsel oder App-Neustart verschwinden. Sie sind jetzt app-global gespeichert.
  • IC-705-WLAN: Reconnect erforderte oft einen TRX-Power-Cycle (selbst gefunden): Beim Beenden meldete sich HAM-Tools nicht sauber ab, die IC-705 hielt ihre einzige Netzwerk-Session, und ein erneutes Verbinden scheiterte bis zum TRX-Aus/Ein. Jetzt: sauberes Abmelden beim Beenden + automatischer Reconnect-Retry, der nachfasst, bis das Radio die Session freigibt.
  • Ansonsten Feature-Release (Split aus dem Spot-Kommentar — siehe Changelog).

Behoben in v1.21.0

  • Reines Feature-Release (Propagations-Intelligenz: Grayline-Weltkarte, »Prop«-Ampel pro Spot, »Jetzt offen«-Matrix und die Weltkarte im Logbuch-Cluster — siehe Changelog). Keine Bugfixes.

Behoben in v1.20.1

  • Spalten-Verschieben konnte Tabellen zerlegen (selbst gefunden, BUG-20260607-1706-TJ): Auf macOS 26 führte ein Spalten-Drag in den Spot-Tabellen (DX-Cluster, POTA, SOTA, WWFF, BOTA) und der QSO-Tabelle zu vertauschten Zellinhalten, Phantom-Spalten, eingefrorener Bedienung oder — mit gespeicherter Anordnung aus einer älteren Version — zum Absturz. Ursache ist ein Apple-Bug in SwiftUIs Tabellen-Code; alle sechs Tabellen laufen jetzt auf einem nativen NSTableView-Unterbau. Einmaliger Nebeneffekt: Die Spalten-Reihenfolge startet nach dem Update auf Standard (Sichtbarkeit bleibt erhalten).

Behoben in v1.20.0

  • POTA: »Schon geloggt« war pro Station nicht erkennbar (gemeldet von HB9HJL): Der ATNO-Filter arbeitet pro Park, der Cluster-ATNO-Status pro Land — ob die konkrete Station schon im Log steht, war nirgends sichtbar. Jetzt: grüner ✓-Marker pro Aktivator-Call (24h, mit Band-Tooltip) + Filter »Geloggte ausblenden«.
  • Sonst reines Feature-Release (Distanz-Anzeigen, Kontinent-Mehrfachauswahl, Worked-B4-Filter — siehe Changelog).

Behoben in v1.19.1

  • TX-Leistung stand fest auf 100 W und wurde nicht nachgeführt (gemeldet von HB9HJL, danke!): Das Power-Feld im QSO-Formular folgt jetzt automatisch der per CAT gelesenen TRX-Leistung in echten Watt; via WSJT-X/N1MM geloggte QSOs übernehmen die Logger-Power bzw. ersatzweise die CAT-Leistung.
  • Verwaiste rigctld-Prozesse konnten den CAT-Start blockieren: Laufen mehrere HAM-Tools-Installationen (z.B. Release-App + Test-Version), blieben deren rigctld-Hintergrundprozesse nach Force-Quit liegen, hielten den CAT-Port und verursachten »CAT err«. Beim CAT-Start werden jetzt alle HAM-Tools-eigenen rigctld-Reste beendet (fremde, selbst gestartete rigctld bleiben unberührt).

Behoben in v1.19.0

  • Auto-Lookup brauchte fälschlich QRZ-Zugangsdaten: Wer ausschließlich HamQTH eingerichtet hat, bekam beim Tab aus dem Call-Feld bzw. Spot-Klick keinen automatischen Callbook-Lookup, und der Bulk-Lookup-Button in der QSO-Tabelle blieb ausgegraut. Beides funktioniert jetzt mit jedem konfigurierten Callbook (QRZ oder HamQTH).
  • Calls mit /P, /M usw. wurden nicht bei QRZ gefunden (gemeldet 2026-06-06, gefixt bereits in 1.18.0 — hier der Vollständigkeit halber): Der Lookup fällt bei Portable-/Mobile-Suffixen und Präfix-Notation auf das Basis-Call zurück.

Behoben in v1.18.0

  • LIES-MICH im DMG behauptete bei signierten Builds fälschlich »nicht notarisiert« — der Text richtet sich jetzt nach dem tatsächlichen Signing-Status (der Fix lag seit längerem auf Halde und wirkt erst ab diesem DMG-Build).

Behoben in v1.17.5

  • Beim zweiten Tune kurz nach dem ersten blieb CAT dauerhaft tot (HB9HJL-Test von 1.17.4: erster Tune heilte sich ✅, der direkt nächste nicht): Die 30s-Anti-Schleifen-Sperre des Auto-Reconnects blockierte die Heilung. Jetzt Budget von 3 Reconnects in Folge, Auffüllung nach 60 s stabiler Verbindung.

Behoben in v1.17.4

  • CAT starb nach dem Tune-Zyklus weiterhin (3. Runde mit HB9HJL, Yaesu — trotz 1.17.3-Toleranzen, teils ohne Interaktion ~10 s nach dem Tunen): Verdacht rigctld-Serial-Desync. Die App verbindet jetzt bei Verbindungs-Tod einmal automatisch neu (~2–3 s) statt »CAT err« zu zeigen; nur bei sofortigem erneutem Tod (Rig aus, Kabel ab) erscheint die Fehlermeldung.

Behoben in v1.17.3

  • Spot-Wechsel direkt nach einem TUNE riss die CAT-Verbindung weiterhin ab (Folge-Report von HB9HJL nach 1.17.2): Nach dem Tune-Zyklus antwortet das Rig noch eine Weile verzögert — ein einziger Abfrage-Timeout killte die Verbindung. Jetzt 3-Strike-Toleranz im Poll, automatischer Retry bei Frequenz-/Mode-Befehlen und Status-Selbstheilung.

Behoben in v1.17.2

  • Spot-Klick verstellte die Empfangsbandbreite am Yaesu (gemeldet von HB9HJL): Mit dem Mode wurde auch die Hamlib-Default-Filterbreite gesetzt (z.B. ~1,2 kHz) und überschrieb die am Rig gewählte Bandbreite. Spot-Klick und Mode-Buttons lassen die Filterwahl jetzt unangetastet.
  • TUNE riss die CAT-Verbindung ab (gemeldet von HB9HJL, Yaesu): Während des ATU-Tune-Zyklus ist das Rig mehrere Sekunden CAT-stumm — die App lief in einen Abfrage-Timeout und ging mit »Protokoll-Fehler: … Operation timed out« offline. Jetzt wartet sie den Tune-Vorgang ab und pollt danach normal weiter.

Behoben in v1.17.1

  • Ein-Klick-Update brach weiterhin mit »The request timed out« ab (Live-Report beim 1.16.0→1.17.0-Update, trotz Retry/Resume aus 1.15.0): Die wahre Ursache war der Download-Code selbst — Byte-für-Byte-Verarbeitung drosselte auf ~0,2 MB/s (70 s für 14 MB; curl: 1 s), der gestaute TCP-Stream provozierte nach 30 s Stillstand den Timeout. Jetzt chunk-weise: unter 1 Sekunde. Beim Update auf 1.17.1 läuft einmalig noch der alte Code — Workaround falls nötig: »Im Browser laden«.
  • Dauerhaft hohe CPU-Last (32–50 %) bei verbundenem Cluster: drei Render-Fresser (Heatmap-Neuberechnung pro Zelle, Fenster-Invalidierung pro Spot, Datenbank-Scan pro Render im »Letzte QSOs«-Panel) — jetzt stabil ~6 %.

Behoben in v1.17.0

  • WWFF-Reference-DB ließ sich nicht laden („A server with the specified hostname could not be found"): Die Quelle wwff-cc.org ist per DNS nicht mehr auflösbar. Download läuft jetzt über das offizielle Directory-CSV von wwff.co; bei Totalausfall zeigt die App einen direkten Browser-Download-Link zum manuellen CSV-Import.
  • WWFF-Parser: Im wwff.co-Format überschrieb die state-Spalte (Region) den Aktiv/Gelöscht-Status — 1 349 gelöschte Refs wären als aktiv durchgerutscht. Dazu: IUCNcat wird jetzt erkannt, Klartext-Land gewinnt gegen DXCC-Kürzel.
  • POTA/WWFF/BOTA-Export scheiterte mit Portable-Call (z.B. HB9HJI/P als Log-Call): Der Slash im Dateinamen wurde als Unterordner interpretiert, der Export brach still ab — mit der irreführenden Meldung „kein aktives Log oder Schreibrechte fehlen". Dateinamen werden jetzt saniert (HB9HJI-P@…), und Export-Alerts zeigen den tatsächlichen Fehler.
  • Callbook-Lookup mit Portable-Calls (BUG-20260606-0613-XF): HB9HJI/P, /M und Präfix-Notation lieferten »nicht gefunden« — jetzt Fallback auf den Basis-Call.

Behoben in v1.16.0

  • „Nur ATNO"-Filter im POTA-Spots-Tab fehlte, obwohl diese Hilfe-Seite ihn bereits dokumentierte — jetzt implementiert (zusammen mit „Nur manuell" gegen RBN-Rauschen).
  • Self-Spot-Doku korrigiert: Der Spot-Button funktionierte nie im Hunter-Modus (nur Activator) — Hilfetext und Doku behaupteten das fälschlich.

Behoben in v1.15.0

  • Ein-Klick-Update brach auf instabilen Verbindungen mit »The request timed out« ab. Ein einzelner Netzwerk-Stall warf den kompletten Download weg. Jetzt: bis zu 3 Versuche mit automatischer Fortsetzung an der Abriss-Stelle (HTTP-Range-Resume). Workaround war bisher „Im Browser laden".

Behoben in v1.14.4

  • SWR-Anzeige im Radio-Panel verschwunden (seit 1.9.12). Die SWR-Zeile erschien nach App-Start erst, wenn einmal mit messbarem SWR (> 1.0) gesendet wurde — bei perfekt angepasster Antenne gar nie. Ursache: Beim Umbau der CAT-Capability-Erkennung in 1.9.12 ging das Freischalten der Anzeige beim Verbinden verloren. Jetzt erscheint sie wieder direkt nach dem CAT-Connect.

Behoben in v1.14.3

  • Keine Fixes — Mini-Feature-Release (Hilfe-Menü → „HAM-Tools-Hilfe" öffnet die Online-Doku in der App-Sprache).

Behoben in v1.14.2

  • Ein-Klick-Update blieb bei »Starte neu…« hängen (1.14.0/1.14.1). Das Update war zu dem Zeitpunkt bereits korrekt installiert — nur der automatische Neustart kam nicht: das offene Update-Sheet verschluckte den Beenden-Befehl. Workaround beim Update aus 1.14.0/1.14.1: App manuell beenden und neu starten. Ab 1.14.2 läuft der Neustart automatisch (erzwungenes Beenden nach Gnadenfrist + Helper wartet auf Prozessende).

Behoben in v1.14.1

  • Keine Fixes — Mini-Feature-Release („Zurücksetzen"-Button für übersprungene Updates). Zugleich der erste Live-Test des Ein-Klick-Updates aus 1.14.0.

Behoben in v1.14.0

  • Keine nutzerseitigen Fixes — reines Feature-Release (Ein-Klick-Update + englische Help-Site). Hinweis: Der neue „Jetzt installieren"-Flow kommt mit diesem Release erstmals an Bord und wird beim nächsten Update zum ersten Mal praktisch durchlaufen — falls dabei etwas klemmt, funktioniert „Im Browser laden" immer.

Behoben in v1.13.0

  • Keine nutzerseitigen Fixes — reines Feature-Release (IC-705-WLAN-Steuerung). Bekannte Einschränkung: Der IC-705 erlaubt nur eine Netzwerkverbindung gleichzeitig; bei einem unsauberen Abbruch hält das Radio die Session, bis sie ausläuft — dann hilft kurz warten oder am Radio Network Control aus/an.

Behoben in v1.12.1

  • Keine nutzerseitigen Fixes — reines Feature-Release (DXpedition-Alert im DX-Cluster). Ein interner Robustheits-Fix betrifft nur den Entwicklungs-Build.

Behoben in v1.12.0

  • Hexbeam-Berechnung: Turning-Radius (Dreh-/Wenderadius) war geringfügig zu groß. Der Wert basierte auf einer Näherung statt auf der echten G3TXQ-Originaltabelle. Korrigiert auf 0,1539·λ; Info-Text und die vertikalen Band-Abstände wurden entsprechend nachgezogen.

Behoben in v1.11.1

  • Hexbeam im Antennen-Simulator war nur eine vereinfachte Näherung (bidirektionales Muster, Vor/Rück nicht belastbar). Die Geometrie wurde aus einem einzelnen Radius abgeleitet statt aus der echten gebogenen „M/U"-Drahtführung. Jetzt nutzt der Sim die echte, getunte G3TXQ-Geometrie aus dem Original-EZNEC-Modell (W-Driver + U-Reflektor) — NEC-verifiziert resonant mit klarer Richtwirkung (20m: ~10,5 dBi Gewinn, ~10,5 dB Vor/Rück über Grund). Der „vereinfachtes Modell"-Hinweis entfällt.

Behoben in v1.11.0

  • Yagi / HB9CV / Moxon „Im Sim öffnen" lieferten ein fast bidirektionales Strahlungsdiagramm (kaum Vor/Rück). Der Verkürzungsfaktor war doppelt eingerechnet — einmal im Bau-Maß und nochmal implizit durch NEC (das die Endverkürzung über den Drahtdurchmesser selbst modelliert). Die Antennen waren so ~5 % zu kurz, der Reflektor verlor seine induktive Wirkung. Jetzt nutzt die Simulation die physikalischen Längen ohne den zusätzlichen Faktor. NEC-verifiziert: Yagi-Vor/Rück 3 → 27 dB, SWR von Moxon/HB9CV von ~13/7 auf ~1,2/2,0.
  • Magnetic Loop & EFHW-Verkürzung simulierten ohne ihre Reaktanz. Der Abstimm-Kondensator (Magnetic Loop) bzw. die Lade-Spule (EFHW-Verkürzung) wurden beim Modell-Import in den Simulator verworfen — die Antennen waren dadurch nicht resonant (SWR ∞). Die konzentrierten Bauteile werden jetzt mit übernommen.

Behoben in v1.10.9

  • Keine Fixes — reines Feature-Release (Internet-/Cluster-Verbindungsanzeige in der Logbuch-Top-Bar).

Behoben in v1.10.8

  • WSJT-X lief nicht parallel zu HAM-Tools (User-Report HB9HJL). Solange HAM-Tools per CAT verbunden war, blockierte es den seriellen Port exklusiv — WSJT-X kam nicht ans Funkgerät. Jetzt kann HAM-Tools' eingebetteter rigctld als lokaler Server (127.0.0.1:4532) offen gehalten werden, an den sich WSJT-X & Co. parallel anhängen (Einstellungen → CAT → »CAT teilen«). Der Server bleibt am Leben, auch wenn HAM-Tools die eigene Verbindung trennt.
  • Yaesu: TUNE löste keinen Tuner-Abgleich aus, sondern schaltete den Tuner aus (User-Report HB9HJL). Die TUN-Pille togglet den Tuner nur an/aus. Neu: ein separater TUNE-Knopf startet bei modernen Yaesu einen echten Abgleich (AC002;). Bei Rigs ohne CAT-Tuner (FT-817/857/897) ausgeblendet — der genaue Tune-Befehl ist pro Profil überschreibbar.

Behoben in v1.10.7

  • Moxon Rectangle lieferte ~24 % zu lange Antenne. Die Konstanten im Rechner stammten aus einer unverifizierten Quelle und führten zu einer Resonanz bei 11.4 MHz statt 14.2 MHz (20 m). Jetzt Cebik W4RNL MoxGen-Polynome drahtdurchmesser-abhängig — verifiziert gegen die offizielle Cebik-Wire-Moxon-Tabelle. Material-Picker Draht 2 mm / Alurohr 12 mm + Validitäts-Warnung außerhalb des Modellbereichs.
  • POTA/WWFF/BOTA-ADIF-Export schrieb Multi-Park-Liste als Komma-Liste in MY_SIG_INFO. Die Upload-Plattformen pota.app / wwff.co / wwbota.net verlangen aber pro Aktivierungsziel ein eigenes File. Jetzt: pro Park/Ref/Bunker eine eigene ADIF mit single MY_SIG_INFO, Filename {call}@{ref} YYYYMMDD.adi. Activator-Call überall einheitlich auf den Log-Aktivierer normalisiert (löst WSJT-X-„STATION_CALLSIGN gemischt"-Problem).
  • Spiderbeam Multi-Band Lel-Werte waren systematisch zu lang. 23 Tabellenwerte (5-Band, Low-Sun, WARC, Original) korrigiert nach DF4SA Bauanleitung v2.20 §2.3.2 („Lel = Tabellenwert − 8 cm" für isolierten Kupferlackdraht).
  • Hexbeam-Rechner skalierte alle Bänder linear aus 20 m. Jetzt bandspezifische Werte direkt aus der WiMo HEX6B-Bauanleitung (G3TXQ Rev. V2.1) für 20/17/15/12/10/6 m, andere via Extrapolation.
  • Spiderbeam-Einzelband konnte nur Flat-Yagi. V-Form-Modus mit Spreader-Halbarm ergänzt, Label „mm" → „cm" gefixt, Multiband-Armwerte angeglichen.
  • HB9CV hatte keine Gamma-Match-Auslegung. Innenleiter-Ø, Abstand und Trimmer-Kapazität werden jetzt berechnet, plus Material-Toggle Rohr/Draht.
  • Groundplane: Drift zwischen App und Web (1.02 vs 1.05) — beide jetzt einheitlich auf 1.02.

Behoben in v1.10.6

  • Zweiter TRX verband nicht / „Port besetzt" (User-Report HB9HJI). Nach Crash, Force-Quit oder USB-Replug blieb ein rigctld-Prozess auf dem fest verdrahteten TCP-Port 4532 liegen und blockierte neue Verbindungen. Die App räumt verwaiste rigctld jetzt vor jedem Verbindungsaufbau auf (exakter Binary-Pfad-Match via libproc).
  • Transceiver-Menü zeigte „CAT einschalten" trotz Verbindung. Der Eintrag richtete sich nach einem internen Schalter statt nach der echten Verbindung → „einschalten" obwohl verbunden, Klick trennte. Jetzt „CAT verbinden/trennen" nach tatsächlichem Zustand, konsistent mit dem Start/Stop-Button.

Behoben in v1.10.5

  • IC-9700 verband nicht über CAT (User-Report HB9HJI). Hingen zwei Icom-Geräte mit CP210x-USB (IC-9700 + IC-7610) am selben Mac, waren ihre Ports im Picker nicht unterscheidbar (usbserial-XXXXX) → es wurde der falsche gewählt, rigctld brach mit „Exit -1" ab. Der Port-Picker zeigt jetzt die USB-Identität (CP210x-Seriennummer). Dazu: echte rigctld-Fehlermeldung (Exit-Code + stdout/stderr) statt „kein stderr", Band-Plausibilitäts-Warnung bei unpassender Frequenz, Icom-Flusssteuerung immer None, CI-V-Platzhalter = Modell-Default.

Behoben in v1.10.4

Drei Fixes aus dem Live-Test (User-Reports HB9HJI) plus Export-Spec-Konformität:

  • Laufende Nummer beim Bearbeiten nicht eingebbar. Der Contest-QSO-Editor hatte keine Felder für Serial/Exchange — jetzt sind S-Nr, Sent Exch und Recv Exch editierbar (wie die Spalten der Log-Tabelle).
  • Contest-Rate viel zu hoch. „Rate 10/60 min" rechnete auf die Spanne seit dem ersten QSO im Fenster hoch (wenige dichte QSOs → absurde Werte). Jetzt feste Fensterbreite als Divisor (N1MM-Verhalten).
  • DX-Cluster „Kont."-Filter filterte nach dem DX statt nach dem Spotter. „Kont. = EU" zeigt jetzt nur Spots von Spottern aus EU (Propagations-Sicht). Land-Spalte und Band-Activity bleiben beim DX-Kontinent.
  • Export-Konformität (Cabrillo/ADIF/EDI). Cabrillo: CATEGORY-MODE: SSB statt PH, neue CATEGORY-ASSISTED/CATEGORY-TRANSMITTER, LOCATION: DX für internationale Calls, ungültige CATEGORY-TIME weggelassen. ADIF: MY_ANTENNA statt des undefinierten ANTENNA. Cabrillo + EDI: CR-LF-Zeilenenden. Geprüft gegen WWROF-v3-, ADIF-3.1.5- und REG1TEST-Spezifikation.

Behoben in v1.10.3

  • EDI-Export: falscher Wertungsblock bei UKW-Contesten. Im EDI-/REG1TEST-Export war das Bänder-Feld der Zähl-Zeilen falsch (CQSOs=n;0 statt n;1; CWWLs/CExcs/CDXCs ohne drittes Feld). Entspricht jetzt VHF Managers Handbook + RUMlogNG-Referenz; gegen reale IARU-R1-145-MHz- und DARC-UKW-Logs geprüft. QSO-Zeilen, QRB-Distanzen und Punktsummen waren bereits korrekt.

Behoben in v1.10.2

Reines Feature-Release (neues „Letzte QSOs"-Panel in der DX-Sidebar) — keine Bugfixes.

Behoben in v1.10.1

Drei Fixes aus dem Live-Test von 1.10.0 (User-Reports HB9HJI):

  • ATNO meldete fälschlich „NEW MODE". Im DX-Cluster zeigte die ATNO-Pille „NEW MODE" für Länder, die in SSB längst gearbeitet waren. Grund: Der aus der Frequenz abgeleitete Seitenband-Mode (USB/LSB) wurde gegen den ADIF-Mode SSB aus dem Log verglichen. Seitenbänder werden jetzt zusammengefasst (USB/LSB = SSB, CWR = CW, RTTYR = RTTY).
  • FT8/FT4 wurde als SSB/USB angezeigt. Die Mode-Erkennung verlangte einen Treffer exakt auf die Dial-Frequenz; FT8-Signale liegen aber über das ~3 kHz breite NF-Passband oberhalb der Dial-QRG verteilt. Jetzt wird das ganze Passband erkannt, plus ergänzte Dial-Frequenzen für 4 m und 2 m FT4.
  • QRZ-Bild-Bereich ließ das Eingabeformular springen. Ohne geladenes Bild hielt die Profil-Spalte ihre Breite nicht — die Felder sprangen nach rechts, mit Bild zurück nach links. Feste Bild-Box mit Platzhalter, kein Springen mehr. Neu: Klick aufs Bild öffnet es in dreifacher Größe.

Behoben in v1.10.0

Kern-/Refactor-Release — keine klassischen Bugfixes, aber zwei Scoring-Korrekturen, die mit der neuen Engine kommen:

  • Kanton-/Distrikt-Multiplikatoren bei vollem Austausch. Steht der Multiplikatorwert als Token in einem mehrteiligen Austausch (z. B. 599 ZH, 599 B07), wird er jetzt korrekt erkannt — zuvor wertete der Multiplikator das ganze Feld und zählte dadurch 0 (Helvetia/Weihnachtswettbewerb-Kantone, WAG-Distrikt).
  • USKA 50 MHz (CW/SSB): kein Großfeld-Multiplikator mehr. Endpunktzahl ist die reine km-Summe gemäß offiziellem USKA-Reglement (zuvor fälschlich mit Großfeldern multipliziert).

Behoben in v1.9.18

Contest-Scoring-Fix aus dem Live-Test (User-Report HB9HJI):

  • Helvetia-Contest-Score komplett falsch berechnet. Ein 219-QSO-Log zeigte 411 Pkt × 23 Mult = 9 453 statt korrekt 1 328 × 110 = 146 080. Drei Fehler: (1) Punkte zählten HB-QSOs mit 1 statt 10 und alle Nicht-HB pauschal mit 3 statt 1 (gleicher Kontinent EU) / 3 (DX) — entgegen USKA-Reglement §2.7. (2) Der Multiplier wertete nur Kantone und deduplizierte sie global, statt Kantone UND DXCC-Länder je Band zu zählen. (3) Das Stats-Panel zeigte in der Summen-Zeile 23 statt 66 Kantone. Jetzt korrekt, mit neuer »Länd«-Spalte und robuster Länder-Auflösung (HB→Schweiz, sonst Feld, sonst Präfix). DXCC-Präfix-Tabelle um fehlende EU-Subpräfixe (DL-Block, BE, NL, PL, BY) erweitert.
  • Export-Buttons in Outdoor-Logs zeigten das volle DX/Contest-Menü. In BOTA/POTA/SOTA/WWFF-Logs erschienen Cabrillo + EDI (und bei SOTA ADIF), obwohl die Portale andere Formate verlangen. Jetzt log-typ-spezifisch: SOTA → nur CSV, POTA/WWFF/BOTA → nur ADIF, Standard/Contest → ADIF + Cabrillo + EDI.

Behoben in v1.9.17

Critical-Hotfix aus dem Live-Test:

  • Outdoor-Log-Anlage »Anlegen«-Button stumm disabled bei unbekannten Refs. Alle vier Outdoor-Wizards (BOTA/POTA/SOTA/WWFF) setzten zwingend einen DB-Match auf den eingegebenen Ref voraus. Neue Refs (noch nicht im gebundelten CSV) oder ungewöhnliche Schreibweisen führten zu canCreate == false, aber der .borderedProminent-Button bleibt visuell aktiv — Klick passierte nichts. Jetzt reicht ein nicht-leerer Query, DB-Lookup ist Bonus für Auto-Fill. Orange Hinweiszeile wenn Ref nicht in DB.
  • Multi-Ref-Hopping-Sektion war versteckt bei ungelookupten Primär-Refs. Greift jetzt sobald ein nicht-leerer Primär-Query da ist.

Behoben in v1.9.16

UX-Hotfix aus dem Live-Test:

  • Outdoor-Tab öffnete ohne Wahl direkt das POTA-Sheet. Wer SOTA, WWFF oder BOTA aktivieren wollte, musste den POTA-Wizard erst abbrechen und über den Sub-Picker neu navigieren. Jetzt zeigt sich beim Outdoor-Klick (wenn noch kein Outdoor-Log existiert) ein Programm-Picker mit allen vier Optionen.
  • WWFF/BOTA-Logs wurden bei Outdoor-Klick ignoriert. Die »existiert schon ein Outdoor-Log?«-Prüfung checkte nur POTA und SOTA — wer ein WWFF- oder BOTA-Log hatte, sah trotzdem den POTA-Wizard. Reihenfolge ist jetzt POTA → SOTA → WWFF → BOTA, also wird zu jedem existierenden Outdoor-Log korrekt gewechselt.

Behoben in v1.9.15

Privacy-Hotfix — drei vergessene Setup-Reste mit dem Call des Autors, retroaktiv beim ersten Lauf des neuen Pre-Release-User-Daten-Checks aufgefallen:

  • Sidebar-Subtitle »HB9HJI Funkwelt« hardcoded. Im Hauptfenster oben unter »HAM-Tools« stand der Call des Autors statt eines neutralen oder dynamisch übernommenen Werts. Jetzt aus den Station-Settings dynamisch, leer bei nicht-gesetztem Callsign.
  • Previous-QSOs-Popover-Hilfetext nannte »HB9HJI« als Beispiel für Base-Call-Match-Erklärung. Auf generisches »DL1ABC« umgestellt.
  • QTHLocator-Feld zeigte »JN47PN« als Placeholder ohne »z.B.«-Prefix — sah aus wie Default-Wert. Auf »z.B. JN47PN« vereinheitlicht.

Erweitert die Privacy-Welle aus v1.9.7 (damals fünf Stellen). Neuer Pre-Release-Check ist seit heute fester Pipeline-Schritt vor build-dmg.sh.

Behoben in v1.9.14

Outdoor-Logger-Polish + 1 selbst gemeldeter Bug:

  • SOTA-Chaser-Logs konnten gar nicht als CSV exportiert werden. Der SOTACSVExporter prüfte »gibt es eigene Summits im Log?« und gab bei Chaser-Logs (logischerweise keine eigenen Summits) stumm eine leere File-Liste zurück. Du hattest also einen sauber geführten Chaser-Trip, aber kein CSV das du auf sotadata.org.uk hochladen konntest. Jetzt eigenes Chaser-Spalten-Schema + neues Pre-Export-Sheet mit Rollen-Picker.
  • Per-Summit-Aktivierungs-Status war über alle Summits eines Logs summiert. Bei Multi-Summit-Hopping zeigte »12/4 — Aktivierung gültig«, obwohl jeder einzelne Summit für sich noch keine 4 QSOs hatte. SOTA-Regel ist aber pro Summit + UTC-Tag separat. Jetzt korrekt mit SOTASessionStatus-Helper und Pro-Aktivierung-Pillen im Form.
  • WWFF-Aktivierungs-Status hatte den gleichen Bug (X/44 über alle Refs summiert), Hunter hatte gar keinen Live-Status. Jetzt analog gelöst mit WWFFSessionStatus + Hunter-Block »N Refs · M Programme · R2R K«.
  • POTA-Aktivierungs-Status ebenfalls (X/10 über alle Parks/Tage summiert). Identisch nachgezogen.
  • BUG-20260522-2040-AW: »Felder nach QRZ-Lookup nicht alle korrekt« (HB9HJI, v1.9.12). Im Standard-Log blieb nach einem zweiten QRZ-Lookup das Feld »Country« mit dem Wert der vorigen Station hängen, andere Felder waren korrekt. Root cause: clearCallbookFields() in QSOEntryPanel räumte 11 Felder, applyCallbookResult() schrieb in 12 — country war im Apply, aber nicht im Clear. Eine Zeile Fix + Symmetrie-Invariante explizit dokumentiert.

Behoben in v1.9.13

Contest-Saison-Cleanup + ein paar Spec-Stellen, die wir bisher kreativ ausgelegt hatten:

  • Contest-ADIF schickte RST doppelt. STX_STRING/SRX_STRING enthielten zusätzlich zum dedizierten RST_SENT/RST_RCVD nochmal den Rapport (»59 LU«). USKA/DARC-Cross-Check verdoppelte das beim Auswerten. Jetzt nur noch das Exchange-Datum (Kanton/State/Grid/Zone) im STX_STRING/SRX_STRING.
  • Cabrillo ohne T-Spalte (Cabrillo-3.0-Spec). Manche Contest-Robots wiesen die Files mit »Parse error: missing T-field at column 80« zurück, weil der Transmitter-ID-Wert am Zeilenende fehlte. Jetzt 0 automatisch ans Ende — und gleich auch CREATED-BY von hardcoded »HAM-Tools 1.5« auf dynamisch BuildInfo.appVersion umgestellt.
  • ADIF: MY_GRIDSQUARE nur bei POTA/SOTA-QSOs. Bei normalen DX- und Contest-Logs fehlte das Feld komplett. LoTW machte deswegen für VHF-QSOs (wo das Feld pflicht ist) keinen QRB-Cross-Check, Club-Log konnte für manche Awards (WAB etc.) die geografische Zuordnung nicht herleiten. Jetzt für jedes QSO geschrieben, generisch aus den Station-Settings.
  • Contest-Form: Cursor blieb nach Enter beim Exchange-Feld. Bei 100 QSOs pro Stunde merkbarer Klick-/Tab-Detour. Jetzt @FocusState mit Cursor-Rücksprung auf »Call« nach jedem Submit + Auto-Uppercase für Kanton/State/Grid/Zone (damit »so« nicht klein im Log landet).
  • USKA 50 MHz Contest-Template hatte falsches Datum + falsche Time-Category. Datum war auf das 2. Wochenende Juni statt 3., Time-Cat war 6 h statt 24 h. Plus Template-Name war nur »USKA 50 MHz« — jetzt »USKA / IARU R1 50 MHz Contest«, damit klar ist welche Regelwerks-Variante gilt.
  • RadioControlPanel-Footer war seit 1.9.4 statisch. Stand permanent »Idle — nicht verbunden«, auch wenn die CAT-Verbindung längst stand. Ein TODO aus dem CAT-Refactor, das durch alle Bug-Reports gerutscht ist. Jetzt echter CATController.Status im Footer.

Behoben in v1.9.12

Feature-Release — reine Erweiterungen, keine Regressionen aus 1.9.11:

  • Logbuch ADIF-Export war »alles-oder-nichts«. Bisher exportierte der »Export ADIF«-Button immer das komplette aktive Log. Für ein Lebens-Log mit ein paar tausend QSOs unpraktisch, wenn man nur einen Ausschnitt (Contest-Tag, letzte 50 QSOs für Club Log) hochladen wollte. Jetzt: ⌘-/⇧-Klick in der QSO-Tabelle markiert eine Auswahl, der Button wechselt zu »Export ADIF (N)« und schreibt nur diese N Zeilen.
  • CAT-Panel hatte keine Slider für Volume und TX-Power. RUMlog/HamLog-Vorbilder zeigen AF/RF-Slider — wir hatten nur Mode/VFO/Split-Buttons. Jetzt zwei neue Slider zwischen S-Meter und Status-Badges. Drag-and-Release-Pattern: während des Ziehens läuft das Update lokal, beim Loslassen einmal ans Rig — spart Roundtrips.
  • SWR war nirgendwo sichtbar. Bei jedem TX musste man aufs Rig-Display schauen, ob die Stehwelle okay ist. Jetzt SWR-Live-Balken im Panel während des Sendens, farbcodiert (≤ 1.5 grün, ≤ 2.0 gelb, > 2.0 rot).
  • TX/RX-Badges waren Placeholder. Die zwei kleinen RX / TX-Pillen neben dem PWR-Wert hatten keinen Live-Read und blieben immer grau. Jetzt liest die App jeden Poll-Tick den PTT-Status (t-Befehl) und färbt die Badges entsprechend — egal ob die PTT vom Mikro, Data oder CAT kommt.
  • Keine schnellen DSP-Toggles. Standard-Funktionen wie Noise Blanker, Noise Reducer, Auto-Notch und Antennen-Tuner waren nur am Rig erreichbar — bei einer leise reinkommenden CW-Station verschwendet man Zeit am Knopf. Jetzt vier Toggle-Pills unter den Status-Badges, Klick togglet die Funktion am Rig.

Behoben in v1.9.11

Live-Test-Feedback aus 1.9.10 (5 Bug-Mails über In-App-Reporter):

  • Previous-Popover fand keine /P-/M-/QRP-QSOs (BUG-20260521-2000-QP). LogbookDatabase.findQSOs(matching:) verglich Calls exakt — wer als »HB9XYZ« suchte, fand keine »HB9XYZ/P«-Einträge, obwohl die im Log waren. Jetzt Base-Call-Match: längster Teil zwischen den »/«-Trennern wird auf beiden Seiten verglichen. Empty-State diagnostiziert zusätzlich »X Logs durchsucht · Base-Call-Match«.
  • »QSL-Bestätigungen abrufen« nur im QSL-Tab versteckt (BUG-20260521-1958-WJ). User suchten die Buttons in den Einstellungen, wo auch die Credentials liegen. Buttons jetzt gespiegelt in Einstellungen → Lookup & Upload → QRZ.com / LoTW, mit Hint »(auch im QSL-Tab verfügbar)«.
  • Contest-Cluster fehlte Worked-Filter + Mult-Markierung (BUG-20260521-2005-CT). Im Contest-Modus erscheint jetzt eine Filter-Bar oben mit Toggle »👁 Gearbeitete ausblenden« + auffälligem grünem »MULT«-Badge neben Multiplikator-Kandidaten + Color-Legende. Erscheint nur bei activeLog?.type == .contest.
  • Frequenz-Eingabe steuerte das Radio nicht (BUG-20260521-1937-SS). Das TextField im RadioControlPanel war editierbar, commitFreqText() setzte aber nur radio.frequencyMHz lokal — kein cat.setFrequencyMHz(). Der Poll-Loop überschrieb den Wert ~200ms später mit der echten Radio-Frequenz, aus User-Sicht »passierte nichts«. Jetzt sendet das Commit bei aktiver CAT die Frequenz ans Radio, mit optimistischem UI-Update um Flicker zu vermeiden.
  • USB-Port musste nach jedem Reboot neu gewählt werden (BUG-20260521-1954-YH). Bei FTDI/CP210x-Chips vergibt macOS dem Stick nach Boot ggf. ein anderes Pfad-Suffix; der gespeicherte Pfad war dann tot, Connect schlug stumm fehl. Neue SerialPortDiscovery.resolve(stored:)-Logik: wenn der Pfad weg ist und genau ein USB-Serial-Port da ist, wird der automatisch übernommen + in CATSettings persistiert (Info-Toast »ℹ️ USB-Pfad migriert: alt → neu«). Bei Mehrdeutigkeit klare Fehlermeldung mit Kandidaten-Liste.

Behoben in v1.9.10

  • LoTW-Pfad-Setup war terminal-lastig. Feld »tqsl-Binary« in den LoTW-Einstellungen war ein reines TextField — wenn die Auto-Detection die App nicht fand (TQSL.app statt Tqsl.app, ungewöhnlicher Installationsort, Homebrew), musste der User mit mdfind oder find im Terminal nach dem Pfad suchen. Jetzt »📁 Suchen…«-Button rechts neben dem Feld, der einen Finder-Picker öffnet und das Binary automatisch aus dem .app-Bundle extrahiert.
  • Yaesu Voice-Memory V5-Slot fehlte. TRX-Voice-Keyer-Reihe zeigte bei Yaesu-Profilen nur V1–V4, obwohl die unterstützten Modelle (FT-991/A, FT-710, FTDX-10, FTDX-101D/MP) hardware-seitig 5 Slots haben. Fünfter Button ergänzt — der Code-Kommentar wies sogar selbst auf das »wir mappen nur 4«-TODO hin. ICOM bleibt unverändert bei 4 Slots (Hardware-Limit).

Behoben in v1.9.9

  • Schedules-Tab war Platzhalter ohne Inhalt. Tab-Bar zeigte »Schedules« mit Calendar-Icon aber disabled-Tooltip »kommt in späterer Phase«. Tab ist jetzt voll implementiert: Skeds + DX-Events mit Countdown, QSO-Form-Pre-Fill, Cluster-Filter, Status-Menü und macOS-Notifications. Persistiert in ~/Documents/HAM-Tools/Cache/schedules.json. Doku unter Module → Schedules.

Behoben in v1.9.8

  • TRX-Voice-Keyer-UI war ICOM-only. V1–V4-Buttons in DX/Contest/Outdoor-Forms zeigten »ICOM Voice / IC-7300/7610/9700/705« und waren stillschweigend nur für ICOM gedacht — Yaesu/Kenwood/Elecraft-User konnten nicht klicken um zu sehen ob ihr Hamlib-Backend das mittlerweile unterstützt. Jetzt markenspezifische Anzeige, Buttons immer aktiv solange CAT verbunden ist.
  • RPRT -11 in der Status-Zeile war kryptisch. Bei Voice-Memory-Aufrufen, die das Hamlib-Backend nicht implementiert, kam »sendVoiceMem abgelehnt: RPRT -11«. Jetzt verständliche Meldung: »Funktion wird vom Hamlib-Backend für dieses TRX-Modell (noch) nicht unterstützt.«

Behoben in v1.9.7

  • Privacy-Leck: DXCluster-Default-Callsign war hardcoded HB9HJI, QTH-Locator hardcoded JN47PN an fünf Stellen (Cluster, Weltkarte 2×, QTH-Locator, Grayline), und der API-User-Agent enthielt »HAMTools/2.0 HB9HJI«. Bei Erstinstallation ohne Eintrag in Station-Settings starteten andere User mit Autor-Identität in Cluster-Login + Distanz-Berechnung; bei jedem API-Request an pota.app/sotadata.org.uk/wwff-cc.org wurde der Autor-Call im HTTP-Header mitgeschickt. Alle Defaults auf "" gesetzt, User-Agent jetzt HAMTools/<appVersion>.
  • Cluster-Spot-Zeit-Mismatch (BUG-20260520-1945-JS): Spot-Liste zeigte je nach Quelle Mac-Lokalzeit, RBN-Skimmer-»UTC«-Strings mit lokalem Inhalt, oder gar gar keine Zeitzone. Jetzt rendert DXSpot.displayTime immer aus dem timestamp-Date in UTC (HHmmZ).
  • Mode-Multi-Select + Band-Sortierung (BUG-20260520-1943-G8): Mode-Filter war Single-Pick, jetzt Multi-Select (Set<String> mit Migration). Band-Filter-Liste sortiert nach Wellenlänge statt alphabetisch.
  • TRX-Setup-Submenu schließt sich (BUG-20260520-1942-B3): CATController als @ObservedObject in TransceiverCommands triggerte sekündliche CommandMenu-Rebuilds durch den Status-Poll-Loop. Jetzt let-Reference, Status wird nur beim Klick gelesen.
  • Spot-Cap zu klein (BUG-20260520-1942-AA): SpotPersistence.maxSpots 500 → 2000. An Contest-WE mit 4+ DXSpider-Knoten waren 500 in ~50 s voll.
  • Grayline-Performance (BUG-20260520-1940-33): nightCells war computed property → 2592 Polygon-Constructions pro Body-Render. Jetzt @State-Cache mit Recompute nur in onAppear/onChange. Plus Grid-Step 5° → 10° (648 statt 2592 Polygone).

Behoben in v1.9.6

  • LoTW: Station-Location-Picker fand keine in tqsl 2.5+ konfigurierten Locations, weil nur der alte Pfad ~/Library/Application Support/TrustedQSL/station_data.xml versucht wurde — aktuelles tqsl legt sie unter ~/.tqsl/station_data.xml ab. Zweiter Pfad-Kandidat ergänzt; Picker zeigt jetzt automatisch was in tqsl-GUI eingerichtet wurde.
  • LoTW: tqsl-Exit-Codes 9 und 10 waren vertauscht. Ein Tester mit falsch eingegebener Station-Location bekam »LoTW-Server nicht erreichbar« statt der korrekten »Location nicht gefunden«-Meldung. Mapping aus tqsl 2.8.4 Live-Test verifiziert: 9 = CONNECTION_FAILED, 10 = COMMAND_ERROR.
  • LoTW: »Station Location X could not be found« landete im generischen CLI-Argument-Fehler-Branch und zeigte einen wenig hilfreichen Text. Eigene Klartext-Erkennung im interpret() gibt jetzt direkt »in Einstellungen → LoTW prüfen« aus.

Behoben in v1.9.5

  • LoTW-Upload meldete »Netzwerk: LoTW-Server nicht erreichbar« obwohl der Upload tatsächlich erfolgreich war. Ursache: das Wort »Connection« in einer tqsl-Zwischen-Logzeile triggerte den Network-Branch im interpret(). Erfolgs-Klartext-Match (»uploaded successfully« / »queued for processing«) läuft jetzt VOR den Netzwerk-Heuristiken. Zusätzlich startet der Subprocess jetzt mit explizitem HOME/PATH + cwd=$HOME (manche App-Sandboxing-Szenarien lieferten ein leeres Environment, das tqsl verwirrte). Fehler-Alerts zeigen jetzt die letzten 500 Zeichen der tqsl-Rohausgabe als Diagnose-Hilfe.

Behoben in v1.9.4

  • LoTW-Upload: tqsl-Exit-Codes waren auf das alte 1.x-Schema (0/3/4/6) gemappt — die aktuelle tqsl-2.5+-Version benutzt Codes 0–11 mit komplett anderer Semantik. UploadOutcome bei Erfolg/Duplikat/Network-Fehler war daher unzuverlässig. Codes neu nachgezogen aus tqsl-Source (apps/tqsl.cpp), Duplikate werden zusätzlich per Text-Match in stdout erkannt (tqsl 2.5+ signalisiert sie nicht mehr per Exit-Code).

Behoben in v1.9.3

  • Startcrash auf macOS 26.3.x: HAM-Tools.app crashte unmittelbar nach Login mit EXC_BREAKPOINT in SCPService.loadRawFile. Ursache war ein vergessener Bundle.module-Direktaufruf — der toleranten AppResource-Helper (aus 1.8.16 für genau diese Klasse von Bugs gebaut) wurde im neuen Contest-SCP-Code übersehen. Jetzt umgestellt; SCPService findet die MASTER.SCP-Datei jetzt unabhängig vom Bundle-Format (flat oder canonical Contents/-Layout). Tester die nach 1.9.2 nicht mehr starten konnten: 1.9.3 manuell laden, danach läuft Auto-Update wieder normal.

Behoben in v1.9.2

  • Rechte Sidebar sprang nach dem 1.9.1-Release weiterhin auf wechselnde Breiten, sobald man zwischen Contest und Standard/Outdoor wechselte. Ursache: HSplitView identifizierte ContestStatsPanel und PropagationPanelView als zwei verschiedene Child-Views und resettete den Splitter bei jedem Wechsel. Beide Panels sitzen jetzt in einem gemeinsamen Outer-VStack, der Frame-Modifier sitzt außen — HSplitView sieht damit stets dieselbe View-Identity. Frame zusätzlich nochmal enger gezogen (min 230 / ideal 255 / max 290).
  • ICOM-Voice-Keyer-Marken-Einschränkung war nur per .help()-Tooltip am Text-Label sichtbar. SwiftUI auf macOS triggert den Hover-Tooltip auf reinen Text-Views unzuverlässig — User sahen die Einschränkung deshalb nicht. Modell-Liste jetzt inline als zweiter Text-View neben „ICOM Voice": IC-7300/7610/9700/705.

Behoben in v1.9.1

  • Light-Theme: CAT-Frequenzanzeige war schwarz-auf-schwarz unsichtbar — Vordergrund hing an theme.textPrimary (fast schwarz), Hintergrund an theme.bgLog (fast schwarz). Wechsel auf theme.logText (grünes Radio-Display) macht die Anzeige in allen Themes konsistent lesbar.
  • Light-Theme: Sidebar-Headlines (DX-Spot senden, Propagation, Solar-Daten, Eigene Spots, Band Activity) waren in hellem Pastell-Gold auf weißem Panel kaum lesbar. Im Light-Theme jetzt theme.accentOrange (#E07000) als Headline-Ton; Dark/Ham Classic bleiben unverändert beim klassischen Gold, Matrix nutzt das Cyan-Akzent.
  • Contest-Wizard speicherte die im Cabrillo-Picker gewählte Band-Kategorie nicht — Wert ging beim Anlegen verloren, Cluster-Filter und Cabrillo-Export fielen immer auf den Template-Default zurück. Schema-v12-Migration ergänzt log_meta.contestBandCategory, alle drei Konsumenten (Cluster-Tab, Export-Sheet, Stats-Panel) lesen jetzt zuerst den Log-Wert.
  • Rechtes Panel sprang beim Wechsel zwischen DX/Outdoor/Contest auf bis zu 340px („zu breit"). Beide Sidebar-Varianten (Propagation, Contest-Stats) nutzen jetzt identische Frame-Werte (min 250 / ideal 285 / max 320), HSplitView kann nicht mehr an den oberen Anschlag ziehen.
  • „Band Activity"-Headline brach bei schmaler Sidebar zweizeilig um (Picker mit width: 100 ließ nicht genug Platz). lineLimit(1) + Picker auf 88px verschmälert — Headline bleibt zwingend einzeilig.

Behoben in v1.9.0

  • DX-Cluster Heatmap-Picker (Band Activity, rechtes Panel): Die 15/30/60-Min-Auswahl wirkte nur visuell — die Zahlen in der Heatmap rechneten weiter mit dem alten Wert. Picker im Panel und bandMatrix-Berechnung waren über zwei unabhängige States entkoppelt. Jetzt computed property direkt im Panel, AppStorage-basiert. Zusätzlich »5 min«-Option, damit man bei vollem Cluster (~500 Spots in der 15-Min-Retention) überhaupt einen Unterschied sieht.
  • App war auf Englisch nicht startbar (war auch nie wirklich englisch). Drei Bugs gleichzeitig: SwiftPM kompiliert das String-Catalog nicht automatisch in die runtime-fähige Form; die generierten Lokalisierungs-Dateien landeten nur im SwiftPM-Sub-Bundle (für SwiftUI unsichtbar); Info.plist fehlten die CFBundleLocalizations-/DevelopmentRegion-Einträge. Alle drei Stellen gefixt — Sprach-Picker im Darstellungs-Tab tut jetzt was er soll.
  • DX-Map QTH-Zentrierung griff nach interaktiver Camera-Bewegung nicht: MapCameraPosition.region wurde von SwiftUI als »gleich« verworfen wenn der User die Karte vorher manuell verschoben hatte. Jetzt mit .camera(MapCamera(...))-Snapshot, animiert sauber zurück zum eigenen QTH.

Behoben in v1.8.16

  • Callbook-Lookup: Beim Klick auf einen neuen Cluster-Spot oder bei manuellem Call-Wechsel + Tab blieben First/Last/Street/City/State/Email/Locator/Zonen der vorigen Station stehen, obwohl Bild und Header schon die neue Station zeigten. applyCallbookResult füllte nur leere Felder; jetzt räumt ein gemeinsamer Helper vor jedem frischen Lookup auf.
  • Radio/CAT-Frequenz-Anzeige: rechtes Segment war nur 2-stellig (10-Hz-Auflösung) — »7.095.00«. Jetzt 3-stellig mit voller 1-Hz-Auflösung: »7.095.000«.
  • Programm-Maps (POTA/SOTA/WWFF/BOTA) hatten dasselbe MapKit-Stall-Risiko wie der History-Tab vor 1.8.15. Hard-Cap + Overflow-Banner ist jetzt auf alle Programm-Maps ausgedehnt.

Behoben in v1.8.15

  • History-Tab-Crash: Bei »Zeitraum = Alle« und einem großen Standard-Log konnte die App beim Klick auf den History-Tab komplett »verschwinden« — Prozess lief weiter, aber kein Fenster wurde mehr sichtbar. Ursache: MapKit-Render-Stall durch zu viele Annotations + Polylines. Drei Schutzschichten: Hard-Cap auf 1500 Annotations, Linien-Limit 500, »Alle«-Option im Zeitraum-Picker entfernt (Max »2 Jahre«).

Behoben in v1.8.13

  • Auto-Update-Check meldete »HAM-Tools ist aktuell«, obwohl auf dem Server eine neuere Version bereitstand — isNewerBuild() verglich nur das Build-Datum als String, Hotfix-Releases vom selben Tag (1.8.11 → 1.8.12 → 1.8.13) wurden so nicht erkannt. Jetzt numerischer Semver-Vergleich primär, Build-Datum nur als Tiebreaker. Wirkt ab dem 1.8.13-Build — wer auf 1.8.12 oder älter sitzt, muss einmalig manuell aus /app/dmg/latest.dmg updaten.
  • Multi-Cluster: Host- oder Port-Änderungen an einem bereits aktiven Cluster-Node wurden vom Pool-Resync ignoriert (alter Client lief weiter). applyActiveNodes() macht jetzt einen Field-Diff und startet betroffene Clients gezielt neu.

Behoben in v1.8.12

  • App-Startcrash auf macOS 26.5 (echte Ursache): macOS 26.5's Bundle.init(url:) liefert für SwiftPM-Resource-Bundles bei manchen Setups nil — Bundle.module greift dann auf seinen fatalError-Fallback zurück und die App crashed direkt in BOTARefService.init. Der 1.8.11-Fix (Bundle-Format kanonisch umbauen) hat das nicht behoben. Ab 1.8.12 wird Bundle.module komplett umgangen: ein neuer AppResource-Helper sucht das Resource-Bundle selbst, toleriert verschiedene Bundle-Layouts und gibt nil statt zu crashen.

Behoben in v1.8.11

  • App-Startcrash auf macOS 26.5 (erster Versuch — siehe v1.8.12 für die echte Behebung): Bundle-Format-Korrektur in build-dmg.sh. Brachte allein noch keinen Erfolg, ist aber für saubere Code-Signing-Hygiene weiter im Build drin.

Behoben in v1.8.10

  • POTA-ADIF-Upload abgelehnt mit „Only a single STATION_CALLSIGN value is supported per log file" — beim FT8-Loggen über WSJT-X-Spots konnte mid-session der my_call von Home- auf Portable-Call wechseln (z.B. HB9HJIIT/HB9HJI/P). Jetzt zwei Sicherungen: WSJT-X-Importer nimmt für Outdoor-Logs immer das im Log-Wizard gewählte Aktivierungs-Rufzeichen; zusätzlich vereinheitlicht der POTA-Export auch alte gemischte Logs.
  • Mode-Picker im Radio/CAT-Panel war ohne CAT-Verbindung gedimmt und nicht klickbar — Loggen ohne Funkgerät (z.B. Remote/Reise-Setup) war damit auf den zuletzt aktiven Mode festgenagelt. Jetzt immer klickbar; ohne CAT zusätzlich FT8/FT4/JT65/JT9/PSK31/JS8/Q65/MSK144 wählbar (Hamlib kennt diese nicht direkt — laufen am TRX über PKTUSB).

Behoben in v1.8.9

  • Club-Log-Upload: 403 Forbidden bei Email-Adressen mit @ und anderen Sonderzeichen — Form-Encoding war nicht RFC-3986-konform und wurde von Club Logs nginx-WAF blockiert. Jetzt strikt RFC-3986-kodiert.
  • Standard-DX-Log warnte bei Mehrfach-Logs desselben Calls (Lebens-Log/Stammrunde/Tages-Log) mit „Schon gearbeitet" — dort sinnlos. Dupe-Warnung jetzt nur noch in Programm-Logs (POTA/SOTA/WWFF/BOTA) und Contest.

Behoben in v1.8.8

  • POTA-ADIF-Upload wurde von pota.app abgelehnt — Export verwendete das ältere nicht-dokumentierte Feld MY_POTA_REF. Jetzt standardkonform mit MY_SIG=POTA + MY_SIG_INFO.
  • WWBOTA-ADIF: alter Stub erzeugte kein hochladbares File — jetzt offizielles Format mit MY_SIG=WWBOTA und Komma-Liste in MY_SIG_INFO für Multi-Bunker.
  • POTA Multi-Park-Hopping: pota.app verweigerte Komma-Listen in MY_SIG_INFO — Export schreibt jetzt automatisch eine eigene Datei pro Park.
  • QRZ-Auto-Fill in POTA/SOTA/WWFF/BOTA-Logs übernahm nur den Namen, der Rest blieb leer — ADIF war DXCC-unvollständig. Jetzt zusätzlich QTH, Locator, Country, Continent, CQ-/ITU-Zone.
  • Hopping-Feld beim Log-Anlegen zeigte nur Häkchen ohne Kontext — jetzt voller Name + Details (Park/Summit/Bunker) pro Eintrag.
  • Bandplan war beengter Sub-Tab im Logbuch — jetzt eigenes Fenster (⌘⇧P, Menü Fenster → Bandplan-Fenster).

Behoben in v1.8.7

  • Update-System verglich die macOS-Mindestversion als String — „10.9" hätte fälschlich als höher als „10.15" gegolten. Jetzt strikt numerischer Versionsvergleich.
  • Inkompatibler Update-Dialog zeigte aktivierbaren „Download öffnen"-Button, obwohl die DMG auf dem System nicht laufen würde. Jetzt deaktiviert mit klarer Begründung.

Behoben in v1.8.6

  • FAQ-Link „Updates rückgängig machen?" verwies auf /app/dmg/ — der Pfad lieferte 403 statt eines Versions-Listings. Jetzt Verzeichnis-Index aller DMG-Versionen.
  • Top-Nav-Download zeigte auf eine versionsspezifische DMG und veraltete bei jedem Release — jetzt versionsloses latest.dmg mit Auto-Symlink.

Behoben in v1.8.5

  • Bandmap als Sub-Tab im Logbuch eingeschränkt — jetzt zusätzlich als Pop-up-Fenster pro Band öffenbar, mehrere parallel auf einem Zweitmonitor sichtbar.
  • DX-Propagation: keine globale Tag/Nacht-Sicht — neue Grayline-Karte als eigenes Fenster.
  • Einstellungs-Zahnrad in der Logbuch-Top-Bar wurde schnell übersehen — entfernt, Einstellungen jetzt über das App-Menü "HAM-Tools → Einstellungen…" (⌘,) bzw. das Transceiver-Menü.

Behoben in v1.8.4

  • CAT-Verbindung trennte sich nach einem QSY oder Mode-Wechsel — Race-Condition zwischen Poll-Loop und Write-Operationen auf demselben rigctld-TCP-Socket. Neuer Client-Lock im CATController serialisiert alle Operationen.
  • Spot-Klick wechselte zwangsweise vom DXClusters- in den Log-Sub-Tab. Du bleibst jetzt, wo du bist — der Draft füllt sich im Hintergrund.
  • DX-Cluster-Tabelle zeigte „SSB" als Mode, obwohl LSB/USB band-abhängig korrekt ableitbar ist (jetzt automatisch).
  • "Einstellungen…"-Eintrag im Transceiver-Menü reagierte nicht (alter NSApp-Selector durch SwiftUI-API ersetzt).
  • 13"-MacBook-Air-Layout: rechte Sidebar (Propagation/Solar/Band Activity) passte nicht auf den Bildschirm, man musste scrollen.

Behoben in v1.8.3

  • BOTA-Map Sub-Tab erschien fälschlich im Standard-DX-Log (nur im BOTA-Programm-Log sinnvoll)
  • "Neuer Contest"-Sheet war zu klein → Buttons "Abbrechen / Anlegen" im Kategorien-Schritt abgeschnitten
  • POTA-Spalten "State" und "Their Park" wurden im Standard-Log angezeigt, obwohl sie nur in POTA-Logs Sinn ergeben
  • Spalten-Auswahl der QSO-Tabelle war nur via Header-Rechtsklick erreichbar → neuer "Spalten"-Button in der Toolbar mit allen 32 Spalten + Reset
  • Spot-Tabellen (DX/POTA/SOTA/BOTA/WWFF) hatten keine Reorder-/Hide-Show-Funktion → komplett auf SwiftUI Table umgestellt

Behoben in v1.7.1

  • Cluster-Click füllte das Contest/POTA-Form nicht — Race-Condition zwischen QSOEntryPanel und dem spezialisierten Form
  • Mode-Picker im Contest zeigte alle Modes statt nur die zur Cabrillo-Mode-Kategorie passenden
  • "Neu…"-Button für CAT-Config kopierte den Serial-Port nicht mit
  • DX-Cluster im Contest zeigte Spots in allen Modes statt nur Contest-Mode

Behoben in v1.7.0

  • Sidebar mit 42 Tools war unübersichtlich → 3 Top-Punkte (Logbuch / DX-Cluster / Rechner) mit Akkordeon
  • Bandplan war eigener Sidebar-Eintrag → in Logbuch-Sub-Tab verschoben
  • DX-Cluster verband erst beim Tab-Klick → jetzt global beim App-Start

Bug melden

In der App: Cmd+Shift+B oder Menüleiste → Hilfe → Bug melden… Per Mail: bugs@funkwelt.net

HAM-Tools © HB9HJI · Funkwelt