Warning: this may come across a little ranty! Up until version 8.3.0, I thought I had solved all my drupal + composer related issues. With the following in composer.json:
"require": {
"drupal/core": "~8.3"
}
I ran composer update. I got v8.3.0-rc2. After some playing around, I changed the above to:
"require": {
"drupal/core": ">8.0"
},
which updates to the latest stable 8.x release. What is going on! Why would the first example not work?
Additionally, downloading Drupal in .zip form, the line reads:
"replace": {
"drupal/core": "~8.3"
},
Why, when nearly every guide recommends putting this line in the 'require' array if you intend on updating via composer?
Furthermore, the widely recommended Drupal Composer Project has the following - perhaps crucial - line:
"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
}
]
I realised early on that without this line, many of my update attempts would fail in some way. Why would this line not be absorbed into the main Drupal distribution?
So many questions, and yet most Drupal + Composer pages across the internet forward us to the general composer website. It seems clear that Drupal is not fully compatible the 'general' composer methodology