This is the current state of the Project:
The Neos 8.4 release is around the corner. And we decided and back-ported some of the Neos 9.0 Node-Fusion changes like node.aggregateId
.
To turn 8.4 into a fully sound migration preparation update - and as we want to turn the neos/rector
migrations into Fusion Core migrations in Neos.Neos
for Neos 9.0 - i prepared the integration of the Fusion migrations for the 8.4 branch to make them available already for early adopters in Neos 8.4.
This is the initial change: FEATURE: Fusion (EEL) core migrations for new 9.0 API (replaces neos/rector
for Fusion)
Behaviour for Neos 8.4
Introducing a core migration for 8.4 was considered but was found to be too magic as its truly an optional step which makes the code not backwardscompatible to previous neos versions.
Instead the adjustments can be run manually via flow command. They will not add todo comments like the 9.0 migration as those are hardly solveable in Neos 8.4. It will be safe to rerun this migration and also to run the 9.0 migration via flow:core:migrate
when updating.
./flow neos9preparation:preadjustfusion Neos.Demo
(Prepared) Behaviour for Neos 9.0
The change introduces a “disabled” migration which will be enabled during the upmerge to 9.0. The migration “20251005080230” contains all fusion migrations concerning the content repository that currently reside in neos/rector
and were executed with rector.
They will be part of “Neos.Neos” and can be executed as any flow core migration:
flow flow:core:migrate Neos.Demo --version 20251005080230
The comprehensive testsuite for this cr-fusion migration was copied and adjusted from neos/rector
to ensure all replacements work as desired.
Behaviour for Neos 8.4 and 9.0
Neos 8.4 now also migrates the legacy prototypes Neos.Fusion:Attributes
and Neos.Fusion:Collection
in fusion and emits warnings and writes todo comments when there is no automatic way:
this migration will be already be part of the core migrations starting with 8.4 as the fusion objects have been deprecated since ages with replacements available.
Via up-merge they will also be available in Neos 9.0 and thus replace neos/rector
here in the future.
Demonstration that the todo comments are not only written to the files but also output as flow migration warnings. Additionally running the migration twice will not write the todo comments again to avoid having comments stack on top of previous comments - the warnings will still be shown in the terminal.
So far i have worked 2 days on this project in October.
So yes @sebobo this is all going according to my masterplan;)