Travel::Status::DE::DeutscheBahn 6.06 - Sun Aug 11 2024 * HAFAS: Remove undocumented Math::Polygon dependency that was accidentally added in 6.05 * HAFAS: Add STV, RMV, VMT, VRN service definitions Travel::Status::DE::DeutscheBahn 6.05 - Sun Aug 11 2024 * HAFAS: Add KVB service definition * Use mode of transport definitions provided by https://github.com/public-transport/transport-apis Travel::Status::DE::DeutscheBahn 6.04 - Sat Aug 10 2024 * hafas-m: Add -n / --num-results option * HAFAS: Add BVG and VOS service definitions Travel::Status::DE::DeutscheBahn 6.03 - Mon Apr 15 2024 * Journey: Add product_at accessor Travel::Status::DE::DeutscheBahn 6.02 - Fri Apr 12 2024 * hafas-m: Add -j / --with-jid option * $hafas->station: Correctly determine "name" and "eva" for stations that have multiple EVA IDs and names. Travel::Status::DE::DeutscheBahn 6.01 - Thu Apr 04 2024 * Journey: Add operators accessor * Add CMTA (Capital Metropolitan Transportation Authority) and BLS (BLS AG) services Travel::Status::DE::DeutscheBahn 6.00 - Tue Apr 02 2024 * Add AVV (Aachener Verkehrsverbund), BART (Bay Area Rapid Transit), and IE (Iarnród Éireann / Irish Rail) backends * Support backend-specific time zones; add time_zone to service description * Handle cross-timezone journeys and stops whose time zone differs from the backend's default time zone. As of this release, all input and output datetimes refer to the backend's default time zone rather than local time (Stop and Journey accessors) / whatever (hafas-m and HAFAS arguments). Use the new tz_offset accessor to determine local time. This is a breaking change. * Journey, Stop: Add tz_offset accessor Travel::Status::DE::DeutscheBahn 5.06 - Thu Mar 28 2024 * Add Travel::Status::DE::HAFAS::Product module to handle line numbers, operators, and similar. This enables proper support for journeys with multiple operators and possibly multiple train/line numbers along the route. It also exposes the line ID. * Journey: Add product accessor * Stop: Add prod_arr, prod_dep accessors * hafas-m: Improve stop list display in journey mode * Fix polyline and platform number support in ÖBB backend (and possibly other non-DB backends) * ÖBB backend: correctly handle polylines and platform numbers * ÖBB backend: Remove redundant train numbers from $journey->name / $journey->line / $product->name * ÖBB backend: update productbits (thanks to Cassidy Dingenskirchen) Travel::Status::DE::DeutscheBahn 5.05 - Wed Feb 21 2024 * ÖBB backend: handle midnight crossing and fix associated warnings (patch by Cassidy Dingenskirchen) * ÖBB backend: adjust request version to fix backend errors with certain trains (patch by Cassidy Dingenskirchen) Travel::Status::DE::DeutscheBahn 5.04 - Sat Dec 30 2023 * Journey: Add is_additional accessor * Stop: Add is_additional accessor Travel::Status::DE::DeutscheBahn 5.03 - Wed Dec 19 2023 * Journey: Fix route_interesting accessor (broken by 5.00) Travel::Status::DE::DeutscheBahn 5.02 - Wed Dec 14 2023 * Fix calls to $journey->route crashing in handle_day_change or add_message in some circumstances if the $hafas object that created $journey has gone out of scope (and become eligible for garbage collection) in the meantime. The culprit was a mis-application of weaken() introduced in v5.01. * hafas-m: Add -v/--via option Travel::Status::DE::DeutscheBahn 5.01 - Sat Nov 25 2023 * Fix incorrect handling of HIM messages (introduced in 4.19) * hafas-m: Declutter station board output: sort by real-time data and show all messages at the end * Journey: Support construction from JSON that does not provide a date attribute (i.e., add date parameter to constructor) * Stop: Add messages accessor Travel::Status::DE::DeutscheBahn 5.00 - Tue Nov 21 2023 * hafas-m: Add --raw-json option (useful for HAFAS client development) * hafas-m: Add train search support, e.g. "hafas-m '!EC 6'" * HAFAS->new, HAFAS->new_p: Add journeyMatch flag * Add Travel::Status::DE::HAFAS::Location module * HAFAS::Stop: Fix some documented accessors not being provided by the module * HAFAS::Stop: Add "loc" accessor that returns the corresponding Location instance * HAFAS::Stop: Breaking change: The "eva", "name", "lat", "lon", "distance_m", and "weight" accessors are no longer supported. Use the (identically named) Location accessors instead, i.e., "$stop->loc->name" instead of "$stop->name", etc. Travel::Status::DE::DeutscheBahn 4.19 - Sat Nov 11 2023 * hafas-m: Fall back to locationSearch if StopFinder is unavailable * Message: Expose message type; document ->code and ->type Travel::Status::DE::DeutscheBahn 4.18 - Sun Oct 29 2023 * Allow HAFAS and hafas-m users to specify the backend language * Update services list to include known language specifiers * hafas-m: Add -l / --language option * HAFAS->new, ->new_p: Add language option Travel::Status::DE::DeutscheBahn 4.17 - Sun Sep 03 2023 * Journey: handle empty / undefined nameS fields Travel::Status::DE::DeutscheBahn 4.16 - Sun Sep 03 2023 * Journey: Fix date parser for cross-midnight journeys that start on the 1st through 9th day of a month. Travel::Status::DE::DeutscheBahn 4.15 - Wed Aug 22 2023 * HAFAS: Add similar_stops_p function Travel::Status::DE::DeutscheBahn 4.14 - Tue Aug 22 2023 * Journey: Correctly calculate datetimes when requesting a cross-midnight journey after midnight. Previously, those were off by 24 hours. Travel::Status::DE::DeutscheBahn 4.13 - Mon Aug 21 2023 * new_p: Return a Travel::Status::DE::HAFAS instance in addition to the error message when rejecting a promise after receiving a HAFAS reply Travel::Status::DE::DeutscheBahn 4.12 - Mon May 29 2023 * Fix Journey->route and HAFAS geoSearch / locationSearch returning incorrect geocoordinates (latitude and longitude were mixed up) Travel::Status::DE::DeutscheBahn 4.11 - Thu May 25 2023 * hafas-m: Add --json option Travel::Status::DE::DeutscheBahn 4.10 - Tue Apr 18 2023 * HAFAS->new, ->new_p: Add locationSearch option (search stops by name) * Journey->route, ->route_interesting: Return Travel::Status::DE::HAFAS::Stop instances Travel::Status::DE::DeutscheBahn 4.09 - Mon Apr 10 2023 * HAFAS->new: Add geoSearch option (search stops by coordinates) Travel::Status::DE::DeutscheBahn 4.08 - Sun Feb 12 2023 * Journey: Correctly report route_end / origin in arrivals mode * Journey->route: Add platform, sched_platform, rt_platform, and is_changed_platform accessors Travel::Status::DE::DeutscheBahn 4.07 - Sun Feb 05 2023 * hafas-m: Fix uninitialized value warnings in "--list" output * Improve support for non-DB HAFAS instances * Fix day change handling in departure board mode. Previously, journeys arriving / departing after midnight had wrong timestamps in some cases. Travel::Status::DE::DeutscheBahn 4.06 - Sat Feb 04 2023 * HAFAS->station: rename "uic" to "eva"; add "names" and "evas" keys * Rename Journey->uic to Journey->eva Travel::Status::DE::DeutscheBahn 4.05 - Fri Feb 03 2023 * StopFinder: add new_p constructor for async requests via promises Travel::Status::DE::DeutscheBahn 4.04 - Mon Jan 30 2023 * Journey->is_cancelled: correctly report cancellations in station board mode Travel::Status::DE::DeutscheBahn 4.03 - Sat Jan 28 2023 * HAFAS: Add "station" accessor * Journey: Add "station", "station_uic" and "line_no" accessors * Journey->line now returns journey type as well as line number * Journey->line_no provides the old Journey->line behaviour * Journey: Add "route_interesting" accessor Travel::Status::DE::DeutscheBahn 4.02 - Sun Nov 06 2022 * HAFAS->new: Add "results" and "lookahead" options * Build.PL: Specify File::Slurp test dependency Travel::Status::DE::DeutscheBahn 4.01 - Sat Oct 29 2022 * Journey: Add "class" accessor * Message: Correctly document "short" and "text" accessors ("header" and "lead" were not supported), add "is_him" accessor * Specify List::MoreUtils and List::Util dependencies for bin/hafas-m Travel::Status::DE::DeutscheBahn 4.00 - Fri Oct 28 2022 * Use mgate.exe HAFAS interface instead of stboard.exe/bhftafel.exe. This introduces several breaking changes in hafas-m, Travel::Status::DE::HAFAS, and Travel::StatuS::DE::HAFAS::Result. * hafas-m: Options -l/--lang, -L/--ignore-late, and -u/--url are no longer supported * hafas-m now supports journey details by specifying a journey ID instead of a station name. * Travel::Status::DE::HAFAS->new: "date" and "time" keys are no longer supported. Use "datetime" instead. * Travel::Status::DE::HAFAS->new: "lang" key is no longer supported. * Travel::Status::DE::HAFAS->new: "url" key is no longer supported. * Travel::Status::DE::HAFAS->new: "mode" key is no longer supported. Set "arrivals" to a true value to request arrivals instead of departures. * Travel::Status::DE::HAFAS->new: add optional "cache" key and support for "journey" requests with optional "with_polyline" key. * Travel::Status::DE::HAFAS: add new_p constructor for async requests via Promises. * Travel::Status::DE::HAFAS: Add "result" and "messages" accessors. * Rename Travel::Status::DE::HAFAS::Result to ...::Journey. The accessors "sched_date", "date", "info", "countdown", "countdown_sec", "raw_e_delay", "raw_delay", "sched_time", "time", "train", "train_no" and "line_no" are no longer supported. Introduces several new ones instead. * The module no longer depends on XML::LibXML * New dependency: Digest::MD5 Travel::Status::DE::DeutscheBahn 3.01 - Sat Jun 06 2020 * Fix support for ÖBB and other backends which recently switched from two- to four-digit years Travel::Status::DE::DeutscheBahn 3.00 - Sat May 09 2020 * Result: The date, datetime, and time accessors now report realtime data if available * Result: Add sched_date, sched_datetime, and sched_time accessors for schedule data Travel::Status::DE::DeutscheBahn 2.05 - Sun May 03 2020 * Document LWP::Protocol::https dependency * Remove BVG (Berliner Verkehrsgesellschaft) and SBB (Schweizerische Bundesbahnen) services Travel::Status::DE::DeutscheBahn 2.04 - Sun Dec 30 2018 * Handle invalid XML when using the VBB backend Travel::Status::DE::DeutscheBahn 2.03 - Sat Dec 16 2017 * Update DB backend API URL Travel::Status::DE::DeutscheBahn 2.02 - Sun Jan 08 2017 * New dependencies: DateTime and DateTime::Format::Strptime * Result: New accessors ->datetime, ->countdown and ->countdown_sec Travel::Status::DE::DeutscheBahn 2.01 - Sat Oct 10 2015 * Result: Fix ->type accessor (was not working for all backends) * Result: Add ->train_no / ->line_no accessor Travel::Status::DE::DeutscheBahn 2.00 - Fri Sep 25 2015 * This release is NOT backwards compatible with 1.xx versions * It now uses the HAFAS API instead of parsing bahn.de/ris and also supports various other HAFAS installations * New module dependencies: JSON, List::MoreUtils * Renamed db-ris to hafas-m * New modules: Travel::Status::DE::HAFAS and Travel::Status::DE::HAFAS::StopFinder * Renamed Travel::Status::DE::DeutscheBahn::Result to Travel::Status::DE::HAFAS::Result * db-ris/hafas-m: The options -f /--full-route and -v/--via are no longer supported * db-ris/hafas-m: New options -s / --service, -u / --url and --list * Travel::Status::DE::DeutscheBahn/HAFAS->new: The mot parameter is no longer supported. Use the new excluded_mots and exclusive_mots parameters instead * Travel::Status::DE::DeutscheBahn/HAFAS->new: Add service and url parameters * Travel::Status::DE::DeutscheBahn/HAFAS: Add errcode, similar_stops and get_active_service accessors * Travel::Status::DE::DeutscheBahn/HAFAS: Add static methods get_services and get_service * Result: Remove route, route_raw, route_info, route_interesting and route_timetable accessors * Result: Add is_changed_platform and messages accessors * Result->info is now undef instead of an empty string when no information is available Travel::Status::DE::DeutscheBahn 1.05 - Thu May 14 2015 * Result->route_interesting: Also consider airports * Result: Add route_info accessor * Result: Add is_cancelled accessor Travel::Status::DE::DeutscheBahn 1.04 - Sun May 03 2015 * Result: Add type accessor * DeutscheBahn->new: Add lwp_options parameter to pass options to LWP::UserAgent->new Travel::Status::DE::DeutscheBahn 1.03 - Tue Oct 21 2014 * Add primitive JSON serializer to Travel::Status::DE::DeutscheBahn::Result * Fix $result->delay (was broken by changes in the RIS output format) Travel::Status::DE::DeutscheBahn 1.02 - Tue Sep 17 2013 * Respect proxy environment variables * Add -a / --arrivals option to show arrivals instead of departures * Disable smartmatch warnings on perl >= 5.018 Travel::Status::DE::DeutscheBahn 1.01 - Sat Dec 03 2011 * Detect ambiguous input errors (available via errstr) * Add language switch for additional information (german/english) [Travel::Status::DE::DeutscheBahn::Result] * Result: Add line (== train) and date accessors [db-ris] * Add -l / --lang option Travel::Status::DE::DeutscheBahn 1.00 - Sun Sep 04 2011 [db-ris] * Add --full-route option [Travel::Status::DE::DeutscheBahn] * Fix bug when receiving no platform numbers from the DB RIS [Travel::Status::DE::DeutscheBahn::Result] * Add route_timetable accessor containing station names and their corresponding arrival times Travel::Status::DE::DeutscheBahn 0.05 - Tue Aug 09 2011 [Travel::Status::DE::DeutscheBahn] * Fix ->results returning duplicate connections when accessed more than one time * new: Only die when encountering wrong options, set ->errstr otherwise * Adds new ->errstr accessor to check for request errors Travel::Status::DE::DeutscheBahn 0.04 - Wed Jul 13 2011 [Travel::Status::DE::DeutscheBahn::Result] * The info accessor now strips the mostly useless "k.A." / "pünktlich" (train on time) text parts * Add (slightly experimental) route_interesting accessor * Add delay accessor Travel::Status::DE::DeutscheBahn 0.03 - Wed Jul 13 2011 * Clarify derl dependency (we actually need >= 5.10.1) [Travel::Status::DE::DeutscheBahn] * Strip leading / trailing whitespace in result fields Travel::Status::DE::DeutscheBahn 0.02 - Wed Jul 06 2011 [db-ris] * Only display info when a train is late, not when on time / unknown * Add --ignore-late option [Travel::Status::DE::DeutscheBahn] * Add route_raw accessor * Proper HTTP request error handling * Strip leading whitespace from ::Result info * Do not include canceled stops in the route Travel::Status::DE::DeutscheBahn 0.01 - Mon Jun 27 2011 * Initial release * Crawls almost all data available in the web interface