Releases: naviqore/public-transit-service
v2.1.1
v2.1.0
2.1.0 (2025-05-08)
Features
- add repository to config directly instead of gtfs uri (8b57cbb)
- app: add support for loading GTFS feed from S3 URI (284941b)
- fully automate release pipeline (4b012c0)
- introduce a builder pattern for connection query config (0bf1a1b)
- introduce a builder pattern for service config (aa1bba5)
- move error handling from library to app layer (a07e9f0)
Bug Fixes
- add spring-boot-starter-validation to resolve Bean Validation provider issue (eb2f930)
- correct folder path org.naviqore.app (207c6f5)
Documentation
v2.0.0
2.0.0 (2025-04-27)
⚠ BREAKING CHANGES
- mvn: The structure of the project has been altered significantly.
- domain: groupId and all domain references now use .org
Features
- api: add global CORS configuration for public API access (807f5a2), closes #208
- introduce central data provider for GTFS datasets in the gtfs sample module (a5212a8), closes #208
Bug Fixes
- change visibility of RAPTOR benchmark to public (c97d0ef), closes #208
- release: add issue write permissions to GitHub release please ac… (ffb427c)
- release: add issue write permissions to GitHub release please action (0c14d58)
- typo in README (9edaff7), closes #208
Documentation
- rework CONTRIBUTING.md and README.md (5d92a70), closes #208
- rework README.md (3619415), closes #208
- update README (190f473), closes #208
Code Refactoring
v1.2.0
Overview
Enhancements to routing logic, refactoring for improved maintainability, and bug fixes for deterministic solution ordering.
New Features
- Merge Consecutive Walks: Consecutive walks at the connection start or end are now merged at the service level.
- Routing Query Template and Facade: The routing query template and facade have been refactored within the service to reduce complexity and improve maintainability.
Bug Fixes
- Handle Stops Without Departures: Ensure only stops with departures are added to RAPTOR, and handle exceptions from the router at the service level.
- Deterministic Solution Order: Resolved an issue where the RAPTOR router produced non-deterministic solution orders when two solutions had the same arrival time.
What's Changed
- Build(deps): Bump org.springframework.boot:spring-boot-starter-parent from 3.3.5 to 3.4.0 by @dependabot in #156
- Build(deps): Bump commons-io:commons-io from 2.17.0 to 2.18.0 by @dependabot in #155
- Build(deps): Bump org.projectlombok:lombok from 1.18.34 to 1.18.36 by @dependabot in #154
- Build(deps): Bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.6.0 to 2.7.0 by @dependabot in #157
- Build(deps-dev): Bump org.junit.jupiter:junit-jupiter from 5.11.3 to 5.11.4 by @dependabot in #161
- Build(deps-dev): Bump org.assertj:assertj-core from 3.26.3 to 3.27.0 by @dependabot in #165
- Build(deps): Bump org.springframework.boot:spring-boot-starter-parent from 3.4.0 to 3.4.1 by @dependabot in #164
- Build(deps-dev): Bump org.mockito:mockito-core from 5.14.2 to 5.15.2 by @dependabot in #169
- Build(deps-dev): Bump org.mockito:mockito-junit-jupiter from 5.14.2 to 5.15.2 by @dependabot in #168
- Build(deps-dev): Bump org.assertj:assertj-core from 3.27.0 to 3.27.1 by @dependabot in #167
- Build(deps): Bump org.apache.commons:commons-csv from 1.12.0 to 1.13.0 by @dependabot in #176
- Build(deps): Bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.7.0 to 2.8.3 by @dependabot in #175
- Build(deps-dev): Bump org.assertj:assertj-core from 3.27.1 to 3.27.2 by @dependabot in #170
- FIX: 158 - Ensure GTFS and RAPTOR router have the same stop set by @munterfi in #159
- Build(deps): Bump org.jetbrains:annotations from 26.0.1 to 26.0.2 by @dependabot in #179
- Build(deps-dev): Bump org.assertj:assertj-core from 3.27.2 to 3.27.3 by @dependabot in #178
- REFACTOR: Query template and facade for routing in service by @munterfi in #177
- 180 bug non deterministic solution order in raptorrouter when two solutions have the same arrival time by @clukas1 in #184
- Build(deps): Bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.8.3 to 2.8.4 by @dependabot in #183
- Build(deps): Bump ch.qos.logback:logback-classic from 1.5.12 to 1.5.16 by @munterfi in #185
- Build(deps): Bump org.springframework.boot:spring-boot-starter-parent from 3.4.1 to 3.4.2 by @dependabot in #182
- Build(deps): Bump ch.qos.logback:logback-classic from 1.5.12 to 1.5.16 by @dependabot in #172
- Build(deps): Bump org.springdoc:springdoc-openapi-starter-webmvc-ui from 2.8.4 to 2.8.5 by @dependabot in #187
- Build(deps): Bump org.springframework.boot:spring-boot-starter-parent from 3.4.2 to 3.4.3 by @dependabot in #188
- Build(deps-dev): Bump org.junit.jupiter:junit-jupiter from 5.11.4 to 5.12.0 by @dependabot in #189
- Build(deps): Bump ch.qos.logback:logback-classic from 1.5.16 to 1.5.17 by @dependabot in #190
- 181 feature merge consecutive walks at connection start or end at the service level by @clukas1 in #186
- Build(deps-dev): Bump org.mockito:mockito-core from 5.15.2 to 5.16.0 by @dependabot in #192
- Build(deps-dev): Bump org.mockito:mockito-junit-jupiter from 5.15.2 to 5.16.0 by @dependabot in #191
- release/v1.2.0 by @munterfi in #193
Full Changelog: v1.1.0...v1.2.0
v1.1.0
Overview
Additional logic to handle transfers between parent stops and dependency updates.
New Features
- Additional Transfers generated by a Transfer Generator have lowest priority.
- Child/Parent Transfers are derived on a stop-stop basis in raptor. E.g. if parent stop holds transfers, stop A1 (child) will get all transfers from stop A (parent). See test cases to see all potential cases.
- Explicit Transfers: Even if parent transfers are defined in GTFS, if there is a direct transfer (e.g. A1-A2) is specified in GTFS, transfers derived from (A-A) will be overwritten.
Bug Fixes
- Non Pareto-Optimal Solutions: Resolved an issue where non Pareto-optimal solutions appeared in range raptor. The fix ensures Pareto-optimal solutions by applying filtering in the post-processing step.
What's Changed
- Build(deps-dev): Bump org.mockito:mockito-core from 5.13.0 to 5.14.1 by @dependabot in #130
- Build(deps-dev): Bump org.mockito:mockito-junit-jupiter from 5.13.0 to 5.14.1 by @dependabot in #129
- Build(deps): Bump org.jetbrains:annotations from 24.1.0 to 25.0.0 by @dependabot in #126
- Build(deps-dev): Bump org.junit.jupiter:junit-jupiter from 5.11.0 to 5.11.1 by @dependabot in #125
- Build(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.0 to 3.5.1 by @dependabot in #133
- Build(deps-dev): Bump org.junit.jupiter:junit-jupiter from 5.11.1 to 5.11.2 by @dependabot in #132
- Build(deps): Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.0 to 3.5.1 by @dependabot in #131
- Build(deps): Bump org.jetbrains:annotations from 25.0.0 to 26.0.1 by @dependabot in #138
- 140 spring boot application is not covered by tests by @munterfi in #141
- 134 api returns empty array when valid trips should exist by @clukas1 in #144
- Build(deps-dev): Bump org.junit.jupiter:junit-jupiter from 5.11.2 to 5.11.3 by @dependabot in #146
- Build(deps-dev): Bump org.mockito:mockito-junit-jupiter from 5.14.1 to 5.14.2 by @dependabot in #143
- Build(deps-dev): Bump org.mockito:mockito-core from 5.14.1 to 5.14.2 by @dependabot in #142
- Build(deps): Bump ch.qos.logback:logback-classic from 1.5.8 to 1.5.12 by @dependabot in #147
- Build(deps): Bump org.apache.commons:commons-csv from 1.11.0 to 1.12.0 by @dependabot in #123
- Build(deps): Bump org.apache.commons:commons-csv from 1.11.0 to 1.12.0 by @dependabot in #151
- Build(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.1 to 3.5.2 by @dependabot in #150
- Build(deps): Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.1 to 3.5.2 by @dependabot in #149
- Build(deps): Bump org.springframework.boot:spring-boot-starter-parent from 3.3.4 to 3.3.5 by @dependabot in #148
- 145 bug non pareto optimal solution by @clukas1 in #153
- release/v1.1.0 by @munterfi in #152
Full Changelog: v1.0.0...v1.1.0
v1.0.0
We are excited to announce the official release of v1.0.0 of the public transit service and conclude our Master's thesis!
Overview
Bug Fixes
- Headsign Field in Trips: The headsign field in the
trips.txt
is not a mandatory field.
What's Changed
- Build(deps): Bump org.springframework.boot:spring-boot-starter-parent from 3.3.3 to 3.3.4 by @dependabot in #120
- Build(deps): Bump ch.qos.logback:logback-classic from 1.5.7 to 1.5.8 by @dependabot in #115
- FIX: NAV-193 - Set headsign as an optional field by @munterfi in #122
- release/v1.0.0 by @munterfi in #124
Full Changelog: v0.5.1...v1.0.0
v0.5.1
This release introduces performance enhancements of the raptor router and a transition to the MIT license.
Overview
New Features
- Performance Optimization in Raptor Rounds: Improved performance by replacing the HashSet for marked stops with boolean stop mask arrays.
- Sorted Stop Results: Stops are now sorted by name in the
getStops(String like)
API to enhance the user experience. - MIT License: Changed project licensing from GPLv3 to MIT for better alignment with open-source best practices.
Bug Fixes
- Range Raptor Fix: Resolved an issue where Range RAPTOR failed to return routes when no departure was found, ensuring reliable route results.
What's Changed
- FIX: NAV-162 - Ensure range raptor also returns routes when no depart… by @clukas1 in #108
- Build(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.4.0 to 3.5.0 by @dependabot in #111
- Build(deps): Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.4.0 to 3.5.0 by @dependabot in #112
- Build(deps-dev): Bump org.mockito:mockito-core from 5.12.0 to 5.13.0 by @dependabot in #110
- Build(deps-dev): Bump org.mockito:mockito-junit-jupiter from 5.12.0 to 5.13.0 by @dependabot in #109
- Feature/nav 176 adjust licenses to mit by @munterfi in #113
- ENH: NAV-180 - Sort get stops like term according to name by @munterfi in #116
- Feature/nav 181 initialize hashset size of marked stops by @clukas1 in #118
- ORG: v0.5.1 - Bump patch version to 0.5.1 by @munterfi in #119
Full Changelog: v0.5.0...v0.5.1
v0.5.0
This release introduces extended query parameters to support travel mode, accessibility, and bike information in the connection routing service.
Overview
New Features
- Travel Mode: Adds the ability to consider travel mode in connection and isoline requests.
- Accessibility: Allows requests for connections that are accessible.
- Bike Allowed: Incorporates bike information into connection and isoline requests.
- Dependency Updates: Updates Spring and Logback dependencies.
Bug Fixes
- Improved Input Validation: Implements checks to prevent identical coordinates for source and target in connection requests.
What's Changed
- Build(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.1 to 3.4.0 by @dependabot in #101
- Build(deps): Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.3.1 to 3.4.0 by @dependabot in #102
- Nav 131 extend query config for raptor by @clukas1 in #100
- Release/v0.5.0 by @munterfi in #106
- Build(deps): Bump org.apache.commons:commons-compress from 1.27.0 to 1.27.1 by @dependabot in #104
- Build(deps): Bump org.springframework.boot:spring-boot-starter-parent from 3.3.2 to 3.3.3 by @dependabot in #105
Full Changelog: v0.4.0...v0.5.0
v0.4.0
This release focuses on enhancing the router's capabilities (multiday and range Raptor), refactoring, and improving the overall user experience with the service.
Overview
New Features
- Multiday Routing Support: The Raptor now supports queries for connections that span multiple days, based on a new
TripMaskProvider
concept. - Range Raptor: The public transit service is now capable of applying Range Raptor searches to obtain the shortest connections.
- Improved Error Handling in REST API: Enhanced the application's error-handling mechanism, particularly by checking for valid parameters and existing stops.
- Service Home and Utility Endpoints: A new homepage is available under the service root (
/
) with information about the version and useful links to metrics, health, and build information. - OpenAPI Support: A Swagger UI and API documentation are now automatically generated and served under the service home.
- GTFS Accessibility Information: Accessibility and bike information are now read into the GTFS schedule, if available.
Bug Fixes
- Docker Deployment: Fixed incorrect environment variable names.
- GTFS Calendar: The conditionally required files
calendars.txt
andcalendar_dates.txt
are now read correctly in all valid combinations.
What's Changed
- Nav 104 simplify reduce return value for iso line rest api endpoint by @clukas1 in #75
- Feature/nav 108 nav 112 add more raptor tests by @clukas1 in #77
- Build(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.0 to 3.3.1 by @dependabot in #83
- Build(deps): Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.3.0 to 3.3.1 by @dependabot in #82
- Build(deps-dev): Bump org.assertj:assertj-core from 3.26.0 to 3.26.3 by @dependabot in #81
- Build(deps): Bump org.springframework.boot:spring-boot-starter-parent from 3.3.1 to 3.3.2 by @dependabot in #84
- Nav 126 re improve performance of raptor by @clukas1 in #80
- ENH: NAV-117 - Introduce read and write lock for eviction cache by @munterfi in #86
- Concept/nav 116 range raptor implementation by @clukas1 in #85
- Build(deps): Bump org.apache.commons:commons-compress from 1.26.2 to 1.27.0 by @dependabot in #88
- Build(deps-dev): Bump org.junit.jupiter:junit-jupiter from 5.11.0-M2 to 5.11.0-RC1 by @dependabot in #87
- FIX: NAV-121 - Correct env variable name in docker deployment by @munterfi in #89
- Feature/nav 137 refactor gtfs to raptor converter by @munterfi in #90
- Nav 26 handle conditionally req UI red gtfs files correctly by @clukas1 in #91
- Feature/nav 138 rename stop labels and times to query state by @munterfi in #93
- Feature/nav 139 refactor and rename impl in the service package by @munterfi in #94
- Nav 136 read accessibility information in gtfs by @clukas1 in #92
- Feature/nav 140 utility endpoints health and service info by @munterfi in #96
- Build(deps): Bump ch.qos.logback:logback-classic from 1.5.6 to 1.5.7 by @dependabot in #98
- Release/v0.4.0 by @munterfi in #99
Full Changelog: v0.3.1...v0.4.0