The new features in Craft CMS revolve around improving the developer experience.
collect() instead of
.all() to execute an element query and return the results as a Laravel Collection.
This setup will be more flexible in instances where you are doing eager loading of elements because you no longer have to update your code to iterate over an array.
You could change all of your
.all() instances to
.collect() and all existing code will work.
The Craft CMS team plans to implement multi-factor authentication in a generic way that works for as many implementations as possible. Their aim to have flexible authentication chains so some steps are optional and some are not.
This new feature is already in the Craft 4.0 branch and allows an inactive user status so content can be assigned to users without them yet having access. This feature is aimed at agencies who populate content and create accounts ahead of client hand-off.
A new filter search feature in the element index views of the Craft control panel will allow for more robust filtering of elements.
Custom sources in Craft 4 will allow you to combine different element types into a source that can be shown on the sidebar of element listing screens. You will create a new custom source using the same gear menu and then choose which element types you want to include in the custom source.
Additionally, source settings will be stored in project config, so the settings are transportable across environments.
Craft 4’s expected release date is Q2 2022, with a beta earlier in the year.