What's Changed
0.0.13
- chore: inline commit lists into release body at creation time
- chore: include fetch-releases in make dev target
- chore: disable major version bump in create-release during pre-production
- feat: use conventional commits for semantic version bumping in create-release
- refactor: add reconstruct-releases script with idempotent semver releases
- feat: add changelog page with embedded GH releases
0.0.12
- feat: add storage abstraction with S3/local fallback
- feat: add local FS storage backend so uploaded images render in dev
- fix: resolve create listing form rendering by stripping Alpine x-model bindings
- fix: remove stripe gating from web create listing flow, skip pricing step
- feat: add 33312 seed listings with multiple images, spread across test users
0.0.11
- feat: add light/dark mode toggle to login screen
- fix: resolve private IPs via public IP fallback, add geolocation logging
- fix: dark mode text color on login screen title
- fix: sync tempZip after IP/browser geo resolve so location button updates
- fix: swap automatic browser geo prompt for silent IP geolocation
- feat: location resolution priority for listings search
- fix: update footer text color to gray-600, expand AGENTS.md commands
- fix: add title attrs on truncated text, landscape tweaks, remove accent stripe
- fix: add root route redirect to /listings
- fix: demo env deployment — static assets, DB readonly, CGO-free migrations
- feat: add deployment scripts for demo and production environments
- fix: consolidate geocoding into LookupAddress with two-step resolution for accurate city names
- feat: add zip geocode endpoint and auto city resolution for search
0.0.10
- feat: redesign search UI with location modal, idempotent seed upserts, chat back-link, SSE guard
- fix: add quarter field to Nominatim address parsing for accurate neighborhood names like Long Island City
- fix: prefer suburb/neighbourhood over city in Nominatim geocode for accurate neighborhood names
- polish: my listings page interaction states, hover shadows, focus rings, a11y
- fix: UI clarify and harden across web app pages
0.0.9
- feat: add compliance enforcement for Class III device filter, disclaimers, listing reporting, and seller self-certification
- feat: expand seed listing images to 5 each with unique picsum URLs
- polish: touch targets, preconnect CDN, aria-hidden on decorative SVGs
- fix: memory leaks, alt text, aria-live, a11y hardening
- refactor: remove SSE real-time chat from messages page
- fix: CSP compliance for inline scripts, improve color contrast across templates
- polish: detail page interaction states, touch targets, focus rings, dark mode contrast
- docs: update env vars, add simplified-pricing, revise OCR requirements
- fix: update OCR to extract make/model/serial/year into description, fix proposal inconsistencies
- feat: real medical equipment images from Wikimedia Commons + dedup listings on re-seed
- docs: clarify web app refers to Go templ SSR not Flutter
- refactor: remove web target code from flutter app
0.0.8
- feat: preserve search params in URL for bookmarking
- fix: search location button trigger and zip-only initial load
- fix: add comma grouping to formatPrice, use templ.JSONScript for JSON-LD
- chore: add default Flutter widget test
- feat: add US zip regex to forward geocode, clean up geocode
- docs: update README and AGENTS.md for web stack, seed command
- feat: add seed data command for dev environments
0.0.7
- refactor: remove make/model/year/serial_number from listings
- feat: persist sessions to SQLite
- chore: add *_templ.go and todo.txt to .gitignore
- refactor: extract inline Alpine x-data to app.js, polish lazy loading, login bg, flash dismiss
- style: responsive images, auto-fit grids, spacing rhythm, semantic z-index
- style: replace hardcoded spacing with tokens, add visual hierarchy and section rhythm
- style: add strategic color — dark condition badges, brand tokens, tinted neutrals
- fix: harden server templates for production edge cases
- feat: add RepaintBoundary around map, Semantics labels for photo carousel and search field
0.0.6
- feat: add text scaling support, scroll view, and MediaQuery.sizeOf for accessibility
- fix: add color-blind accessible condition badges, fix pricing card radio logic
- feat: replace Colors.blue seed with branded teal, add TextTokens theme extension
- feat: add responsive breakpoints, NavigationRail for tablets, fluid map/carousel heights
- feat: add dark mode toggle button to nav
- chore: update todo.txt
- docs: add auto-commit convention to AGENTS.md
- refactor: remove make/model/year/serial fields from listing forms
- feat: add forward geocoding and zip-based search; remove make/model/year/serial fields
- feat: add dark mode class support across all templates
- chore: add Go and Flutter build artifacts to .gitignore
- feat: add theme switcher in profile screen
- feat: add dark mode support across app
0.0.5
- feat: add listing location reverse geocoding, dev login, account pages, per-listing payments, and OCR pipeline
- chore: add tailwindcss dependency and ignore node_modules
- feat: per-listing payment verification and Stripe subscription sync
0.0.4
- feat: simplified pricing, drop user_type, add per-listing payment + Stripe subscription checkout
- fix: eliminate modulo bias in randomString and guard production API_URL
- feat: add refresh token rotation with 15min access / 30d refresh
0.0.3
- feat: complete flutter migration — chat, profile, FCM, permissions; remove React Native client
- feat: flutter migration phase 2-3 — listings, search, detail, create listing wizard, OCR, payment, offline queue
- feat: add web app with server-side templates, session auth, and SSE chat
- chore: add Go binary, IDE, and OS entries to gitignore
- feat: add makefile frontend targets, google oauth env vars, and expo auth config
0.0.2
- feat: add frontend-mvp with expo client and backend api gaps
- refactor: replace google vision with openai-compatible llm for ocr extraction
- feat: initial go backend with sqlc, golang-migrate, and s3-compatible storage
- docs: use haversine in go with performance logging, spatiaLite migration path
- docs: replace websocket chat with fcm push notifications
0.0.1
- docs: add medtrade design doc