github neos/neos-development-collection 9.0.0

latest release: 9.0.1
3 days ago

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 and node.context.isLive by @ahaeslich in #4074
  • WIP: FEATURE cr:import and cr: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 in MenuItemsImplementation by @ahaeslich in #4134
  • FEATURE: references and backReferences 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 accept DateTimeImmutable by @ahaeslich in #4196
  • FEATURE: Edit, delete and switch workspaces by @dlubitz in #4186
  • BUGFIX: Fix usage of value object ContentStreamId in ContentStreamCommandController 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 to Neos.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 return ContentDimensionValue 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 and countAncestorNodes 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 of ContentDimensionsController 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 and contentstream: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 and backReferenceNodes by @mficzel in #4364
  • 9.0 FEATURE: Add flowQuery operation unique and remove 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 to AfxNode 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() and Neos.Node.isLive() eel helper by @mficzel in #4542
  • FEATURE: Add ContentSubgraphInterface::findClosestNode() by @bwaidelich in #4519
  • BUGFIX: Adjust rawContent mode condition to use renderingMode.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 remove Subtrees 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 via findAncestors 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 and createWithDisallowedNodeTypeNames 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 of Neos.Neos:Page from Neos.Fusion:Template to Neos.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 to NodeTypeCriteria 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 with findNodeByPath 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 and renderCurrentDocumentMetadata 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 in NodeController 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 or catchUpHook in config by @mhsdesign in #4904
  • !!! BUGFIX: Always unset node property, if set to null by @mhsdesign in #4322
  • BUGFIX: DateTime node property with defaultValue 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 to SharedModel 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 to hiddenInMenu 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 and argumentsToBeExcludedFromQueryString 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 from cr: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 of neos/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 and workspaceOwner 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

Full Changelog: http://neos.readthedocs.io/en/9.0/Appendixes/ChangeLogs/900.html

Don't miss a new neos-development-collection release

NewReleases is sending notifications on new releases.