diff --git a/Changelog b/Changelog
index d8a6a42403b6637695d04651bd719f0c0762b508..0789911283e003600f8cd16bba5b29b3e3d1cef8 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,8 @@
+Travel::Routing::DE::VRR 2.17 - Mon Apr 09 2018
+
+    * Handle routes containing cancelled connections
+    * Allow date to be specified as 'tomorrow'
+
 Travel::Routing::DE::VRR 2.16 - Wed Jul 05 2017
 
     * Fix encoding issues caused by recent API changes
diff --git a/bin/efa b/bin/efa
index c9527fec2c5d066c29f9c4f143b97e0aa7054f2a..03d99c78f453840e4997c210a723da33b92c6d29 100755
--- a/bin/efa
+++ b/bin/efa
@@ -16,7 +16,7 @@ use Exception::Class;
 use Getopt::Long qw/:config no_ignore_case/;
 use List::Util qw(first);
 
-our $VERSION = '2.16';
+our $VERSION = '2.17';
 my $ignore_info;
 my $efa;
 my $efa_url = 'http://efa.vrr.de/vrr/XSLT_TRIP_REQUEST2';
@@ -458,7 +458,7 @@ efa - Command line client for EFA-based public transit routing services
 
 =head1 VERSION
 
-version 2.16
+version 2.17
 
 =head1 DESCRIPTION
 
@@ -770,7 +770,7 @@ to to request via -> to.
 
 =head1 AUTHOR
 
-Copyright (C) 2009-2015 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt>
+Copyright (C) 2009-2018 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt>
 
 =head1 LICENSE
 
diff --git a/lib/Travel/Routing/DE/EFA.pm b/lib/Travel/Routing/DE/EFA.pm
index e5173ba0519593025c28274c6bb9521257798e86..32502faf44f5aca732bee4336ea74ad6b301621f 100644
--- a/lib/Travel/Routing/DE/EFA.pm
+++ b/lib/Travel/Routing/DE/EFA.pm
@@ -41,7 +41,7 @@ use Exception::Class (
 	},
 );
 
-our $VERSION = '2.16';
+our $VERSION = '2.17';
 
 sub set_time {
 	my ( $self, %conf ) = @_;
@@ -991,7 +991,7 @@ Travel::Routing::DE::EFA - unofficial interface to EFA-based itinerary services
 
 =head1 VERSION
 
-version 2.16
+version 2.17
 
 =head1 DESCRIPTION
 
@@ -1262,7 +1262,7 @@ None known.
 
 =head1 AUTHOR
 
-Copyright (C) 2009-2015 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt>
+Copyright (C) 2009-2018 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt>
 
 =head1 LICENSE
 
diff --git a/lib/Travel/Routing/DE/EFA/Route.pm b/lib/Travel/Routing/DE/EFA/Route.pm
index 59d0fa8801c7795accac09fce3e2492c3cc0e3e4..d1d2f311ebdfca4cc5153863c3902810913f4118 100644
--- a/lib/Travel/Routing/DE/EFA/Route.pm
+++ b/lib/Travel/Routing/DE/EFA/Route.pm
@@ -8,7 +8,7 @@ use parent 'Class::Accessor';
 
 use Travel::Routing::DE::EFA::Route::Part;
 
-our $VERSION = '2.16';
+our $VERSION = '2.17';
 
 Travel::Routing::DE::EFA::Route->mk_ro_accessors(
 	qw(duration ticket_text ticket_type fare_adult fare_child vehicle_time));
@@ -52,7 +52,7 @@ Travel::Routing::DE::EFA::Route - Single route (connection) between two points
 
 =head1 VERSION
 
-version 2.16
+version 2.17
 
 =head1 DESCRIPTION
 
diff --git a/lib/Travel/Routing/DE/EFA/Route/Message.pm b/lib/Travel/Routing/DE/EFA/Route/Message.pm
index af8d32f2582d2e1284f96721d745759af3adc2ce..7410614390aaefdeccd209560a70a725076ffa55 100644
--- a/lib/Travel/Routing/DE/EFA/Route/Message.pm
+++ b/lib/Travel/Routing/DE/EFA/Route/Message.pm
@@ -6,7 +6,7 @@ use 5.010;
 
 use parent 'Class::Accessor';
 
-our $VERSION = '2.16';
+our $VERSION = '2.17';
 
 Travel::Routing::DE::EFA::Route::Message->mk_ro_accessors(
 	qw(is_detailed summary subject subtitle raw_content));
@@ -58,7 +58,7 @@ route or route part.
 
 =head1 VERSION
 
-version 2.16
+version 2.17
 
 =head1 DESCRIPTION
 
diff --git a/lib/Travel/Routing/DE/EFA/Route/Part.pm b/lib/Travel/Routing/DE/EFA/Route/Part.pm
index c9ebfd9fb22da782cdc483f5e93776379cea669c..051594c44a64ed33c8889a2b1b75ca9f96d9c99e 100644
--- a/lib/Travel/Routing/DE/EFA/Route/Part.pm
+++ b/lib/Travel/Routing/DE/EFA/Route/Part.pm
@@ -6,7 +6,7 @@ use 5.010;
 
 use parent 'Class::Accessor';
 
-our $VERSION = '2.16';
+our $VERSION = '2.17';
 
 Travel::Routing::DE::EFA::Route::Part->mk_ro_accessors(
 	qw(arrival_platform arrival_stop
@@ -154,7 +154,7 @@ points, without interchanges
 
 =head1 VERSION
 
-version 2.16
+version 2.17
 
 =head1 DESCRIPTION
 
diff --git a/lib/Travel/Routing/DE/VRR.pm b/lib/Travel/Routing/DE/VRR.pm
index be504f85a849a26122ea18e261b2f7149af979b1..a318283ca94d49ad42b2e616396b6d6e3e7ff264 100644
--- a/lib/Travel/Routing/DE/VRR.pm
+++ b/lib/Travel/Routing/DE/VRR.pm
@@ -6,7 +6,7 @@ use 5.010;
 
 no if $] >= 5.018, warnings => "experimental::smartmatch";
 
-our $VERSION = '2.16';
+our $VERSION = '2.17';
 
 use parent 'Travel::Routing::DE::EFA';
 
@@ -50,7 +50,7 @@ Travel::Routing::DE::VRR - unofficial interface to the efa.vrr.de German itinera
 
 =head1 VERSION
 
-version 2.16
+version 2.17
 
 =head1 DESCRIPTION