diff --git a/.travis.yml b/.travis.yml
index 5a3746fe4a71bf458977c441ee8b7d11110550b5..da7106dffc62fc805cbbddb627474b62fff371de 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,17 +2,29 @@ language: php
 dist: precise
 
 php:
-  # Temporarily disable 5.6 build
-  # - 5.6
   - 7.0
 
+env:
+  global:
 env:
   global:
     - PATH=$PATH:/home/travis/.composer/vendor/bin
+  matrix:
+    - DRUPAL_VERSION=8.3.x-dev
+    - DRUPAL_VERSION=8.4.x-dev
+    - DRUPAL_VERSION=8.5.x-dev
+
+matrix:
+  allow_failures:
+    - php: 7.0
+      env: DRUPAL_VERSION=8.4.x-dev
+  allow_failures:
+    - php: 7.0
+      env: DRUPAL_VERSION=8.5.x-dev
 
 install:
   - composer self-update
-  - composer install --prefer-dist
+  - composer require drupal/core:$DRUPAL_VERSION --prefer-dist
 
 before_script:
   # Start PhantomJS server.
diff --git a/composer.json b/composer.json
index a808b9ac9016273ba9cccfc5b3f0950c6f4465cf..3a01f633887dd894f50a21972620e87b032d6a6a 100644
--- a/composer.json
+++ b/composer.json
@@ -15,9 +15,8 @@
   "require-dev": {
     "nuvoleweb/drupal-component-scaffold": "*",
     "drupal/config_installer": "1.3.0",
-    "drupal/core": "~8",
-    "drupal/console": "0.11.3",
-    "drush/drush": "~8.0",
+    "drupal/console": "~1",
+    "drush/drush": "*",
     "drupal/ds": "~3",
     "drupal/field_group": "~1",
     "drupal/coffee": "~1",
@@ -36,7 +35,8 @@
     "bex/behat-extension-driver-locator": "^1.0",
     "phpro/grumphp": "0.11.4",
     "squizlabs/php_codesniffer": "~2.9",
-    "drupal/coder": "8.2.8"
+    "drupal/coder": "8.2.8",
+    "drupal/core": "8.4.x-dev"
   },
   "conflict": {
     "drupal/drupal": "*"
@@ -52,5 +52,7 @@
       "Drupal\\ui_patterns\\": "src",
       "Drupal\\Tests\\ui_patterns\\": "tests/src"
     }
+  },
+  "require": {
   }
 }