{"data":{"id":"magento2-40889","source":"github-pr","sourceRef":"magento/magento2#40889","title":"`Using null as an array offset is deprecated, use an empty string instead` when editing global design config scope","pr":{"number":40889,"url":"https://github.com/magento/magento2/pull/40889","author":"hostep","mergedAt":"2026-07-17T09:36:18Z","mergeCommit":"ae23a4101bb09aa5747aa5b4902e7134f0d10870","headCommit":"b0358156885000ade0e4ce5ccbf376bc18c36aa3","baseRef":"2.4-develop","diffSha256":"8932c389499014573168248b9dc055fe0323c95614a3c6ce0f38ace3ef6e6e59"},"issues":[{"number":40886,"url":"https://github.com/magento/magento2/issues/40886","title":"`Using null as an array offset is deprecated, use an empty string instead` when editing global design config scope","labels":["Area: Content / CMS","Component: Config","Issue: Confirmed","Priority: P1","Progress: PR Created","Reported on 2.4.9","Reproduced on 2.4.x"],"kind":"human"}],"fixedIn":null,"containingTags":[],"reportedOn":"2.4.9","codeMatch":{"2.4.6":"conflict","2.4.6-p1":"conflict","2.4.6-p2":"conflict","2.4.6-p3":"conflict","2.4.6-p4":"conflict","2.4.6-p5":"conflict","2.4.6-p6":"conflict","2.4.6-p7":"conflict","2.4.6-p8":"conflict","2.4.6-p9":"conflict","2.4.6-p10":"conflict","2.4.6-p11":"conflict","2.4.6-p12":"conflict","2.4.6-p13":"conflict","2.4.6-p14":"conflict","2.4.6-p15":"conflict","2.4.7":"conflict","2.4.7-p1":"conflict","2.4.7-p2":"conflict","2.4.7-p3":"conflict","2.4.7-p4":"conflict","2.4.7-p5":"conflict","2.4.7-p6":"conflict","2.4.7-p7":"conflict","2.4.7-p8":"conflict","2.4.7-p9":"conflict","2.4.7-p10":"conflict","2.4.8":"conflict","2.4.8-p1":"conflict","2.4.8-p2":"conflict","2.4.8-p3":"conflict","2.4.8-p4":"conflict","2.4.8-p5":"conflict","2.4.9":"clean"},"affectedVersions":["2.4.9"],"components":["magento/framework"],"files":[{"path":"lib/internal/Magento/Framework/App/Config/ScopeCodeResolver.php","change":"modified","package":"magento/framework"}],"stripped":{"tests":["lib/internal/Magento/Framework/App/Test/Unit/Config/ScopeCodeResolverTest.php"],"docs":[],"outsideCode":[]},"linesChanged":4,"mergeBatched":false,"excluded":null,"sections":{"description":"HTTP 500 error returned. In developer mode the error below is shown:\n```\n1 exception(s):\nException #0 (Exception): Deprecated Functionality: Using null as an array offset is deprecated, use an empty string instead in /var/www/html/vendor/magento/framework/App/Config/ScopeCodeResolver.php on line 62\n```","stepsToReproduce":"Login to the admin and navigate to Content -> Design -> Configuration. Click `Edit` under `Action` on the `Global` scope","expectedResult":"User presented with the design configuration options for the Global scope","actualResult":"HTTP 500 error returned. In developer mode the error below is shown:\n```\n1 exception(s):\nException #0 (Exception): Deprecated Functionality: Using null as an array offset is deprecated, use an empty string instead in /var/www/html/vendor/magento/framework/App/Config/ScopeCodeResolver.php on line 62\n```","source":"issue"},"signatures":["Exception (Exception): Deprecated Functionality: Using null as an array offset is deprecated, use an empty string instead"],"labels":{"area":["Content / CMS"],"component":["Config"],"priority":"P1","severity":null,"reportedOn":["2.4.9"]},"categories":["Content"],"triage":{"model":"@cf/cloudflare/clef","requestHash":"ec9a869966029a1b3b471deaf861566a059763dd29d2ec3593e0a0f06f50a16e","isBugfix":0.9745,"changeKind":{"choice":"bugfix","probabilities":{"bugfix":0.9209,"feature":0.0112,"refactor":0.0303,"tests_only":0.0169,"docs_only":0.0079,"dependency":0.0128},"confidence":0.8194},"scope":{"score":0.4211,"probabilities":{"0":0.641,"1":0.2968,"2":0.0622},"confidence":0.2543},"risk":{"score":0.2533,"probabilities":{"0":0.7802,"1":0.1863,"2":0.0335},"confidence":0.4668},"area":{"choice":"framework","probabilities":{"catalog":0.0066,"checkout":0.0039,"customer":0.0038,"admin":0.1054,"graphql_api":0.0035,"framework":0.8523,"frontend":0.0184,"other":0.0061},"confidence":0.7006},"securityRelevant":0.0079,"reportedVersion":{"choice":"2.4.9","probabilities":{"2.4.0":0.0036,"2.4.0-p1":0.0039,"2.4.1":0.0033,"2.4.1-p1":0.0035,"2.4.2":0.0033,"2.4.2-p1":0.0035,"2.4.2-p2":0.0038,"2.4.3":0.0033,"2.4.3-p1":0.0038,"2.4.3-p2":0.0044,"2.4.3-p3":0.0042,"2.4.4":0.0036,"2.4.4-p1":0.0036,"2.4.4-p10":0.0041,"2.4.4-p11":0.0041,"2.4.4-p12":0.0043,"2.4.4-p13":0.0046,"2.4.4-p14":0.0044,"2.4.4-p15":0.0043,"2.4.4-p16":0.0046,"2.4.4-p17":0.0048,"2.4.4-p18":0.0042,"2.4.4-p2":0.0033,"2.4.4-p3":0.0033,"2.4.4-p4":0.0038,"2.4.4-p5":0.0042,"2.4.4-p6":0.0042,"2.4.4-p7":0.0042,"2.4.4-p8":0.0049,"2.4.4-p9":0.004,"2.4.5":0.0038,"2.4.5-p1":0.0035,"2.4.5-p10":0.0036,"2.4.5-p11":0.0037,"2.4.5-p12":0.0045,"2.4.5-p13":0.0043,"2.4.5-p14":0.0049,"2.4.5-p15":0.0039,"2.4.5-p16":0.0042,"2.4.5-p17":0.0039,"2.4.5-p2":0.0035,"2.4.5-p3":0.0035,"2.4.5-p4":0.0038,"2.4.5-p5":0.0044,"2.4.5-p6":0.0048,"2.4.5-p7":0.0041,"2.4.5-p8":0.0041,"2.4.5-p9":0.0036,"2.4.6":0.0041,"2.4.6-p1":0.0042,"2.4.6-p10":0.0051,"2.4.6-p11":0.0052,"2.4.6-p12":0.0056,"2.4.6-p13":0.0059,"2.4.6-p14":0.0051,"2.4.6-p15":0.0051,"2.4.6-p2":0.0039,"2.4.6-p3":0.0048,"2.4.6-p4":0.0055,"2.4.6-p5":0.0054,"2.4.6-p6":0.0052,"2.4.6-p7":0.0052,"2.4.6-p8":0.0054,"2.4.6-p9":0.0044,"2.4.7":0.0045,"2.4.7-p1":0.0044,"2.4.7-p10":0.0052,"2.4.7-p2":0.0039,"2.4.7-p3":0.0052,"2.4.7-p4":0.0059,"2.4.7-p5":0.0054,"2.4.7-p6":0.0062,"2.4.7-p7":0.0054,"2.4.7-p8":0.0059,"2.4.7-p9":0.0047,"2.4.8":0.0061,"2.4.8-p1":0.0052,"2.4.8-p2":0.0054,"2.4.8-p3":0.0073,"2.4.8-p4":0.0069,"2.4.8-p5":0.0077,"2.4.9":0.6193,"unspecified":0.0141},"confidence":0.378},"backportWorthy":{"score":1.5178,"probabilities":{"0":0.1275,"1":0.2271,"2":0.6454},"confidence":0.2265}},"curated":{"title":"Fixes HTTP 500 when editing the Global design configuration scope on PHP 8.5","description":"On PHP 8.5, Edit on the Global scope under Content > Design > Configuration ends with an HTTP 500 error, as ScopeCodeResolver is using null as an array offset. ScopeCodeResolver::resolve() now uses resolvedScopeCodes only when the scope code is not null, and for a null scope code it will return $resolverScopeCode before resolvedScopeCodes is set.","categories":["Content"],"author":"claude-code/opus-5.5","date":"2026-10-06","reviewedBy":null},"tests":{"2.4.9":{"before":"pass","after":"pass","adapted":false,"runAt":"2026-10-06T09:20:33.980Z","releaseCommit":"755e34dd689021c5165db9d35ecff74f7dc51527","suites":{"unit":{"before":"pass","after":"pass","runAt":"2026-10-06T09:20:33.980Z"}}}}},"_documentation":"https://magento.watch/api","_description":"Upstream fix magento2-40889 details"}