> For the complete documentation index, see [llms.txt](https://docs.appmixer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.appmixer.com/changelog/version-5/5/5.1/5.1.1.md).

# 5.1.1

### New in 5.1.1

* Possibility to secure the create user (POST /user) API endpoint. This helps prevent external API calls (possibly malicious) from creating users without any authentication. Newly, a user scope can be defined using the API\_USER\_CREATE\_SCOPE system variable which will be required when calling the POST /user endpoint. Typically, an “admin” scope is set so that only admin users can create new user accounts. See <https://docs.appmixer.com/appmixer/tutorials/appmixer-virtual-users> for more information.

<figure><img src="https://1603660091-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgsBalkJKe24AUhfRPojx%2Fuploads%2FMHBMmZ0pj5OTfV03RO6h%2Fimage1.png?alt=media&amp;token=ffe6f211-fe5a-4ca2-b6de-3a9286f29d8e" alt=""><figcaption></figcaption></figure>

* New connector context function *context.loadOutputSchemaProperties()*, which is now used by the *Each* connector (*Controls* module version 1.4.4). This fixes a few issues:

  * When *Each* connector was used in a loop in the flow, it could cause a crash of an Appmixer engine.
  * Add variable discovery for nested props:

  Given the following output schema, when applying *Each* on "main" it does show the properties of the items in the next step (the next connected connector) in the flow, but applying Each on "sub.subitems" does not display the properties nor Index/Value, as if it doesn't recognize it as an array at all.

```json
   "outPorts": [
        {
            "name": "out",
            "schema": {
                "type": "object",
                "properties": {
                    "main": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "prop": { 
                                    "type": "string", "title": "prop" 
                                }
                            }
                        }
                    },
                    "sub": {
                        "title": "Sub",
                        "type": "object",
                        "properties": {
                            "subitems": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "subprop": { 
                                            "type": "string", 
                                            "title": "subprop" 
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    ]
```

* Fixed a bug where the Appmixer SDK was slow with a large connector definition.
* Fixed a regression in the DELETE /files API endpoint (bug introduced in 5.1.0).
* Fixed a problem with a wrong connector token that was cached. If connector A used another auxiliary connector B in the component.json (typically connector A needs a list of dynamic items to be displayed in the UI and it uses a different connector to populate such a list) and the scope of the tokens for connector A and B - defined in the component.json - was different, then the engine could store the token for B in cache for the connector A. When such a flow was started, it resulted in an error, the cached token for B did not work when the connector A was called with a new message.
* Fixed a bug in the Integration Wizard, creating an account did not work if the authentication file (auth.js) was on the module (\[vendor]/\[service]/\[module]/auth.js) level and not the service (\[vendor]/\[service]/auth.js) level.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.appmixer.com/changelog/version-5/5/5.1/5.1.1.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
