Skip to content

Update dependency org.mobilitydata.gtfs-validator:gtfs-validator-main from v6.0.0 to v8 - #563

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x
Open

renovate[bot] wants to merge 1 commit into
masterfrom
renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x

Conversation

@renovate

@renovate renovate Bot commented May 9, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
org.mobilitydata.gtfs-validator:gtfs-validator-main 6.0.0 → 8.0.1 age confidence

Release Notes

MobilityData/gtfs-validator (org.mobilitydata.gtfs-validator:gtfs-validator-main)

v8.0.1

Compare Source

Highlights

This minor release restores backward compatibility for JAR users affected by a breaking change introduced in v8.0.0.

For more details on the features in the most recent major release, see the 8.0.0 version

What's Changed

New Contributors

Full Changelog: MobilityData/gtfs-validator@v8.0.0...v8.0.1

v8.0.0

Compare Source

Breaking Change for JAR Users

Version 8.0 introduced an unintended breaking change for third-party applications that use the gtfs-validator as a JAR library. This can lead to a compiling error against v8.0.0.

Who is affected: Projects integrating the gtfs-validator JAR directly.

The minor release of v8.0.1 restores backward compatibility.

Highlights

Rules for New GTFS Features: Three new features have been added to GTFS in the past year. We’ve added validation rules for each, as well as a feature in the summary report so they are easy to track:

  • 💳 Contactless EMV Support allows data producers to indicate whether riders can access a transit service using contactless cards or devices (for example, in tap-to-pay systems).

  • 🚘 Cars Allowed indicates if vehicles serving specific trips (such as car ferries or trains capable of transporting cars) are able to accommodate cars or not on the vehicle.

  • 🚏Stop Access indicates if the stop or platform can be directly accessed from the street network or not. This feature allows trip planners to generate more accurate directions to reach the stop or platform.

📅 Better Validation for Service Windows: Seven notices have been created to more thoroughly test service windows. Check to see if a service is out of date or in the future, if there are big gaps in service, or if there are large discrepancies between the feed info and calendar files.

Notice changes

🔴 fare_transfer_rule_missing_transfer_count changed to -> fare_transfer_rule_without_transfer_count to align with naming conventions
🔴 unexpected_enum_value: Triggers when

  • cars_allowed is a value other than 0, empty, 1 or 2.
  • cemv_support is a value other than 0, empty, 1 or 2.
  • stop_access is a value other than 0, empty or 1.
New notices

🔴 missing_required_agency_id: agency_id is required when there are multiple agencies.
🔴 stop_access_specified_for_incorrect_location: A location that is not a stop has stop_access specified. stops.stop_access is forbidden for locations that are stations, entrances, generic nodes or boarding areas. It can only be specific when a stop is associated with a parent station.
🔴 stop_access_specified_for_stop_with_no_parent_station: A stop without a value for parent station has stop_access specified. stops.stop_access is forbidden for stops that are not associated with a parent station.
🔴 pathway_to_stop_with_access_outside_of_station_pathways: A pathway has an endpoint that is a stop with stop_access=1, which should be accessible outside of the station’s pathways.
🟡 inconsistent_route_type_for_block_id: A block should have the same route mode.
🟡 inconsistent_route_type_for_in_seat_transfer: An in-seat transfer should occur in the same route mode.
🟡 service_has_no_active_day_of_the_week: A service is not valid for any day of the week.
⬜ big_gap_in_service: A service has a gap of more than 13 days between active service dates.
⬜ feed_valid_beyond_total_service_window: The feed is valid 14 days beyond its total service window.
⬜ future_calendar: All services in the feed start in the future; no service covers today's date.
⬜ future_feed: The minimum start_date in feed_info.txt is greater than today's date, indicating the feed covers the future only.
⬜ service_extends_far_in_the_future: A service end date is more than 2 years in the future.
⬜ service_window_extends_past_feed_period: A service window is not covered by the feed's validity period.
⬜ trip_headsign_matches_intermediate_stop: Trip headsign matches the name of an intermediate stop, not the last stop.
⬜ trip_with_shape_dist_traveled_but_no_shape_distances: A trip has shape_dist_traveled values in stop_times.txt but the shape referenced by the trip's shape_id does not have shape_dist_traveled values on all of its points in shapes.txt.
⬜ unsorted_stop_times: Stop times are not sorted by trip_id and stop_sequence. stop_times.txt entries for a given trip are not sorted by stop_sequence, or are not contiguous in the file.

