Changelog
A running log of what shipped in each release.
0.0.41
- Fixed POTA spots not loading for visitors who aren't signed in
0.0.40
- Updated link preview image to show the hero slogan and illustration when sharing hamtrax.com
0.0.39
- 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
- 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
- Added Terms of Service and Privacy Policy links to the public home page footer
0.0.36
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Added Field 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, Field Notes, and Finish
- Removed mandatory "I saved my log" checkbox from activation finish flow
- Field notes photos are visible on public profiles
0.0.28
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Removed dormant social features (clubs, friends, messaging, stories, 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
- 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
- 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
- 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
- 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 WWFF and SOTA 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
- 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
- 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
- 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
- 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
- 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 3D globe page
0.0.11
- 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
- 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 3D globe in favor of 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
- 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 stories slide to landing carousel
0.0.8
- 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
- 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
- Simplified profile card header design
- Added new carousel slides with updated screenshots
0.0.5
- Replaced carousel images with self-hosted WebP for faster loading
- Enabled Google Analytics
- Fixed toast notifications in Rig Manager
0.0.4
- Initial public alpha