The first sub-release of eZ Studio 15.12 is available as of February 2nd.
For the release notes of the corresponding (and included) eZ Platform sub-release, see eZ Platform 15.12.1 Release Notes. |
|
|
You can easily upgrade your existing Studio project in version 15.12 (1.0) using Composer.
Start from the project root. First, create a new branch from:
a) your master project branch, or
b) the branch you are upgrading on:
git checkout -b upgrade-1.1.0 |
In case of different localization of the sources, add ezsystems/ezstudio
as an upstream remote:
git remote add ezstudio http://github.com/ezsystems/ezstudio.git |
Then pull the tag into your branch:
git pull ezstudio v1.1.0 |
You will get conflicts, and it is perfectly normal. The most common ones will be on composer.json
and composer.lock
.
If you get a lot of conflicts (on the |
The latter can be ignored, as it will be regenerated when we execute composer update later. The easiest way is to checkout the version from the tag, and add it to the changes:
git checkout --theirs composer.lock && git add composer.lock |
Conflicts in composer.json
need to be fixed manually. If you're not familiar with the diff output, you may checkout the tag's version, and inspect the changes. It should be readable for most:
git checkout --theirs composer.json && git diff composer.json |
You should see what was changed, as compared to your own version, in the diff output. The 1.1.0 tag changes the requirements for all of the ezsystems/
packages. Those should be left untouched. All of the other changes should be removals of your project's additions. You can use git checkout -p
to selectively cancel those changes:
git checkout -p composer.json |
Answer no
(do not discard) to the requirement changes of ezsystems
dependencies, and yes
(discard) to removals of your changes.
You may also checkout your own composer.json, and run the following commands to update the ezsystems
packages requirements from v1.0.x to v1.1.0:
git checkout --ours composer.json composer require --no-update "ezsystems/ezpublish-kernel:~6.1.0" composer require --no-update "ezsystems/platform-ui-bundle:~1.1.0" composer require --no-update "ezsystems/studio-ui-bundle:~1.1.0" composer require --no-update "ezsystems/ezstudio-demo-bundle:~1.1.0" composer require --no-update "ezsystems/landing-page-fieldtype-bundle:~1.1.0" composer require --no-update "ezsystems/flex-workflow:~1.1.0" composer require --dev --no-update "ezsystems/behatbundle:~6.1.0" # PHP requirement is now 5.5+, and 7.0 is now supported for dev use (see top of this page for requirements link) composer require --no-update "php:~5.5|~7.0" # As there are some bugs with Symfony 2.8, make sure to pull in Symfony 2.7 LTS updates composer require --no-update "symfony/symfony:~2.7.0" # This command will remove platform.php: "5.4.4" as php 5.4 is no longer supported composer config --unset platform.php |
Depending on the local changes you have done, you may get other conflicts: configuration files, kernel...
There shouldn't be many, and you should be able to figure out which value is the right one for all of them:
git add conflicting-file
to add the changesAt this point, you should have a composer.json file with the correct requirements. Run composer update
to update the dependencies.
composer update --with-dependencies ezsystems/ezpublish-kernel ezsystems/platform-ui-bundle ezsystems/repository-forms ezsystems/studio-ui-bundle ezsystems/ezstudio-demo-bundle ezsystems/landing-page-fieldtype-bundle ezsystems/flex-workflow |
In order to restrict the possibility of unforeseen updates of 3rd party packages, we recommend by default that |
Because from this release onwards eZ Platform is compatible only with PHP 5.5 and higher, the update command above will fail if you use an older PHP version. Please update PHP to proceed. |
Once all the conflicts have been resolved, and composer.lock
updated, the merge can be committed. Note that you may or may not keep composer.lock
, depending on your version management workflow. If you do not wish to keep it, run git reset HEAD <file>
to remove it from the changes. Run git commit
, and adapt the message if necessary. You can now test the project, run integration tests... once the upgrade has been approved, go back to master
, and merge the upgrade-1.1.0
branch:
git checkout master git merge upgrade-1.1.0 |