Skip to content

v2.0.0

Compare
Choose a tag to compare
@lionel-nj lionel-nj released this 24 Mar 20:05
· 527 commits to master since this release
131ab53

What's new 🆕

We're excited to bring you this v2 release of the gtfs-validator! A lot has changed since v1, and we think you'll appreciate the new features.

  • Faster 🚀 and stronger 💪 thanks to a new multi-threaded architecture (thank you @aababilov!) (PR #486)
    • Supports the largest known real-world GTFS datasets. For example, the Netherlands GTFS previously failed with an OutOfMemory error, and now it can be validated in 2 minutes and 12 seconds on an ordinary laptop!
    • Validates datasets much faster. For example, MBTA used to take 38 seconds to validate, and now it only takes 14 seconds - less than half the time!
  • ⏬ Reduces the amount of code needed for adding new validation rules and support for new GTFS files and fields by leveraging Java annotations and AutoValue
  • 📝 Notice definitions for validation rules have been updated
    • Notice severities now align with the canonical GTFS spec (e.g., issues #472, #417). ERRORS are for items that the spec explictly requires or prohibits, and WARNINGS are for items that will impact the quality of GTFS datasets but aren't strictly required (suggestions or best practices).
    • Notices have ported to the new architecture (e.g., PR #592, PR #710). See the "Rules" documentation for the new v2 notice definitions and the "v1 to v2 Migration Guide" for a table mapping v1 notices to v2 notices.
  • 🛠 Better error handling and reporting
    • In case of problems with the validator software itself, an error report is now written to a file system_errors.json to help with troubleshooting (PR #596). Normal validation results can be found in report.json.
  • 🗺 New project roadmap
    • Check out the project wiki. Please feel free to add things you are interested in!