> For the complete documentation index, see [llms.txt](https://activiti.gitbook.io/activiti-7-developers-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://activiti.gitbook.io/activiti-7-developers-guide/releases/7.1.0.m6.md).

# 7.1.0.M6

7.1.0.M6

You can consume all the Activiti artifacts for this release from Maven Central:

*Activiti Cloud:*

```markup
<dependencyManagement>
   <dependencies>
     <dependency>
       <groupId>org.activiti.cloud.dependencies</groupId>
       <artifactId>activiti-cloud-dependencies</artifactId>
       <version>7.1.0.M6</version>
       <scope>import</scope>
       <type>pom</type>
     </dependency>
   </dependencies>
 </dependencyManagement>
```

*Activiti Core*

```markup
<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.activiti.dependencies</groupId>
        <artifactId>activiti-dependencies</artifactId>
        <version>7.1.0.M6</version>
        <scope>import</scope>
        <type>pom</type>
      </dependency>
    </dependencies>
  </dependencyManagement>
```

### In the 7.1.0.M6 release you will find the following [main fixes & features](https://github.com/Activiti/Activiti/milestone/30?closed=1):

* Add support to\*\* Swimlanes and pools\*\* on Activiti Cloud Modeling.
* **Cloud Native BPMN Messages Service with Stateful Backend**: in the previous milestone (7.1.0.M5) we added the support for BPMN throw message event. However, the implementation was using In-Memory storage to keep track of messages, making it not suitable for production. The current milestone provides a new implementation based on Spring Integration that allows you to choose between one following back-end storage for BPMN messages: JDBC, Redis, HazelCast, MongoDb. In order to do so, pick one of the provided [message starters](https://github.com/Activiti/activiti-cloud-messages-service/tree/develop/starters). For instance, [activiti-cloud-messages](https://github.com/Activiti/activiti-cloud-messages/blob/master/pom.xml#L41-L44) example is using JDBC message backend.
* **Multi-instance result collection**: add the possibility to collect to result from each one of the instances in the case of a multi-instance activity. Two properties are to be specified:
  * *Result Element Variable*: specifies the name of local variable that will hold the result on each one of the instances in the multi-instance activity
  * *Result collection*: specifies the name of the process variable that will aggregate all the results. For instance:
    * Multi-instance task with cardinality `2`
    * Result Element Variable with value `meal`
    * Result Collection with value `meals`
    * First instance returns `meal = "Pizza"`
    * Second instance returns `meal = "Pasta"`
    * A process variable will be created with name `meals` and value `["Pizza", "Pasta"]`
* Support **expressions on output mapping**. Previously, expressions were supported only in input mappings. i.e:

```
"mappings": {
  "serviceTask": {
    "outputs": {
      "outVarFromJsonExpression": {
        "type": "value",
        "value": "${sightSeeing.city.place}"
      }
    }
  }
}
```

* **New versioning logic:** it will use a project manifest file to detect if the version of a given process definition should be bump up (instead of checking if the file content has changed). The new logic will be used when a project manifest file is set via the property `project.manifest.file.path`. [Here is an example](https://github.com/Activiti/example-runtime-bundle/blob/master/src/main/resources/application.properties#L48). All the versions of process definitions will be bumped up when the `version` of project changes inside [the manifest file](https://github.com/Activiti/example-runtime-bundle/blob/master/src/main/resources/default-project.json#L9).
* Improve memory management on GraphQL API: <https://github.com/Activiti/activiti-cloud-notifications-service-graphql/pull/234>
* Update to Spring Boot `2.1.12.RELEASE` and Spring Cloud `Greenwich.SR5`

## Known issues / Changes from 7.0.x

### Extensions file structure

Due to the introduction of swimlanes and pools we were constrained to change the structure of the extension files: the `extensions` section is now a map having process definition (xml) id as key; `properties` , `mappings`, and `constants` sections were moved one level down, inside the related process id section.

**Old structure** (Before 7.1.0.M6)

```
{
  "id": "process_definition_id",
  "extensions": {
    "properties": {
    },
    "mappings": {
    },
    "constants": {
    }
  }
}
```

�**New structure** (from\*\* **7.1.0.M6**)\*\*

```
{
  "id": "model_id",
  "extensions": {
    "process_definition_id": {
      "properties": {
      },
      "mappings": {
      },
      "constants": {
      }
    }
  }
}
```

�
