Problem updating from Drupal Core 8.3.7 to 8.4.0 with composer
I had the same issue and here is what worked for me

Requirement : PHP 7.1
Explanation :1. Doctrire, a dependancy of Drupal core, requires PHP 7.1. Doctrine uses the latest PHP 7.1 syntax to declare the methods' return type eg. function my_function() : void {...}. There is a core bug concerning this issue with status "Needs work". Even if this bug is patched, 8.4 requires PHP 7.
2. webflo breaks the chain of dependencies
3. Drupal 8.4 requires Drush 9.0

If you have PHP 7.1 on your server you can do the following:


edit the composer.json file: "drupal/core": "~8.4" and "drush/drush": "~9.0"
delete composer.lock
delete vendor
update webflo: composer require "webflo/drupal-finder ~1.0.0"
update the database: ../vendor/bin/drush updb -y
update the entities schemas: ../vendor/bin/drush entup -y


Applied on three different production servers (Linux + Apache) and on local environments (macOS + Apach, Ubuntu + Apache). Not tested with Vagrant.

The two entity updates are concerning "paragraph entity type" : (1) The Published field needs to be updated. (2) The Behavior settings field needs to be updated.