Skip to main content

Changelog

A running log of what shipped in each release.


Next

  • Hamtrax now speaks German and French. Deutsch and Français join English, Spanish, Japanese, and Brazilian Portuguese in the language picker — switch anytime from Settings → Preferences → Language or the site header.

0.1.31 - July 15, 2026

  • The opening phone now shows up right away on first visits and slow mobile connections. A lightweight preview keeps it visible and tappable while the motion loads, so a video problem no longer makes the phone disappear.

0.1.3 - July 15, 2026

  • The opening phone tour no longer waits through a fixed two-second pause. It becomes visible as soon as its video is ready, reducing unnecessary delay for first-time visitors.

0.1.2 - July 15, 2026

  • The Anatomy of Hamtrax now unfolds over the places operators love to explore. A green prairie fades in behind the phone at the first chapter, stays grounded beneath every screenshot and callout, then fades away after the final chapter across phones, tablets, and desktops. With reduced motion enabled, the prairie switches at the chapter boundaries instead of fading.

  • Shareable Contact Maps now frame the adventure around where you operated. Hamtrax centers the map on the combined footprint of your operating locations before fitting every route, wraps cleanly across the International Date Line, uses slimmer route lines so contact-heavy maps stay clear, and shows the first and last contacts in the local time and calendar date of the relevant station or activation park — falling back to clearly labeled UTC only when needed.

  • The HAM Dictionary's Frequencies tab is easier to scan. Frequency values now use Hamtrax's compact gold radio readout, so they stand out without making each row larger.

  • Modal close buttons are easier to tap. Their touch targets are slightly larger across Hamtrax while the X stays compact.

  • POTA spotter lists are easier to scan. Each located spotter now shows their country flag immediately before their location.

  • Deleting an account now stops nearby-activation alerts and other automated Hamtrax campaign emails reliably. Every send rechecks that the account is active and applicable preferences allow delivery; deletion also removes the retained profile email and clears pending email markers.

  • Tools now follow a clearer working order. The sidebar starts with Band Plan and Solar, moves through the CW and FT8 decoders into CW Training, and keeps Library next for quick reference.

  • Saved radio and antenna changes now appear immediately everywhere you choose equipment. Equipment pickers—including Logbook Bulk Edit—show profile edits as soon as they are saved, without refreshing Hamtrax.

  • Train your CW ear without leaning on dots, dashes, or visible answers. CW Training sends random letters, digits, and common punctuation at adjustable Farnsworth speeds and tone settings, then speaks each answer in your choice of two human voices or the original synthesized voice. Its circular practice-set controls can mix any categories, and the session keeps going while the panel is minimized.

  • Stream-link editing now has a clear finish action. The Stream Links editor includes a primary Done button in the bottom-right while continuing to save changes automatically.

  • Folder equipment summaries now explain themselves. Select Top Radio or Top Antenna to see that it reflects the equipment used by the most contacts in that folder, plus where to change those values.

  • Visits near Kansas City no longer enter Hamtrax analytics. The production and beta apps now keep Google Analytics and Microsoft Clarity off when an approximate location falls within 30 miles of Kansas City — including uncertain estimates that overlap the boundary. If the location cannot be resolved, analytics stays off.

  • The nearest-parks email can now show whether it brings operators back to Hamtrax. Its park image, fallback button, and plain-text link share one campaign with separate placement labels, without putting a user identifier in the URL.

  • Logging a hunted contact now gives all four edges of Hamtrax a soft golden pulse. It replaces the shower of falling leaves with a calmer, screen-framing confirmation, and is skipped when your device prefers reduced motion.

  • Password resets now close the loop with a security confirmation. After a reset email is requested, Hamtrax waits until Firebase records an actual password change before sending the confirmation; requesting or opening the reset link alone does not trigger it.

  • Google sign-in now works in the Android app. Tapping Google opens the native account chooser and returns directly to Hamtrax instead of saying the method is unavailable in the downloaded app.

  • Shared Showcase links now open much faster, especially on slower connections. Short links such as hamtrax.com/101 load the operator's public summary first; folder photos and contacts load only when opened, without downloading signed-in editing tools or unrelated app data

  • Email sign-up no longer looks stuck after you press Continue. The button now shows Creating account… while Hamtrax works, required account setup runs together, and the public Showcase link finishes in the background instead of holding up the next step

  • Getting-started instructions are easier to follow. Task explanation modals now use one consistent text style instead of coloring isolated words yellow, and their action button sits at the lower left instead of the lower right

  • The park map now fills in as it loads instead of making you wait. Open Activate and the first park clusters appear within a couple of seconds, then visibly fill in as the full POTA catalog streams on — with the Loading parks… bar above the map now tracking every step of the load. First visits download the parks database once instead of twice, returning visits rebuild the map several times faster, and Hunt's park catalog gets the same speedup

  • The public-home phone now lands correctly on iPhones. Safari could leave it tiny, low, and too far right at What is Hamtrax and the first Anatomy chapters before catching up later. Its size and position now follow Hamtrax's measured story progress, so every stop lands correctly immediately.

  • hamtrax.com now opens with the app itself. One recorded POTA phone tour spans the whole public-home story on desktop, tablet, and phone browsers. The phone video and its straight-on silhouette now refresh together after a release, so returning visitors cannot get the previous angled phone shape. It gives the hero two seconds to settle, then one discrete gesture carries the same measured move directly into centered What is Hamtrax; reversing returns to the hero. That exact rest remains video-only; the first still begins crossfading only after departure and fully takes over at Anatomy chapter one. The video and still stay pixel-aligned inside one phone; at 375px or narrower, that same handoff moves the phone upward and enlarges it for Anatomy while preserving the mobile left inset. The video pauses as soon as the first still takes over. The same phone owner survives responsive changes, supports reduced motion, and releases naturally before the National Parks section.

  • The home page now says exactly who Hamtrax is for. Its main heading identifies Hamtrax as a Parks on the Air® logger instead of cycling through outdoor personas, and the footer clarifies that Hamtrax is independent and is not affiliated with or endorsed by Parks on the Air, Inc.

  • Meet the Anatomy of Hamtrax. Seven full-screen chapters replace the old FT8-through-High-Visibility card sequence with a guided look at live hunting data, the global POTA map, park detail, fast activation logging, automatic folder organization, and tools. One wheel motion, touch drag, or keyboard step lands on exactly one chapter instead of stopping between screens. Clicking or tapping the visible phone also advances one exact stop from the hero through the final chapter, and rapid repeats during a move cannot skip ahead. A horizontal seven-dot row directly below the active chapter title keeps your place, expanding the current chapter into a gold marker. Desktop and large tablets use a crisp side-by-side composition whose title sits at the phone's upper third; each tooltip label shares its section title's left edge, while every gold leader starts outside its target ring, extends right, and stops before a visible text gap. On phones, the What-is title and each Anatomy title/progress row settle just above the left-anchored device at their resting positions, the three What-is value points stay vertically centered beside it, and each guided callout sits in a compact rounded card in the rail to its right. At 375px or narrower, the What-is phone remains beside its three value points, then moves upward and grows larger for Anatomy without leaving the mobile left inset. The single gold leader route exits the screenshot to the right and stops before the card with a visible gap. Titles and callouts fade in only near their own resting position, stay clear of one another, and disappear between chapters. The phone still takes a subtle slow-fast-slow breath inward between rests, while its display-size raster layer keeps every screenshot sharp and its dark app surfaces stay flat instead of showing diagonal light-sweep bands. The two introductory explainers now follow the Get on the Air button. With reduced motion enabled, screens, titles, annotations, and the progress marker switch instantly while the phone breath stays off.

