Skip to content

Releases: HSLdevcom/OpenTripPlanner

14.4.2026

14 Apr 13:01

Choose a tag to compare

Digitransit OTP Release Summary

Changelog 20260311 vs 20260414

Custom changes

  • Support for coordinate visit via locations in access, egress and direct routing

Added PRs

  • Add select/not filters to estimatedCalls in Transmodel #7305
  • Cleanup regular transfer build parameters #7425
  • Add CostlyAssertions feature that should be turned off in production and improve performance of via routing with coordinates #7301
  • Added carpooling as an access/egress mode #7341
  • Cache TransferIndexGenerator results to skip redundant regeneration #7355
  • Improve compatibility with Swiss NeTEx data #7427
  • fix: Introduce stable order for fareZones (tariffZones) #7434
  • Prevent long routes mistakenly getting grouped across service-date #7452
  • Migrate away from deprecated FeedScopedId.parse() #7457
  • Expose GTFS feed version in the GTFS GraphQL API #7445
  • Fix MC Raptor Pareto comparator performance regression #7440
  • Use A* traversal distance for flex access/egress #7490
  • Update to Java 25 #7246
  • Add distance for stop-to-stop shapes, PointsOnLink in Transmodel API #6982
  • Support DestinationDisplay for SIRI RecordedCall #7007
  • Add transit service validity dates and CPU cores to GraphQL ServerInfo and transitInfo #6996
  • Fix missing transfers #7042
  • Add Transmodel carpool street mode #7084
  • Add native scooter preference parameters to TransModel GraphQL API #7035
  • Support gml:LineString format with list of gml:pos elements #7135
  • Add Route/Trip/TripOnServiceDate replacement to query APIs #7126
  • Allow missing arrival time on the first stop in a GTFS-RT TripUpdate #7245
  • Support for SIRI ArrivalStatus.ARRIVED on EstimatedCalls #7299
  • Mark RecordedCall without ActualDepartureTime as not departed #7336
  • Reject SIRI messages with missing Order attribute on calls #7324
  • Add running days to flex routing #7281
  • Fix booking time calculation for multi-day flex trip searches #7255
  • Fix empty string handling for banned.routes and banned.agencies in GTFS API #7340
  • Improve stop connectivity check #7375
  • Infer vehicle position's service date for ADDED trip #7179
  • Fix walk steps for escalators leading directly to a station entrance #7361
  • Reduce Raptor on-board optimal set by using strict less-than for tripSortIndex #7417
  • fix: Return NO_TRANSIT_CONNECTION_IN_SEARCH_WINDOW when transit search finds no trips #7398
  • Fix findTripTimesOnDate filters using wrong route mode and applying filters after limit #7408

11.3.2026

11 Mar 09:15

Choose a tag to compare

Digitransit OTP Release Summary

Changelog 20251106 vs 20260311

Custom changes

  • Fix for subway entrance not showing up

Added PRs

  • Multiplicative stairs and turn reluctance #6783
  • Update contribution guidelines #6869
  • Add estimated calls on same service and day in Transmodel API #6930
  • Debug UI: Fix/enforce up to date package lock #6959
  • Debug client itinerary compare #6882
  • doc: add CLAUDE.md file #6939
  • Correctly parse GTFS-Flex priorNoticePeriod #6941
  • Reduce graph size when processing turn restrictions #6908
  • Allow refetching legs for trips with changed calling pattern #6902
  • Use GBFS 3 manifest for feed discovery in rental service directory #6900
  • Gracefully handle exceptions during GBFS updater setup #6954
  • Fix RAPTOR data generation for additional search days in the past #6958
  • Fix strange detours when street leg starts from the boundary of an area #6970
  • Add bikesAllowedStopMaxTransferDuration to build config to limit bike transfers #6787
  • Crosswalk naming #6918
  • Add distance for stop-to-stop shapes, PointsOnLink in Transmodel API #6982
  • Support DestinationDisplay for SIRI RecordedCall #7007
  • Fix duplicates in paging due to cost truncation in token #6973
  • Added transit service validity dates and CPU cores to GraphQL ServerInfo and transitInfo #6996
  • SIRI-ET updater via MQTT #6851
  • Support for ETag and If-Not-Modified in GBFS updater #6963
  • Visualize elevator edges and vertices in Debug UI #6885
  • Check for NO_VALUE when mapping GTFS booking rules #7029
  • Make railway=platform_edge a boarding location #7037
  • Upgrade to GraphiQL 5 #7025
  • Add paging departure-time window fields to Transmodel API metadata #6975
  • Fix duplicate labels for elevator vertices #7048
  • Add a map popup to select from multiple features if they are overlapping #6928
  • Don't fail the whole search if direct, flex or transit search generates a routing validation exception #7051
  • Fix missing transfers #7042
  • Fix coordinate fallback when linking locations in the street graph #7056
  • Handle barrier entrances correctly #7067
  • Fix default via vertex name translation mapping #7046
  • To fix arriveBy searches always set arriveBy property to false in transfer requests #7089
  • Improve handling of realtime updated StopPatterns #6909
  • Refactor ElevatorProcessor and add tests for elevators #7079
  • Add Transmodel carpool streetMode #7084
  • Add information to GraphQL schemas about if a place in an itinerary is a via location #7090
  • Fix NeTEx graph builder crash on duplicate StopPointInJourneyPattern #7092
  • Propulsion type aware bike and scooter routing #7098
  • Add support for the snow and ice NeTEx transport mode #7114
  • Improve GTFS-RT backwards earliness propagation when update starts with NO_DATA #7106
  • Add native scooter preference parameters to TransModel GraphQL API #7035
  • Normalize ServiceJourney/DatedServiceJourney ID prefixes in SIRI updates #7128
  • Add information about the use of elevators, escalators, and stairs to queries with steps in the GTFS GraphQL API #6897
  • Support gml:LineString format with list of gml:pos elements #7135
  • Add Entur specific link on Emission type in transmodel API #7148
  • Simplify handling of safety values #6767
  • Change elevator cost calculation, add reluctance for elevators, and deprecate elevatorHopCost #7111
  • Fix elevator ways with multiple intersection nodes #7181
  • Improve indoor routing information in debug UI #7174
  • Clear timetables after withdrawn NEW trips #6280
  • Undeprecate car/bikepark nearest filters which were deprecated by accident #7209
  • Fix SIRI-SX affects resolver #7210
  • Add support for via-location visits in Raptor access and egress paths #7101
  • Fix car routing using stations or multi-modal stations as locations #7151
  • Add modes filter and totalCount to the canceled trips query in the GTFS API #7200
  • Make sure flex transfers are indexed exactly once #7218
  • Fix SIRI ET ExtraJourney trips not appearing in departure/arrival boards #7052
  • Add CarRequest to cache key in RaptorRequestTransferCache #7194
  • Add booking time parameter to the GTFS API #7221
  • Add HTTP response time metric #7133
  • Add second criteria to the Raptor heuristics #7165
  • Add Route/Trip/TripOnServiceDate replacement to query apis #7126
  • Make filters for the canceled trips query in the GTFS API a list #7235
  • Allow setting maxThreads lower than MIN_THREADS when using parameter #7224
  • Allow missing arrival time on the first stop in a GTFS RT Trip Update #7245
  • Direct transit search #7145
  • Add ability to start a Raptor search from on-board a trip in MC range raptor #7241
  • Change @timingData annotations in GTFS GraphQL API #7261
  • Account for DST and multi-day trips in departure boards #7250
  • Add publiccode.yml for OpenTripPlanner #7212
  • Expose boolean extraCall field on EstimatedCall in Transmodel API #7272
  • Fix mapping of banned.trip in GTFS API #7288
  • Add trip's carsAllowed property to GTFS GraphQL API #7282
  • Use only the closest vertices for each mode when linking with multiple street modes to improve performance [opentripplanner#7309](https://gith...
Read more

9.12.2025

09 Dec 11:33

Choose a tag to compare

  • Pull from upstream
  • Bug fix: entrances correctly allow barrier pass through

6.11.2025

06 Nov 10:37
8147ddb

Choose a tag to compare

  • New changes pulled from upstream
  • Bug fix: indoor car routing is no longer allowed by default

30.9.2025

30 Sep 14:55

Choose a tag to compare

  • New changes pulled from upstream
  • Fix incorrect speed tram icon and color in HSL routing

31.8.2025

31 Aug 17:30

Choose a tag to compare

OTP features required by digitransit UI release 1.9.2025 (new filter API, map layer update)

26.8.2025

26 Aug 15:00

Choose a tag to compare

  • Improved performance of trip updates

11.8.2025

11 Aug 12:11

Choose a tag to compare

  • Improved support for GraphQL metrics
  • New upstream changes (no API changes)

8.6.2025

08 Jun 16:32

Choose a tag to compare

  • Searching later or earlier itineraries no longer skips valid itineraries
  • Turn restrictions no longer confuse car routing
  • Pull from upstream

26.5.2025 custom release

26 May 13:16

Choose a tag to compare

This release is based on the release 1st April. Java version has been upgraded to OpenJdk@24.