FEATURE: Fusion eel neos deprecation tracer
Requires: https://github.com/neos/flow-development-collection/pull/3386
Related: https://github.com/neos/neos-development-collection/issues/4208 Related: https://github.com/neos/neos-development-collection/issues/5022
Will by default log as "DEBUG" in development context hints if we use deprecated node field access:
24-09-24 18:39:26 97069 DEBUG The Node field "label" is deprecated in "${q(site).property('titleOverride') || site.label}"
24-09-24 18:39:26 97069 DEBUG The Node field "label" is deprecated in "${item.label}"
24-09-24 18:39:26 97069 DEBUG The Node field "identifier" is deprecated in "${node.identifier}"
Upgrade instructions
Review instructions
Checklist
- [ ] Code follows the PSR-2 coding style
- [ ] Tests have been created, run and adjusted as needed
- [ ] The PR is created against the lowest maintained branch
- [ ] Reviewer - PR Title is brief but complete and starts with
FEATURE|TASK|BUGFIX - [ ] Reviewer - The first section explains the change briefly for change-logs
- [ ] Reviewer - Breaking Changes are marked with
!!!and have upgrade-instructions
lol
Tests are failing. Maybe a rebase is needed.
Test are always failing on 8.4 :D ...
but you got a point regarding noes 8.4 vs 9.0 .... currently it doesnt look like well have replacements yet and maybe we should only log deprecations then if there is a replacement.... will retarget this pr for 9.0 and down merge that later ggf.
@Sebobo and me re-evaluated today if we want to backport this for the 8.4 release but we decided that it would be of no gain for our users.
Following problems make the logs invaluable and impractical for Neos 8.x:
- we have no idea in the fusion runtime where the eel expression was defined as this information is not preserved
- we have not migrated our Neos.Neos package to use non deprecated apis - this is not even possible for all cases. The log is thus already swamped with logs from Neos where users have no influence.
- we would need to adjust Neos.Neos as good as possible and also other packages like Neos.Seo and give them a minor release which will be lots of work.
- we could store the information where the eel expression was defined - topic source maps in fusion - and thus ignore all logs from "Neos.*"
-> but users are in the end faced with the same problem we have and will not be able to migrate all cases like
node.context.dimensionsalready to non deprecated syntax as 8.4 lacks the replacements.
While it might be easy for a simple page to satisfy the log - a complex site has no chance to become fully 9.0 compatible and especially not with the mentioned problems above. Thus we will not backport this feature - and thus preventing to swamp our users logs;)