|
| 1 | +======== |
| 2 | +Flow 9.1 |
| 3 | +======== |
| 4 | + |
| 5 | +This release of Flow comes with some great new features, bugfixes and a lot of modernisation of the existing code base. |
| 6 | + |
| 7 | +As usual, we worked hard to keep this release as backwards compatible as possible but, since it's a major release, some of the changes might require manual |
| 8 | +adjustments. So please make sure to carefully read the upgrade instructions below. |
| 9 | + |
| 10 | + |
| 11 | +************ |
| 12 | +New Features |
| 13 | +************ |
| 14 | + |
| 15 | + |
| 16 | +******************** |
| 17 | +Upgrade Instructions |
| 18 | +******************** |
| 19 | + |
| 20 | +This section contains instructions for upgrading your Flow **9.0** |
| 21 | +based applications to Flow **9.1**. |
| 22 | + |
| 23 | +In general just make sure to run the following commands: |
| 24 | + |
| 25 | +To clear all file caches:: |
| 26 | + |
| 27 | + ./flow flow:cache:flush --force |
| 28 | + |
| 29 | +If you have additional cache backends configured, make sure to flush them too. |
| 30 | + |
| 31 | +To apply core migrations:: |
| 32 | + |
| 33 | + ./flow flow:core:migrate <Package-Key> |
| 34 | + |
| 35 | +For every package you have control over (see `Upgrading existing code`_ below). |
| 36 | + |
| 37 | +To validate/fix the database encoding, apply pending migrations and to (re)publish file resources:: |
| 38 | + |
| 39 | + ./flow database:setcharset |
| 40 | + ./flow doctrine:migrate |
| 41 | + ./flow resource:publish |
| 42 | + |
| 43 | +If you are upgrading from a lower version than 9.0, be sure to read the |
| 44 | +upgrade instructions from the previous Release Notes first. |
| 45 | + |
| 46 | +Upgrading your Packages |
| 47 | +======================= |
| 48 | + |
| 49 | +Upgrading existing code |
| 50 | +----------------------- |
| 51 | + |
| 52 | +There have been major API changes in Flow 9.1 which require your code to be adjusted. As with earlier changes to Flow |
| 53 | +that required code changes on the user side we provide a code migration tool. |
| 54 | + |
| 55 | +Given you have a Flow system with your (outdated) package in place you should run the following before attempting to fix |
| 56 | +anything by hand:: |
| 57 | + |
| 58 | + ./flow core:migrate Acme.Demo |
| 59 | + |
| 60 | +This will adjust the package code automatically and/or output further information. |
| 61 | +Read the output carefully and manually adjust the code if needed. |
| 62 | + |
| 63 | +To see all the other helpful options this command provides, make sure to run:: |
| 64 | + |
| 65 | + ./flow help core:migrate |
| 66 | + |
| 67 | +Also make sure to read about the `Potentially breaking changes`_ below. |
| 68 | + |
| 69 | +Inside core:migrate |
| 70 | +^^^^^^^^^^^^^^^^^^^ |
| 71 | + |
| 72 | +The tool roughly works like this: |
| 73 | + |
| 74 | +* Collect all code migrations from packages |
| 75 | + |
| 76 | +* Collect all files from the specified package |
| 77 | +* For each migration |
| 78 | + |
| 79 | + * Check for clean git working copy (otherwise skip it) |
| 80 | + * Check if migration is needed (looks for Migration footers in commit messages) |
| 81 | + * Apply migration and commit the changes |
| 82 | + |
| 83 | +Afterwards you probably get a list of warnings and notes from the |
| 84 | +migrations, check those to see if anything needs to be done manually. |
| 85 | + |
| 86 | +Check the created commits and feel free to amend as needed, should |
| 87 | +things be missing or wrong. The only thing you must keep in place from |
| 88 | +the generated commits is the migration data in ``composer.json``. It is |
| 89 | +used to detect if a migration has been applied already, so if you drop |
| 90 | +it, things might get out of hands in the future. |
0 commit comments