EmergencyAPI|DocsStatusChangelogPrivacyTerms
...
Version History
v1.7.02026-04-14

Expanded Data Coverage

  • QLD now covers all incident types (structure fires, rescues, MVAs, hazmat) via ESCAD, not just bushfires
  • TAS incidents now include real geographic coordinates (previously placeholder geometry)
  • WA warnings feed added (CAP-AU format with alert polygons and circles)
  • Geoscience Australia earthquake data added nationally (Australian earthquakes, magnitude 2.0+)
  • Feed count increased from 10 to 12
  • Poller resilience improved with Docker health checks and log rotation
  • NT duplicate incident ID issue resolved
  • Terms of Service agreement checkbox added to signup
  • Attribution endpoint updated with all data sources including SA pager feeds and GA earthquakes

v1.6.02026-04-13

SEO and Analytics

  • Open Graph and Twitter card meta tags for link previews
  • XML sitemap (emergencyapi.com/sitemap.xml)
  • Canonical URLs and structured metadata (19 keywords)
  • Vercel Analytics for visitor tracking and page view metrics

v1.5.02026-04-13

Production Polish

  • Landing page stats are now live from the database (not hardcoded)
  • State coverage table pulls real-time feed status, incident counts, and last polled timestamps
  • Agency labels show all agencies per state (not just primary feed)
  • WA and NT event type mapping improved (25+ new types, reduced "other" count)
  • Status values standardised to "healthy/degraded/down/unknown" across all code
  • Better sample JSON response on landing page

v1.4.02026-04-13

Security Hardening and Next.js 16

  • Full security audit: 20 findings identified, 11 fixed in code
  • Removed service key from client-side bundle
  • IP-based rate limiting on auth routes (login 5/min, signup 3/hr)
  • Signup no longer reveals if an email is already registered
  • Auth callback redirect validated against path allowlist
  • Max 10 API keys per user account
  • Password change now requires current password verification
  • Docker container runs as non-root user
  • Cursor pagination validates input format
  • Feed status endpoint no longer exposes internal error details
  • Upgraded from Next.js 14 to 16, React 18 to 19 (zero code changes needed)

v1.3.02026-04-12

SA Pager Feed Integration

  • Integrated SA CFS/MFS and SES pager feeds from urgmsg.net RSS
  • Dispatch-level data: exact addresses, units dispatched, incident details
  • Automatic deduplication between government and pager feed data
  • Address token matching merges pager enrichment into government incidents

v1.2.02026-04-12

Auth System and Dashboard

  • Email/password signup with Supabase Auth email verification
  • User dashboard with API key management (create, name, revoke)
  • Live feed status panel showing all 10 feeds (8 government + 2 SA pager)
  • Quick test panel to try API endpoints from the dashboard
  • 7-day usage history tracking
  • Settings page with profile editing and password change
  • Forgot/reset password flow
  • Per-user rate limiting across all API keys (500 requests/day shared)

v1.1.02026-04-12

Design System and Landing Page

  • Retro Macintosh System 7 design aesthetic
  • Chicago font, Mac window chrome, teal desktop background
  • Design system document (DESIGN-SYSTEM.md) for consistency
  • Security headers: CSP, X-Frame-Options, X-Content-Type-Options
  • robots.txt and security.txt (RFC 9116)

v1.0.02026-04-10

Initial Launch

  • 8 Australian state feeds: QLD, NSW, VIC, SA, WA, ACT, TAS, NT
  • 6 API endpoints: incidents, incidents/:id, incidents/nearby, states, status, attribution
  • GeoJSON FeatureCollection responses aligned with CAP-AU standards
  • Cursor-based pagination, bbox filtering, geo-radius search
  • Poller deployed on Raspberry Pi 4B with Docker
  • Resilience: cockatiel retry/circuit breaker, email alerting, stale detection
  • API deployed on Vercel at emergencyapi.com
  • 212+ tests passing

v0.1.02026-04-07

Project Kickoff

  • Monorepo scaffolded with pnpm workspaces
  • Database schema designed and deployed to Supabase
  • Unified incident type definitions aligned with CAP-AU and GeoJSON RFC 7946
  • First two feed parsers: QLD QFD and ACT ESA
  • Research completed: competition, legal, technical feasibility, pricing, demand
Recent Commits (Under the Hood)

Loading commits...

Source: github.com/JackDempsey9/emergency-api

System Status

Loading feed status...