1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
|
Travel::Status::DE::DeutscheBahn 6.10 - Sat Sep 28 2024
* HAFAS: Hardcode request seconds to 00 to improve caching
* hafas-m: Cache backend replies by default (if Cache::File is available)
Travel::Status::DE::DeutscheBahn 6.09 - Mon Aug 19 2024
* Improve handling of services which do not provide intermediate stops
* HAFAS: Add Resrobot service definition
* HAFAS: get_service et al.: return coverage data provided by
transport-apis, if available
Travel::Status::DE::DeutscheBahn 6.08 - Thu Aug 15 2024
* HAFAS: Add DSB (Rejseplanen), TPG and ZVV service definitions
* HAFAS: Update endpoint URL for BLS service
Travel::Status::DE::DeutscheBahn 6.07 - Mon Aug 12 2024
* HAFAS: Fix enum error in ÖBB service
* HAFAS: Add RSAG service definition
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
|