Skip to content

Commit

Permalink
TASK: Add changelog for 8.3.13 [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
Jenkins committed Jan 15, 2025
1 parent 260e886 commit 1aa8d1a
Showing 1 changed file with 131 additions and 0 deletions.
131 changes: 131 additions & 0 deletions Neos.Flow/Documentation/TheDefinitiveGuide/PartV/ChangeLogs/8313.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
`8.3.13 (2025-01-15) <https://github.com/neos/flow-development-collection/releases/tag/8.3.13>`_
================================================================================================

Overview of merged pull requests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`BUGFIX: Fix race-condition when initializing I18n Service <https://github.com/neos/flow-development-collection/pull/3188>`_
----------------------------------------------------------------------------------------------------------------------------

We noticed in our error logs that we had quite a few errors being thrown from ``here <https://github.com/neos/flow-development-collection/blob/``b82054f980913d63aecd917692b4213bf034854a <https://github.com/neos/flow-development-collection/commit/b82054f980913d63aecd917692b4213bf034854a>`_/Neos.Flow/Classes/I18n/Service.php#L256-L257>`_:
```
Call to a member function findBestMatchingLocale() on bool
```

My best guess is that this is due to a race-condition when the service is called for the first time on a host by multiple requests simultaneously.

In general, the pattern of first checking if some value is in the cache, and then reading the value out afterwards without checking it is never safe, as a different process/thread could have removed it.

The safe way is to read the value out once, and verify that it is set correctly (e.g. it should not ``=== false``).

I think there's `a few other places <https://github.com/search?q=repo%3Aneos%2Fflow-development-collection+%22-%3Ecache-%3Ehas%22&type=code>`_ that follow the same unsafe pattern, but I suggest that they are addresses separately from this PR.

I haven't added any tests for this case, but please let me know if you have any ideas of how to test this.


* Packages: ``Flow``

`BUGFIX: Add missing validation labels <https://github.com/neos/flow-development-collection/pull/3431>`_
--------------------------------------------------------------------------------------------------------

When you use Neos.Form and the Neos.Form.FusionRenderer with the File Upload, there’s a chance that the file extension isn’t valid. In that case, the validation error should be displayed, but the labels are in Flow, and the label for the case is missing.

This change adds the missing label for the validation error message.

* Fixes: `#3430 <https://github.com/neos/flow-development-collection/issues/3430>`_

* Packages: ``Flow`` ``FluidAdaptor``

`BUGFIX: Adjust to PHP 8.3 get_parent_class() deprecation <https://github.com/neos/flow-development-collection/pull/3406>`_
---------------------------------------------------------------------------------------------------------------------------

Somehow, https://github.com/neos/flow-development-collection/pull/3351/files only targeted Flow 9.0, but per the docs, Flow 8.3 also supports PHP 8.3.
This is just a backport of these changes.

* Packages: ``Flow``

`BUGFIX: Fix method param type expansion for partial annotation coverage <https://github.com/neos/flow-development-collection/pull/3424>`_
------------------------------------------------------------------------------------------------------------------------------------------

Adjusts the behavior of ``ReflectionService::getMethodParameters()`` such that ``@param`` annotations are mapped to the corresponding method argument based in their _name_ instead of the _index_.

* Fixes: `#3423 <https://github.com/neos/flow-development-collection/issues/3423>`_

* Packages: ``Flow``

`BUGFIX: Don’t load the same files twice in the static resource collection <https://github.com/neos/flow-development-collection/pull/3418>`_
----------------------------------------------------------------------------------------------------------------------------------------------

The second pattern included a 99% subset of the first pattern except the files in the public folders themselves. Therefore all files in subfolders were loaded twice in the ``\\Neos\\Flow\\ResourceManagement\\Collection::getObjects`` method and afterwards also published twice.

In a medium sized project the first pattern loaded 1165 files and the second pattern 1155 which were all duplicates.

An additional change is required to deduplicate paths loaded in the ``Collection`` class to prevent further configuration regressions for cases like this.

* Resolves: `#3417 <https://github.com/neos/flow-development-collection/issues/3417>`_

**Review instructions**

* Delete the ``Web/_Resources/Static`` folder in a demo distribution
* Run ``./flow resource:publish --collection static``
* Reload the Neos backend and all the static resources like JS and CSS should still be there.

* Packages: ``Flow``

`TASK: Correctly mark nullable method parameters as nullable <https://github.com/neos/flow-development-collection/pull/3429>`_
------------------------------------------------------------------------------------------------------------------------------

Replaces `#3427 <https://github.com/neos/flow-development-collection/issues/3427>`_

This PR will correctly mark implicit nullable types as nullable, which will remove deprecation warnings in PHP 8.4.

I've used rector to migrate all occurrences.
https://getrector.com/rule-detail/explicit-nullable-param-type-rector

See also for Neos: https://github.com/neos/neos-development-collection/pull/5433

Note: We should run the rector migration again on 9.0 after upmerging this PR


Thanks to @Benjamin-K for bringing this up and providing the first PR (#3427).

* Packages: ``Cache`` ``Eel`` ``Error.Messages`` ``Flow.Log`` ``Flow`` ``FluidAdaptor`` ``Http.Factories`` ``Utility.Files`` ``Utility.MediaTypes`` ``Utility.ObjectHandling`` ``Utility.OpcodeCache`` ``Utility.Unicode``

`TASK: Uniquify exception codes in Abstract(Template)View <https://github.com/neos/flow-development-collection/pull/3413>`_
---------------------------------------------------------------------------------------------------------------------------

Exception codes are supposed to be unique, so this makes sure those places get a code of their own.

**Upgrade instructions**

If you rely on that exception code (``1359625876``) for whatever reason, consider taking the new codes into account, too:

- ``1359625877``
- ``1359625878``
- ``1359625879``
- ``1359625880``
- ``1359625881``
- ``1359625882``
- ``1359625883``

**Review instructions**

You could check if any of the new codes is in use already, in turn… 😬


* Packages: ``Flow``

`TASK: Use Symfony ConsoleLogger instead of Doctrine <https://github.com/neos/flow-development-collection/pull/3422>`_
----------------------------------------------------------------------------------------------------------------------

Resolves: https://github.com/neos/flow-development-collection/issues/3404

In next minor release (3.9) doctrine/migration will remove the ConsoleLogger
See: https://github.com/doctrine/migrations/pull/1449

To prevent any issues after release of this we replace the ConsoleLogger of doctrine with ConsoleLogger of Symfony.

* Packages: ``Flow``

`Detailed log <https://github.com/neos/flow-development-collection/compare/8.3.12...8.3.13>`_
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0 comments on commit 1aa8d1a

Please sign in to comment.