Impacts on existing data

You can see how the new release affects real world data in the Mobility Database here.

Other notable improvements

What's Changed

New Contributors

Full Changelog: MobilityData/gtfs-validator@v7.1.0...v8.0.0

v7.1.0

Compare Source

Highlights

What's Changed

New Contributors

Full Changelog: MobilityData/gtfs-validator@v7.0.0...v7.1.0

v7.0.0

Compare Source

Highlights

🧒 👵 👨 Rules for rider categories in GTFS-Fares

Rider Categories are groups of passengers, like adults, children, seniors, or students, who may get different fare pricing based on their age, status, or needs. As of February this year, it's now possible to describe rider categories in GTFS. We've added validation rules to check the quality of new rider categories data, as well as a new Rider Category Feature that will display in the summary report when this data is provided.

📞🚌 Full list of Flex rules

GTFS Flex is a proposal that ensures riders can discover demand responsive services and how to book them. Flex was officially adopted into GTFS last year. With this validator release, we offer a full list of validation rules for Flex. You can see more under "Flex notices".

Breaking JSON report change: N/A values now display as ""

To help standardize empty strings, empty values are now populated with "" instead of N/A in the generated report.json.

Notice changes

🔴 duplicate_key: Triggers when rider_category_id is not unique in rider_categories.txt.
🔴 foreign_key_violation: Verifies that

  • every network_id found in fare_leg_join_rules.txt matches an entry in networks.txt or routes.txt.
  • every rider_category_id found in fare_products.txt matches an entry in rider_categories.txt.

🔴 invalid_url: Triggers when eligibility_url in rider_categories.txt is invalid.

🔴 missing_required_field: Triggers when

  • from_stop_id or to_stop_id is present in fare_leg_join_rules.txt but the other is omitted
  • rider_category_id and/or rider_category_name and/or is_default_fare_category are omitted from rider_categories.txt

🔴 unexpected_enum_value: Triggers when is_default_fare_category is a value other than 0, empty or 1.
⬜ unused_parent_station renamed to unused_station

New notices

🔴 fare_product_with_multiple_default_rider_categories: This notice is generated when a fare product is associated with multiple rider categories that are marked as default.
🟡 transfer_distance_too_large: The transfer distance from stop to stop in transfers.txt is larger than 10 km.
⬜ transfer_distance_above_2_kmThe transfer distance from stop to stop in transfers.txt is larger than 2 km.

Flex notices

Flex new notices

🔴 duplicate_geography_id: ID must be unique across all stops.stop_id, locations.geojson id, and location_groups.location_group_id values.
🔴 forbidden_geography_id: In stop_times.txt, you can have only one of stop_id, location_group_id or location_id defined for given entry.
🔴 missing_stop_times_record: Travel within the same location group or GeoJSON location requires two records in stop_times.txt with the same location_group_id or location_id.
🔴 forbidden_arrival_or_departure_time: The arrival or departure times are provided alongside pickup or drop-off windows in stop_times.txt. This violates GTFS specification, as both cannot coexist for a single stop time record.
🔴 forbidden_continuous_pickup_drop_off: Continuous pickup or drop-off are forbidden when routes.continuous_pickup or routes.continuous_drop_off are 0, 2 or 3 and stop_times.start_pickup_drop_off_window or stop_times.end_pickup_drop_off_window are defined for any trip of this route.
🔴 forbidden_pickup_type: pickup_drop_off_window fields are forbidden when the pickup_type is regularly scheduled (0) or must be coordinated with the driver (3).
🔴 forbidden_drop_off_type: pickup_drop_off_window fields are forbidden when the drop_off_type is regularly scheduled (0).
🔴 invalid_pickup_drop_off_window: The end_pickup_drop_off_window must be strictly later than the start_pickup_drop_off_window.
🔴 missing_pickup_or_drop_off_window: Either the start or end pickup/drop-off window is missing in stop_times.txt.
🟡 missing_pickup_drop_off_booking_rule_id: pickup_booking_rule_id is recommended when pickup_type=2 and drop_off_booking_rule_id is recommended when drop_off_type=2. Currently, this notice is only triggered on feeds when either start_pickup_drop_off_window or end_pickup_drop_off_window is defined, since this recommendation was added to the specification for feeds with GTFS-Flex.