0.0.99 - July 11, 2026

  • Sidebar search now explains itself before you type. Focus it to choose Activators, Callsigns, or Parks, with a short hint for each; labels and results are localized too.
  • Your own Showcase folders now have the same sharing tools as Logbook. Open an activation or hunting folder to create its Contact Map, or make a QSL Card from any contact beside Edit.
  • Maps start with less wasted data. Hamtrax now opens directly on its dark overview map instead of briefly downloading a detailed OpenStreetMap layer it immediately replaces; street detail still fades in when you zoom.
  • Getting-started tasks are easier to scan. The instruction panel now uses a clearer What to do heading and an outlined completion state.
  • The shareable Contact Map now says what its timestamps mean — subtle First contact and Last contact labels sit with their times right under your callsign — its auto-zoom keeps every plotted contact clear of the stats band along the bottom of the image, and both the Contact Map and QSL Card images now render their dark backgrounds smoothly, dissolving the faint stripe rings that used to circle the map's glow
  • Adding a photo that can't be uploaded now tells you why. Picking an image over 10 MB or in an unsupported format used to do nothing at all — no spinner, no message; now a brief warning explains the problem, upload and delete failures say so on every surface, and the + button steps aside once a folder holds its 4-photo maximum instead of silently ignoring taps
  • Signing in is now seamless. After you authenticate with Google or email, Hamtrax takes you straight into your logged-in view — the sign-in window no longer flashes back on screen for a moment before disappearing
  • The shareable Contact Map image now blends your outing photo softly into the map — its top and right edges dissolve instead of stopping at a hard rectangle — and the photo no longer repeats as a labeled circle beside your most-used radio and antenna, since it already fills the bottom-left corner
  • Hamtrax now recovers from a rare unstyled-page glitch on its own. If the app's stylesheet fails to load at startup — a flaky mobile connection is usually the culprit — Hamtrax detects it and automatically reloads once with a fresh copy instead of leaving you on a working but broken-looking page. If you're offline, it waits for your connection to return before reloading
  • The signed-out Showcase page's Sample Showcase label is now a real button that opens the founder's live public showcase
  • Saved radios and antennas now stay intact across devices. A returning iPhone could previously send a months-old equipment cache back to the cloud and replace profiles added on another device. Hamtrax now checks the authoritative cloud copy before equipment renders, retires legacy queued equipment snapshots, moves equipment changes into conflict-safe server transactions with their own revision, keeps preference caches tied to the correct account, and changes a default without resending either saved-equipment list
  • The home page loads faster and lighter on phones and tablets. While you're reading the logged-out home page, Hamtrax no longer downloads the POTA parks database, live spot feeds, or the Hunt/Activate map code in the background — that work now begins the moment you head to Hunt or Activate, which show their normal loading skeletons and parks progress banner while the data lands. It trims seconds of phone-CPU work and about 2.4 MB of cell data off a first visit, and desktop still warms everything up in the background as before
  • Crash reports are now anonymous. When something goes wrong, Hamtrax still sends a diagnostic report so we can find and fix it — but it no longer carries your account ID, callsign, page address, or browser user agent, so a report can never be traced back to you. It keeps only what's needed to reproduce the bug: the error and its technical stack trace, the feature area you were in, your device class, app version, and a random per-session ID
  • Your Hamtrax Pro status now shows off a little: while your subscription is active, the plan card in Settings → Account and the Plans tab's status banner glow with a slow golden halo — a calm, radiant breath rather than a flashy pulse, and it holds a steady gold shine if your device prefers reduced motion
  • The rules that keep your logbook organized are now published in one place: a new Logbook Hygiene Rules docs page plainly lists what each folder accepts, which fields lock when editing, how imports are routed and validated, and how duplicates are blocked — and the Logbook's folder tree now ends with a quiet Learn more link straight to it
  • The Band Plan chart now animates open: each colored mode segment starts as a thin line at its own center and grows outward in both directions to full width, cascading down the chart row by row, with the mode labels fading in as each segment lands. The cascade replays whenever you switch agency, license class, or band, and sits out entirely if your device prefers reduced motion
  • Re-importing a past activation's ADIF no longer creates duplicate contacts: the single-activation importer now checks your whole logbook — matched the same way the general importer matches contacts — instead of only the uploaded file, and its review banner tells you how many QSOs are "already in your logbook and will be skipped"
  • The import Review step now spells out exactly why each duplicate was skipped — an exact re-import (same UTC day, time, band, mode & park) or the same activator hunted at the same park on the same UTC day, named park and date included — so a shared callsign alone never looks like the reason a contact stayed out
  • The top-bar solar shortcut now opens the full Solar Conditions panel instead of the profile menu on phones and tablets
  • Deleting the folder you're viewing on a phone or tablet now returns you to the remaining folder tree instead of leaving you on an empty detail screen
  • Deleting a hunting contact — individually or with its folder — now clears the live Contacted status everywhere, and folder-cascade deletes sync correctly across devices instead of resurfacing later
  • QSL Card and Contact Map previews now place a right-aligned Options button above the image while keeping Download and Share fully visible in the footer on phones. Contact maps also wait for location or activation-park data and open on the expected preview
  • Contact imports now review themselves the way the Hamtrax logbook is organized: one non-empty Activations → Hunting → Custom stage at a time, then a clean Summary. Protected activation and Hunting destinations stay locked to the park/date rules, contacts with no obvious protected home can reuse or create a custom folder or split by month, year, band, or mode, and duplicate-only QRZ reviews can still finish to reconcile remote IDs
  • A friendly connected-circle setup checklist now starts every account at 17% and guides six quick wins: account creation, contact import, a real hunted POTA contact, radio and antenna profiles, and sharing a contact map. The walkthrough always goes first, the colorful floating card can be hidden for a session or permanently, and the same live checklist stays available at the top of Settings → Account
  • QRZ Logbook now connects once with its API key — no vault passphrase or repeated unlock. From there you can import QRZ contacts through Hamtrax's same guarded, auto-sorting review flow or upload new contacts from Export, while every QRZ request runs through an authenticated server gateway over HTTPS and the saved key stays encrypted at rest. ADIF, CSV, and QRZ imports also stop obviously malformed callsigns instantly before they can reach a folder, without slowing the import with live directory lookups
  • Bulk-editing logbook equipment is now a focused selection mode: it always switches to List, Select all / Clear all appears on the left side of the view-control row, and List / Map / DX, Import Contacts, Download, Share, and Delete fade away until you cancel or apply the equipment change
  • The POTA park catalog now keeps itself current: Hamtrax checks POTA every hour and picks up newly published parks automatically, new accounts start with the current park list on day one, and the Settings → POTA Park Database card now tells you exactly what the latest POTA update added — how many new parks, and which states and countries they're in. Imported hunt contacts also wait for the park database to be ready, so a hunted park's real coordinates land on the contact instead of falling back to the operator's home address
  • The POTA starter import now runs in the cloud the moment you set or change your callsign — being signed in on two devices at once can no longer double-import your recent hunts, and the imported contacts land in your logbook a minute or two after your callsign is saved
  • Hunted contacts can no longer double-count: the live Contacted button and logbook imports now keep one hunter contact per activator, per park, per UTC day — a double-tap, a re-import, or the same hunt logged by two apps with slightly different times all collapse to the single contact you actually made
  • Every QSO time field is now labeled (UTC) and defaults to the current UTC time, matching how ham logs (and ADIF files) record contacts — your logbook still shows each contact in your local time for easy reading, and contact lists now sort strictly chronologically even for imported logs
  • Long trail parks that cross many states (like the Oregon Trail) no longer spill a wall of state codes across the contact card — they show compactly as "US-CA +10", and imported contacts that carried a band but no frequency now show the band in the frequency slot instead of leaving it blank
  • Signal reports now follow your mode: phone contacts still pre-fill 59, while CW, RTTY, and PSK pre-fill a proper three-digit 599 — in the QSO form, the live activation logger, and even on imports that arrive without a report. Switching mode reshapes the report automatically
  • The Signal Report picker was redesigned around up/down steppers — one per digit: readability, signal strength, and in CW and other RST modes the tone digit — so every digit of the report is now adjustable right in the picker (a barely-readable contact can get its honest 37, and a chirpy homebrew rig its honest 589). Digits color from red to green as the report improves, and your changes save on the checkmark

