Repository navigation
RouteReality v2.0 Release Notes
Release Date: April 2026
Status: Major update – Community & Real-Time Features
This release marks the transition to Version 2.0, introducing authentication, user engagement mechanics, real-time capabilities, and a significantly improved prediction engine.
All changes since V1.3.0 (February 21, 2026) have been consolidated here.
Added (New V2 Features)
-
JWT Authentication
Protected routes for journey creation, event submission, and user-specific data. Public read-only endpoints remain open. -
User Stats & Leaderboard
- Personal contribution tracking (points, journeys, events submitted, rank)
- Community leaderboard (all-time and weekly) with badges (Hot Streak, Early Reporter, Reliable Source)
- Points system: ARRIVED (10 pts), DELAYED (15 pts), STOP_REACHED (20 pts) + daily bonuses
-
Stop-Based Arrivals
New endpoint:GET /arrivals/stop/{stop_id}— view all upcoming buses/trams at any stop. -
Web Push Notifications
Full server-side support using VAPID keys.
Addedgen_vapid.pyscript for easy key generation and expiration handling. -
WebSocket Broadcasting
Live real-time updates when journey status changes (with sync context fixes). -
Improved Prediction Engine (Prediction V2)
- Time-sensitive weighted average with better handling of recency, traffic patterns, and time-of-day effects.
- Enhanced arrival reporting loop.
- Richer prediction payload including
source,recent_event_count, andhistorical_count.
-
Three UI screenshots added to README (Home / start journey map, route view with event reporting, active journey screen).
-
JourneyEventType.PENDING for clearer initial journey states.
-
Structured logging throughout prediction and event handling.
-
recent_tripslimit and counts in status endpoints. -
Server-side push support and VAPID key generation.
Changed
- Prediction interface: renamed
static_dt→reference_time, improved fallback safety. - Centralized prediction refresh with new
update_predictionhelper. - Tightened event state transitions and validation.
- Adjusted predicted_arrival handling on DELAYED events.
- Removed unnecessary
.isoformat()conversions in API responses. - CIF timetable path now loaded from environment variable.
- Consistent 3-tuple return from
get_closest_scheduled_time_to_now. - Updated timetable data for March 2026 service changes.
- Improved internal service boundaries for easier maintenance.
- Updated requirements and dependencies (including
psycopg3-binary).
Fixed
- Safe unpacking of timetable results with proper type hints.
- Edge cases causing negative ETAs after live overrides.
- Prediction failures now logged gracefully instead of crashing.
- Resource validation (route/stops) with explicit 404/400 status codes.
- Various minor bugs across services and API routes.
- Type annotations and schema consistency.
- WebSocket broadcast issues from sync context.
Improved
- Confidence scoring accuracy under low-data conditions.
- Debuggability with better logging at key decision points.
- Overall system stability and predictability.
- User schema types and requirements handling.