locations.geojson notices

🔴 duplicate_geo_json_key: The key must be unique for each feature in the GeoJSON file.
🔴 geo_json_duplicated_element: Duplicated elements in locations.geojson file.
🔴 overlapping_zone_and_pickup_drop_off_window: Two entities in stop_times.txt with the same trip_id have the same pickup_type or drop_off_type and overlapping pickup/drop-off windows and overlapping zones in locations.geojson.
⬜ geo_json_unknown_element: Unknown elements in locations.geojson file.

Flex notice changes

🔴 foreign_key_violation: Checks that the location_id field in stop_times.txt reference valid entries in the locations.geojson file.
🔴 missing_prior_day_booking_field_value separated into missing_prior_notice_last_day and missing_prior_notice_last_time notices

Impacts on existing data

You can find the impact of this release on all existing datasets we have in the Mobility Database in this spreadsheet.

Other notable improvements

New Contributors

Full PR List

Full Changelog: MobilityData/gtfs-validator@v6.0.0...v7.0.0


Configuration

📅 Schedule: (in timezone Europe/Oslo)

  • Branch creation
    • Between 12:00 AM and 03:59 AM, only on Monday (* 0-3 * * 1)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch 2 times, most recently from 576b2c4 to aad78b0 Compare May 19, 2026 06:36
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch from aad78b0 to 9d11ea0 Compare May 27, 2026 08:51
@sonarqubecloud

Copy link
Copy Markdown

@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch 2 times, most recently from 90f5d41 to 95ad13b Compare June 29, 2026 19:58
@renovate renovate Bot changed the title fix(deps): update dependency org.mobilitydata.gtfs-validator:gtfs-validator-main from v6.0.0 to v8 Update dependency org.mobilitydata.gtfs-validator:gtfs-validator-main from v6.0.0 to v8 Jun 29, 2026
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch from 95ad13b to 6f3dcf7 Compare July 6, 2026 07:32
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch 5 times, most recently from b7511af to e547d1f Compare July 31, 2026 07:12
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch 2 times, most recently from 4994ecb to 18e3b70 Compare August 5, 2026 12:59
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch 3 times, most recently from b3be986 to e5d9445 Compare August 17, 2026 03:41
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch 3 times, most recently from a7387db to 3a3389b Compare August 31, 2026 03:49
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch 2 times, most recently from 5db90fe to a83206f Compare September 7, 2026 03:43
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch 2 times, most recently from 5c3daec to 3dbcd81 Compare September 16, 2026 10:57
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch 2 times, most recently from 42f8fa8 to b7b8f6f Compare October 5, 2026 02:54
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch 2 times, most recently from 18b1055 to faca165 Compare October 19, 2026 02:35
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch from faca165 to f083980 Compare October 26, 2026 06:40
@renovate
renovate Bot force-pushed the renovate/org.mobilitydata.gtfs-validator-gtfs-validator-main-8.x branch from f083980 to 25612b3 Compare October 29, 2026 10:06
@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants