Changelog
Every release, in plain language. Booking, telemetry, and host tooling — newest first.
- Free vs ChargePeer Plus pricing tiers with live entitlement checks —
GET /api/billing/plans and GET /api/entitlements (Stripe keys from env only, no real charges; unknown plan lookups return a clear error) - Pricing page now compares Free vs Plus vs Host & Fleet with a current-plan badge and billing links
- SEO pass: canonical + Open Graph + JSON-LD on About, Features, FAQ, Pricing, Blog, Changelog, Help, and Contact; one h1 per public page; all 34 blog posts added to sitemap.xml
- Contact form now uses toasts, labels, and inline error states instead of browser alerts; Help Center links to Contact and FAQ plus the Support & Feedback Hub
- Available-Now Badge with Next Slot + One-Tap Booking on radar station cards — live availability, next free slot, and direct booking from the marketplace landing page
- Reserve-charge validation (1–150 kWh) and charger-list availability fields served from live bookings
- Station Sorting Control — sort nearby chargers by Recommended, Distance, Price, or Power from the marketplace landing page
- Keyboard accessibility — Escape-to-close and body scroll lock across SOS, Route Planner, Dynamic Tariff, and V2G modals
- Backend root health endpoint now returns HTTP 200 (previously 401) for uptime monitoring
- Blog post: “Sort Nearby Chargers in One Tap — A Faster Way to the Right Plug”
- Vehicle-to-Grid (V2G) Load Balancing & Carbon Credit Exchange Modal — V2G discharge rate sliders, peak grid price multipliers ($0.45-$1.25/kWh), live carbon earnings calculator, and Grid Dispatch trigger
- Blog post: “Vehicle-to-Grid (V2G) Load Balancing & Carbon Credit Exchange”
- Host Peak/Off-Peak Dynamic Tariff Rate & Earnings Dashboard Modal — configure TOU pricing, surge multipliers, and view revenue breakdown
- Blog post: “Host Dynamic Tariff Rate & Earnings Dashboard — Maximize EV Charger Revenue”
- EV Route Trip Planner with Live Charger Status Modal — calculate charging stops along trip path with battery SoC and charger availability filters
- Blog post: “EV Route Trip Planner — Plan Long Trips with Live Charger Availability Status”
- Assist Charge Mode Mobile Emergency Power SOS Modal — 1-click mobile emergency charging dispatch with real-time location pinging
- Host Station Time-Slot Reservation Calendar Modal — book future charging slots with interactive calendar controls
- Interactive Charger Plug Filter & Search — instant filtering by plug standard (CCS2, Type 2, Fast DC 150kW+)
- Session Cost Calculator Slider — real-time $/kWh cost estimator for EV drivers
- Stripe Connect Provider Payout Setup — automated host payout onboarding
- Live Telemetry Dashboard — real-time monitoring of power output (kW), energy delivered (kWh), and voltage stability during active sessions
- Accessible Controls & Focus Rings — full keyboard accessibility and high-contrast visible focus indicators across all interactive elements
- Subscription Proration Fixes — corrected preview calculations when promotional discounts are applied
- Two-Factor Authentication (TOTP) — secure sign-in with Google Authenticator, Authy, 1Password, or any standard authenticator app
- 2FA Management in Settings — generate unique secret keys, verify live codes, and manage account security settings
- One-Tap Copy Actions — instant clipboard copy for booking references and station access codes
- Blog post: “Two-Factor Authentication Is Here — Extra Protection on Every Sign-In”
- Peer Availability Toggle — mark yourself available for peer charging with a single tap, location shared with nearby drivers
- QR Availability Codes — generate QR codes for your chargers encoding real-time availability status, downloadable as SVG
- ETA Coordination System — share and coordinate arrival times with your charging partner in real-time
- New backend services for availability management, QR generation, and arrival time coordination
- New interactive components for availability toggles, QR codes, and ETA management
- Database migrations for coordination tracking and peer availability storage
- Blog post: “Peer Availability, QR Codes & ETA Coordination”
- Session receipts now document delivered energy in kWh instead of “Hours”, and the applied rate as 0.25 VSC/kWh — receipts, pricing card, and telemetry now agree
- Booking status filter tabs on /bookings — All, Upcoming, Active, Completed, and Cancelled with live counts
- Every dialog is now keyboard accessible — focus enters on open, is trapped while open, and returns to the triggering button on close
- Blog post: “Receipts You Can Trust, Bookings You Can Filter — A Quality Release for Everyday Charging”
- Real-time session chat — the secure chat widget on the session page now actually sends and retrieves messages per session
- Secure chat history service — returns per-session chat history, polled live by the widget
- Add to Calendar — upcoming bookings get a one-click
.ics calendar invite covering the booked charging window - Upcoming countdown — booking cards show a “Starts in Xh Ym” badge for scheduled sessions
- Relative timestamps — booking dates now show “2h ago”-style relative times
- Booking cards no longer render “$NaN” when rate or cost data is missing
- Blog post: “Talk to Your Charger Live — Real-Time Session Chat & Smarter Booking Reminders”
- Estimated range (km) — booking cards now show the estimated distance charged (computed from vehicle output power and kWh delivered)
- Charging duration — when estimated range is unavailable, completed bookings show how long the session lasted instead
- Estimated range field added to booking history and responses
- Human-readable charging duration returned in booking history responses
- Blog post: “How Far Did You Charge? — Estimated Range & Session Duration Now on Booking Cards”
- Provider response time — booking cards now show how quickly the provider accepted (e.g., “Accepted in 12s”)
- Confirmation timestamp tracked on booking creation
- Provider response time and confirmation status returned in booking responses
- Blog post: “Provider Response Time — Know How Fast Your Charger Confirmed”
- Pending payout indicator on provider dashboard — colored card shows unpaid balance at a glance
- Pending payout field returned in provider stats response (total earned minus total paid out)
- Contact form persistence — submissions now stored with reference number tracking
- Authentication middleware now returns proper 401 status on session expiry
- Refund handler fixed — corrected seeker account lookup
- Payment webhook handler looks up users by customer account ID
- Customer ID stored on wallet top-up for billing management reliability
- Billing Portal integration — manage invoices, payment methods, and subscription from Wallet
- Wallet Billing button redirects to customer portal for account management
- Backend billing portal endpoint with authentication and profile lookup
- Platform fee calculation service for transparent breakdown
- Provider onboarding flow fixed (was hitting fallback handler instead of real endpoint)
- Email verification now works end-to-end (token-based, no premature marking)
- Provider station dashboard, edit, toggle, session, and earnings endpoints added
- Fallback handler returns 404 instead of fake success data
- New blog post: “The Airbnb of Energy”
- Instant i18n toggling without hard page reloads via Svelte 5 runes
- Deep-Linked Stripe Dunning Management links in Wallet and Notification Center
- Enterprise Fleet Node Filtering (search/filter bar) in Fleet dashboard
- Post-Session Immediate SVG Receipt Export feature
- Radar Map with Leaflet integration and marker clustering for high-density areas
- Live Charging Sessions with real-time telemetry (power, cost, duration)
- Provider dashboard with earnings overview and station management
- Session booking flow with date picker and confirmation modal
- Wallet page with transaction history and VSC credit management
- User roles (Seeker / Provider) with role-based UI toggling
- Heatmap layer showing predictive grid demand
- Address search with OpenStreetMap Nominatim integration
- Offline banner with connectivity detection via online/offline events
- Service Worker registration for offline capability groundwork
- Initial project scaffold with SvelteKit 5 and TypeScript
- Authentication system with login, registration, and session management
- Basic layout structure with header, footer, sidebar, and bottom navigation
- CSS design system with custom properties, dark theme, and responsive breakpoints
- Toast notification system for user feedback
- Modal component with dynamic content loading
- SEO metadata injection via svelte:head
- Structured data (JSON-LD) for search engine indexing
- Pricing page with Seeker, Provider, and Fleet tiers
- Static pages: About, Contact, Privacy Policy, Terms of Service