0.0.98 - July 8, 2026

  • Automated welcome emails are currently disabled; new signups no longer receive the delayed welcome message while this automation is paused
  • Equipment setup is faster in radio and antenna profiles: each band group now has an All MF/HF/VHF/UHF/SHF checkbox that selects or clears that whole segment, and it automatically reflects when you pick every band in the group by hand
  • Opening the Activate setup screen now checks your location and, when you're within about half a mile of a park, fills that park into the Park field before you type a thing — walk up, tap Activate, and your park is already there. This finally works on iPhone: the first time, iOS asks for location permission once, then it's silent on every later visit. Too far from a park, or declined the prompt? The Find Nearest button still lets you browse nearby parks by hand
  • During an ongoing activation, the map now uses your activation park as the single anchor for the self marker, camera/recenter target, and QSO arc lines from logged contact markers, including after resuming an in-progress activation. Spotter-only markers stay marker-only until you log them as contacts
  • Sharing a folder's contact map now works the way you'd expect on a phone: Share opens the native share sheet (Messages, Mail, social, or Save Image) instead of quietly downloading the picture, and Download actually saves the PNG to your device. The same two fixes apply to QSL card sharing. And an activation map no longer needs your personal location set first — it's drawn from the park you activated, so you can share it straight from the field before ever setting a home location (hunting folders still ask for your location, since their arcs radiate from your station)
  • The N CONTACTS count in the live activation logger now rides on a subtle gold progress bar that fills as you log, reaching full at the 10 contacts that make a POTA activation valid — and the moment your tenth contact lands, the line flashes and a brief golden sweep crosses the screen to mark it. Resume an activation that already cleared 10 and you just see a full bar; the celebration only plays the once, right as you cross the line
  • Typing a callsign on a phone no longer means flip-flopping to the 123 keyboard: whenever a callsign field is focused, a 0–9 key row now floats directly above the on-screen keyboard — one tap per digit, inserted right at the caret, with the bar pulsing gold once per tap to confirm it registered — in the live activation logger, the quick-add cards, the QSO form, signup, and Settings alike
  • The live activation logger's Callsign field now behaves like every other callsign field: it uppercases as you type (with the phone keyboard held in caps), filters out characters that can't appear in a callsign, and accepts full-length compound calls up to 15 characters (previously 10)
  • The activation Finish tab now walks you through the full POTA submission in three steps — download your ADIF, add the activation on pota.app, then upload the log at My Log Uploads — instead of implying the upload alone was enough
  • The Activate tab's In Progress list now keeps your newest activation pinned to the top and stays up to date on its own as you start, finish, or delete activations — the one you just started is right there instead of buried at the bottom, and a just-finished one no longer lingers. Each row's menu also gained a Finish action: close out an activation without opening it, keeping all its contacts and its folder intact, alongside the existing Resume and Delete
  • The signup callsign step now confirms your call is real before you continue: the Continue button unlocks only after the license lookup finds your callsign, a clear message appears when it can't, and a new "Hamtrax can't find my callsign" link explains the path forward (continue without one, add it later in Settings, or send us a ticket for a fast fix)
  • Editing your callsign and display name in Settings → Account no longer saves as you type — each now has its own Change Callsign / Change Name confirm button, matching how the username already worked. The callsign button only appears once the callsign is validated through the license/location lookup, so a mistyped or unknown callsign can never be written to your account by accident
  • Creating an account or signing in no longer hangs silently when the network stalls: the attempt stops after 10 seconds with a clear message asking you to refresh the page and try again, instead of leaving the button stuck on "Creating account…" indefinitely
  • FT8 Auto-Hunt now runs a preliminary test before it starts hunting: an on-by-default Check propagation first toggle makes up to three attempts, each sending a test CQ on the band's standard FT8 calling frequency and then checking PSK Reporter for a report of your callsign — the moment any attempt is heard, hunting starts, but if all three go unheard Auto-Hunt doesn't start and tells you to adjust your radio or antenna instead of calling activators nobody can hear (if PSK Reporter itself is unreachable on every attempt, the check is inconclusive and the hunt proceeds anyway)
  • FT8 Auto-Hunt now hunts opportunistically instead of working the queue one activator at a time: every 15-second cycle it scans the decodes for all of your queued targets, and if the station it's listening for stays quiet while another queued activator calls CQ on the same frequency, it jumps to the one it can actually hear and calls on the very next cycle — the passed-over activator returns to the front of the queue. Activators it has already heard are worked before ones it hasn't, a late RR73 confirming an earlier exchange is logged the moment it arrives, and queued activators the radio has already copied show an ear icon with their signal report on their row
  • FT8 Auto-Hunt no longer treats "Not heard" as forever: an activator it gave up on stays on the watchlist for the rest of the run, and the moment his signal is finally decoded he's revived into the queue — jumped to immediately if the current target is dead air. Stations already Tried aren't re-called, but a late RR73 from one still completes and logs the exchange
  • The FT8 Auto-Hunt target list is now a real cockpit: every row shows the spot's frequency and park location (US state, or country for DX parks) beside the callsign, every still-queued activator has a to drop it from the run — dropped ones collect in red at the bottom of the list, each with its own ✕ to put it back in the queue — and a skipped station says why in red (bad spot data / tune failed / radio never keyed) right where its frequency would be
  • FT8 Auto-Hunt's strategy now mirrors a human hunter's decision-making at the dial: an activator heard mid-exchange with another hunter counts as heard (SNR shown beside the ear) and gets pounced on the instant they sign off — no waiting for a clean "CQ POTA" — and when the current target is pure dead air, the hunt can even jump to a queued activator that's audible-but-busy in the same passband and hold for its opening. Statuses stopped lying by omission, too: a target you could hear but never catch free now ends as "Heard, never free" instead of "Not heard", and a target whose pileup you can hear but whose own signal never reaches you shows "Hunters calling them" live (and "Heard only their hunters" at the end) — a one-way propagation path, which is also why Auto-Hunt deliberately never calls it: a station you can't decode can't complete a confirmable QSO
  • Your radio connection now stays alive in the background indefinitely — switch to any other app for as long as you want and the rig stays connected. Hamtrax keeps the link open by silently running the radio's receiver audio through an always-on playback engine, so iOS never suspends the app; you'll never hear it and there's nothing to configure. If that engine ever gets interrupted (a phone call or Siri while you're away), Hamtrax falls back to a safety net: it holds the session ~20 seconds, closes it cleanly so the radio frees its single connection slot, and reconnects on its own the moment you return
  • The FT8 Auto-Hunt card gained a See history dropdown: a scrollable log of every message decoded on the dial during the run plus every message your rig actually transmitted, with targeted activators highlighted in blue and your own traffic in green
  • An FT8 Auto-Hunt run now keeps working while you browse the rest of Hamtrax — it's no longer tied to the hunting page, the navbar radio pill turns into a pulsing red tower whenever your rig is actually keyed, and returning to the hunting panel lands on the live run. And a hunt never just vanishes anymore: if a run ends while you're away (you backgrounded the app, the rig stopped responding, or the queue finished), the card now says why it ended with the final contacted/tried tally, the clock window the run covered (e.g. 2:32 PM – 2:41 PM), and the full history log kept for review — previously it silently reset to the Start button
  • Your chosen location method now never changes by itself: if your selected method doesn't have data yet (GPS pending, callsign still resolving), Hamtrax quietly uses the best available source and explains it with a notice in the location picker — new accounts no longer get a Washington, DC location written to their settings, and the duplicate "location updated" toasts are gone
  • Signed-out visitors browsing the hunt catalog are no longer asked for GPS permission; their default country comes from the browser language instead
  • Location changes now sync reliably across your devices (a version-counter bug silently discarded them before) — after updating, another device may visibly catch up to your latest location once; that's the fix working. New accounts also seed their callsign location transactionally, so a slow signup can no longer produce an account with a location mode but no coordinates
  • Logging a contact now requires a callsign on your account. You can still sign up and browse without one, but hunting, manual entry, and ADIF import all prompt you to add your callsign in Settings → Account first — keeping every logged contact tied to a real operator identity
  • Every surface now reads your location from one place: shared contact maps center on your selected location method (not just your registered callsign address), the hunt catalog's default country comes from your callsign or home profile, and the QSO form's device-location option shares the app-wide GPS owner instead of running its own
  • Manual location entry is now the same everywhere — Settings, the hunt panel's "Hunting from" picker, and the QSO form's My Location share one entry component with matching place-search / grid-square / coordinates modes and identical validation
  • Place search now finds parks and landmarks in addition to cities, and suggestions read as clean labels like "Boston, Massachusetts, United States"
  • Setting a manual location from the hunt panel now supports the same auto-revert window as Settings (1, 4, 8, or 24 hours, or Never Revert, with a live countdown) and confirms with the same saved toast — previously a manual location set there silently never expired
  • Signed-out visitors on the hunt tab now see their own country as the "Hunting from" default (from the browser language) instead of a hardcoded Washington, DC
  • Date and time fields now look like every other input: on iPhone they no longer stretch wider than their sibling fields, their value text sits properly centered instead of riding high, and they share the same yellow focus glow and padding as the rest of the form — everywhere dates are entered, from the contact form to logbook filters to equipment profiles
  • Fixed place-search suggestions clipping inside the QSO form modal
  • The signed-out Showcase tab now opens with an "A story worth telling" hero and presents a vertical-carousel sample showcase, with mobile scrolling the hero away before the carousel takes over one section at a time. Scrolling or dragging horizontally moves through the sections just like scrolling vertically, so a sideways swipe works the same as an up/down one.
  • Under the hood: hardened the deploy pipeline so stylesheets from earlier releases stay permanently available, keeping session-replay diagnostics rendering correctly instead of degrading after each release.
  • Fixed the public home page ignoring the first scroll or drag — one gesture now moves the page instead of two

