What's Changed
- 9.0: Content repository merge by @skurfuerst in #3756
- TASK: first attempt at fixing routing for 9.0 by @skurfuerst in #3793
- FEATURE (9.0): adjust legacy node migration to directly work with DBAL instead of ORM and NodeData; create cr:replay command by @skurfuerst in #3794
- 9.0: FEATURE: routing roughly works for the homepage, skeleton of page is shown by @skurfuerst in #3797
- 9.0: FEATURE: first node rendering of the first content collection (still very rudimentary) by @skurfuerst in #3799
- 9.0: Re-Written Dimension Routing by @skurfuerst in #3844
- PSR-12 by @nezaniel in #3813
- ES CR: Reference properties by @nezaniel in #3849
- (9.0) FEATURE: Node Removal to Postgres ContentRepository Adapter (ES CR) by @nezaniel in #3850
- FEATURE: "Legacy" nodedata export/import by @bwaidelich in #3810
- 9.0: Support multiple Content Repository instances, decouple CR from Flow by @skurfuerst in #3848
- 9.0: re-enable postgres development setup by @skurfuerst in #3857
- 9.0: removal of NodeAccessor; first draft of NodeInterface -> final Node by @skurfuerst in #3861
- 9.0 Fix dimension switching by @skurfuerst in #3863
- 9.0: FEATURE: Implement recursive copying of content when translating pages; synchronous projection mode for big speedup by @skurfuerst in #3864
- 9.0: FEATURE: Add Migration Metadata to export format by @bwaidelich in #3869
- 9.0: FEATURE: Legacy migration: Allow target site to be specified/pruned by @bwaidelich in #3870
- 9.0: REFACTOR: simplify NodeTypeConstraints creation by @skurfuerst in #3871
- 9.0: REFACTOR: Rename Neos.ContentRepository to Neos.ContentRepository.Core by @skurfuerst in #3872
- 9.0: TASK: Simplify command handler resolution by @bwaidelich in #3876
- 9.0: BUGFIX: Tweak neos/contentrepository-core composer manifest by @bwaidelich in #3878
- 9.0 FEATURE: Expose variation graph and dimension source in new content repository by @mficzel in #3906
- 9.0: BUGFIX: Adjust remaining Behat tests to Identifier -> Id refactoring by @bwaidelich in #3892
- 9.0: FEATURE: Put initiating user id and creation date into event metadata by @bwaidelich in #3875
- 9.0 !!! REFACTOR: adjust move event structure (breaking event payload change) by @skurfuerst in #3913
- 9.0: BUGFIX: Fix Fusion overrides by @bwaidelich in #3993
- BUGFIX: Fix case of sortBy parameter in UserService by @ahaeslich in #4022
- Fix test fails by @nezaniel in #4040
- Enums by @nezaniel in #4037
- BUGFIX: Fix annotation to enable creation / update of user (settings) by @ahaeslich in #4046
- 9.0: BUGFIX: Fix Neos.ContentRepository.LegacyNodeMigration Behat Tests by @bwaidelich in #4044
- (9.0) BUGFIX: fix error handling root fusion by @skurfuerst in #4047
- (9.0) BUGFIX: improve errors if no site node was found by @skurfuerst in #4049
- (9.0) BUGFIX: fix site:enable and site:disable commands by @skurfuerst in #4048
- (9.0) BUGFIX: Ensure private workspaces appear in the workspace module by @skurfuerst in #4051
- (9.0) BUGFIX: publish individual changes in a workspace by @skurfuerst in #4052
- FEATURE: Add api eel helpers as replacement for
node.context.inBackend
andnode.context.isLive
by @ahaeslich in #4074 - WIP: FEATURE
cr:import
andcr:export commands
by @dlubitz in #4078 - TASK: Remove obsolete tables from new content repository by @mficzel in #4071
- BUGFIX: Fix linting errors and ignore max line length by @bwaidelich in #4079
- FEATURE: Stabilize Content Subgraph API by @bwaidelich in #4076
- !!! FEATURE: Cleanup Subgraph API by @bwaidelich in #4090
- FEATURE: Add
Neos.Dimension
helper by @ahaeslich in #4085 - 9.0: BUGFIX: Fix default dimension resolving by @skurfuerst in #4066
- TASK: consistently use public readonly properties in value objects, instead of getters by @skurfuerst in #4095
- Apply fixes from StyleCI by @bwaidelich in #4109
- 9.0: BUGFIX: fix selecting node(s) in
ReferenceEditor
/ReferencesEditor
by @ahaeslich in #4120 - 9.0 FEATURE: Migrate content dimensions in a running installation by @skurfuerst in #4093
- FEATURE: Add count* queries to Content Subgraph by @bwaidelich in #4124
- 9.0 BUGFIX: Update site properties independent of node name by @ahaeslich in #4107
- TASK: refactor API for findNodeAggregates by @skurfuerst in #4129
- TASK: Remove unused
ReadModelInstantiationTrait
by @bwaidelich in #4128 - ! 9.0 TASK: Unify variable and parameter names (needs DB schema update) by @bwaidelich in #4127
- FEATURE: ContentSubgraph node property value filter by @bwaidelich in #4142
- TASK: Speed up CI build by @bwaidelich in #4110
- BUGFIX: Add
ChangeNodeAggregateName
constraint checks by @bwaidelich in #4146 - ! 9.0 BUGFIX: fix content stream cleanup by @skurfuerst in #4143
- BUGFIX: Fix return type for
itemCollection
inMenuItemsImplementation
by @ahaeslich in #4134 - FEATURE:
references
andbackReferences
FlowQuery operations by @bwaidelich in #4147 - FEATURE: Add creation and modification timestamps to nodes by @bwaidelich in #4102
- FEATURE: Introduce Pagination Value Object by @bwaidelich in #4148
- FEATURE: Allow child and descendant nodes to be ordered by @bwaidelich in #4153
- FEATURE: Overhaul cr CLI commands by @bwaidelich in #4162
- BUGIFX: Check optional array key if exisits in workspace map by @dlubitz in #4165
- TASK: Rework asset usage for current state of CR by @dlubitz in #4088
- 9.0 FEATURE: Check for empty live workspace before import a new content repository by @dlubitz in #4084
- !!! TASK: Remove magic __toString methods from Value Objects by @bwaidelich in #4156
- BUGFIX: Set workspace owner on creation of personal workspace by @dlubitz in #4166
- FEATURE: Merge CR preset and settings in the CR Registry by @bwaidelich in #4172
- TASK: Upmerges by @bwaidelich in #4170
- FEATURE: Set InitiatingUserId from authenticated Neos user by @bwaidelich in #4174
- BUGFIX: Allow installation in Neos < 9.0 by @bwaidelich in #4182
- FEATURE: Import and export of content repositories with assets by @dlubitz in #4181
- BUGFIX: Fix usage of
node.nodeAggregateId
in fluid by @ahaeslich in #4187 - BUGFIX: Mark reference changes as changed by @dlubitz in #4189
- BUGFIX: Deserialize node properties when iterating by @bwaidelich in #4184
- BUGFIX: Fix
DateStringConverter
to also acceptDateTimeImmutable
by @ahaeslich in #4196 - FEATURE: Edit, delete and switch workspaces by @dlubitz in #4186
- BUGFIX: Fix usage of value object
ContentStreamId
inContentStreamCommandController
by @ahaeslich in #4197 - FEATURE: add Eel helper to access Site from SiteNode by @skurfuerst in #4195
- BUGFIX: improve legacy migration logic by @skurfuerst in #4201
- TASK: Update readme after renaming of
ContentRepositoryMigrateCommandController
by @ahaeslich in #4203 - BUGFIX: Fix type errors for configuration backend module by @ahaeslich in #4202
- (9.0) FEATURE: some performance optimizations by @skurfuerst in #4204
- BUGFIX: Ensure cr:migrateLegacyData runs on first try by @skurfuerst in #4235
- FEATURE: Unify Content Subgraph filters by @bwaidelich in #4233
- BUGFIX: Specify default values for the creation timestamp columns by @bwaidelich in #4234
- BUGFIX: clear cache properly when moving nodes by @skurfuerst in #4222
- TASK: Add additional neos 9 steps too flow welcome screen by @crydotsnake in #4216
- BUGFIX: ensure mysql compatibility by shortening index length by @skurfuerst in #4239
- FEATURE: Restrict NodeAggregateId and ContentStreamId to proper length by @dlubitz in #4241
- BUGFIX: Allow events with not existing newWorkspaceOwner by @dlubitz in #4242
- FEATURE: Add
allDimensionValues
toNeos.Dimension
helper by @ahaeslich in #4244 - TASK: remove remaining non used packages by @skurfuerst in #4245
- TASK: remove non-needed migration by @skurfuerst in #4246
- TASK: Update dependencies to Flow/Neos 9.0 by @kdambekalns in #4247
- TASK: Refactor
Neos.Dimension
helper functions to returnContentDimensionValue
by @ahaeslich in #4249 - BUGFIX: fix
./flow site:create
command by @ClaraRuna in #4248 - BUGFIX: enable defaultValue for DateTime properties by @so-grimm in #4250
- FEATURE: Decouple NodeTypeManager from Flow by @nezaniel in #4251
- FEATURE: allow replaying projections only up to a certain point by @skurfuerst in #4261
- BUGFIX: re-fix content stream cleanup by @skurfuerst in #4262
- !!! TASK: Require PHP 8.2 by @dlubitz in #4272
- 9.0 BUGFIX: Adjust file path for trait by @dlubitz in #4273
- !!! BUGFIX: DocumentUriProjection doesn't respect fallback nodes; NodePropertiesWereSet contains affectedDimensionSpacePoints by @skurfuerst in #4266
- 9.0 BUGFIX: Allow NodeUriBuilder beeing proxied by @dlubitz in #4274
- BUGFIX: Use uriPathSuffix from options by @dlubitz in #4275
- 9.0 FEATURE: Persist NodeTypeName in DocumentUriPathProjection by @dlubitz in #4276
- FEATURE: Get ContentRepositoryId of a ContentRepository by ContentRepositoryRegistry by @dlubitz in #4290
- TASK: Update .styleci.yml to use PHP 8.2 by @kdambekalns in #4282
- BUGFIX: do not crash when node already disabled/enabled by @skurfuerst in #4284
- DOCS: Add import example to the 9.0 readme by @mficzel in #4319
- BUGFIX: Adopt member types according base class by @dlubitz in #4332
- BUGFIX: Newly created node not selected by @skurfuerst in #4281
- TASK: Mark Node constructor internal by @bwaidelich in #4318
- FEATURE: 9.0 Implement
ContentSubgraphInterface::findAncestorNodes
andcountAncestorNodes
by @nezaniel in #4349 - TASK: Use command instead of event in Behat scenarios to create root nodes in order to prevent impossible states by @dlubitz in #4335
- 9.0 FEATURE: Allow route resolving of disabled nodes by @dlubitz in #4363
- BUGFIX: Zero dimensional uri paths by @nezaniel in #4329
- FEATURE: Introduce catchup hook for DocumentUriPath projection by @dlubitz in #4309
- !!! 9.0: Serious root nodes by @nezaniel in #4339
- 9.0: Stringable property values by @nezaniel in #4346
- Bugfix:
migratelegacydata
warn if no valid content dimension configuration by @mhsdesign in #4384 - BUGFIX: Provide replacement/insertion as array by @dlubitz in #4391
- BUGFIX: Use $nodeAggregateId->value redirect params in NodesController by @grebaldi in #4390
- BUGFIX: Consistently use correct cr identifier across delegated cr:* commands by @grebaldi in #4400
- BUGFIX: Ignore ORM exceptions in AssetUsageProjection by @bwaidelich in #4403
- FEATURE: PropertyType handle typed arrays
type: array<string>
by @mhsdesign in #4326 - BUGFIX: Remove old CR migrations and adjust referencing migrations by @gradinarufelix in #4240
- TASK: remove asset usage migrations, as they fail under MySQL by @skurfuerst in #4406
- 9.0: try to debug pipeline errors by @skurfuerst in #4407
- BUGFIX: Make ChangeProjection independent from WorkspaceFinder by @bwaidelich in #4411
- FEATURE: Tweak and fix
content:*
CLI commands by @bwaidelich in #4417 - BUGFIX: (Neos.Neos) Restore
show
action ofContentDimensionsController
by @grebaldi in #4395 - FEATURE: Expose id from ContentRepository by @dlubitz in #4310
- BUGFIX: Flush route caches with DocumentUriPathProjection CatchUpHook by @dlubitz in #4382
- BUGFIX: Fix casing of contentStreamId in ContentStreamFinder::findAllIds() by @bwaidelich in #4432
- BUGFIX: Don't set explicit index names in order to prevent duplicates by @bwaidelich in #4431
- !!! TASK: Remove plugin views by @nezaniel in #4330
- !!!FEATURE: (Neos.Neos) Track created nodes in PendingChangesProjection by @grebaldi in #4393
- !!! BUGFIX: Docs references and make Reference::$name a ReferenceName by @mhsdesign in #4368
- TASK: Test create node aggregate with node with tethered child node of invalid configured name by @mhsdesign in #4365
- FEATURE: Allow uriPathSuffix to be specified per site by @dlubitz in #4433
- TASK: Use NodeAddressFactory for NodeAddress creation by @dlubitz in #4440
- TASK: Revert wip nullable PropertyType
type: ?string
by @mhsdesign in #4325 - BUGFIX: Don't allow explicit ordering of projections by @bwaidelich in #4444
- TASK: Remove
contentstream:import
andcontentstream:export
CLI commands by @bwaidelich in #4416 - !!! FEATURE: Overhaul catch up implementation by @bwaidelich in #4405
- Content Repository Test Suite by @nezaniel in #4455
- 9.0 FEATURE: Add flowQuery operations
referenceNodes
andbackReferenceNodes
by @mficzel in #4364 - 9.0 FEATURE: Add flowQuery operation
unique
andremove
for Nodes by @mficzel in #4355 - FEATURE: Progress bar for projection replay by @bwaidelich in #4452
- BUGFIX: Update exception message to use structureadjustments:fix by @ahaeslich in #4491
- BUGFIX: Add type hint to prevent static analysis to fail by @bwaidelich in #4492
- TASK: migrate NodeTypesCommandController by @mhsdesign in #4472
- FEATURE: re-implement nodemigration:migrationcreate command by @crydotsnake in #4459
- TASK #4471 lint distributionintegrity by @mhsdesign in #4473
- TASK: improve codestyle in NodeMigrationCommandController by @crydotsnake in #4494
- !!! FEATURE: Global variables for the Fusion runtime
FusionGlobals
by @mhsdesign in #4425 - TASK: Cleanup & fix workspace cli commands by @ahaeslich in #4465
- FEATURE: Overhaul command constructors by @bwaidelich in #4489
- 90/edit preview mode support v3 review by @mhsdesign in #4521
- !!! FEATURE: Reimplement EditPreviewModes for Neos 9 by @mficzel in #4505
- TASK
requireTetheredDescendantNodeTypesToExist
readability by @mhsdesign in #4481 - TASK: Rename Afx Parsing
Node
toAfxNode
by @mhsdesign in #4528 - TASK: Remove
PropertyCollectionInterface
by @bwaidelich in #4513 - TASK: Add documentation for CLI commands introduced with Neos 9 by @crydotsnake in #4230
- !!! TASK: Cleanup deprecated code in FusionService by @mhsdesign in #4496
- TASK: cleanup (Asset usage) node address by @mhsdesign in #4540
- BUGFIX: PR 4425
FusionGlobals
followup / fix by @mhsdesign in #4527 - TASK: Remove
Neos.Node.inBackend()
andNeos.Node.isLive()
eel helper by @mficzel in #4542 - FEATURE: Add
ContentSubgraphInterface::findClosestNode()
by @bwaidelich in #4519 - BUGFIX: Adjust
rawContent
mode condition to userenderingMode.isEdit
by @ahaeslich in #4546 - TASK: Review of "Node type fallback handling" by @mhsdesign in #4559
- BUGFIX: Fix Neos.ContentRepository.LegacyNodeMigration behat tests by @bwaidelich in #4548
- TASK: remove outdated useless e2e tests by @mhsdesign in #4543
- !!! TASK: Remove
NodeType::getName()
and replace usages by @mhsdesign in #4562 - BUGFIX: Remove Neos
WorkspaceName
by @bwaidelich in #4534 - TASK: Deprecate legacy User Utility by @mhsdesign in #4530
- TASK: NodeType::isOfType allow NodeTypeName as $nodeTypeName by @mhsdesign in #4556
- TASK: Remove
Neos.ContentRepository.Security
by @mhsdesign in #4544 - BUGFIX: FusionExceptionView must use mocked controller context by @mhsdesign in #4569
- !!! FEATURE:
NodeTypeManager
remove NodeType fallback handling by @nezaniel in #4466 - BUGFIX: Add current node to site changes computation by @dlubitz in #4573
- !!! TASK: Remove deprecated Fusion prototypes by @mficzel in #4537
- FEATURE: Refactor login controller and improve translation of flash messages by @pKallert in #4585
- TASK: Rename node migration commands by @dlubitz in #4603
- TASK: Remove legacy directory support for node migrations by @dlubitz in #4602
- TASK: Update nodemigration documentation by @dlubitz in #4604
- TASK: Leverage
findClosestNode
for "Neos.Neos:Document" by @mhsdesign in #4601 - TASK: Update nodemigration documentation by @dlubitz in #4611
- TASK: Remove old node migrations by @dlubitz in #4613
- TASK: Removes EventLog and history module by @markusguenther in #4592
- FEATURE: Add nodemigrations command to list all available node migration by @dlubitz in #4615
- TASK: Migrate
Neos.Neos:FallbackNode
to fusion by @mhsdesign in #4599 - TASK: Cleanup format and remove unused imports by @dlubitz in #4605
- TASK: Removes lastVisitedNode javascript and handling by @markusguenther in #4597
- TASK: Remove fluid error view Neos.Neos/Private/Templates/Error/Index.html by @mhsdesign in #4598
- !!! FEATURE:
Neos.Neos:Site
NodeType by @mhsdesign in #4563 - !!!TASK: Remove NodeTypeManager from NodeType by @kitsunet in #4520
- BUGFIX: Show and apply all changes in workspace review by @ahaeslich in #4588
- 4609 multiple content collection publishing by @nezaniel in #4616
- BUGFIX: Set correct siteNode in WorkspaceController by @ahaeslich in #4627
- TASK:
Workspace::workspaceTitle
is never null by @mhsdesign in #4628 - BUGFIX: Make
Subtree
immutable and removeSubtrees
by @bwaidelich in #4536 - TASK: Remove internal
ContentGraph::findNodeByIdAndOriginDimensionSpacePoint
by @mhsdesign in #4626 - Iterator refactoring by @nezaniel in #4629
- BUGFIX 4608 - tethered site children uri path segment by @nezaniel in #4617
- BUGFIX: Fix
DocumentUriPathProjection
for newly created child nodes of disabled nodes by @bwaidelich in #4640 - TASK: Finalize standalone contentrepository by @mhsdesign in #4644
- TASK: Improve phpstan coverage by @mhsdesign in #4643
- TASK: Command constructor followup to #4489 by @mhsdesign in #4646
- TASK: Render menu prototypes without fluid by @mficzel in #4623
- !!! TASK: Remove NodeSearchServiceInterface and implementation by @mhsdesign in #4555
- TASK: Implement flowQuery
parents
operations viafindAncestors
instead of recursive do while by @mficzel in #4657 - TASK: improve dimension space point documentation by @mhsdesign in #4632
- TASK: Restore functionality of RenderingMode view-helpers by @mficzel in #4652
- 4610 - save thered nodes from disallowedChildnodes structure adjustments by @nezaniel in #4662
- FEATURE: Add additional factory methods
createWithAllowedNodeTypeNames
andcreateWithDisallowedNodeTypeNames
to the nodeTypeConstraints. by @mficzel in #4658 - TASK: Static Node constructor by @bwaidelich in #4667
- TASK: Behat-based Fusion tests (v1) by @bwaidelich in #4651
- BUGFIX: Html prototype is now a ContentComponent by @kitsunet in #4670
- FEATURE: Add
Neos.Node.subgraphForNode()
to EEL helper by @kitsunet in #4664 - TASK: Rewrite Neos.Neos:Shortcut to pure fusion by @mhsdesign in #3372
- TASK: NodeController::show drop support for showInvisible by @kitsunet in #4676
- Sort siblings before reassigning positions by @nezaniel in #4675
- FEATURE 4327 - Expose a subgraph's identity by @nezaniel in #4678
- !!! TASK: Change default value for
body
ofNeos.Neos:Page
fromNeos.Fusion:Template
toNeos.Fusion:Join
by @mficzel in #4654 - BUGFIX 4343 - Apply constraint checks to ChangeNodeAggregateName by @nezaniel in #4661
- BUGFIX: Fix typos in deprecated Fusion object reference by @manuelmeister in #4647
- TASK: Remove legacy
unstructured
node type by @mhsdesign in #4645 - !!! TASK Make NodeType::getPropertyType throw by @mhsdesign in #4480
- FEATURE / BUGFIX - 4663 tethered root children by @nezaniel in #4668
- TASK: Ensure
Neos.Neos:*Menu
prototypes behave according to tests in Neos 9 by @mficzel in #4671 - BUGFIX: broken references in NeosFusionReference.rst by @manuelmeister in #4681
- TASK: Cleanup usage of
NodeTypeConstraintsWithSubNodeTypes
by @mhsdesign in #4679 - TASK: Use new Behat
FlowBootstrapTrait
by @mhsdesign in #4669 - TASK: Add phpstan to all
Neos.ContentRepository*
packages by @mhsdesign in #4650 - !!! TASK: Rename
NodeTypeConstraints
toNodeTypeCriteria
by @bwaidelich in #4551 - !!! TASK: Deprecate and refactor
Neos.Neos:PrimaryContent
by @ahaeslich in #4682 - BUGFIX: Prevent
DocumentUriPathProjection
replay to fail on unknown node types by @ahaeslich in #4696 - BUGFIX: Extract "storage clients" into separate packages by @kdambekalns in #4687
- BUGFIX: SiteDetectionMiddleware continue if no site exists by @mhsdesign in #4558
- TASK: Drop
provide
from template [skip ci] by @kdambekalns in #4700 - TASK: Improve performance of
DocumentUriPathProjection
by @bwaidelich in #4698 - BUGFIX: Adjust Neos.NodeTypes:Page to updated Neos.Neos:Page by @ahaeslich in #4704
- TASK: Fix declared dependencies of Neos.Neos by @mhsdesign in #4713
- TASK: Improve PhpStan By Fixing Flow by @mhsdesign in #4703
- TASK: Add test for nodeType property unset behaviour by @mhsdesign in #4620
- BUGFIX: Neos.NodeTypes prototypes are now ContentComponents by @ahaeslich in #4706
- TASK: Reimplement
workspace:delete
by @mhsdesign in #4720 - BUGFIX:
SiteDetectionMiddleware
should not crash without doctrine migrations by @mhsdesign in #4715 - TASK: Fix documentation of
cr:import
by @dlubitz in #4740 - TASK: Inline
NodeSiteResolvingService
by @mhsdesign in #4737 - BUGFIX: Partially repair convert uris implementation according to some 8.3 tests by @mhsdesign in #4744
- TASK: #4396 prefer renderingMode::isEdit over node::isLive by @mhsdesign in #4733
- TASK: 4305 Mark Serialized commands
@internal
by @mhsdesign in #4757 - TASK: Speed up Behat tests by @mhsdesign in #4750
- TASK: docs and readability of
Node::getProperty
by @mhsdesign in #4328 - TASK: Deterministic projection schema with sensible defaults by @kitsunet in #4730
- BUGFIX: Respect position when ordering nodes by @bwaidelich in #4770
- !!! TASK: Substitute
findChildNodeConnectedThroughEdgeName
withfindNodeByPath
by @mhsdesign in #4755 - TASK: Use DBAL QueryBuilder in
ContentGraph
by @bwaidelich in #4771 - TASK Fix phpstan complains about QueryBuilder::execute return value by @dlubitz in #4789
- BUGFIX Use nodeTypes as method named argument name by @dlubitz in #4805
- BUGFIX: Skip node data processing for invalid properties by @markusguenther in #4807
- TASK: Extends exception message with NodeType name by @markusguenther in #4806
- TASK: Make restrictionrelation less dependent subquery by @kitsunet in #4792
- FEATURE: Add HTTP Status Code to Shortcuts by @pKallert in #4490
- BUGFIX: Fixup #4679 constraints in node references by @mhsdesign in #4798
- TASK: Update neos/eventstore packages to 1.0 by @bwaidelich in #4845
- FEATURE: Content Repository status by @bwaidelich in #4846
- BUGFIX: Fix projection database schema by @bwaidelich in #4847
- TASK: Dont use NodeInfoHelper::renderNode by @mhsdesign in #4860
- BUGFIX: 4824 FusionExceptionView doesnt set editPreviewMode correctly by @mhsdesign in #4827
- !!! TASK: Use integers as lightweight nodeanchorpoints by @kitsunet in #4791
- TASK: Exclude possible EEL helpers residing in
Neos.Ui
as they are internal by @mhsdesign in #4863 - TASK: Verify and optimize FlowQuery operations by @mficzel in #4699
- TASK Cleanup dead code
Neos.Neos:DocumentMetadata
andrenderCurrentDocumentMetadata
by @mhsdesign in #4831 - BUGFIX: NodeTypeManager::overrideNodeTypes root NodeType is always present by @mhsdesign in #4852
- BUGFIX: 4728 fix editor content stream zookeeper by @mhsdesign in #4865
- TASK: Followup #4844 lint Neos.Fusion/Core in 9.0 by @mhsdesign in #4870
- TASK: Improve
flow cr:status
by @mhsdesign in #4853 - TASK: Remove doc generation for dead
Neos\\ContentRepository\\
by @mhsdesign in #4862 - TASK: Remove references to
UnsupportedRequestTypeException
by @mhsdesign in #4858 - FEATURE: Improve User sorting behavior in user management backend module by @crydotsnake in #4443
- TASK: Remove obsolete ember js tests
Neos.Neos/Tests/JavaScript
by @mhsdesign in #4872 - BUGFIX: Sites management new site throws directly when loading by @mhsdesign in #4718
- TASK: #4736 Json serialize Subgraph correctly by @mhsdesign in #4739
- TASK: Use
renderingMode.isEdit
inNodeController
by @mhsdesign in #4874 - TASK: Declare
NodeSubjectProvider
as internal/wip testing utility with no guarantees by @mhsdesign in #4881 - TASK: document and assert Node.nodeName behavior by @mhsdesign in #4469
- TASK: Move welcome.html fluid template to fusion by @mhsdesign in #4880
- !!! TASK: Remove
Neos.Rendering
helper by @mhsdesign in #4861 - FEATURE: Timeable Node Visibility by @dlubitz in #4817
- FEATURE: Migrate hidden states and timeable node visibility by @dlubitz in #4834
- TASK: Followup #3804 remove deprecated fusion object methods by @mhsdesign in #4883
- TASK: remigrate all Neos.Neos fusion files and implementations by @mhsdesign in #4760
- FEATURE: Case-insensitive property value criteria by @bwaidelich in #4725
- TASK: Granularly fix php code according to psr12 by @mhsdesign in #4745
- BUGFIX: Serialised node fully qualified for fusion uncached mode by @mhsdesign in #4734
- !!! FEATURE: Improve escr cli commands by @mhsdesign in #4864
- TASK: Homepage should hide uriPathSegment by @mhsdesign in #4826
- TASK: Followup 4330 remove plugin views by @mhsdesign in #4894
- BUGFIX: Graceful error handling if setup not completed by @mhsdesign in #4717
- TASK: Remove generic
theEventWasPublishedToStreamWithPayload
in tests by @mhsdesign in #4903 - TASK: Node type manager minor refinement by @mhsdesign in #4905
- TASK: Allow to disable
projection
orcatchUpHook
in config by @mhsdesign in #4904 - !!! BUGFIX: Always unset node property, if set to null by @mhsdesign in #4322
- BUGFIX:
DateTime
node property withdefaultValue
by @mhsdesign in #4902 - BUGFIX: Fix static method call in SiteDetectionResult by @bwaidelich in #4923
- TASK: Adjust Code to increased PHPStan level by @bwaidelich in #4924
- BUGFIX: Fix too strict grand-parent NodeType constraints by @mhsdesign in #4361
- FEATURE: Add
PropertyValueCriteriaMatcher
by @mficzel in #4701 - BUGFIX: Fix propertyValueCriteriaMatcherTest by @mficzel in #4926
- BUGFIX: Duplicated content stream in import and export by @mhsdesign in #4914
- FEATURE: Allow
neos/eventstore-doctrineadapter
v2 by @bwaidelich in #4929 - TASK: Reimplement ContentCacheFlush DebugMode and performance improvement by @dlubitz in #4927
- TASK: Declare fusion core classes as internal by @mhsdesign in #4919
- BUGFIX: Reset workspace state to
OUTDATED
after discard by @mficzel in #4932 - TASK: Prevent TimeableNodeVisibility tests to fail in 5 years by @bwaidelich in #4936
- BUGFIX: Set language by dimension in fusion (for translations) by @ClaraRuna in #4931
- FEATURE: move user menu to left drawer by @laurahaenel in #4934
- !!! TASK: Workspace aware commands by @nezaniel in #4708
- BUGFIX: Prevent new events in published content streams by @bwaidelich in #4692
- TASK: Workspace aware commands events migration by @mhsdesign in #4890
- TASK: Add
force
strategy to the rebase workspace command by @mficzel in #4939 - FEATURE: Use CacheTag to generate cache tags and add ContentRepositoryId to cache tag by @dlubitz in #4940
- !!! FEATURE: Subtree Tags by @bwaidelich in #4659
- TASK: Move node creation dialog stuff to the Neos.Neos.Ui by @mhsdesign in #4630
- TASK: Pass ContentStreamId to NodeFactory by @dlubitz in #4941
- !!! TASK: Move
ContentRepositoryId
toSharedModel
namespace by @mhsdesign in #4891 - TASK: Tweak composer scripts by @bwaidelich in #4946
- TASK: Optimise php imports in Neos 9 code by @mhsdesign in #4747
- TASK: Document
ContentRepositoryRegistry::get
by @mhsdesign in #4947 - !!! TASK: Split dimensionspacepoints into separate table to reduce data duplication by @kitsunet in #4790
- BUGFIX: Remove invalid
isDisabledContentShown()
method by @bwaidelich in #4956 - TASK: Make classes readonly where it makes sense by @nezaniel in #4960
- !!! TASK: Forgiving node type manager by @mhsdesign in #4954
- TASK: remove obsolete contentStreamId argument for commands in behat by @mhsdesign in #4967
- BUGFIX: Throw explicit transaction has been marked for rollback only exception by @mhsdesign in #4971
- TASK: Export event cleanup and error handling for catchupd events by @mhsdesign in #4952
- Task/publishing bonanza review by @mhsdesign in #4974
- BUGFIX: #4742 - Interdimensional relatives by @nezaniel in #4961
- FEATURE: Highlevel Workspace API by @nezaniel in #4943
- TASK: 4942 - refactor global transformation commands… by @nezaniel in #4976
- !!! FEATURE: Separate properties from references in NodeType declaration by @nezaniel in #4677
- TASK: Introduce rebase failed exception and deprecate
WorkspaceRebaseFailed
by @nezaniel in #4965 - !!! BUGFIX: Fix schema of hierarchy relation table by @mhsdesign in #5009
- !!! FEATURE: Render
ResponseInterface
directly in Fusion Views by @mhsdesign in #4856 - FEATURE: Improved CLI output for projection replay by @bwaidelich in #5010
- TASK: Adjust types of Neos'
FusionView::assign
by @gjwnc in #5012 - BUGFIX: 4742 - document uri path projection adjustments by @nezaniel in #4975
- BUGFIX: Enforce unique names also for root children by @nezaniel in #4982
- BUGFIX: Catch not completely covered node aggregates by @nezaniel in #4966
- TASK: Allow to enable Fusion caching for Behat tests by @dlubitz in #5014
- FEATURE: Site configuration presets by @bwaidelich in #4735
- !!! TASK: Interdimensional relatives for node move by @nezaniel in #4993
- TASK: Cleanup
EventNormalizer
by @bwaidelich in #5016 - BUGFIX: Fix Subtree tagging CTE implementation by @bwaidelich in #5026
- BUGFIX: Flush node caches when asset has changed by @dlubitz in #4788
- !!! BUGFIX: Actually execute moveSubtreeTags tests and fix moveSubtreeTags by @nezaniel in #5025
- TASK: Change loading of objects notation in behat tests by @dlubitz in #5029
- TASK: Reset
$this->currentWorkspaceName
in behat tests before scenario by @mhsdesign in #5035 - !!! FEATURE: Bind
ContentGraph
to workspace by @kitsunet in #5028 - TASK: Workspace based tests by @nezaniel in #5040
- TASK: Remove legacy cr functional test artifacts by @mhsdesign in #5036
- !!! TASK: Node name consistency adjustments by @nezaniel in #5018
- TASK: WIP Prepare for synchronous content repository by @mhsdesign in #5049
- FEATURE: 9.0 Node access flow query operations by @mhsdesign in #5046
- BUGFIX: Fix
contentgraphintegrity:runviolationdetection
by @mhsdesign in #4948 - FEATURE: workspace aware Node (introduce new
NodeAdress
) by @mhsdesign in #5042 - !!! TASK: Make node label pure neos concept by @mhsdesign in #5020
- !!! TASK: Rename
_hiddenInIndex
tohiddenInMenu
by @kitsunet in #4921 - BUGFIX: Fix broken XLIFF files by @kdambekalns in #5053
- TASK: Document NodeAggregate by @mhsdesign in #4832
- TASK: Combine two
NodeTypeNotFoundExceptions
into one by @mhsdesign in #5048 - FEATURE: Workspace aware content cache by @dlubitz in #5055
- TASK: Remove explicit deprecated command blocking by @mhsdesign in #5059
- !!! TASK: Followup #4520 Introduce
NodeType::tetheredNodeTypeDefinitions
by @mhsdesign in #4906 - TASK: Allow PropertyName in
Node::getProperty
by @mhsdesign in #5052 - TASK: Add workspaceName to nodeAggregate by @mhsdesign in #5063
- !!! FEATURE: Add
workspaceName
to relevant events by @bwaidelich in #5002 - TASK: Remove references to deprecate node read model properties by @mhsdesign in #5066
- BUGFIX: Properly convert legacy MoveNodeMappings by @nezaniel in #5070
- TASK: Remove DbalClient abstraction by @bwaidelich in #5071
- BUGFIX: Fix behat steps by @bwaidelich in #5073
- TASK: Format behat tests by @bwaidelich in #5074
- TASK: Remove shallow
ContentGraphProjection
decorator by @mhsdesign in #5044 - TASK: Make the
ImageInterfaceArrayPresenter
required by the ui the … by @mhsdesign in #4637 - TASK: Remove transaction closures from projections by @bwaidelich in #5075
- TASK: 5051 make subgraph not jsonSerializeable by @mhsdesign in #5080
- TASK: Remove usages of
$node->subgraphIdentity->contentStreamId
in structure adjustments by @mhsdesign in #5081 - !!! TASK: Remove concepts
addQueryString
andargumentsToBeExcludedFromQueryString
in Neos by @mhsdesign in #5079 - BUGFIX: Violation detection: Fix selection of node ids by content stream by @bwaidelich in #5087
- BUGFIX: Fix linting error in
ConvertUrisImplementation
by @bwaidelich in #5094 - BUGFIX: Fix composer manifest by @bwaidelich in #5095
- TASK: Cleanup and stabilize
Neos.ContentGraph.DoctrineDbalAdapter
by @bwaidelich in #5088 - FEATURE: Add
NodeAggregateId::tryFromString()
constructor by @bwaidelich in #5098 - TASK: Cosmetic cleanup of
DoctrineDbalContentGraphProjection
by @bwaidelich in #5092 - BUGFIX AssetUsage in MediaBrowser by @dlubitz in #5106
- Fix PHPStan baseline by @bwaidelich in #5112
- BUGFIX: fix behat configuration template folder path in README.rst by @crydotsnake in #5110
- FEATURE: Update PHP Version in Behat Test docker file by @pKallert in #5120
- !!! TASK: Move workspace module to separate package by @ahaeslich in #5118
- FEATURE: Link Neos logo in modules to primary module by @Sebobo in #5126
- TASK: Unify naming of contentRepositoryIdentifier to contentRepository in ESCR CLI commands by @crydotsnake in #5115
- TASK: Upgrade to FontAwesome 6.5.2 by @wiegandj in #5108
- TASK: Remove i18n labels that are obsolete after neos/neos-ui#3759 by @grebaldi in #4990
- FEATURE: Improve site:list command by @crydotsnake in #5135
- TASK: Use correct @template-covariant tag for ProjectionFactoryInterface by @mhsdesign in #5099
- TASK: Tweak README by @kdambekalns in #5137
- TASK: Remove
--reset-projections
flag fromcr:setup
command by @bwaidelich in #5089 - TASK: Consolidate contributing file by @kdambekalns in #5141
- TASK: Remove
createSitePackage
action by @mhsdesign in #5139 - BUGFIX: Flush node content caches without workspace name by @dlubitz in #5122
- BUGFIX Workspace aware NodeCacheEntryIdentifier by @dlubitz in #5083
- !!! TASK: Make kickstart:site command work with Neos 9.0 by @ahaeslich in #5136
- BUGFIX: Fix content cache for discard, revert #5083 for now by @mhsdesign in #5163
- !!! FEATURE: Overhaul node uri building by @mhsdesign in #4892
- FEATURE: NodeMigration with target workspace by @dlubitz in #4685
- TASK: Use
8.4.x-dev
ofneos/flow-development-collection
by @ahaeslich in #5165 - BUGFIX: Dont initialize $currentContentStreamId by default in behat tests by @mhsdesign in #5162
- !!! TASK: Refactor
Node
property mapper to use new NodeAddress by @mhsdesign in #5068 - FEATURE: Separate properties and references in Neos UI by @pKallert in #5156
- !!! TASK: Remove
Node::nodeType
by @mhsdesign in #5021 - BUGFIX Disable uriPathSegment Validation on Hompage by @wolffc in #5172
- TASK: Update textarea docs to latest version by @dlubitz in #5170
- FEATURE: Support doctrine/dbal 2.x and 3.x by @bwaidelich in #5174
- Merge: 8.3 to 9.0 and fix DBAL compatibility issues by @kitsunet in #5176
- !!! TASK: Deprecate setting NodeNames via cr commands by @mhsdesign in #5082
- TASK: Use collection value objects in content graph instead of
iterable
by @mhsdesign in #5157 - BUGFIX: Improve output of
PropertyCannotBeSet
exception by @c4ll-m3-j4ck in #5173 - !!! TASK: streamline
NodeReferencesWereSet::$nodeAggregateId
by @mhsdesign in #5153 - !!! TASK: Raise doctrine/dbal version constraint by @kitsunet in #5161
- TASK: 5034 fully completely workspace aware behat tests by @mhsdesign in #5169
- BUGFIX: Change workspace runs into endless while-loop by @pKallert in #5184
- TASK: Remove deprecated beta10 apis by @mhsdesign in #5168
- !!! TASK: Streamline
ContentGraph::findRootNodeAggregateByType
by @mhsdesign in #5158 - BUGFIX: Implement document uri path placeholders by @nezaniel in #5078
- !!! FEATURE: Stabilize WorkspaceName value object by @bwaidelich in #5193
- FEATURE: Expose content repository ids from registry by @bwaidelich in #5194
- FEATURE: Custom label for auto created child nodes by @dfeyer in #530
- TASK: Add migration for workspaceName constraints by @dlubitz in #5202
- BUGFIX: Improve invalid WorkspaceName exception message by @bwaidelich in #5204
- !!! BUGFIX: Consider entry node when filtering in reference editor by @mhsdesign in #5195
- BUGFIX: Optimize queries for subtree tags by @dlubitz in #5211
- TASK: Case sensitive migration and migration of baseWorkspaceName by @dlubitz in #5205
- BUGFIX: Ensure a valid target workspace name in node migrations by @dlubitz in #5212
- BUGFIX: Adjust service templates for references by @kitsunet in #5216
- BUGFIX 5218 - declare dependency of Registry on StructureAdjustments by @nezaniel in #5219
- BUGFIX 5222 - use valid workspace name substitutes by @nezaniel in #5223
- BUGFIX: cr:projectionReplay cli progress advancing by @mhsdesign in #5214
- BUGFIX: Make URI suffix configurable for the ESFrontendNode RoutePart by @nezaniel in #5224
- FEATURE: Overhaul ContentCacheFlusher by @dlubitz in #5221
- TASK: Streamline workspacename fields by @dlubitz in #5233
- BUGFIX: #5234 Display site-name on neos login view by @crydotsnake in #5236
- TASK: Rename parent nodes to ancestor nodes and improve ancestor determination by @dlubitz in #5235
- TASK: Add and enforce
strict_type
declarations by @bwaidelich in #5240 - TASK: Update GitHub actions by @dlubitz in #5238
- TASK: Make single-field Value Objects stringable by @bwaidelich in #5241
- BUGFIX: Mark projection as stale after applying an event. by @dlubitz in #5242
- TASK: Adjust to Flow Controller changes by @kitsunet in #4738
- FEATURE: extract content subgraph inmemory caching by @skurfuerst in #5244
- TASK: remove ui script tag neos 9 followup by @mhsdesign in #5225
- TASK: Split up EmbedsContentStreamAndNodeAggregateId interface by @dlubitz in #5226
- TASK: 5243 remove ContentGraphFinder runtime cache by @mhsdesign in #5246
- TASK: Improve JSON error handling by @bwaidelich in #5196
- TASK: Improve error messages in case old transformations have been used by @dlubitz in #5251
- TASK: Improve performance on content cache flush by @dlubitz in #5229
- BUGFIX: Flush content cache on rebase workspace by @dlubitz in #5254
- FEATURE: Add UpdateRootNodeAggregateDimensions as transformation by @dlubitz in #5256
- TASK: Add indices to improve parent/child query performance by @kitsunet in #5257
- BUGFIX: Remove default value for subtreetags to fix MySQL support by @bwaidelich in #5253
- TASK: Remove obsolete content cache flusher unit test by @dlubitz in #5263
- TASK: Remove moveDimensionSpacePoint and refreshRootNodeDimensions command actions by @dlubitz in #5259
- TASK: Check against LiveWorkspaceName Instead Of Comparing CS Ids by @mhsdesign in #5149
- TASK: Streamline value object mapping usages by @mhsdesign in #5260
- BUGFIX: 5265 - Ignore null values in SearchTermMatcher by @nezaniel in #5266
- BUGFIX: Handle non-existing workspaces gracefully by @dlubitz in #5270
- !!! FEATURE: AssetUsage as CatchUpHook by @dlubitz in #5258
- BUGFIX: Improve performance on find*Aggregates by @dlubitz in #5268
- BUGFIX: Prevent augmenter from applying data of multiple nodes into the same element by @mhsdesign in #5278
- !!! FEATURE: Extract workspace metadata and user-assignment to Neos by @bwaidelich in #5146
- TASK: Remove
workspaceTitle
,workspaceDescription
andworkspaceOwner
use from behat core tests by @bwaidelich in #5271 - FEATURE: Deprecate
WorkspaceFinder
and introduce new API by @mhsdesign in #5279 - !!! TASK: Remove leftovers from magic underscore access for internal node properties by @mhsdesign in #5015
New Contributors
- @ClaraRuna made their first contribution in #4248
- @wiegandj made their first contribution in #5108
- @wolffc made their first contribution in #5172
- @c4ll-m3-j4ck made their first contribution in #5173
Full Changelog: http://neos.readthedocs.io/en/9.0/Appendixes/ChangeLogs/900.html