Bug Description
After migrating a project from Craft CMS 3.7.52 to 5.8.18, new Neo block types can be created and saved successfully. They appear in the Neo field’s block type list/structure in the CP, but they do not appear in the Neo field UI when editing an Entry. No error is logged when viewing the Entry in the Control Panel.
Additional observations:
-
Duplicating a pre-migration block type (that used to work) does not make it appear either.
-
Occasionally, saving a block type or modifying its field layout triggers the following error:
2025-10-07 15:44:48 [web.ERROR] [Error] Error: Attempt to assign property "sortOrder" on null
in /var/www/html/vendor/spicyweb/craft-neo/src/Field.php:438
-
In other cases, saving the block type and assigning fields to its new Field Layout works without error, but the assigned fields still don’t render in the Entry’s Neo field.
-
No CP errors or JS console errors are visible during Entry edit.
-
Issue persists across cache clears and after duplicating existing fields/block types.
Environment (project migrated):
- Craft CMS: 5.8.18 (migrated from 3.7.52)
- Neo: (version unknown; installed via Composer; vendor path indicates
spicyweb/craft-neo)
- PHP: (unknown)
- Database: MySQL 8.0 (assumed), migrated from MySQL 5.7 (project history)
- Install type: Multi-environment; occurs in at least one environment post-migration
If there are known migration steps specific to Neo (e.g., rebuilding block type sort orders or field layout mappings) that must be run between Craft 3.x → 5.x, I couldn’t find error output to guide me.
Steps to reproduce
-
Migrate a Craft CMS 3.7.52 project to Craft CMS 5.8.18 (including database upgrade and Composer dependencies).
-
In the CP, create a new Neo block type within an existing Neo field.
-
Create/assign a Field Layout for this block type and save.
-
Open any Entry that uses this Neo field and try to add a block of the new block type.
- Actual: The new block type does not appear in the add-block UI; its fields do not render.
- Expected: The new block type is available to add, and its fields render in the Entry editor.
-
(Optional) Duplicate a previously working block type from before migration and repeat steps 3–4 → the duplicate also does not appear.
-
(Intermittent) When saving the block type or editing its layout, observe the occasional error:
Error: Attempt to assign property "sortOrder" on null
in vendor/spicyweb/craft-neo/src/Field.php:438
Expected behaviour
No response
Neo version
5.5.2
Craft CMS version
5.8.18
What is the affected Neo field's propagation method?
No response
Does this issue involve templating, and if so, is eager-loading used?
This is not a templating issue
Bug Description
After migrating a project from Craft CMS 3.7.52 to 5.8.18, new Neo block types can be created and saved successfully. They appear in the Neo field’s block type list/structure in the CP, but they do not appear in the Neo field UI when editing an Entry. No error is logged when viewing the Entry in the Control Panel.
Additional observations:
Duplicating a pre-migration block type (that used to work) does not make it appear either.
Occasionally, saving a block type or modifying its field layout triggers the following error:
In other cases, saving the block type and assigning fields to its new Field Layout works without error, but the assigned fields still don’t render in the Entry’s Neo field.
No CP errors or JS console errors are visible during Entry edit.
Issue persists across cache clears and after duplicating existing fields/block types.
Environment (project migrated):
spicyweb/craft-neo)If there are known migration steps specific to Neo (e.g., rebuilding block type sort orders or field layout mappings) that must be run between Craft 3.x → 5.x, I couldn’t find error output to guide me.
Steps to reproduce
Migrate a Craft CMS 3.7.52 project to Craft CMS 5.8.18 (including database upgrade and Composer dependencies).
In the CP, create a new Neo block type within an existing Neo field.
Create/assign a Field Layout for this block type and save.
Open any Entry that uses this Neo field and try to add a block of the new block type.
(Optional) Duplicate a previously working block type from before migration and repeat steps 3–4 → the duplicate also does not appear.
(Intermittent) When saving the block type or editing its layout, observe the occasional error:
Expected behaviour
No response
Neo version
5.5.2
Craft CMS version
5.8.18
What is the affected Neo field's propagation method?
No response
Does this issue involve templating, and if so, is eager-loading used?
This is not a templating issue