That is a memorable release, full of features expected since a long time.
That was logical to ask for them, when previous milestone was accomplished.
But apparently, they could not be done quickly.
And there are a lot of quality of life improvements.
Indeed, texture cache, GN physics, assets custom repository.
But also, Lists nodes, Bundlles as geometry data, Node Tools as python operator, Bevel node, Thin Wall mode, new GP materials allowing new GP brushes, Loop tools by default, Scene Project brush, New compositing nodes relative Scene objects, converting 3D space to Screenspace and reciprocal…
And the quality of life improvements :
capture attribute node supporting selection, Transfer Attributes node, Empty Objects supporting modifiers, Cast Shadow option for world, render output saving disabling, copying of shadow/light linking, Time node and Boolean/Vector Input nodes for shading nodes, removing of some EEVEE limits, Move to Layer GP operator that shows tree structure, Playback loop modes, Duplicate and Rename operator for rigging, snapping to lattice, select through back face culled faces, snap base for UV editing, select overlap on UV Islands, unwrapping on original bounding box, good interpolation of attributes while merging or remeshing, focus on active object in Outliner, improved grouping and ungrouping of nodes, searchable AOVs in AOV ouput, Image drop in World shader creating an Environment texture,…and no more confirmation to enter Dyntopo.
A lot of things, users thought about at first try, are finally there.
That is a release with a better UX, easier to work with.
And it has a lot of fundamentals allowing to create better node assets and addons to share.