0.0.97 - June 28, 2026

  • iOS installs now register per-install push tokens so nearby-activation alerts can reach the right device instead of relying only on broad topic delivery
  • Logbook folder details now summarize the single most-used radio and antenna in that folder, keeping equipment setup separate from the retrospective folder view
  • Slashed zeros are used app-wide so callsigns, park references, and other radio text are easier to distinguish at a glance
  • Equipment setup surfaces now use the clearer My Equipment label

0.0.96 - June 25, 2026

  • Added nearby-parks and nearby-activation emails with rendered Hamtrax imagery, including scheduled follow-up alerts when a user has matching parks nearby
  • Welcome emails now wait 20 minutes after sign-up, giving the first session room before lifecycle messaging starts
  • Public Home now preloads the Map and Showcase tabs in the background, making the first public-tab switch feel faster
  • Google sign-up opens reliably on the first click, and sign-up / email-change forms now block obviously fake top-level domains
  • POTA spotter glyphs render incrementally as locations resolve, and spotter-camera reframing is throttled so live maps move less abruptly
  • Hunt map popups now include the activator callsign, spot-recency controls use clock icons, and the public Hunt tab hides signed-in logging controls
  • Activation maps on touch devices now require two fingers to pan so scrolling a modal is less error-prone
  • The showcase demo has refreshed radio and antenna imagery, and the Firebase Hosting rewrite now handles single-page app routes correctly

0.0.95 - June 24, 2026

  • Activation setup is now POTA-only, removing the unused non-POTA scaffolding so activators get a simpler flow
  • Contact-map and QSL-card share modals now open directly to the generated preview, with options available when you need to adjust the export
  • Contact-map sharing gained filters, folder equipment summaries, better stats placement, and a 2D-canvas renderer so exported maps stay visible on iOS
  • POTA park details now pull richer context: ParkInfo cards, Wikimedia Commons images, weather lines, fuzzy park search, and improved park/operator search results
  • Sidebar search now separates Live Activators from Callsign results, and activating callsigns can be added to a hunting folder from search
  • Manual contact entry gained an inline match list, folder prompts link back into expanded hunting folders, and activation-map empty states now offer a direct Log Contact action
  • Equipment pickers now show separate Select and Edit actions, return you to the picker after editing, and keep the add-new button where it is easiest to reach

0.0.94 - June 8, 2026

  • Added the CW decoder and Morse tooling, then narrowed the decoder's listening window to 50 Hz for steadier tuning
  • Refreshed the POTA parks data pipeline with version-gated imports, a staleness toast, Settings deep links, and cloud-backed park dataset support
  • Added a POTA activation CW guide, improved QSL-card export flow, and cleaned up activation-map arcs with better operator fallbacks
  • The Hunting surface now loads with a skeleton state on tab switches and has clearer manual contact / spot status actions
  • Profile fields now live in clearer cards with docs deep links, equipment thumbnails render reliably, and equipment buttons use a more compact shared treatment
  • Preferences save flow, signup method choices, settings layout, safe-area spacing, map wrapping, and shared UI frames were cleaned up across the app
  • Callsign hygiene and QSO coordinate resolution were tightened so saved contacts and map pins have better canonical data

0.0.92 - May 23, 2026

  • Streamlined the touchscreen QSO bar to the five fast-logging fields — callsign, frequency, mode, RST sent, and RST received — with a More fields button that opens the full edit form (the same modal desktop uses) carrying over whatever you've typed
  • Activation contacts now lock the date as well as the park, so a contact can't drift onto the wrong day; the date is seeded from the activation and shown read-only with a banner

0.0.91 - May 11, 2026

  • Redesigned the Hamvention promo banner with a brushed-steel surface, gold-leaf "Free" text, and a Pro emblem
  • Added a soft gold-glow cascade across the navigation tabs after the home page lantern finishes lighting up
  • Reordered the sign-up modal so "Continue with Email" is the primary option, with Google secondary
  • Refined the QSO list typography — date and time stack tightly on the right, callsign + looked-up operator name read together
  • Cleaned up the map popup layout — date now sits in the upper right, callsign promoted, location info merged onto one line
  • Folder labels and stats use lighter typography for a calmer reading rhythm
  • QSO edit form switches between bottom-bar and modal based on whether the device has touch input, not just screen width

0.0.90 - May 10, 2026

  • Refreshed text sizing throughout the app for clearer hierarchy and easier scanning
  • Redesigned the POTA activation detail modal with a cleaner activator card and operator names inline
  • Added an expandable park region list — tap to see every state or province a park spans
  • Added a 2-column list layout on intermediate-width screens so spots use horizontal space better
  • POTA detail map now draws arcs from the activator to each spotter so you can see the listener spread at a glance
  • Tapping a spot marker on touch devices now raises a popup with an Expand button instead of jumping straight into the modal
  • Polished the QSL card export with a gold accent pip and refined sidebar typography
  • Punchier loading animation with a windswept 3D flourish on the forest glyphs
  • Renamed the "Retry" status badge to "Try Later" for clarity

0.0.89 - May 7, 2026

  • Cache-bust translation files on each release so the new CLI walkthrough copy (and any future translation update) shows immediately without a hard browser reload

0.0.88 - May 7, 2026

  • Rebuilt the Hamtrax CLI tool overview as a four-step "Getting started" walkthrough (install → generate → authenticate → verify) with copy-buttons on every command
  • Added next-step instructions to the Key Reveal dialog so it's clear what to run in your terminal after copying a new key

0.0.87 - May 7, 2026

  • Hamtrax CLI is now publicly available — install with npm install -g hamtrax to log POTA contacts and manage activations from your terminal
  • Added per-folder notes (up to 300 characters) for richer Showcase folder detail
  • Added per-folder stream/recording links so you can attach YouTube, Twitch, etc. to an activation folder
  • New park-style map popups with custom artwork when you tap a park or grove marker
  • Cleaner, smaller QSL card exports from a renderer rewrite
  • Faster forest loading indicator (PNG glyphs converted to WebP)
  • Hardened folder writes server-side with field length limits and a 4-image cap per folder
  • Fixed the Generate API Key dialog showing each permission line twice
  • Fixed input hint text to use a monospaced typeface

0.0.86 - May 6, 2026

  • Added a rich popup on QSO map markers — tap one in log mode to see callsign, country flag, location, name, frequency/mode, and date
  • Callsign lookup results now show inline next to the field label (first name and location) instead of on a separate line below the input
  • Tidied the equipment selector by removing the trailing chevron icon

0.0.85 - May 6, 2026

  • Added a slide-to-confirm gesture for destructive actions like deleting a contact
  • Added a contact map builder so you can customize the map shown on QSL exports
  • Refreshed the QSO log page layout with cleaner controls and a faster entry bar
  • Improved QSL card and contact map renderers for sharper exports
  • Polished the activation logger setup screen, map view, and POTA activation modal
  • Redesigned the folder detail modal in Showcase with richer information
  • Faster initial load and less wasted CPU on idle pages from a perf pass
  • Translation updates across English, Spanish, Japanese, and Brazilian Portuguese

0.0.84 - May 5, 2026

  • Replaced the activation choice modal with side-by-side New / Import buttons in the folder tree
  • Fixed info tooltips on touch devices so a tap no longer immediately closes the tooltip it just opened
  • Moved the language picker into the Preferences accordion alongside the other preference groups
  • Tightened mobile spacing on the radio and antenna profile forms
  • Small polish: sign-up screen, profile menu, photo upload button corners, and flag showcase close button on small screens

0.0.83 - May 5, 2026

  • Added a dedicated "Log Contact" flow for non-POTA QSOs with a custom folder picker that only lists folders you've created yourself
  • New users get a one-time prompt to name their first folder, then drop straight into the QSO form pre-set to that folder
  • The contact form now remembers your last-used folder within a session so batch logging skips the picker
  • Mobile and tablet now use a horizontally-scrolling chip-style entry bar that sits above the on-screen keyboard
  • Custom folders in the sidebar now sort by most-recent contact activity so your active folders rise to the top
  • Country flags are now clickable everywhere — tapping one opens a full-screen showcase with a glowing flag, the canonical country name, and continent / DXCC details
  • Trimmed the map empty-state copy and tightened the POTA activation modal layout so it wraps cleanly on narrow screens

0.0.82 - May 4, 2026

  • Hardened the past-activation ADIF importer — invalid dates, impossible times, oversized fields, and short/garbled callsigns are now caught with clear errors instead of silently importing bad data
  • Mixed-park ADIF files no longer rewrite every contact's park to the chosen one; QSOs that explicitly reference a different park are skipped and the count is shown before import
  • Duplicate contacts within an imported file collapse to one (a 50× repeated record imports as 1, not 50)
  • Added a "Show N skipped records" disclosure during import review so you can see exactly which records were rejected and why
  • Activation type dropdown now offered extra non-POTA activity types in addition to POTA / IOTA
  • Refreshed the home and showcase copy with adventure-focused tagline and CTAs
  • Made callsigns easier to read — 0 and O are now visually distinct in mono text everywhere in the app

0.0.81 - May 4, 2026

  • Added server-side password reset emails with cooldown protection
  • Refreshed the shared UI theme, loading indicators, buttons, cards, map glyphs, and docs styling for a more consistent Hamtrax look
  • Updated the desktop landing page to use the lantern cover image with lantern-positioned glow and fireflies instead of the temporary intro video
  • Rebuilt QSL card exports with a wider memorial-card layout, richer map details, and new renderer test coverage
  • Added new showcase empty-state artwork, forest loading artwork, and leaf confetti assets

0.0.80 — May 3, 2026

  • Added a pair of mushrooms that grow in beside the stacked landing-page call-to-action shortly after page load
  • Added a soft, flickering lantern light that now casts upward from the hero image instead of blooming as a uniform glow
  • Added a "Select a Park" hint pill on the activation map plus shimmering perimeters around the park and frequency inputs to point you to the next field
  • Tightened the activation setup form: frequency label now reads "Freq MHz", power unit is localized, and Start is disabled until park and frequency are filled
  • Compressed the hero JPGs (about 78% smaller) and converted the landing showcase image to WebP (about 93% smaller) for faster initial loads
  • Restyled danger buttons with a red outline instead of a solid red fill
  • Tidied the sign-in screen typography and copy, and simplified the profile menu's sign-out item
  • Compacted the "Marked as attempted" toast into a single line

0.0.79 — May 2, 2026

  • Tapping Radio or Antenna in the hunting setup while signed out now opens a sign-up prompt explaining that Hamtrax saves your gear to each contact folder so every QSO logs it automatically
  • Simplified the activation auto-spot tooltip with a clear, localized explanation of what enabling the toggle does
  • Polished the map panel chevron so it sits cleanly below the panel body instead of overlapping its bottom edge

0.0.78 — May 2, 2026

  • Fixed a deploy pipeline regression that had been failing every deploy since April 29
  • Added Microsoft Clarity session replay for better understanding of how the app is used
  • Under the hood: centralized the analytics service and refreshed several internal architecture briefs

0.0.77 — May 2, 2026

  • Fixed an Android deploy gate that had been blocking app builds since late April
  • Synced the Android app version to match the web version (0.0.76)
  • Under the hood: removed dead Capacitor authentication artifacts and added the Capacitor Browser plugin

0.0.76 — April 28, 2026

  • Added a guided hunting walkthrough that teaches new users how to log their first contact using a synthetic practice spot
  • Added an "Auto-spot when adding a hunted activator" preference so spots can be created automatically as you hunt
  • Refreshed the Activity tab into a cleaner single-pane layout with smoother list rendering and lighter detail modals
  • Rebuilt the activation logger setup view with simpler copy, clearer flow, and a tighter park selector
  • Reorganized the Settings page into a more scannable layout
  • Polished the band plan, profile cards, equipment buttons, modals, toggles, and radios for a more consistent flat dark feel
  • Updated Spanish, Japanese, and Portuguese translations for the new walkthrough and refreshed Activity, Find, and Settings copy
  • Under the hood: removed obsolete activation-folder backfill function, tightened map z-index handling, and added a maintenance task to clean up expired practice contacts

0.0.75 — April 26, 2026

  • Simplified the Hunt panel: removed the in-tab Logbook view so the panel focuses on the live activator list, with the spot count and refresh button now in the header
  • Added a subtle staggered slide-in animation when the activator list first loads (respects reduced-motion preference)
  • Redesigned the signed-out landing page — the showcase image now anchors to the bottom with a soft 3D tilt while the headline and call-to-action sit centered above it
  • Tightened the activation logger's park selector copy ("Park" instead of "Location", shorter placeholder and hint)
  • Fixed brief flashes of "Loading map..." and the empty-state overlay on quick map fetches
  • Park photos now load for signed-out visitors browsing the Hunt tab and Activation Map

0.0.74 — April 25, 2026

  • Refreshed the home page with a new "A thousand QSOs and nothing to show for it" tagline and a lantern-illuminate animation that lights up the hero scene from the lantern outward
  • Improved POTA activation modal with stepped signal-strength bars showing spot freshness, country flags next to park locations, and cleaner mode badges
  • Smoothed modal close transitions across the app — modals now animate out instead of disappearing instantly
  • Renamed activity "Sign In" call-to-action to "Start Logging" (en/es/ja/pt-BR)
  • Under the hood: cross-platform Node-based dev server launcher, localhost-only dev binding by default, and Vite cache preserved between restarts

0.0.73 — April 24, 2026

  • Under the hood: reorganized the shared code library into clearer core/radio/spatial modules, extracted runtime helpers, and pruned legacy screenshots and dead briefs

0.0.72 — April 23, 2026

  • Under the hood: cleaned up stale worktree branches and refreshed the production deploy

0.0.71 — April 23, 2026

  • Added a callsign search box in the sidebar for quick lookups without leaving what you're doing
  • Added a floating map controls pill with recenter and zoom buttons; removed the old right-edge elevation meter
  • Added country flag display across activation and QSO lists and the new sidebar callsign search
  • Refreshed the UI with a cleaner flat dark theme, brighter firefly hero animations, and tuned component tokens throughout
  • Updated Spanish, Japanese, and Portuguese translations for auth, find, integrations, and log screens

0.0.70 — April 21, 2026

  • Fixed activation spots failing to sync between devices — spots logged during an activation now reliably persist to the cloud and load on your other devices

0.0.69 — April 21, 2026

  • Added illustrated empty-state images across Showcase sections (activations, hunting, equipment, operator details, social links)
  • Refined the Activity tab with a new hunting-location selector and reworked detail modals
  • Tightened the folder tree, log page, and profile-section layouts
  • Under the hood: pruned unused spot-submission tool and spotter-map code that had no entry points

0.0.68 — April 20, 2026

  • Removed the PSK Reporter, Reverse Beacon Network, and waterfall spectrum feeds from the Activity tab to simplify the view
  • Improved dev-server reliability on Windows (internal tooling change, not user-facing)

0.0.67 — April 20, 2026

  • Fixed profile avatars in the sidebar and user menu showing a broken image icon when the stored photo URL was no longer valid — they now fall back to the default origami tiger
  • Renamed the Showcase "Preview" button to "Open" and tidied the share-row layout

0.0.66 — April 20, 2026

  • Fixed the own-Showcase header showing "UNKNOWN" on startup for returning users — callsign now appears instantly from the offline profile cache instead of waiting on a background fetch

0.0.65 — April 19, 2026

  • Fixed your own Showcase banner displaying "unknown" instead of your callsign when the profile loaded slowly

0.0.64 — April 18, 2026

  • Under the hood: pruned the unused labels/tags code from the QSO logging system and tightened the solar dashboard helpers

0.0.62 — April 17, 2026

  • Flattened cards, buttons, and panels to a cleaner flat dark look throughout the app
  • Swapped the default origami beaver avatar for a new origami tiger
  • Added a Q-codes reference panel to the Reference Dictionary tool
  • Reordered POTA park details so distance, bearing, and local time lead — coordinates now read as supporting reference
  • Added a "be the first on the air" message for POTA parks that no one has activated yet
  • Simplified the folder tree expanded view and tightened up empty-state sections

0.0.61 — April 14, 2026

  • Redesigned hunting tab preview with a cleaner flat layout and a one-tap shortcut to the full monthly logbook
  • Simplified the activation landing page with larger New and Import buttons and a clear path to completed activations
  • Refreshed the radio and antenna picker tiles with full-bleed product photos
  • Reworked the folder tree so Activations and Hunting categories read like a ledger — the folder you have selected is always visible
  • Renamed the activation media notes area to "Photos" and swapped the large uploader for a compact plus button
  • Improved dropdown menus to stay inside the screen and truncate long option names
  • Miscellaneous typography polish across captions and labels

0.0.60 — April 9, 2026

  • Fixed default radio and antenna profiles not being applied to new activations when loading preferences

0.0.59 — April 8, 2026

  • Fixed ghost activations persisting in the In Progress list after deleting folders
  • Consolidated activation data into a single source of truth (no more duplicate records)
  • Removed unused live activation banner feature from profiles

0.0.58 — April 8, 2026

  • Added contacted/attempted/retry status badges to POTA activations and activity list
  • Redesigned map pins to teardrop shape with orange glyph color
  • Improved map performance and camera behavior — selecting a spot no longer auto-zooms
  • Added labeled folder action buttons (Edit, Download, Share, Delete) to log page
  • Added radio group UI for choosing how equipment changes apply to existing contacts
  • Centralized folder equipment defaults so new folders automatically inherit your rig setup
  • Refined modal, button, and card styling across the app

0.0.57 — April 5, 2026

  • Reduced oversized close button in modal dialogs

0.0.56 — April 2, 2026

  • Redesigned hero section with responsive layouts for desktop, tablet, and mobile
  • Added particle effects and animated evolution labels to the landing experience
  • Improved code-splitting with automatic retry on failed chunk loads

0.0.55 — March 28, 2026

  • Improved profile loading — callsign, license class, and location now appear instantly from cache instead of flashing empty
  • Improved error screens — user-friendly messages replace technical jargon, with automatic reload for setup issues
  • Added park name resolution to activation folders in the log tree
  • Added media and livestream indicators to folder tree entries
  • Added email preferences to user settings schema
  • Added in-progress activation tracking to external profiles
  • Improved mobile tooltips — now dismiss on scroll
  • Consolidated inline toasts into the canonical toast system

0.0.54 — March 28, 2026

  • Redesigned hunting section on showcase — monthly folders now display as a clickable card grid with detail modals, matching the activations pattern
  • Added welcome email -- new users automatically received a welcome message from social@hamtrax.com after signing up

0.0.53 — March 27, 2026

  • Improved home page layout -- footer now scrolls with content instead of being pinned to the viewport
  • Added "Get Started" call-to-action with glowing beam effect to each carousel slide
  • Improved activation map with live-updating timestamps, scrolling spot comments, and better spot display
  • Added profile photo avatar to contact map exports
  • Added active badge indicator for in-progress activation folders in the log
  • Improved frequency input validation — prevents values over 2000 MHz and limits decimal precision
  • Fixed deleted folders resurrecting from stale IndexedDB cache
  • Fixed monthly folder cache not clearing after folder deletion

0.0.52 — March 26, 2026

  • Added shimmer loading placeholders for all images across profiles, equipment, and media
  • Updated site tagline to "Log it. Keep it. Show it off."
  • Moved hamtrax logo to bottom of contact map for better visual hierarchy
  • Added tooltip explaining shortcode URLs on the Showcase tab
  • Fixed analytics polluting production GA4 during local development
  • Fixed crash reporter failing in environments without Web Crypto API

0.0.51 — March 25, 2026

  • Fixed profile relay sections using incorrect identifier for external profiles

0.0.50 — March 25, 2026

  • Redesigned contact map with unified left panel, wavelog visualization, and decorative photo frames
  • Added signup funnel analytics with step tracking, field focus, and abandonment detection
  • Added dedicated lifetime subscriber view on the Plans page
  • Fixed map background not resizing on window resize
  • Fixed folder media failing to load on other users' profiles
  • Improved log page map view by hiding gallery and equipment ribbons

0.0.49 — March 25, 2026

  • Simplified contact map export to a single 1920×1080 layout with user-centered map projection
  • Added US state boundaries to contact maps with improved header and footer layout
  • Improved callsign input to allow portable prefixes with slashes (e.g., JA1/W5ABC)
  • Refreshed Home tab copy with scannable bullet points instead of long paragraphs
  • Fixed stale activation list on Safari iOS caused by suspended IndexedDB cache

0.0.48 — March 23, 2026

  • Fixed folder media photos not loading due to Firestore security rule mismatch
  • Fixed analytics events leaking before auth resolves for excluded accounts
  • Added tooltip explaining equipment assignment on the log page

0.0.47 — March 23, 2026

  • Updated home carousel slide copy and added responsive stacked layout on small screens
  • Added contact map sharing with custom map projection and export
  • Added equipment assignment to activation folders
  • Improved log page with expanded contact details and filtering
  • Simplified profile card and public profile layout
  • Added share toasts and streamlined sign-up flow

0.0.46 — March 23, 2026

  • Added photo deletion with confirmation dialog to photo galleries
  • Simplified grayline overlay calculation on the map
  • Improved log page layout with labeled Images and Contacts sections
  • Replaced static hero section on the landing page with an auto-advancing carousel walking visitors through 5 value proposition slides
  • Fixed band plan selector showing an unwanted "All" option

0.0.45 — March 22, 2026

  • Renamed activation routes from /activation-map to /activate and /in-progress to /session for cleaner URLs
  • Added GA4 analytics for page views, sign-ups, and logins across all auth methods
  • Added park anchor pin on the activation map during active sessions
  • Enriched spotter list with location details and spot comments
  • Added inline photo gallery to the log page with direct upload support
  • Added media indicators (photo count, stream badge) to the folder tree
  • Simplified activation card badges on profile (moved counts to cover photo overlay)
  • Fixed Firestore email sync when changing email in account settings
  • Fixed race condition in map coordinate lookups
  • Updated disaster recovery documentation and backup scripts

0.0.44 — March 22, 2026

  • Added Frequencies reference tab with GMRS, FRS, MURS, marine, and weather channels
  • Added deploy gate CI pipeline with automated tests before deployment
  • Improved loading screens with new FullPageLoader component
  • Simplified QSO entry form by removing unused fields
  • Fixed QSO time to use UTC consistently
  • Improved map marker clustering with density-based sizing
  • Updated logging documentation to reflect current folder system

0.0.43 — March 22, 2026

  • Removed Activity Stats section from profile and showcase views
  • Improved loading screen when viewing other operators' showcases
  • Fixed QSO timestamp fields for consistency across create and sync
  • Fixed loading state flicker when opening external profiles
  • Added Android app (Capacitor) to the repository
  • Added disaster recovery plan and backup scripts

0.0.42 — March 21, 2026

  • Simplified sign-up flow by removing the location step
  • Improved POTA spots loading indicators on map and activity list
  • Fixed social-media in-app browsers breaking navigation with tracking params
  • Improved rig manager forms with visible "Default" label on star toggle
  • Improved profile sections by trimming QSO display to 10 most recent
  • Fixed country dropdown clipping behind modals during sign-up
  • Added helper text to activation park reference input

0.0.41 — March 20, 2026

  • Fixed POTA spots not loading for visitors who aren't signed in

0.0.40 — March 19, 2026

  • Updated link preview image to show the hero slogan and illustration when sharing hamtrax.com

0.0.39 — March 19, 2026

  • Added Retry button on POTA activations to flag activators for follow-up
  • Added undo actions for Contacted, Tried, and Retry status on activations
  • Improved map loading performance with lazy code splitting
  • Improved startup speed by deferring popular parks data loading
  • Fixed Firestore email not syncing after email address change

0.0.38 — March 18, 2026

  • Added native iOS and Android app support with unified sign-in flow
  • Added Android hardware back button handling
  • Switched Stripe subscription to live payment processing
  • Improved map and activity feed performance with shared GeoJSON cache
  • Improved data loading by deferring background fetches until needed
  • Improved sidebar styling with rounded borders and selection accent
  • Improved list item tap targets for easier interaction
  • Updated docs for native app availability

0.0.37 — March 18, 2026

  • Added Terms of Service and Privacy Policy links to the public home page footer

0.0.36 — March 17, 2026

  • Added PRO badge on the Hamtrax logo for premium subscribers
  • Added QSO cap approaching warnings (10, 5, and 1 contacts remaining) for free users
  • Added activation import from ADIF files to backfill past POTA activations
  • Added drag gesture on the map panel button to expand/collapse the list
  • Added Stripe badge to the upgrade modal
  • Improved folder data healing for folders missing type metadata
  • Improved external profile relay to detect folder types by parent category

0.0.35 — March 17, 2026

  • Added park state and name display to logbook contact rows for hunted POTA QSOs
  • Added edit and delete actions for individual contacts in the Logbook contact list view
  • Added activation QSO edit warning when editing contacts that belong to a POTA activation
  • Added suppressible "don't show again" option for the activation edit warning
  • Added reusable HamtraxLogo component replacing inline logo markup across all layouts
  • Added external showcase branding ribbon with "Get your free showcase" CTA
  • Added error state for external showcase when relay fails
  • Added default equipment (radio/antenna) to QSOs logged from activity feeds
  • Improved showcase section visibility to use shared defaults across own and external views
  • Improved Plans page layout with billing toggle inside Pro card and monthly-equivalent pricing
  • Improved folder tree with creation rules and hunting category info text
  • Reduced free tier native QSO cap from 300 to 200
  • Updated tagline to "Log it. Keep it. Show it off."
  • Removed tagline strip from external showcase profile layout

0.0.34 — March 17, 2026

  • Added Stripe premium subscription system with checkout, billing portal, and plan management
  • Added premium gating for advanced features with upgrade prompts
  • Replaced auth landing and layout with native mobile-friendly variants
  • Added ShowcaseTab to profiles replacing the old profile tab
  • Added QSO delete cloud function for proper contact removal
  • Added ADIF export service for cleaner log file generation
  • Added rig manager component with antenna and radio profile forms
  • Improved search with text highlighting in results
  • Added network connectivity toasts for offline/online status
  • Removed filter profiles system (replaced by simpler activity filters)
  • Consolidated solar data queries into a single endpoint
  • Cleaned up dead code across navigation, contexts, and map utilities

0.0.33 — March 14, 2026

  • Fixed map overlay z-index so panels render above map controls
  • Added network fallback for activity spots when cache is empty
  • Improved POTA activation modal layout for clearer contact actions
  • Removed unused data modules and dead code

0.0.32 — March 14, 2026

  • Added folder media system with photo uploads and media gallery for contact folders
  • Overhauled activations section on profiles with expanded detail views
  • Improved map components with better tooltips, markers, and panel layout
  • Refreshed all documentation to match current feature set
  • Added attempted activators tracking
  • Simplified folder tree navigation and log page layout
  • Updated home page with new hero imagery

0.0.31 — March 12, 2026

  • Removed dormant features: recommendation feed, trophies, milestone sharing, and feed eligibility system
  • Improved profile layout with activations section and my shack section
  • Added category folders for automatic QSO organization
  • Enhanced activity tab with streamlined layout
  • Simplified folder tree browser
  • Added FT8 spectrogram visualization utilities
  • Improved location settings UI

0.0.30 — March 11, 2026

  • Improved external profile layout with read-only equipment cards and branded social icons
  • Added drag-and-drop photo uploads, livestream links, and notes to activation Field tab
  • Capped profile logbook preview to 5 recent contacts for cleaner profiles
  • Reordered profile bento grid for better visual flow

0.0.29 — March 11, 2026

  • Added folder media notes: attach photos to activation folders and monthly log folders
  • Redesigned activity panel layout for better map/list interaction on all screen sizes
  • Added hamtrax branding to the mobile navigation bar
  • Streamlined activation tabs: Log, Spots, Photos, and Finish
  • Removed mandatory "I saved my log" checkbox from activation finish flow
  • Folder photos are visible on public profiles

0.0.28 — March 11, 2026

  • Added tappable signal strength picker for faster S-meter input during activations
  • Improved QSO log form layout for smoother activation logging
  • Enhanced activation map with better panel sizing and interactions
  • Fixed floating cards overflowing on narrow screens
  • Improved tooltip positioning to avoid clipping at screen edges

0.0.27 — March 11, 2026

  • Fixed public profile links (hamtrax.com/s/xxx) requiring login — profiles are now viewable by anyone
  • Added QRT closing spot when ending an activation
  • Improved activation finish tab with clearer end-of-session UX
  • Fixed park detail modal animation glitch when closing

0.0.26 — March 11, 2026

  • Added GPS auto-detection of nearest POTA park when starting an activation
  • Fixed profile pages showing "own profile" view when navigating by callsign
  • Improved folder display cards with clearer "Saving to" labels
  • Consolidated floating panel heights into a single theme variable

0.0.25 — March 10, 2026

  • Replaced station page with streamlined external profile relay
  • Improved map performance by extracting clustering, animation, and style transition logic
  • Updated contact folder data layer for consistency

0.0.24 — March 10, 2026

  • Added activation spot persistence across page refreshes and device switches
  • Added RST signal report stepper for faster QSO logging
  • Added QSO edit and delete within active activation sessions
  • Added equipment profile selectors (radio/antenna) to activation setup
  • Improved auto-spot comments to lead with your hamtrax profile link
  • Added "In Progress" badge on activation folders in the folder browser
  • Improved station page mobile layout with responsive logbook columns
  • Improved station page performance by externalizing CSS
  • Updated home page copy with clearer value descriptions

0.0.23 — March 9, 2026

  • Improved station page mobile layout (hero, typography, bento grid spacing)
  • Fixed solar dashboard to load data independently when opened as a tool
  • Fixed location mode button sizing on My Station

0.0.22 — March 9, 2026

  • Added profile bento layout with logbook section and live activation banner
  • Added public logbook display on profiles (opt-out in settings)
  • Added automatic folder organization — activation folders created on start, monthly folders for casual contacts
  • Added FT8 decoder tool (experimental)
  • Added new UI components: equipment card, info tooltips, and default star indicators
  • Fixed remaining broken references from dormant feature cleanup

0.0.21 — March 8, 2026

  • Removed dormant social features (clubs, friends, messaging, narrative feeds, challenges, compete) to simplify the app
  • Removed dormant activity modes (satellites, repeaters, nets, airports, DX spots, contests)
  • Streamlined station page to focus on OG meta tags and SPA redirect
  • Improved activation map with optimistic spot injection, manual spot refresh, and quick-add QSO from spots
  • Added auth gating to activation entry from home page

0.0.20 — March 6, 2026

  • Rebuilt the activation logger from the ground up — modular setup, QSO logging, and map views replace the old monolithic form
  • Added park-to-park detection during activations
  • Added auth modal — prompts sign-in when accessing features that require an account
  • Redesigned activity tab with improved filtering and list layout
  • Added profile privacy toggle for controlling public visibility
  • Redesigned home page with new hero imagery
  • Improved map markers and station page rendering
  • Removed outdated internal documentation

0.0.19 — March 3, 2026

  • Improved Safari reliability — app now gracefully recovers from IndexedDB connection drops instead of breaking
  • Added specific error messages for radio and antenna save/delete failures in Rig Manager
  • Simplified trophy unlock notifications

0.0.18 — March 3, 2026

  • Redesigned profile equipment section with separate radio and antenna rows, drag-to-scroll, and star-based default toggles
  • Added click-to-edit equipment from profile card — opens rig manager directly to the selected item
  • Fixed Firestore crashes on Safari mobile and iPadOS caused by IndexedDB connection drops
  • Added hamtrax.com to allowed origins for DX Cluster and Reverse Beacon cloud functions
  • Migrated satellite API key to Firebase secrets for better security
  • Added challenges system internal documentation

0.0.17 — March 3, 2026

  • Added club invitation system — admins can invite friends directly to their club
  • Redesigned origami card styling for sharper text rendering and unique per-card skew variation
  • Added folder browser component for navigating log contact folders
  • Improved legacy non-POTA activation detail modals with better layout and information density
  • Redesigned operator discovery cards in the friends section
  • Overhauled the vertical feed with new layout and interaction patterns
  • Added proper favicons, web manifest, and night owl mascot
  • Added firestore security rules for club invitations
  • Improved club detail page layout with scrollable content and left-aligned header
  • Added competitor analysis research documents

0.0.16 — March 1, 2026

  • Added @username system for social identity — every account gets a unique @handle for friend discovery
  • Usernames are searchable by callsign or @username across the app
  • Added username display to profiles, search results, friend lists, and callsign detail modals
  • Added editable username field in settings with availability checking and reserved name protection
  • Added welcome modal for new user onboarding
  • Improved club settings with additional configuration options
  • Added log folder filtering and image cropper component
  • Added contest calendar cloud function

0.0.15 — February 28, 2026

  • Fixed broken images across the app — beaver logo, landing carousel, trophies, satellite art, and feed backgrounds were missing from deployed builds
  • Added adaptive timing to the CW decoder that learns dit/dah boundaries from the operator's actual sending speed
  • Added a real-time decoder event log to the CW decoder showing timing decisions as they happen
  • Narrowed CW bandpass filter to 500–800 Hz for better tone selectivity
  • Improved callsign input validation on the settings page

0.0.14 — February 28, 2026

  • Added device showcase carousel to landing page showing the app on desktop, tablet, and mobile
  • Improved deep link handling to prevent navigation race conditions on page load
  • Added spacing and navigation tokens to the design system
  • Cleaned up repository by removing unused screenshots and image assets

0.0.13 — February 27, 2026

  • Hardened production security: disabled React DevTools, stripped console output, anonymized bundle chunk names
  • Tightened Content Security Policy by removing unsafe-eval and dev-only WebSocket origins
  • Fixed UI bugs in navigation service, tool pane, settings page, and activity tabs

0.0.12 — February 27, 2026

  • Added crash reporting with error boundary and hang detection
  • Added native iOS Crashlytics integration
  • Added activity icon strip to home page for quick navigation
  • Added maxInstances limits to all Cloud Functions to control scaling costs
  • Refreshed trophy images across all award categories
  • Updated documentation site content and removed deprecated legacy map page

0.0.11 — February 26, 2026

  • Added SEO meta tags, Open Graph, and Twitter card tags for rich link previews when sharing
  • Added robots.txt for search engine crawling

0.0.10 — February 26, 2026

  • Added spotter map to activation feed cards showing geographic reach with spot count overlay
  • Migrated all UI components to origami design system with paper-texture and semantic z-index tokens
  • Removed the legacy globe map in favor of the flat map (reduced bundle size)
  • Added new origami mascot illustrations across feed cards and empty states
  • Refactored CW decoder into modular architecture
  • Added DX spot waterfall visualization for hunting workflow
  • Added short code system and club constants

0.0.9 — February 24, 2026

  • Added browser back/forward button navigation support
  • Darkened overall color palette for deeper charcoal aesthetic
  • Refreshed landing page copy with conversational, benefit-focused messaging
  • Added category labels to feed cards (e.g., "Airport Near You", "Repeater Near You")
  • Improved trends engine to filter out common ham radio terms from word clouds
  • Added activation showcase slide to landing carousel

0.0.8 — February 23, 2026

  • Redesigned landing page feature cards with accent glow effects and service logos
  • Switched home feed to CSS Grid layout with improved live spots sidebar
  • Added staleness filtering to live spots (5-minute max age)
  • Fixed OAuth sign-in popup error handling

0.0.7 — February 22, 2026

  • Refined dark theme with deeper, more saturated backgrounds
  • Added hard photo filters to Flickr seeder (rejects people, requires nature tags)
  • Added purge-invalid mode to clean non-compliant images from Firestore
  • Added changelog section to documentation site

0.0.6 — February 21, 2026

  • Simplified profile card header design
  • Added new carousel slides with updated screenshots

0.0.5 — February 21, 2026

  • Replaced carousel images with self-hosted WebP for faster loading
  • Enabled Google Analytics
  • Fixed toast notifications in Rig Manager

0.0.4 — February 11, 2026

  • Initial public release