Compatibility Version: 31.24250 |
| [{{% ctx %}} Interaction Portal][Interaction Portal] | 2.0.0.24340 | Yes | Major | Yes | The Interaction Portal flows will need to be [upgraded][upgrade flows steps] |
| {{% ctx %}} App Server Install Scripts | 5.1.1.24340 | Yes | Patch | No | |
-| {{% ctx %}} Web App Server Install Scripts | 10.1.0.24340 | Yes | Major | No | Major changes occurred between internal development releases, however, these changes are not breaking between 2024.5 and 2024.7 |
+| {{% ctx %}} Web App Server Install Scripts | 8.0.0.24330 | Yes | Major | No | Major changes occurred between internal development releases, however, these changes are not breaking between 2024.5 and 2024.7 |
+| {{% ctx %}} Upgrade Scripts | 1.2.0.24210 | Yes | Minor | N/A | |
| {{% ctx %}} Licence Fingerprint Generator | 3.1.1.24250 | No | N/A | N/A | |
| {{% ctx %}} Encryption Key Generator | 1.2.0.23470 | No | N/A | N/A | |
| {{% ctx %}} Encryptor | 3.1.0.24330 | Yes | Minor | N/A | |
| {{% ctx %}} Flows Upgrader | 1.2.1.24330 | Yes | Minor | N/A | |
-
-
### Features
#### Performance
##### Reduced the number of license check calls
+Previously, the [{{% ctx %}} Execution Service][] would request to the [{{% ctx %}} Licence Management Service][] whether the license was valid before every flow execution. Now, the [{{% ctx %}} Execution Service][] will only query the license on startup, license added, license removed, and license updated events.
Previously, the [{{% ctx %}} Execution Service][] would request to the [{{% ctx %}} Licence Management Service][] whether the license was valid before every flow execution. Now, the [{{% ctx %}} Execution Service][] will only query the license on startup, license added, license removed, and license updated events.
Affected Components:
diff --git a/content/en/blog/releases/2024.X/2024.9.md b/content/en/blog/releases/2024.X/2024.9.md
new file mode 100644
index 000000000..87de9aae1
--- /dev/null
+++ b/content/en/blog/releases/2024.X/2024.9.md
@@ -0,0 +1,634 @@
+---
+title: "2024.9"
+linkTitle: "2024.9"
+date: 2024-10-07
+author: Paul Arnold ([@paulmarnold](https://twitter.com/paulmarnold))
+---
+
+## Summary
+
+The 2024.9 [Release][] is now available.
+
+## Download Artefacts
+
+Installation artefacts can be requested by raising a case in the [{{% ctx %}} Service Portal][].
+
+## Release Notes
+
+### Overview
+
+2024.9 is the second [Release][] of the next generation of {{% ctx %}} and improves on the [2024.7][] release in the following areas:
+
+* Capability
+* Observability
+* Scalability
+* Security
+* Usability
+* Third-Party Support
+* Installation
+* Upgrade
+* Documentation
+
+This release introduces multiple new features to the {{% ctx %}} platform:
+
+* The concept of [Process and Activity][], which are types of [Flow][], has now been introduced to {{% ctx %}} Gateway.
+* [Saving Output Properties to multiple variables][] is now supported.
+* A new built-in [execution context variable][] has been added to the Flow Engine which contains the initiator.
+* A new [Proxy for the {{% ctx %}} 7 Flow API][] has been added to the platform.
+
+[Observability][] has been improved by [adding logging to blocks that communicate with external systems][Logging added to blocks that communicate with external systems].
+\
+Optimisation to [Scalability][] has also been made by [reducing the total number of NServiceBus endpoints and RabbitMQ queues][Reduction of total number of NServiceBus endpoints and RabbitMQ queues].
+\
+We increased the [Security][] of the platform by:
+
+* [Upgrading the OpenSSL version][Upgrade OpenSSL] shipped with the platform.
+* Added [Multi-domain certificates support][].
+* A [CortexManagementUser for RabbitMQ is now created during upgrade][New CortexManagementUser added to manage RabbitMQ queues].
+* [Server-side validation added to {{% ctx %}} Gateway API][] to prevent [Path Traversal][] attacks.
+* Removal of the [refresh token cookie on sign out][remove refresh token cookie on sign out].
+
+The [Usability][] of the platform has been improved by:
+
+* Renaming the [Flows Charm to Dev and changing the icon][Rename Flows Charm to Dev and change icon].
+* Renaming the [Settings Charm to Admin and changing the icon][Rename Settings Charm to Admin and change icon].
+
+[Third-party Support][] has been improved by [upgrading the platform to .NET 8][Upgrade to .NET 8].
+\
+[Installation][] when [files are blocked by the operating system][Support installation when files are blocked by the operating system] due to the `Zone.Identifier` is now supported.
+\
+The [Upgrade][] process has been improved by:
+
+* [Supporting upgrade when files are blocked by the operating system][Support upgrade when files are blocked by the operating system].
+* Upgrading the [Execution Service when the engine version is unchanged][Execution Service is upgraded when the engine version is unchanged].
+* [Handling of the Execution Services lifecycle events][].
+
+Finally, the [Documentation][] includes updates related to:
+
+* New concepts such as [Process and Activity][Process and Activity Documentation] as well as [Decomposition of Output properties][].
+* [Preventing deadlocks when using semaphores][Prevent deadlocks when using semaphores].
+* [Updating screenshots][screenshots updated] to reflect the new branding.
+* [Flow compatibility version][Flow compatibility version introduced] being added to the release notes.
+* [General improvements to the documentation][].
+
+### Components
+
+| Release Component | Version | Updated | Update Type | Breaking Change | Notes |
+|--------------------------------------------------------------------------------|---------------|---------|---------------|-----------------|--------|
+| [{{% ctx %}} Innovation Core Application][] | 53.0.0.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} API Gateway Service][] | 38.3.0.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Authorisation Service][] | 7.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Concurrency Management Service][] | 7.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Configuration Management Service][] | 7.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Data Storage Service][] | 9.0.13.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Execution Management Service][] | 7.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Licence Management Service][] | 7.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Listeners Service][] | 2.0.0.24430 | Yes | First Release | N/A | |
+| > [{{% ctx %}} Package Management Service][] | 11.0.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Provisioning Service][] | 13.1.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Scheduling Service][] | 7.0.8.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Triggers Service][] | 11.0.0.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| [{{% ctx %}} Innovation Execution Application][] | 24.1.1.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| > [{{% ctx %}} Execution Service][] | 24.1.1.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the reduction of the total number of NServiceBus endpoints and RabbitMQ queues are [breaking][Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues] between 2024.7 and 2024.9 if upgraded on its own |
+| [{{% ctx %}} Gateway][Gateway], including [{{% ctx %}} Studio][] | 12.3.2.24430 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the server-side validation of the APIs are [breaking][Breaking - Server-side validation added to {{% ctx %}} Gateway API] between 2024.7 and 2024.9 |
+| [{{% ctx %}} Blocks Package][Blocks] | 48.2.0.24420 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the upgrade to .NET 8 and are [breaking][Breaking - Upgrade to .NET 8] between 2024.7 and 2024.9 |
+| [{{% ctx %}} Interaction Portal][Interaction Portal] | 2.0.0.24340 | No | N/A | N/A | |
+| {{% ctx %}} App Server Install Scripts | 5.2.3.24430 | Yes | Minor | N/A | |
+| {{% ctx %}} Web App Server Install Scripts | 8.1.1.24420 | Yes | Patch | N/A | |
+| {{% ctx %}} Upgrade Scripts | 1.2.8.24430 | Yes | Patch | N/A | |
+| {{% ctx %}} Licence Fingerprint Generator | 4.1.0.24360 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the upgrade to .NET 8 and are [breaking][Breaking - Upgrade to .NET 8] between 2024.7 and 2024.9 |
+| {{% ctx %}} Encryption Key Generator | 2.0.0.24350 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the upgrade to .NET 8 and are [breaking][Breaking - Upgrade to .NET 8] between 2024.7 and 2024.9 |
+| {{% ctx %}} Encryptor | 3.1.0.24330 | No | N/A | N/A | |
+| {{% ctx %}} Flows Upgrader | 2.0.0.24350 | Yes | Major | Yes | Major changes occurred between releases, these changes are related to the upgrade to .NET 8 and are [breaking][Breaking - Upgrade to .NET 8] between 2024.7 and 2024.9 |
+
+### Features
+
+#### Capability
+
+##### Process and Activity
+
+The [concept of Process and Activity][Process and Activity] has been introduced to the {{% ctx %}} Gateway. This allows for the creation of [Process][] and [Activity][] flows.
+[Processes][Process] are a type of [Flow][] that can contain multiple [Activities][Activity] and are used to model high-level business processes.
+[Activities][Activity] are a type of [Flow][] that can be used to model tasks or actions.
+
+Affected Components:
+
+* [{{% ctx %}} Gateway][Gateway]
+* [{{% ctx %}} Innovation Execution Application][]
+ * [{{% ctx %}} Execution Service][]
+* [{{% ctx %}} Block Packages][Blocks]
+
+##### Saving Output Properties to multiple variables
+
+It is now possible to use the [Expression editor][] for output properties.
+This supports a new [decomposition syntax][] allowing saving selected values from an output property to multiple variables.
+
+Affected Components:
+
+* [{{% ctx %}} Gateway][Gateway]
+* [{{% ctx %}} Innovation Execution Application][]
+ * [{{% ctx %}} Execution Service][]
+
+##### Execution context variable
+
+A new [built-in _executionContext variable][] is now exposed in [processes][process] and [activities][activity].
+The `_executionContext` variable contains the initiator of the flow execution, as well as an `Extensions` property that can be used to store additional information.
+
+Affected Components:
+
+* [{{% ctx %}} Gateway][Gateway]
+* [{{% ctx %}} Innovation Execution Application][]
+ * [{{% ctx %}} Execution Service][]
+
+##### Proxy for the {{% ctx %}} 7 Flow API
+
+A new proxy for the {{% ctx %}} 7 Flow [API][] has been added to simplify migrating to the platform. This allows for the execution of flows using the same [API][] as the one used in {{% ctx %}} 7.
+
+The [API][] includes the following endpoints:
+
+* Encrypt
+* Run Flow
+* Run Flow Asynchronously
+
+By default, the `Run Flow` and `Run Flow Asynchronously` endpoints will run the specified flow within the default package and version.
+To run the flow in a different package and version, the following [APIs][API] have been added to configure mappings between FlowNames and specific package versions:
+
+* Get all mappings
+* Add single mapping
+* Remove single mapping
+* Remove all mappings
+
+Affected Components:
+
+* [{{% ctx %}} Innovation Core Application][]
+ * [{{% ctx %}} API Gateway Service][]
+ * [{{% ctx %}} Listeners Service][]
+ * [{{% ctx %}} Triggers Service][]
+
+#### Observability
+
+##### Logging added to blocks that communicate with external systems
+
+Block logging has been added to blocks that communicate with external systems.
+The following blocks and properties are logged:
+
+* [Execute Data Command][]
+ * [Command][DataCommand]
+* [Execute HTTP Request][]
+ * [HTTPRequest][]
+ * [HTTPResponse][]
+* [Execute SOAP Request][]
+ * [SOAPRequest][]
+ * [SOAPResponse][]
+* [Execute Powershell Script][]
+ * [Script][]
+ * [Parameters][]
+ * [Outputs][]
+ * [Records][]
+* [Execute SSH Command][]
+ * [Command][]
+ * [Response][]
+ * [SSH Logs][]
+
+Affected Components:
+
+* [{{% ctx %}} Innovation Execution Application][]
+ * [{{% ctx %}} Execution Service][]
+* [{{% ctx %}} Block Packages][Blocks]
+
+#### Scalability
+
+##### Reduction of total number of NServiceBus endpoints and RabbitMQ queues
+
+An exercise has been undertaken to reduce the total number of NServiceBus endpoints and RabbitMQ queues in the platform.
+This has been achieved by consolidating the endpoints and queues where possible.
+
+Affected Components:
+
+* [{{% ctx %}} Innovation Core Application][]
+ * [{{% ctx %}} API Gateway Service][]
+ * [{{% ctx %}} Authorisation Service][]
+ * [{{% ctx %}} Concurrency Management Service][]
+ * [{{% ctx %}} Configuration Management Service][]
+ * [{{% ctx %}} Data Storage Service][]
+ * [{{% ctx %}} Execution Management Service][]
+ * [{{% ctx %}} Licence Management Service][]
+ * [{{% ctx %}} Package Management Service][]
+ * [{{% ctx %}} Provisioning Service][]
+ * [{{% ctx %}} Scheduling Service][]
+ * [{{% ctx %}} Triggers Service][]
+* [{{% ctx %}} Innovation Execution Application][]
+ * [{{% ctx %}} Execution Service][]
+
+#### Security
+
+##### Upgrade OpenSSL
+
+The OpenSSL version shipped with the platform has been upgraded to the latest version.
+
+Affected Components:
+
+* {{% ctx %}} App Server Install Scripts
+* {{% ctx %}} Web App Server Install Scripts
+
+##### Multi-domain certificates support
+
+Support for Multi Domain Certificates in HA deployment is now supported.
+
+Affected Components:
+
+* {{% ctx %}} App Server Install Scripts
+* {{% ctx %}} Web App Server Install Scripts
+
+##### New CortexManagementUser added to manage RabbitMQ queues
+
+A new management user for RabbitMQ queues is now created when providing `RabbitMqManagementUser` and `RabbitMqManagementPassword` during installation or upgrade.
+
+Affected Components:
+
+* {{% ctx %}} App Server Install Scripts
+
+##### Server-side validation added to {{% ctx %}} Gateway API
+
+The {{% ctx %}} Gateway [API][] now includes server-side validation to prevent [Path Traversal][] attacks when creating new flows and groups.
+
+Affected Components:
+
+* [{{% ctx %}} Gateway][Gateway]
+
+##### Remove refresh token cookie on sign out
+
+The refresh token cookie is now removed when a user signs out of {{% ctx %}} Gateway, preventing any further use of the token after the user has logged out.
+
+Affected Components:
+
+* [{{% ctx %}} Gateway][Gateway]
+
+#### Usability
+
+##### Rename Flows Charm to Dev and change icon
+
+The Flows Charm has been renamed to Dev and the icon has been changed to reflect this.
+
+Affected Components:
+
+* [{{% ctx %}} Gateway][Gateway]
+
+##### Rename Settings Charm to Admin and change icon
+
+The Settings Charm has been renamed to Admin and the icon has been changed to reflect this.
+
+Affected Components:
+
+* [{{% ctx %}} Gateway][Gateway]
+
+#### Third-party Support
+
+##### Upgrade to .NET 8
+
+The platform has been upgraded to [.NET 8][], allowing us to go to the latest version of [Service Fabric][].
+This was required as .NET 6 will be out of support in November.
+
+{{% alert title="Note" %}}
+Upgrade excludes {{% ctx %}} Gateway as currently on .NET Framework 4.7.2 which is not compatible with .NET 8, and still under long term support.
+{{% /alert %}}
+
+Affected Components:
+
+* [{{% ctx %}} Innovation Core Application][]
+ * [{{% ctx %}} API Gateway Service][]
+ * [{{% ctx %}} Authorisation Service][]
+ * [{{% ctx %}} Concurrency Management Service][]
+ * [{{% ctx %}} Configuration Management Service][]
+ * [{{% ctx %}} Data Storage Service][]
+ * [{{% ctx %}} Execution Management Service][]
+ * [{{% ctx %}} Licence Management Service][]
+ * [{{% ctx %}} Package Management Service][]
+ * [{{% ctx %}} Provisioning Service][]
+ * [{{% ctx %}} Scheduling Service][]
+ * [{{% ctx %}} Triggers Service][]
+* [{{% ctx %}} Innovation Execution Application][]
+ * [{{% ctx %}} Execution Service][]
+* [{{% ctx %}} Block Packages][Blocks]
+* {{% ctx %}} App Server Install Scripts
+* {{% ctx %}} Web App Server Install Scripts
+* {{% ctx %}} Upgrade Scripts
+* {{% ctx %}} Licence Fingerprint Generator
+* {{% ctx %}} Encryption Key Generator
+* {{% ctx %}} Flows Upgrader
+
+##### Upgrade to the latest version of Service Fabric
+
+The latest version of Service Fabric has been included in the artefacts.
+During upgrade, the Service Fabric cluster version will be upgrade to the packaged version in the artefacts.
+
+Affected Components:
+
+* {{% ctx %}} Upgrade Scripts
+
+#### Installation
+
+##### Support installation when files are blocked by the operating system
+
+The installation scripts have been amended to unblock files before running if the operating system has files being blocked by `Zone.Identifier`.
+
+{{% alert title="Note" %}}
+`Zone.Identifier` is a file property that indicates a file was downloaded from the internet and is potentially unsafe. Windows uses this property as a protection feature.
+{{% /alert %}}
+
+Affected Components:
+
+* {{% ctx %}} App Server Install Scripts
+* {{% ctx %}} Web App Server Install Scripts
+
+#### Upgrade
+
+##### Support upgrade when files are blocked by the operating system
+
+The upgrade scripts have been amended to unblock files before running if the operating system has files being blocked by `Zone.Identifier`.
+
+{{% alert title="Note" %}}
+`Zone.Identifier` is a file property that indicates a file was downloaded from the internet and is potentially unsafe. Windows uses this property as a protection feature.
+{{% /alert %}}
+
+Affected Components:
+
+* {{% ctx %}} Upgrade Scripts
+
+##### Execution Service is upgraded when the engine version is unchanged
+
+The Execution Service will now be upgraded when the engine version is unchanged. This is to ensure the upgrade works, including edge cases such as patches.
+
+Affected Components:
+
+* {{% ctx %}} Upgrade Scripts
+
+##### Handling of the Execution Services lifecycle events
+
+The Execution Services handle Service Fabric lifecycle events allowing flows to end gracefully within a defined period.
+This includes a `Graceful Period timeout` and a `Cancel Period Timeout`, both which default to 5 minutes, and are configurable.
+
+Currently, there is no documentation available on how to do this. For further assistance, please raise a case in the [{{% ctx %}} Service Portal][].
+
+Affected Components:
+
+* [{{% ctx %}} Innovation Core Application][]
+ * [{{% ctx %}} API Gateway Service][]
+ * [{{% ctx %}} Configuration Management Service][]
+* [{{% ctx %}} Innovation Execution Application][]
+ * [{{% ctx %}} Execution Service][]
+* [{{% ctx %}} Block Packages][Blocks]
+
+#### Documentation
+
+##### Process and Activity
+
+The [What is a Flow][] documentation has been updated to include information on the new concepts of [Processes][Process] and [Activities][Activity].
+
+##### Decomposition of Output properties
+
+The [What is a Block Property][] documentation has been updated to include information on the new [Decomposition of Output properties][decomposition syntax] feature.
+
+##### Prevent deadlocks when using semaphores
+
+A new section has been added to the documentation explaining how to [prevent deadlocks][] when using semaphores.
+
+##### Screenshots updated
+
+Screenshots within the documentation has been updated to reflect the new branding, including [Blocks][] icons and various [{{% ctx %}} Gateway][] screenshots.
+
+##### Flow compatibility version introduced
+
+The [Flow compatibility version][] has been added to the release notes.
+
+##### General improvements to the documentation
+
+Various improvements have been made to the documentation to improve the overall quality and readability.
+
+### Bug Fixes
+
+#### Capability
+
+##### {{% ctx %}} Gateway encryptor not aligned with Service Fabric
+
+The Encryptor has been aligned between the {{% ctx %}} Gateway and Service Fabric.
+This ensures that encrypted values created with the default key can still be decrypted if a custom private key has been set.
+
+Affected Components:
+
+* [{{% ctx %}} Gateway][Gateway]
+
+#### Upgrade
+
+##### Certificate update does not work after upgrade
+
+A bug has been fixed which prevented the update of certificates after an upgrade.
+
+Affected Components:
+
+* {{% ctx %}} Upgrade Scripts
+
+#### Documentation
+
+##### Missing Platform property in Log Event documentation
+
+The Platform property the the Log Event documentation was missing. This has been added to the documentation.
+
+### Breaking Changes
+
+The following features have introduced breaking changes in the 2024.9 release of the {{% ctx %}} Platform:
+
+#### Upgrade to .NET 8
+
+The platform has been upgraded to [.NET 8][].
+
+#### Reduction of total number of NServiceBus endpoints and RabbitMQ queues
+
+The following feature has changed internal endpoints and queues in the platform, which may cause issues if upgrading from 2024.7 to 2024.9 without upgrading all components at the same time.
+The platform will need to be upgraded using the [Upgrade Instructions][].
+
+#### Server-side validation added to {{% ctx %}} Gateway API
+
+The following feature has added validation to the [{{% ctx %}} Gateway][] API to prevent [Path Traversal][] attacks, which now returns an error if the path is invalid.
+
+### Known Limitations
+
+There are no known limitations added as part of the 2024.9 release of the {{% ctx %}} Platform.
+
+## Version Support
+
+### Operating Systems
+
+| OS Type | Supported Versions |
+|---------|---------------------------------------------------|
+| Windows |
Server 2019
Server 2022
|
+| Linux | Linux is not currently supported |
+
+### 7.X Compatibility
+
+| 7.X Version | Is compatible? | Notes |
+|-------------|----------------|----------------------------------------------|
+| 7.2 | Yes | |
+| 7.1 | No | Need to upgrade 7.1 to 7.2 for compatibility |
+| 7.0 | No | Need to upgrade 7.0 to 7.2 for compatibility |
+
+### Flow Compatibility
+
+| Release | Compatibility Version |
+|---------|-----------------------|
+| 2024.9 | 31.24311 |
+| 2024.7 | 31.24311 |
+| 2024.5 | 31.24311 |
+| 2024.3 | 30 |
+
+## Install Instructions
+
+If you are installing a new 2024.9 platform or adding it to an existing 7.2 Installation see the guidance below; otherwise, if you are upgrading from an existing 2024.7 platform refer to the [Upgrade Instructions][].
+
+Installing {{% ctx %}} Only:
+
+* [Multiple Server - With HA][Innovation Only - Multiple Server - With HA]
+* [Single Server - Without HA][Innovation Only - Single Server - Without HA]
+
+Adding {{% ctx %}} to a 7.2 Installation:
+
+* [Multiple Server - With HA][Adding Innovation to a 7.2 Installation - Multiple Server - With HA]
+* [Single Server - Without HA][Adding Innovation to a 7.2 Installation - Single Server - Without HA]
+
+## Upgrade Instructions
+
+If you are upgrading from an existing 2024.7 platform see the guidance below:
+
+Upgrading {{% ctx %}}:
+
+* [Multiple Server - With HA][Upgrade - Multiple Server - With HA]
+* [Single Server - Without HA][Upgrade - Single Server - Without HA]
+
+## Upcoming Releases
+
+Releases are currently forecast to be made available on:
+
+| Release | Release Type | Forecast Release Date |
+|---------|----------------|------------------------------------|
+| 2024.9 | [Release][] | Week commencing 7th October 2024 |
+| 2024.11 | [Fast Track][] | Week commencing 2nd December 2024 |
+| 2025.1 | [Fast Track][] | Week commencing 10th February 2024 |
+
+[{{% ctx %}} Innovation Core Application]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.MainDoc" version="2024.9" >}}
+[{{% ctx %}} API Gateway Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ApiGatewayService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Authorisation Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.AuthorisationService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Concurrency Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ConcurrencyManagementService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Configuration Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ConfigurationManagementService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Data Storage Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.DataStorageService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Execution Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ExecutionManagementService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Licence Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.LicenceManagementService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Listeners Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ListenersService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Package Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.PackageManagementService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Provisioning Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ProvisioningService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Scheduling Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.SchedulingService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Triggers Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.TriggersService.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Innovation Execution Application]: {{< url path="Cortex.Guides.CortexInnovation.ExecutionApplication.MainDoc" version="2024.9" >}}
+[{{% ctx %}} Execution Service]: {{< url path="Cortex.Guides.CortexInnovation.ExecutionApplication.Services.ExecutionService.MainDoc" version="2024.9" >}}
+[Interaction Portal]: {{< url path="Cortex.Guides.CortexInteractionPortal.MainDoc" version="2024.9" >}}
+
+[Process and Activity]: {{< ref "#process-and-activity" >}}
+[Saving Output Properties to multiple variables]: {{< ref "#saving-output-properties-to-multiple-variables" >}}
+[execution context variable]: {{< ref "#execution-context-variable" >}}
+[Proxy for the {{% ctx %}} 7 Flow API]: {{< ref "#proxy-for-the-cortex-7-flow-api" >}}
+[Observability]: {{< ref "#observability" >}}
+[Logging added to blocks that communicate with external systems]: {{< ref "#logging-added-to-blocks-that-communicate-with-external-systems" >}}
+[Scalability]: {{< ref "#scalability" >}}
+[Reduction of total number of NServiceBus endpoints and RabbitMQ queues]: {{< ref "#reduction-of-total-number-of-nservicebus-endpoints-and-rabbitmq-queues" >}}
+[Security]: {{< ref "#security" >}}
+[Upgrade OpenSSL]: {{< ref "#upgrade-openssl" >}}
+[Multi-domain certificates support]: {{< ref "#multi-domain-certificates-support" >}}
+[New CortexManagementUser added to manage RabbitMQ queues]: {{< ref "#new-cortexmanagementuser-added-to-manage-rabbitmq-queues" >}}
+[Server-side validation added to {{% ctx %}} Gateway API]: {{< ref "#server-side-validation-added-to-cortex-gateway-api" >}}
+[Remove refresh token cookie on sign out]: {{< ref "#remove-refresh-token-cookie-on-sign-out" >}}
+[Usability]: {{< ref "#usability" >}}
+[Rename Flows Charm to Dev and change icon]: {{< ref "#rename-flows-charm-to-dev-and-change-icon" >}}
+[Rename Settings Charm to Admin and change icon]: {{< ref "#rename-settings-charm-to-admin-and-change-icon" >}}
+[Third-party Support]: {{< ref "#third-party-support" >}}
+[Upgrade to .NET 8]: {{< ref "#upgrade-to-net-8" >}}
+[Installation]: {{< ref "#installation" >}}
+[Support installation when files are blocked by the operating system]: {{< ref "#support-installation-when-files-are-blocked-by-the-operating-system" >}}
+[Upgrade]: {{< ref "#upgrade" >}}
+[Support upgrade when files are blocked by the operating system]: {{< ref "#support-upgrade-when-files-are-blocked-by-the-operating-system" >}}
+[Execution Service is upgraded when the engine version is unchanged]: {{< ref "#execution-service-is-upgraded-when-the-engine-version-is-unchanged" >}}
+[Handling of the Execution Services lifecycle events]: {{< ref "#handling-of-the-execution-services-lifecycle-events" >}}
+[Documentation]: {{< ref "#documentation" >}}
+[Process and Activity Documentation]: {{< ref "#process-and-activity-1" >}}
+[Decomposition of Output properties]: {{< ref "#decomposition-of-output-properties" >}}
+[Prevent deadlocks when using semaphores]: {{< ref "#prevent-deadlocks-when-using-semaphores" >}}
+[Screenshots updated]: {{< ref "#screenshots-updated" >}}
+[Flow compatibility version introduced]: {{< ref "#flow-compatibility-version-introduced" >}}
+[General improvements to the documentation]: {{< ref "#general-improvements-to-the-documentation" >}}
+
+[Flow compatibility version]: {{< ref "#flow-compatibility" >}}
+
+[Upgrade Instructions]: {{< ref "#upgrade-instructions" >}}
+
+[{{% ctx %}} Gateway]: {{< url path="Cortex.Guides.Gateway.MainDoc" version="2024.9" >}}
+[Blocks]: {{< url path="Cortex.Reference.Blocks.MainDoc" version="2024.9" >}}
+[What is a Flow]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.MainDoc" version="2024.9" >}}
+[Process]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.Process" version="2024.9" >}}
+[Activity]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.Activity" version="2024.9" >}}
+[What is a Block Property]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.WhatIsABlockProperty.MainDoc" version="2024.9" >}}
+
+[prevent deadlocks]: {{< url path="Cortex.Reference.Concepts.WorkingWith.Concurrency.Semaphores.WhatIsASemaphore.PreventingDeadlocks" version="2024.9" >}}
+
+[Execute Data Command]: {{< url path="Cortex.Reference.Blocks.Data.ExecuteDataCommand.ExecuteDataCommand.MainDoc" version="2024.9" >}}
+[DataCommand]: {{< url path="Cortex.Reference.Blocks.Data.ExecuteDataCommand.ExecuteDataCommand.CommandProperty" version="2024.9" >}}
+
+[Execute HTTP Request]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteHttpRequest.ExecuteHttpRequest.MainDoc" version="2024.9" >}}
+[HttpRequest]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteHttpRequest.ExecuteHttpRequest.HttpRequestProperty" version="2024.9" >}}
+[HttpResponse]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteHttpRequest.ExecuteHttpRequest.HttpResponseProperty" version="2024.9" >}}
+
+[Execute Soap Request]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteSoapRequest.ExecuteSoapRequest.MainDoc" version="2024.9" >}}
+[SoapRequest]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteSoapRequest.ExecuteSoapRequest.SoapRequestProperty" version="2024.9" >}}
+[SoapResponse]: {{< url path="Cortex.Reference.Blocks.Http.ExecuteSoapRequest.ExecuteSoapRequest.SoapResponseProperty" version="2024.9" >}}
+
+[Execute Powershell Script]: {{< url path="Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript.MainDoc" version="2024.9" >}}
+[Script]: {{< url path="Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript.ScriptProperty" version="2024.9" >}}
+[Parameters]: {{< url path="Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript.ParametersProperty" version="2024.9" >}}
+[Outputs]: {{< url path="Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript.OutputsProperty" version="2024.9" >}}
+[Records]: {{< url path="Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript.RecordsProperty" version="2024.9" >}}
+
+[Execute SSH Command]: {{< url path="Cortex.Reference.Blocks.Ssh.ExecuteSshCommand.ExecuteSshCommandBlock.MainDoc" version="2024.9" >}}
+[Command]: {{< url path="Cortex.Reference.Blocks.Ssh.ExecuteSshCommand.ExecuteSshCommandBlock.CommandProperty" version="2024.9" >}}
+[Response]: {{< url path="Cortex.Reference.Blocks.Ssh.ExecuteSshCommand.ExecuteSshCommandBlock.Response" version="2024.9" >}}
+[SSH Logs]: {{< url path="Cortex.Reference.Blocks.Ssh.ExecuteSshCommand.ExecuteSshCommandBlock.SshLogsProperty" version="2024.9" >}}
+
+[Gateway]: {{< url path="Cortex.Guides.Gateway.MainDoc" version="2024.9" >}}
+[Expression Editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.MainDoc" version="2024.9" >}}
+[decomposition syntax]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.WhatIsABlockProperty.DecomposingOutputProperties" version="2024.9" >}}
+
+[.NET 8]: {{< url path="Cortex.Reference.Glossary.A-E.DotNet" >}}
+[API]: {{< url path="Cortex.Reference.Glossary.A-E.API" >}}
+[Service Fabric]: {{< url path="Cortex.Reference.Glossary.P-T.ServiceFabric" >}}
+[built-in _executionContext variable]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.WhatIsAnExecution.ExecutionContext" version="2024.9" >}}
+
+[Innovation Only - Single Server - Without HA]: {{< url path="Cortex.GettingStarted.OnPremise.InstallInnovationOnly.SingleServerWithoutHA.MainDoc" version="2024.9" >}}
+[Innovation Only - Multiple Server - With HA]: {{< url path="Cortex.GettingStarted.OnPremise.InstallInnovationOnly.MultipleServerWithHA.MainDoc" version="2024.9" >}}
+
+[Adding Innovation to a 7.2 Installation - Single Server - Without HA]: {{< url path="Cortex.GettingStarted.OnPremise.AddInnovationTo72.SingleServerWithoutHA.MainDoc" version="2024.9" >}}
+[Adding Innovation to a 7.2 Installation - Multiple Server - With HA]: {{< url path="Cortex.GettingStarted.OnPremise.AddInnovationTo72.MultipleServerWithHA.MainDoc" version="2024.9" >}}
+
+[Upgrade - Single Server - Without HA]: {{< url path="Cortex.Guides.UpgradeCortex.2024.7to2024.9.SingleServerWithoutHA.MainDoc" version="2024.9" >}}
+[Upgrade - Multiple Server - With HA]: {{< url path="Cortex.Guides.UpgradeCortex.2024.7to2024.9.MultipleServerWithHA.MainDoc" version="2024.9" >}}
+[Breaking - Reduction of total number of NServiceBus endpoints and RabbitMQ queues]: {{< ref "#reduction-of-total-number-of-nservicebus-endpoints-and-rabbitmq-queues-1" >}}
+[Breaking - Upgrade to .NET 8]: {{< ref "#upgrade-to-net-8-1" >}}
+[Breaking - Server-side validation added to {{% ctx %}} Gateway API]: {{< ref "#server-side-validation-added-to-cortex-gateway-api-1" >}}
+
+[{{% ctx %}} Studio]: {{< url path="Cortex.Guides.Studio.MainDoc" version="2024.9" >}}
+
+[{{% ctx %}} Service Portal]: {{< url path="Cortex.ServicePortal.MainDoc" version="2024.9" >}}
+
+[Flow]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.MainDoc" version="2024.9" >}}
+
+[Fast Track]: {{< url path="Cortex.Reference.Glossary.F-J.FastTrack" version="2024.9" >}}
+[Release]: {{< url path="Cortex.Reference.Glossary.P-T.Release" version="2024.9" >}}
+
+[2024.7]: {{< url path="Cortex.Blogs.Releases.2024.7.MainDoc" version="2024.9" >}}
+
+[Path Traversal]: {{< url path="Owasp.PathTraversal.MainDoc" version="2024.9" >}}
diff --git a/content/en/docs/2024.9/Guides/cortex-innovation/core-application/services/listeners-service/_index.md b/content/en/docs/2024.9/Guides/cortex-innovation/core-application/services/listeners-service/_index.md
new file mode 100644
index 000000000..3cc2cd206
--- /dev/null
+++ b/content/en/docs/2024.9/Guides/cortex-innovation/core-application/services/listeners-service/_index.md
@@ -0,0 +1,7 @@
+---
+title: "Listeners Service"
+linkTitle: "Listeners Service"
+description: "The Listeners Service."
+---
+
+{{< workinprogress >}}
\ No newline at end of file
diff --git a/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/property-editors/expression-editor.md b/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/property-editors/expression-editor.md
index 102f1fb9f..a1add4898 100644
--- a/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/property-editors/expression-editor.md
+++ b/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/property-editors/expression-editor.md
@@ -264,6 +264,7 @@ Types of expressions:
- [Enums][Enum expressions]
- [Casting][Casting expressions]
- [Indexes][Index expressions]
+- [Decomposition][Decomposition expressions] ([output property][Output Properties] only)
### Arithmetic expressions
@@ -556,6 +557,179 @@ In the examples below assume:
| `($)Structure["SecondKey"][0]` | `1` | The first item within the item with key `"SecondKey"` is returned |
| `($)String[0]` | `'S'` | The first character in the string is returned |
+### Decomposition expressions
+
+{{< figure src="/images/set-variable/set-variable-expression-decomposition.PNG" >}}
+
+Decomposition expressions are used to save selected values from an [Output property][Output properties] to multiple [variables][Variables Concept].
+
+{{% alert title="Note" %}}
+This is currently only supported by output properties.
+{{% /alert %}}
+
+Decomposition syntax follows a similar pattern to a `JSON` object:
+
+- each `key` is the property path expression, where `$` is the root of the output value.
+- each `value` is the variable name, prefixed with `($)`.
+
+```json
+{
+ "$.property.firstPath": ($)FirstVariable,
+ "$.property.secondPath": ($)SecondVariable
+}
+```
+
+The examples below assumes that the output value contains the following data:
+
+``` json
+{
+ "company": {
+ "name": "Company Name",
+ "departments": [
+ {
+ "name": "HR",
+ "employees": [
+ {
+ "name": "Joe Blogs",
+ "id": "101"
+ },
+ {
+ "name": "Jane Doe",
+ "id": "102"
+ }
+ ]
+ },
+ {
+ "name": "Admin",
+ "employees": [
+ {
+ "name": "Jane Blogs",
+ "id": "103"
+ },
+ {
+ "name": "Joe Doe",
+ "id": "104"
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+#### Decomposing an object property
+
+To save the `departments` property, the syntax would be:
+
+```json
+{
+ "$.company.departments": ($)ListOfDepartments
+}
+```
+
+In this example, the variable `($)ListOfDepartments` will be set to the following value:
+
+```json
+[
+ {
+ "name": "HR",
+ "employees": [
+ {
+ "name": "Joe Blogs",
+ "id": "101"
+ },
+ {
+ "name": "Jane Doe",
+ "id": "102"
+ }
+ ]
+ },
+ {
+ "name": "Admin",
+ "employees": [
+ {
+ "name": "Jane Blogs",
+ "id": "103"
+ },
+ {
+ "name": "Joe Doe",
+ "id": "104"
+ }
+ ]
+ }
+]
+```
+
+#### Decomposing an item in a list
+
+To save the first department, the syntax would be:
+
+```json
+{
+ "$.company.departments[0]": ($)FirstDepartment
+}
+```
+
+In this example, the variable `($)FirstDepartment` will be set to the following value:
+
+```json
+{
+ "name": "HR",
+ "employees": [
+ {
+ "name": "Joe Blogs",
+ "id": "101"
+ },
+ {
+ "name": "Jane Doe",
+ "id": "102"
+ }
+ ]
+}
+```
+
+#### Decomposing the last item in a list
+
+To save the last `employee` of the first department, the syntax would be:
+
+```json
+{
+ "$.company.departments[0].employees[-1]": ($)LastEmployeeOfFirstDepartment
+}
+```
+
+In this example, the variable `($)LastEmployeeOfFirstDepartment` will be set to the following value:
+
+```json
+{
+ "name": "Jane Doe",
+ "id": "102"
+}
+```
+
+#### Decomposing multiple properties at the same time
+
+To save the `id` and `name` of the first `employee` of the first department, the syntax would be:
+
+```json
+{
+ "$.company.departments[0].employees[0].id": ($)FirstEmployeeId,
+ "$.company.departments[0].employees[0].name": ($)FirstEmployeeName
+}
+```
+
+In this example, the variable `($)FirstEmployeeId` will be set to the following value:
+
+```json
+"101"
+```
+
+And the variable `($)FirstEmployeeName` will be set to the following value:
+
+```json
+"Joe Blogs"
+```
+
## Remarks
### Known Limitations
@@ -643,8 +817,6 @@ This may change in future to allow developers to specifically select which of th
[Dictionary literal]: {{< ref "#dictionary-literal" >}}
[Structure literal]: {{< ref "#structure-literal" >}}
[List literal]: {{< ref "#list-literal" >}}
-[Conc]: {{< ref "#list-literal" >}}
-[List literal]: {{< ref "#list-literal" >}}
[Concatenated Strings]: {{< ref "#concatenated-strings" >}}
[Interpolated Strings]: {{< ref "#interpolated-strings" >}}
[Verbatim Strings]: {{< ref "#verbatim-strings" >}}
@@ -662,6 +834,7 @@ This may change in future to allow developers to specifically select which of th
[Enum expressions]: {{< ref "#enum-expressions" >}}
[Casting expressions]: {{< ref "#casting-expressions" >}}
[Index expressions]: {{< ref "#index-expressions" >}}
+[Decomposition expressions]: {{< ref "#decomposition-expressions" >}}
[Data Type]: {{< url path="Cortex.Reference.Concepts.Fundamentals.DataTypes.MainDoc" >}}
@@ -687,19 +860,16 @@ This may change in future to allow developers to specifically select which of th
[Double]: {{< url path="Cortex.Reference.DataTypes.Numbers.Double.MainDoc" >}}
[List]: {{< url path="Cortex.Reference.DataTypes.Collections.List.MainDoc" >}}
[Create a List]: {{< url path="Cortex.Reference.DataTypes.Collections.List.CreateNew" >}}
-[Object]: {{< url path="Cortex.Reference.DataTypes.All.Object.MainDoc" >}}
[Single]: {{< url path="Cortex.Reference.DataTypes.Numbers.Single.MainDoc" >}}
[Single.MaxValue]: {{< url path="MSDocs.DotNet.Api.System.Single.MaxValue" >}}
[Single.MinValue]: {{< url path="MSDocs.DotNet.Api.System.Single.MinValue" >}}
[String]: {{< url path="Cortex.Reference.DataTypes.Text.String.MainDoc" >}}
-[Char]: {{< url path="Cortex.Reference.DataTypes.Text.Char.MainDoc" >}}
[Collection]: {{< url path="Cortex.Reference.DataTypes.Collections.MainDoc" >}}
[Structure]: {{< url path="Cortex.Reference.DataTypes.Collections.Structure.MainDoc" >}}
[Create a Structure]: {{< url path="Cortex.Reference.DataTypes.Collections.Structure.CreateNew" >}}
[Workspaces]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Workspaces.MainDoc" >}}
[workspace]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Workspaces.WhatIsAWorkspace.MainDoc" >}}
-[Workspace Scope]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Variables.VariableScopes.MainDoc" >}}
[Variables Concept]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Variables.MainDoc" >}}
[Variables: What Is a Variable]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Variables.WhatIsAVariable.MainDoc" >}}
@@ -712,7 +882,6 @@ This may change in future to allow developers to specifically select which of th
[implicitly cast]: {{< url path="Cortex.Reference.Concepts.WorkingWith.Objects.ObjectCasting.ImplicitCast" >}}
[Blocks]: {{< url path="Cortex.Reference.Blocks.MainDoc" >}}
-[Set Variable]: {{< url path="Cortex.Reference.Blocks.Variables.SetVariable.SetVariable.MainDoc" >}}
[Expression Editor]: {{< url path="Cortex.Guides.Studio.ExpressionEditor.MainDoc" >}}
diff --git a/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/what-is-a-block-property.md b/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/what-is-a-block-property.md
index db71f8032..0fec4c150 100644
--- a/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/what-is-a-block-property.md
+++ b/content/en/docs/2024.9/Reference/Concepts/fundamentals/blocks/block-properties/what-is-a-block-property.md
@@ -33,11 +33,9 @@ Input properties can be configured using the following editors:
{{< figure src="/images/editable/editor-types.png" >}}
-The icons used for Input properties are dark blue to distinguish them from [Output Properties][] or [InputOutput Properties][].
-
### Output Properties
-Output properties are used to save values from a [block][]. These properties will saved to a variable during the block's execution.
+Output properties are used to save values from a [block][]. These properties can be saved to a variable or [decomposed][Decomposing Output Properties] to be saved into multiple variables during the block's execution.
Values from Output properties can be [discarded][Discarding Outputs], this means they will not be saved to any variable.
@@ -49,7 +47,15 @@ Output properties can be configured using the following editors:
{{< figure src="/images/editable/variable-editor.png" >}}
-The icon used for Output properties are light blue to distinguish them from [Input Properties][].
+- [Expression Editor][] using [decomposition][Decomposing Output Properties]
+
+{{< figure src="/images/editable/expression-editor.png" >}}
+
+#### Decomposing Output Properties
+
+Output values can be [decomposed][Decomposition expressions] to allow the saving of different parts of the value to different variables.
+
+To [decompose][Decomposition expressions] an output value, the output property will need to be set to an expression.
#### Discarding Outputs
@@ -116,6 +122,7 @@ None
[Input Properties]: {{< ref "#input-properties" >}}
[Output Properties]: {{< ref "#output-properties" >}}
[InputOutput Properties]: {{< ref "#inputoutput-properties" >}}
+[Decomposing Output Properties]: {{< ref "#decomposing-output-properties" >}}
[Discarding Outputs]: {{< ref "#discarding-outputs" >}}
[All Blocks]: {{< url path="Cortex.Reference.Blocks.MainDoc" >}}
@@ -128,6 +135,7 @@ None
[Literal Editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.LiteralEditor.MainDoc" >}}
[Variable Editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.VariableEditor.MainDoc" >}}
[Expression Editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.MainDoc" >}}
+[Decomposition expressions]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.DecompositionExpressions" >}}
[Fundamentals Data Types]: {{< url path="Cortex.Reference.Concepts.Fundamentals.DataTypes.MainDoc" >}}
diff --git a/content/en/docs/2024.9/Reference/Concepts/fundamentals/executions/what-is-an-execution.md b/content/en/docs/2024.9/Reference/Concepts/fundamentals/executions/what-is-an-execution.md
index b13d9dde7..24b5b691f 100644
--- a/content/en/docs/2024.9/Reference/Concepts/fundamentals/executions/what-is-an-execution.md
+++ b/content/en/docs/2024.9/Reference/Concepts/fundamentals/executions/what-is-an-execution.md
@@ -48,6 +48,48 @@ When a [flow][] starts the execution of a child flow using the [Run Flow][] bloc
| Ended | The execution has ended normally |
| Error | The execution has ended after having thrown an exception that was not handled |
+## Execution Context
+
+Executions have their own context that contains specific information about the current execution. This can be accessed via the built-in `_executionContext` [variable][] and currently contains the following properties:
+
+- [Initiator][]
+- [Extensions][]
+
+### Initiator
+
+The initiator is a read-only property that contains the following information about the user that initiated the execution:
+
+- `Name`: The name of the user that initiated the execution.
+- `AuthenticationType`: The authentication type of the user that initiated the execution.
+- `IsAuthenticated`: A boolean value indicating if the user that initiated the execution is authenticated. This should always be `true`.
+- `Claims`: A list of claims associated with the user that initiated the execution.
+
+The values can be accessed using [property expression][] or dictionary [index expressions][] syntax, as follows:
+
+```csharp
+($)_executionContext.Initiator.Name
+```
+
+```csharp
+($)_executionContext.Initiator["Name"]
+```
+
+### Extensions
+
+The `Extensions` property can be used to store additional information. This data will be accessible to all blocks within the execution, including child executions.
+
+A value can be added to the `Extensions` property using the [expression editor][], using the dictionary [index expressions][] syntax, for example:
+
+```csharp
+($)_executionContext.Extensions["key"] = "value";
+```
+
+The value can be accessed in the same way, for example:
+
+```csharp
+($)_executionContext.Extensions["key"]
+```
+
## Remarks
### Known Limitations
@@ -75,6 +117,8 @@ None
None
[Execution Status]: {{< ref "#execution-status" >}}
+[Extensions]: {{< ref "#extensions" >}}
+[Initiator]: {{< ref "#initiator" >}}
[Executions in Development]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.ExecutionsInDevelopment.MainDoc" >}}
[Executions in Production]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Executions.ExecutionsInProduction.MainDoc" >}}
@@ -98,3 +142,7 @@ None
[Execution Service]: {{< url path="Cortex.Reference.Apis.CortexInnovation.ExecutionApplication.Services.ExecutionService.MainDoc" >}}
[Run Flow]: {{< url path="Cortex.Reference.Blocks.Flows.RunFlow.RunFlow.MainDoc" >}}
+
+[expression editor]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.MainDoc" >}}
+[index expressions]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.IndexExpressions" >}}
+[Property expression]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.PropertyEditors.ExpressionEditor.PropertyExpressions" >}}
diff --git a/content/en/docs/2024.9/Reference/Concepts/fundamentals/flows/what-is-a-flow.md b/content/en/docs/2024.9/Reference/Concepts/fundamentals/flows/what-is-a-flow.md
index 7672bee54..e56d20651 100644
--- a/content/en/docs/2024.9/Reference/Concepts/fundamentals/flows/what-is-a-flow.md
+++ b/content/en/docs/2024.9/Reference/Concepts/fundamentals/flows/what-is-a-flow.md
@@ -9,47 +9,104 @@ weight: 1
## Summary
-A flow is an object in [{{% ctx %}} Studio][CORTEX Studio] that contains the logic and actions (in the form of [blocks][] and [workspaces][]) that is able to be executed on a {{% ctx %}} Innovation platform.
+A flow is an object in [{{% ctx %}} Studio][CORTEX Studio] that contains the logic and actions (in the form of [blocks][] and [workspaces][]) that is able to be executed on a {{% ctx %}} platform.
## Anatomy of a Flow
-{{< figure src="/images/top-level-workspace.svg" title="Example Flow" >}}
-
-* Start Flow block
- * Identifies where the [flow execution][] will start
- * Automatically created when the flow is created
- * Cannot be deleted
- * See [Start Flow][] block
-* Action blocks
- * Performs a specific action
- * Icon on block indicates the nature of the action
- * See [Blocks][Reference Blocks]
-* Decision block
- * Causes the [flow execution][] to branch, dependent on a condition
- * Icon on block indicates type of condition causing branching
- * See [Decision Blocks][Decision Blocks]
-* Workspace blocks
- * Contains grouped flow logic
- * The turndown on the top-right of the icon indicates it contains a [workspace][], which can be opened by double-clicking the icon
- * See [Workspace][Workspace Block] block
-* End Flow block
- * Ends the [flow execution][]
- * Automatically created when the flow is created
- * See [End Flow][] block
-* Handle Flow Exception block
- * Handles [flow level exceptions][], thrown during the [flow execution][]
- * Automatically created when the flow is created
- * The turndown on the top-right of the icon indicates it contains a [workspace][workspaces], which can be opened by double-clicking the icon
- * Cannot be deleted
- * See [Handle Flow Exception][] block
-* Flow Variable Store
- * This is deprecated in favour of the [Variables Grid][]
- * The [Variables Grid][] can be opened by double-clicking the icon, the scope will be set to `Defined (Selected Workspace)`
- * Cannot be deleted
-* Workspace
- * The [Top-Level Workspace][] within the flow
- * Canvas on which blocks are placed and connected to create the flow logic
- * See [Workspace][workspaces]
+There are two types of flows, which are used for different purposes:
+
+* [Process][]
+* [Activity][]
+
+{{% alert title="Note" %}}
+Prior to version 2024.9, there was a single type of flow named `Flow`.
+As of 2024.9, `Flow` has been renamed to `Activity`.
+{{% /alert %}}
+
+### Process
+
+Processes are a type of [Flow][] that can contain multiple [Activities][Activity] and are used to model high-level business processes.
+
+{{< figure src="/images/top-level-workspace-process.svg" title="Example Process" >}}
+
+* Processes flow from left to right
+* Processes can call other processes
+* Processes can call activities
+* Processes only contain a subset of blocks as they are intended to model high-level business processes, not low-level implementation of tasks or actions
+* Processes are optional an automation solution, but are useful for organizing and structuring the logic of a solution
+
+### Activity
+
+Activities are a type of [Flow][] that are used to model low-level tasks or actions.
+
+{{< figure src="/images/top-level-workspace-activity.svg" title="Example Activity" >}}
+
+* Activities flow from top to bottom
+* Activities can call other activities
+* Activities cannot call processes
+* Activities contain all blocks as they are intended to model low-level tasks or actions
+* Activities are required in an automation solution, as they are the building blocks of the solution
+
+## Composition of a Flow
+
+Flows are composed of the following:
+
+* [Workspace][Workspace ref]
+* [Start Flow block][]
+* [Action blocks][]
+* [Decision blocks][Decision blocks ref]
+* [Workspace blocks][]
+* [End Flow block][]
+* [Handle Flow Exception block][]
+
+### Workspace
+
+The [Top-Level Workspace][] within the flow.
+
+* Canvas on which blocks are placed and connected to create the flow logic
+* See [Workspace][workspaces]
+
+### Start Flow block
+
+Identifies where the [flow execution][] will start.
+
+* Automatically created when the flow is created
+* Cannot be deleted
+* See [Start Flow][] block
+
+### Action blocks
+
+Performs a specific action.
+
+* Icon on block indicates the nature of the action
+* See [Blocks][Reference Blocks]
+
+### Decision block
+
+Causes the [flow execution][] to branch, dependent on a condition.
+
+* See [Decision Blocks][Decision Blocks]
+
+### Workspace blocks
+
+Contains grouped flow logic.
+
+* See [Workspace][Workspace Block] block
+
+### End Flow block
+
+Ends the [flow execution][].
+
+* Automatically created when the flow is created
+* See [End Flow][] block
+
+### Handle Flow Exception block
+
+Handles [flow level exceptions][], thrown during the [flow execution][].
+
+* Automatically created when the flow is created
+* Cannot be deleted
+* See [Handle Flow Exception][] block
## Grouping Logic within a Flow
@@ -65,7 +122,7 @@ A [flow execution][flow execution] may be started by:
* [Debugging][] a flow in [{{% ctx %}} Studio][CORTEX Studio]
* Triggering it by making an HTTP request from an external source (e.g. a web application or web hooks)
-* Triggering it using the [Run Flow][] block
+* Triggering it using the [Run Flow][] and [Run Flow Async][] block
* Triggering it using predefined events (future) (e.g. on receipt of an email)
* Scheduling it to execute at predetermined times
@@ -101,6 +158,7 @@ Currently, it is not possible to have a [Handle Workspace Exception][] block on
* [Start Flow][]
* [End Flow][]
* [Run Flow][]
+* [Run Flow Async][]
* [Handle Flow Exception][]
* [Handle Workspace Exception][]
* [Workspace][Workspace Block]
@@ -109,6 +167,18 @@ Currently, it is not possible to have a [Handle Workspace Exception][] block on
None
+[Activity]: {{< ref "#activity" >}}
+[Process]: {{< ref "#process" >}}
+[Flow]: {{< ref "#summary" >}}
+
+[Start Flow block]: {{< ref "#start-flow-block" >}}
+[Action blocks]: {{< ref "#action-blocks" >}}
+[Decision blocks ref]: {{< ref "#decision-block" >}}
+[Workspace blocks]: {{< ref "#workspace-blocks" >}}
+[End Flow block]: {{< ref "#end-flow-block" >}}
+[Handle Flow Exception block]: {{< ref "#handle-flow-exception-block" >}}
+[Workspace ref]: {{< ref "#workspace" >}}
+
[blocks]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.MainDoc" >}}
[Handling Exceptions within a Block]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Blocks.HandlingExceptionsWithinABlock.MainDoc" >}}
[Exceptions]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Exceptions.MainDoc" >}}
@@ -132,6 +202,7 @@ None
[CORTEX Studio]: {{< url path="Cortex.Guides.Studio.MainDoc" >}}
[Debugging]: {{< url path="Cortex.Guides.Studio.Debugging.MainDoc" >}}
-[Variables Grid]: {{< url path="Cortex.Guides.Studio.SouthPanel.VariablesGrid" >}}
[Run Flow]: {{< url path="Cortex.Reference.Blocks.Flows.RunFlow.RunFlow.MainDoc" >}}
+
+[Run Flow Async]: {{< url path="Cortex.Reference.Blocks.Flows.RunFlow.RunFlowAsync.MainDoc" >}}
diff --git a/content/en/docs/2024.9/Reference/Concepts/fundamentals/workspaces/what-is-a-workspace.md b/content/en/docs/2024.9/Reference/Concepts/fundamentals/workspaces/what-is-a-workspace.md
index 262610221..9cc71a32a 100644
--- a/content/en/docs/2024.9/Reference/Concepts/fundamentals/workspaces/what-is-a-workspace.md
+++ b/content/en/docs/2024.9/Reference/Concepts/fundamentals/workspaces/what-is-a-workspace.md
@@ -17,7 +17,7 @@ A workspace is used to group logic and actions within a [flow][], in order to re
A flow can only contain one Top-Level Workspace, which acts as the entry point for the [flow execution][].
-{{< figure src="/images/top-level-workspace.svg" title="Example Top-Level Workspace" >}}
+{{< figure src="/images/top-level-workspace-activity.svg" title="Example Top-Level Workspace" >}}
* Start Flow block
* Identifies where the [flow execution][] will start
diff --git a/content/en/docs/2024.9/Whats New/_index.md b/content/en/docs/2024.9/Whats New/_index.md
index 435ab549f..b9c72c75c 100644
--- a/content/en/docs/2024.9/Whats New/_index.md
+++ b/content/en/docs/2024.9/Whats New/_index.md
@@ -7,90 +7,119 @@ weight: 1
## Summary
-2024.7 is the next [Fast Track][] release of {{% ctx %}} and improves on the [2024.5][] release in the following areas:
+2024.9 is the second [Release][] of the next generation of {{% ctx %}} and improves on the [2024.7][] release in the following areas:
-* [Performance][]
-* [Security][]
+* [Capability][]
+* [Observability][]
* [Scalability][]
+* [Security][]
* [Usability][]
+* [Third-Party Support][]
+* [Installation][]
+* [Upgrade][]
* [Documentation][]
-## Improved Performance
+## Improved Capability
+
+This release introduces multiple new features to the {{% ctx %}} platform:
+
+* The concept of [Process and Activity][], which are types of [Flow][], has now been introduced to {{% ctx %}} Gateway.
+* [Saving Output Properties to multiple variables][] is now supported.
+* A new built-in [execution context variable][] has been added to the Flow Engine which contains the initiator.
+* A new [Proxy for the {{% ctx %}} 7 Flow API][] has been added to the platform.
-This release shows performance improvements in a number of areas:
+## Improved Observability
-* [Reduce the number of license check calls][]
-* [Reduce memory usage of the Package Management Service][] by compressing the Flow JSON
-* Fixed a bug where the [Expression editor in {{% ctx %}} Studio leaks memory][]
+Observability has been improved by [adding logging to blocks that communicate with external systems][Logging added to blocks that communicate with external systems].
+
+## Improved Scalability
+
+Optimisation to scalability has been made by [reducing the total number of NServiceBus endpoints and RabbitMQ queues][Reduction of total number of NServiceBus endpoints and RabbitMQ queues].
## Improved Security
We increased the security of the platform by:
-* [Redacting any value in logs that has the format of an encrypted text][Redact any value in logs that has the format of an encrypted text] to ensure that encrypted text is not visible in logs
-* [Adding the Request user to API Gateway HTTPEvent logs][Request user has been added to API Gateway HTTPEvent logs] to provide more information in logs
-* Fixed a bug where [Password redaction not always occurring][].
+* [Upgrading the OpenSSL version][Upgrade OpenSSL] shipped with the platform.
+* Added [Multi-domain certificates support][].
+* A [CortexManagementUser for RabbitMQ is now created during upgrade][New CortexManagementUser added to manage RabbitMQ queues].
+* [Server-side validation added to {{% ctx %}} Gateway API][] to prevent [Path Traversal][] attacks.
+* Removal of the [refresh token cookie on sign out][remove refresh token cookie on sign out].
-## Improved Scalability
+## Improved Usability
-Scalability has been improved by adding [support of custom names for default Tenant and System][Custom names supported for default Tenant and System] from {{% ctx %}} Gateway, as well as [support for installing multiple {{% ctx %}} Gateway instances on the same Web App Server][].
+The usability of the platform has been improved by:
-## Improved Usability
+* Renaming the [Flows Charm to Dev and changing the icon][Rename Flows Charm to Dev and change icon].
+* Renaming the [Settings Charm to Admin and changing the icon][Rename Settings Charm to Admin and change icon].
+
+## Improved Third-Party Support
+
+Third-party Support has been improved by [upgrading the platform to .NET 8][Upgrade to .NET 8].
-The previous `Scope` data type has been renamed to [ScopeDefinition][] as it more accurately reflects its purpose of defining a scope; allowing for a new [Scope][] data type to represent an instance of a scope.
-\
-The [user experience of {{% ctx %}} Gateway][{{% ctx %}} Gateway] has seen improvements which include:
+## Improved Installation
-* [Improving the Home page loading placeholder][Improved Home page loading placeholder]
-* [Improving the Search bar styling][Improved Search bar styling]
+Installation when [files are blocked by the operating system][Support installation when files are blocked by the operating system] due to the `Zone.Identifier` is now supported.
-A bug has been fixed on the [Engine][] where a [Flow with expression sometimes fails to execute with a KeyNotFoundException][].
+## Improved Upgrade
+
+The upgrade process has been improved by:
+
+* [Supporting upgrade when files are blocked by the operating system][Support upgrade when files are blocked by the operating system].
+* Upgrading the [Execution Service when the engine version is unchanged][Execution Service is upgraded when the engine version is unchanged].
+* [Handling of the Execution Services lifecycle events][].
## Improved Documentation
-The [Product Portal][] includes updates related to:
+The documentation includes updates related to:
-* [Wireless Blocks][Wireless Blocks section] including data type and exception
-* [Execute Data Command Block][Execute Data Command Block section] and data types
-* [Scope and ScopeDefinition][] data types
-* [Upgrade steps][Upgrade section] from 2024.5 to 2024.7
-* [Block Icons][]
-* [Incorrect link in Multiple Server Install Web Application Prerequisites][]
+* New concepts such as [Process and Activity][Process and Activity Documentation] as well as [Decomposition of Output properties][].
+* [Preventing deadlocks when using semaphores][Prevent deadlocks when using semaphores].
+* [Updating screenshots][screenshots updated] to reflect the new branding.
+* [Flow compatibility version][Flow compatibility version introduced] being added to the release notes.
+* [General improvements to the documentation][].
-For a full list of what has been introduced in this release, please see the [2024.7 Release Notes][]
+For a full list of what has been introduced in this release, please see the [2024.9 Release Notes][]
-[Fast Track]: {{< url path="Cortex.Reference.Glossary.F-J.FastTrack" version="2024.7" >}}
+[Release]: {{< url path="Cortex.Reference.Glossary.P-T.Release" version="2024.9" >}}
+[2024.7]: {{< url path="Cortex.Blogs.Releases.2024.7.MainDoc" version="2024.9" >}}
-[Performance]: {{< ref "#improved-performance" >}}
-[Security]: {{< ref "#improved-security" >}}
+[Capability]: {{< ref "#improved-capability" >}}
+[Observability]: {{< ref "#improved-observability" >}}
[Scalability]: {{< ref "#improved-scalability" >}}
+[Security]: {{< ref "#improved-security" >}}
[Usability]: {{< ref "#improved-usability" >}}
+[Third-Party Support]: {{< ref "#improved-third-party-support" >}}
+[Installation]: {{< ref "#improved-installation" >}}
+[Upgrade]: {{< ref "#improved-upgrade" >}}
[Documentation]: {{< ref "#improved-documentation" >}}
-[Reduce the number of license check calls]: {{< url path="Cortex.Blogs.Releases.2024.7.ReduceTheNumberOfLicenseCheckCalls" version="2024.7" >}}
-[Reduce memory usage of the Package Management Service]: {{< url path="Cortex.Blogs.Releases.2024.7.ReduceMemoryUsageOfThePackageManagementService" version="2024.7" >}}
-[Expression editor in {{% ctx %}} Studio leaks memory]: {{< url path="Cortex.Blogs.Releases.2024.7.ExpressionEditorInCortexStudioLeaksMemory" version="2024.7" >}}
-[Redact any value in logs that has the format of an encrypted text]: {{< url path="Cortex.Blogs.Releases.2024.7.RedactAnyValueInLogsThatHasTheFormatOfAnEncryptedText" version="2024.7" >}}
-[Request user has been added to API Gateway HTTPEvent logs]: {{< url path="Cortex.Blogs.Releases.2024.7.RequestUserHasBeenAddedToApiGatewayHttpEventLogs" version="2024.7" >}}
-[Password redaction not always occurring]: {{< url path="Cortex.Blogs.Releases.2024.7.PasswordRedactionNotAlwaysOccurring" version="2024.7" >}}
-[Custom names supported for default Tenant and System]: {{< url path="Cortex.Blogs.Releases.2024.7.CustomNamesSupportedForDefaultTenantAndSystem" version="2024.7" >}}
-[support for installing multiple {{% ctx %}} Gateway instances on the same Web App Server]: {{< url path="Cortex.Blogs.Releases.2024.7.SupportForInstallingMultipleCortexGatewayInstancesOnTheSameWebAppServer" version="2024.7" >}}
-[{{% ctx %}} Gateway]: {{< url path="Cortex.Blogs.Releases.2024.7.CortexGateway" version="2024.7" >}}
-[Improved Home page loading placeholder]: {{< url path="Cortex.Blogs.Releases.2024.7.ImprovedHomePageLoadingPlaceholder" version="2024.7" >}}
-[Improved Search bar styling]: {{< url path="Cortex.Blogs.Releases.2024.7.ImprovedSearchBarStyling" version="2024.7" >}}
-[Engine]: {{< url path="Cortex.Blogs.Releases.2024.7.Engine" version="2024.7" >}}
-[Flow with expression sometimes fails to execute with a KeyNotFoundException]: {{< url path="Cortex.Blogs.Releases.2024.7.FlowWithExpressionSometimesFailsToExecuteWithAKeyNotFoundException" version="2024.7" >}}
-[Product Portal]: {{< url path="Cortex.Blogs.Releases.2024.7.ProductPortal" version="2024.7" >}}
-[Wireless Blocks section]: {{< url path="Cortex.Blogs.Releases.2024.7.WirelessBlocks" version="2024.7" >}}
-[Execute Data Command Block section]: {{< url path="Cortex.Blogs.Releases.2024.7.ExecuteDataCommandBlock" version="2024.7" >}}
-[Scope and ScopeDefinition]: {{< url path="Cortex.Blogs.Releases.2024.7.ScopeandScopeDefinition" version="2024.7" >}}
-[Block Icons]: {{< url path="Cortex.Blogs.Releases.2024.7.BlockIcons" version="2024.7" >}}
-[upgrade section]: {{< url path="Cortex.Blogs.Releases.2024.7.Upgrade" version="2024.7" >}}
-[Incorrect link in Multiple Server Install Web Application Prerequisites]: {{< url path="Cortex.Blogs.Releases.2024.7.IncorrectLinkInMultipleServerInstallWebApplicationPrerequisites" version="2024.7" >}}
-
-[Scope]: {{< url path="Cortex.Reference.DataTypes.Scopes.Scope.MainDoc" version="2024.7">}}
-[ScopeDefinition]: {{< url path="Cortex.Reference.DataTypes.Scopes.ScopeDefinition.MainDoc" version="2024.7">}}
-
-[2024.7 Release Notes]: {{< url path="Cortex.Blogs.Releases.2024.7.MainDoc" version="2024.7" >}}
-
-[2024.5]: {{< url path="Cortex.Blogs.Releases.2024.5.MainDoc" version="2024.7" >}}
+[Process and Activity]: {{< url path="Cortex.Blogs.Releases.2024.9.ProcessAndActivity" version="2024.9" >}}
+[Saving Output Properties to multiple variables]: {{< url path="Cortex.Blogs.Releases.2024.9.SaveOutputPropertiesToMultipleVariables" version="2024.9" >}}
+[execution context variable]: {{< url path="Cortex.Blogs.Releases.2024.9.ExecutionContextVariable" version="2024.9" >}}
+[Proxy for the {{% ctx %}} 7 Flow API]: {{< url path="Cortex.Blogs.Releases.2024.9.ProxyForTheCortex7FlowApi" version="2024.9" >}}
+[Logging added to blocks that communicate with external systems]: {{< url path="Cortex.Blogs.Releases.2024.9.LoggingAddedToBlocksThatCommunicateWithExternalSystems" version="2024.9" >}}
+[Reduction of total number of NServiceBus endpoints and RabbitMQ queues]: {{< url path="Cortex.Blogs.Releases.2024.9.ReductionOfTotalNumberOfNServiceBusEndpointsAndRabbitMQQueues" version="2024.9" >}}
+[Upgrade OpenSSL]: {{< url path="Cortex.Blogs.Releases.2024.9.UpgradeOpenSSL" version="2024.9" >}}
+[Multi-domain certificates support]: {{< url path="Cortex.Blogs.Releases.2024.9.MultiDomainCertificatesSupport" version="2024.9" >}}
+[New CortexManagementUser added to manage RabbitMQ queues]: {{< url path="Cortex.Blogs.Releases.2024.9.NewCortexManagementUserAddedToManageRabbitMQQueues" version="2024.9" >}}
+[Server-side validation added to {{% ctx %}} Gateway API]: {{< url path="Cortex.Blogs.Releases.2024.9.ServerSideValidationAddedToCortexGatewayAPI" version="2024.9" >}}
+[Remove refresh token cookie on sign out]: {{< url path="Cortex.Blogs.Releases.2024.9.RemoveRefreshTokenCookieOnSign" version="2024.9" >}}
+[Rename Flows Charm to Dev and change icon]: {{< url path="Cortex.Blogs.Releases.2024.9.RenameFlowsCharmToDevAndChangeIcon" version="2024.9" >}}
+[Rename Settings Charm to Admin and change icon]: {{< url path="Cortex.Blogs.Releases.2024.9.RenameSettingsCharmToAdminAndChangeIcon" version="2024.9" >}}
+[Upgrade to .NET 8]: {{< url path="Cortex.Blogs.Releases.2024.9.UpgradeToNet8" version="2024.9" >}}
+[Support installation when files are blocked by the operating system]: {{< url path="Cortex.Blogs.Releases.2024.9.SupportInstallationWhenFilesAreBlockedByTheOperatingSystem" version="2024.9" >}}
+[Support upgrade when files are blocked by the operating system]: {{< url path="Cortex.Blogs.Releases.2024.9.SupportUpgradeWhenFilesAreBlockedByTheOperatingSystem" version="2024.9" >}}
+[Execution Service is upgraded when the engine version is unchanged]: {{< url path="Cortex.Blogs.Releases.2024.9.ExecutionServiceIsUpgradedWhenTheEngineVersionIsUnchanged" version="2024.9" >}}
+[Handling of the Execution Services lifecycle events]: {{< url path="Cortex.Blogs.Releases.2024.9.HandlingOfTheExecutionServicesLifecycleEvents" version="2024.9" >}}
+[Process and Activity Documentation]: {{< url path="Cortex.Blogs.Releases.2024.9.ProcessAndActivityDocumentation" version="2024.9" >}}
+[Decomposition of Output properties]: {{< url path="Cortex.Blogs.Releases.2024.9.DecompositionOfOutputProperties" version="2024.9" >}}
+[Prevent deadlocks when using semaphores]: {{< url path="Cortex.Blogs.Releases.2024.9.PreventDeadlocksWhenUsingSemaphores" version="2024.9" >}}
+[Screenshots updated]: {{< url path="Cortex.Blogs.Releases.2024.9.ScreenshotsUpdated" >}}
+[Flow compatibility version introduced]: {{< url path="Cortex.Blogs.Releases.2024.9.FlowCompatibilityVersionIntroduced" version="2024.9" >}}
+[General improvements to the documentation]: {{< url path="Cortex.Blogs.Releases.2024.9.GeneralImprovementsToTheDocumentation" version="2024.9" >}}
+
+[2024.9 Release Notes]: {{< url path="Cortex.Blogs.Releases.2024.9.MainDoc" version="2024.9" >}}
+
+[Flow]: {{< url path="Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow.MainDoc" version="2024.9" >}}
+[Path Traversal]: {{< url path="Owasp.PathTraversal.MainDoc" version="2024.9" >}}
diff --git a/content/en/docs/2024.9/_shared/architecture/components/multi-server.md b/content/en/docs/2024.9/_shared/architecture/components/multi-server.md
index a6441cbb5..216927df2 100644
--- a/content/en/docs/2024.9/_shared/architecture/components/multi-server.md
+++ b/content/en/docs/2024.9/_shared/architecture/components/multi-server.md
@@ -10,10 +10,11 @@
| > [Data Storage Service][Data Storage Service] | {{< section "/architecture/components/purpose/data-storage-service.md" >}} | - | - |
| > [Execution Management Service][Execution Management Service] | {{< section "/architecture/components/purpose/execution-management-service.md">}} | - | - |
| > [Licence Management Service][Licence Management Service] | {{< section "/architecture/components/purpose/licence-management-service.md" >}} | - | - |
+| > [Listeners Service][Listeners Service] | {{< section "/architecture/components/purpose/listeners-service.md" >}} | - | - |
| > [Package Management Service][Package Management Service] | {{< section "/architecture/components/purpose/package-management-service.md" >}} | - | - |
| > [Provisioning Service][Provisioning Service] | {{< section "/architecture/components/purpose/provisioning-service.md" >}} | - | - |
| > [Scheduling Service][Scheduling Service] | {{< section "/architecture/components/purpose/scheduling-service.md" >}} | - | - |
-| > [Triggers Service][Triggers Service] | {{< section "/architecture/components/purpose/triggers-service.md" >}} | - | - |
+| > [Triggers Service][Triggers Service] | {{< section "/architecture/components/purpose/triggers-service.md" >}} | - | - |
| [{{% ctx %}} Innovation Execution Application][Innovation Execution Application] | {{< section "/architecture/components/purpose/cortex-innovation-execution-application.md" >}} | Required | Application Server |
| > [Execution Service][Execution Service] | {{< section "/architecture/components/purpose/execution-service.md" >}} | - | - |
| {{% ctx %}} Block Packages | {{< section "/architecture/components/purpose/cortex-block-packages.md" >}} | Required | Web Application Server, Application Server |
@@ -36,18 +37,17 @@
[Execution Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ExecutionManagementService.MainDoc" >}}
[Execution Service]: {{< url path="Cortex.Guides.CortexInnovation.ExecutionApplication.Services.ExecutionService.MainDoc" >}}
[Licence Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.LicenceManagementService.MainDoc" >}}
+[Listeners Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ListenersService.MainDoc" >}}
[Package Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.PackageManagementService.MainDoc" >}}
[Provisioning Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ProvisioningService.MainDoc" >}}
[Scheduling Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.SchedulingService.MainDoc" >}}
[Triggers Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.TriggersService.MainDoc" >}}
[Gateway Guide]: {{< url path="Cortex.Guides.Gateway.MainDoc" >}}
[Studio Guide]: {{< url path="Cortex.Guides.Studio.MainDoc" >}}
-[SQL Server Express]: {{< url path="MSDownload.SqlServerExpress.2016" >}}
-[SQL Server Standard]: {{< url path="MSEval.SQLServer.2019" >}}
[Microsoft Service Fabric]: {{< url path="MSDocs.ServiceFabric.MainDoc" >}}
[Microsoft Service Fabric Explorer]: {{< url path="MSDocs.ServiceFabric.Explorer" >}}
[Particular NServiceBus]: {{< url path="Particular.NServiceBus.MainDoc" >}}
[Pivotal RabbitMQ]: {{< url path="RabbitMQ.MainDoc" >}}
[Erlang OTP]: {{< url path="ErlangOTP.MainDoc" >}}
[gobetween]: {{< url path="GoBetween.MainDoc" >}}
-[NSSM]: {{< url path="NSSM.MainDoc" >}}
\ No newline at end of file
+[NSSM]: {{< url path="NSSM.MainDoc" >}}
diff --git a/content/en/docs/2024.9/_shared/architecture/components/purpose/listeners-service.md b/content/en/docs/2024.9/_shared/architecture/components/purpose/listeners-service.md
new file mode 100644
index 000000000..225dd2dac
--- /dev/null
+++ b/content/en/docs/2024.9/_shared/architecture/components/purpose/listeners-service.md
@@ -0,0 +1 @@
+Application Service that accepts incoming connections that could trigger executions.
\ No newline at end of file
diff --git a/content/en/docs/2024.9/_shared/architecture/components/single-server.md b/content/en/docs/2024.9/_shared/architecture/components/single-server.md
index 8188539ba..3bba0f94d 100644
--- a/content/en/docs/2024.9/_shared/architecture/components/single-server.md
+++ b/content/en/docs/2024.9/_shared/architecture/components/single-server.md
@@ -10,10 +10,11 @@
| > [Data Storage Service][Data Storage Service] | {{< section "/architecture/components/purpose/data-storage-service.md" >}} | - | - |
| > [Execution Management Service][Execution Management Service] | {{< section "/architecture/components/purpose/execution-management-service.md">}} | - | - |
| > [Licence Management Service][Licence Management Service] | {{< section "/architecture/components/purpose/licence-management-service.md" >}} | - | - |
+| > [Listeners Service][Listeners Service] | {{< section "/architecture/components/purpose/listeners-service.md" >}} | - | - |
| > [Package Management Service][Package Management Service] | {{< section "/architecture/components/purpose/package-management-service.md" >}} | - | - |
| > [Provisioning Service][Provisioning Service] | {{< section "/architecture/components/purpose/provisioning-service.md" >}} | - | - |
| > [Scheduling Service][Scheduling Service] | {{< section "/architecture/components/purpose/scheduling-service.md" >}} | - | - |
-| > [Triggers Service][Triggers Service] | {{< section "/architecture/components/purpose/triggers-service.md" >}} | - | - |
+| > [Triggers Service][Triggers Service] | {{< section "/architecture/components/purpose/triggers-service.md" >}} | - | - |
| [{{% ctx %}} Innovation Execution Application][Innovation Execution Application] | {{< section "/architecture/components/purpose/cortex-innovation-execution-application.md" >}} | Required | Application Server |
| > [Execution Service][Execution Service] | {{< section "/architecture/components/purpose/execution-service.md" >}} | - | - |
| {{% ctx %}} Block Packages | {{< section "/architecture/components/purpose/cortex-block-packages.md" >}} | Required | Web Application Server, Application Server |
@@ -34,14 +35,13 @@
[Execution Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ExecutionManagementService.MainDoc" >}}
[Execution Service]: {{< url path="Cortex.Guides.CortexInnovation.ExecutionApplication.Services.ExecutionService.MainDoc" >}}
[Licence Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.LicenceManagementService.MainDoc" >}}
+[Listeners Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ListenersService.MainDoc" >}}
[Package Management Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.PackageManagementService.MainDoc" >}}
[Provisioning Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.ProvisioningService.MainDoc" >}}
[Scheduling Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.SchedulingService.MainDoc" >}}
[Triggers Service]: {{< url path="Cortex.Guides.CortexInnovation.CoreApplication.Services.TriggersService.MainDoc" >}}
[Gateway Guide]: {{< url path="Cortex.Guides.Gateway.MainDoc" >}}
[Studio Guide]: {{< url path="Cortex.Guides.Studio.MainDoc" >}}
-[SQL Server Express]: {{< url path="MSDownload.SqlServerExpress.2016" >}}
-[SQL Server Standard]: {{< url path="MSEval.SQLServer.2019" >}}
[Microsoft Service Fabric]: {{< url path="MSDocs.ServiceFabric.MainDoc" >}}
[Microsoft Service Fabric Explorer]: {{< url path="MSDocs.ServiceFabric.Explorer" >}}
[Particular NServiceBus]: {{< url path="Particular.NServiceBus.MainDoc" >}}
diff --git a/content/static/2024.9/images/editable/Cortex Innovation Node Details.png b/content/static/2024.9/images/editable/Cortex Innovation Node Details.png
index a73538fc9..654b14425 100644
Binary files a/content/static/2024.9/images/editable/Cortex Innovation Node Details.png and b/content/static/2024.9/images/editable/Cortex Innovation Node Details.png differ
diff --git a/content/static/2024.9/images/editable/editor-types.png b/content/static/2024.9/images/editable/editor-types.png
index 106dbb03b..444627859 100644
Binary files a/content/static/2024.9/images/editable/editor-types.png and b/content/static/2024.9/images/editable/editor-types.png differ
diff --git a/content/static/2024.9/images/editable/expression-editor.png b/content/static/2024.9/images/editable/expression-editor.png
new file mode 100644
index 000000000..5660a4321
Binary files /dev/null and b/content/static/2024.9/images/editable/expression-editor.png differ
diff --git a/content/static/2024.9/images/editable/variable-editor.png b/content/static/2024.9/images/editable/variable-editor.png
index c1bcb26d4..8e4504cd4 100644
Binary files a/content/static/2024.9/images/editable/variable-editor.png and b/content/static/2024.9/images/editable/variable-editor.png differ
diff --git a/content/static/2024.9/images/set-variable/set-variable-expression-decomposition.PNG b/content/static/2024.9/images/set-variable/set-variable-expression-decomposition.PNG
new file mode 100644
index 000000000..de501792e
Binary files /dev/null and b/content/static/2024.9/images/set-variable/set-variable-expression-decomposition.PNG differ
diff --git a/content/static/2024.9/images/top-level-workspace-activity.svg b/content/static/2024.9/images/top-level-workspace-activity.svg
new file mode 100644
index 000000000..993b1b26b
--- /dev/null
+++ b/content/static/2024.9/images/top-level-workspace-activity.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/content/static/2024.9/images/top-level-workspace-process.svg b/content/static/2024.9/images/top-level-workspace-process.svg
new file mode 100644
index 000000000..2c662ece9
--- /dev/null
+++ b/content/static/2024.9/images/top-level-workspace-process.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/content/static/2024.9/images/top-level-workspace.svg b/content/static/2024.9/images/top-level-workspace.svg
deleted file mode 100644
index 6fd291001..000000000
--- a/content/static/2024.9/images/top-level-workspace.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/data/urls.toml b/data/urls.toml
index e0e07f054..dd2702193 100644
--- a/data/urls.toml
+++ b/data/urls.toml
@@ -8,6 +8,32 @@
MainDoc = "/blog/releases"
[Cortex.Blogs.Releases.2024.X]
MainDoc = "/blog/releases/2024.x"
+ [Cortex.Blogs.Releases.2024.9]
+ MainDoc = "/blog/2024/10/07/2024.9/"
+ ProcessAndActivity = "/blog/2024/10/07/2024.9/#process-and-activity"
+ SaveOutputPropertiesToMultipleVariables = "/blog/2024/10/07/2024.9/#saving-output-properties-to-multiple-variables"
+ ExecutionContextVariable = "/blog/2024/10/07/2024.9/#execution-context-variable"
+ ProxyForTheCortex7FlowApi = "/blog/2024/10/07/2024.9/#proxy-for-the-cortex-7-flow-api"
+ LoggingAddedToBlocksThatCommunicateWithExternalSystems = "/blog/2024/10/07/2024.9/#logging-added-to-blocks-that-communicate-with-external-systems"
+ ReductionOfTotalNumberOfNServiceBusEndpointsAndRabbitMQQueues = "/blog/2024/10/07/2024.9/#reduction-of-total-number-of-nservicebus-endpoints-and-rabbitmq-queues"
+ UpgradeOpenSSL = "/blog/2024/10/07/2024.9/#upgrade-openssl"
+ MultiDomainCertificatesSupport = "/blog/2024/10/07/2024.9/#multi-domain-certificates-support"
+ NewCortexManagementUserAddedToManageRabbitMQQueues = "/blog/2024/10/07/2024.9/#new-cortexmanagementuser-added-to-manage-rabbitmq-queues"
+ ServerSideValidationAddedToCortexGatewayAPI = "/blog/2024/10/07/2024.9/#server-side-validation-added-to-cortex-gateway-api"
+ RemoveRefreshTokenCookieOnSign = "/blog/2024/10/07/2024.9/#remove-refresh-token-cookie-on-sign-out"
+ RenameFlowsCharmToDevAndChangeIcon = "/blog/2024/10/07/2024.9/#rename-flows-charm-to-dev-and-change-icon"
+ RenameSettingsCharmToAdminAndChangeIcon = "/blog/2024/10/07/2024.9/#rename-settings-charm-to-admin-and-change-icon"
+ UpgradeToNet8 = "/blog/2024/10/07/2024.9/#upgrade-to-net-8"
+ SupportInstallationWhenFilesAreBlockedByTheOperatingSystem = "/blog/2024/10/07/2024.9/#support-installation-when-files-are-blocked-by-the-operating-system"
+ SupportUpgradeWhenFilesAreBlockedByTheOperatingSystem = "/blog/2024/10/07/2024.9/#support-upgrade-when-files-are-blocked-by-the-operating-system"
+ ExecutionServiceIsUpgradedWhenTheEngineVersionIsUnchanged = "/blog/2024/10/07/2024.9/#execution-service-is-upgraded-when-the-engine-version-is-unchanged"
+ HandlingOfTheExecutionServicesLifecycleEvents = "/blog/2024/10/07/2024.9/#handling-of-the-execution-services-lifecycle-events"
+ ProcessAndActivityDocumentation = "/blog/2024/10/07/2024.9/#process-and-activity-1"
+ DecompositionOfOutputProperties = "/blog/2024/10/07/2024.9/#decomposition-of-output-properties"
+ PreventDeadlocksWhenUsingSemaphores = "/blog/2024/10/07/2024.9/#prevent-deadlocks-when-using-semaphores"
+ ScreenshotsUpdated = "/blog/2024/10/07/2024.9/#screenshots-updated"
+ FlowCompatibilityVersionIntroduced = "/blog/2024/10/07/2024.9/#flow-compatibility-version-introduced"
+ GeneralImprovementsToTheDocumentation = "/blog/2024/10/07/2024.9/#general-improvements-to-the-documentation"
[Cortex.Blogs.Releases.2024.7]
MainDoc = "/blog/2024/08/12/2024.7/"
ProductPortal = "/blog/2024/08/12/2024.7/#product-portal"
@@ -443,6 +469,8 @@
MainDoc = "/docs/guides/cortex-innovation/core-application/services/execution-management-service/"
[Cortex.Guides.CortexInnovation.CoreApplication.Services.LicenceManagementService]
MainDoc = "/docs/guides/cortex-innovation/core-application/services/licence-management-service/"
+ [Cortex.Guides.CortexInnovation.CoreApplication.Services.ListenersService]
+ MainDoc = "/docs/guides/cortex-innovation/core-application/services/listeners-service/"
[Cortex.Guides.CortexInnovation.CoreApplication.Services.PackageManagementService]
MainDoc = "/docs/guides/cortex-innovation/core-application/services/package-management-service/"
[Cortex.Guides.CortexInnovation.CoreApplication.Services.ProvisioningService]
@@ -890,11 +918,15 @@
MainDoc = "/docs/reference/blocks/http/execute-http-request"
[Cortex.Reference.Blocks.Http.ExecuteHttpRequest.ExecuteHttpRequest]
MainDoc = "/docs/reference/blocks/http/execute-http-request/execute-http-request-block-1"
+ HttpRequestProperty = "/docs/reference/blocks/http/execute-http-request/execute-http-request-block-1/#http-request"
+ HttpResponseProperty = "/docs/reference/blocks/http/execute-http-request/execute-http-request-block-1/#http-response"
CallingAnotherFlow = "/docs/reference/blocks/http/execute-http-request/execute-http-request-block-1/#calling-another-flow"
[Cortex.Reference.Blocks.Http.ExecuteSoapRequest]
MainDoc = "/docs/reference/blocks/http/execute-soap-request"
[Cortex.Reference.Blocks.Http.ExecuteSoapRequest.ExecuteSoapRequest]
MainDoc = "/docs/reference/blocks/http/execute-soap-request/execute-soap-request-block-1"
+ SoapRequestProperty = "/docs/reference/blocks/http/execute-soap-request/execute-soap-request-block-1/#soap-request"
+ SoapResponseProperty = "/docs/reference/blocks/http/execute-soap-request/execute-soap-request-block-1/#soap-response"
[Cortex.Reference.Blocks.Json]
MainDoc = "/docs/reference/blocks/json/"
[Cortex.Reference.Blocks.Json.ConvertJson]
@@ -1039,6 +1071,10 @@
MainDoc = "/docs/reference/blocks/powershell/execute-powershell-script/"
[Cortex.Reference.Blocks.PowerShell.ExecutePowerShellScript.ExecutePowerShellScript]
MainDoc = "/docs/reference/blocks/powershell/execute-powershell-script/execute-powershell-script-block-1"
+ ScriptProperty = "/docs/reference/blocks/powershell/execute-powershell-script/execute-powershell-script-block-1/#script"
+ ParametersProperty = "/docs/reference/blocks/powershell/execute-powershell-script/execute-powershell-script-block-1/#parameters"
+ OutputsProperty = "/docs/reference/blocks/powershell/execute-powershell-script/execute-powershell-script-block-1/#outputs"
+ RecordsProperty = "/docs/reference/blocks/powershell/execute-powershell-script/execute-powershell-script-block-1/#records"
[Cortex.Reference.Blocks.Queues]
MainDoc = "/docs/reference/blocks/queues/"
[Cortex.Reference.Blocks.Queues.DequeueItem]
@@ -1071,11 +1107,13 @@
MainDoc = "/docs/reference/blocks/ssh/execute-ssh-command"
[Cortex.Reference.Blocks.Ssh.ExecuteSshCommand.ExecuteSshCommandBlock]
MainDoc = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block"
+ CommandProperty = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#command"
TerminalPromptMatchRemark = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#using-the-terminalpromptmatch-within-sshlogs-to-reach-the-end-of-a-prompt"
ConfigurationSettings = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#configuration-settings"
CloseSession = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#close-session"
Response = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#response"
SshSessionDetails = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#ssh-session-details"
+ SshLogsProperty = "/docs/reference/blocks/ssh/execute-ssh-command/execute-ssh-command-block/#ssh-logs"
[Cortex.Reference.Blocks.Tasks]
MainDoc = "/docs/reference/blocks/tasks/"
[Cortex.Reference.Blocks.Tasks.CancelTask]
@@ -1282,6 +1320,7 @@
Output = "/docs/reference/concepts/fundamentals/blocks/block-properties/what-is-a-block-property/#output-properties"
DiscardingOutputs = "/docs/reference/concepts/fundamentals/blocks/block-properties/what-is-a-block-property/#discarding-outputs"
InputOutput = "/docs/reference/concepts/fundamentals/blocks/block-properties/what-is-a-block-property/#inputoutput-properties"
+ DecomposingOutputProperties = "/docs/reference/concepts/fundamentals/blocks/block-properties/what-is-a-block-property/#decomposing-output-properties"
[Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.AdvancedProperties]
MainDoc = "/docs/reference/concepts/fundamentals/blocks/block-properties/advanced-properties/"
[Cortex.Reference.Concepts.Fundamentals.Blocks.BlockProperties.CommonProperties]
@@ -1298,6 +1337,7 @@
MethodExpressions = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#method-expressions"
PropertyExpressions = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#property-expressions"
IndexExpressions = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#index-expressions"
+ DecompositionExpressions = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#decomposition-expressions"
LiteralValues = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#literal-values"
DictionaryLiteral = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#dictionary-literal"
ListLiteral = "/docs/reference/concepts/fundamentals/blocks/block-properties/property-editors/expression-editor/#list-literal"
@@ -1341,6 +1381,7 @@
MainDoc = "/docs/reference/concepts/fundamentals/executions/"
[Cortex.Reference.Concepts.Fundamentals.Executions.WhatIsAnExecution]
MainDoc = "/docs/reference/concepts/fundamentals/executions/what-is-an-execution"
+ ExecutionContext = "/docs/reference/concepts/fundamentals/executions/what-is-an-execution/#execution-context"
[Cortex.Reference.Concepts.Fundamentals.Executions.ExecutionsInDevelopment]
MainDoc = "/docs/reference/concepts/fundamentals/executions/executions-in-development"
EditAndContinueAnExecution = "/docs/reference/concepts/fundamentals/executions/executions-in-development/#edit-and-continue-an-execution"
@@ -1358,6 +1399,8 @@
MainDoc = "/docs/reference/concepts/fundamentals/flows/handling-exceptions-within-a-flow"
[Cortex.Reference.Concepts.Fundamentals.Flows.WhatIsAFlow]
MainDoc = "/docs/reference/concepts/fundamentals/flows/what-is-a-flow"
+ Process = "/docs/reference/concepts/fundamentals/flows/what-is-a-flow/#process"
+ Activity = "/docs/reference/concepts/fundamentals/flows/what-is-a-flow/#activity"
[Cortex.Reference.Concepts.Fundamentals.Messages]
MainDoc = "/docs/reference/concepts/fundamentals/messages/"
[Cortex.Reference.Concepts.Fundamentals.Messages.WhatIsAMessage]
@@ -1414,6 +1457,7 @@
Non-Queuing = "/docs/reference/concepts/working-with/concurrency/semaphores/what-is-a-semaphore/#non-queuing-semaphore"
Queuing = "/docs/reference/concepts/working-with/concurrency/semaphores/what-is-a-semaphore/#queuing-semaphore"
MultipleConcurrencyLimits = "/docs/reference/concepts/working-with/concurrency/semaphores/what-is-a-semaphore/#multiple-concurrency-limits"
+ PreventingDeadlocks = "/docs/reference/concepts/working-with/concurrency/semaphores/what-is-a-semaphore/#preventing-deadlocks"
[Cortex.Reference.Concepts.WorkingWith.Culture]
MainDoc = "/docs/reference/concepts/working-with/culture/"
[Cortex.Reference.Concepts.WorkingWith.Culture.CurrentCulture]
@@ -2746,6 +2790,9 @@
BlockStatement = "https://blogs.oracle.com/connect/post/building-with-blocks"
[OracleParameter]
ParameterDirection = "https://learn.microsoft.com/en-us/dotnet/api/system.data.parameterdirection?view=net-8.0"
+[Owasp]
+ [Owasp.PathTraversal]
+ MainDoc = "https://owasp.org/www-community/attacks/Path_Traversal"
[Particular]
[Particular.NServiceBus]
MainDoc = "https://particular.net/nservicebus"