Skip to content

v4.2.0

Compare
Choose a tag to compare
@jcpitre jcpitre released this 07 Nov 17:13
· 110 commits to master since this release
fdd6c9b

Overview

This release includes

  • Support for time variable fares that was adopted in GTFS in July 2023
  • A new summary section of the validation report, including tags to see if a feed has GTFS components like Blocks, Frequencies, or Fares v2
  • Automatic generation of the RULES documentation on https://gtfs-validator.mobilitydata.org/rules.html
  • New releases published to Maven

New notices

Notices for Fares v2 - time variable fares, added to the spec in google/transit#357

  • timeframe_overlap 🔴 ERROR
  • timeframe_only_start_or_end_time_specified 🔴 ERROR
  • timeframe_start_or_end_time_greater_than_twenty_four_hours 🔴 ERROR

Changed notices

  • Downgraded platform_without_parent_station 🟠WARNING → ⚪ INFO
  • Replaced missing_timepoint_column 🟠WARNING → missing_recommended_column 🟠WARNING

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.

Full Changelog: v4.1.0...v4.2.0

New Contributors

What's Changed

Rules

  • fix: Downgraded platform_without_parent_station notice to info by @jcpitre in #1444
  • feat: Add a rule that stations (location_type 1) must be the parent_station of some stop (location_type 0). by @bradyhunsaker in #1493
  • feat: Added missing_recommended_column notice by @jcpitre in #1470
  • feat: Validation for timeframes.txt by @bdferris-v2 in #1518
  • feat: 1423 only warn if feed contact email or url are both unset by @qcdyx in #1514
  • feat: validator for ferry trips + bikes allowance by @cka-y in #1510
  • feat: 1504 add new error if a gtfs dataset has gtfs files in sub folders by @qcdyx in #1535
  • feat: trip vs shape distance validation by @cka-y in #1553
  • fix: comments on #1587 by @cka-y in #1592

Bug fixes

New summary section of report

Generate documentation automatically

  • fix: Refactor MainTest to avoid stubbing System.exit() by @bdferris-v2 in #1410
  • feat: Add @GtfsValidationNotice annotations to all notice classes by @bdferris-v2 in #1366
  • feat: Add unit-test check for @GtfsValidationNotice annotation and notices that I missed by @bdferris-v2 in #1413
  • feat: Include section references in the notice output schema. by @bdferris-v2 in #1416
  • feat: Add Notice documentation header check. by @bdferris-v2 in #1422
  • feat: Change Notice field comment format and unit-test to enforce they exist by @bdferris-v2 in #1421
  • Fix: Switch javadoc aggregation plugin to non-jar version. by @bdferris-v2 in #1432
  • feat: Add a few missing "Affected files" references by @bdferris-v2 in #1427
  • fix: Use correct import for @nullable annotation. by @bdferris-v2 in #1438
  • Feat: Bulk update Notice Javadoc to include content from RULES.md. by @bdferris-v2 in #1428
  • feat: Add documentation update + unit-test for new notice doc conventions. by @bdferris-v2 in #1429
  • feat: Split the notice doc comment into a short summary string and additional documentation. by @bdferris-v2 in #1452
  • feat: Additional test to enforce documentation comment conventions by @bdferris-v2 in #1450
  • Fix: bug in Notice documentation comment splitting. by @bdferris-v2 in #1479
  • feat: Resolve notice severity level from @GtfsValidationNotice annotation. by @bdferris-v2 in #1475
  • Feat: Remove SeverityLevel from ValidationNotice constructor by @bdferris-v2 in #1489
  • feat: Remove unit-test that RULES.md is up-to-date with Notice classes. by @bdferris-v2 in #1517
  • Remove unit-test that RULES.md is up-to-date with Notice classes by @qcdyx in #1522

Web-based validator improvements

For developers: Ability to change "required" status of GTFS files/tables at run-time instead of compile time

  • feat: Make GtfsTableDescriptor.required a mutable property by @bdferris-v2 in #1566
  • feat: Add method to GtfsFeedLoader to access GtfsTableDescriptors. by @bdferris-v2 in #1573

Report improvements

  • HTML Report, limit records displayed by @briandonahue in #1433
  • feat: Add notice descriptions to HTML report by @briandonahue in #1447
  • feat: add stop_id to the decreasing_or_equal_stop_time_distance notice by @cka-y in #1554
  • fix: Use csvRowNumber in MissingFeedContactEmailAndUrlNotice for consistency with other notices by @bdferris-v2 in #1572
  • fix: Add back support for @GtfsTable.maxCharsPerColumn. by @bdferris-v2 in #1462
  • feat: 1425 output fieldname of missing recommended field notice even if there is no column by @qcdyx in #1511

Documentation updates

Maintenance

  • Docs: Update NOTICE_MIGRATION.md by @isabelle-dr in #1379
  • build(deps-dev): bump @sveltejs/kit from 1.7.2 to 1.15.1 in /web/client by @dependabot in #1376
  • feat: deploy web app to staging environment by @lottspot in #1560
  • feat: 1520 gtfs validator desktop app deprecation by @qcdyx in #1555
  • build(deps): bump requests from 2.26.0 to 2.31.0 in /scripts/mobility-database-harvester by @dependabot in #1443
  • feat: Conditionally run more multi-file validators if their dependencies don't have parse errors by @bdferris-v2 in #1496
  • fix: report.json doesn't include details of parsing failures by @cka-y in #1526
  • fix: Forced java version to 17.0.7 in github action by @jcpitre in #1541
  • chore: add local Spring Boot profile by @davidgamez in #1545
  • feat: Automate generation of release artifacts by @cka-y in #1529
  • feat: Automation of the update of the NOTICE_MIGRATION.md on releases by @cka-y in #1530
  • feat: 1537 get list of validators that couldnt run because of a parsing problem by @qcdyx in #1565
  • Updated actions/setup-node action to v3.8.1 to use node 16 by @fredericsimard in #1577
  • Corrected a problem with the acceptance test action. by @jcpitre in #1583
  • feat: Resolve release version from new /version endpoint. by @bdferris-v2 in #1586
  • feat: 1588 publish to maven central by @jcpitre in #1596