diff --git a/api/camunda/camunda-openapi.yaml b/api/camunda/camunda-openapi.yaml index 118a72a22eb..76bc8d724dd 100644 --- a/api/camunda/camunda-openapi.yaml +++ b/api/camunda/camunda-openapi.yaml @@ -540,12 +540,12 @@ paths: post: tags: - User task - summary: Query user tasks (experimental) + summary: Query user tasks (alpha) description: | Search for user tasks based on given criteria. :::note - This endpoint is experimental and not enabled on Camunda clusters out of the box. + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) for further details. ::: @@ -558,14 +558,14 @@ paths: responses: "200": description: > - The User Task Search successful response. + The user task search successful response. content: application/json: schema: $ref: "#/components/schemas/UserTaskSearchQueryResponse" "400": description: > - The User Task Search Query failed. + The user task search query failed. More details are provided in the response body. content: application/problem+json: @@ -579,19 +579,19 @@ paths: schema: $ref: "#/components/schemas/ProblemDetail" - /administration/clock/pin: - post: + /clock: + put: tags: - - Administration - - Clock control - summary: Pin the Zeebe engine’s internal clock to a specific time (experimental) + - Clock + summary: Pin internal clock (alpha) description: | - Set a precise, static time for the Zeebe engine’s internal clock. When the clock is pinned, - it remains at the specified time and does not advance. To change the time, the clock must be - pinned again with a new timestamp. + Set a precise, static time for the Zeebe engine’s internal clock. + When the clock is pinned, it remains at the specified time and does not advance. + To change the time, the clock must be pinned again with a new timestamp. :::note - This endpoint is experimental. It may undergo changes or improvements in future releases. + This endpoint is an [alpha feature](/reference/alpha-features.md) and may be subject to change + in future releases. ::: requestBody: required: true @@ -604,7 +604,7 @@ paths: description: > The clock was successfully pinned to the specified time in epoch milliseconds. "400": - description: The required timestamp parameter is missing. + description: The required timestamp parameter is missing or it is negative. content: application/problem+json: schema: @@ -615,59 +615,84 @@ paths: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - - /process-instances/search: + /clock/reset: post: tags: - - Process Instance - summary: Query process instances (experimental) + - Clock + summary: Reset internal clock (alpha) description: | - Search for process instances based on given criteria. + Resets the Zeebe engine’s internal clock to the current system time, enabling it to tick in real-time. + This operation is useful for returning the clock to + normal behavior after it has been pinned to a specific time. :::note - This endpoint is experimental and not enabled on Camunda clusters out of the box. - See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) - for further details. - ::: + This endpoint is an [alpha feature](/reference/alpha-features.md) and may be subject to change + in future releases. + responses: + "204": + description: The clock was successfully reset to the system time. + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /process-instances: + post: + tags: + - Process instance + summary: Create process instance + description: | + Creates and starts an instance of the specified process. + The process definition to use to create the instance can be specified either using its unique key + (as returned by Deploy resources), or using the BPMN process ID and a version. + + Waits for the completion of the process instance before returning a result + when awaitCompletion is enabled. requestBody: - required: false + required: true content: application/json: schema: - $ref: "#/components/schemas/ProcessInstanceSearchQueryRequest" + $ref: "#/components/schemas/CreateProcessInstanceRequest" + examples: + "By process definition key": + summary: "Create a process instance by processDefinitionKey." + value: + processDefinitionKey: 12345 + variables: {} + "By process definition ID": + summary: "Create a process instance by processDefinitionId and version." + value: + processDefinitionId: "1234-5678" + version: 1 + variables: {} responses: "200": - description: > - The Process Instance Search successful response. + description: The process instance was created. content: application/json: schema: - $ref: "#/components/schemas/ProcessInstanceSearchQueryResponse" + $ref: "#/components/schemas/CreateProcessInstanceResponse" "400": - description: > - The Process Instance Search Query failed. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" + description: The provided data is not valid. "500": - description: > - An internal error occurred while processing the request. + description: An internal error occurred while processing the request. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - /decision-definitions/search: + /process-instances/search: post: tags: - - Decision Definition - summary: Query decision definitions (experimental) + - Process instance + summary: Query process instances (alpha) description: | - Search for decision definitions based on given criteria. + Search for process instances based on given criteria. :::note - This endpoint is experimental and not enabled on Camunda clusters out of the box. + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) for further details. ::: @@ -676,18 +701,18 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/DecisionDefinitionSearchQueryRequest" + $ref: "#/components/schemas/ProcessInstanceSearchQueryRequest" responses: "200": description: > - The Decision Definition Search successful response. + The Process Instance Search successful response. content: application/json: schema: - $ref: "#/components/schemas/DecisionDefinitionSearchQueryResponse" + $ref: "#/components/schemas/ProcessInstanceSearchQueryResponse" "400": description: > - The Decision Definition Search Query failed. + The Process Instance Search Query failed. More details are provided in the response body. content: application/problem+json: @@ -700,73 +725,37 @@ paths: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - /decision-requirements/search: + /process-instances/{processInstanceKey}/cancellation: post: tags: - - Decision requirements - summary: Query decision requirements (experimental) - description: | - Search for decision requirements based on given criteria. - - :::note - This endpoint is experimental and not enabled on Camunda clusters out of the box. - See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) - for further details. - ::: + - Process instance + summary: Cancel process instance + description: Cancels a running process instance. + parameters: + - name: processInstanceKey + in: path + required: true + description: The key of the process instance to cancel. + schema: + type: integer + format: int64 requestBody: required: false content: application/json: schema: - $ref: "#/components/schemas/DecisionRequirementsSearchQueryRequest" - responses: - "200": - description: > - The decision requirements search successful response. - content: - application/json: - schema: - $ref: "#/components/schemas/DecisionRequirementsSearchQueryResponse" - "400": - description: > - The decision requirements search query failed. - More details are provided in the response body. - /authorizations: - post: - tags: - - Authorization - summary: Create an authorization - operationId: createAuthorization - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/AuthorizationAssignRequest" - required: true + $ref: "#/components/schemas/CancelProcessInstanceRequest" responses: "204": - description: | - The Authorization was created successfully. + description: The process instance is canceled. "400": - description: | - The Authorization could not be created. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - "401": - description: | - The request to create an authorization was unauthorized. - More details are provided in the response body. + description: The provided data is not valid. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - "403": - description: | - The request to create an authorization was denied. - More details are provided in the response body. + "404": + description: The process instance is not found. content: application/problem+json: schema: @@ -777,42 +766,44 @@ paths: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - /users: + /process-instances/{processInstanceKey}/migration: post: tags: - - User - summary: "Create a user" - operationId: "createUser" + - Process instance + summary: Migrate process instance + description: | + Migrates a process instance to a new process definition. + This request can contain multiple mapping instructions to define mapping between the active + process instance's elements and target process definition elements. + + Use this to upgrade a process instance to a new version of a process or to + a different process definition, e.g. to keep your running instances up-to-date with the + latest process improvements. + parameters: + - name: processInstanceKey + in: path + required: true + description: The key of the process instance that should be migrated. + schema: + type: integer + format: int64 requestBody: + required: true content: application/json: schema: - $ref: "#/components/schemas/UserWithPasswordRequest" - required: true + $ref: "#/components/schemas/MigrateProcessInstanceRequest" responses: "204": - description: | - The user was created successfully. + description: The process instance is migrated. "400": - description: | - The user could not be created. - More details are provided in the response body. - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - "401": - description: | - The request to create a user was unauthorized. - More details are provided in the response body. + description: The provided data is not valid. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - "403": - description: | - The request to create a user was denied. - More details are provided in the response body. + "404": + description: The process instance is not found. content: application/problem+json: schema: @@ -823,145 +814,127 @@ paths: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - /messages/correlation: + /process-instances/{processInstanceKey}/modification: post: tags: - - Message - summary: Correlate a message + - Process instance + summary: Modify process instance description: | - Publishes a message and correlates it to a subscription. - If correlation is successful it will return the first process instance key the message correlated with. + Modifies a running process instance. + This request can contain multiple instructions to activate an element of the process or + to terminate an active instance of an element. + + Use this to repair a process instance that is stuck on an element or took an unintended path. + For example, because an external system is not available or doesn't respond as expected. + parameters: + - name: processInstanceKey + in: path + required: true + description: The key of the process instance that should be modified. + schema: + type: integer + format: int64 requestBody: required: true content: application/json: schema: - $ref: "#/components/schemas/MessageCorrelationRequest" + $ref: "#/components/schemas/ModifyProcessInstanceRequest" responses: - "200": - description: The message is correlated to one or more process instances - content: - application/json: - schema: - $ref: "#/components/schemas/MessageCorrelationResponse" + "204": + description: The process instance is modified. "400": - description: The provided data is not valid - content: - application/problem+json: - schema: - $ref: "#/components/schemas/ProblemDetail" - "403": - description: Unauthorized + description: The provided data is not valid. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" "404": - description: Not found + description: The process instance is not found. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" "500": - description: Internal Server Error + description: An internal error occurred while processing the request. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - /documents: + + /flownode-instances/search: post: tags: - - Documents - summary: Upload document (experimental) + - Flow node Instance + summary: Query flow node instances (alpha) description: | - Upload a document to the Camunda 8 cluster. + Search for flow node instances based on given criteria. :::note - This endpoint is experimental. It currently only supports an in-memory document store, which - is not meant for production use. + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. ::: - parameters: - - name: storeId - in: query - required: false - description: The ID of the document store to upload the document to. - schema: - type: string - - name: documentId - in: query - required: false - description: > - The ID of the document to upload. If not provided, a new ID will be generated. - Specifying an existing ID will result in an error if the document already exists. - schema: - type: string requestBody: - required: true + required: false content: - multipart/form-data: + application/json: schema: - type: object - properties: - file: - type: string - format: binary - metadata: - $ref: "#/components/schemas/DocumentMetadata" - required: - - file - encoding: - metadata: - contentType: application/json + $ref: "#/components/schemas/FlowNodeInstanceSearchQueryRequest" responses: - "201": - description: The document was uploaded successfully. + "200": + description: > + The Flow node instance search successful response. content: application/json: schema: - $ref: "#/components/schemas/DocumentReference" + $ref: "#/components/schemas/FlowNodeInstanceSearchQueryResponse" "400": description: > - The document upload failed. More details are provided in the response body. + The Flow node instance Search Query failed. + More details are provided in the response body. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - /documents/{documentId}: - get: + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /decision-definitions/search: + post: tags: - - Documents - summary: Download document (experimental) + - Decision definition + summary: Query decision definitions (alpha) description: | - Download a document from the Camunda 8 cluster. + Search for decision definitions based on given criteria. :::note - This endpoint is experimental. It currently only supports an in-memory document store, which - is not meant for production use. + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. ::: - parameters: - - name: documentId - in: path - required: true - description: The ID of the document to download. - schema: - type: string - - name: storeId - in: query - required: false - description: The ID of the document store to download the document from. - schema: - type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/DecisionDefinitionSearchQueryRequest" responses: "200": - description: The document was downloaded successfully. + description: > + The Decision Definition Search successful response. content: - application/octet-stream: + application/json: schema: - type: string - format: binary - "404": + $ref: "#/components/schemas/DecisionDefinitionSearchQueryResponse" + "400": description: > - The document with the given ID was not found. + The Decision Definition Search Query failed. + More details are provided in the response body. content: application/problem+json: schema: @@ -973,36 +946,47 @@ paths: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - delete: + /decision-definitions/{decisionDefinitionKey}/xml: + get: tags: - - Documents - summary: Delete document (experimental) + - Decision definition + summary: Get decision definition XML (alpha) description: | - Delete a document from the Camunda 8 cluster. + Returns decision definition as XML. :::note - This endpoint is experimental. It currently only supports an in-memory document store, which - is not meant for production use. + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. ::: parameters: - - name: documentId + - name: decisionDefinitionKey in: path required: true - description: The ID of the document to delete. + description: The assigned key of the decision definition, which acts as a unique identifier for this decision. schema: - type: string - - name: storeId - in: query - required: false - description: The ID of the document store to delete the document from. - schema: - type: string + type: integer + format: int64 responses: "200": - description: The document was deleted successfully. + description: > + The XML of the decision definition is successfully returned. + content: + text/xml: + schema: + type: string + "400": + description: > + The Decision Definition Get XML failed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" "404": description: > - The document with the given ID was not found. + The decision with the given key was not found. + More details are provided in the response body. content: application/problem+json: schema: @@ -1014,1217 +998,2822 @@ paths: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - /document/{documentId}/links: + /decision-requirements/search: post: tags: - - Documents - summary: Create document link (experimental) + - Decision requirements + summary: Query decision requirements (alpha) description: | - Create a link to a document in the Camunda 8 cluster. + Search for decision requirements based on given criteria. :::note - This endpoint is experimental. It currently only supports an in-memory document store, which - is not meant for production use. + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. ::: - parameters: - - name: documentId - in: path - required: true - description: The ID of the document to link. - schema: - type: string - - name: storeId - in: query - required: false - description: The ID of the document store to link the document from. - schema: - type: string requestBody: required: false content: application/json: schema: - $ref: "#/components/schemas/DocumentLinkRequest" + $ref: "#/components/schemas/DecisionRequirementsSearchQueryRequest" responses: - "201": - description: The document link was created successfully. + "200": + description: > + The decision requirements search successful response. content: application/json: schema: - $ref: "#/components/schemas/DocumentLink" + $ref: "#/components/schemas/DecisionRequirementsSearchQueryResponse" "400": description: > - The document link creation failed. More details are provided in the response body. + The decision requirements search query failed. + More details are provided in the response body. + + /decision-instances/search: + post: + tags: + - Decision instance + summary: Query decision instances (alpha) + description: | + Search for decision instances based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/DecisionInstanceSearchQueryRequest" + responses: + "200": + description: > + The decision instance search successful response. + content: + application/json: + schema: + $ref: "#/components/schemas/DecisionInstanceSearchQueryResponse" + "400": + description: > + The decision instance search query failed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - /users/search: + /decision-definitions/evaluation: post: tags: - - User - summary: "Get list of users" - operationId: "findAllUsers" + - Decision definition + summary: Evaluate decision + description: | + Evaluates a decision. + You specify the decision to evaluate either by using its unique key (as returned by + DeployResource), or using the decision ID. When using the decision ID, the latest deployed + version of the decision is used. requestBody: + required: true content: application/json: schema: - $ref: "#/components/schemas/UserSearchQueryRequest" - required: true + $ref: "#/components/schemas/EvaluateDecisionRequest" + examples: + "By decision definition key": + summary: "Evaluate the decision by decisionDefinitionKey." + value: + decisionDefinitionKey: 12345 + variables: {} + "By decision definition ID": + summary: "Evaluate the decision by decisionDefinitionId." + value: + decisionDefinitionId: "1234-5678" + variables: {} responses: "200": - description: "OK" + description: The decision was evaluated. content: application/json: schema: - $ref: "#/components/schemas/UserSearchResponse" + $ref: "#/components/schemas/EvaluateDecisionResponse" "400": - description: "Bad request" + description: The provided data is not valid. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - "401": - description: "Unauthorized" + "404": + description: The decision is not found. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - "403": - description: "Forbidden" + "500": + description: An internal error occurred while processing the request. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - "404": - description: "Not found" + + /messages/publication: + post: + tags: + - Message + summary: Publish a message + description: | + Publishes a single message. + Messages are published to specific partitions computed from their correlation keys. + The endpoint does not wait for a correlation result. + Use the message correlation endpoint for such use cases. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/MessagePublicationRequest" + responses: + "200": + description: The message was published. + content: + application/json: + schema: + $ref: "#/components/schemas/MessagePublicationResponse" + "400": + description: The provided data is not valid. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" "500": - description: "Internal server error" + description: Internal server error. content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" - - /incidents/search: + /messages/correlation: post: tags: - - Incident - summary: Query incident (experimental) + - Message + summary: Correlate a message + description: | + Publishes a message and correlates it to a subscription. + If correlation is successful it will return the first process instance key the message correlated with. requestBody: - required: false + required: true content: application/json: schema: - $ref: "#/components/schemas/IncidentSearchQueryRequest" + $ref: "#/components/schemas/MessageCorrelationRequest" responses: "200": - description: > - The Incident Search successful response. + description: The message is correlated to one or more process instances content: application/json: schema: - $ref: "#/components/schemas/IncidentSearchQueryResponse" + $ref: "#/components/schemas/MessageCorrelationResponse" "400": - description: > - The incident search query failed. - More details are provided in the response body. - "401": - description: "Unauthorized" + description: The provided data is not valid content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" "403": - description: "Forbidden" + description: Unauthorized content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" "404": - description: "Not found" + description: Not found content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" "500": - description: "Internal server error" + description: Internal server error content: application/problem+json: schema: $ref: "#/components/schemas/ProblemDetail" -components: - schemas: - UserTaskSearchQueryRequest: - allOf: - - $ref: "#/components/schemas/SearchQueryRequest" - description: User task search query request. - type: object - properties: - filter: - $ref: "#/components/schemas/UserTaskFilterRequest" - UserTaskSearchQueryResponse: - allOf: - - $ref: "#/components/schemas/SearchQueryResponse" - description: User task search query response. - type: object - properties: - items: - type: array - items: - $ref: "#/components/schemas/UserTaskItem" - UserTaskFilterRequest: - description: User task filter request. - type: object - properties: - key: - type: integer - format: int64 - state: - type: string - assignee: - type: string - elementId: - type: string - candidateGroup: - type: string - candidateUser: - type: string - processDefinitionKey: - type: integer - format: int64 - processInstanceKey: - type: integer - format: int64 - tenantIds: - type: string - bpmnDefinitionId: - type: string - priority: - type: object - allOf: - - $ref: "#/components/schemas/PriorityValueFilter" - UserTaskItem: - type: object - properties: - key: - type: integer - format: int64 - state: - type: string - assignee: - type: string - elementId: - type: string - elementInstanceKey: - type: integer - format: int64 - candidateGroup: - type: array - items: + + /documents: + post: + tags: + - Documents + summary: Upload document (alpha) + description: | + Upload a document to the Camunda 8 cluster. + + :::note + This endpoint is an alpha feature. It currently only supports an in-memory document store, + which is not meant for production use. + ::: + parameters: + - name: storeId + in: query + required: false + description: The ID of the document store to upload the document to. + schema: type: string - candidateUser: - type: array - items: + - name: documentId + in: query + required: false + description: > + The ID of the document to upload. If not provided, a new ID will be generated. + Specifying an existing ID will result in an error if the document already exists. + schema: type: string - bpmnProcessId: - type: string - processDefinitionKey: - type: integer - format: int64 - processInstanceKey: - type: integer - format: int64 - formKey: - type: integer - format: int64 - creationDate: + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + properties: + file: + type: string + format: binary + metadata: + $ref: "#/components/schemas/DocumentMetadata" + required: + - file + encoding: + metadata: + contentType: application/json + responses: + "201": + description: The document was uploaded successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/DocumentReference" + "400": + description: > + The document upload failed. More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /documents/{documentId}: + get: + tags: + - Documents + summary: Download document (alpha) + description: | + Download a document from the Camunda 8 cluster. + + :::note + This endpoint is an alpha feature. It currently only supports an in-memory document store, + which is not meant for production use. + ::: + parameters: + - name: documentId + in: path + required: true + description: The ID of the document to download. + schema: + type: string + - name: storeId + in: query + required: false + description: The ID of the document store to download the document from. + schema: + type: string + responses: + "200": + description: The document was downloaded successfully. + content: + application/octet-stream: + schema: + type: string + format: binary + "404": + description: > + The document with the given ID was not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + delete: + tags: + - Documents + summary: Delete document (alpha) + description: | + Delete a document from the Camunda 8 cluster. + + :::note + This endpoint is an alpha feature. It currently only supports an in-memory document store, + which is not meant for production use. + ::: + parameters: + - name: documentId + in: path + required: true + description: The ID of the document to delete. + schema: + type: string + - name: storeId + in: query + required: false + description: The ID of the document store to delete the document from. + schema: + type: string + responses: + "200": + description: The document was deleted successfully. + "404": + description: > + The document with the given ID was not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /document/{documentId}/links: + post: + tags: + - Documents + summary: Create document link (alpha) + description: | + Create a link to a document in the Camunda 8 cluster. + + :::note + This endpoint is an alpha feature. It currently only supports an in-memory document store, + which is not meant for production use. + ::: + parameters: + - name: documentId + in: path + required: true + description: The ID of the document to link. + schema: + type: string + - name: storeId + in: query + required: false + description: The ID of the document store to link the document from. + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/DocumentLinkRequest" + responses: + "201": + description: The document link was created successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/DocumentLink" + "400": + description: > + The document link creation failed. More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /users/search: + post: + tags: + - User + summary: "Query users (alpha)" + description: | + Search for users based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + operationId: "findAllUsers" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UserSearchQueryRequest" + required: true + responses: + "200": + description: "OK" + content: + application/json: + schema: + $ref: "#/components/schemas/UserSearchResponse" + "400": + description: "Bad request" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "401": + description: "Unauthorized" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "403": + description: "Forbidden" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: "Not found" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: "Internal server error" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /incidents/search: + post: + tags: + - Incident + summary: Query incidents (alpha) + description: | + Search for incidents based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/IncidentSearchQueryRequest" + responses: + "200": + description: > + The incident search successful response. + content: + application/json: + schema: + $ref: "#/components/schemas/IncidentSearchQueryResponse" + "400": + description: > + The incident search query failed. + More details are provided in the response body. + "401": + description: "Unauthorized" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "403": + description: "Forbidden" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: "Not found" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: "Internal server error" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /incidents/{incidentKey}: + get: + tags: + - Incident + summary: Get incident by key (alpha) + description: | + Returns incident as JSON. + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + parameters: + - name: incidentKey + in: path + required: true + description: The assigned key of the incident, which acts as a unique identifier for this incident. + schema: + type: integer + format: int64 + responses: + "200": + description: > + The incident is successfully returned. + content: + application/json: + schema: + $ref: "#/components/schemas/IncidentItem" + "400": + description: > + The incident Get failed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: > + The incident with the given key was not found. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /deployments: + post: + tags: + - Resource + summary: Deploy resources + description: | + Deploys one or more resources (e.g. processes, decision models, or forms). + This is an atomic call, i.e. either all resources are deployed or none of them are. + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + properties: + resources: + type: array + description: | + The binary data to create the deployment resources. It is possible to have more than one form part with different form part names for the binary data to create a deployment. + items: + type: string + format: binary + tenantId: + type: string + description: The tenant to deploy the resources to. + required: + - resource + responses: + "200": + description: The resources are deployed. + content: + application/json: + schema: + $ref: "#/components/schemas/DeploymentResponse" + "400": + description: > + The document upload failed. More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /resources/{resourceKey}/deletion: + post: + tags: + - Resource + summary: Delete resource + description: | + Deletes a deployed resource. + This can be a process definition, decision requirements definition, or form definition + deployed using the deploy resources endpoint. Specify the resource you want to delete in the `resourceKey` parameter. + parameters: + - name: resourceKey + in: path + required: true + description: | + The key of the resource to delete. + This can be the key of a process definition, the key of a decision requirements + definition or the key of a form definition + schema: + type: integer + format: int64 + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/DeleteResourceRequest" + responses: + "200": + description: The resource is deleted. + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The resource is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /element-instances/{elementInstanceKey}/variables: + post: + tags: + - Element instance + summary: Update element instance variables + description: | + Updates all the variables of a particular scope (for example, process instance, flow element instance) with the given variable data. + Specify the element instance in the `elementInstanceKey` parameter. + parameters: + - name: elementInstanceKey + in: path + required: true + description: | + The key of the element instance to update the variables for. + This can be the process instance key (as obtained during instance creation), or a given + element, such as a service task (see the `elementInstanceKey` on the job message). + schema: + type: integer + format: int64 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/SetVariableRequest" + responses: + "204": + description: The variables were updated. + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /signals/broadcast: + post: + tags: + - Signal + summary: Broadcast signal + description: Broadcasts a signal. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/SignalBroadcastRequest" + responses: + "200": + description: The signal was broadcast. + content: + application/json: + schema: + $ref: "#/components/schemas/SignalBroadcastResponse" + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The signal is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + +components: + schemas: + UserTaskSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + description: User task search query request. + type: object + properties: + filter: + $ref: "#/components/schemas/UserTaskFilterRequest" + UserTaskSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + description: User task search query response. + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/UserTaskItem" + UserTaskFilterRequest: + description: User task filter request. + type: object + properties: + key: + type: integer + format: int64 + state: + type: string + assignee: + type: string + elementId: + type: string + candidateGroup: + type: string + candidateUser: + type: string + processDefinitionKey: + type: integer + format: int64 + processInstanceKey: + type: integer + format: int64 + tenantIds: + type: string + processDefinitionId: + type: string + variables: + type: array + items: + $ref: "#/components/schemas/UserTaskVariableFilterRequest" + UserTaskVariableFilterRequest: + type: object + properties: + name: + type: string + value: + type: string + UserTaskItem: + type: object + properties: + key: + type: integer + format: int64 + state: + type: string + assignee: + type: string + elementId: + type: string + elementInstanceKey: + type: integer + format: int64 + candidateGroup: + type: array + items: + type: string + candidateUser: + type: array + items: + type: string + processDefinitionId: + type: string + processDefinitionKey: + type: integer + format: int64 + processInstanceKey: + type: integer + format: int64 + formKey: + type: integer + format: int64 + creationDate: + type: string + format: date-time + completionDate: + type: string + format: date-time + followUpDate: + type: string + format: date-time + dueDate: + type: string + format: date-time + tenantIds: + type: string + externalFormReference: + type: string + processDefinitionVersion: + type: integer + format: int32 + customHeaders: + type: object + additionalProperties: + type: string + priority: + type: integer + description: The priority of a user task. The higher the value the higher the priority. + minimum: 0 + maximum: 100 + default: 50 + ProcessInstanceSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/ProcessInstanceFilterRequest" + ProcessInstanceFilterRequest: + type: object + properties: + running: + type: boolean + active: + type: boolean + incidents: + type: boolean + finished: + type: boolean + completed: + type: boolean + canceled: + type: boolean + retriesLeft: + type: boolean + errorMessage: + type: string + activityId: + type: string + startDate: + type: string + format: date-time + endDate: + type: string + format: date-time + bpmnProcessId: + type: string + description: The bpmn process ID. + processDefinitionVersion: + type: integer + format: int32 + variable: + allOf: + - $ref: "#/components/schemas/ProcessInstanceVariableFilterRequest" + batchOperationId: + type: string + parentProcessInstanceKey: + type: integer + format: int64 + tenantId: + type: string + ProcessInstanceVariableFilterRequest: + type: object + properties: + name: + type: string + values: + type: array + items: + type: string + ProcessInstanceSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/ProcessInstanceItem" + ProcessInstanceItem: + type: object + properties: + key: + type: integer + format: int64 + processDefinitionName: + type: string + description: The process name. + processDefinitionVersion: + type: integer + format: int32 + bpmnProcessId: + type: string + parentKey: + type: integer + format: int64 + parentFlowNodeInstanceKey: + type: integer + format: int64 + startDate: + type: string + format: date-time + endDate: + type: string + format: date-time + state: + type: string + enum: + - ACTIVE + - INCIDENT + - COMPLETED + - CANCELED + - UNKNOWN + - UNSPECIFIED + incident: + type: boolean + hasActiveOperation: + type: boolean + processDefinitionKey: + type: integer + format: int64 + tenantId: + type: string + rootInstanceId: + type: string + operations: + type: array + items: + $ref: "#/components/schemas/OperationItem" + callHierarchy: + type: array + items: + $ref: "#/components/schemas/ProcessInstanceReferenceItem" + CancelProcessInstanceRequest: + type: object + nullable: true + properties: + operationReference: + description: | + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be > 0 if provided. + type: integer + format: int64 + minimum: 1 + + FlowNodeInstanceSearchQueryRequest: + description: Flow node instance search request + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/FlowNodeInstanceFilterRequest" + FlowNodeInstanceFilterRequest: + type: object + properties: + flowNodeInstanceKey: + type: integer + description: The key of this flow node instance. + format: int64 + processInstanceKey: + type: integer + description: The process instance key. + format: int64 + processDefinitionKey: + type: integer + description: The process definition key. + format: int64 + state: + type: string + description: The state, one of ACTIVE, COMPLETED, TERMINATED. + type: + type: string + description: The flow node type + flowNodeId: + type: string + description: The flow node id + flowNodeName: + type: string + description: The flow node name + treePath: + type: string + description: The path of keys from process instance to this flow node instance separated by '/' + incident: + type: boolean + description: Shows whether this flow node instance has an incident related to + incidentKey: + type: integer + description: The key of incident if field incident is true + format: int64 + tenantId: + description: The tenant id + type: string + FlowNodeInstanceSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/FlowNodeInstanceItem" + FlowNodeInstanceItem: + type: object + properties: + flowNodeInstanceKey: + type: integer + format: int64 + processInstanceKey: + type: integer + format: int64 + processDefinitionKey: + type: integer + format: int64 + startDate: + type: string + endDate: + type: string + flowNodeId: + type: string + flowNodeName: + type: string + treePath: + type: string + type: + type: string + state: + type: string + incident: + type: boolean + incidentKey: + type: integer + format: int64 + tenantId: + type: string + DecisionDefinitionSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/DecisionDefinitionFilterRequest" + DecisionDefinitionFilterRequest: + type: object + properties: + decisionDefinitionKey: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this decision definition. + decisionDefinitionId: + type: string + description: The DMN id of the decision definition. + decisionDefinitionName: + type: string + description: The DMN name of the decision definition. + version: + type: integer + format: int32 + description: The assigned version of the decision definition. + decisionRequirementsId: + type: string + description: the DMN id of the decision requirements graph that the decision definition is part of. + decisionRequirementsKey: + type: integer + format: int64 + description: The assigned key of the decision requirements graph that the decision definition is part of. + tenantId: + type: string + description: The tenant id of the decision definition. + IncidentSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/IncidentFilterRequest" + IncidentFilterRequest: + type: object + properties: + key: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this incident. + processDefinitionKey: + type: integer + format: int64 + description: The process definition key associated to this incident. + processDefinitionId: + type: string + description: The bpmn process id associated to this incident. + processInstanceKey: + type: integer + format: int64 + description: The process instance key associated to this incident. + errorType: + type: string + description: Incident error type with a defined set of values. + enum: + - UNSPECIFIED + - UNKNOWN + - IO_MAPPING_ERROR + - JOB_NO_RETRIES + - CONDITION_ERROR + - EXTRACT_VALUE_ERROR + - CALLED_ELEMENT_ERROR + - UNHANDLED_ERROR_EVENT + - MESSAGE_SIZE_EXCEEDED + - CALLED_DECISION_ERROR + - DECISION_EVALUATION_ERROR + - FORM_NOT_FOUND + errorMessage: + type: string + description: Error message which describes the error in more detail. + flowNodeId: + type: string + description: The flow node id associated to this incident. + flowNodeInstanceKey: + type: integer + format: int64 + description: The flow node instance key associated to this incident. + creationTime: + type: string + description: Date of incident creation. + format: date-time + state: + type: string + description: State of this incident with a defined set of values. + enum: + - ACTIVE + - MIGRATED + - RESOLVED + - PENDING + jobKey: + type: integer + format: int64 + description: The job key, if exists, associated with this incident. + treePath: + type: string + description: The path from process instance via flow node ids and flow node instance keys leading to this incident. + tenantId: + description: The tenant id of the incident. + type: string + IncidentSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/IncidentItem" + IncidentItem: + type: object + properties: + key: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this incident. + processDefinitionKey: + type: integer + format: int64 + description: The process definition key associated to this incident. + processDefinitionId: + type: string + description: The bpmn process id associated to this incident. + processInstanceKey: + type: integer + format: int64 + description: The process instance key associated to this incident. + errorType: + type: string + description: Incident error type with a defined set of values. + enum: + - UNSPECIFIED + - UNKNOWN + - IO_MAPPING_ERROR + - JOB_NO_RETRIES + - CONDITION_ERROR + - EXTRACT_VALUE_ERROR + - CALLED_ELEMENT_ERROR + - UNHANDLED_ERROR_EVENT + - MESSAGE_SIZE_EXCEEDED + - CALLED_DECISION_ERROR + - DECISION_EVALUATION_ERROR + - FORM_NOT_FOUND + errorMessage: + type: string + description: Error message which describes the error in more detail. + flowNodeId: + type: string + description: The flow node id associated to this incident. + flowNodeInstanceKey: + type: integer + format: int64 + description: The flow node instance key associated to this incident. + creationTime: + type: string + description: Date of incident creation. + format: date-time + state: + type: string + description: State of this incident with a defined set of values. + enum: + - ACTIVE + - MIGRATED + - RESOLVED + - PENDING + jobKey: + type: integer + description: The job key, if exists, associated with this incident. + format: int64 + treePath: + type: string + description: The path from process instance via flow node ids and flow node instance keys leading to this incident. + tenantId: + description: The tenant id of the incident. + type: string + OperationItem: + description: " Operation" + type: object + properties: + id: + type: string + batchOperationId: + type: string + type: + type: string + enum: + - RESOLVE_INCIDENT + - CANCEL_PROCESS_INSTANCE + - DELETE_PROCESS_INSTANCE + - ADD_VARIABLE + - UPDATE_VARIABLE + - MODIFY_PROCESS_INSTANCE + - DELETE_DECISION_DEFINITION + - DELETE_PROCESS_DEFINITION + - MIGRATE_PROCESS_INSTANCE + state: + type: string + enum: + - SCHEDULED + - LOCKED + - SENT + - FAILED + - COMPLETED + errorMessage: + type: string + completedDate: + type: string + format: date-time + ProcessInstanceReferenceItem: + description: "Process instance reference description" + type: object + properties: + instanceId: + type: string + processDefinitionId: + type: string + processDefinitionName: type: string - format: date-time - completionDate: + DecisionDefinitionSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/DecisionDefinitionItem" + DecisionDefinitionItem: + type: object + properties: + decisionDefinitionKey: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this decision definition. + decisionDefinitionId: type: string - format: date-time - followUpDate: + description: The DMN id of the decision definition. + decisionDefinitionName: type: string - format: date-time - dueDate: + description: The DMN name of the decision definition. + version: + type: integer + format: int32 + description: The assigned version of the decision definition. + decisionRequirementsId: type: string - format: date-time - tenantIds: + description: the DMN id of the decision requirements graph that the decision definition is part of. + decisionRequirementsKey: + type: integer + format: int64 + description: The assigned key of the decision requirements graph that the decision definition is part of. + tenantId: type: string - externalFormReference: + description: The tenant id of the decision definition. + AuthorizationPatchRequest: + type: object + properties: + action: + description: Indicates if permissions should be added or removed. type: string - processDefinitionVersion: + enum: + - ADD + - REMOVE + resourceType: + description: The type of resource to add/remove perissions to/from. + enum: + - AUTHORIZATION + - MESSAGE + - JOB + - APPLICATION + - TENANT + - DEPLOYMENT + - PROCESS_DEFINITION + - USER_TASK + - DECISION_REQUIREMENTS_DEFINITION + - DECISION_DEFINITION + - USER_GROUP + - USER + - ROLE + permissions: + type: array + description: The permissions to add/remove. + items: + properties: + permissionType: + description: Specifies the type of permissions. + enum: + - CREATE + - READ + - UPDATE + - DELETE + resourceIds: + type: array + description: A list of resource IDs the permission relates to. + items: + type: string + UserRequest: + type: "object" + properties: + password: + type: "string" + username: + type: "string" + name: + type: "string" + email: + type: "string" + UserCreateResponse: + type: "object" + properties: + userKey: + description: The key of the created user + type: "integer" + format: "int64" + UserSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/UserFilterRequest" + UserFilterRequest: + type: object + properties: + username: + type: "string" + name: + type: "string" + email: + type: "string" + UserResponse: + type: "object" + properties: + id: + type: "integer" + format: "int64" + key: + type: "integer" + format: "int64" + username: + type: "string" + name: + type: "string" + email: + type: "string" + UserSearchResponse: + type: object + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + properties: + items: + type: array + items: + $ref: "#/components/schemas/UserResponse" + TopologyResponse: + description: The response of a topology request. + type: object + properties: + brokers: + description: A list of brokers that are part of this cluster. + type: array + nullable: true + items: + $ref: "#/components/schemas/BrokerInfo" + clusterSize: + description: The number of brokers in the cluster. type: integer format: int32 - customHeaders: + nullable: true + partitionsCount: + description: The number of partitions are spread across the cluster. + type: integer + format: int32 + nullable: true + replicationFactor: + description: The configured replication factor for this cluster. + type: integer + format: int32 + nullable: true + gatewayVersion: + description: The version of the Zeebe Gateway. + type: string + nullable: true + LicenseResponse: + description: The response of a license request. + type: object + properties: + validLicense: + description: True if the Camunda license is valid, false if otherwise + type: boolean + nullable: false + licenseType: + description: Will return the license type property of the Camunda license + type: string + BrokerInfo: + description: Provides information on a broker node. + type: object + properties: + nodeId: + description: The unique (within a cluster) node ID for the broker. + type: integer + format: int32 + host: + description: The hostname for reaching the broker. + type: string + port: + description: The port for reaching the broker. + type: integer + format: int32 + partitions: + description: A list of partitions managed or replicated on this broker. + type: array + items: + $ref: "#/components/schemas/Partition" + version: + description: The broker version. + type: string + Partition: + description: Provides information on a partition within a broker node. + type: object + properties: + partitionId: + description: The unique ID of this partition. + type: integer + format: int32 + role: + description: Describes the Raft role of the broker for a given partition. + type: string + enum: + - leader + - follower + - inactive + health: + description: Describes the current health of the partition. + type: string + enum: + - healthy + - unhealthy + - dead + UserTaskCompletionRequest: + type: object + properties: + variables: + additionalProperties: true + description: The variables to complete the user task with. type: object - additionalProperties: + nullable: true + action: + description: > + A custom action value that will be accessible from user task events resulting + from this endpoint invocation. If not provided, it will default to "complete". + type: string + nullable: true + UserTaskAssignmentRequest: + type: object + properties: + assignee: + description: The assignee for the user task. The assignee must not be empty or `null`. + type: string + nullable: false + allowOverride: + description: > + By default, the task is reassigned if it was already assigned. Set this to `false` + to return an error in such cases. The task must then first be unassigned to + be assigned again. Use this when you have users picking from group task + queues to prevent race conditions. + type: boolean + nullable: true + action: + description: > + A custom action value that will be accessible from user task events resulting + from this endpoint invocation. If not provided, it will default to "assign". + type: string + nullable: true + UserTaskUpdateRequest: + type: object + properties: + changeset: + $ref: "#/components/schemas/Changeset" + action: + description: > + A custom action value that will be accessible from user task events resulting + from this endpoint invocation. If not provided, it will default to "update". + type: string + nullable: true + Changeset: + description: | + JSON object with changed task attribute values. + + The following attributes can be adjusted with this endpoint, additional attributes + will be ignored: + + * `candidateGroups` - reset by providing an empty list + * `candidateUsers` - reset by providing an empty list + * `dueDate` - reset by providing an empty String + * `followUpDate` - reset by providing an empty String + * `priority` - minimum 0, maximum 100, default 50 + + Providing any of those attributes with a `null` value or omitting it preserves + the persisted attribute's value. + + The assignee cannot be adjusted with this endpoint, use the Assign task endpoint. + This ensures correct event emission for assignee changes. + type: object + nullable: true + additionalProperties: true + properties: + dueDate: + type: string + format: date-time + description: The due date of the task. Reset by providing an empty String. + nullable: true + followUpDate: + type: string + format: date-time + description: The follow-up date of the task. Reset by providing an empty String. + nullable: true + candidateUsers: + type: array + description: The list of candidate users of the task. Reset by providing an empty list. + items: + type: string + nullable: true + candidateGroups: + type: array + description: The list of candidate groups of the task. Reset by providing an empty list. + items: type: string + nullable: true priority: type: integer + format: int32 + description: The priority of the task. minimum: 0 - maximum: 100 default: 50 - ProcessInstanceSearchQueryRequest: - allOf: - - $ref: "#/components/schemas/SearchQueryRequest" + maximum: 100 + nullable: true + ClockPinRequest: type: object properties: - filter: - allOf: - - $ref: "#/components/schemas/ProcessInstanceFilterRequest" - ProcessInstanceFilterRequest: + timestamp: + description: The exact time in epoch milliseconds to which the clock should be pinned. + type: integer + format: int64 + required: + - timestamp + JobActivationRequest: type: object properties: - key: + type: + description: > + the job type, as defined in the BPMN process (e.g. ) + type: string + worker: + description: the name of the worker activating the jobs, mostly used for logging purposes + type: string + nullable: true + timeout: + description: > + a job returned after this call will not be activated by another call until the + timeout (in ms) has been reached + type: integer + format: int64 + maxJobsToActivate: + description: the maximum jobs to activate by this request + type: integer + format: int32 + fetchVariable: + description: > + a list of variables to fetch as the job variables; if empty, all visible variables at + the time of activation for the scope of the job will be returned type: array + nullable: true items: - type: integer - format: int64 - variables: + type: string + requestTimeout: + description: > + The request will be completed when at least one job is activated or after the + requestTimeout (in ms). If the requestTimeout = 0, a default timeout is used. + If the requestTimeout < 0, long polling is disabled and the request is completed + immediately, even when no job is activated. + type: integer + format: int64 + default: 0 + nullable: true + tenantIds: + description: a list of IDs of tenants for which to activate jobs type: array items: - $ref: "#/components/schemas/VariableValueFilterRequest" - ProcessInstanceSearchQueryResponse: - allOf: - - $ref: "#/components/schemas/SearchQueryResponse" + type: string + nullable: true + required: + - type + - timeout + - maxJobsToActivate + JobActivationResponse: + description: The list of activated jobs type: object properties: - items: + jobs: type: array items: - $ref: "#/components/schemas/ProcessInstanceItem" - ProcessInstanceItem: + $ref: "#/components/schemas/ActivatedJob" + ActivatedJob: type: object properties: - tenantId: - type: string key: + description: the key, a unique identifier for the job type: integer format: int64 - processDefinitionKey: + type: + description: the type of the job (should match what was requested) + type: string + processInstanceKey: + description: the job's process instance key type: integer format: int64 - processVersion: - type: integer - format: int32 - bpmnProcessId: + processDefinitionId: + description: the bpmn process ID of the job's process definition type: string - parentKey: + processDefinitionVersion: + description: the version of the job's process definition type: integer - format: int64 - parentFlowNodeInstanceKey: + format: int32 + processDefinitionKey: + description: the key of the job's process definition type: integer format: int64 - startDate: - type: string - format: date-time - endDate: + elementId: + description: the associated task element ID type: string - format: date-time - DecisionDefinitionSearchQueryRequest: - allOf: - - $ref: "#/components/schemas/SearchQueryRequest" - type: object - properties: - filter: - allOf: - - $ref: "#/components/schemas/DecisionDefinitionFilterRequest" - DecisionDefinitionFilterRequest: - type: object - properties: - decisionKey: + elementInstanceKey: + description: > + the unique key identifying the associated task, unique within the scope of the + process instance type: integer format: int64 - dmnDecisionId: - type: string - dmnDecisionName: + customHeaders: + description: a set of custom headers defined during modelling; returned as a serialized JSON document + type: object + additionalProperties: true + worker: + description: the name of the worker which activated this job type: string - version: + retries: + description: the amount of retries left to this job (should always be positive) type: integer format: int32 - dmnDecisionRequirementsId: - type: string - decisionRequirementsKey: + deadline: + description: when the job can be activated again, sent as a UNIX epoch timestamp type: integer format: int64 + variables: + description: All variables visible to the task scope, computed at activation time + type: object + additionalProperties: true tenantId: + description: The ID of the tenant that owns the job type: string - IncidentSearchQueryRequest: - allOf: - - $ref: "#/components/schemas/SearchQueryRequest" - type: object - properties: - filter: - allOf: - - $ref: "#/components/schemas/IncidentFilterRequest" - IncidentFilterRequest: + JobFailRequest: type: object properties: - key: - type: integer - format: int64 - processDefinitionKey: - type: integer - format: int64 - processInstanceKey: + retries: + description: > + The amount of retries the job should have left type: integer - format: int64 - type: - type: string - message: - type: string - flowNodeId: - type: string - flowNodeInstanceId: - type: string - state: + format: int32 + default: 0 + errorMessage: + description: > + An optional message describing why the job failed. This is particularly useful if a job + runs out of retries and an incident is raised, as this message can help explain why an + incident was raised. type: string - jobKey: + nullable: true + retryBackOff: + description: > + The backoff timeout (in ms) for the next retry. type: integer format: int64 - tenantId: + default: 0 + variables: + additionalProperties: true + description: > + JSON object that will instantiate the variables at the local scope of the job's + associated task. + type: object + nullable: true + JobErrorRequest: + type: object + properties: + errorCode: + description: > + The error code that will be matched with an error catch event. type: string - hasActiveOperation: - type: boolean - IncidentSearchQueryResponse: - allOf: - - $ref: "#/components/schemas/SearchQueryResponse" + errorMessage: + description: > + An error message that provides additional context. + type: string + nullable: true + variables: + additionalProperties: true + description: > + JSON object that will instantiate the variables at the local scope of the error catch event that catches the thrown error. + type: object + nullable: true + required: + - errorCode + JobCompletionRequest: type: object properties: - items: - type: array - items: - $ref: "#/components/schemas/IncidentItem" - IncidentItem: + variables: + additionalProperties: true + description: The variables to complete the job with. + type: object + nullable: true + JobUpdateRequest: + type: object + properties: + changeset: + $ref: "#/components/schemas/JobChangeset" + required: + - changeset + JobChangeset: + description: | + JSON object with changed job attribute values. + + The following attributes can be adjusted with this endpoint, additional attributes + will be ignored: + + * `retries` - The new amount of retries for the job; must be a positive number. + * `timeout` - The duration of the new timeout in ms, starting from the current moment. + + Providing any of those attributes with a null value or omitting it preserves the persisted attribute’s value. + + The job cannot be completed or failed with this endpoint, use the complete job or fail job endpoints instead. type: object properties: - key: - type: integer - format: int64 - processDefinitionKey: - type: integer - format: int64 - processInstanceKey: + retries: type: integer - format: int64 - type: - type: string - message: - type: string - flowNodeId: - type: string - flowNodeInstanceId: - type: string - creationTime: - type: string - state: - type: string - jobKey: + format: int32 + description: The new amount of retries for the job; must be a positive number. + nullable: true + timeout: type: integer format: int64 - tenantId: - type: string - hasActiveOperation: - type: boolean - lastOperation: - $ref: "#/components/schemas/OperationItem" - rootCauseInstance: - $ref: "#/components/schemas/ProcessInstanceReferenceItem" - rootCauseDecision: - $ref: "#/components/schemas/DecisionInstanceReferenceItem" - OperationItem: - description: " Operation" + description: The duration of the new timeout in ms, starting from the current moment. + nullable: true + + ProblemDetail: + description: > + A Problem detail object as described in [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457). + There may be additional properties specific to the problem type. type: object properties: - id: - type: string - batchOperationId: - type: string type: type: string - state: - type: string - errorMessage: - type: string - completedDate: - type: string - ProcessInstanceReferenceItem: - description: "Process instance reference description" - type: object - properties: - instanceId: - type: string - processDefinitionId: - type: string - processDefinitionName: + format: uri + description: A URI identifying the problem type. + default: about:blank + title: type: string - DecisionInstanceReferenceItem: - description: "Decision instance reference description" - type: object - properties: - instanceId: + description: A summary of the problem type. + status: + type: integer + format: int32 + description: The HTTP status code for this problem. + minimum: 400 + maximum: 600 + detail: type: string - decisionName: + description: An explanation of the problem in more detail. + instance: type: string - DecisionDefinitionSearchQueryResponse: - allOf: - - $ref: "#/components/schemas/SearchQueryResponse" + format: uri + description: A URI identifying the origin of the problem. + SearchQueryRequest: type: object properties: - items: + sort: type: array items: - $ref: "#/components/schemas/DecisionDefinitionItem" - DecisionDefinitionItem: + allOf: + - $ref: "#/components/schemas/SearchQuerySortRequest" + page: + allOf: + - $ref: "#/components/schemas/SearchQueryPageRequest" + type: object + SearchQueryPageRequest: type: object properties: - decisionKey: - type: integer - format: int64 - dmnDecisionId: - type: string - dmnDecisionName: - type: string - version: + from: type: integer format: int32 - dmnDecisionRequirementsId: - type: string - decisionRequirementsKey: + limit: type: integer - format: int64 - tenantId: - type: string - AuthorizationAssignRequest: + format: int32 + searchAfter: + type: array + items: + type: object + searchBefore: + type: array + items: + type: object + SearchQuerySortRequest: type: object properties: - ownerKey: - type: string - ownerType: - type: string - enum: - - USER - - ROLE - - GROUP - resourceKey: + field: type: string - resourceType: + order: type: string - permissions: - type: array - items: - type: string - UserWithPasswordRequest: - type: "object" - properties: - password: - type: "string" - username: - type: "string" - name: - type: "string" - email: - type: "string" - UserSearchQueryRequest: - allOf: - - $ref: "#/components/schemas/SearchQueryRequest" + default: asc + required: + - field + SearchQueryResponse: type: object properties: - filter: + page: allOf: - - $ref: "#/components/schemas/UserFilterRequest" - UserFilterRequest: - type: object - properties: - username: - type: "string" - name: - type: "string" - email: - type: "string" - UserResponse: - type: "object" - properties: - id: - type: "integer" - format: "int64" - username: - type: "string" - name: - type: "string" - email: - type: "string" - UserSearchResponse: + - $ref: "#/components/schemas/SearchQueryPageResponse" + type: object + SearchQueryPageResponse: type: object - allOf: - - $ref: "#/components/schemas/SearchQueryResponse" properties: - items: + totalItems: + type: integer + format: int64 + firstSortValues: type: array items: - $ref: "#/components/schemas/UserResponse" - TopologyResponse: - description: The response of a topology request. - type: object - properties: - brokers: - description: A list of brokers that are part of this cluster. + type: object + lastSortValues: type: array - nullable: true items: - $ref: "#/components/schemas/BrokerInfo" - clusterSize: - description: The number of brokers in the cluster. - type: integer - format: int32 - nullable: true - partitionsCount: - description: The number of partitions are spread across the cluster. - type: integer - format: int32 - nullable: true - replicationFactor: - description: The configured replication factor for this cluster. - type: integer - format: int32 - nullable: true - gatewayVersion: - description: The version of the Zeebe Gateway. - type: string - nullable: true - LicenseResponse: - description: The response of a license request. + type: object + VariableValueFilterRequest: type: object properties: - validLicense: - description: True if the Camunda license is valid, false if otherwise - type: boolean - nullable: false - licenseType: - description: Will return the license type property of the Camunda license + name: type: string - BrokerInfo: - description: Provides information on a broker node. + eq: + type: object + neq: + type: object + gt: + type: object + gte: + type: object + lt: + type: object + lte: + type: object + DecisionRequirementsSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" type: object properties: - nodeId: - description: The unique (within a cluster) node ID for the broker. + filter: + allOf: + - $ref: "#/components/schemas/DecisionRequirementsFilterRequest" + DecisionRequirementsFilterRequest: + type: object + properties: + decisionRequirementsKey: type: integer - format: int32 - host: - description: The hostname for reaching the broker. + format: int64 + description: The assigned key, which acts as a unique identifier for this decision requirements. + decisionRequirementsName: type: string - port: - description: The port for reaching the broker. + description: The DMN name of the decision requirements. + version: type: integer format: int32 - partitions: - description: A list of partitions managed or replicated on this broker. + description: The assigned version of the decision requirements. + decisionRequirementsId: + type: string + description: the DMN id of the decision requirements. + tenantId: + type: string + description: The tenant ID of the decision requirements. + DecisionRequirementsSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: type: array items: - $ref: "#/components/schemas/Partition" - version: - description: The broker version. - type: string - Partition: - description: Provides information on a partition within a broker node. + $ref: "#/components/schemas/DecisionRequirementsItem" + DecisionRequirementsItem: type: object properties: - partitionId: - description: The unique ID of this partition. + decisionRequirementsKey: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this decision requirements. + decisionRequirementsName: + type: string + description: The DMN name of the decision requirements. + version: type: integer format: int32 - role: - description: Describes the Raft role of the broker for a given partition. + description: The assigned version of the decision requirements. + decisionRequirementsId: type: string - enum: - - leader - - follower - - inactive - health: - description: Describes the current health of the partition. + description: the DMN id of the decision requirements. + resourceName: type: string - enum: - - healthy - - unhealthy - - dead - UserTaskCompletionRequest: + description: The name of the resource from which this decision requirements was parsed. + tenantId: + type: string + description: The tenant ID of the decision requirements. + EvaluateDecisionRequest: type: object properties: + decisionDefinitionKey: + description: | + The unique key identifying the decision to be evaluated. + Cannot be used together with decisionDefinitionId. + type: integer + format: int64 + decisionDefinitionId: + description: | + The ID of the decision to be evaluated. + Cannot be used together with decisionDefinitionKey. When using the decision ID, the latest + deployed version of the decision is used. + type: string variables: + description: The message variables as JSON document. additionalProperties: true - description: The variables to complete the user task with. type: object - nullable: true - action: - description: > - A custom action value that will be accessible from user task events resulting - from this endpoint invocation. If not provided, it will default to "complete". + tenantId: + description: The tenant ID of the decision. type: string - nullable: true - UserTaskAssignmentRequest: + EvaluateDecisionResponse: type: object properties: - assignee: - description: The assignee for the user task. The assignee must not be empty or `null`. + decisionDefinitionKey: + description: The unique key identifying the decision which was evaluated. + type: integer + format: int64 + decisionDefinitionId: + description: The ID of the decision which was evaluated. type: string - nullable: false - allowOverride: - description: > - By default, the task is reassigned if it was already assigned. Set this to `false` - to return an error in such cases. The task must then first be unassigned to - be assigned again. Use this when you have users picking from group task - queues to prevent race conditions. - type: boolean - nullable: true - action: - description: > - A custom action value that will be accessible from user task events resulting - from this endpoint invocation. If not provided, it will default to "assign". + decisionDefinitionName: + description: The name of the decision which was evaluated. type: string - nullable: true - UserTaskUpdateRequest: - type: object - properties: - changeset: - $ref: "#/components/schemas/Changeset" - action: - description: > - A custom action value that will be accessible from user task events resulting - from this endpoint invocation. If not provided, it will default to "update". + decisionDefinitionVersion: + description: The version of the decision which was evaluated. + type: integer + format: int32 + decisionRequirementsId: + description: The ID of the decision requirements graph that the decision which was evaluated is part of. type: string - nullable: true - Changeset: - description: | - JSON object with changed task attribute values. - - The following attributes can be adjusted with this endpoint, additional attributes - will be ignored: - - * `candidateGroups` - reset by providing an empty list - * `candidateUsers` - reset by providing an empty list - * `dueDate` - reset by providing an empty String - * `followUpDate` - reset by providing an empty String - * `priority` - minimum 0, maximum 100, default 50 - - Providing any of those attributes with a `null` value or omitting it preserves - the persisted attribute's value. - - The assignee cannot be adjusted with this endpoint, use the Assign task endpoint. - This ensures correct event emission for assignee changes. - type: object - nullable: true - additionalProperties: true - properties: - dueDate: + decisionRequirementsKey: + description: The unique key identifying the decision requirements graph that the decision which was evaluated is part of. + type: integer + format: int64 + output: + description: | + JSON document that will instantiate the result of the decision which was evaluated. type: string - format: date-time - description: The due date of the task. Reset by providing an empty String. - nullable: true - followUpDate: + failedDecisionDefinitionId: + description: The ID of the decision which failed during evaluation. type: string - format: date-time - description: The follow-up date of the task. Reset by providing an empty String. - nullable: true - candidateUsers: - type: array - description: The list of candidate users of the task. Reset by providing an empty list. - items: - type: string - nullable: true - candidateGroups: + failureMessage: + description: Message describing why the decision which was evaluated failed. + type: string + tenantId: + description: The tenant ID of the evaluated decision. + type: string + decisionInstanceKey: + description: The unique key identifying this decision evaluation. + type: integer + format: int64 + evaluatedDecisions: type: array - description: The list of candidate groups of the task. Reset by providing an empty list. items: - type: string - nullable: true - priority: - type: integer - format: int32 - description: The priority of the task. - minimum: 0 - default: 50 - maximum: 100 - nullable: true - ClockPinRequest: + $ref: "#/components/schemas/EvaluatedDecisionItem" + EvaluatedDecisionItem: type: object + description: List of decisions that were evaluated within the requested decision evaluation. properties: - timestamp: - description: The exact time in epoch milliseconds to which the clock should be pinned. + decisionDefinitionKey: + description: The unique key identifying the decision which was evaluate. type: integer format: int64 - required: - - timestamp - JobActivationRequest: - type: object - properties: - type: - description: > - the job type, as defined in the BPMN process (e.g. ) + decisionDefinitionId: + description: The ID of the decision which was evaluated. type: string - worker: - description: the name of the worker activating the jobs, mostly used for logging purposes + decisionDefinitionName: + description: The name of the decision which was evaluated. type: string - nullable: true - timeout: - description: > - a job returned after this call will not be activated by another call until the - timeout (in ms) has been reached - type: integer - format: int64 - maxJobsToActivate: - description: the maximum jobs to activate by this request + decisionDefinitionVersion: + description: The version of the decision which was evaluated. type: integer format: int32 - fetchVariable: - description: > - a list of variables to fetch as the job variables; if empty, all visible variables at - the time of activation for the scope of the job will be returned + decisionDefinitionType: + description: The type of the decision which was evaluated. + type: string + output: + description: | + JSON document that will instantiate the result of the decision which was evaluated. + type: string + tenantId: + description: The tenant ID of the evaluated decision. + type: string + matchedRules: type: array - nullable: true items: - type: string - requestTimeout: - description: > - The request will be completed when at least one job is activated or after the - requestTimeout (in ms). If the requestTimeout = 0, a default timeout is used. - If the requestTimeout < 0, long polling is disabled and the request is completed - immediately, even when no job is activated. - type: integer - format: int64 - default: 0 - nullable: true - tenantIds: - description: a list of IDs of tenants for which to activate jobs + $ref: "#/components/schemas/MatchedDecisionRuleItem" + evaluatedInputs: type: array items: - type: string - nullable: true - required: - - type - - timeout - - maxJobsToActivate - JobActivationResponse: - description: The list of activated jobs + $ref: "#/components/schemas/EvaluatedDecisionInputItem" + MatchedDecisionRuleItem: type: object + description: The decision rules that matched within this decision evaluation. properties: - jobs: + ruleId: + description: The ID of the matched rule. + type: string + ruleIndex: + description: The index of the matched rule. + type: integer + format: int32 + evaluatedOutputs: type: array items: - $ref: "#/components/schemas/ActivatedJob" - ActivatedJob: + $ref: "#/components/schemas/EvaluatedDecisionOutputItem" + EvaluatedDecisionInputItem: + type: object + description: The decision inputs that were evaluated within this decision evaluation. + properties: + inputId: + description: The ID of the evaluated decision input. + type: string + inputName: + description: The name of the evaluated decision input. + type: string + inputValue: + description: The value of the evaluated decision input. + type: string + EvaluatedDecisionOutputItem: + type: object + description: The evaluated decision outputs. + properties: + outputId: + description: The ID of the evaluated decision output. + type: string + outputName: + description: The name of the evaluated decision output. + type: string + outputValue: + description: The value of the evaluated decision output. + type: string + DecisionInstanceSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/DecisionInstanceFilterRequest" + DecisionInstanceFilterRequest: type: object properties: key: - description: the key, a unique identifier for the job type: integer format: int64 - type: - description: the type of the job (should match what was requested) + description: The key of the decision instance. + state: + $ref: "#/components/schemas/DecisionInstanceStateEnum" + description: The state of the decision instance. + evaluationFailure: type: string + description: The evaluation failure of the decision instance. + processDefinitionKey: + type: integer + format: int64 + description: The key of the process definition. processInstanceKey: - description: the job's process instance key type: integer format: int64 - bpmnProcessId: - description: the bpmn process ID of the job's process definition + description: The key of the process instance. + decisionDefinitionKey: + type: integer + format: int64 + description: The key of the decision. + decisionDefinitionId: type: string - processDefinitionVersion: - description: the version of the job's process definition + description: The ID of the DMN decision. + decisionDefinitionName: + type: string + description: The name of the DMN decision. + decisionDefinitionVersion: type: integer format: int32 - processDefinitionKey: - description: the key of the job's process definition + description: The version of the decision. + decisionDefinitionType: + $ref: "#/components/schemas/DecisionInstanceTypeEnum" + description: The type of the decision. + tenantId: + type: string + description: The tenant ID of the decision instance. + DecisionInstanceSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/DecisionInstanceItem" + + DecisionInstanceItem: + type: object + properties: + key: type: integer format: int64 - elementId: - description: the associated task element ID + description: The key of the decision instance. + state: + $ref: "#/components/schemas/DecisionInstanceStateEnum" + description: The state of the decision instance. + evaluationDate: type: string - elementInstanceKey: - description: > - the unique key identifying the associated task, unique within the scope of the - process instance + format: date-time + description: The evaluation date of the decision instance. + evaluationFailure: + type: string + description: The evaluation failure of the decision instance. + processDefinitionKey: type: integer format: int64 - customHeaders: - description: a set of custom headers defined during modelling; returned as a serialized JSON document - type: object - additionalProperties: true - worker: - description: the name of the worker which activated this job - type: string - retries: - description: the amount of retries left to this job (should always be positive) + description: The key of the process definition. + processInstanceKey: type: integer - format: int32 - deadline: - description: when the job can be activated again, sent as a UNIX epoch timestamp + format: int64 + description: The key of the process instance. + decisionDefinitionKey: type: integer format: int64 - variables: - description: All variables visible to the task scope, computed at activation time - type: object - additionalProperties: true + description: The key of the decision. + decisionDefinitionId: + type: string + description: The ID of the DMN decision. + decisionDefinitionName: + type: string + description: The name of the DMN decision. + decisionDefinitionVersion: + type: integer + format: int32 + description: The version of the decision. + decisionDefinitionType: + $ref: "#/components/schemas/DecisionInstanceTypeEnum" + description: The type of the decision. + result: + type: string + description: The result of the decision instance. tenantId: - description: the id of the tenant that owns the job type: string - JobFailRequest: + description: The tenant ID of the decision instance. + + DecisionInstanceTypeEnum: + enum: + - DECISION + - DECISION_TABLE + - LITERAL_EXPRESSION + - RELATION + - UNSPECIFIED + - UNKNOWN + DecisionInstanceStateEnum: + enum: + - EVALUATED + - FAILED + - UNKNOWN + - UNSPECIFIED + + MessageCorrelationRequest: type: object properties: - retries: - description: > - The amount of retries the job should have left - type: integer - format: int32 - default: 0 - errorMessage: + name: description: > - An optional message describing why the job failed. This is particularly useful if a job - runs out of retries and an incident is raised, as this message can help explain why an - incident was raised. + The message name as defined in the BPMN process type: string - nullable: true - retryBackOff: - description: > - The backoff timeout (in ms) for the next retry. - type: integer - format: int64 - default: 0 + correlationKey: + description: The correlation key of the message + type: string + default: "" variables: + description: The message variables as JSON document additionalProperties: true - description: > - JSON object that will instantiate the variables at the local scope of the job's - associated task. type: object nullable: true - JobErrorRequest: + tenantId: + description: the tenant for which the message is published + type: string + nullable: true + MessageCorrelationResponse: + description: | + The message key of the correlated message, as well as the first process instance key it + correlated with. type: object properties: - errorCode: - description: > - The error code that will be matched with an error catch event. + messageKey: + description: The key of the correlated message + type: integer + format: int64 + tenantId: + description: The tenant ID of the correlated message type: string - errorMessage: - description: > - An error message that provides additional context. + processInstanceKey: + description: The key of the first process instance the message correlated with + type: integer + format: int64 + MessagePublicationRequest: + type: object + properties: + name: + description: The name of the message. + type: string + correlationKey: + description: The correlation key of the message. + type: string + default: "" + timeToLive: + description: Timespan (in ms) to buffer the message on the broker. + type: integer + format: int64 + default: 0 + messageId: + description: | + The unique ID of the message. Only useful to ensure only one message with the given ID + will ever be published (during its lifetime). type: string nullable: true variables: + description: The message variables as JSON document. additionalProperties: true - description: > - JSON object that will instantiate the variables at the local scope of the error catch event that catches the thrown error. type: object nullable: true - required: - - errorCode - JobCompletionRequest: - type: object - properties: - variables: - additionalProperties: true - description: The variables to complete the job with. - type: object + tenantId: + description: The tenant of the message sender. + type: string nullable: true - JobUpdateRequest: - type: object - properties: - changeset: - $ref: "#/components/schemas/JobChangeset" required: - - changeset - JobChangeset: - description: | - JSON object with changed job attribute values. - - The following attributes can be adjusted with this endpoint, additional attributes - will be ignored: - - * `retries` - The new amount of retries for the job; must be a positive number. - * `timeout` - The duration of the new timeout in ms, starting from the current moment. - - Providing any of those attributes with a null value or omitting it preserves the persisted attribute’s value. - - The job cannot be completed or failed with this endpoint, use the complete job or fail job endpoints instead. + - name + - correlationKey + MessagePublicationResponse: + description: The message key of the published message. type: object - additionalProperties: true properties: - retries: - type: integer - format: int32 - description: The new amount of retries for the job; must be a positive number. - nullable: true - timeout: + messageKey: + description: The key of the message type: integer format: int64 - description: The duration of the new timeout in ms, starting from the current moment. - nullable: true + tenantId: + description: The tenant ID of the message. + type: string - ProblemDetail: - description: > - A Problem detail object as described in [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457). - There may be additional properties specific to the problem type. + DocumentReference: type: object properties: - type: - type: string - format: uri - description: A URI identifying the problem type. - default: about:blank - title: + documentType: type: string - description: A summary of the problem type. - status: - type: integer - format: int32 - description: The HTTP status code for this problem. - minimum: 400 - maximum: 600 - detail: + description: Document discriminator. Always set to "camunda". + enum: + - camunda + storeId: type: string - description: An explanation of the problem in more detail. - instance: + description: The ID of the document store. + documentId: type: string - format: uri - description: A URI identifying the origin of the problem. - SearchQueryRequest: - type: object - properties: - sort: - type: array - items: - allOf: - - $ref: "#/components/schemas/SearchQuerySortRequest" - page: - allOf: - - $ref: "#/components/schemas/SearchQueryPageRequest" - type: object - SearchQueryPageRequest: + description: The ID of the document. + metadata: + $ref: "#/components/schemas/DocumentMetadata" + DocumentMetadata: type: object + additionalProperties: true properties: - from: - type: integer - format: int32 - limit: + contentType: + type: string + description: The content type of the document. + fileName: + type: string + description: The name of the file. + expiresAt: + type: string + format: date-time + description: The date and time when the document expires. + size: type: integer - format: int32 - searchAfter: - type: array - items: - type: object - searchBefore: - type: array - items: - type: object - SearchQuerySortRequest: + format: int64 + description: The size of the document in bytes. + DocumentLinkRequest: type: object properties: - field: - type: string - order: + expiresAt: type: string - default: asc - required: - - field - SearchQueryResponse: + format: date-time + description: The date and time when the link expires. + nullable: true + DocumentLink: type: object properties: - page: - allOf: - - $ref: "#/components/schemas/SearchQueryPageResponse" - type: object - SearchQueryPageResponse: + url: + type: string + description: The link to the document. + expiresAt: + type: string + format: date-time + description: The date and time when the link expires. + + DeploymentResponse: type: object properties: - totalItems: + deploymentKey: type: integer format: int64 - firstSortValues: - type: array - items: - type: object - lastSortValues: + description: The unique key identifying the deployment. + deployments: type: array items: - type: object - VariableValueFilterRequest: - type: object - properties: - name: - type: string - eq: - type: object - gt: - type: object - gte: - type: object - lt: - type: object - lte: - type: object - DecisionRequirementsSearchQueryRequest: - allOf: - - $ref: "#/components/schemas/SearchQueryRequest" + $ref: "#/components/schemas/DeploymentMetadata" + tenantId: + type: string + DeploymentMetadata: type: object properties: - filter: - allOf: - - $ref: "#/components/schemas/DecisionRequirementsFilterRequest" - DecisionRequirementsFilterRequest: + processDefinition: + $ref: "#/components/schemas/DeploymentProcess" + decisionDefinition: + $ref: "#/components/schemas/DeploymentDecision" + decisionRequirements: + $ref: "#/components/schemas/DeploymentDecisionRequirements" + form: + $ref: "#/components/schemas/DeploymentForm" + DeploymentProcess: type: object properties: - decisionRequirementsKey: + processDefinitionId: + type: string + description: | + The bpmn process ID, as parsed during deployment, together with the version forms a + unique identifier for a specific process definition. + processDefinitionVersion: + type: integer + format: int32 + description: The assigned process version. + processDefinitionKey: type: integer format: int64 - dmnDecisionRequirementsName: + description: The assigned key, which acts as a unique identifier for this process. + resourceName: + type: string + description: The resource name from which this process was parsed. + tenantId: + type: string + description: The tenant ID of the deployed process. + DeploymentDecision: + type: object + properties: + decisionDefinitionId: type: string + description: | + The dmn decision ID, as parsed during deployment, together with the version forms a + unique identifier for a specific decision. version: type: integer format: int32 - dmnDecisionRequirementsId: + description: The assigned decision version. + decisionDefinitionKey: + type: integer + format: int64 + description: | + The assigned decision key, which acts as a unique identifier for this decision. + name: type: string + description: The DMN name of the decision, as parsed during deployment. tenantId: type: string - DecisionRequirementsSearchQueryResponse: - allOf: - - $ref: "#/components/schemas/SearchQueryResponse" - type: object - properties: - items: - type: array - items: - $ref: "#/components/schemas/DecisionRequirementsItem" - DecisionRequirementsItem: + description: The tenant ID of the deployed decision. + decisionRequirementsId: + type: string + description: | + The dmn ID of the decision requirements graph that this decision is part of, as parsed during deployment. + decisionRequirementsKey: + type: integer + format: int64 + description: | + The assigned key of the decision requirements graph that this decision is part of. + DeploymentDecisionRequirements: type: object properties: + decisionRequirementsId: + type: string + description: | + The dmn decision requirements ID, as parsed during deployment; together with the versions forms a unique identifier for a specific decision. + version: + type: integer + format: int32 + description: The assigned decision requirements version. + decisionRequirementsName: + type: string + description: The DMN name of the decision requirements, as parsed during deployment. + tenantId: + type: string + description: The tenant ID of the deployed decision requirements. decisionRequirementsKey: type: integer format: int64 - dmnDecisionRequirementsName: + description: | + The assigned decision requirements key, which acts as a unique identifier for this decision requirements. + resourceName: + type: string + description: The resource name from which this decision requirements was parsed. + DeploymentForm: + type: object + properties: + formId: type: string + description: | + The form ID, as parsed during deployment, together with the version forms a + unique identifier for a specific form. version: type: integer format: int32 - dmnDecisionRequirementsId: - type: string + description: The assigned form version. + formKey: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this form. resourceName: type: string + description: The resource name from which this form was parsed. tenantId: type: string - MessageCorrelationRequest: + description: The tenant ID of the deployed form. + + CreateProcessInstanceRequest: type: object properties: - name: - description: > - The message name as defined in the BPMN process - type: string - correlationKey: - description: The correlation key of the message + processDefinitionKey: + description: | + The unique key identifying the process definition, e.g. returned for a process in the + deploy resources endpoint. Cannot be used together with processDefinitionId. + type: integer + format: int64 + processDefinitionId: + description: | + The BPMN process ID of the process definition to start an instance of. + Cannot be used together with processDefinitionKey. type: string - default: "" + processDefinitionVersion: + description: | + The version of the process. Only considered when a processDefinitionId is provided. + By default, the latest version of the process is used. + type: integer + format: int32 + default: -1 variables: - description: The message variables as JSON document - additionalProperties: true + description: | + JSON object that will instantiate the variables for the root variable scope + of the process instance. type: object - nullable: true + additionalProperties: true tenantId: - description: the tenant for which the message is published + description: The tenant ID of the process definition. type: string - nullable: true - MessageCorrelationResponse: - description: | - The message key of the correlated message, as well as the first process instance key it - correlated with. + operationReference: + description: | + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be >0 if provided. + type: integer + format: int64 + minimum: 1 + startInstructions: + description: | + List of start instructions. By default, the process instance will start at + the start event. If provided, the process instance will apply start instructions + after it has been created. + type: array + items: + $ref: "#/components/schemas/ProcessInstanceCreationStartInstruction" + awaitCompletion: + description: | + Wait for the process instance to complete. If the process instance completion does + not occur within the requestTimeout, the request will be closed. Disabled by default. + type: boolean + default: false + fetchVariables: + description: | + List of variables names to be included in the response. + If empty, all visible variables in the root scope will be returned. + type: array + items: + type: string + requestTimeout: + description: | + Timeout (in ms) the request waits for the process to complete. By default or + when set to 0, the generic request timeout configured in the cluster is applied. + type: integer + format: int64 + ProcessInstanceCreationStartInstruction: type: object properties: - key: - description: The key of the correlated message + elementId: + description: | + Future extensions might include: + - different types of start instructions + - ability to set local variables for different flow scopes + + For now, however, the start instruction is implicitly a "startBeforeElement" instruction + type: string + CreateProcessInstanceResponse: + type: object + properties: + processDefinitionKey: + description: | + The key of the process definition which was used to create the process instance. type: integer format: int64 - tenantId: - description: The tenant ID of the correlated message + processDefinitionId: + description: | + The BPMN process ID of the process definition which was used to create the process. + instance type: string + processDefinitionVersion: + description: | + The version of the process definition which was used to create the process instance. + type: integer + format: int32 processInstanceKey: - description: The key of the first process instance the message correlated with + description: | + The unique identifier of the created process instance; to be used wherever a request + needs a process instance key (e.g. CancelProcessInstanceRequest). type: integer format: int64 - PriorityValueFilter: + tenantId: + description: The tenant ID of the created process instance. + type: string + variables: + additionalProperties: true + description: All the variables visible in the root scope. + type: object + MigrateProcessInstanceRequest: type: object properties: - eq: - type: integer - minimum: 0 - maximum: 100 - gt: - type: integer - minimum: 0 - maximum: 100 - gte: - type: integer - minimum: 0 - maximum: 100 - lt: + targetProcessDefinitionKey: + description: The key of process definition to migrate the process instance to. type: integer - minimum: 0 - maximum: 100 - lte: + format: int64 + mappingInstructions: + type: array + items: + $ref: "#/components/schemas/MigrateProcessInstanceMappingInstruction" + operationReference: + description: > + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be > 0 if provided. type: integer - minimum: 0 - maximum: 100 - DocumentReference: + format: int64 + minimum: 1 + required: + - targetProcessDefinitionKey + - mappingInstructions + MigrateProcessInstanceMappingInstruction: type: object + description: | + The mapping instructions describe how to map elements from the source process definition to the target process definition. properties: - documentType: - type: string - description: Document discriminator. Always set to "camunda". - enum: - - camunda - storeId: + sourceElementId: + description: The element ID to migrate from. type: string - description: The ID of the document store. - documentId: + targetElementId: + description: The element ID to migrate into. type: string - description: The ID of the document. - metadata: - $ref: "#/components/schemas/DocumentMetadata" - DocumentMetadata: + required: + - sourceElementId + - targetElementId + ModifyProcessInstanceRequest: type: object - additionalProperties: true properties: - contentType: - type: string - description: The content type of the document. - fileName: - type: string - description: The name of the file. - expiresAt: + activateInstructions: + type: array + items: + $ref: "#/components/schemas/ModifyProcessInstanceActivateInstruction" + terminateInstructions: + type: array + items: + $ref: "#/components/schemas/ModifyProcessInstanceTerminateInstruction" + operationReference: + description: > + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be > 0 if provided. + type: integer + format: int64 + minimum: 1 + ModifyProcessInstanceActivateInstruction: + type: object + description: | + Instructions describing which elements should be activated in which scopes and which variables should be created. + properties: + elementId: + description: The ID of the element that should be activated. type: string - format: date-time - description: The date and time when the document expires. - DocumentLinkRequest: + ancestorElementInstanceKey: + description: | + The key of the ancestor scope the element instance should be created in. + Set to -1 to create the new element instance within an existing element instance of the + flow scope. + type: integer + format: int64 + default: -1 + variableInstructions: + type: array + items: + $ref: "#/components/schemas/ModifyProcessInstanceVariableInstruction" + required: + - elementId + ModifyProcessInstanceVariableInstruction: type: object + description: Instructions describing which variables should be created. properties: - expiresAt: + variables: + description: | + JSON document that will instantiate the variables for the root variable scope of the process instance. + It must be a JSON object, as variables will be mapped in a key-value fashion. + additionalProperties: true + type: object + scopeId: + description: | + The ID of the element in which scope the variables should be created. + Leave empty to create the variables in the global scope of the process instance type: string - format: date-time - description: The date and time when the link expires. - nullable: true - DocumentLink: + default: "" + required: + - variables + ModifyProcessInstanceTerminateInstruction: type: object + description: Instructions describing which elements should be terminated. properties: - url: + elementInstanceKey: + description: The ID of the element that should be terminated. + type: integer + format: int64 + required: + - elementInstanceKey + + SetVariableRequest: + type: object + properties: + variables: + description: JSON object representing the variables to set in the element’s scope. + additionalProperties: true + type: object + local: + description: | + If set to true, the variables are merged strictly into the local scope (as specified by the `elementInstanceKey`). + Otherwise, the variables are propagated to upper scopes and set at the outermost one. + + Let’s consider the following example: + + There are two scopes '1' and '2'. + Scope '1' is the parent scope of '2'. The effective variables of the scopes are: + 1 => { "foo" : 2 } + 2 => { "bar" : 1 } + + An update request with elementInstanceKey as '2', variables { "foo" : 5 }, and local set + to true leaves scope '1' unchanged and adjusts scope '2' to { "bar" : 1, "foo" 5 }. + + By default, with local set to false, scope '1' will be { "foo": 5 } + and scope '2' will be { "bar" : 1 }. + type: boolean + default: false + operationReference: + description: > + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be > 0 if provided. + type: integer + format: int64 + minimum: 1 + required: + - variables + + DeleteResourceRequest: + type: object + nullable: true + properties: + operationReference: + description: | + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be > 0 if provided. + type: integer + format: int64 + minimum: 1 + + SignalBroadcastRequest: + type: object + properties: + signalName: + description: The name of the signal to broadcast. type: string - description: The link to the document. - expiresAt: + variables: + additionalProperties: true + description: The signal variables as a JSON object. + type: object + tenantId: + description: The ID of the tenant that owns the signal. type: string - format: date-time - description: The date and time when the link expires. + required: + - signalName + SignalBroadcastResponse: + type: object + properties: + signalKey: + description: The unique ID of the signal that was broadcast. + type: integer + format: int64 + tenantId: + description: The tenant ID of the signal that was broadcast. + type: string + securitySchemes: bearerAuth: type: http diff --git a/docs/apis-tools/administration-api/authentication.md b/docs/apis-tools/administration-api/authentication.md index e45b6adaf59..515fddd113f 100644 --- a/docs/apis-tools/administration-api/authentication.md +++ b/docs/apis-tools/administration-api/authentication.md @@ -6,7 +6,7 @@ sidebar_position: 2 description: "Learn about access tokens and client credentials and scopes to get started with the Administration API." --- -All Administration API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and pass it in each request. +All Administration API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request. ## Generating a token @@ -47,16 +47,16 @@ All Administration API requests require authentication. To authenticate, generat ## Using a token -Include the captured token as an authorization header in each request: `Authorization: Bearer `. +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. -For example, to call the Administration API's `/members` endpoint, send the following request: +For example, to send a request to the Administration API's `/members` endpoint: ```shell curl --header "Authorization: Bearer ${TOKEN}" \ https://api.cloud.camunda.io/members ``` -A successful response would include [a list of organization members](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetMembers). For example: +A successful response includes [a list of organization members](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetMembers). For example: ```json [ diff --git a/docs/apis-tools/administration-sm-api/administration-sm-api-authentication.md b/docs/apis-tools/administration-sm-api/administration-sm-api-authentication.md index 4f37ece8345..5ef979de9e6 100644 --- a/docs/apis-tools/administration-sm-api/administration-sm-api-authentication.md +++ b/docs/apis-tools/administration-sm-api/administration-sm-api-authentication.md @@ -5,34 +5,61 @@ sidebar_position: 2 description: "The Administration API for Self-Managed is a REST API and provides access to Console Self-Managed data. Requests and responses are in JSON notation." --- -To authenticate for the API, generate a JWT token and pass it in each request: +All Administration Self-Managed API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request. + +## Generating a token 1. [Add an M2M application in Identity](/self-managed/identity/user-guide/additional-features/incorporate-applications.md). 2. [Add permissions to this application](/self-managed/identity/user-guide/additional-features/incorporate-applications.md) for **Administration Self-Managed API**. -3. [Generate a token](/self-managed/identity/user-guide/authorizations/generating-m2m-tokens.md) to access the REST API. You will need the `client_id` and `client_secret` from the Identity application you created. +3. Capture the `Client ID` and `Client Secret` from the application in Identity. +4. [Generate a token](/self-managed/identity/user-guide/authorizations/generating-m2m-tokens.md) to access the REST API. Provide the `client_id` and `client_secret` from the values you previously captured in Identity. ```shell curl --location --request POST 'http://localhost:18080/auth/realms/camunda-platform/protocol/openid-connect/token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ - --data-urlencode 'client_id=' \ - --data-urlencode 'client_secret=' \ + --data-urlencode "client_id=${CLIENT_ID}" \ + --data-urlencode "client_secret=${CLIENT_SECRET}" \ --data-urlencode 'grant_type=client_credentials' ``` -4. You will get something like the following: +5. A successful authentication response looks like the following: ```json { - "access_token": "eyJhbG...", + "access_token": "", "expires_in": 300, "refresh_expires_in": 0, "token_type": "Bearer", "not-before-policy": 0 } ``` +6. Capture the value of the `access_token` property and store it as your token. -## Example usage +## Using a token -1. Take the **access_token** value from the response object and store it as your token. -2. Send the token as an authorization header in each request. +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. - ```shell - curl -o - 'http://localhost:8080/admin-api/clusters' -H 'Authorization: Bearer eyJhb...' - ``` +For example, to send a request to the ["Get current clusters" endpoint](./specifications/get-clusters.api.mdx): + +:::tip +The `${CAMUNDA_BASE_URL}` variable below represents the URL of the Self-Managed environment. You can configure this value in your Self-Managed installation. The default value is `http://localhost:8080`. +::: + +```shell +curl --request GET ${CAMUNDA_BASE_URL}/admin-api/clusters \ + --header "Authorization: Bearer ${TOKEN}" +``` + +A successful response includes [cluster information](./specifications/get-clusters.api.mdx). For example: + +```json +[ + { + "uuid": "12345", + "name": "cluster-1", + "status": "healthy", + ... + } +] +``` + +## Token expiration + +Access tokens expire according to the `expires_in` property of a successful authentication response. After this duration, in seconds, you must request a new access token. diff --git a/docs/apis-tools/camunda-api-rest/camunda-api-rest-authentication.md b/docs/apis-tools/camunda-api-rest/camunda-api-rest-authentication.md index cfcd9cef37f..76b48db968c 100644 --- a/docs/apis-tools/camunda-api-rest/camunda-api-rest-authentication.md +++ b/docs/apis-tools/camunda-api-rest/camunda-api-rest-authentication.md @@ -7,7 +7,7 @@ description: "Step through authentication options that can be used to access Cam import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; -All Camunda 8 REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) depending on your environment and pass it in each request. +All Camunda 8 REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) depending on your environment and include it in each request. ## Generating a token @@ -88,9 +88,9 @@ All Camunda 8 REST API requests require authentication. To authenticate, generat ## Using a token -Include the captured token as an authorization header in each request: `Authorization: Bearer `. +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. -For example, to call the Camunda 8 REST API's `/topology` endpoint, send the following request against the target environment: +For example, to send a request to the Camunda 8 REST API's `/topology` endpoint:
Schema
    jobs object[]
  • Array [
  • customHeaders object
    +
    Schema
      jobs object[]
    • Array [
    • customHeaders object
      a set of custom headers defined during modelling; returned as a serialized JSON document @@ -45,7 +45,7 @@ a set of custom headers defined during modelling; returned as a serialized JSON All variables visible to the task scope, computed at activation time -
    • ]
    +
  • ]
The provided data is not valid. diff --git a/docs/apis-tools/camunda-api-rest/specifications/create-user.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/broadcast-signal.api.mdx similarity index 61% rename from docs/apis-tools/camunda-api-rest/specifications/create-user.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/broadcast-signal.api.mdx index 009a4908291..9b411c23d1f 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/create-user.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/broadcast-signal.api.mdx @@ -1,11 +1,11 @@ --- -id: create-user -title: "Create a user" -description: "Create a user" -sidebar_label: "Create a user" +id: broadcast-signal +title: "Broadcast signal" +description: "Broadcasts a signal." +sidebar_label: "Broadcast signal" hide_title: true hide_table_of_contents: true -api: eJztWN1v2zYQ/1eIe9owRVLadMv05qXplqHtjMRZH5w8UNTZYiuRKj/ieIb+9+FIOXZspxiGPtqAYYl3vM/fj5JvBY7PLRRTuLVo4D4B3aHhTmp1VUEBwiB3GGQJGPzq0brfdLWEYgVCK4fK0SXvukaKsC37bLWiNStqbDlduWWHUIAuP6NwkEBnyImTaEnacWsX2lRbmtYZqebQJ+AtGsVbPCh8UYAtl80BSZ+Ak66hJUrpk3T1ePB+HXODnpQoUWmwgsIZj2HBdlrZGPCr/Ix+KrTCyI5yhgImNTIKli24ZbFqFbNeCLR25ptmmd4pCu0sz7+xWWjfVExpx0pcW0nv1AdtkFXouGws4wZZZ/SDrLBiUjFXI1vHx0pdBU/JS93pjC4bbH/a79LzkEZsHDUHvyx2j3HLomIZvU+v312wX8/e/HL/Q+1cZ4ssWywWqZmJE6yk0ybVZp6ZmaAv6f2YskmNBlnLl5QlrypJPnnDNrhgtkMhZ1Iwp0OCQ9iMGhrz+zaoonQXAAnMtGm5gwK8kZDs5Xx7fcVkhcrJ2VKq+b7rsGfGfUM2eKm9K8qGqy+wgda+010v1rctN0umZwcc9AlYx53fSgOkcjgPFHyKXyr3+tWebQLSH5PJmEUTTOgK2Uwb5mpp144oiVYq2foWirM8T6Dlj/Hu5zzvyaY7yJ+9TBTDx67hKkBrNx2pWLvBbUhMKuu4Et+rM9rIudz1mz6j+QDitzGjPrD7LD89TMHhfCPMRe4xvuG0V9y7Whv5z5GSR0oeKfmdKfn6f1CyQiWPZDyS8UjG70rGN4deUUeKUZUN4RCN0YZpIbwxWLFFLZtgnt51174H4qZHph2ZdmTaQab1u7Yvtp9wVBp0taZ/4Z22AVjc1VBARmILCVg0D3RVTFfgTQMFrCKJ+iLLVrW2ri9WnTauzx6oQw/cSF42EZckjmRbg6jRgjd1dLXfTBLQH+51khe89ari7JxdX95M2O/c4YIvQ3HJ5XPT5/l5ftAqqb5gcTS+YjHDCMWt42Ftlnh+0GxU/i+G+/6eCim8kW55Q9tieUrkBs3IU8WfIDL4C9bpPipBMly8WwPnz0+T0Hs62q43Q5PLR952kZiboccGd5tZx2Zt936YbGzNOqSa6RDigLP9ZKnzaGysTp6e7mN6fBWoKXTbehXOZzVnC+lqxreKJxpvHRUtgUYKVDZkMkS4VnsfJezv6JGdptT4iM71sTyXrvZlKnSbibjt6bdsdJm1XKpscGGzi9GH249vRyfvry4uP95cnpymeeoeXSgwEaPlajuOHQ49y/SpkQ4fXdY1XIaZTIhuNdBrCpFe98lAkSmsViW3eGuavqflrx7NEorp/YZRdNcnUCOv0AQ+fsElRRMffScTckvqjSf3e+OyPlnvGAmBnXtB99kjk4D7dEKM/7qZEA6H0VyrK9pr+ILGdnwBBdzBHQCN98hSgHhYX0HD1dzzOelHu/T5FxWR7nQ= +api: eJztWN9zm0YQ/ldu9qmdYqGkTurypthO6zRxPLbSPjh6WGAlLoE7fHdY1jD8753lQEK/0nQmj9aMRgL29tv9dr+DpQaHCwvRPdzJhcIcZgGkZBMjSye1ggjeGI1pgtZZgcK2RiMIwNBDRda90ekKoro9lIZSiJypKIBEK0fK8SUsy1wmyO7CL5Z91mCTjArkf25VEkSg4y+UOAigNLok4yTZ1q7Fu8aC+Gg7sGlGQmFBQs+Fy6iLTTgt4j5kDrQDsM5ItYAmgEc0EuPcA2CaSvaH+c0A2OewD9dBrD0IZFLe3X28Fj6BAWCXUROAI4XKXaWHU7i66BPwdsJl6IReKjvI6kAiTTAg/X7I1CwAJ13Oxr6o6xLe+qJB0/jlttTKeiJejseH4+tyXqLd5vWHVvgvWh1Gr5R8qIYk9VVmkvZi6qCkcrQgAwHMtSnQ+VOvT/+7GF0J/h/coCJHefdMd8SfHuO6NPpRppSKFB0KaYXSTjxiLtNvMF4aHedU/LLP/DbARNx4S5GSQ5l3Lcs97A1jSoVU4v727bn4/fTVb7OfMudKG4XhcrkcmXlyQql02oy0WYRmnvCX7X4eiWlGhkSBKxGT2GhKbGotbEmJnMuEBep8rm0wTOLos9oTzm6j+Kv1DumDEldGwq5oJ+LT7ZWQKSkn5yupFvvQ7Zo5Vjn7wFhXLopzVF9hU8590F0UWxUFmlXfNdsATQDWoasGaRxp0V9f7vnmtvhzOr0R3oVIdEpiro1wmbQ9ECdRSCWLqoDodDwOoMAnf/R6PG7YJ1f8OzJRgp7KHFXbWrvpSCUKbajrnzYxqaxDlfyoymgjF3IXd7Qlra6JL3xGvaBOv7l5dUqa60o9K+lZSc9KOqqkV4duTRMlmGXDfUjGaCN0klTGUCqWmcxb9wlZ22N3z4bPSntW2rPSDiutCaAgl+kUIii1bVsHXQYRhP6eZcP1oyYEYMk8kuE5rYbK5BBB7SXTRGFYZ9q6JqpLbVwTPnI9tmYcvuyl1bdMrhPMMw+7Xzq+MByszrGoVIriTNxe3k3FH+hoiauWSobcdn02Phsf9MqmRzxObq6Ez9A33mAz6N2yqg+69cbf47hpZkxkUhnpVne8zNMTExoyk4rZXzdEh9d652NvBEH3523fJu/+mbaV5o3sdjMSXz5hUXoZDkfYTZ8NC7Q1lQwGVanmug2p66L95NgRGevZGI9e7HfszVUrvEQXRaXa3VctxFK6TOCArCSvrGOSAshlQjypRDUoH3Nv9t5fEX97RPFixIX23dhvugvpsioeJboIE79s/RvnOg4LlCrsIGx4Pvnw6fpicvL+6vzy+u7y5MVoPHJPriWURVGgGsSxnqa6p7rdZOvNzebYS4uuuI6eXFjmKBXT3GZQd/LrB2nLpV4LcBZ0IrqHuo7R0ieTNw2ffqjIrCC6n21KykdNABlhSqZV7FeebuHcR3cy5SDYPK84mL3huQn6FZMkodJ903Y22EduPt5NOezulUyhU15jcMmva3AJEXyGzwAB6Jaxtvnb8zXkqBYVLtje++XPvyQVPTQ= sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,32 +25,29 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

Create a user

+

Broadcast signal

- + -Create a user +Broadcasts a signal. ## Request -

Body

required
+

Body

required
    variables object
    -The user was created successfully. +The signal variables as a JSON object. -
    +
-The user could not be created. -More details are provided in the response body. +The signal was broadcast. -
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+
Schema
-The request to create a user was unauthorized. -More details are provided in the response body. +The provided data is not valid. -
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
-The request to create a user was denied. -More details are provided in the response body. +The signal is not found.
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/cancel-process-instance.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/cancel-process-instance.api.mdx new file mode 100644 index 00000000000..b0170a83a09 --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/cancel-process-instance.api.mdx @@ -0,0 +1,55 @@ +--- +id: cancel-process-instance +title: "Cancel process instance" +description: "Cancels a running process instance." +sidebar_label: "Cancel process instance" +hide_title: true +hide_table_of_contents: true +api: eJztWFtv2zYU/ivEeWoxRVK6tOv0MMBL0y3rZYbjbg9JHmjpyGJDkSpJxTEE/ffhkPLdQVNgjzFgWCIPz/X7aB524PjcQnYNY6NztJYJZR1XOcJtBAXa3IjGCa0gg3MalpZxZlqlhJqzZm9NDBE03PAaHRrS2oHiNUIGg+TlIPgBlxCBIK0NdxVEYPBbKwwWkDnT4r7paYXsDpdMl8xVeGCXOc1y7x15YPMKaw5ZB27ZkHGhHM7RQASlNjV3YejNGfT9bbCM1v2uiyWt2ThScmkxglwrh8rRHG8aKXJOTiVfLXnWHVrTs6+YO4hAtVLymcRVSI3RDRon0JI0PXtNEyzRIGU86/bCHjGzmvTh55W2qNhs6bPQWjTMVdyxhZCSzZA13DjKEZeSGcy1KSwzaFvpqFql0TVzlbBsbTu+UZ9a62jtbyxloqTU3osCi/hGQfTdBEZQCyXqtobstO8jcMJRvANUxrtFn4REQ9+TqEHbaGVDMl6lZ4fRT49VWtih0ljE0EdwlqaPrvSBsII7TsuUduyeS1EQRh4pamP0TGL902Fx9wszDpKsQMeFZKHojFsWBGdYMKHY9eT9Ofv17PUvty8q5xqbJclisYhNmZ9gIZw2sTbzxJQ5fUnuZcymFRpkNV9SVXhRCLLJJdvAh9kGc1GKnHA/8ME7Q+XaKdwai7vYC7NrxFpnhJpvV7c1AvY5OGJfJpdMFKicKJcEqAPTfk3JW0k6+Ey3LptJru5gA41Do/tWbFvX3GxzfctAH4F13LX2u/T++dWBboLFn9PpmAUVLNcFslKbQIrBULwN6rM0jaDmD+HtTZr2pJMq/oRIFMOHRnLlobUfjlCs1gYH/PjA1jvv/1MZbcRc7NuNYZumA4jfhYgCL89+hIrEqVK36plTz5x65tSjnHp97E9qpBhl2RAO0RhtmM7z1hgs2KISck24le3hnPLMtGemPTPtONP6CGp0lS6or9DWQ4faiwySgUwnKzdt0h32JH0SzpbSB02tBJr7VSfTGgkZdIFUfZYkXaWt67Ou0cb1yT1V7J4bQUd+X2CaDuRbgUrqnMsqOHZYXJqgdmkV9DmvW1Vw9pZNLq6m7A/ucMGXPtlkclf12/RtelQriT6icTS+ZCHCAM2t7WKllnh/VG0Qfopi32RZzFsj3PKKloX0zJAbNKOW6rOGzGDPa6f3IATR8PB+BaS//p16LNBWN9k0cBcPvG4CUY/1V6nHaam9wXWrsu861RGNDbGm8ekhYseXnni5rutW+d1XzdlCuIrxrVTksrWOUhCBFDkq6/0aGuKV2Mcww/4JFtlpTGUMWFttunPhqnYW57pO8rBs/TuTepbUXKhkMGGT89GnL5/fjU4+Xp5ffL66ODmN09g9OJ8uIkXN1Y4fBPiDw91+zN3mP+eJ9wBDQR0+uKSRXCiCmI+rG0h5DQekhAiyo1cFO7y8jQZuXUPXzbjFL0b2PQ1/a9EsIbu+3VDRc7cQlp43Tf2jwb2YDP3/S/ZDlw5Hwx0GuVr6vUG29AYR3OHy+J1If9tHUCEv0Hi/g+B58O5kSuo2ig5uI/potWKU59i4R2R3jglEzvWeOf77akpcG65Cal3QWsMXdEHDF5DBDdxQANpnztPYj3cguZq3fE7yQS99/gPloVm8 +sidebar_class_name: "post api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

Cancel process instance

+ + + +Cancels a running process instance. + +## Request + +

Path Parameters

Body

    = 1`"} schema={{"description":"A reference key chosen by the user that will be part of all records resulting from this operation.\nMust be > 0 if provided.\n","type":"integer","format":"int64","minimum":1}}>
+ +The process instance is canceled. + +
+ +The provided data is not valid. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +The process instance is not found. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +An internal error occurred while processing the request. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/correlate-a-message.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/correlate-a-message.api.mdx index bf517f87bb2..bd1ae35bf5d 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/correlate-a-message.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/correlate-a-message.api.mdx @@ -5,7 +5,7 @@ description: "Publishes a message and correlates it to a subscription." sidebar_label: "Correlate a message" hide_title: true hide_table_of_contents: true -api: eJztWE1v20YQ/SuLObUoLSqJm6a8KY7TKk0cwZbbg+3DkhyJmyx3mf2wrAr878VwKZGSLMcFeikgA4ZE7uzMzpv3huKswPG5heQGPqG1fI5wF0GONjOickIrSGDiUylsgZZxVgYjxlXOMm0MSu7QMuGY04wz69PNzsGtGs82RkIrJiyzPsvQ2pmXtGchpGQGnTeKuQLZTBjrWGU02TChrOMqQ/YVl83yOvgmcM4WwhWDWwURGPzm0bq3Ol9CsmouhcEcEmc8RpBp5VA5WuJVJUXWHCn+YinFFdiswJLTN7esEBLQ6RfMHERQGV2hcQItrSpeIn1uIzTtHY4sGLcsx5lQmDMRUns7+XSxzqw5bxvHOiPUHGo64QapP3D5eJA+moSKnvWB2fNKlZxxLx0kQCHuuRE8lSGVwylszCiPD1efL1iuM18SfBHwPBe0h8tJD5kA8i52yktJjsJ6HYFDxZUb5/vxKY2wymbasEUhsmKr6MKyqiVi/kiiO6EolnB0ueb1WQfdZaAK1DXZGbSVVjaA8nI4fBobYfv0c5pphUwbVmqDe8y18C+Idzhmr9K92O1qREVaoJT0+R0RCXerHhXP06T/eoiOTx6scyuUwzkaiGCmTclduPX6FJ5kxLRjxPjdc8J0UmqTH7e5H5RT7/wHUHui7Twnv+/QMBCv5eHpIepVRt+LHHOWc8eJgEo7ds+lyA/TqzI6lVj+9D2ajdgkWLIcHReSBQqEBkaGaWhhN5fvz9ivpz//cvdD4VxlkzheLBYDM8tOMBdOm4E289jMMvonux8HbFqgQVbyJUuRdW2DdeRitsJMzERGQnIh1eYwBOxzmBlWV3vdYFMHbwTsPs9G7PpyzESOyonZUqj5fuitzslT7V2SSq6+QlfQ/aC7UawvS242DNsOUEdgHXe+l8YBHr16ueebWPH7dDphwQXLdI5N23QFtckQiJIohRKlLyE5HQ4jKPlDuHo9HNbkkyr+jEwUw4dKchWeOzvpCBV6X/DWJLZWz39UGW3EXOzGHWyJqyXxu5DRWk+v9vl+rbh3hTbibzyq56ieo3oOq+d0n+8Xmn6deXWUzlE6R+kcks7Pj/2QGyuHhkh4heYeDTs3RpujjI4yOsroURnVEZToCp1DApW2DXW4KyCBuH0fs3FvGgIR2EZYNMpagTcSElgF1dRJHK8KbV2drCptXB3fU0m2hiG0HNS1Zo3UGZdFiLxfPVpoJj1tVme89Crn7A27PL+ast+4wwVfNmhSyG3Xb4Zvho96JdMDHkeTMQsZBu71+sHaLQn7UbfB+DmO6/qOgMy8EW55RdsCPClyg2bkqQAbTrTxGu90HYwgar+8XzPlw1/TptjUyy67Kd35Ay+roMQwVetItjsK61b6RduaHvTe/oWa6eaYLbn2EyZHaGxAaDh4sU/kybjRY6bL0qumKat589bPeA/ATHrrCLgIpMiQ3uW7bNZmH8MK+zNEZC8GVPzA0HUvngtX+HSQ6TLOwrbNZyp1GpdcqLgNYeOz0afri3ejk4/js/OLq/OTF4PhwD24BmTSSslV/xzrsUU3vt3Nd9U9hv4n096Wgg4fXFxJLhQVvsF01faJG1j3iW1C0Xw7qP0GVquUW7w2sq7p9jePZgnJzV3HM7qqIyiQ52ia1tIMw+As4HUypXOQufR0nr0JXx2td4yyDCv3pO1dr+dNPl9NSUrtOLvUOe0xfEGjbr6ABG7hFiAC3cDfqLS5vwLJ1dxTlRMIfunvH+gBTgQ= +api: eJztWE1v20YQ/SuLObUoLSqJm6a8KY7TKk0cwZbbg+3DkhyJmyx3mf2wrAr878VwKZGSLMcFeikgA4ZE7uzMzpv3huKswPG5heQGPqG1fI5wF0GONjOickIrSGDiUylsgZZxVgYjxlXOMm0MSu7QMuGY04wz69PNzsGtGs82RkIrJiyzPsvQ2pmXtGchpGQGnTeKuQLZTBjrWGU02TChrOMqQ/YVl83yOvgmcM4WwhWDWwURGPzm0bq3Ol9CsmouhcEcEmc8RpBp5VA5WuJVJUXWHCn+YinFFdiswJLTN7esEBLQ6RfMHERQGV2hcQItrSpeIn1uIzTtHY4sGLcsx5lQmDMRUns7+XSxzqw5bxvHOiPUHGo64QapP3D5eJA+moSKnvWB2fNKlZxxLx0kQCHuuRE8lSGVwylszCiPD1efL1iuM18SfBHwPBe0h8tJD5kA8i52yktJjsJ6HYFDxZUb5/vxKY2wymbasEUhsmKr6MKyqiVi/kiiO6EolnB0ueb1WQfdZaAK1DXZGbSVVjaA8nI4fBobYfv0c5pphUwbVmqDe8y18C+Idzhmr9K92O1qREVaoJT0+R0RCXerHhXP06RvIx1k5ZPn67wL5XCOBiKYaVNyF269PoUniTHtiDF+95wwnaJaDMYtBM85/wHwnug+z8nvO2wM/GvpeHqIgZXR9yLHnOXcceKh0o7dcynywyyrjE4llj99j20jNgmWLEfHhWSBCaGPkWEaOtnN5fsz9uvpz7/c/VA4V9kkjheLxcDMshPMhdNmoM08NrOM/snuxwGbFmiQlXzJUmRd92Adx5itMBMzkZGeXEi1OQwB+xyChtXVXlPY1MEbAbuPtRG7vhwzkaNyYrYUar4fequB8lR7l6SSq6/QFXQ/6G4U68uSmw3DtgPUEVjHne+lcYBHr17u+SZW/D6dTlhwwTKdY9M9XUHdMgSiJEqhROlLSE6HwwhK/hCuXg+HNfmkij8jE8XwoZJchcfPTjpChRYYvDWJrdXzH1VGGzEXu3EHW+JqSfwuZLTW06t9vl8r7l2hjfgbj+o5queonsPqOd3n+4WmH2leHaVzlM5ROoek8/NjP+TGyqEhElo092gYGqPNUUZHGR1l9KiM6ghKdIXOIYFK24Y63BWQQNy+j9m4NxSBCIKwaKK1Am8kJLAKqqmTOF4V2ro6WVXauDq+p5JszURoOahrzRqpMy6LEHm/erTQDHzarM546VXO2Rt2eX41Zb9xhwu+bNCkkNuu3wzfDB/1SqYHPI4m47Z1BO71+sHaLQn7UbfB+DmO6/qOgMy8EW55RdsCPClyg2bkqQAbTrTxGu90HYwgar+8XzPlw1/TptjUyy67Yd35Ay+roMQwXOtItjsR61b6RduaHvTe/oWa6eaYLbn2EyZHaGxAaDh4sU/kybjRY6bL0qumKat589bPeA/ATHrrCLgIpMiQ3uW7bNZmH8MK+zNEZC8GVPzA0HUvngtX+HSQ6TLOwrbNZyp1GpdcqLgNYeOz0afri3ejk4/js/OLq/OTF4PhwD24BmTSSslV/xzrsUU3xd3Nd9U9hv4nQ9+Wgg4fXFxJLhQVvsF01faJm/X0ym4TisbcQe03sFql3OK1kXVNt795NEtIbu46ntFVHUGBPEfTtJavDSHPAl4nUzoHmUtP59kb9NXRescoy7ByT9re9Xre5PPVlKTUTrVLndMewxc08eYLSOAWbgEi0A38jUqb+yuQXM09VTmB4Jf+/gEz9VEJ sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -42,7 +42,7 @@ The message variables as JSON document The message is correlated to one or more process instances -
Schema
+
Schema
The provided data is not valid @@ -56,6 +56,6 @@ Not found
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
-Internal Server Error +Internal server error
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/create-document-link-experimental.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/create-document-link-alpha.api.mdx similarity index 74% rename from docs/apis-tools/camunda-api-rest/specifications/create-document-link-experimental.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/create-document-link-alpha.api.mdx index 548ef7a4a7f..24b2faa65fb 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/create-document-link-experimental.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/create-document-link-alpha.api.mdx @@ -1,11 +1,11 @@ --- -id: create-document-link-experimental -title: "Create document link (experimental)" +id: create-document-link-alpha +title: "Create document link (alpha)" description: "Create a link to a document in the Camunda 8 cluster." -sidebar_label: "Create document link (experimental)" +sidebar_label: "Create document link (alpha)" hide_title: true hide_table_of_contents: true -api: eJzdV21v2zYQ/isHfmoxWVLStE31zUvSLUPbBYm7AUvygZbOFluKVEkqjmDovw9HSn6JnTQbin1YgMCWebx77p5705I5Prcsu2anOm8qVM6y24gVaHMjaie0Yhk7McgdAgcp1FdwGjgUvTQIBa5EOOFVowoOx5DLxjo08Y26UVmWKe3wRk1KYQFVUWtBdyzgfY1GkAYuYzh3kDfGoHKyBa1kC7apa22cBa5AqFGFlTbt2qp12mAEi1Lk5Y0SFpR2UCFXDmbaQG100eSEHhqLsQdyo1jEam54hQ4NubxkilfIMjaoPS9YxAR5XHNXsogZ/NYIgwXLnGnwYVgmJcL5KeiZj8AKm9M+TjGLmM1LrDjLlsy1NVmyzgg1Z10XrYx7V9aWvzVo2i3TMy7tc217ZQOC7aOZ0dXTmG6DVbTuZ120JLEDItfKoXJ0xutaipwTnuSLJVDLXd16+gVzR4E3ukbjBFo6xftaGLRjtwsjYjNtKu6IFu5w5ESFbJ/3hU9JVQBJwKLEkIje8V4/uasaKflUYqCw6yLmhKPHVcJ/EOrrZfCbdR1JGLS1VjZgPUwP6GMPgCGy3uSCW8h9nRRgmzxHa2eNlC1h+EFRa4zcF69dZEOZbvIfsy767+L+WJz7AB+l6XNi6uNJRTzjQmIRw0fK7gIdF9ICN0iFficKLIY2NDAHU120sS/5R4JfGz2VWP20S8I2qjFcBMneLgRygFsIgtNg/fry/Qm8O3r99vZF6VxtsyRZLBaxmeUjLITTJtZmnphZTv8k9zKGSYkGoeItTBF4UQiyySWsaQdbYy5mIh/o7GEDkRf8ezpnwukTZDdG7NA8hs+X5yAKVE7MWqHmu6b9nRlvJOngU924bCo5Ebwi/nuZOgbbVBU37dDFtg10EbOOu2bDDSaUwzmaTfxCuVeHexP118nkAoIKyHWBfjI4GkS9IXKiEkpUTcWyozSNWMXvw9ObNO1IJzH+DE8UZb7kKmTrA3eEgmqdt94xoazjKv9RzGgj5uKh3e0i7JP4NHjUhTKs0JW6oHGnrU8dmnoZS4YqTJbrydglVJKWBgiau2GA+pbElqF4uixJlqW2rsuWNLy75I6YueNGUAf2RNJxKLIheaTOuSwDgF0S6YAG5eDces+4PLuawC/c4YK3Pqhkclv1cXqc7tVKoo9oHF+cQ/AwpOBGWxjUUn3vVRuEn6PYD1uLeWOEa6/oWgjPFLlBM26Ih1Vq9Pa8dnoOQizqv7wfEua3Pyeec2ppl+tBfnbPqzoU5Eb/Z4fp4dEoPR69Sifpmyw9zF6/jd8dvPkr5OdMewB99uy6QryiscH3ND7YzdSLc19wua6qRvmuq+awEK4EvmdbZBGTIkdlPc5+NRrEPoQT+CNYhIOYaA25NzTbuXBlM41zXSV5uLb6nEo9TSouVNKbsMnJ+OPnT6fj0Yfzk7NPV2ejgziN3b3z4aNiqLjaxBH23+3h9GJzhX350P/leu78j9bnPiEd3rukllwoSpZ+LQnN43q1TLOIZVuLdegft1HfA67ZcjnlFj8b2XX0c9h8qasUwlLDeGT33Qztv1+D97ryFdutjfyOy4akGJXr0Mf+IcQXl/0S/RK+/8KwF1X/I1ftJqQB7UaMu9suYiXyAo0HGQROApTRhNSsFexsovROEm6M8xxr96Ts7cb0uPj9akLdqH9pqHRBdwxf0GsMX7CM3bAbAqx9eHyj878vmeRq3vA5yQe99Pc3n4kHzg== +api: eJzdV21v2zYQ/isEP7WYLClZurb65iXplqHtgsTdgMX5cJbOFluKVEkqjmDovw9HSn6JnTQbin1YgMCWebx77p5704o7WFie3fAznTcVKmf5bcQLtLkRtRNa8YyfGgSHDJgU6gtzmgEremkmFHMlslOoGlUAe8Ny2ViHJp6qqcqyTGmHUzUphWWoiloLumMZKAayLoHNEVxjMGYXjuWNMaicbJlWsmW2qWttnBcWalRhpU27sWydNhhN1bIUeUk6lXasQlCOzbVhtdFFk5MHrLEYezBTxSNeg4EKHRpye8UVVMgzPqi9KHjEBXldgyt5xA1+bYTBgmfONPgwNJMS2cUZ03MfhTU2p32sYh5xm5dYAc9W3LU1WbLOCLXgXRetjXtXNpa/NmjaHdNzkPa5tr2yAcHu0dzo6mlMt8EqWvezLlqS2AORa+VQOTqDupYiB8KTfLYEarWvW88+Y+4o8EbXaJxAS6d4XwuDduz2YUR8rk0FjmgBhyMnKuSHvC98WqqCkQRblhiS0Tve6yd3VSMlzCQGCrsu4k44elwn/XuhvlwFv3nXkYRBW2tlA9bj9Ig+DgAYIutNLsGy3NdKwWyT52jtvJGyJQzfKWqNkYfitY9sKNVt/mPeRf9d3B+Lcx/gkzR9Tkx9PKmI5yAkFjH7QNldoAMhLQODVOh3osBiaEUDc2ymizb2Jf9I8GujZxKrH/ZJ2EU1ZpdBsrfLAjkMLAuCs2D95urdKXt78ur17YvSudpmSbJcLmMzz0dYCKdNrM0iMfOc/knuZcwmJRpkFbRshgyKQpBNkGxDO7M15mIu8oHOHjYj8oJ/T+dMOH2C7MaIPZrH7NPVBRMFKifmrVCLfdP+zhwaSTpgphuXzSQQwWviv5WpY2abqgLTDl1s10AXcevANVtucKEcLtBs4xfK/Xh8MFF/nUwuWVDBcl2gnwyOhlFviJyohBJVU/HsJE0jXsF9ePopTTvSSYw/wxNFmS9BhWx94I5QrNrkrXdMKOtA5d+LGW3EQjy0u1uEfRKfBY+6UIYVulIXNO609alDUy/jyVCFyWozGbuEStLSAEFzNwxQ35L4KhRPlyXJqtTWddmKhneX3BEzd2AEdWBPJB2HIhuSR+ocZBkA7JNIBzQoB+c2u8bV+fWE/QIOl9D6oJLJXdVv0jfpQa0k+ojG8eUFCx6GFNxqC4Naqu+DaoPwcxT7YWsxb4xw7TVdC+GZIRg044Z4WKdGb89rp+cgxKP+y7shYX77c+I5p5Z2tRnk5/dQ1aEgt/o/P06PT0bp29Hx60n6NjtKs6NX8avj9K+Qn3PtAfTZs+8K8YrGBt/T+Gg/Uy8vfMHluqoa5buuWrClcCWDAxsjj7gUOSrrcfar0SD2PpywP4JFdhQTrSH3hma7EK5sZnGuqyQP19afM6lnSQVCJb0Jm5yOP3z6eDYevb84Pf94fT46itPY3TsfPiqGCtQ2jrAD7w6nF36HffnQ8dVm4PzPduc+Gx3eu6SWIBRlSr+ThM5xs96kecSzna06NI/bqG8AN3y1moHFT0Z2Hf0c1l5qKYWw1C0eWXy3w/vvd+CDrnzBdmcdvwPZkBSnWh2a2D+E+OKq36Bfsm+/LRxE1f8Iqt2GNKDdinF320W8RCjQeJBB4DRAGU1IzUbB3hpKLyThxjjPsXZPyt5ujY7L368n1Ir6N4ZKF3THwJLeYWDJMz7lUwKsfXh8l/O/r7gEtWhgQfJBL/39DTxEBqY= sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,7 +25,7 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

Create document link (experimental)

+

Create document link (alpha)

Schema
+
Schema
The document link creation failed. More details are provided in the response body. diff --git a/docs/apis-tools/camunda-api-rest/specifications/create-process-instance.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/create-process-instance.api.mdx new file mode 100644 index 00000000000..b3dcbbef542 --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/create-process-instance.api.mdx @@ -0,0 +1,68 @@ +--- +id: create-process-instance +title: "Create process instance" +description: "Creates and starts an instance of the specified process." +sidebar_label: "Create process instance" +hide_title: true +hide_table_of_contents: true +api: eJztWW1v2zgS/isDfmpxiuz0bXs+4IA0ae+825cgSXc/xPlASyOLW4pUSSqOYfi/H4aUZFmSs1nc9e7LFShiS+TMcOaZZ2boLXN8Zdnsll0anaC1IJR1XCXI7iKWok2MKJ3Qis3YuUHu0AJXKVjHjaOP7XrQGbgcwZaYiExgCmWQGC/UTY7NN0gxE0qQSHAaKov0J/Gi/f5WXsIVLLvyULgcDVRWqBUIZ6FS4nuF8A03C/WMWzDoKqMwheUGLrCUegMGra5MgvZ5BLrZS2reXX763No0v/CH4nCPxgqt4oVaqN846ci08esTXZQSvdn1Qcuew2CJmTZYW0F6OKmvpFuodY4K+JoLd76XIyyg4kuJabxQLGIGv1do3Tudbths678KgymbOVNhxBKtHCpHr3hZSpFwkjL53VJwtswmORacPrlNiWzG9PJ3TByLWGl0icYJtPS2NvuiDcMv6NUdxpoitncviBSVE9mm8d4wmBFgvIr3ISC/8Y6PaNtCpb2oAKq01EK5GM65UtpRxCuLKTi9Qh/utXA5DIye1z6rzyqUwxUaFrFMm4K78OjNK7aLhgeep+Pn7UOiF+dD4PoE6OE/Xqg/d4pfcHNwDOuMUKtRo38NyBy3vIZtz+IYvii5gUQrK1I0mEKA4Zg3CYyl0fci9Wh8t6Hj8kq6yEuUlPjuiB7aS6d9QkRevmDEKl4ym52c7iJ2z42gJLDDo/18/eUzBBiDy7mDtZCydrgTDWG0AtpcNVq79jHYRJe4UEey9sDoNmV4mnrHcHnZSR7Kw13EHCqu3DEUhbeP4iceizip8Rl9hRkaJAYeyD8D07z0aZnk2qIiuiNFlUXT8dMSoSSM6gy4lGAw0Sa1NSVRImdGF+ByYaHVHS/Up8p6/P59CiLrYuIJ2RaxQihRVAWbUWh9jsyVdaZKSPpIiD8K6y0M6SQ6a2Pog3BAuP6YdSK6hfLVx3/DeyRKme/tf0wCselmxIKF4plDA8JBzi0sEVVdqA7dwY3hGxYx4bCwf0zAKLHAcfx8qFxlEPDBoaJEs1CIVU5WJbJKcbZQACeQisyDwAEpsuPuC0v5UkjhNp6w0IHUCZe9hNlLy6Reh2yxVP8+aANKryPI9Rrv0QQXDjRR9ouC6pFwcgMcFiHu73w1fB8Ou2DdLWOUR3klnKRHdScyr4Pk2w6h1XUPTX5Pr6YOXUpVvCWGQfyp9Qib0cNldFGn9KeafEMMr5OkCrQeahvU1ftGFKirGrH1szYfE6mJJ+FCWF/3KXNriB8gaqm1RK66XJlxaYl8MnRJ/utxzmwSah9kxQu0dNIlNkBKoTXallpZYsF5BliUbhN5trgXVhB57sU0O4hbPUjaUzU1/0lJ0Yn3ocdG2DS8gGdCQWGfH3r0oDlrQnYQzj19gDZ1C0ZJ4DRMQ3hWqNCIpBXqaoWJVplYVWbvp0RW1lOB9WwhnkqIXViH9rkH7qugmgoAPnAy3Tvr3Was7fgWOjVbFQU3m1bkQZ/V9KKb8W6DUcGVFR7vBE9fvHz1+rAs7+gY4ybNL/4di+ap77ubrvtR44gvGRl38vrNT29padMRnQ6s3e0CvgK4vUdfTKfj9XpYE7htaZ79D9puKuzHW891LpLc21g3mN3Z6dHm5r/cIz/F0HihGlN/XBv8I7338kXHyian/2igqocpgaaxtIbbwIK/1bTtjV3naKgO+7HSs8ZCKcTUjmUbgeiZn8jO6bscp53nTwbIn+x5jx1otPM9mACOd97964gzKXv9f1O0BqUqHrT4TyDmQB4scMmrR+jDN5iQcsepPig/e0iRxnS212P7zmhqdGgUl4DGaBO6iTChCdkisZm263A/wkal0UuJxV+GrNQfIC7DSkjRcSGb6YpTltDCZah5t1cfzuGvr17/dPcsd660s8lkvV7HJktOMBVOm1ib1cRkCf2ndc9juCF8QsE3hNh9GGHPg81dTkKwrjPOG0OxGR/EDkk0vO33Eh28VkawAU7g69V87AZjr7rbaDG+1JWbLSVX39geJUOlfS11EeywT0dBmIZc1W2FHh2R+zj7583NJQQRkOgU694njO2kKO5OX6+m04gV/CF8ezOd7kgmRfwJJ1GAD6Xkivduu/xxqBejW64gzR+svTH8z0RGG7ESfb1xf0KghxfhRHW5L9DlmpqEUlsPHe5yNmOTOplOGjMti5hFQ8WCzW63rDKSzdg2pMxuNplsc23dbrYttXG7yf0L1qMoeh1Sq4GMn6vyoHYYOnpBTXhzpHNeVCrl8Bau3l/fwD+4wzXfeFeSykPRb6dvp6NSaekRiWeXcwgnDMDrkEEjlrJ6VGxY/BTBu90dOTKpjHCba9oW3LNEbtCcVeT9FhC1Pi/dTzh+EYvqDx8amPz8242PNBHZ1f4+9H3ojY83UtMjPcweicdbiZN+A9ktd3sBYxc009FLjtuDIb+tdHcj46of64ZT3W2z6W44Jk19ymXae7cpYYM4dRtkNo1Ph8l3OfcckuiiqJQvJGoV7il5J+715EPsIkWCVBFnW0Zw7qj9GN5A7VI4jQmzIbGa+rESLq+WcaKLSRK2tX+XUi8nBRdqUquwk/OzT18/X5ydfJyfv/98/f7kNJ7G7iHUbcrvgquuHaGJ63cb/TNv9+Xz/z9m/OAfM+q8d/jgJqXkQhETeURsa2a+ZUNmvotqdr1l2+2SW/xq5G5Hj79XSAPm7d0+V+nbLmI58hSNzzo/ILPzEOSTGzKhHSmH09suanacJQmW7tG1d50Cc/nl+oaoq/6hptAp7TF8TT/i8DWbsQVbME8Z7bWnf75lkqtVxVe0Psilf/8Cq4jG6A== +sidebar_class_name: "post api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

Create process instance

+ + + +Creates and starts an instance of the specified process. +The process definition to use to create the instance can be specified either using its unique key +(as returned by Deploy resources), or using the BPMN process ID and a version. + +Waits for the completion of the process instance before returning a result +when awaitCompletion is enabled. + +## Request + +

Body

required
    variables object
    + +JSON object that will instantiate the variables for the root variable scope +of the process instance. + +
    = 1`"} schema={{"description":"A reference key chosen by the user that will be part of all records resulting from this operation.\nMust be >0 if provided.\n","type":"integer","format":"int64","minimum":1}}>
    startInstructions object[]
    + +List of start instructions. By default, the process instance will start at +the start event. If provided, the process instance will apply start instructions +after it has been created. + +
  • Array [
  • ]
+ +The process instance was created. + +
Schema
    variables object
    + +All the variables visible in the root scope. + +
+ +The provided data is not valid. + +
+ +An internal error occurred while processing the request. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/delete-document-experimental.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/delete-document-alpha.api.mdx similarity index 77% rename from docs/apis-tools/camunda-api-rest/specifications/delete-document-experimental.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/delete-document-alpha.api.mdx index 09555bbdc93..96313bd0955 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/delete-document-experimental.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/delete-document-alpha.api.mdx @@ -1,11 +1,11 @@ --- -id: delete-document-experimental -title: "Delete document (experimental)" +id: delete-document-alpha +title: "Delete document (alpha)" description: "Delete a document from the Camunda 8 cluster." -sidebar_label: "Delete document (experimental)" +sidebar_label: "Delete document (alpha)" hide_title: true hide_table_of_contents: true -api: eJztV01v4zYQ/SsETxtUkbzbbJvqZiTZ1sV2ESROe0hyoKmxxV1+aMlhHMPQfy+GkmzHcdoU7anYg2FbHL43j/Oh4ZqjWARe3vJzJ6MBi4HfZ7yCIL1qUDnLS34OGhCYYFVvw+beGYY1sDNhoq0EO2VSx4Dg8zt7Z8uytA7hzk5rFRjYqnHKIqPfjw14RRhC52yCTEbvwaJeMWf1ioXYNM5jYMIyZY8NGOdXW96AzkPGlrWS9Z1VgVmHzIAgl5xnjXdVlOQ1iwHy5Mid5RlvhBcGEDxJXXMrDPCSD7CTimdckdJGYM0z7uFrVB4qXqKPsH8c0xrY5Jy5eTqBjW/oWJUOKucZD7IGI3i55rhqiCugV3bB2zbb0CcxW+6vEfzqCflc6PBa9gS29eHpIoXrr726J97QOBsg0Pq70Yi+nlNvMJci9FwVC1FKCGEetV7lvM34yejk77YrrJOTC/UAlhQRIIVz7qKt8hQ26SyCRYISTaOVFARVNN7NNJjvPgfCXe/Ieko4ZpedJasAhdLMzT6DRJY8J8MZVExZdnv14Yz9dPL+x/s3NWITyqJYLpe5n8tjqBQ6nzu/KPxc0ofsjnI2rcEDM2LFZsBEVSniFJpSsAGPCgILDUg1V5KiQkp7txmdfaevj0LnFqXpZvM2RvuxyvjceSOQlzx6xffTY8xuriZMVWBRzVfKLp5Tpz1zETVhiJmLWM60sF8ocKhQHyTdZwnRGOFXQx4+JWgzHlBg3JHBlUVYgN/1X1n8/t0zbEqTX6bTS9ZBMOkqSNWN1Ex6IhJhlFUmGl6ejEYZN+Kx+/fDaNQSJkX8FUos9SQtbEqtfTnKMkN11aElYcoGFFb+V5FxXi3UPm9OfWKIBe+T+LxT1La09v5QfY6pZyJ4ykPw3nnmZOqvFXVMneCpTgdu6jQQ8Futfau1b7X2Uq21GTeAtatoYEjvuzRPYM1LXgyvs1Cst8NES29a8A/DtBG95iVfd5XTlkWxrl3AtlzTpNMWDxSWB+GVmOkuGWm5q7Ahc7STQqfHhyJICzRTDMq2Q9nVxfWU/SwQlqJ7MRPlU+jT0enoICqZvoA4vpywTmGXfzs9YYCl4j4I2xm/BjhNJQFk9ApX17StO54ZCA9+HCkEm7zo+RI6/e+MeNb/+DBky69/TFPAlZ27tL0P/HNHKCrgQ+f5KH/7PMkuJ6lWpDMm2tQw7aIbbMSBwZhnXCsJNqR07mfAwexjt8J+7xjZ25yC0mXO0CcXCus4y6Uzhey2bb5n2s0KI5QteopQnI1/u/l0Pj7+ODm7+HR9cfw2H+X4iEl84wIaYXf86Ef8zXj2ZndQP9qXvt6+Lf4Hl4M+gxAesWi0UJZyOh39ui/0281VIfCMlzv3hvusr9Zbvl7PRIAbr9uWHnfjPNV/pQKV9gsD/e5Z/pvZ/qCKL7B6ctF4EDqSFafSGnrOP3TyzVV/QTlir7kJHfSrfyjsatepwd+d823v24zXICrwyc3OYCwlNLiz9cWJhXRu2vf5xceL6QVv2z8B3TYrRg== +api: eJztV01z2zYQ/SsYnJIpTSqp06a8aWynVSfNeBylPdg+QOBSRIIPBlhY1mj43zsLkpIsy6077amTg0YSsXjvLfaDiw1HsQy8vObnTkYDFgO/zXgFQXrVonKWl/wcNCAwwarBhtXeGYYNsDNhoq0Ee8ukjgHB5zf2xpZlaR3CjZ03KjCwVeuURaYCE5YJ3TaC1SAwesjZDJmM3oNFvWbO6jULsW2dx2Ss7IkB4/x6xx3Qechu7KpRsiFM65AZECTLedZ6V0VJylkMkCcxN5ZnvBVeGEDw5O6GW2GAl3yEnVU844q8bQU2POMevkbloeIl+giHRzJvgM3OmavTKWy1oWNVOqycZzzIBozg5YbjuiWugF7ZJe+6bEufnNlxf43g1w/Ia6HDc9kT2E7Dw0UK2V+ruiXe0DobIND668mEvh5TbzFXIgxcFQtRSgihjlqvc95l/HRy+nfbFTZJ5FLdgSWPCJDCWbtoqzyFTTqLYJGgRNtqJQVBFa13Cw3mu8+BcDd7bj0knLLL3pJVgEJp5hafQSJLyslwARVTll1fvTtjP52++fH2RYPYhrIoVqtV7mt5ApVC53Pnl4WvJX3I7mXO5g14YEas2QKYqCpFnEJTCrbgUUFgoQWpaiUpKuTpIJvR2ff+DVHoZVGabjfvYnQYq4zXzhuBvOTRK36YHlP26WrGVAUWVb1WdvmYOu2pRdSEIRYuYrnQwn6hwKFCfZT0kCVEY4Rfj3n4kKDLeECBcc8NrizCEvy+fmXx+9ePsClNfpnPL1kPwaSrIFU3UkMZiMgJo6wy0fDydDLJuBH3/b8fJpOOMCniz/DEMrhvtbAptQ7dUZYZqqseLTmmbEBh5X8VGefVUh3y5tQnxljwIYnPe4+6jtbeHKvPKfVMBE95CN47z5xM/bViq0bpBE91OnJTp4GA32rtW619q7Wnaq3LuAFsXEUDQ3rfpXkCG17yYnydhWKzGyY6etOCvxunjeg1L/mmr5yuLIpN4wJ25YYmna64o7DcCa/EQvfJSMt9hY2Zo50UOj0+FkFaoJli9Gw3mF1dfJyznwXCSvQvZqJ8CP128nZyFJVMn0CcXs5Y72Gff3s9YYSl4j4K2xs/BzhNJQFk9ArXH2lbfzwLEB78NFIItnkx8CV0+t8b8Wz48W7Mll//mKeAK1u7tH0I/GMhFBXwoVc+yV89TrLLWaoV6YyJNjVMu+wHG3FkOOYZ10qCDSmdhxlwNHvfr7Dfe0b2Kqeg9Jkz9smlwiYuculMIftt2++FdovCCGWLgSIUZ9PfPn04n568n51dfPh4cfIqn+R4j8n51gU0wu7pGMb87Xj2Ik3qLw993uxeE/+Tm8GQPgj3WLRaKEsJnc59M1T59faeEHjGy71Lw202lOo132wWIsAnr7uOHvezPBV/pQLV9RPT/P55/pvB/qgXX2D94JZxJ3QkK051NTacfyjyxdVwO3nJnnMNOqpreCjsel/UqHfvfLvbLuMNiAp8ktkbTKWEFve2PjmukJ/b3n1+8f5ifsG77k8MLyok sidebar_class_name: "delete api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,7 +25,7 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

Delete document (experimental)

+

Delete document (alpha)

Delete resource + + + +Deletes a deployed resource. +This can be a process definition, decision requirements definition, or form definition +deployed using the deploy resources endpoint. Specify the resource you want to delete in the `resourceKey` parameter. + +## Request + +

Path Parameters

Body

    = 1`"} schema={{"description":"A reference key chosen by the user that will be part of all records resulting from this operation.\nMust be > 0 if provided.\n","type":"integer","format":"int64","minimum":1}}>
+ +The resource is deleted. + +
+ +The provided data is not valid. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +The resource is not found. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +An internal error occurred while processing the request. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/deploy-resources.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/deploy-resources.api.mdx new file mode 100644 index 00000000000..2af5cda66b8 --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/deploy-resources.api.mdx @@ -0,0 +1,45 @@ +--- +id: deploy-resources +title: "Deploy resources" +description: "Deploys one or more resources (e.g. processes, decision models, or forms)." +sidebar_label: "Deploy resources" +hide_title: true +hide_table_of_contents: true +api: eJzVWVFz2zYM/is4Pq03RXa7ruu0Jy9uN29Nlkvc7SHNAyXBFhuJVEkqic+n/74DKduyLSdO6ma3h5wtEwQ+AB9AgZkzy6eGRZfsHI2qdILsKmApmkSL0golWcSGWOZqZkBJBKWhUBpBN9IGvsNwGkKpVYLGoAkgxUQYoSQUKsXcBLRnonRhXoSf5DgTBoQBLoFbVYgEEp7nAYgQQ0BhM9TA87yln2uE1CHAlFRJB2MCNsOCFsNPkgVM45cKjf1VpTMWzd2j0JiyyOoKA5YoaVFaWiqq3IqSa9sjUEcpt5x+NkmGhftmZyWyiKn4MyaWBazUqkRtBRqvuQHWEuVa8xnbDNs4Q4iF5HoGZASsgkQjt0jQG5cKlHblawgjS8EplTEizpG2ZPwGfchtxqXLAeEG8gBuhc0gFZMJalK0WpC8QEPPzlY3Ct7C4IMoLBZtv4zVQk5ZwEgxtyxiXhOr64BZlFzaUdolvx0IL03WvVGHa5Vkq0KndJW3y2Wk2VVd+zVTKml85F/1+/SxbaibOCFb4wAvy1wknLb1Phvauz8BVkH7E2ctcSEtTlG3oyWkffO6MxyVFF8qhGucgUhRWjGZCTndIEbI6qBlrotxmxnbgbmpziFOhBQexqO37JvpuCzkoh3AaBgAN8RJgymkFe1qeRiAVVN0Re+oTP7foHbdw7UM4J9kE6smTgJdNwEOpsRETESyNJYusRKd62Dbh7+97gez9sOrTte4MWIqMV1abLCGnca+gh5LQ9c4C+A2E0kGPLGGYsmhOyCWOmsDwgFaVMIpL3C/1C12uPYBE62KxnZbN9wuE+rMPKkPjIZNC1+19hV0Uipsjsujh6hy5pd9SfgD5jF03t6zL+K0kKsj7Vn4vLDWsPjmQKRdOtFm7XZcDkHbpanH8nfDdbk3dYcnp561S1p5Rfem66D8XUJvh/Xcn2eufT+GcG39TSh1SxVMNS+JXtyux829PdALgJrc77mPbxfMA7Wtr8bvIHa2gmEjvMuD/bvBU9PT7dQDzeGX3c3BLLrDjtp4xuaw5lFXp2jHbP+jZVd9rtl7/mJdM7/TzYO2xLUAP7U/ruP2VDj0ed+NeO30v7c810qy9tF6uDRJat/8unnnWY5kkjxwxTnw7QKjH/6Ld0bn27cgkPPwG70tNqA7CfieiNa9dIKWu4n//gm2e/N5M4AyP4++3jWCpiqp3GBflbniKUy4yDEN4US5idRykfvptNTqRqSYgpCLedgZgFilMz+S7xhaS63iHIvvt4fXdTgDOPOSjV3wVUec8IKxt355/v4Yfn79409X32XWlibq9W5vb0M9SY4wFVbpUOlpT08S+iO5FyGMM9QIBZ9BjMDT1L098hxW9byqH6ucgw1soGh7/+5vBn71nvuISost4gzg4/loa6xeM+32THiVkw4eq8pGcc7lNVvl/SF6DsBURUHXKg011w3UATOW28o8tU/8Ph6fgVcBiUpxbcYjQ+REIaQoqoJFr/v9gBX8zj+96ffdSUYZ38MTCXhX5lw6am26I6S/ffLanGNCGstlcqjMKC2mYtPuem03JB56j2pffwXaTKUsYqUyjjrcZixivfaNScAMamqyLLqcs0rnLGJzXyx11OvNM2VsHc1LpW3du6FM3HAteJx7/tGyL6oFWXKV8DzzBreTRgvtt5xjXlQy5fAWzt9djOE3bvGWz/x1gdIbqt/23/Y7tZLoDo2DsxF4Dz3lWm1goZbquVOtF95HcV1fUSCTSgs7u6BtPjwxco16UFHcl1Ro7Dnt9OyFWNB8eb8gyB//jF2OhZwot73J9TYQ1jp0WT98uc2rs5Erj0QVRSVdj5RTf9zzlmNJXhlLDgUsFwlSJ4/mzYy5NPvBr0BzVQQvQ0qKZ86iNU6Fzao4TFTRS/y25Wecq7hXcCF7jQnTOx6cfDwdDo4+jI7fnV68O3oZ9kN7Z53zRN2CyxYOf9ysrjE3nZ2vjoT/xcV8wwqLd7ZX5ly4dygXznlTsZdrd5xXQVN1l2w+j7nBjzqva/r5S4V6xqLLq1WR0lMdsAx5itqV+DW9QLFjH6KjMRkn8bwiEF1X/3Ww2DRIEixtS3zrlpjKYNl1zv66GBOrm/84UExZ5Pqf0xusvhLIuv4XxhXy3A== +sidebar_class_name: "post api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

Deploy resources

+ + + +Deploys one or more resources (e.g. processes, decision models, or forms). +This is an atomic call, i.e. either all resources are deployed or none of them are. + +## Request + +

Body

required
+ +The resources are deployed. + +
Schema
    deployments object[]
  • Array [
  • processDefinition object
    decisionDefinition object
    decisionRequirements object
    form object
  • ]
+ +The document upload failed. More details are provided in the response body. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/download-document-experimental.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/download-document-alpha.api.mdx similarity index 79% rename from docs/apis-tools/camunda-api-rest/specifications/download-document-experimental.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/download-document-alpha.api.mdx index 7446d15df38..ec758a86aca 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/download-document-experimental.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/download-document-alpha.api.mdx @@ -1,11 +1,11 @@ --- -id: download-document-experimental -title: "Download document (experimental)" +id: download-document-alpha +title: "Download document (alpha)" description: "Download a document from the Camunda 8 cluster." -sidebar_label: "Download document (experimental)" +sidebar_label: "Download document (alpha)" hide_title: true hide_table_of_contents: true -api: eJztV0tT40YQ/itTc4KKkMyGTYhuLmA3Tm22KDDJATiMRm1rduehnWlhVC7991SPJGPAbEglpxQHl21NT39fP9W95iiWgefX/NTJxoDFwG8TXkKQXtWonOU5P3Urq50omWDlIMUW3hmGFbATYRpbCnbMpG4Cgk9v7I3N89w6hBs7r1RgYMvaKYuMft/X4BXpEDplM2Sy8R4s6pY5q1sWmrp2HgMTlil7YMA43z7gBnQeEraqlKxurArMOmQGBFFyntXelY0k3qwJkEYiN5YnvBZeGEDwZOyaW2GA53xUOyt5whXZWguseMI9fGuUh5Ln6Bt46pB5BWx2ytwiemDDDR0rB1elPOFBVmAEz9cc25rQAnpll7zrkg2BaM4D+rcGfPsIfiF0eC1+VLbN4vExhez7vG4JOdTOBgh0/m4yoa/n4BudKxE2aFCy0EgJISwarVuCks4iWCQloq61koKUZE4i4EFAD8LQ2UuMEr5w3gjkOS+UFb7lXdd1CT+aHP0dL4VVtH6p7sCSs4gp5crCNbZMY068wK72rtBgfvgSSO82u8eAU3beS7ISUCjNXPEFJDJySRQsoGTKsuuLDyfsl6P3P9/uVYh1yLNstVqlfiEPoFTofOr8MvMLSR+S20/ZvAIPzIiWFcBEWSrCFJryuwaPCgILNUi1UJICTpYOtBm5sLdvcGZPi2pgc/nB1d9xeeMVf5p5U3Z1MWOqBItq0Sq7fA4d7yxEo0mHKFyDeaGF/cq7hKNCvRP0KUpojBG+HVP8MUCX8IACmy0zuLIIS/Db/JXFH989001p8ut8fs56FUy6EmLrQOpUAxAZYZRVpjE8P5pMEm7Eff/vp8mkI50U8VdYYqnhaWFjaj01R1lmqGR7bdEwZQMKK/+ryDivluopbkotaIwFH5L4tLeoL7D3uwp/Sg0ZwVMegvfOMydj8y6pHeuonqp/xKYmBgHfau2t1t5q7aVa6xJuACtX8pwvIWYOTSA5z8Z3WcjWD2NKR+9v8HfjHNN4zXO+7sumy7NsXbmAXb6mGarL7igmd8IrUeg+E+m4L68xbbSTQsfHu8JHBzSrjGY9jHsXZ5dz9lEgrEQb3UmQj1UfT44nO7WS6Asap+cz1lvYJ99WQxjVUmXvVNsLv0ZxnHUCyMYrbC/pWu+eAoQHP20oBJukGPCidvrfC/Fk+PFhTJXf/pzHaCu7cPH6EPXnRCgq4EPPfJIePs+w81ksFOmMaWzslnbZTzVix8jNE66VBBtiLg+z5Sj2qT9hf/SI7DCloPSZMzbJpcKqKVLpTCb7a5vvQrsiM0LZbIAI2cn096vPp9ODT7OTs8+XZweH6STFe4zG1y6gEXaLx2Z92Exne9tLwP5T49cPL4v/xeoxZBHCPWa1FspSXkf3r4div94sIoEnPN/aSm6ToWKv+XpdiABXXncdPe5XBeoBpQpU3i8sC9ve/Hd7w047vkL7aI25E7ohKU4FNnaef0hz72JYf/bZ6zatncyGh8K227RGxls+7m67hFcgSvCRaC8wlRJq3Lr64gJDlm56+Mcz6gF/AQiBT3s= +api: eJztV0tv20YQ/iuLPcUoTcqp06a8CbaTqkgDw1bag+3DcjkUN9kHszu0TAj878UsSVm25dRFeypyECRxZ+f75smZDUexCjy/4qdOtgYsBn6T8BKC9KpB5SzP+albW+1EyQQrRylWeWcY1sBOhGltKdhbJnUbEHx6ba9tnufWIVzbZa0CA1s2TllkKjBhmdBNLVgFAlsPKVsgk633YFF3zFndsdA2jfMYhZU9NGCc7+6xAzoPybVd10rWpNM6ZAYE0XKeNd6VrSTurA2QRjLXlie8EV4YQPBk8IZbYYDnfFK7KHnCFdnbCKx5wj18bZWHkufoW3jslGUNbHHKXBW9sOWGjpWju1Ke8CBrMILnG45dQ2gBvbIr3vfJlkA05x79awu+ewBfCR1eih+V7bJ4eExh+zavG0IOjbMBAp2/ns3o6yn4VudahC0alCy0UkIIVat1R1DSWQSLpEQ0jVZSkJLMSQQ8DOhBGDp7jlHCK+eNQJ7zQlnhO973fZ/w49nx3/FSWEfrV+oWLDmLmFKuVK61ZRpz4hl2jXeFBvPD50B6d9k9BJyz80GSlYBCaeaKzyCRkUuiYAElU5ZdXbw7Yb8cv/n55lWN2IQ8y9brdeoreQilQudT51eZryR9SO4gZcsaPDAjOlYAE2WpCFNoyu8GPCoILDQgVaUkBZwsHWkzcuFg3+jMgRbVwPbyvau/4fLWK/448+bs08WCqRIsqqpTdvUUOt6pRKtJhyhci3mhhf3C+4SjQr0X9DFKaI0RvptS/CFAn/CAAtsdM7iyCCvwu/yVxR9fP9FNafLrcnnOBhVMuhJi60DqViMQGWGUVaY1PD+ezRJuxN3w76fZrCedFPEXWGIZ3DVa2Jhaj81Rlhkq2UFbNEzZgMLK/yoyzquVeoybUguaYsHHJD4dLBoK7M2+wp9TQ0bwlIfgvfPMydi8S7aulY7qqfonbGpiEPB7rX2vte+19lyt9Qk3gLUrec5XEDOHJpCcZ9O7LGSb+zGlp/c3+Ntpjmm95jnfDGXT51m2qV3APt/QDNVntxSTW+GVKPSQiXQ8lNeUNtpJoePjfeGjA5pVJrPuR76Ls8sley8Q1qKL7iTIh6rfzt7O9mol0Wc0zs8XbLBwSL6dhjCppcreq3YQfoniOOsEkK1X2F3StcE9BQgPft5SCLZJMeJF7fR/EOLJ+OPdlCq//bmM0Va2cvH6GPWnRCgq4MPAfJYePc2w80UsFOmMaW3slnY1TDViz9jNE66VBBtiLo+z5ST2YThhfwyI7CiloAyZMzXJlcK6LVLpTCaHa9vvQrsiM0LZbIQI2cn8908fT+eHHxYnZx8vzw6P0lmKdxiNb1xAI+wOj+0KsZ3OXsUt4OCx1Zv7t8T/Zu8YUwjhDrNGC2UpqaPvN2OlX223kMATnu+sJDfJWK5XfLMpRIBPXvc9PR72BGoApQpU289sCrse/XdLw147vkD3YIe5FbolKU7VNbWdf0jz1cW4+xywl61Ze5mND4XtdmlNjHd83N/0Ca9BlOAj0UFgLiU0uHP12e2FLN028Pdn1AD+AimWTlk= sidebar_class_name: "get api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,7 +25,7 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

Download document (experimental)

+

Download document (alpha)

Evaluate decision + + + +Evaluates a decision. +You specify the decision to evaluate either by using its unique key (as returned by +DeployResource), or using the decision ID. When using the decision ID, the latest deployed +version of the decision is used. + +## Request + +

Body

required
    variables object
    + +The message variables as JSON document. + +
+ +The decision was evaluated. + +
Schema
    evaluatedDecisions object[]
  • Array [
  • matchedRules object[]
  • Array [
  • evaluatedOutputs object[]
  • Array [
  • ]
  • ]
  • evaluatedInputs object[]
  • Array [
  • ]
  • ]
+ +The provided data is not valid. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +The decision is not found. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +An internal error occurred while processing the request. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/find-all-users.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/find-all-users.api.mdx index 2eb0995cdde..da5d5df32ba 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/find-all-users.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/find-all-users.api.mdx @@ -1,11 +1,11 @@ --- id: find-all-users -title: "Get list of users" -description: "Get list of users" -sidebar_label: "Get list of users" +title: "Query users (alpha)" +description: "Search for users based on given criteria." +sidebar_label: "Query users (alpha)" hide_title: true hide_table_of_contents: true -api: eJztWU1z2zYQ/SsYnNopLcqJk7q8yY6dqk0T15bTg6IDRC5FJCDAAEvLqob/vbME9UkqsTvtTZ7xSAT2A7t4Dxg9LjmKmePRmN87sHwScFOAFSiNHiY84qnUyUApmnQ84Ba+luDwwiQLHi15bDSCRvoqikLJuHYMPzujaczFGeSinlXqQ8qj8ZLjogAecTP9DDHygBeWEqIEV3sYW0drrIS1YsEDLhFy95w4qQSVbAVyaKWe8SrgxiZg2zMBTyAVpULK6mJeVb5YaSGh7viAk4CjREV+dyBsnP1Zgl3cGYu3vjG8mpBnIWbwrOVak2+tSWqEGVge8NTYXKAfevmC1q9kLvGJtq5e4yDFnYpbTd1dW7V2vIDUWHiOZ9XZnxsxg01/go58HU6HHdp7rZoCn9ru0oHVIodOgBycgFxI1TGztX6iyXW9nF08bM931biLNrQl1AOuMNr5Jb/o9+kjARdbWRDLeMQ//M6Dp3NwvydP7dZzwYwGhRruQaQbpq/PqLGptA6JRB+FKsE9D6pK/Fvfb4HVd/45aN3y2G3Hfv7vrKvlnjyxi/8rqDf1dcN5e74K+FkXWi9Ewpr74zBsC2umCvKf2vDdDTZgN96SJYBCKubbx4Rj3nAKCZOajW+vL9kvZ69+nvyQIRYuCsP5fN6zaXwCiURje8bOQpvG9E92P/bYKAMLLBcLNgUmkkRSTqHYZmOYKyCWqYwZGoYZsGbZjLrY+6T5984sP9u+hNbbWlpZ30m7Nd/fDplMQKNMF1LP2ql377GpKTGaKqG/8M2udd18u1lcmefCLphJOxLQ7YACy++T++WLVuxRBuzX0eiG+RAsNgmw1FiGmXSrRFRELrXMy5xHZ/1+wHPx6J9e9/sVxcRO0LYq0QweCyV0Da39cqRmubHQ4KcuTGqHQsf/1c4YK2dyP29vh1sNiN/4ilbkOW3j/V6LEjNj5d+QHNlzZM+RPQfZ87KN92tjpzJJQB+pc6TOkToHqXPWxvt7gyw1pT7eOkfqHKlziDqvun7wDDXSTzLFHNgHsAysNfZIoyONjjTqpFG1H/stIFPSIcUpGwU6B8wMKdOFqXWEQmDGIx7W86EXLjkpmEQ5V8tVpVU84kvPpyoKw2VmHFbRsjAWq/CBNutBWCmmykOUpj3vVnhSJhYq8xnb+0oTpLCs6r0UeakTwc7Z7dXdiL0VCHOxqPtcNAL3JvR5/7zfGZVMD0Qc3AybQ8WjcuukWIUlyneG9cZPCVyRmOUgLq3ExR25+fZMQViwg5Iav0ZLk6+OTs/eiAfNl+sVhn77a1TDgE65283bhKtHkReeoxs9dyNpbcC4/9wIWFuSln+HMF6/BNjYNtq/F/gnG5ney+/9tbje35POx0vfiW1RnMaqmjipqdvQwLrdUEIXWOd3oN87bVPoZlifBLHJ81LX14GesbnEjImtDYpV6ZA2htYZA6lt0XLVj5XZOz/DPvqM7LRH4PIMWN0CM4lZOe3FJg9j77b+nCozDXMhddikcOHl4I/7928GJ++Gl1fv765OTnv9Hj56JZQ4mAu9tY4uyu5UuwYMwiOGhRJS1+qlVV5rJlCN+cq14fMkaDg55svlVDi4t6qqaPgrqa88Gk82FKanKuAZiMRvHv8CC2qRv3ZPRpSfzFVZ67H7onkVrDwGcQwFftN2snUi3Xy4GxHgm5djuUnIx4o5vTgTcx7xT/wTJxzWvai5VI8vuRJ6VtZo5D4u/f0DTQx+aw== +api: eJztWUtz2zYQ/isY9JJMqYcTJ015Uxy7dZsmri2nB1kHiFyKSECAAZaWVQ3/e2cBynqQTuxOe5NnPBKBfWAX3wdQuyuOYu54POHXDiyfRjwFl1hZojSax/wKhE1ylhnLKgfWsZlwkDKj2VzegmaJlQhWiv6NvtFxHGuDcKPHuXQMdFoaqZFJx4RmQpW5YBkIrCwwoVOmDTLQYqaCwRNRVDoVLFGVQ3JlKmQmY5gDm5m7/o2+AvBPk7XoG3Z5ejVmo4tzZm7B3kpYTJ8NRCldD41RbpAEwZ4oZc+Cw9ZAb63XL9IfvlZglzT1/EZTxFllMQfLUkAhlev7CG80j7gpwQpK0XnKY55JnY6Uogw6HnELXytw+NakSx6veGI0gkb6KspSycQrDj47SvCKuySHQvhZpT5mPJ6sOC5L4DE3s8+QII94ackhSnBew1hvrZES1oolj7hEKNxT7GQSVLplyKGVes7riBubgm3PEDgyUSkkry7hdR2ClRZSglAwOI04SlRwj54/Ka1XxuJlSAyvp6RZijk8abnWFFtrkhphDpZHPDO2EBiGXr6g9StZSHykrPNrHGW4E3Erqbtrq+8V30JmLDxFs+7Mz4WYwyY/UYe/DqWHFdp7rZoAH5tuorsWBXQC5MEJKIRUHTNb6yeanPnl7OJhe74rxl20oa3AD7jSaBeW/GI4pI/dE+zj7zx6PAf3c/LYbD0VzGhQqPM9iHTD9PUxJTaT1iGR6JNQFbinQVWJf6v7LbCGzD8FrVsau+nY9/+ddbXU00dm8QssHyn5v8J/k4lu4G/P1xE/7sL1W5Gy5qZ5GOClNTMFxY9toO8aG7GLINncdSwkmgnHguAMUiY1m1yenbCfj1/9NH2WI5YuHgwWi0XfZkkPUonG9o2dD2yW0D/JPe+zcQ4WWCGWbAZMpKkkn0KxzRYyV0IiM5kwNP6Cb5bNKIt9f+F+h01+tn1d3W9rZSXff7UZsevLcyZT0CizpdTztuvdG29mKoxnSugvfLNrXXfkrhdXFYWwy/WrzK4DukdQYPX9Y+Dli5btcQ7s1/H4ggUTLDEp+Fc1pPevxhEFUUgti6rg8fFwGPFC3IWn18NhTTaxE7StSDSDu1IJ7aG1H47UrDAWGvz4wKR2KHTyX+2MsXIu9/32d7jVgPhdiGhNnqM23q+1qDA3Vv4N6YE9B/Yc2PMge1628X5m7EymKegDdQ7UOVDnQeoct/H+wSDLTKUPt86BOgfqPESdV10/eM410k8yxRzYW7AMrDX2QKMDjQ406qRRHfECMDdUoS6NrxKUAnMe84Ev5Q9CAZNTJZMI5XzZqrKKx3wV2FLHg8EqNw7reFUai/XglrbiVlhJZXu/czQdWLVGizKJUHnw2N41mqD6yTqavVr+LwJhIZY+i2VT6N6YfjN8M+y0SqIPWKTuQIgwYG7rHFibJUJ3mg3CjzFcU1HLQVJZicsrUgvpmYGwYEcVJf4eC40/b52egxCPmi9na4T89tfYbzKdYZebrsLpnSjKwMBNXXdTsNpAbf+5KU9tFaxCL2Fy3wzYyDY9gFDon27K9aEMP7wvsg/3SuiTVcjEdnGcxmpPi8z4NDSgbSeU0AXWhR0Y9o/aBLk49zxPTFFU2h/2es4WEnMmtjaoaSLRCaBkAlRLi1frfKzF3ocZ9il4ZEd9AldgwPqMn0vMq1k/McW6d3T/OVNmNiiE1IPGhRucjP64/vBu1Ht/fnL64eq0d9Qf9vEuVESJg4XQW+vwVdGmr/bM98ee78e71T469OK6e3ENpxDucFAqIbUv31oVyvLEu4knh+NrWFKLKhxbE75aURavraprGvZueTyZbk45eqojnoNIA75DFZmfhI3pjck/iavKl673+wt1tNYYJQmU+E3Z6dahffHxakxnQtNHLExKOlYsqMcoFjzmN/yG+24kWfDHjR9fcSX0vPKE5cEu/f0D9ExSDw== sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,11 +25,17 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

Get list of users

+

Query users (alpha)

-Get list of users +Search for users based on given criteria. + +:::note +This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. +See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) +for further details. +::: ## Request @@ -37,7 +43,7 @@ Get list of users OK -
Schema
    page object
    items object[]
  • Array [
  • ]
+
Schema
    page object
    items object[]
  • Array [
  • ]
Bad request diff --git a/docs/apis-tools/camunda-api-rest/specifications/get-decision-definition-xml-alpha.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/get-decision-definition-xml-alpha.api.mdx new file mode 100644 index 00000000000..22ed43648fa --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/get-decision-definition-xml-alpha.api.mdx @@ -0,0 +1,65 @@ +--- +id: get-decision-definition-xml-alpha +title: "Get decision definition XML (alpha)" +description: "Returns decision definition as XML." +sidebar_label: "Get decision definition XML (alpha)" +hide_title: true +hide_table_of_contents: true +api: eJztWN9v20YM/leI20uCyZLTpV2nNyNJs2xJESTOVsDxw0mirGulO/V+2DEM/e8DT5Lt2s7Wh2JPfjBkSTySH/mROt6KWT4zLJ6wS0yFEUpChrmQwgol2TRgGZpUi9rfxuwBrdPSQLYvDNzAp7vb8Fk+yziOpbL4LMeFMIAyq5WQFoQBLoGXdcEhR26dRuAyA6ksoORJiRkoCRe8cjLjkJbOWNQGlLOgcrAFQqJewmf5iOjvJr3oe3i4ehzD6P4G1Bz1XOBiehLxWpiBVao0UdoKDngtBhqN3Xsw6NeFVfbTV4d6Sa9On2WuNORO2wI1ZGi5KE3oET5LFrCaa14hecniyYpJXiGLWR+ey3V0/sQlC5igGNbcFixgGr86oTFjsdUOdwM9LhC4MWImMYMvuOzxHwh8AItCpAXw1BpKAgcnxVeHIDKUVuQCNRAIS7no14csYCYtsOIsXjG7rMltIS3OULOA5UpX3LaP3p2zppmSw6ZW0qChFW+GQ7rsO/3p7vZffCUKGJemaEzuynIJ2hMKs9BHM1XSorTeJXyx0UtV0v89R43VQs5Y0zRNwM5fc2XN6E0a4BqtdzHnosQshDulsU8rcI1QazUXGWYgpAfRo4ZEZcs9L3ldlyLlpDqqtUpKrH7+bMiDba+/dW0E961kZxdU8hlTS6lrBZPW+uThwwX8dv721+lJYW1t4ihaLBahztMBZsIqHSo9i3Se0o/kTkMYF6gRKr6EBIFnmQfNS0JVo7YCDZgaU5GLFKzyADu3gULb4uuC3LpFHF8v3qRgNxVblHFasF06j+Dp4aYn5FLI2b5pvybnriQdPFHOxknJ5RfWBMwKWx40umvFuKriel0t3xpoAmYst878J+V/ebOnmwj1+3h8D60KSFWGm7LqDBGISkhRuYrF58NhwCr+0t69Gw4b0kkZ/w4kEvClLrn01NqFIyRUG956YEIay2X6ozKjtJiJXbshaza5YB2JL1tEfSmeHy7FdStYCFt4nTMxR+k724Ib/wXIlZPHijxW5LEif2BFvj30cRxJoChr4iFqrTSoNHVaY0ZbidKrp090b5u2KmjssdaOtXastddqrQlYhbZQGYvZDD1zaKMfs6j/+A02+2ATrQ7OCI3f8gbMoJ73M4XTJYvZqi2oJo6iVaGMbeJVrbRtojlla861oPnJJ5det4XXE6pUKS/940OJpRc0uPSAd4aqa25xwZc+0GTyW9Xvh++HB7WS6CsaaUxrEba03GoVvVqq+YNqW+HvUeyHFoOp08IuH2lZG54EuUY9cpScNV06e1473bdCLOj+fOhJ9MffY88DIXPll3d82HeEsoLatJ4Pw7N97t3f+BJKVVU56fuonLUbJL4FrJuCqbhKkaI0nuXdoNmL3bZv4K/WIpyFlJSWOX37nAlbuCRMVdUPv+trUqokqriQUWfCRBeju6ePl6PB7c3F1cfHq8FZOAzti/Xga2VsxeWWHzRWHRr3aNQ68QP/6S7+1eZLcjxW2D1W6Fjph+C65EJSnfh0rrq2MmGH2goLWPza4QN1lmnQdYcJW60SbvBJl01Dj71vLJ5MN83Ed59MGB9BFue8NLvnFNtJPHnoTjRO4f84vTgYou4hl0vfFEtHdyxgX3D56rFMM20CViDPUHvErewoTbG2W1rWBxLUVtad/vqK+sE/A/ewdw== +sidebar_class_name: "get api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

Get decision definition XML (alpha)

+ + + +Returns decision definition as XML. + +:::note +This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. +See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) +for further details. +::: + +## Request + +

Path Parameters

+ +The XML of the decision definition is successfully returned. + +
Schema
    + +string + +
+ +The Decision Definition Get XML failed. More details are provided in the response body. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +The decision with the given key was not found. More details are provided in the response body. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +An internal error occurred while processing the request. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/get-incident-by-key-alpha.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/get-incident-by-key-alpha.api.mdx new file mode 100644 index 00000000000..4d3c8523206 --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/get-incident-by-key-alpha.api.mdx @@ -0,0 +1,60 @@ +--- +id: get-incident-by-key-alpha +title: "Get incident by key (alpha)" +description: "Returns incident as JSON." +sidebar_label: "Get incident by key (alpha)" +hide_title: true +hide_table_of_contents: true +api: eJztWd1v2zYQ/1cI7qXFFNvd0q3Tm2YrmdpENmwlK5YEBiWdLLYSqZKUHcPw/z6QlBx/tfG27i0PgW3yeJ+/uyMvK6zITGL3DgcsoSkwhR8cnIJMBK0U5Qy7eAyqFkwi2lAgItH7yTDs3DPXdRlXcM+inEoELK04ZQpRiQhDpKhygjIgqhaACEsR4woBI3EBKeIM9UlZs5SgpKilAiERrxXiGVI5oJg/du7ZBMD8umtJ36GxP4mQNwoQn4OYU1g8vOqSisozxXkhu4klPCMVPRMg1cHCWXuuU6Y/fKlBLPXW63uWcYGyWqgcBEpBEVpIa+E9ww6uiCAlaC2xe7fCjJSAXdy65AMssYOp9lZFVI4dLOBLTQWk2FWihn2XRjkgIiWdMUjRZ1i2Vrf8HLTIaZIjkiip3U1QzeiXGpDZpRkFgbS+Sru9PdTBDpZJDiXB7gqrZWU1VDADgR2ccVESZZd+Ocfr9YPWUlacSZD6xE+9nv441HQTeCqRrJMEpMzqolgiYZABace4KOFMaQC5K0yqqqAJ0Ty6n6RmtDpUjcefIFHat4JXIBS1anyG5Sn6P+fSf+nCtVFHmziAjDKquX/49xo1vFC6YWbCTaTkCSUKUqT4KSoE6ZYGUgnKZkflxVXJNkJpeqqggElFWALfwVLasDrJThCCi8hIe866tj4hcwZpYrSgKkfEOhdSJMGUjzkpapA6G4DVpa5tN+Fk5PeDi8AfYAffhB/C4Z8hdnAwnF57o1EQXk798Xg4xg5+P/x9Gg6nYz8aB/4EO7g/DAdBFAzDDYn/MRp7/Wh6613d+JvVvnd15Q+m/pV/7YfRZvkm/MMLB2ZHr0z9Wz+MsIOv/cnEu/Snk+Avf+p/7Pv+wCjXsBn4/WCyLfRpQYv1dhS6GI6vp+Ewml4Mb8IBfmgdew1SktkJvvWNS0tL3uSNpYhBmsJknU4ZKrmApjyaCGYFX4Q8hVMBqukR4ymcgs4N8/8Ozy25/wSgiQBTxSJanuDHAVGgEbgpmO3xzraSKVFwpjTDtYOlIuoEzhPVsN5R8eQE8PpRcOtr2AWXYy8ySBv7k+HVrfk68sNBEF4a5Hzi8dfcfOjVTzy2tZZmCB6pVNLZdqlR76BH7TciBysBMNJ98yQI6Q6LMsHLw5ozp2QHYdJcO47HXqICSErZ7HjkFTDClIX1oQ52V2N4r3NrA3dNWGtmVBWwVcQCBSVer/XW+bNd9xIUyggtIO2g66f0k4gIU3bnNIVU56bWo+3oKObp8pt9uRI8LqD88bA/7+rioZGlbOQi27d1T21rhJF+N77oo9/O3/768CpXqpJut7tYLDoiS84gpYqLDhezrsgS/afpXndQlIMAVJIligGRNDW9jhTo6UaAZAUJzWhio2QMNspoJ1v7vn2dUF/pLhsU1oIewMxDN+OgvSksDUb2RZszGakLzYPEvFZuXBD2GT+F+zkwe0jWZUnE5vq3K6CpDrV8tub9/NPRRPkjikbIskCJhv/mvtMI0kaUlNFSV4nzXs/BJXm0v37p9daap474CZYwBI9VQZiB1r45R9pGm4jfKTJc0Bndl9vZSb0GxANrUZt758/kXlPBAM3oHOzdbUGkechkvGYvGfmSkS8Z+R0z8u2xbugxpL0sNA7tRZQnSS2EvmHktNi8PVrZ+u0NUr3k2kuuveTa13Jt7eASVM5T7OIZGOSYGzjuts1Pdldb8621ni6BmLcTsFoU2MUrmzdrt9td5VyqtbuquFDr7lwHZU4E1dM+E0O9bfOrxU3BE1KY5WPx0xt6zNbatTcCvCQKFmRppxhc7LF+13vXO/544EJ9haMeKloLLfq2KkLLVqf2UbaW+BTGZu4mIakFVcuJPmbdEwMRILx65xXUyDPc9W9LhJ3my0WLlfd/RibclGXcHG/CfqiIjgoIaTXvdd4cQmwUmExJeFnWzJRLNmsfmk/8mpmtzqGCJsCkAXMzFm3JruwOurUS0ZuODopFTlslZ1TlddxJeNmOajefccHjbkko6zYiZLfvXd+EA+/sKuj74cQ/e9PpddSjMsZXXKqSsC099Mtpc5WLl+b69sqMpV/v2716ahQvA++tvqLgUXWrglCmc8KEbtVUirvN+FtiB7vbs/AHp0n3O7xaxUTCjSjWa71sFMDu3cNTdTDlJKXSuAm7GSnk/sB8Ozqvxs1o/TX638boR41vFglbmtJW1PoXduzAeudfAWs9SMmBpCCMcZbCSxKo1NbZgym5Lg2bonzp65z+G3170sA= +sidebar_class_name: "get api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

Get incident by key (alpha)

+ + + +Returns incident as JSON. +:::note +This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. +See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) +for further details. +::: + +## Request + +

Path Parameters

+ +The incident is successfully returned. + +
Schema
+ +The incident Get failed. More details are provided in the response body. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +The incident with the given key was not found. More details are provided in the response body. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +An internal error occurred while processing the request. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/create-authorization.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/migrate-process-instance.api.mdx similarity index 55% rename from docs/apis-tools/camunda-api-rest/specifications/create-authorization.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/migrate-process-instance.api.mdx index 2c16dbec10e..71484fe2255 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/create-authorization.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/migrate-process-instance.api.mdx @@ -1,11 +1,11 @@ --- -id: create-authorization -title: "Create an authorization" -description: "Create an authorization" -sidebar_label: "Create an authorization" +id: migrate-process-instance +title: "Migrate process instance" +description: "Migrates a process instance to a new process definition." +sidebar_label: "Migrate process instance" hide_title: true hide_table_of_contents: true -api: eJztWE1z2zYQ/SuYPbVTWpQTp3V5UxUldevEGlluD7IOILgSkZAAA4CWVQ3/e2cB0frueKY5SjMakcDiLXb3PZDaFTg+t5BMoFe7XBv5D3dSK5hGoCs0/uYmgwSEQe5w1ygCg99qtO43nS0hWYHQyqFydMmrqpDC28VfrFY0ZkWOJacrt6wQEtDpFxQOIqgMeXMSLc3qhULzJy63LK0zUs2hicLk2I/uz0aAqi4pmIf7wQgiGN3dDiCCj6O7hyFMG9qv1bUReAq8nT+O30RQoSmltVIruzXPjeFLiEA6LO2RdU0TgZOuoLGdFPaslXM1ClkMdpRSaTCDxJkaw54qrWxIzZvuFf1kaIWRla9CAuMc2Q4sW3DLQsUyZmsh0NpZXRTLzqOiKK663degCF0XGVPasRRbuM6j+qQNsgwdl4Vl3CCrjH6SGWZMKuZyZO2OWaoz7zI6xYzK6LTA8qdDhuzurceGwXLtlwXmMG5ZMEyD98noQ5/9evXul+kPuXOVTeJ4sVh0zExcYCadNh1t5rGZCfqS3Y8dNs7RICv5kqLkWSbJJy/YhpPMVijkTArmtA9wvW1GZQ7x/Teh3Qm6zrQpuYMEaiMhOoj5YXTDZIbKydlSqvmha79mxuuCMHiqa5ekBVdfYcO3Q6f7XmxdltwsmZ4dcdBEYB139TarpXI4R7O9f6nc2zcH2MSo38fjIQsQTOgM2Uwb5nJpW0cURCmVLEm5V91uBCV/Dnc/d7sNYVLFXxGJYvhcFVwF8u6FIxUrN7z1gUllHVfie1VGGzmX+347sK39NYnfh4gar/er7uVxLa7PVuJc0B7jivEDmdeqHTuL8yzOszi/szjf/i9xZqjkWZZnWZ5l+V1l+e7Y+2tPMcqyIR6iMdowLURtDGZskcvCw9OLcOt7LeHOWWlnpZ2VdlRpzT52//izjpKELtfUKKi09RTjLocE4h07CxFYNE9oqOWwgtoUkMAq6KpJ4niVa+uaZFVp45r4iYr2xI3kaRGoStNBfy2vCi14kQefh/WlCcVLbOPu87JWGWfXbDS4H7OP3OGCL32+yeUu9HX3unsUlUxPIPaGNyxEGNi5dWK0sCT9o7DB+DXATTOlRIraSLe8p2UhPSlyg4b+xG+xZu3Po9N9MIJoffGh5dIff489Hei0G236OoNnXlZBq5u+zIaKW+2Ytuuy02TZWO72VjbjOy2VSTs+9RKYaR/ImqCHKSF+oLEhh93O5aEYhjde00KXZa38wa7mbCFdzvhWikVRW0epjaCQApX18RJzttzehhn2V/DILjtEj8Dh9jyfS5fXaUfoMhZh2ctvWug0LrlU8dqFjfu9Tw+f3/cubm/6g8/3g4vLTrfjnp0vA+mo5Gp7HyfFtxPzS+EdPru4Krj0PR+/z9ValxPY0+U0WmtrAqtVyi0+mKJpaPhbjWYJyWS6kSLdNRHkyDM0Xshffan74TF64StM5kXtu2P7rcAmalf0hMDKnbDdefwS41/OmOHd/ZgIvG47ljqjtYYviGZ8AQk8wiMQOyvXtur8+AoKruY1n5N9wKXPv7ZER7E= +api: eJztWN1v2zYQ/1cOfFmLKZLTpV2nhwFekm7emi5InO0h9gMtnS22EqmSlB3D0P8+HCnZjiU33cfLgAQIEpvH+/z9juRtmOULw+J7dq1VgsaAkMZymSCbBixFk2hRWqEki9mVWGhu0QCH8kAYrAIOElfblRTnQgraGU7kOBMGNH6u0FhIuIREScuFhKLKrShzhIKXpZALp1BXCe0zpNSp2S3P0K4QJdgMgSdWLHEiD335xgDmWKC0BrhMwXK9QNvj2FYsnMiJvDMIlvy0CqpyoXmKXwx0idqQEjXfE1MarJpIDqmYz1Gj7LMbAIaLkDR9QixhrSoNupKyjZ/sGKjKE6tOUm4RVsJmFPJE5pT/nU5RlFott0GwgJVc8wItaqrphkleIItZIz9qlP+GaxYwQTUtuc1YwKg2QmPKYqsrPCz8OEP4hGsKlRLfzUnGLZhMVXkKM4TC4yQNWcBMkmHBWbxhdl2SK0JaXKBmAZsrXXDrv3pzxup66v1AY39S6Zr2HLpFsEFpaYmXZS4STh5GHw25uekaU7OPmFhKi1YlaivQuFWHiAbwF9u6UFrizfHYexBkVRvtkcwoSsKToQesAfhoD/57cXCtuSuZxcL0xdf1uZdQXmyGkKmV852XO67MtSpcFEZVOsEj4ZLAUUY1GHyUbK/t0lsZpf0ZbpyA0cV+SsmjvfwZq4VcULa8A/9Ip5CPatLqrPc5cN9xumtyGjArbI67vnj9mGRXnYo6K5Qah9obdA0iwa73Q9DtosNekimDEmZrl/3KoPaUW4k8J8KVXFvXh/IcNCZKp9RtDfVWuWjrKgxsbYdwVRlLW3+EAQgH7aVIMfUFfAqvASuEFEVVsPj0MHNf4FY/yp9M5I3vCayuvS1TKmk8tl4Nzvpr3yGiMHttqQ7Y2WBwdKfLBKTcctomlYUlz4VrZ0caUKnVLMfi224jOizstZeEFC0XOXgCA99RMwUh4f7m3Tn8cPb6++mLzNrSxFG0Wq1CPU9OMBVW6VDpRaTnCf2S3MsQxhlqov2aysrT1KWd57BjI5gSEzEXScvjxm2gej+q/LG+6VY3B9zZg0elRacZDeHuZgQiRWnFfE2A7Jh2e+a8ykkHn6nKxrOcy0+O6h4bXaOHVkxVFFzvH1J7BuqAGcttZZ48ib571dtOfxmPr8GrgESlCHM66olUjaFwnxVngwGB/cF/ejMY1KSTKv4VkUjAhzLn0kHrMBy6MymNDX5cYNsL239TGaXFQhzaDV3vannagPjCR+R5efZ3qEicmqtKPnPqmVPPnDrKqdd9h9RQ0h0GNeEQtVYaVJJUWmMKq0zkW8K1tpsr9TPTnpn2zLR+ptH7C22mUnoQK+OgQ+/imEUNmU627/Jo031M15G/W5JjATOol+37u9I5i9nGM6qOo2iTKWPreFMqbetoSeVaci34LPcgpWXPvBZRuUp4nnmvupWlBXrktxGf86KSKYe3cHN5O4afucUVX7tMk8nHqt8O3g56tZLoEY3D6xH4CD0u93pFq5ZI36vWC3+NYjcMMJhUWtj1LW3z6Zkh16iHFRVni5fGntNOn70QC5p/3rUo+vXPsQMC9bmb3aDh8oEXZcPSLwwGBkce6fc9T9wdhDsv1e2Lc9r/Fhw4TsyVc6dBbDdTBBs/f2IxG4SnXXZcjxzJE1UUlXSdXi78IInvZT7JK2Mp4wHLRYLSuDQ0U6NW7L1fgT+aiddpSKjx0G4b/ELYrJqFiSqixG/b/p3lahYVXMioMWGi8+HV3YeL4cn70fnlh9vLk9NwENoH66pDBCy43POjeRZ2bpKHQW92B9zzrPJ/MKts6GvxwUZlzoWkhuJgtWn67z3r9F8WsLh3nLlrwdOgaaP3bLOZcYN3Oq9r+vpzhXrN4vvprus6AqfC0P8pi+c8N4fzz31cvbhpZh0v4V9MRXsjb2d9cu0OhbyiTyxgn6j79I1w62kdsAx5itpF4QXPva8nY1K3U9SZl9ZBu2OYJFjaI7KPLofUtLYn5fXvt2Nqss2stlAp7dV8RfNkvmIxm7AJBaDK7TzTfb9hOZeLii9I3uuln78AXVihRg== sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,32 +25,34 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

Create an authorization

+

Migrate process instance

- + -Create an authorization +Migrates a process instance to a new process definition. +This request can contain multiple mapping instructions to define mapping between the active +process instance's elements and target process definition elements. + +Use this to upgrade a process instance to a new version of a process or to +a different process definition, e.g. to keep your running instances up-to-date with the +latest process improvements. ## Request -

Body

required
+

Path Parameters

Body

required
    mappingInstructions object[]required
  • Array [
  • ]
  • = 1`"} schema={{"description":"A reference key chosen by the user that will be part of all records resulting from this operation. Must be > 0 if provided.\n","type":"integer","format":"int64","minimum":1}}>
-The Authorization was created successfully. +The process instance is migrated.
-The Authorization could not be created. -More details are provided in the response body. - -
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
- -The request to create an authorization was unauthorized. -More details are provided in the response body. +The provided data is not valid. -
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
-The request to create an authorization was denied. -More details are provided in the response body. +The process instance is not found.
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/modify-process-instance.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/modify-process-instance.api.mdx new file mode 100644 index 00000000000..bc8eba6ccf8 --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/modify-process-instance.api.mdx @@ -0,0 +1,65 @@ +--- +id: modify-process-instance +title: "Modify process instance" +description: "Modifies a running process instance." +sidebar_label: "Modify process instance" +hide_title: true +hide_table_of_contents: true +api: eJztWd9v4zYS/lcGfLkWJ8tOL223fijgy2bv3NvdBom3fbDzQEtjiw1FqiRlxzD0vx+GlGTZsjdb9NB7SYAktkTOz+8bksM9c3xt2XjO7oxO0FoQyjquEmSPEUvRJkYUTmjFxuyDTsVKoAUOplRKqDUUJ5PihZplwoLB30u0DhKuINHKcaEgL6UThUQ/2JQJSbXgNPDEiQ13CFwBSsxROdArcBm28rVZKKfBocmFqof6adiqpikHAfFCLdQni+DIHKfBYMGFAd4zGVzGHQgL1pXJE2h1ZIYBp/UTPSqVUA5ViikU3GXxQr3TBvCZ54XECJaY8NIGH54dGsUl2J11mJNspR3wDReSLyWS1FSjVX9zYNAWWqXALeBzgYnDNF4oFrGCG56jQ0PJ2TPFc2RjVhs/rW3/D+5YxAQlh2xiEaPAC4MpGztT4mkGZxnCE+5Oo3scCpvpUqawRMhDwtOYRcwmGeacjffM7QoyhaKxRsMittIm5y48+u6aVdVjsAOt+6dOdzTn1CzCBCpHr3hRSJFwsnD4myUz931levkbJo7CYnSBxgm0fm6NnGkHUZ1Z3BjuA+Qwt+ekHUenKwXCqyWBfJuJJGsgYTvxadSnIFQ9yia6IIaotH6w4UZQ0rvzEoP8kOgjj2ot05S+9JM3fdvkrkHoScpakyhntbvWGaHWrIoYJdk6bW5rLR0YnVXXwUozNXh4ZEILn56HIFS8UA/oiIGDK/ob3vj5Crd9GVvhMhE4+Cyso/j3xgSTFmol9TbYE0L5EjIp4SteSsfGg6sqYk1u/gr4fA4HPRS0g/tp+enh54+Q6qQ8ZH8rpKyD40QT3IO+FRWxDMFo7drHdRovFIJ4oaYO8tI6jynwSoPbEZWqg3Cvm0oFL4rAA06oGWy4LBFW3GZCq5AdnqaCnODyruNsqAfHka2o3OgCv5wFx/w7CcA54r1HvkHAvHC7E1Qe5gnlH6ylXlIx/1zAuvCr6dYBG2NV1S3N806CHyPmhJPYrK+7u+MS/0sfo6w6FXeoGi+Jm/QrpjeuXVn/T6W01X+GDfiF1erF4nis5OV17HyQO2a8FO3Zmah6ueSeX/LucYUGabvVc2kCpnnpC3GSaYsKljvvYmnRdOi/RCi48fsmLiUYTLRJaR9madel1rAyOg+boVZ3DB9qhv8IIxArQvVGpM3C9HI1zYUSeZmz8ZWH0OcicR/2AwRdH1ba9diQ3m9G1+fz2dueCNvZklQRux6NLs70jkDKHW/2XxsuhU/8hc1HYfRSYv73/ibkNC93YSSk6LiQdWGkulgjPRTC+f27G/jh+tvvH7/KnCvseDjcbrexWSUDTIXTJtZmPTSrhH5p3NcxzDI0VEx3vu62BRMOhABbYCJWIqGyVZcibwyl6yhxF/ZM4e2+V63a7JZG9Pg8gU/3UxApKidWO8JTT/VRweNLXbrxUnL1xA7Q6Cs91WLLPOemu0HtKKBlwXFX2hd3of/4piebYPHv2ewOgghIdIr10ihsoyjugvp6NIpYzp/Dt+9Go4pkUsa/wBPavhSSKw+tU3foMKQN1vjxjrWnrv9NZrQRa3GqN2ZdmtYgfhs8Cry8/iNUJE6tdKleOfXKqVdOXeTUt+cWqYkCirLvEqAx2oBOktIY9MdG2RKu0V0fp1+Z9sq0V6adZ1oVsRxdplNqhmnroUM9sTEb1mQaNGba4b7fSKuGYW8Z+EQdLzSbpv1WGsnGbB9IVY2Hw32mravG+0IbVw03lLGjQzu9DuRrQCV1wmUWDOsnl15Qj69x+obnpUo5vIH724cZ/Is73PKdDzapPBb9ZvRmdFYqDb0gcXI3heBhgGanXDRiifdnxYbBXyLY9wItJqURbvdA00J4lsgNmklJ+WkhU+vz0ul7GMSi+sO7Bkg//TrzWKBSd3/oM96GVuzlvuD8qL12QOjnumKDq0ttovlxm6bbs2g7bo/k/oWj9fz8wXZEU84dD0eeZyvtA1azoB96wiEaG3I1iq/6jLub+sKR6DwvlUc7ncuFy4B3UpnI0jpKYcSkSFBZH9e6C90Mex/ewC9BI1zFBMPAlWbRWAuXlcs40fkwCdPa/0upl8OcCzWsVdjhzeTDp49vJ4P305vbjw+3g6t4FLtn59NNpM656tgRTpq9zempz/vDmvl6h/FX3mHUvHb47IaF5EJRpfHw2Ne1ec56tZlFbHz2muOoPD9GdYmds/1+yS1+MrKq6PHvJZodG88fD8T1ZEuFpc8pG6+4tKdXI12MfHVfd32+hj9xYXLW+aabpnZ+wZAlfWMReyLqn7vdqR6riGXIUzTeizDwJtg6mJG4g6DeVUoVNTMmSYKFuzD2aO9I9addSO9+fphRAa6vcXKd0lzDt3TVxLdszBZsQQ7oou0Y+ud7Jrlal3xN44Nc+vkvSlgCIw== +sidebar_class_name: "post api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

Modify process instance

+ + + +Modifies a running process instance. +This request can contain multiple instructions to activate an element of the process or +to terminate an active instance of an element. + +Use this to repair a process instance that is stuck on an element or took an unintended path. +For example, because an external system is not available or doesn't respond as expected. + +## Request + +

Path Parameters

Body

required
    activateInstructions object[]
  • Array [
  • variableInstructions object[]
  • Array [
  • variables objectrequired
    + +JSON document that will instantiate the variables for the root variable scope of the process instance. +It must be a JSON object, as variables will be mapped in a key-value fashion. + +
  • ]
  • ]
  • terminateInstructions object[]
  • Array [
  • ]
  • = 1`"} schema={{"description":"A reference key chosen by the user that will be part of all records resulting from this operation. Must be > 0 if provided.\n","type":"integer","format":"int64","minimum":1}}>
+ +The process instance is modified. + +
+ +The provided data is not valid. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +The process instance is not found. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +An internal error occurred while processing the request. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/pin-the-zeebe-engines-internal-clock-to-a-specific-time-experimental.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/pin-internal-clock-alpha.api.mdx similarity index 71% rename from docs/apis-tools/camunda-api-rest/specifications/pin-the-zeebe-engines-internal-clock-to-a-specific-time-experimental.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/pin-internal-clock-alpha.api.mdx index cd86c3cca89..9b9de17b8a2 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/pin-the-zeebe-engines-internal-clock-to-a-specific-time-experimental.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/pin-internal-clock-alpha.api.mdx @@ -1,12 +1,12 @@ --- -id: pin-the-zeebe-engines-internal-clock-to-a-specific-time-experimental -title: "Pin the Zeebe engine’s internal clock to a specific time (experimental)" -description: "Set a precise, static time for the Zeebe engine’s internal clock. When the clock is pinned," -sidebar_label: "Pin the Zeebe engine’s internal clock to a specific time (experimental)" +id: pin-internal-clock-alpha +title: "Pin internal clock (alpha)" +description: "Set a precise, static time for the Zeebe engine’s internal clock." +sidebar_label: "Pin internal clock (alpha)" hide_title: true hide_table_of_contents: true -api: eJztV91u2zYUfpUDXrWYIrld2nW689J0y7B1QeKuwOJcUNSxxZY/KknFMQwBe4293p5kOKQUO7GD9aKXMWDYFA/P73c+8WxY4EvPyis2rbU00gfHg7SGZexEWfEZhDXBWcWuM1ajF062cbtklxiAQ+tQSI8Z+MCDFBCkRlhYB6FB+AuxQkCzlAb//fsfD9IEdIYrEKQ7h48NmigZ1yA9tNIYrLO5kQEcai6NBx6ijG9RyIXEOhnhpobaogdjA/D6hhuBOcwsiIabJcYjJJjtGNCdD1Dh3CQzwJdcGljJ0AAHg6t4wAeu23xu5qYsS2MDzs2skR7Q1K2VJpCbeNuikxpN4CqHswCar6EzNbrl6IAH60Dq1tkbJEGKHhZd6ByCQ4Xco8+jjTll2+GXDn34ydZrVm7iUjqsWRlchxmjMqAJtMXbVkkRq1R88lSLDfOiQc3pX1i3yEpmq08oAstY62yLLkj0cXeMjxb36zlrEPCWi5DSKw1ga0UDWiolPQprag/BwqqRotnJqW9sp2qocKhdzrLRCSr3Eh3L2MI6zUN69PqY9X22E+HVjlvXGQsyKDod8XcuzUXKDOv7dMy31vgUzsvJ8eFAkmsr7sF3QqD3i06p9eAhRXEAUAcjzueG9Rk7nkwOGxqj2CIHWu64xoCOgKKl99IsKSmPlLB1tlKov9sv5X1rUzhPklBj4FJBKjFwD0mwwppiuLp4dwI/Hr/64fpZE0Lry6JYrVa5W4gjrGWwLrduWbiFoC/JPc9h1qDDiOEKgde1JJtcwRY8Y7LEmLzBbaBS5xHB/4O8uHuHTx+cNMtdZHROsoccM4UPF2cgazRBLtbSLPdNxzML3inSwSvbhbJS3Hymqg1I2jf60IrvtOZuDXZxwECfMSK3bieMR5D9/cs93YSRX2azc0gqQNh65Ediu2SIgiDy1Z1m5fFkkjHNb9Pq9WTSk06q+FdEYoiZFDcRWg/DkQa0dTjgJwYmjQ9EnN+oMtbJpXxoN4/tPnb1AOK3KaLU068OddfUbF8X6Jx1YIXoHPXaqpEqqqfOHm0PBPrUaU+d9tRphzutz5jG0Nialay1PkKHh4aVrOD3bn9FfH8WrSS0eXQ36OiOuGGdU6xkm9Q5fVkUm8b60Jeb1rrQFzdUlhvuJK9UAiNtpw4bkaOs4KpJ1vcrSBuGaxwjO+G6MzWHN3BxejmDn3nAFV/HjJLJ+6rfTN5MDmol0Uc0Ts/PIEWY8LfDCaNaau6DapPw1yju+2tKpOicDOtLOpbSUyF36KYdFeEOF4O9qJ3WSYhlw593I1p+/TiLBSc+u9heH09vuW6Hbtxe9yYRgwubHg83rD2PqXzofApxkr/YR+P5WWwqYbXuTGRWsxxv0Ft9QnU+UOQZU1Kg8dEdKuyO2d/SDvyZLMKLnKqXIDYS6lKGpqtyYXUh0rG730rZqqAJoRhM+OJk+vuH92+nR7+dnZy+vzw9epFP8nAbYpYI8JqbHT/OpfmaMYV4mO+wMt0Vn+0OAM8fZmmzfQM9jUnfdkwaWiTgbShaxWW8nUfIbAYuu2L84SQboyKyk4YGjMRJV2yzqbjHD071PT3+0qFbs/LqekthtOoz1iCv0UUC/IxrQnAq79GMvCFx1ZFXe5NZn40npkJgGx6RvXcxIaa4Y+nzPy5n1PjDVKhtTWcdX9HEyFesZHM2ZyxjNkIvckp8vmGKm2XHlySf9NLnP66YjVE= -sidebar_class_name: "post api-method" +api: eJztV19v2zYQ/yoHPrWYIrld2mV689J0y9AVQeKswOw8nKmzxVYiVZKKYxgC9jX29fZJhiOl2IkdrA/DnmJAsEge73d/fnciN8Lj0ol8Kk4rI7+Im0QU5KRVjVdGi1xckQeExpJUjhJwHr2S4FVNsDAWfEnwB9GcgPRSafr7z78cKO3JaqxAss50pj+VpINomADloFFaU5GA8mCpRqUdoA8iriGpFoqKCIK6gMKQA208YHGLWlI60xMDskS9pLCHJZMdgLp1HubUowAuUWlYKV8CgqZVkHce6yad6ZnO81wbTzM9KZUD0kVjlPZsJWqYYtWUCAtC31q6eZFZWpAlLSkLK0f9ikvr4mWwtsY1Y7t2/pmkBz9YOtNKw6JlYbBUETpyaUCfaZEIS19bcv4nU6xFvglDZakQubctJUIa7Ul7XsKmqZRETlD22XGWNsLJkmrkN79uSOTCBHSRiMaahqxX5MLq4DkPHmZ6UhLQHbLJHHilgRojS6hVVSlH0ujCsTerUslyJ9iuNG1VbMOdimQwgomwJCsSsTC2Rh+n3h6Lrkt2PJzumHWTCK98xbsDIy+UvoyREV0Xt7nGaBfdeT06PuxING2FDlwrJTm3aKtqPRDCm0NUO+hxOtOiS8TxaHQYaPBiyylo0GJNnixTqFbOKb0EY5nryoGmJXp1SxymJ5LaWDOvqP5uP7kP8cdwESWhII+qgph0QAdRcE4FezW9fH8KPx6/+eHmRel94/IsW61WqV3IIyqUNzY1dpnZheSH5V6mMCnJ0sBlLArFmFjBlk5D+OQQzt5s4OSngdP/wsWwes9Y563Sy12utFaJx/1oDNeX56AK0l4t1hzZPeiwZ4FtxTpwblqfzyvUXziPPbf2QR+juLau0a7BLA4AdIngRtjuuPEE179/vaebWfPLZHIBUQVIUwy9lBtjBGInaqVV3dYiPx6NElHjXRy9HY061skZ/wZPNNBdU6EO1HrsjtJQG0s9f4JjSjvPTfY/yoyxaqke46ahAQx13pP4XfQoVvmbQ/U21ttPC1lrLBgpW8vVtypVFdRzrQ/YfUt9rrTnSnuutMOV1iWiJl+aQuSiaQNz0JciF1n4gopEOLK3ZPmIuBGtrUQuNrFKujzLNqVxvss3jbG+y245BbdoFc6rSDxejtU0sKQyEqswfShbvKCxpsGLU6xbXSCcwOXZ1QR+Rk8rXIfoMeRD1Sejk9FBrSz6hMbxxTlEDyPXdup/UMuFfFBtFP4WxV13w4GUrVV+fcXbYnjmhJbsuOWI33OgxwvaeRyFRNK/vB+Y8eunSUgu967L7eHx7A7rpq+87WFvFPi2MHG6P1/tWczpI+uii6P01T7zLs5DAUlT160OXVQvh5P1Vp+sWufZ80RUSpJ2wRxO7A7sh7gCv0dEeJVy9iLFhua5VL5s56k0dSbjtvv/eWXmGd8csh7CZafj364/vhsffTg/Pft4dXb0Kh2l/s6HKDXG+Rr1jh0XSj+6qcCLcKR/+djtzfbz8Xwf+r/uQ301eLrzWVOhCsfwwI5N36OmQg531thnpmKzmaOja1t1HU9/bcmuRT692bYlHnWJKAkLsqGpfaE1szJm+GjCsCxetQy/d9fqkmHHWEpq/BOyDw4WXP33XfbiesK13F/zalPwVosrvgLiSuRiJmZCJMIE8oU2EeY3okK9bHHJ8lEt//4Bv315Tg== +sidebar_class_name: "put api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null hide_send_button: true @@ -25,21 +25,17 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

- Pin the Zeebe engine’s internal clock to a specific time (experimental) -

+

Pin internal clock (alpha)

- + -Set a precise, static time for the Zeebe engine’s internal clock. When the clock is pinned, -it remains at the specified time and does not advance. To change the time, the clock must be -pinned again with a new timestamp. +Set a precise, static time for the Zeebe engine’s internal clock. +When the clock is pinned, it remains at the specified time and does not advance. +To change the time, the clock must be pinned again with a new timestamp. :::note -This endpoint is experimental. It may undergo changes or improvements in future releases. +This endpoint is an [alpha feature](/reference/alpha-features.md) and may be subject to change +in future releases. ::: ## Request @@ -50,7 +46,7 @@ The clock was successfully pinned to the specified time in epoch milliseconds.
-The required timestamp parameter is missing. +The required timestamp parameter is missing or it is negative.
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/publish-a-message.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/publish-a-message.api.mdx new file mode 100644 index 00000000000..19adcc96426 --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/publish-a-message.api.mdx @@ -0,0 +1,55 @@ +--- +id: publish-a-message +title: "Publish a message" +description: "Publishes a single message." +sidebar_label: "Publish a message" +hide_title: true +hide_table_of_contents: true +api: eJztWEtz2zYQ/is7OCVTWlJSJ015U22nVZqHxpbbg60DSK5ExCDA4GFZo+F/7yxBmZQoOe5Mb41mNBKIxT6/bwFwwxxfWhbfsE9oLV8im0csQ5saUTqhFYvZ1CdS2BwtcLBCLSVCEWQHt6pZZYEbhLKRzMBpsCWmYiFSKLlxgnRZSHVReocZLIwuwOUoDKTaGJScBOAO13Zwq2Y5Aqqs1EI5yDRaUNrBigsHC22A76wxaL10g1t1bZFUbp3bEXrURuutT3PwFiHlFskei5jBbx6t+01naxZv6qEwmLHYGY8RS7VyqBxN8bKUIq3VDr9aytCG2TTHgtM/ty6RxUwnXzF1LGKl0SUaJ9DSrOIF0u9ugilcmgG96AYwYNFWnXVGqCWryJHHoP7E9WFdexn9rloq+IJ76VjMyIYTBc70R3F/yFdRoC25ghdCQWFfUqUTv1ig2cm9VvUwMfoOTceiUA6XaFjEFtoU3IVHb0+7PoyqiDV6JtnhCL0S3zzC5Hw/Nvii5Jpqu/CSXENlvSF35Bq0av1bCZfXC5fiHhVMzm/VSkgJeI8Gki6SX2SekgTCWZBigZSclwEz+1lUXkqeSAygqSJ2z42gB/ZwFFtnHsWAW/hw9eUzZDr1BSpHmeNZVrOHy2kHSwGW+2jreeBQceWOpTHM7uUQLKpsp2jHAqyiDk9uArh7CJ0Tnhyt2XaYup8EAl0G1rGqCspsqZUN6Xo9Gj2dtRW3bZkG7F9w9LjODltaBPR5c4TdjeBRXva5+AxiPLeIfS7020f1dC1C9ptinB7Lf2n0vcgwg4w7DiL05nsuxVNFKI1OJBY/fa8YY5gGScjQcSEhpJqIEQQTzEAouLl8fwa/nr75Zf4id6608XC4Wq0GZpGeYCacNgNtlkOzSOlLci8HMMvRIBR8TQRvWQVtEds9y+kAgsYZyuMO548gIMxuesR5rKk3gu3vr2O4vpyAyFA5sVhTr+mZ3mnRPNHexYnk6o61Fe0b3bdifVFw0wJ8x0AVMeu4850wjmDy59c93QSLP2azKQQVkOoM653W5cJuDVEQhVCi8AWLT0ejiBX8IYzejqjnh4o/IxIF+FBKrsIOtxcObUvaYIOfOjChrOMq/a8qo41Yin27gx12NSA+DxEFQr05RKiJcmgIhBYNbT1ojDY/ePSDRz94dJhH9dnQ5TpjMSu1raHDXc5iNmz2PTss202NRSwwi644G+aNZDHbBNZU8XC4ybV1VbwptXHV8J5KsnNoo+nAri1qpE65zIPlfvVoonuUP+OFVxmHd3B5cTWD37nDFV/X2SSTu6rfjd6NDmol0SMax9NJ0zsC9jr9YKuWiH1QbRB+juKqmlMiU2+EW1/RspCeBLlBM/ZUgEdMNPZq7TQOQixq/rzfIuXD37O62NTLLtvr18UDL8rAxHBdakG2f/lpZ7pXltHO9aGV6RZ251TVuV4JtdB1KA0A+0khRWhsyOJo8KoP9umk5myqi8KrGodqGS4cvJPkVHrrwjFbihTp4NVGvBX7GGbgr2ARXg0IIAHF2369FC73ySDVxTANyx5/E6mTYcGFGjYm7PBs/On68/n45OPk7OLz1cXJq8Fo4B5cXQjiU8FVx4/m6g+8c2DdiXbTblT/j/cEDcYdPrhhKblQhJq6IJumEd1s0WepN3Va0Txq2skN22wSbvHayKqix988mjWLb+YtSGlURSxHnqGpe9ddjfizkO6TGflB4tKTP70LTxVtV4zTFEv3pOy801SnX65mxNXmRUihM1pj+IpekvAVi9ktu2UsYrqGQN0G6ucbJrlaegJJzIJe+vwDhDJj0A== +sidebar_class_name: "post api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

Publish a message

+ + + +Publishes a single message. +Messages are published to specific partitions computed from their correlation keys. +The endpoint does not wait for a correlation result. +Use the message correlation endpoint for such use cases. + +## Request + +

Body

required
    variables objectnullable
    + +The message variables as JSON document. + +
+ +The message was published. + +
Schema
+ +The provided data is not valid. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +Internal server error. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/query-decision-definitions-experimental.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/query-decision-definitions-alpha.api.mdx similarity index 60% rename from docs/apis-tools/camunda-api-rest/specifications/query-decision-definitions-experimental.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/query-decision-definitions-alpha.api.mdx index 2f2db3d64c5..7dadf0ce712 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/query-decision-definitions-experimental.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/query-decision-definitions-alpha.api.mdx @@ -1,11 +1,11 @@ --- -id: query-decision-definitions-experimental -title: "Query decision definitions (experimental)" +id: query-decision-definitions-alpha +title: "Query decision definitions (alpha)" description: "Search for decision definitions based on given criteria." -sidebar_label: "Query decision definitions (experimental)" +sidebar_label: "Query decision definitions (alpha)" hide_title: true hide_table_of_contents: true -api: eJztWEtz2zYQ/isY9JJMJZJJnDTlTbGd1m3iuLaSHiQdIHIpIgEBBgAtazT8750FSImS6FcmvdkzHpvEvne/xXLX1LKFofGEnkDCDVeSnEDGJbdcSTob0BRMonnpHmN6BUwnOcmUJmlLn27oDZkzAylRkiz4NUiSaG5BcxZM5VTGcSyVhakc59wQkGmpuLQE/78pQfMCpGWCMJkSqSwByebCCztmRSVTRhJRGQvaEFVZojJicyBzdRNM5RWAe5q0pG/J5enVmIwuzoi6Bn3NYTl7FrKSm6FVSpgw8YRDVvKhBmMPXgxbvqBIf/legV7h0fOpROezStscMAiWcWEC591U0gHV8L0CY9+pdEXjtXvkGlIaZ0wYGNBESQvS4hkrS8EThpELvxqM75qaJIeCuVMhPmU0nqypXZVAY6rmXyGxdEBLrUrQloNxHEo7aQ0V05qt6IByC4V5jJyMg0g7gozVXC5oPaBKp6APT7A2MlYJi1pNQut60HF30gicDajlVsCmeP7BUF4pbS99pGg9Q86SLeBR5mpVdGzi0sICNB3QTOmCWf/q1Uu0X/CC2wfSGmfjKLM7Hh8Edde2esP4DjKl4TGcdW98LtgCtvEZ9OjrYbqd4TDXonHwoeFu0f43rO6N5JsjjGRayLalnPXXVYfinBXQS3MN2nAPjQdkryPx0lciNhVzm/4e0of7Z0EyaXtFd9LTmrNtqu9d7HeL/3bqvvTWHmmmVNL47LyMIp+kbq8e50B6mjpperipkgSMySpBWlmB62A/vUM9FtpWWSbO9gBzVyoyro3FlvKFiQrM44Ar2I/y3gVdH9DHYPdWjv3w7Ntzj51PSP6/kIwlulsG9+C3TbHjOfoBzDo5JGNcQBqQj0pDO4EQpoGUWl3zFFLCpZuGWlyTuUpXd4K71GouoPj1EOS79o3Ihads9BJfZIQZ4gnnXvvk8v0x+f3o9W+zZ7m1pYnDcLlcBjpLhpByq3Sg9CLUWYK/SPc8IOMcNJCCrcgcCEtT5zkTZFu+xJSQ8IwnxCrnYGM2wax5/+7pLO70cJDZ1ESlOd2feUfk8+UZ4SlIy7MVl4tD1buz0FxVNp4LJr/RbW30TU+7WkxVFEyv2sF2VwFOGJbZ6v6W+OrlgWysqj/H4wviRZBEpeBmeIuTeKMInSi45EVV0Pgoiga0YDf+6U0UOZBhxh/gicSBXjDpSmvfHS5Jsa1b5xiXxjKZ/KzMKM0XfF9vsIPlpohPvEcej6/78DiSBKOssQ5Ba6WJSpJKa0jJMufCicdbtNXdTP9PWHvC2hPWbsNaPaAF2FylNKalMq50mM1pTMP2Ih92lgqh/7Si+I2lcYpwI2SlBY3p2oOnjsNwnStj63hdKm3r8Bozc800xyWCSyQee5C1xSNUwkTuDThMIh5IVkDr3N5m4Q9mYclWLqhl8wm+Ff02ehv1SkXSWyTirsJ76Euw0xZasYjvXrGe+CGCaxwwDSSV5nZ1hWw+PHNgGvSowjxsSqPR56Tjsyeig+af923B/PXv2OUcW9rldgFyesOK0gNy+8W5M39GB9Nlp9L3h8rt0WaWjO6cFLuouWVAjLrjX2ei9FuVyWYtshXVbEP8ymO2XVz4hUS0WTdEe8uEydpHvrsmwHe1Q2WmXNgbzBwmsOs0jYIXh/i8OHNtJlFFUUl318gFWXKbE9YpiGaFhg1I8ARwHI3XVPr4tmQf/An54jWSFwEWs0dce8UsuM2reZCoot2cbf7OhZqHBeMybFSY8Hj08fP5yWj44ez49PzqdPgiiAJ747+GsAUUTHbs8GNu74LxWXdX+Hw/Cuvtnfu0qrx3VdmA3MKNDUvBuMTCd1leNw15QvsaMm3LGJd7vq1O6HqNAf2sRV3ja2cFjSezbRfGp3pAc2CpxwP9hgikxz5lwzGag+Sicp+1+7uHetByjJIESnsn7axzx1x8uhpjz2pWsoVKkUezJa5r2ZLGdEqnFKFdev9wb4vv11QwuagcwKmXiz//ATjEEl8= +api: eJztWUtz2zYQ/is76CWZUo+kSZrypthJ6zZxXFtJD7IPK3IpogEBBgAtazT87x0ApCSLUiRncujBnvHYIBaLfX4LLJbM4syweMJOKeGGKwkpZVxyy5VkNxFLySSal34YsytCneSQKQ1pl97AFA2loCTM+C1JSDS3pDn2r+W1jONYKkvXcpxzAyTTUnFpgRtACSjKHCEjtJUmQJmCVBZI4lQEhidYVDJFSERlLGkDqrKgMrA5wVTd9a/lFZEfTVrS13D59moMo4szULekbznNb54MsOSmZ5USZpAEwh6WvKfJ2M6HXruuX6Q/fa1IL9zU02vpDJBV2ubkDGGRC9P3Gl5LFjFNXysy9o1KFyxe+iHXlLI4Q2EoYomSlqR1c1iWgiforDf41zgbL5lJcirQzwrxMWPxZMnsoiQWMzX9lxLLIlZqVZK2nIxfobTn1lCh1rhgEeOWCvMQPhknkW4wMlZzOWN1xJROSXdnXHxkWAnrdjUJq+toQ91Jw/AmYpZbQasA+tuZ8kppexksxeobt7LEGT1IXK2KDZm4tDQjzSKWKV2gDZ9+ee7kF7zg9kha42UcZfaexh2j3petXi18Q5nS9JCV9U77XOCM1vaJduy3Y9H+BV1fi0bBY83dZvzpKuH/osVBm756wbZRZJwToDF8JimFL7SIYJ7zJAdMrAE0gFBJ/rUi4ClJyzNO2kOOdcCxA3f6zmtd6c52hPIuUU4/nANPWzA5nv85FnT8DhILOrTHLWnDAwgcitNv2rThc6xKlyFjC5LWHGM0u99oeoMVzDSWOdgc7T4xHPqXqB2S75XoBwXZjxbVkkRpj42xQH0wzDaS+rQTb+98xt6HzP3Uu0ChDvhsSiVNyOnnw2FI7U7ItvKtOUJT/U2VJGRMVgloefV93fvhde2hBcEqi+JsC2b3RkwdsYxrY10h+oyiIvMwuBf4vWu/BfjBoA9B/L0rts2zLc8BOR/x/xH/H/H//4P/Dtjug8cB1G+Bwa958R1I7/lAhlxQ2ocPSlN72wHUBKVWtzylFLj0OrXVAKYqXXyzJJRaTQUVP3dLw335RnARKJt9IUCTA4lAOA27Ty7fncBvL17+evMkt7Y08WAwn8/7Okt6lHKrdF/p2UBnift1dE/7MM5JExS4gCkBpqnXHAWsQQ9MSQnPeAJWeQUbscH5O+h3oB752W58rEK30rwTLiP4dHnWQt+Cy1l36/v3rqmqbDwVKL+wdWwcCsoRmKooUK/y4v4G7jZj0VaHC+keLPpjPL6AwAISldIawJuNnBIFl7yoCha/GA4jVuBdGL0aDj0WOI8foYkEuisFSh9a2+pwCcU6br1iXBqLMvlRnlGaz/j2vvdzuQni06BRyMeXu/JxJMFZWbs4JK2VBpUkldaUuhIpPHt39mr3bjoNj7n2mGuPubYv1+qIFWRzlbKYlcr40EGbs5gN2irc22hiDkIbh7l+jnYnKX/xqLRgMVuG5KnjwWCZK2PreFkqbevBrfPMLWruGpbekW46JFkbPEIlKPIgQNeJbmLzjLjVxfwdLc1x4Y1aNu2+NevXw9fDnVwd6R6Ori8aNAwhuAELLVuX3zvZBuJjGNfuWmIoqTS3iyu3LJhnSqhJjyrnh1VoNPt57m4ciFjU/POuDZg//xl7nztIu1w3W9/eYVGGhFx3t/bcWob7bgybob/7xL+mWJ3Xh/sP011+ncPtcPM0udF0DW3dyaovu2bVtGNDz/Vm3TkNHdHhqt853OpmTpbBHZt9Svet9qmaKe+LJpG6Xt3UmA37z7pJe3HmsSdRRVFJX4DkDObc5oAbUdL08B0qCZ6QO6PGSyaDcVuy92EGPjd3mWd9F+EhDdu6M+M2r6b9RBVt6371dyrUdFAgl4NmCzM4GX34dH466r0/O3l7fvW296w/7Nu7cLF2uFCg3JAjnH13vnI88a8VT7fVX64r8ONDyVEPJU3aW7qzg1Igly7qvYuXDURP2C6IZm0Mu6eFALQTtlw6o37Soq7dZy8Fiyc3a1x2ozpiOWEakoF9cenHToLbemMnjiMXlW+PbPew6qhdMUoSKu03aW82qs7Fx6uxQ7HmQahQqVujce4ei3DOYnbNrpnL6zLo516N3PclEyhnlc9uFvi6n/8AOPuwSA== sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,9 +25,7 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

- Query decision definitions (experimental) -

+

Query decision definitions (alpha)

Body

    sort object[]
  • Array [
  • ]
  • page object
    filter object
+

Body

    sort object[]
  • Array [
  • ]
  • page object
    filter object
The Decision Definition Search successful response. -
Schema
    page object
    items object[]
  • Array [
  • ]
+
Schema
    page object
    items object[]
  • Array [
  • ]
The Decision Definition Search Query failed. More details are provided in the response body. diff --git a/docs/apis-tools/camunda-api-rest/specifications/query-decision-instances-alpha.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/query-decision-instances-alpha.api.mdx new file mode 100644 index 00000000000..3d29cc270c2 --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/query-decision-instances-alpha.api.mdx @@ -0,0 +1,57 @@ +--- +id: query-decision-instances-alpha +title: "Query decision instances (alpha)" +description: "Search for decision instances based on given criteria." +sidebar_label: "Query decision instances (alpha)" +hide_title: true +hide_table_of_contents: true +api: eJztWW1v2zYQ/isE96XF5Jd2bdfpmxs7m1c3yWKnHWAbBS2dLLYUqZKUHcPQfx9ISrZsy44zBNuXFAgqWffCO95zd+StsSZzhf0x7kJAFRUcUa404QHgqYdDUIGkqaaCYx8PgcggRpGQKNynVmhGFIRIcDSnC+AokFSDpKQ54RPu+z4XGiZ8FFOFgIepoFwjqhDhiLA0JigCojMJiPAQcaERcDJjTuAFSTIeEhSwTGmQColMIxEhHQOaifvmhA8B7Nu4JH2PbnvDEerc9JFYgFxQWE5ftEhKVUMLwVQrcIQNktKGBKUPfmiUfM0k/OlHBnJlPr2ccGN+lEkdg3GDJpSpprVwwrGHJfzIQOkPIlxhf21fqYQQ+xFhCjwcCK6Ba/ONpCmjATHObX1TxsNrrIIYEmK/MnYdYX+8xnqVAvaxmH2DQGMPp1KkIDUFZTmEtNIKKiIlWWEPUw2JeoyciAILK4KUlpTPce5hIUOQh19MdEQkY9poVQHOc69i7rgQOPWwpprBJnz+Mq4cCqlvnadwPjWcKZnDo5YrRVJZE+Ua5iCxhyMhE6LdT7+8NutnNKH6TFpl19iJ9I7FB07dXVu+YfwAkZDwGM681j83ZA5b/3g1+mqYjjMc7jUrDDzX3d9h9aAH373B+xljFAP6DqsSrAdZo2l9rom2PjvktZ9OcHsYeJaYaOt97gzuOqNeF3v4stMf2Ie7q49X11+u7NPwpnfRv+z3utWQLJNev5A4NPp6RmTuYVgQlll4XhLKsp19rWBgf81bNhQ5vtPmp1IEoFQXIsqpYfv4JL4uxKJwI7eqrTT4aXXt2FVa+9SGlXKPKOnXJLE6if1uKbD76eohoVckOXP3OUngEYI/g1TUpf6HslOdtoVjP9M1I6uhDmdG96GQLbq6vYv+sH9tkFQ+fh11Pgx62MOD/qh32xl87f19c9sbFlS3vUFn5B6r0NtC8gQIzTJLDGrghOtz99RRV7a2DnH5cc2XNi/uFqajqaIm8eauBqpUcOXy5ut2u97jBytDroIglQUGS1HGUCmpaTuLJ+8cHltytdCE9fcK2VEU5x6OqFTalPrPhGWgHldQGfm3vKdKqnPoY2rqUY599+yv54F1PlfYaoXtFgvcx/jG+pBoaGiawEM1Nzxtz3Ndf67rz3X9f6/rEpQ9OZ7jekd7Gmz/bZ9giuBuoTnZHZQlxHK8eXRHYC8fbM6BsIk+CQnlvQMi0oJ0QUMIEeXWlrJrQDMRrk62DqkUMwbJz4ctxO7qOujGURZ6kSthiJgsZAhnTvv49vIC/fbm7a/TF7HWqfJbreVy2ZRR0ICQaiGbQs5bMgrMn6F72USjGCSghKzQDBAJQxvQhKFtcUQqhYBGNEBalFnJLsbss7Pvgb6lgMfR2pJJehAmHXR320c0BK5ptKJ8fqh69wZkJjLtzxjh3/E2Lh4Kxg5SWZIQWc24FQVF6c4ebriO5JE/RqMb5ESgQIRg7+60uYMrFBkjEsppYvLBm3bbwwm5d2/v2m2bbcyOn2EJR3CfMsJdhdwzh3KUbOPWGra5ZnyanRGSzum+3l0UF0HcdRY5NL6tQ2PHYFCDNHEIUgqJRBBkUkKIljFlm7pY6i7u/J6x9oy1Z6wdw1ru4QR0LELs41QoGzpEx9jHrbLyNTbDhJYrfdjcq0rTDNnjaSYZ9vHaQSf3W611LJTO/XUqpM5bC7MvCyKpGRzYbTSfHcTK0GEiICx26g+30HyoNnp704TfiYYlWbl+u7h234p+337frpVqSI9INPMJZ6ELwEpSKMUadNeKdcTnCM7N4VVBkEmqV0PD5twzAyJBdjKzC5vAKPRZ6ebdEWGveLgsw+XPLyO74yah3W6HHr17kqQOjttbZnu2bdeevLaBWH9eatcfbdpHzyG1X0xjWEVT/TngFMWmoW9Xm83KlMTNYcabQcpWWDE/cUOS6XbU4UYY7c2Aor03fhiv3b5VBwvmt9wiOhJ20wq8HW6/wUK5ZtxuvjrE9k3fpqhAJEnGbZ3ic7SkOkakEk7F0M0kL0YDMI2sv8bcOawkG7gvqPASetU0UHB4LcvTnOo4mzUDkZSzts3/MyZmrYRQ3ipUqNZF59PdVbfTGPQvelfDXuNVs93U9+6exqSPhPDKOmyjXTeUfGGHiy/3jV9vy/TzVPOMqWaRGzTc61bKCOUm4u32rossPsaHWRyX0WtOhS4Xj/F6bVx6J1mem5/tGrA/nm5Tt3nLPRwDCR0MXP7AF27LGva4a8hZZu/Z9i9Dc6/k6AQBpPok7bRSlm6uhyOT6IrZbSJCwyPJ0sx1yRL7eIIn2CDahpHNofb3NWaEzzOLa+zkmn//AD4e12g= +sidebar_class_name: "post api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

Query decision instances (alpha)

+ + + +Search for decision instances based on given criteria. + +:::note +This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. +See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) +for further details. +::: + +## Request + +

Body

    sort object[]
  • Array [
  • ]
  • page object
    filter object
+ +The decision instance search successful response. + +
Schema
    page object
    items object[]
  • Array [
  • ]
+ +The decision instance search query failed. More details are provided in the response body. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +An internal error occurred while processing the request. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/query-decision-requirements-experimental.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/query-decision-requirements-alpha.api.mdx similarity index 54% rename from docs/apis-tools/camunda-api-rest/specifications/query-decision-requirements-experimental.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/query-decision-requirements-alpha.api.mdx index 2356661fa54..b28d9fbb9a8 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/query-decision-requirements-experimental.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/query-decision-requirements-alpha.api.mdx @@ -1,11 +1,11 @@ --- -id: query-decision-requirements-experimental -title: "Query decision requirements (experimental)" +id: query-decision-requirements-alpha +title: "Query decision requirements (alpha)" description: "Search for decision requirements based on given criteria." -sidebar_label: "Query decision requirements (experimental)" +sidebar_label: "Query decision requirements (alpha)" hide_title: true hide_table_of_contents: true -api: eJztV0uP2zYQ/ivE9JIAsuWkQRHottlsim3zXG/Sg+0DLY0sphSpkJR3DUH/vRhSsrV+7CPoqehe1iLnxW/mGw4bcHxlIZnBW0yFFVoxgz9qYbBE5SwsIsjQpkZUTmgFCUyRm7RguTYsO6bBltxixrRiK7FGxVIjHBrBx3M1V0mSKO1wrq4LYRmqrNJCOUa/bys0gixwybjKmNKOoeJLGYyd87JWGWeprK1DY5muHdM5cwWypb4dz9UU0X/NetHX7Opies3OPl8yvUazFnizeBbzStiR01raOA2CI16JkUHrDhZGvd64zH75UaPZ0NbzuaLT57VxBRIKjgtpx/50cwUREBxo3RudbSBpoEMngyTn0mIEqVYOlaM9XlVSpJywjb9bArgBmxZYcr8r5accklkDblMhJKCX3zF1EEFldIXGCbReQxtvrZPixvANRCAclvYpdnKBMhsYss4ItYI2Am0yNIc7VBw5r6UjrzaFto0Gx511BhcROOEkbqvnC0E51cZdBaSgXZBmxVf4pHCNLgcxCeVwhQYiyLUpuQtLv76k+KUohXukrPUxnuXuzokPQL0bW7tVfIO5NvgUzfYoPp/5Cnf4REf8HVE6rXCYa9kd8LFw93S/GrD9T9w8iOpvrwjVrFRvjxj4yEs8WnFrNFYEQjwiZyesXx6vZoeKK3d0cwDrMYPvPGp3y/Y++WOpaQNLbKWVDci+nEwCwMNGe13giQ4b6ozZOk3R2ryWrLc29v3nX+8vTyWm047Ly71yv684cmGso4bwjcsa7dNoJ/nP6t5HvADoU5h3UmMfnv14Hojzv8tDg1bXJsWTzn+eqFR9dzP8ID37/HmtVz9FST8jsJwLidmYfdAG+/GAcYOsMnotMsyYUH5U6WnLljrbEHfJc4mu0BkkUGnrk89dAQnEvePR0HEcHANdPoZS5dlZGwkJNIHobRLHTaGta5Om0sa18folRLDmRtB05UuKtsNx+9tc6pTLIkRwCAJtKF5iP4HtjVy/c4c3fDOmFFbdbLIz/XryenLUKomesEhDXDihN7prYTuzhXPVUbNB+DGGW+KuxbQ2wm2mpBbgWSI3aM5qSsS2EDt/3jp9ByGIuh/vem788de1zyu136vdZHhxy8tK4t2r+CS1Jw8QdzeQbfl6WoX4tFPYcWxAvDBRzrYj4U68mwTDuLfYDW1hGJtsR63J3iA1awK4wxGJ1ggaoXLtke2oepij4cFgMn5xkGjKI03lqS7LWvkrT63YjXAF44Ocd8+HMVCcKRLfkwZUwLAXex922Lfgkb0YU70GUlHWbRLHK+GKejlOddm/Grb/l1Iv45ILFXcubHx+9uHrx7dno/eX5xcfpxejF+PJ2N2Gu4RoXnI1iMP3oxON5tnwofR8H4Zmd/f//1B7+KHWMdnhrYsryYWi0vd5brq2O4OjbRf6Sqa3TWieM2gaQvSrkW1Lyz4MSGaLXa+lrzaCAnkWKAF/E7nhPCRtdE3xkLis/VywP7y1Ua9xlqZYuXtlF4Or5POn6TV1pu5FWuqMdAy/odcqv4EE5jAHYrcvJN/0/HoDkqtV7TkOwS79/QOYa66j +api: eJztWN9v2zYQ/lcI7qUFZMntiqHQW5qkQ7Y2zeK0e7D9QEsniy1FqiRlxxD0vw9HSrZiy3FSDNjD2pfU4v387u4TTzW1bGloPKUXkHDDlSQavldcQwHSGjoPaAom0by0XEka0wkwneQkU5qkQxpkwQykREmy5CuQJNHcguYsnMmZjONYKgszeZdzQ0CmpeLSEm4Ik4SJMmckA2YrDYTJlEhlCUi2EN7gOSsqmTKSiMpY0IaoyhKVEZsDWaj7cCYnAO7XtBN9S24vJ3fk7OaKqBXoFYf1/EXESm5GVilhosQLjljJRxqMPXgw6vTCIv3lewV6g0cvZxIRyCptc0AkLOPChC7DmaQBRUjA2Hcq3dC4pi1CKY0zJgwENFHSgrR4xspS8IQhvtFXgyDX1CQ5FMydCvEpo/G0pnZTAo2pWnyFxNKAllqVoC0H4zSUdtZaKaY129CAcguFeY6djINIe4aM1VwuaRNQpVPQhyfYIBmrhEWvJqFNE/TSnbYG5wG13ArYdtBfCOVEaXvrkaLNHDVLtoRnhatV0YuJSwtL0DSgmdIFs/7Rr68xfsELbp8oa1yMZ5l9kPEBqA9ja7aK7yBTGp6j2Qzic8OWsMMnGPA3oHRc4bDWok3wqXB3I3/bm/g/YXMS1d/e0H0iucuBMGP4UkJKvsEmIOucJzlhiTWEGcJIJfn3CghPQVqecdCOdSxSxyD1hFi5oQivWQHDjbsf0MXHayJZAR2tHPezAm24H9ZT/fRo5q2d0w6HErsamNR9b7ZNi6enfViQTNqnWMUcvDS5ujhluNenFwNZvHdt+JAHHpMf6vXG044plTS+VV+Px75j98Mefm35wSWmShIwJqsE6ayFjtD/dcJ+LtNZZZm42uOPo9PWBDTj2lhk2C9MVGCex2OC/ajuY0zmAX0OlR3V2IdnP54Tcf4ktv8VsWkwqtIJPB2wPlidNsHbRlvN49Uia2ZIybSB9D8kVWSKh9N4kkq7WXNab36IPt0FmWSMC0hD8lFp6O7GhGkgpVYrnkJKuOyAdT7JQqUb5Fn0XIDNVUpjWirjBpXZnMY06hyP+o4j75jizUtjyzkmrbSgMa09KTdxFNW5MraJ61Jp20QrbN0V0xxXCzf+eOzT7a6yQiVM5D6CQxDwoN8he/vG78zCmm1c+cv2Yr4z/Xb8djxoFUWPWMQNxmfojO5eNzuzubXloFkv/BTDDfKsgaTS3G4mqObhWQDToM8qLMS2iVt/zjr+9kI0aP/zvuOKP/6+c3XFV+Xtbi26vGdFKeDhPfQoDY8fI8DdPG3J64g8TuFOejeZvTXHL1LT7Sa0E28XIL/lzHe7it9BxtsNY7y3P0xrD2t/M8BnCAqXmXKYtkN6WJ1+VnQcvjooMVYQ3x+JKopKuouJXJI1tzlhvWq3W3NIMc4EcNLjmkoPYCf2wZ+QLy15vwqxU/04Yb1NHEVLbvNqESaq6Jbl7d+FUIuoYFxGrQsTnZ99/Hx9cTb6cHV+eT25HL0Kx6G99298HPCCyV4cjomOUMwL94Hg5X7+9e5q9vPjxNM+TrQDbOHeRqVgXGLfuyLXLdtO6SDb0q6NcZ/3nDmldY2oftaiafCxC4PG0/mOYvFXE9AcWOrngX7DmabnvnCjO4wHxUXlrm779+sm6DTOkgRK+6jsvPcGufk0uUNCar/CFCpFHc3W+IWGrWlMZ3RGcbRdMzmuc89rKphcVm7AqbeL//4Bmou9Kw== sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,9 +25,7 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

- Query decision requirements (experimental) -

+

Query decision requirements (alpha)

Body

    sort object[]
  • Array [
  • ]
  • page object
    filter object
+

Body

    sort object[]
  • Array [
  • ]
  • page object
    filter object
The decision requirements search successful response. -
Schema
    page object
    items object[]
  • Array [
  • ]
+
Schema
    page object
    items object[]
  • Array [
  • ]
The decision requirements search query failed. More details are provided in the response body. diff --git a/docs/apis-tools/camunda-api-rest/specifications/query-process-instances-experimental.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/query-flow-node-instances-alpha.api.mdx similarity index 54% rename from docs/apis-tools/camunda-api-rest/specifications/query-process-instances-experimental.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/query-flow-node-instances-alpha.api.mdx index f5aae87aa07..2240aa947a8 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/query-process-instances-experimental.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/query-flow-node-instances-alpha.api.mdx @@ -1,11 +1,11 @@ --- -id: query-process-instances-experimental -title: "Query process instances (experimental)" -description: "Search for process instances based on given criteria." -sidebar_label: "Query process instances (experimental)" +id: query-flow-node-instances-alpha +title: "Query flow node instances (alpha)" +description: "Search for flow node instances based on given criteria." +sidebar_label: "Query flow node instances (alpha)" hide_title: true hide_table_of_contents: true -api: eJztWFlz2zYQ/isY9CWZUkcSJ035pvho3eZwbSV9kPUAkUsJCQgwwNKyRsP/3lmA1Ek7UieP1oxGIrC72OtbYnfJUUwdj0f8ypoEnGOX2qHQCfBxxFNwiZUFSqN5zG9A2GTGMmNZURPLmtixiXCQMqPZVN6BZomVCFaK7q2+1XEca4Nwq4cz6RjotDBSI6P/9wVYmYNGoZjQKdMGGWgxUUHYqchLnQqWqNIhWMdMicxkDGfAJua+e6tvAPzTqCF9y67Pb4ZscHXJzB3YOwnz8bOeKKTroDHK9ZJA2BGF7FhwuLfQafi6efrL9xLsgrae32qyPCstzsCyFFBI5breulvNI27hewkO35l0weOlf5QWUh5nQjmIeGI0gkbaE0WhZCLIr72vjpy75C6ZQS78rlKfMh6PlhwXBfCYm8lXSJBHvLCmAIsSnOcw1kurqYS1YsEjLhFyd4ycTIJKNwQ5tFJPeRVxY1Ow+zuUGJkoFdKpLuFVFW2YO6oFjiOOEhWsMucfcuWNsXgdPMWrMXEWYgpHqWtNvqGT1AhTsDzimbG5wLD06iXpr2Qu8UBa53UcZLhl8Z5Tt3WrVozvIDMWjuGsWv1zJaaw9k/Ucl4L08MM+7FWtYGHuvsbLA6wqt2zb068xnfCSoK0O9w9u1pokUNrisL3Ft9GfIoPLEPrumonV63kGzH4Ulv2RagSLrxvV7HYpKuLa1NbdyjHj5C2RbkKgHOF0S6452W/Tz/b9Xo4A7Zb1VldxF2Z0HpWKtYI6voq9tOr1LHwRoNCXR6cXhHPpHVIZcUH4YgcIy8q8X95H4NvcOgx+H2QY9c9u/ociSMELTRetpf7bag/5vP6/X8GmdSSEuTvY1m/gHUy5NQBxXlS5LoBRrvuhbCg8Qg1PP2FMvOPJoUGHofzOxQWzwS2VKUN8lQgdFDm4EuVTo9heLgmEDoerS+tqeUZTo4tFF4Iy4RUkHbZB2OhufowYYEugncyhZRJ7a9hTTFhE5MuHq0ohTUTBfmv+5VlW7kBqUaU9bksZDYTjgXCSTh9dH1xyn4/ef3b+NkMsXBxrzefz7s2SzqQSjS2a+y0Z7OEvkT3vMuGM7DAcrFgE2AiTX0qC8XWmGGugERmMmFovIG12owiGOz7AeD87iMRL63kuzftAft8fclkChpltpB6un/09iVsYkqMJ0rob3ydFW3Xtu1TXJnnwi6aG/X2ASHJsfxxHX71ck82pdSfw+EVCyJYYlLwnQNSC1AfREbkUsu8zHl80u9HPBf34elNv1+RTIr4AZZo6iSU0D61ds2RmuXrvPWGNX3LT4qMsXIqd8/t7kKYFs+CRQGMr9vAONCMvGwpD8FaY5lJktJaSNl8JhU0vVdzdt12PGHtCWtPWHsIa1XEc8CZSXnMC+N86gic8Zj3ajh1VqOMXmjoOHV29g6s85fW0ioe82VAThX3esuZcVjFy8JYrHp3FJatPoe2A8KazFEmEWoWTt+PIG1Ql9NYtjPP+EMgzMXCe7SoG/+16Lf9t/1WqUT6gESakAQLQ/5t1IRGLIG7VWwgPkRwRVdaB0lpJS5uiC24ZwLCgh2UFIRVXtTneen0HIh4VP+5aLLlr3+HPuBUz67XY5fze5EXAY3rPtdfakf98VZ4Rk1HuU5F30g2neOqVWx6w1UzWFVjcpaPwGg1O1mLqUcmYS4yXk83wtSiv5pJ9HcmDqNlcNTmLIHWKo+gzHgv1fm9729KvuZCzfvdF/tYurr0JSExeV5q/17QUzaXOGNiI371nI2KhZIJ0L1x1Xyvjn0fdlh9hWcvupR7ASDN62AqcVZOuonJm/Ha6neizKSXC6l79RGudzr48Pnj2aDz/vL0/OPNeedFt9/F+9AuEVxzoTf0CFfS/RHks81p4vNdFyzXL8enSebjk8wajQj32CuUkJrqg4/vsi6bI75XNnmTvTT4C8VvxJdL8uZnq6qKlr0KPB5tgJGeqojPQKQBBgGw/DQEqzMkXYhclb7d3Z1JVFHDMUgSKPBR2vHGa+Dq082QKks9rs1NSjxWzGmUK+Y85rf8lhOifQL5ouXXl1wJPS09rnmQS5//AIz/EFU= +api: eJztWUtz2zYQ/isY9NBkSlFKmrYpb4ott24Tx7WV9CD7AJFLETEIsABoWaPhf+8sQIp6ULKU9hjPeGwS+wD28e1iuaSWzQyNJvRCqDmRKgFyKY1lMgZ6H9AETKx5YbmSNKK3wHSckVRpkq7IeU1uyJQZSIiSZMYfQZJYcwuas/BO3skoiqSycCfHGTcEZFIoLi3hhjBJmCgyRlJgttRAmEyIVJaAZFPhBZ6xvJQJI7EojQVtiCotUSmxGZCpegrv5C2Ae5o0pG/Jzeh2TIbXl0Q9gn7kML9/0WcFNz2rlDD92BP2WMF7GozdedFr+MI8+e6fEvQCl17eSXf+UtsMNEnAMi5M6E54J2lANfxTgrHvVLKg0dI9cg0JjVImDAQ0VtKCtLjGikLwmKF1+18MmnhJTZxBzvC/Tdtf7BicGO+OWiENKBPiY0qjyZLaRQE0omr6BWJcKbQqQFsOxulQ2umvqZjWbEEDyi3kbv1YOSkHkawJMlZzOaNVQJVOQO+uYEClrBQWtZqYVlWwZqBJLfA+oJZbAauI+wuNf6u0vamPWt0jZ8FmcNJ2tcrX9sSlhRloGtBU6ZxZ/+rH17h/wXNuj6T1bhimduPEO0bd3Fu1YnwHqdJwCmfVaZ9rNoPWPkGHvg6m/Qy7vhb1AY82t1DzK5VAgyd/wqLToptxPs6APMDCZzc3HUATbnnh5zfohUKrGIw5XVnN2KbVAywOqjiHlEuOEk5Xkqx496sxllnozp1tsY40IEoC2mt4Nr78PArI2ccP1+9H49F5QMajmw+XV8Px6DxE0V7iMZJbszvaKmjd2ZHxhyXwZJ3/iuUn70EiD+5fA1wzmx3HXzCboV0eYGEIJv+ur63aF2XEQME0s5CQ6YJ83/8e9XMZ86QG71r/VCkBTO5s4DZTc0PmGbgysU9JxlwBbOQSDcKptGpd3cmZs5LHU+Iwde2NIVaX0Bl5FiST1jt4V7ZfRW8G24C/Bi4XW1l/4XBjE7j30XYBU+VrhCmUNB5XXg8G3RvcXyJNGaPf01KQRlToivXRxfhY0Du1JlllmbjcQvruauN9lHJtLNbCz0yUYE6rOIJ9Le+hmuMNekrR2cuxbZ7t/Tyzz68tQV9dTv5DkegEfm3PO8G/CijIZO/aIWx+FnoP4ureorG/UB3GySNg7TAwHQ89mFaboXsQcJqgdBxvTgCZ+lrkxJCUcQFJSD4oDc3tgDDtWoBHngBCsbupNEBEpipZHESjQqupgPyH564IQ3LtKWu9xGcFYdh3IOHUa5/cXJyRX9/89Mv9i8zawkT9/nw+D3Ua9yDhVulQ6VlfpzH+It3LkIwz0EBytiBTICxJXGgzQdp8I6aAmKc89kXVHdhtBh3mz/cMFO5pTlbhUGq+U/SG5NPNJXHhxNMFl7Nd1Zu3jqkqbTQVTD7QNjCe6yaGxJR5zvSiuXRuKqhzoXwew3983Vm2fx+Pr4kXQWKMLbxiup6hVoSHyLnkeZnT6M1gENCcPfmnnweDCmWix484iSTwVAgmXWhtH4dLkrdxG/pkracB/49nlOYzvq033EjjOojP/Yl8Ov7UlY5DbJwsaIxD0FppouK41BoSMs+4WHXdje76ovwt177l2rdc25drVUBzsJlKaEQL5cZKhesMaB/bCKx8vdXIr+/7a4qzDP0I2riOt9SCRnTpU6eK+v1lpoytomWhtK36j+iXR6Y5jvecG3HZp1gTOkLFTGRe/a4LcQGvhM3RtmZ+vzELc7ZwJi3qUVcr+u3g7aD7uqi03SMRp4j+hD4A10ChEYvZ3X1Hd8THCK6wHzYQl5rbxS2yefNMgWnQw3KjP6v1Oemuv3JENKj/uWjC5Y+/x87jCGg37Why9MTywqdjO9npbJcH3c3wYF+rO1g1hm3w7gTzWr+6+9a3qWvcq+60fdd2mHib3eopB+sd43rD6oJhshpctuLqeaUfSt63o0U/MhysBoKDrXHfZOl9tj7Iw3eVy+ZUOYfVubbreswD0MbHyiB8tZvX15cOnmKV56V0NUrOyJzbjLC1UKrH4ghcgseAXWy0pNKbsSF771fIZ6+RvAoxDXyuNqVpxm1WTsNY5c00fPV3KtS0nzMu+7UK0z8bfvh0dT7svb88G13djnqvwkFon/y1D6EjZ3JtH3V73PHd4IWb/7/cPv2yrdHfvjwc8+WhzjILT7ZfCMbdZcs5eFlj+ITuYjht4hfn7h6JJ3S5RJN+0qKq8LXbA40m9y1w41MV0AxY4hOBPmDq0TPvs94YN4PkonQX9+3pShU0HMM4hsIepL1fK0rXH2/HCHP195VcJcij2Ry/vbA5jegdvaOY0y6OHIK690sqmJyVLrOpl4s//wJSL1zn sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,30 +25,30 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

Query process instances (experimental)

+

Query flow node instances (alpha)

-Search for process instances based on given criteria. +Search for flow node instances based on given criteria. :::note -This endpoint is experimental and not enabled on Camunda clusters out of the box. +This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) for further details. ::: ## Request -

Body

    sort object[]
  • Array [
  • ]
  • page object
    filter object
    variables object[]
  • Array [
  • ]
+

Body

    sort object[]
  • Array [
  • ]
  • page object
    filter object
-The Process Instance Search successful response. +The Flow node instance search successful response. -
Schema
    page object
    items object[]
  • Array [
  • ]
+
Schema
    page object
    items object[]
  • Array [
  • ]
-The Process Instance Search Query failed. More details are provided in the response body. +The Flow node instance Search Query failed. More details are provided in the response body.
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/query-incident-experimental.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/query-incidents-alpha.api.mdx similarity index 55% rename from docs/apis-tools/camunda-api-rest/specifications/query-incident-experimental.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/query-incidents-alpha.api.mdx index 05e81f4eab4..c7167452a99 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/query-incident-experimental.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/query-incidents-alpha.api.mdx @@ -1,11 +1,11 @@ --- -id: query-incident-experimental -title: "Query incident (experimental)" -description: "Query incident (experimental)" -sidebar_label: "Query incident (experimental)" +id: query-incidents-alpha +title: "Query incidents (alpha)" +description: "Search for incidents based on given criteria." +sidebar_label: "Query incidents (alpha)" hide_title: true hide_table_of_contents: true -api: eJztWd1v2zYQ/1cIPq2YYytt2nV6c/OxeWtTL3G6BzcPFHWy2FKkSlJJPEP/+0BSsmVLju1hBQbMARLH5H3f747ScYENmWkcTvFIUBaDMPi+hxV8K0CbdzKe43DhvjIFMQ4TwjX0MJXCWNJwgUmec0aJYVIMvmgp7JqmKWTE7XL+McHhdIHNPAccYhl9AWpwD+dK5qAMA+04pHLSKiqiFJnjHmYGMn2InIQBjxuCtFFMzHDZw1LFoNo7PRxDQgpurFZNcVn2Gu5OK4H3PWyY4ZbvFoii6R8FqPmtVObGRwqX95YzJzM4yFwls4ZNTBiYgcI9nEiVEeOXXr209nOWMbMnrXY2DhOz5nErqOu2lUvGd5BIBYdwlp3xGZMZrOLT69DXwbSdoZ1rXjm4b7i/wnxnBN+c2QjmSlLQ+gISJpjF9u+Hso6ENkRQ2J/Rk3RANwOtK2C19hIuH69lDKNu1C+3K2u2kGlDTLf8LzI6wAMQRJgtOlKih9SwB/iYg3L9okEWScmBiDVQ1A3pyuV5vdA2aboAVPpa1rkU2uf/ZRDYjxg0VSz3JuBJCqgWg7wcpAtqc5gUHNUC+p8F/g6N79COYaQhfLRRh8/lJGFKG9upPhFegD6sH3DyT3mf6wg+oIe0hK0cm+HZtGeHnccGsWeDoAoc0ics61bz3+kgHrVrJOsFj1Z7O+HUbUhEDE2XUrZYuzVb20MFSkn14ZlkUpnlHAzEF90iGvWzMs9AZnmVlOacFHqZ6nZkxh6ZiFUUSEECCux/TcKdUXseS63S2ZfumnSCr+H0eL20bmrzWzG4AMp0Jzrqne8chLhSs9un2qAtTnUchtXGrmOybqqO8mzfo9Exo4QwDnEffZDKhsUQxjUiClCu5AOLIUZMIJPC8vhEkYzn9gx1uk7buu4EKUwqFfsL4u0Hba5kxCH7sX3grksborGnrIxDPkuI6CqJkTdxenN1jn4+e/3T/Q+pMbkOB4PHx8e+SugJxMxI1ZdqNlAJtb+W7kUfTVJQgDIyRxEgEscOm4SjVf6RzoGyhFFkpItCZTayWfYPEjtO+c7e0WiYhWLu1WXd57ubEXLJYsmciVlb9frrTiQLE0aciK94hZWuF6R1LbrIMqLmSCYdCqr+Vux+PHn1siXb4u3XyWSMvAhEZQwokQqZlOlakXUiY4JlRYbDsyDo4Yw8+W9vgsCVls34Hp4IBE85J8JBa9MdJlC2ArdzjDUa57+QGanYjG3q7W/2M7t44T2qK/VVG+9XUkUsjuGZZ9Rj6RxL539fOmdtvF9LgxJZiOOpcyydY+lsK53XXc+HI2FAWRBqUA+gkHt/OZbRsYyOZdRZRuWmbP8yxepXrB/gKQfFMhCG8Bc2VGBSGeMQ51I7oBGT4hAPag498BN7bEf3tgS1GyEWiuMQL3x9leFgsEilNmW4yKUy5eDBJu+BKEYi7iFrt30d1vjikhKeeq3tPNsNQTKo/T8nWSFigt6im8vbCfqFGHgkcxf3vLrZWYl+G7wNOqVa0i0Sh+NR1WQ8ShudoxZrW0CnWE+8j+DSDhg10EIxM7+1bD48ERAFaljY4C/RU+lz0t0AyhHhXvXPVY2p3/6cOFjYrnezule7fCJ2lrN+keHmj8G26WLQPTsMei1ALweCDYw35oAdq41pxWq3mlStFupZXtCc1K22uwZ0RhVgM+ZgMF3e0K2Yqos5f/t2v7pD83djwfLmK9i415oufLaaN1Z2rXTFnkiXqqoU20m3FQDKj4Bw0D9tl/145LoXlVlWCHeEiRl6ZCZFpAEiygttLHisnRTsQCVcYOGmOku17/0O+uQ1otO+LQBfpfXJNWMmLaI+ldmAerblZ8RlNMgIE4NKhR6cDz/cXV8MT96Pzi+vby9PTvtB3zz5CbrtFRkRDTt2tZk1z5cAN/BkBjknzA1tnLWLqgNN8bID4ToH9pLU95EpXiwiouFO8bK0y9+sfhxO71dtx36zI10gsU+mxz4+948OJxNrgyXnhZvjb162lL2aY0gp5OZZ2vtGJx1/vJ3YIq2utjMZWx5FHnHP/Q3xZ/wZW1y6eLj6d+sLzImYFb6svFz78zfQ0M3M +api: eJztWltv27gS/isEz0uLI1+Sprut3lxb6Wo3kX1sJ7vYJDBoaWSxlUiVpOL4GP7vByQlX5XG2e3DAdYBgkS8zAyH31w0miVWZCaxe4d9FtIImMIPDo5AhoLminKGXTwCIsIExVwgWi6SaEokRIgzNKOPwFAoqAJBSfOe3TPXdRlXcM/GCZUIWJRzyhSiEhGGSJonBMVAVCEAERYhxhUCRqapJdglWcEigsK0kAqERLxQiMdIJYCm/Kl5z0YA5umuWvoBDb3RGHUGPuKPIB4pzB/etEhOZUNxnspWaBc2SE4bAqQ6GGhU+5pZ9K9vBYiFnnp7z/Sp40KoBASKQBGayqY54T3DDhbwrQCpPvFogd2leaQCIuzGJJXg4JAzpXXqLjHJ85SGROu09UVqxS6xDBPIiJlN036M3bslVoscsIv59AuECjs4FzwHoShIs4MLQ61cRYQgC+xgqiCTr6ETU0ijLUJSCcpmeOVgLiIQhzMaFDEpUqW5yhCvVs7Wce9Kgg8OVlSlsEbNf7QqR1yoodUUXj3onTmZwavEFTzbkokyBTMQ2MExFxlRdujduZY/pRlVR66VRsZOrHZOfKDUXdlW642fIOYCXrNzVaufAZnBRj9ODb+aTc9vOLzrtDzgser+CosXNfjTBd53FOMEEJGSzhhE6CssHDRPaJggEiqJiEQEFYx+KwAZH0JjCsJ4FaXdROVamvpicsFDkLIHMWVUU//tr0tU0kLRmpiWTQvKQ0oUREjxY0Twa+yljt80z9iaKY2OZeQzqQgL4QeclJakjjonCMHF2HB76XRViEBmD9KL0ZyqBBGrXIiQBOOrH0lagGxiBwMrMu0fboLRwOv6l77Xww6+CX4L+r8H2MF+f3LdGQz84PPEGw77Q+zgX/ufJkF/MvTGQ98bYQd3+0HPH/v9YL3E+2M87HTHk9vO1Y23Hu12rq683sS78q69YLwevgl+6QQ9M6NHJt6tF4yxg6+90ajz2ZuM/D+9ifdH1/N6RriSTM/r+qNtppsBzbazI9Blf3g9CfrjyWX/Jujhh0qx1yBl6eu+r1vPqDSzy0u7sSumIE20s0qnDGVcQBmLzA3GKZ8HPIJjAarXI8YjOAada+J/H55bfF8D0FCAiZpjmh2hxx5RoBFYkUDV9ua2kBFR0FCaoHbmiqgjKI9USXpHxKMNoNMd+7eehp3/edgZG6QNvVH/6tb8O/CCnh98Nsj5wqd/Q81f+NQ6XxojeKJSSWdbx0beQy0rATAgKjkOQjlRCdJB+dDnPFKygzBpcrz6u5coBRJRNqu/eQWMMGVhfSiDndUYLpPDzV5nP63ZCqGVE7s0UXE3LdlfUxduVzbzkTln0kbL83a7XsI1Rmy6gGQRal3FRYoqAk2TRv7wNPG1+ZXiiqT+XtbyLOq0W6BCKp3X3Rqgvy57Sslf3fu9/Mkq9DUJ1LM79tWzL88Lcp7SqVM6dUqnTunUKZ36f0+nfkj2VBcf/3HplE4edgN0bRJVhVyz8uLYxMkU5FBMaApRE11vDFYiIoyjfqQRRNqateRVcoWmPFroDMvwOjvkdcNIoRIu6H8hej4NywWfppD9+zAd26XWQQO7shQO2XRAh+rK9RgR74aXXfTx4v3PD28SpXLptlrz+bwp4rABEVVcNLmYtUQc6l+97m0TjRMQgDKyQFNAJIpMCCUp2iQaSOYQ0piG9vKNVoww+u5smvlCDvhM0FqDuxD0AL0ddDP0qwRkYaC3z3q3dDjlhXKnKWFf8QYrL9lIB8kiy4hYVNjcZVA6neLl5PXdea39/TIeD5AlgUJtVes0qmSkD5FRRjPtfC7abQdn5Mk+/dRurzRNfeNHnIQheMpTwgy09o9TE40q+/5BN8MFndF9vs0diy5B3LMnqiz13SHeL7mY0iiC77zBnEznZDr/eNO5OMR7wBWKecFOUedkOifTec503tflhz5TIDQIJYhHEPY97mRGJzM6mVGtGa0cnIFKeIRdnHNpoGNeTHFr3c3Rsu9ZWH/Y1kYlTcm4ECl28dJazMpttZYJl2rlLnMu1Kr1qK/jkQiqOzfM7elpa1kVYlIekjSxXA9vTk8wkkF1or12js9EwZwsbFWv7HvYkP7Q/tCuf5nmQj1DUTeI2BNa3G35goqsNupasnbxMYRXuqAsISwEVYuR3mbVMwUiQHSKnapAyc9Q1892EXbKfy4rlPz6+9hctPZjw03XifdEstxa4eYzv6k3t58r+9ZN6KLABpp1JdT2Tmlzr/64W5vbwvhWKa1mdI/+bmUKn7fPLxrtj43zn8ftj+5Z2z1733x//u5PvC4xbYpAVYmnvV152XDcVD62Gl1sK83duhdms7xsgbF9Lg+bbhXbhdJe95i09zpI7pb25rd7Q/TYyriCmJtrLw31EEDamkBIi7h28+zQKQx849tCnmUFMwGOzaqC2YZe2TelvV5KQ9DlFneJtZ1tsb2yM+jWckRnTW1M1uKruDajKimmzZBnVbvU+u805dNWRihrlSxkq9u5vgl6ncaV3/WCkdc4a7ab6sl+fdF+JyNsSw5TDtpqJ3tj2sLe7p95uQnrpza059vQSl+i4Em18pRQU/Eyl7ksnf0dXusMVxDV3VrWZd/h5VJr8kakq5UeNqyxe/ew8fD6aeXgBEhksW7dDO7aC2oYx6CXp4X5RLb/HXPlVDs6YQi5+u7ah62gNeiP9OeFadljl/FI7xFkrvvvyBy7+B7fY222BjTG1ZrxJU4JmxXWJ1m6+ud/GdsNmg== sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,33 +25,27 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

Query incident (experimental)

+

Query incidents (alpha)

-Query incident (experimental) +Search for incidents based on given criteria. -## Request - -

Body

    sort object[]
  • Array [
  • ]
  • page object
    filter object
- -The Incident Search successful response. - -
Schema
    page object
    items object[]
  • Array [
  • lastOperation object
    +:::note +This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. +See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) +for further details. +::: -Operation - -
    rootCauseInstance object
    - -Process instance reference description +## Request -
    rootCauseDecision object
    +

    Body

      sort object[]
    • Array [
    • ]
    • page object
      filter object
    -Decision instance reference description +The incident search successful response. -
  • ]
+
Schema
    page object
    items object[]
  • Array [
  • ]
-The Incident Search Query failed. More details are provided in the response body. +The incident search query failed. More details are provided in the response body.
diff --git a/docs/apis-tools/camunda-api-rest/specifications/query-process-instances-alpha.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/query-process-instances-alpha.api.mdx new file mode 100644 index 00000000000..56c48f6cf4e --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/query-process-instances-alpha.api.mdx @@ -0,0 +1,57 @@ +--- +id: query-process-instances-alpha +title: "Query process instances (alpha)" +description: "Search for process instances based on given criteria." +sidebar_label: "Query process instances (alpha)" +hide_title: true +hide_table_of_contents: true +api: eJztWe1z2jgT/1c0ui/tHG9J07vW3yg4V18T4IDk5nkIkxH2GnRnSz5JDmEY/vdnJNnYgAnwTOc+tTOdYGl3tdqX30qrNVZkLrEzwQPBfZASUSYVYT7gaQ0HIH1BE0U5ww4eARH+AoVcoGSPWKIZkRAgztCcvgBDvqAKBCWNJ/bEHMdhXMETGy+oRMCChFOmEJWIMESiZEFQCESlAhBhAWJcIWBkFlmBHRKnLCDIj1KpQEjEU4V4iNQC0Iy/Np7YCMB8TXLST2jojsaoPfAQfwHxQmE5fdckCZV1xXkkm74lrJOE1gVIdTBQz/kacfDTPymIlZ56/8T07sNUqAUIFIAiNJINs8MnhmtYwD8pSPWFByvsrM0nFRBgJySRhBr2OVPAlJ4jSRJRn2jbNv+S2sBrLP0FxMTMRlE/xM5kjdUqAexgPvsLfIVrOBE8AaEoSMPBhZGWUREhyArXMFUQy0vkhBSioCRIKkHZHG9qmIsAxOGMDo6QpJHSq0ofbza10nYnmcBpDSuqIthGzx/alCMu1NBaCm+mmjMhc7hIXcHjkk6UKZiDwDUcchETZYc+XGv9IxpTdSatNDq2Q7Wz4wOj7uq22TJ+gZALuIRzU2mfAZlDYZ9axXoVTMcZDn0dZRs819wiZUw7vdjBjPMICNNGI76iL1A9R5lPA2BKVk+HlFG5gKB61udxEoE6Oq2BJzo2K0AJCvIOQlVNAEJwcQ9SZqF3EPhmX1StvOq8kIoI1SWqgrkUWgFRUFc0BrMkCy5jmCUxy3C5Sot9gB5rRExitoVnr9vQYrLPLmh7a9pHEJJayDkjK16IoBqNL4kYRuJqq76QKAV5Ro7kLOVwz22RVZ3HTLFbE9AlRKnhGVH+op+AMAB7xIUJEcDUntBvsDppl19uNLsCRpiqlH1c5wNdj5NWJffG4qxMOJPWjNetlv5zGAl5Qc/Foax+y9TX42EaoVxQwxSv716cLkV1xRWJvL04eMsDIRVS6WryeG5UlTA0Iv8v71uobQ16CWwf5dg3z74+J/TcZ//77MA+wIteZTZXwU+OPDr/vwf2nEDAbRKfn7WW/jbiyx4P4PKs/zdwX6oj5MDSWJ+u2p2x9+jiGvZ6Ha/r9sa4hjv9+8GdO3a7+ne713HvzM+H3rde/8+e+TUauB3v1nO7eFoqztX1cUFk21T2LYpW0x04+LsAaA0LzlXunSMkPNfszazYDVJUbOdkvlWvelZpsQPHHTh0R/27R/e57D/js+fBsN9xR6Nnrzca6xFcw11X+7Vqpt3tPj+2h177y53+fBh022O3PHLf73q3/3lDaNfteCOv33vuurdezxt7/d7hijtz995vw3aVOtNzInfU+ep2H2xo3vU738yPkbXAbduzE0UoT885qW0PipdkWQmOC2cqiM2MT6LoKwWhYXp1fnDt36GRgBAE6F9lwpOB93bYH2TcuXTVMP7GCWSYq58Z5jjlSYLKkmcYbi49wBghKCQ0gqCB7rmA/CaOiDAl6IUGECDKTFcgP+SgGQ9Wb550EsFnEcQ/H554dpVra9U0ZbYusn5ERGZuntnVJ8PbDvp88/HX6buFUol0ms3lctkQoV+HgCouGlzMmyL09X9N976BxgsQgGKyQjNAJAiM40iEighBMgGfhtRHipsNZmoj7Va7vxPHrCPYtM2SVNCD4t5GD0MPmXpBwxVl88Old3sCM54qZxYR9jcuouLUEaKNZBrHRKzyBs/uAhnApKfPhx+uK48nX8fjAbIikM8DMM0spbtS2UJ6EzFlNNZoddNq1XBMXu3XL63WRsvUHj9jJwzBaxIRZkJrfzuUobiI24a9Kmd9t+/jGS7onO6v29hPdj3YtTuyyfixKhnbDGkrCx2HBowR9/1UCAjQckGj7akvXzvrgv3ItR+59iPXjuXapoZjUAseYAcnXJrQIWqBHdzM0qm+7a43bX8R60ajeAEhzWU6FRF28NpmzsZpNtcLLtXGWSdcqE3zRbsl790YL+ppm2F55ETcJ9HCrn7oQT2hL3L5zvba678RBUuyste8rA9diP7U+tSqviJyoY5I1A17u0MbfyVMyMXq5K4Ua4nPEbzRV20JfiqoWo00mzXPDIgA0U61E7Zxka1npJubjyHCtezHbR4tv/85Ng7XeDYsXgHcV6LPprtt1207VYkUigaq/Sq1TO1A0SS136W2aDawbYTa753Wpx3aPUIXwV7ucRajpSsuvm5d39Rbn+vXv45bn52rlnP1sfHx6sN/cela+xbR3gW+WOR4Y6C123K0rcSCMe8gTvKh6n5faaWjbb5W+Q5a7u2aaJ5sn0UKWdlriH3ymBYPF/ZBorV9bmjtPSZM1jboys8Eemxj0CjkJuIyrDiMXb3r3Dq41bg6xKWBZ+DV53GcMlNj2RwtqVogUsqF7AlNA29EfdBn8MLAOdmdnUGZP9BVQ+exBZu8tM6pWqSzhs/j/OVs+3cW8VkzJpQ1syVks9O+f+h12/U7r+P2Rm79qtFqqFfbEtPQFxNW0sMe7w9fGN+Zl8L3+3tfFyeMHy+Up18oM1hT8KqaSUSo6eEY566z+jPBB/UH56GrH/RsFZng9Vpb9EFEm40eNipgZzItZ+9E5+YCSGBzwPYgccc6rD7WumQJrXNqv+m8qeUcbd+HRL1JOy3V00F/pPsJs+wZNuaB5hFkqZ9oyRI7+Ak/YZ3OybZ9ZMbXOCJsnlqUtHL1v/8BLWqzxQ== +sidebar_class_name: "post api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

Query process instances (alpha)

+ + + +Search for process instances based on given criteria. + +:::note +This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. +See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) +for further details. +::: + +## Request + +

Body

    sort object[]
  • Array [
  • ]
  • page object
    filter object
    variable object
+ +The Process Instance Search successful response. + +
Schema
    page object
    items object[]
  • Array [
  • operations object[]
  • Array [
  • ]
  • callHierarchy object[]
  • Array [
  • ]
  • ]
+ +The Process Instance Search Query failed. More details are provided in the response body. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
+ +An internal error occurred while processing the request. + +
Schema
    = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
diff --git a/docs/apis-tools/camunda-api-rest/specifications/query-user-tasks-experimental.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/query-user-tasks-alpha.api.mdx similarity index 61% rename from docs/apis-tools/camunda-api-rest/specifications/query-user-tasks-experimental.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/query-user-tasks-alpha.api.mdx index 2badad0d77c..96e707d492e 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/query-user-tasks-experimental.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/query-user-tasks-alpha.api.mdx @@ -1,11 +1,11 @@ --- -id: query-user-tasks-experimental -title: "Query user tasks (experimental)" +id: query-user-tasks-alpha +title: "Query user tasks (alpha)" description: "Search for user tasks based on given criteria." -sidebar_label: "Query user tasks (experimental)" +sidebar_label: "Query user tasks (alpha)" hide_title: true hide_table_of_contents: true -api: eJztWd1v2zYQ/1cI7qXFZFlt063Tm5e2a/ZVL3G6BycPtHSyuVCkSlJxDEP/+3CkZMm24tjDMOwhBYJa5H3wjne/I49ratnc0HhKrw1oYpm5o7cBTcEkmheWK0ljegVMJwuSKU3KhsqQGTOQEiXJnN+DJInmFjRn4Y28kXEcS2XhRk4W3BCQaaG4tAR/PxSgeQ7SMkGYTIlUloBkM+GFnbO8lCkjiSiNBW2IKi1RGbELIDP1EN7IKwD3NW1I35HLD1cTMhpfEHUP+p7D8vbFkBXcDKxSwgwTTzhgBR9oMHZvYNDwhXn6zdcS9AqnXt5INDkrtV2AJilYxoUJnXU3kgZUw9cSjP1RpSsar90n15DSOGPCQEATJS1Ii3OsKARPGDp0+JdBr66pSRaQMzcrxOeMxtM1tasCaEzV7C9ILA1ooVUB2nIwjkNpJ62mYlqzFQ0ot5CbU+RkHETaEWSs5nJOq4AqnYLen8GIyFgpLGo1Ca2qoGPutBZ4G1DLrYBNyPyBrrxS2l56T9HqFjkLNoeTlqtV3lkTlxbmoGlAM6VzZv3Qm9e4fsFzbo+kNW6No8xuWbzn1O21VRvGHyFTGk7hrHr9M2ZzaP0T9OjrYeoybCfrJo+JXyZx8UzqWA3proL92BC1Qx6T6ymOl3gHqyd35LsztyOWWeiNS2YMn0vonwQBCCgX/SGdMJnylFn4SauyOEyCRvZSFFolYMx7yLjk6JFfjjaqZr2QxjKZwPGMFiRDq0zvimZFLtvlPGJ7obnS3K72ozE4Ovvga+96cy55XuY0jgKaswf/+1UUVQGd92fgQQ44lUWcrEScqqSTeuPakV+YKOGjTxEPZg0Fhs6EmTs/ucnPHoq+NK48oppCSePd/jqK9pNwsgDiEhHlkLoumzLBAMtKQRoJoatP/3r9ORW4rbJMXOzA4aGQz7g2FguG87M5BVwDKtg/5T0EzN6hpyBzh+NIaK437Ukk3TXgCcP+Z0DczJ4MhI8i+GP2NzoPQPsRrIiw4xq8H4PX/74q4MgJrtPgkv597352ONBFA8tzcFwqLwSczpcpIdTyujiNKy3hNIbDhREeLGjJxEel80vIQINM+sN1b/u+gDbcg+MR58ekNFbln4CloHuzj6WpE8vEeBsW90Ktp04/XZ86h/K3UV+hQeTdRrfeEtTglaM8O7rsOG6SMS4gDclvSkNzRSJMAym0uucppIRLd11rUI7MVLo6WJ8KrWYC8m/369T2qkZk7ClrvcQ7njBDPOHMa59efjwnP5y9/f72xcLawsTD4XK5DHWWDCDlVulQ6flQZwn+Id3LkEwWoIHkbEVmQNp9JC2gElNAwjOeEKucgfWyCe6ft++J4uhmD8R8qTndLSEjcn15QXgK0vJsxeV8X/X2ZW2mShvPBJN3tI2DvuvdthZT5jnTq+bmva2gLhDl01X9zes92RhLnyaTMfEiSKJScK0Fi62CWlHYDfuzqBv437mznN/xIyyR2HEQTLrQ2jWHS5K3cesM4zUg/0s7ozSf8129Id0+WrrB994in4Vv+7JwJAl6GbGNgNZKE5UkpdaQkuWCCyce8azR3VzQnnPtOdeec+2RXKsCmoNdqJTGtFDGhQ6zCxrTIfY6B67XOfTndYqtH33vqv10TUstaEzXPmWqeDhcL5SxVbwulLbV8B73455pjr1Nt3047VOrCRmhEiYWXu3+1uGEZDk0Ju00PH9iFpZs5VxZ1J3BVvS76F3UKxVJH5GILVRvoQ+8Dhg0YjGre8V64mMEV3gzMpCUeOK5QjbvnhkwDXpUovc3AVHrc9Lx2xPRoP7xsQmTn/+cuJ1GILts+7IfHhgeZbcbW+4eFG1uOW3QtZebdqxzp2kHd28kPTP+vtFO9N8Vov6bQLR1yG2F7Dd9ugraMyT2bCLfiInq7krkWyZR3QdxB0bfT55uGsKtsLoP7Ju9t23L1rdio02jNdppo07XfnO7DVIcq1y6Z8rtbJ2M+zGCCdMcwWkUvtpP/PGFw69E5XkpXRGTc7LkdkFYJ+bqxwNENsETwNNtvKaYSh21v/oZUh/6yasQ88UndVO75twuylmYqLx5M9j8PxNqNswZl8NahRmej367/v39aPDrxfmH368+DF6FUWgffKcAsSVnsrMOf37uPKi86L6NvNy1fd2W8OcHmUceZGrMsPBgh4VgXCKKuR1d16g+pS2q0yZQ8eHCY/OUrtfoxmstqgqHnW4aT29bKMevKqALd+9z2ePwhJ777RlMcBFILkrXaNjtvFVBwzFKEijsQdrbTnkaf76aIAbUz025SpFHsyU+RbEljekNvaGYvC5kHKa68TUVTM5Ll8LUy8V/fwNbxqjP +api: eJztWVlv2zgQ/isE96XF+lB6bVdvbtIjuz2yidN9cPxASyOLLUWqJBXHMPTfF0NKlmwrjr0o0JcUCGqJM0PO9Q1ntKKWzQ0NJ/TagCaWme902qMxmEjz3HIlaUivgOkoJYnSpKipDJkxAzFRksz5LUgSaW5Bcza4kTcyDEOpLNzIccoNARnniktLuCFMEibylJEEmC00ECZjIpUlINlMeIGnLCtkzEgkCmNBG6IKS1RCbApkpu4GN/IKwD1NatLX5PLt1ZiMLs6JugV9y2ExfTJkOTd9q5Qww8gT9lnO+xqM3XnRr/kGWfzbjwL0Epee3khUOym0TUGTGCzjwgychjeS9qiGHwUY+0bFSxqu3CPXENMwYcJAj0ZKWpAW11ieCx4xNOrwm0HLrqiJUsiYWxXiS0LDyYraZQ40pGr2DSJLezTXKgdtORjHobSTVlExrdmS9ii3kJlj5CQcRNwSZKzmck7LHlU6Br27glGRsEJY3NVEtCx7LXUnlcBpj1puBazD5h805ZXS9tJbipZT5MzZHI46rlZZ60xcWpiDpj2aKJ0x6189f4bnFzzj9kBa4844SuyGxjtG3TxbuWZ8A4nScAxn2WmfCzaHxj69jv06mNoMmwm7zmXij0lcPJMqVgd0e4Pd2BCVQe6T6ykOl/gdlg965NUL5xHLLHTGJTOGzyV0L4KADKQ97w7piMmYx8zCe62KfD8JKtlJkWsVgTFnkHDJ0SJ/H6xUxXoujWUygsMZLUiGWpnDTnSP+rdMc0RXc3ikbjtQsqzb8LdMFF0rrZhFi46Z+f61OsY7Fzzr8O0i3SbZpehKhNJjksmVNP7Yz4JgN4zHKTSFrE4RU0Roy6QQpJYwcAj/0xH8WOizyjJxvuWmfUGTcG0sQu5X9M0RTkfzCfZ/efdBmzfoMdjW4jgQ3CqnPYhF2wocmQm/GMrq1aOh5F4MvE//VibfB44HsB6KUb8CXfHNEQbU4FL/rNOrLQ40VN/yDByXynIBx/MlSgi1uM6P44oLOI5hf4GBOwtaMvFO6ewSEtAgo+6g3XHfV9CGe4g84B4WFcaq7AOwGHRnDrI4dmKZuNgEx46A40pz2+3V3UJQk2ODwZqyMCC4mPI5Xvux1XB1zv1qvayZEXQyLnlWZDQMejRjd/73SRC07s0vg65KhtDeXQU7AdFRvji4rnl0TBgXEA/IJ6Wh7mII06iBuuUxxIRLp1ENo2Sm4uXeAphrNROQ/b5bCDdPNSIXnrLal3ifEmaIJ5z53SeX707Jny9e/jF9klqbm3A4XCwWA51EfYi5VXqg9Hyokwj/kO6p85EGkrElmQFpQoQ0iE1MDhFPeESsqlzmD4Oh4fV7oPq61T3pVGi+E1gjcn15TngM0vJkyeV8d+vNfmqmChvOBJPfaRMHXR3Y5i6myDKml3VzvLlBVYGKh68Nz591psaH8fiCeBEkUjG4CYDFjr7aaCPsXwTtwH8VBAhHzuMHaCIJ3OWCSRda2+pwSbImbp1ivML6n+QZpfmcb+872LicVEF85jXyWfiyKwtHkqCVETYJaK00UVFUaA0xWaRcOPEIlfXedQ/1mGuPufaYa/fkWtmjGdhUxTSkuTIudJhNaUiHWPH6biQ59CWP4nRG37qLxGRFCy1oSFc+ZcpwOFylytgyXOVK23J4i/7YaJBx2adWHTJCRUykfttd1+ECtse1SlszyffMwoItnSnzanjXiH4dvA667yVK23sk4pTTa+gDrwUGtVjM6k6xnvgQwSW2XgaiAi84V8jmzTMDpkGPCrT+OiCq/Zx0fPZEtFf9eFeHyV//jp2nEcgum9Hp2zuGt+TN2ZNrtIJ1G9UEXdM9Ne9aTVPzcrvl6VjxDU2z0N2GBN1NRrBxf94jZPNYrWib1JOV9qobqKyvtFN0sYubyXpq21BXw1o/kZ02c1U/Lw3W09Bga9Y5WXn3tqeY+K50CZ8o59sqHXejBI9Z3+9pMDjZTf2Lc4dgkcqyQroyJudkwW1KWCvqqgk/YpvgEeD9dj1rWm/70a+QqqMgJwPMGJ/WdfWac5sWs0Gksnqwv/5/JtRsmDEuh9UWZng6+nT9+WzU/3h++vbz1dv+ySAY2Ds/jEB0yZhsncPdv9tfPp64LxhPt5VeNdX78ZPJnk8mFWRYuLPDXDAuEcScO1cVqE9oA+q0jlL8tOCheUJXKzTltRZlia/d3jScTJvcwqeyR1PXUbrUcXBCT72L+mM8RJNsO5O9sldzjKIIcruXdtqqThdfrsaIe9UHoUzFyKPZAj8WsQUN6Q29oZi5LmwcpLr3KyqYnBcuf6mXi//+A/q1lAY= sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,14 +25,14 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

Query user tasks (experimental)

+

Query user tasks (alpha)

Search for user tasks based on given criteria. :::note -This endpoint is experimental and not enabled on Camunda clusters out of the box. +This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) for further details. ::: @@ -43,13 +43,13 @@ for further details. User task filter request. -
priority object
+
variables object[]
  • Array [
  • ]
  • -The User Task Search successful response. +The user task search successful response. -
    Schema
      page object
      items object[]
    • Array [
    • customHeaders object
    • ]
    +
    Schema
      page object
      items object[]
    • Array [
    • customHeaders object
    • ]
    -The User Task Search Query failed. More details are provided in the response body. +The user task search query failed. More details are provided in the response body.
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    diff --git a/docs/apis-tools/camunda-api-rest/specifications/reset-internal-clock-alpha.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/reset-internal-clock-alpha.api.mdx new file mode 100644 index 00000000000..12e6a222866 --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/reset-internal-clock-alpha.api.mdx @@ -0,0 +1,50 @@ +--- +id: reset-internal-clock-alpha +title: "Reset internal clock (alpha)" +description: "Resets the Zeebe engine’s internal clock to the current system time, enabling it to tick in real-time." +sidebar_label: "Reset internal clock (alpha)" +hide_title: true +hide_table_of_contents: true +api: eJztVttu3DYQ/ZUBnxJUljZp0qZ6M5ykdZGmhr1pgdp+oKjRijE1VHjxerEQ0N/o7/VLiiG19sZ2gDy0b11godVyOIdnzpmRtiLIlRf1uTgyVl2Jy0K06JXTY9CWRC1O0WPwEHqEPxAbBKSVJvz7z788aAroSBpQvBeCTWEqOocUwG98wAGCHrAAJNkYTSvQIcVpdQWawKE0BxxRXtCy1x7siE4yNGgP0WMXDXTWgcMQHXGCBDHjXRBZN0gDDfbyWlsHsgvoGKSXHhpEglETYcugEvyISndawQx5QXVdkw04oyO1o9UUGFwSnEsz9hI6lCE6vHxSOezQISms0srBvOLLoX0KkloY5AYaBB+bj6gSU9VLWuEFaYIucjA4NCg9+vKCRCEc+tGSRy/qrXi+eMGXzxVY3hJeSw8+KoXed9GYDTgWZ1f3vXqXYirEy8XiYbJDulMNnbMOrEqCtbDutUEYneX8u0o7/BTRh1IUQlkKSIFzynE0WiWdqtHZxuDwzUfPAFvhVY+DfAQZTnIktBikNmBzjaSHHNhgy5Y4P317BD+8ePn95ZM+hNHXVbVer0vXqQNsdbCutG5VuU7xl+OelrDs0eGu+LJtNWNKw2RGdEGj35M+V2s+NoTNiFkJ/iVqkY8lCnG3mcnk1d1V+OA0rUQhOjZgELWITov7zXMIH06PQbdIQXebXU0/g057OhkN55CNjaFujKQrVjDoYB4FvY/i4zBItwHbPQIwFcIHGeIeDcEeWKHbP7+m8O3zB7nZfD8tlyeQU4CyLaaGDNwvMxCTGDTpIQ6ifrFYFGKQN/nuu8Vi4pys+FcwIcCb0UjKI+AeHU0wWIezfxIxTT5IUv+WMtbplb6PW4rpTgsxm/h1ZjTxpxADht62ohaj9ck6MvSiFlVq2yp1qSiER3eNjoftVkRnRC22uVmmuqq2vfVhqrejdWGqrlmJa+m0bEz2Hy/nptqZxVglTZ8BH4rGCyQH3JE5kkOkVsIrOH1ztoQfZcC13KQiMuTnqV8tXi0ezcqhX8h4eHIMmWG23N4Y2KXlfn40bQ7+msTTdMmFVNHpsDnjbbk8DUqH7jBy3W+tMOOl7Hyfg0Qx/3i7M8jPvy+Txpo6m7bPWj88CKuCzueTL8pnD311cpzaQ9lhiJRmJK1grUMPco+YMtEHJlQIoxWSTw5mvfZg3+UV+C0jwrOSRcnO2Y3GlQ59bEplh0rlbbfXxtimGqSmaobw1dHhLx/evz48eHd89Ob92ZuDZ+WiDDchkWfrDpL2zpEe/fcf8k/Sk+/pfeLbu8fD/68M//Erw+zugDehGo3UxP2WbLGdJ8+5SHTz6wUGfqvL8+NcbLeN9PjBmWnivz9FdBtRn1/ejRu+mwrRo2zRpWF1hRu2tlI4hjSXTOQDfPEtgHv0diSe/HrG3fUPIRGhRg== +sidebar_class_name: "post api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

    Reset internal clock (alpha)

    + + + +Resets the Zeebe engine’s internal clock to the current system time, enabling it to tick in real-time. +This operation is useful for returning the clock to +normal behavior after it has been pinned to a specific time. + +:::note +This endpoint is an [alpha feature](/reference/alpha-features.md) and may be subject to change +in future releases. + +## Request + +
    + +The clock was successfully reset to the system time. + +
    + +An internal error occurred while processing the request. + +
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    diff --git a/docs/apis-tools/camunda-api-rest/specifications/sidebar.js b/docs/apis-tools/camunda-api-rest/specifications/sidebar.js index c3344584a71..5aae0ea5757 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/sidebar.js +++ b/docs/apis-tools/camunda-api-rest/specifications/sidebar.js @@ -75,10 +75,16 @@ module.exports = [ }, { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/query-incident-experimental", - label: "Query incident (experimental)", + id: "apis-tools/camunda-api-rest/specifications/query-incidents-alpha", + label: "Query incidents (alpha)", className: "api-method post", }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/get-incident-by-key-alpha", + label: "Get incident by key (alpha)", + className: "api-method get", + }, ], }, { @@ -111,58 +117,98 @@ module.exports = [ }, { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/query-user-tasks-experimental", - label: "Query user tasks (experimental)", + id: "apis-tools/camunda-api-rest/specifications/query-user-tasks-alpha", + label: "Query user tasks (alpha)", className: "api-method post", }, ], }, { type: "category", - label: "Administration", + label: "Clock", items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/pin-the-zeebe-engines-internal-clock-to-a-specific-time-experimental", - label: - "Pin the Zeebe engine’s internal clock to a specific time (experimental)", + id: "apis-tools/camunda-api-rest/specifications/pin-internal-clock-alpha", + label: "Pin internal clock (alpha)", + className: "api-method put", + }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/reset-internal-clock-alpha", + label: "Reset internal clock (alpha)", className: "api-method post", }, ], }, { type: "category", - label: "Clock control", + label: "Process instance", items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/pin-the-zeebe-engines-internal-clock-to-a-specific-time-experimental", - label: - "Pin the Zeebe engine’s internal clock to a specific time (experimental)", + id: "apis-tools/camunda-api-rest/specifications/create-process-instance", + label: "Create process instance", + className: "api-method post", + }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/query-process-instances-alpha", + label: "Query process instances (alpha)", + className: "api-method post", + }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/cancel-process-instance", + label: "Cancel process instance", + className: "api-method post", + }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/migrate-process-instance", + label: "Migrate process instance", + className: "api-method post", + }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/modify-process-instance", + label: "Modify process instance", className: "api-method post", }, ], }, { type: "category", - label: "Process Instance", + label: "Flow node Instance", items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/query-process-instances-experimental", - label: "Query process instances (experimental)", + id: "apis-tools/camunda-api-rest/specifications/query-flow-node-instances-alpha", + label: "Query flow node instances (alpha)", className: "api-method post", }, ], }, { type: "category", - label: "Decision Definition", + label: "Decision definition", items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/query-decision-definitions-experimental", - label: "Query decision definitions (experimental)", + id: "apis-tools/camunda-api-rest/specifications/query-decision-definitions-alpha", + label: "Query decision definitions (alpha)", + className: "api-method post", + }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/get-decision-definition-xml-alpha", + label: "Get decision definition XML (alpha)", + className: "api-method get", + }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/evaluate-decision", + label: "Evaluate decision", className: "api-method post", }, ], @@ -173,80 +219,122 @@ module.exports = [ items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/query-decision-requirements-experimental", - label: "Query decision requirements (experimental)", + id: "apis-tools/camunda-api-rest/specifications/query-decision-requirements-alpha", + label: "Query decision requirements (alpha)", className: "api-method post", }, ], }, { type: "category", - label: "Authorization", + label: "Decision instance", items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/create-authorization", - label: "Create an authorization", + id: "apis-tools/camunda-api-rest/specifications/query-decision-instances-alpha", + label: "Query decision instances (alpha)", className: "api-method post", }, ], }, { type: "category", - label: "User", + label: "Message", items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/create-user", - label: "Create a user", + id: "apis-tools/camunda-api-rest/specifications/publish-a-message", + label: "Publish a message", className: "api-method post", }, { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/find-all-users", - label: "Get list of users", + id: "apis-tools/camunda-api-rest/specifications/correlate-a-message", + label: "Correlate a message", className: "api-method post", }, ], }, { type: "category", - label: "Message", + label: "Documents", items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/correlate-a-message", - label: "Correlate a message", + id: "apis-tools/camunda-api-rest/specifications/upload-document-alpha", + label: "Upload document (alpha)", + className: "api-method post", + }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/download-document-alpha", + label: "Download document (alpha)", + className: "api-method get", + }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/delete-document-alpha", + label: "Delete document (alpha)", + className: "api-method delete", + }, + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/create-document-link-alpha", + label: "Create document link (alpha)", className: "api-method post", }, ], }, { type: "category", - label: "Documents", + label: "User", items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/upload-document-experimental", - label: "Upload document (experimental)", + id: "apis-tools/camunda-api-rest/specifications/find-all-users", + label: "Query users (alpha)", className: "api-method post", }, + ], + }, + { + type: "category", + label: "Resource", + items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/download-document-experimental", - label: "Download document (experimental)", - className: "api-method get", + id: "apis-tools/camunda-api-rest/specifications/deploy-resources", + label: "Deploy resources", + className: "api-method post", }, { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/delete-document-experimental", - label: "Delete document (experimental)", - className: "api-method delete", + id: "apis-tools/camunda-api-rest/specifications/delete-resource", + label: "Delete resource", + className: "api-method post", }, + ], + }, + { + type: "category", + label: "Element instance", + items: [ + { + type: "doc", + id: "apis-tools/camunda-api-rest/specifications/update-element-instance-variables", + label: "Update element instance variables", + className: "api-method post", + }, + ], + }, + { + type: "category", + label: "Signal", + items: [ { type: "doc", - id: "apis-tools/camunda-api-rest/specifications/create-document-link-experimental", - label: "Create document link (experimental)", + id: "apis-tools/camunda-api-rest/specifications/broadcast-signal", + label: "Broadcast signal", className: "api-method post", }, ], diff --git a/docs/apis-tools/camunda-api-rest/specifications/update-a-job.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/update-a-job.api.mdx index 09a0c2c2120..a2e48664100 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/update-a-job.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/update-a-job.api.mdx @@ -5,7 +5,7 @@ description: "Update a job with the given key." sidebar_label: "Update a job" hide_title: true hide_table_of_contents: true -api: eJztWNtu20YQ/ZXFPiUtTSmpkybsk+o4TdIkNXxpH2wDWXKH0jp7YfYiWRAI9Df6e/2SYnZJXSy5Mdo8KoARkbszszNzzpA8C+rZ2NHikr4zJb3OKAdXWdF4YTQt6EXDmQfCyI0pyUz4CfETIGMxBU0+wzynGW2YZQo8WPSyoJopoAW9MeWvMKcZFeimYX5CM2rhSxAWOC28DXA31vkE0CcxdQyCEb0hIZ4AA7lqAorRYkH9vMEYQnsYg6UZrY1VzKdbzw9p216nYOD8z4bP0eZu7MpoD9rjEmsaKSqGxxjcODzLYjuYKW+g8pivNQ1YL8DhajVhegwOoqPNfN6d/faRJLNUurSXx8yY91aUwQOZMhnA5Vf6SmMFaiOlmQk9Xm1xpGKalEAYvwnOA+87IRwBzRsjtM8I41xgZCbXLK/0TEiJtmKsjQVeYJzvyCcL3gpwn8gBwagaZoQpE7TH8neLpDa2b8VPRAXn4yFIY5zwYgpEB1WCzaNDLxSY4HuHPNhY0L6bGKDbQoQmymXEeWY9Jlpbo+KmKlgL2hNlFGgfS3JizVTwWA7dQcM4WK9NrAUjOkiZakmMJUYJH30LTxoLDuwUXIzRgHUiFnHp4+8//3LJdNkFbFHFtDYx5cqoRgLaGEtqJuQ9LQgOUh7d/uimM4m/+62OCO08MJ5faZptQWzVypM1sCXcbsKv69RXSfHDU7qLbv+r7TSjWHRWSkiHazPatfghJN11nm+Bmu1jxXN5vMQhd7RkLC6sxsLlGpevNyzSEDxN84S2bbJzjdEulf7p8HCb/j2MZsx1Q4wTF6oKnKuDlPOcthk9HA53WzYR98AJZ54R4QhCccqk6CBzz/hqrCklqO+3x9hmiBE5STsJB4/o7OYUcyRtLIFjxS9PXx+Rl4fPfrx+NPG+ccVgMJvNcltXB8CFNzY3djywdYV/uO9xjvS3QBSbp5G1nEor5BLXQCVqUeGA9ynbeBjEzG5KbMI+rS4x5rwVerwOsWDFFsBG5OL0LREctBf1HCG0FTra1CxI9MFKE3xRSqY/0xWEtoPejeKCUswun2ObAdqMOs98+M+UfXN+fkKSC1IZDh1bhesDYRJKaKGCosXhcJhRxW7T1fPhsEWf2PEHZKIJ3DaS6Q1K9ukgHY2FDj8xMZxpTFffqjPGirG4Gzen63TuQPwqZZSYefivZOxfYdL7SU+s2gTN8z2t9rTa0+peWr18AK2WXwbILKHjvZk1ehxru3xWy3lOPqzSdITZtUdeZ9c/Yklp+Hz/1NvTc0/P++n5bNeL5EgTrLJFHIK1+F1URQZyMpsIGd3j+2gfu/tk3nNtz7U91+7jWptRBX5ieNK1qknUwPyEFnRwY0o3WKR3yxYlK9QdOmEsWEkLukh8aYvBYDExzrfFojHWt4MpNmPKrMAP19g7XE686vEiTcVkvL2rb7iA6lufzxFTQXNGXpDT47Nz8gvzMGPpsxNDbrp+MXwx3OkVt97jcXTylqQME+rWJkHvFim9023a/BDHUcxzUAUr/PwMzVJ5SmAW7Chg5Zdo6OJF73idNtGs+/G6x8i7P85jm3GKna6EwuNbhsrNlrC3lFmGaxLHsI2IrE2M3+FlOxNsK2pOMfVh/mQbmydvI8Uqo1TQcc7qcS9rrfxVErW/KLtIUYF28Zid3Npve59WyO8pInmSY1cT9PrxOhZ+Esq8MmpQJbPl/6U05UAxoQddCDc4Gn24+PhqdPD+7dHxx7Pjgyf5MPe3STxpjPOK6bVzrOvFdxNdrB4pD9GVu456uPWDRjKhEWMxk0XHt0tUmR3NaNGpzddZR5pLuliUzMGFlW2Lt78EsHNaXF6vOBZJyYXD35wWNZPuriS9fuJHp51S9Jh8TajeefLuJtPzyHMZ8Ipm9DPMV3J5e91mdAKMg43HS4tH6RAH5+hiZbwlW7dZbzGqKmj8PXs3nuBIruU4OxmdH71BsnSauTIcjS2boXjPZrSgV/QKT21ihZIEifcXVDI9Dmwctf/oGP/9AwSTcGI= +api: eJztWNtu20YQ/ZXFPiUtTSmpkybsk+o4jd0kNXxpH2wDWXKH0jp7YfYiWRAI9Df6e/2SYnZJSbbkxmjzqABGRO7cZ86QPAvq2djR4pIem5JeZ5SDq6xovDCaFvSi4cwDYeTGlGQm/IT4CZCxmIImn2Ge04w2zDIFHixaWVDNFNCC3pjyV5jTjAo00zA/oRm18CUIC5wW3ga47+t8AmiTmDo6QY/ekBAjQEeumoBitFhQP2/Qh9AexmBpRmtjFfPp1st92rbXyRk4/7Phc9S577sy2oP2eMSaRoqKYRiDG4exLDadmfIGKo/5WtOA9QIcnlYTpsfgIBq6m8/x2W8fSVJLpUuyPGbGvLeiDB7IlMkALr/SVxorUBspzUzo8UrEkYppUgJh/CY4D7zvhHAENG+M0D4jjHOBnplc07zSMyEl6oqxNhZ4gX6+I58seCvAfSJ7BL1qmBGmTNAey98dktrYvhU/ERWcj0GQxjjhxRSIDqoEm0eDXigwwfcGebCxoH030UEnQoQmymXEeWY9Jlpbo6JQFawF7YkyCrSPJTmxZip4LIfuRsM4WK9NrAUjOkiZakmMJUYJH20LTxoLDuwUXPTRgHUiFnFp4+8//3JJddkFbFHFtDYx5cqoRgLqGEtqJuQDLQgOUh6dfDTTqcTfvagjQjsPjOdXmmZfGbGuG18d/B+e022Q+l+tpRnFwrJSQgJOm9GujY8B4rZ4vsVkbIYV4/J4iYvsYIlKPFhB/3INr9d3NNKiO007g7Zt0nON0S6V/vlwfxPi/ajMmOsWFScuVBU4Vwcp5zltM7o/HG7XbOJsAyeceUaEIzhuUyZFNxYPrKjGmlKC+n5zVd11MSInSZJw8DiB3S5ijiTBEjhW/PL07QF5vf/ix+snE+8bVwwGs9kst3W1B1x4Y3NjxwNbV/iHck9zhLgFotg8raXl5llNLnENVKIWFS5xn7KNweDMPGbs0+lyxpy3Qo/XRyxYsTFgI3JxekQEB+1FPccR2nAddWoWJNpgpQm+KCXTn+lqhDad3vfiglLMLp9Vdx20GXWe+fCfIfvu/PyEJBOkMhw6tArXO8IklNBCBUWL/eEwo4rdpquXw2GLNrHjj8hEE7htJNN3INmng3A0Frr5iYnh3mK6+ladMVaMxX2/OV2HczfEb1JGCZn7/wrG/jUlvYP0wKpN0DzfwWoHqx2sHoTV60fAavn2j8gSOt6bWaPHsbbLZ7Wc5+TDKk1HmF175HV6/SOWlIbPd0+9HTx38HwYni+2vUiONMEqW5xDsBa/faqIQE5mEyGjeXwf7X13n8U7rO2wtsPaQ1hrM6rATwxP3FU1iTyXn9CCDm5M6QaL9G7ZIi2F3EJHfgUraUEXCS9tMRgsJsb5tlg0xvp2MMVmTJkV+OEae4fHCVf9vEhTMRlvb+sbHiDD1udzwFTQnJFX5PTw7Jz8wjzMWPrsRJd3Tb8avhputYqiD1gcnRyRlGGaurVN0JtFSG81m4QfYzgSdg6qYIWfn6FaKk8JzIIdBaz8cho6f9E6XichmnU/3vYzcvzHeWwzbrHTFRl4eMuQndkg75Y0y3CN4hi2cSJrE/1387KZCbYVeaWY+jB/tjmbJ0cRYpVRKui4Z/W4p65W9iqJ/F6kXaSoQLsYZkep9mLv0wn5PXkkz3Lsahq9fr2OhZ+EMq+MGlRJbfl/KU05UEzoQefCDQ5GHy4+vhntvT86OPx4drj3LB/m/jaRJ41xXjG9Fsc6J3w/0cXqkfIY7rjrqIdbP2gkExpnLGay6PB2iUyyoxktOkb5OutAc0kXi5I5uLCybfH2lwB2TovL6xXGIii5cPib06Jm0t2nndcjfnLaMUVPydfI6K2RdzeZnkecy4BXNKOfYb6ixNvrNqMTYBxsDC8dHqQg9s7RxEp5g5pus15jVFXQ+Adk7zzBEVzLdXYyOj94h2DpeHFlOCpbNkOCns1oQa/oFUZtYoUSBYn3F1QyPQ5sHPn9aBj//QNn9mWy sidebar_class_name: "patch api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -47,7 +47,7 @@ Providing any of those attributes with a null value or omitting it preserves the The job cannot be completed or failed with this endpoint, use the complete job or fail job endpoints instead. -
    +
    The job was updated successfully. diff --git a/docs/apis-tools/camunda-api-rest/specifications/update-element-instance-variables.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/update-element-instance-variables.api.mdx new file mode 100644 index 00000000000..3fb51b8f195 --- /dev/null +++ b/docs/apis-tools/camunda-api-rest/specifications/update-element-instance-variables.api.mdx @@ -0,0 +1,56 @@ +--- +id: update-element-instance-variables +title: "Update element instance variables" +description: "Updates all the variables of a particular scope (for example, process instance, flow element instance) with the given variable data." +sidebar_label: "Update element instance variables" +hide_title: true +hide_table_of_contents: true +api: eJztWN1u4zYWfpUD3iTBKraTzbSzBraAm6a7aaczQeLpXsQBeiwdWZyhSJWk4hiGgL7Gvt4+yeKQkvwbtBe92p0AQSLy/P98h+RaeFw4MX4UN4pK0h6kdh51SuIpERm51MrKS6PFWHysMvTkAJUCXxA8o5U4V+TA5IBQofUyrRVacKmpCE5zY4FesKwUJVBZk5JzvfwEcmWWQHtqz2ApfRHkL+Qz6V4LZOhxMNMPFaUyXwWKfWaQOqz/0m7ctus/0uoXtg9L8mQHMy0S0X+y92uhsSQxFoeMIhGSva/QFyIRln6tpaVMjL2taT9E04LgM604IEft8wbqEMW9AOaGrZoW0kGKGuZxfz9kQfQpOjBzj1JTBlltpV5sCFJLyKacJWAsYAzhTLd2JODqtAB0gODIPku2CN1nOHVErwfOxKB+MnMoyTlc0FkMoUsLKlGM18KvKo6e1J4WZEUicmNL9HHpqyvRNE8xdOT8tyZbMc9+JFOjPWnPW1hVSqbBk+Enx5FdHyoz80+Ues6kNRVZL8nxbh9U/tjNzg8PH95DZANLlSVH2nP8dpPhDTjyXS21EfnPb/92sa4HIhGYZZKForrbUh792DWvSYQyKapDa27zoMYbCHx7RqAlKMkuKAPnrUy9WoHUTFwQBIldl6EDF3pCUgbz1at55KR98AXZpXRH1XEccYGeslinFbWd7AB1FoxFH/hM7cmWxnkwmgYzPdPvKEYoNdrJjGwgy41SZskBblFgzKTTgiwFhX5pOgUnFydBycnlCfd48IzXpIudgJb7KHps8kAG3GyU55R6+byHRszTmW5Z7QX8/RtYw0zkxswEjOESmpm+7FbnaMPqBa/O9ER3bdrWbASlw6ByL51cniRb2reVvIEmCW61CSM/022+QRE+U1tSwdVapwVqTjhzYPapdr7fvzzhnOyYmvSK3kATkvDtCjLKsVY+iQb3apk5R8V53yhcSqUYanqLg8EzHZLdq92m2gpTRIC21ufGKEJeaPWLcdDWJIK7IzTyPeVkiQfLQSdMwHabAeLSwjjSXS3XLpQT+t4UnjRh5igFllJjMweWXK1CM+fWlOAZSnvdA/ipdp5Zv4ERyJxL/VlmlO148Sp6JaKUWpZ1KcYXTbM9Ax634OYpEV56xZIeyP/crt/HAhJNEzldZbSL4HQ5ujqMxXSnLZfcKrEUswFjydVodJyn8yiMSW4bbTw8o5IZ49Ur2FpZM1dU/uUQY/cTdBcpISOPUnUgig4i4ZwyxsvH+++v4W9Xb75+Oi28r9x4OFwulwObp+eUSW/swNjF0OYp/zLdWehihjpccXo2uAobVO/gLYUW/lqzgfO2k8FXRkLc7QcH46lebKe5tlLsj/IJfLy/BZnxiMhX3ZTYUb1d7wLnpvbjuUL9mRPVlsKh0n0tri5LtP2RYVdBkwjn0dfud4fsXy8PZHNZ/HM6vYMoAlKTMSbb2BytosF2dV+NRoko8SV+fTUaNSyTM/4HPNFAL5VCHUpr3x2poTSW2voJjvUHzT8nM8bKhdzXOxDNJheiLeLvokexI98ca6iJ5llLluuQrDUWTJrW1lIGy0Kq/mTW6W6nxJdO+9JpXzrteKc1iSjJFybjq5RxoXT4RjUWw/ZYdd6Z6Ybrw5NWM9xM2kTw7aW7udVWibFYx45qxsPhujDON+N1Zaxvhs+crp1LAW/HzusqKpyTimjVYWZ5g6+HncfXWNY6Q3gL9zcPU/gHelriKkSaVe6Kfjt6OzoqlUlfkTi5u4XoYazLLazoxHLTHxUbif+I4HAnc5TWVvrVA7PF8MwJLdlJzcnp66XVF6SHE18gEkn7z/ddFf3wr2koBMa5+8197yae//fvZ5vLUTycHj0tjkIF5yZY09bXoV+cZLIuBmI0uDis5bvb0JKpKctaB1zWi3hMxq04pap2/EYgEqFkStoFo9vXgY7sXdyBn6NGuBhwjmMhdnC8kL6o54PUlMM0svV/58rMhyVKPWxVuOH15KeP77+bnL+7vb55/3BzfjEYDfyLD7HkdilRb9kRX2IOnxe2W2TH+/VmLv2PPeO09enpxQ8rhVJzx4RMrFuAeRQHACMSMT760rNzmo848SjW6zk6+mhV0/DyrzXZlRg/Pm3IAw5l0vH/WV/Mr2bg9L69QJzB/9eD0dFktYuoYwJUzV8iEZ9pdfxBrnlqElEQZmRD4CPhdQzv+ZTFbQQdPCU1SccxSVOq/Cu0Owc2Rsp+et19eJgy8LXPWKXJmNfikl8HcSnGYiZm7IAJqQ+YGtbXQqFe1Lhg+iiXf/4LCmd7LA== +sidebar_class_name: "post api-method" +info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api +custom_edit_url: null +hide_send_button: true +--- + +import ApiTabs from "@theme/ApiTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint"; +import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import Markdown from "@theme/Markdown"; +import OperationTabs from "@theme/OperationTabs"; +import TabItem from "@theme/TabItem"; + +

    Update element instance variables

    + + + +Updates all the variables of a particular scope (for example, process instance, flow element instance) with the given variable data. +Specify the element instance in the `elementInstanceKey` parameter. + +## Request + +

    Path Parameters

    Body

    required
      variables objectrequired
      + +JSON object representing the variables to set in the element’s scope. + +
      { \"foo\" : 2 }\n2 => { \"bar\" : 1 }\n\nAn update request with elementInstanceKey as '2', variables { \"foo\" : 5 }, and local set\nto true leaves scope '1' unchanged and adjusts scope '2' to { \"bar\" : 1, \"foo\" 5 }.\n\nBy default, with local set to false, scope '1' will be { \"foo\": 5 }\nand scope '2' will be { \"bar\" : 1 }.\n","type":"boolean","default":false}}>= 1`"} schema={{"description":"A reference key chosen by the user that will be part of all records resulting from this operation. Must be > 0 if provided.\n","type":"integer","format":"int64","minimum":1}}>
    + +The variables were updated. + +
    + +The provided data is not valid. + +
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    + +An internal error occurred while processing the request. + +
    Schema
      = 400` and `<= 600`"} schema={{"type":"integer","format":"int32","description":"The HTTP status code for this problem.","minimum":400,"maximum":600}}>
    diff --git a/docs/apis-tools/camunda-api-rest/specifications/update-user-task.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/update-user-task.api.mdx index eee13263faf..a65f81a6a43 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/update-user-task.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/update-user-task.api.mdx @@ -5,7 +5,7 @@ description: "Update a user task with the given key." sidebar_label: "Update user task" hide_title: true hide_table_of_contents: true -api: eJztWW1v2zYQ/isHftmbLKtZkrX65qVdm67tgsTZgCUBSktnm41EqnyJYxj678ORki2/pMm67psLBHVM3gvv7nmOOS6Y5RPD0it2aVCD5eaW3UQsR5NpUVmhJEvZZZVzi8DBtXtgJuwU7BRhIu5Qwi3OYxaximteokVNGhdM8hJZykhqyM3t7zhnEROkseJ2yiKm8bMTGnOWWu1w0+xwiqQY1NhbWhm3Cpx3iWyabIolZ+mC2XlF5oS0OEHNIjZWuuQ2fHV8yOr6JphEY39V+ZxkVh6MeWEwYpmSFqWlNV5Vhcg4edP/ZMilxbY1NfqEmaWza1WhtgINrWZTLido0CtaP9bbiz8+QBALYQx783A2bq0WI2cR7njh0MTX8lpSJMaqKNRMyMlqi4GMSxgh8PyTMxbzNi3CAMq8UkLaCHieCzLNi47ktZyJoiBZMZFKY56SnR/hY8ZlLii2r7VylfkIPdB0DhjNodLqTuTeBQlYVnYOhTB2XY7q6OliucOX3OJj+y+sFnLiJUIcLqt/KVZpobSwcxIphRSlKyGJoOT3/uOzJIkgxzF3hYWjhIJx1tHXFKEy2I2+jzaHj9IVxceQL1AaVCmsJTlhoSL39B0FnGq4Qm2Ez9RSzXcmSC4TzY0RE4lIyZXKPppfZ9DjY+DlQhW1qzGp9LuN01QvSmuqO7xDaQFLYYxQEsZKd8yG0o2vJYu2qpyOykcFtohdFddZp/7D2joimkx3oGN8dro4pfrpWVEi28UFuUPwRNQQAp00hvNH8x9v+V2TzVUZ/Qefgpqeq76dZ+tI6vjGtebznV4QnMj2UtSTpXm6O6SAnBEWS7MdjvpLbgai+Eo/J174f3W0Rf6jLeLng51Ot/JrTrKINSzC0oSkPHOw9CiJWMMpLCVS2fSnjpgVln5lJ8seUUeMZ8HkZrcYQOaMVSWEDQ3L2Cmn5hEYnGcZGiNGBcJYq7LTKD3MDVGkKzwj+fU1/gAh71RocjGcjoEYJ8Qd84gYzFtpmdEquGah916zNYZYAufh814294BwnTgPjZjVNe3RaColTaCKg+RwOxDDtSvAjJvmDpCDcT4AY1cU85hieZgkj8pv3V86dNsojuG90gg5Wi4KA1zjMjIgpJdu3YaRyuchHg9cICqtRgWWP21fJDbzfRZ2NnbbmwI3EDaOgvWr899O4MXh0S8330+trUza789ms1iPsx7mwiodKz3p63FGP7TvhxiGU9QIJZ+HnrK8FqyIGkyFmRiLjDLtG1bjDGV5d0dYZ/mw+gU6dVpsoWwAl+enIHKUVoznVKdbplkHY4yPlLPpqODylq3qa9vophXjypLrJZDXDdQRM5ZbZ76WJ94Mh2cQVECmcvRd1WOtMbRGGodJlymOk6QmnZTxJ5xEAt5XBZe+tDaPIySUq7r1BxPSWC6zb5UZpcVEbNqNWRfrTRG/DCcKGD98Aqy3YUlIJ1yOlZN5vAfYHmB7gD0IsBdfATBh2m4200pOfIQRMqc1SlvM911wD9I9SL8dSI92XU4HEijKmuoQtaYhQuYRmMNsKgqv3l/yG9vNFGuPtT3W9lh7CGt1xEq0U5WHgXM29RNqO2Up61NH7FFHNP1FZz5d00CZ5nXNBNvpgqVsEaBTp/3+YqqMrdNFpbSt+3eUlzuuBf3B69NIywFibekUKuOF/3pXCmmBxuTt0U546WTO4Tmcv7oYwmtuccbDX7Vkcl318+R5sntkobR9QOPg7BTCCUMBdkihVUvo3qk2bH6KYj9qN5g5GpxckFgIzwi5Rj1wlIRlYTT2vHb6PWxiUfPht7Zc3v419BknQjtfjfFf3fOyCnBcn7q3A0d2kBwc9pLnvZ+TYXKcJgfp0S/xi+T4b7Y5BvzSzs2x3FVb0Dc7ZmHdxdX86SjpDHo6Iyshx8rHox0MbUWWyoxGx14wiZ9tw+bs1KM/U2XppG8BctIOqFf6soLmyJp4oRAZSuPD1rzTtNvehRX4M1iEZzFVWYBCy/wTYaduFGeq7GdBbPn/qFCjfsmF7DcmTP9k8P7yw8tB793pyasPF696z+IktvfWZ7NSxpZcdvxonpuWl9bNwy5WHe/pT1NNrVm8t/2q4EJS4P2ZFg0pXLEVKbCIpd1nq5uoQfYVWyxG3OClLuqavv7sUM9ZenWzIgLPHLkw9Hn1sPTgEb4/b96gfoCnvXjtPEo7e5VzT0mFo99YxG5xvvEEV9/UEZsiz1F7T8OOk+BPb0h6Vhq23sDqqJUYZBlW9oG9a5cPIoMlE58NhidvCNzNC1ypchLWfEYPgnzGUnbNrsl15YPlecN/v2AFlxPHJ7Q/KKZ//wDfWfoK +api: eJztWW1v2zYQ/isHflm3ybKSJWurb17atem6LkicDVgSoLR0ttlIpMqXOIah/z4cKdnyS5qs6765QFDH5L3w7p7nmOOCWT4xLL1ilwY1WG5u2U3EcjSZFpUVSrKUXVY5twgcXLsHZsJOwU4RJuIOJdziPGYRq7jmJVrUpHHBJC+RpYykhtzc/oZzFjFBGitupyxiGj87oTFnqdUON80Op0iKQY29pZVxq8B5l8imyaZYcpYumJ1XZE5IixPULGJjpUtuw1c/H7G6vgkm0dhfVD4nmZUHY14YjFimpEVpaY1XVSEyTt70PxlyabFtTY0+YWbp7FpVqK1AQ6vZlMsJGvSK1o/17uKPDxDEQhjD3jycjVurxchZhDteODTxtbyWFImxKgo1E3Ky2mIg4xJGCDz/5IzFvE2LMIAyr5SQNgKe54JM86IjeS1noihIVkyk0pinZOcH+JhxmQuK7RutXGU+Qg80nQNGc6i0uhO5d0EClpWdQyGMXZejOnq6WO7wFbf42P4Lq4WceIkQh8vqX4pVWigt7JxESiFF6UpIIij5vf94kCQR5DjmrrBwnFAwzjr6miJUBrvR99Hm8FG6ovgY8gVKgyqFtSQnLFTknr6jgFMNV6iN8JlaqvnOBMllorkxYiIRKblS2Ufz6wx6fAy8XKiidjUmlX63cZrqRWlNdYd3KC1gKYwRSsJY6Y7ZULrxtWTRVpXTUfmowBaxq+I669R/WFtHRJPpDnSMz04Xp1Q/PStKZLu4IHcInogaQqCTxnD+aP7jLb9rsrkqo//gU1DTc9W382wdSR3fuNZ8vtMLghPZXop6sjRPd4cUkDPCYmm2w1F/yc1AFF/p58QL/6+Otsh/tEX8dLjT6VZ+zUkWsYZFWJqQlGcOlh4nEWs4haVEKpv+1BGzwtKv7GTZI+qI8SyY3OwWA8icsaqEsKFhGTvl1DwCg/MsQ2PEqEAYa1V2GqWHuSGKdIVnJL++xh8g5J0KTS6G0zEQ44S4Yx4Rg3krLTNaBdcs9N5rtsYQS+A8fN7L5h4QrhPnoRGzuqY9Gk2lpAlUcZgcbQdiuHYFmHHT3AFyMM4HYOyKYh5TLI+S5FH5rftLh24bxTH8rjRCjpaLwgDXuIwMCOmlW7dhpPJ5iMcDF4hKq1GB5Y/bF4nNfJ+FnY3d9qbADYSNo2D96vzXE3h5dPz85tnU2sqk/f5sNov1OOthLqzSsdKTvh5n9EP7vo9hOEWNUPJ56CnLa8GKqMFUmImxyCjTvmE1zlCWd3eEdZYPq1+gU6fFFsoGcHl+CiJHacV4TnW6ZZp1MMb4SDmbjgoub9mqvraNbloxriy5XgJ53UAdMWO5deZreeLtcHgGQQVkKkffVT3WGkNrpHGUdJni5ySpSSdl/AknkYD3VcGlL63N4wgJ5apu/cGENJbL7FtlRmkxEZt2Y9bFelPEr8KJAsaPngDrbVgS0gmXY+VkHu8BtgfYHmAPAuzlVwBMmLabzbSSEx9hhMxpjdIW830X3IN0D9JvB9LjXZfTgQSKsqY6RK1piJB5BOYwm4rCq/eX/MZ2M8XaY22PtT3WHsJaHbES7VTlYeCcTf2E2k5ZyvrUEXvUEU1/0ZlP1zRQpnldM8F2umApWwTo1Gm/v5gqY+t0USlt6/4d5eWOa0F/8Po00nKAWFs6hcp44b/elUJaoDF5e7QTXjqZc3gB568vhvCGW5zx8FctmVxX/SJ5keweWShtH9A4ODuFcMJQgB1SaNUSuneqDZufotiP2g1mjgYnFyQWwjNCrlEPHCVhWRiNPa+dfg+bWNR8+LUtl3d/DX3GidDOV2P81/e8rAIc16fu7cCRHSaHR73kZe/w+TB5mR4k6cFxfJz89DfbHAN+aefmWO6qLeibHbOw7uJq/nScdAY9nZGVkGPl49EOhrYiS2VGo2MvmMQH27A5O/Xoz1RZOulbgJy0A+qVvqygObImXihEhtL4sDXvNO2292EF/gwW4SCmKgtQaJl/IuzUjeJMlf0siC3/HxVq1C+5kP3GhOmfDH6//PBq0Ht/evL6w8Xr3kGcxPbe+mxWytiSy44fzXPT8tK6edjFquM9/WmqqTWL97ZfFVxICrw/06IhhSu2IgUWsbT7bHUTNci+YovFiBu81EVd09efHeo5S69uVkTgmSMXhj6vHpYePMKz8+YN6nt42ovXzqO0s1c595RUOPqNRewW5xtPcPVNHbEp8hy19zTsOAn+9IakZ6Vh6w2sjlqJQZZhZR/Yu3b5IDJYMvHZYHjylsDdvMCVKidhzWf0IMhnLGXX7JpcVz5Ynjf89wtWcDlxfEL7g2L69w/CY/oC sidebar_class_name: "patch api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null diff --git a/docs/apis-tools/camunda-api-rest/specifications/upload-document-experimental.api.mdx b/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha.api.mdx similarity index 63% rename from docs/apis-tools/camunda-api-rest/specifications/upload-document-experimental.api.mdx rename to docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha.api.mdx index 15f20a110c7..62c2455bf84 100644 --- a/docs/apis-tools/camunda-api-rest/specifications/upload-document-experimental.api.mdx +++ b/docs/apis-tools/camunda-api-rest/specifications/upload-document-alpha.api.mdx @@ -1,11 +1,11 @@ --- -id: upload-document-experimental -title: "Upload document (experimental)" +id: upload-document-alpha +title: "Upload document (alpha)" description: "Upload a document to the Camunda 8 cluster." -sidebar_label: "Upload document (experimental)" +sidebar_label: "Upload document (alpha)" hide_title: true hide_table_of_contents: true -api: eJztV21v2zYQ/isHfmoxRXa6buv0zUvbzUPbBYmzfUjygRbPFlu+qCQVRzD834cjJb+nzbpi2IAZMCyLx7vn7p478pYs8LlnxTV7actGowme3WZMoC+drIO0hhXsqlaWC+AgOhkIFkKFcMZ1YwSHF1Cqxgd0+Y25MUVRGBvwxkwq6QGNqK00Aej5vkYnSQNXOYwDlI1zaIJqwRrVgm/q2rrggRuQ5kSjtq7dWPXBOsxgUcmyujHSg7EBNHITYGYd1M6KpiTM0HjMI5AbwzJWc8c1BnTk6JIZrpEVLGobC5YxSU5+bNC1LGMOPzbSoWDFjCuP+7GYVAjjl2BnMQC70CgsTYrVzmKwOcuYLyvUnBVLFto6AXDSzNlqla0x9Vu+Fqw1oBzGsxiu2tk7KVBkwMHggjYtpFIwRZijQccDihwuayzlrJVmTqnAe+kDPffCDn2jAkgTV52zDuSeZa4cctGmvT6PeXg4ArfJQfThJytaktj4G1yDGSutCWgCLelGBVlzFwYz6/SJ4CHqPNBup++xDJR/Z2t0QaKn1ZlUeIghY6SMB1awqTTctWyVMY2B9+r3lXIhJAWfq/Mt9QnsrsEO+iQqOLR7mMhuA5DkfkpzwkUuvIuMeYw64lavhnZGFXhfS4d+FD4ZCsEDngSp8ahiWgVuBJAELCo0uxzobOREcRZkoLiv+8zbPra0uMn2dcrPLUE0pRUEiHK+lYmdeDJe10qWnGAN3ntr2Io+pNLX1viUgmfDU/o54kKPdcF9VyoowDdlid7PGqVaKt0t8h2Y+wvM6409jgl9oEBIeq2l4cG6HEZqwVsPHmN537AyNeEbRkjRNJqC2L2Mcewb3aPI8lBvi6TZak9fqCz/v6z+wbLaX7zAGTo0JbJUI8+Hw8+URXeczbhUdC68pVNOYOBSeeAO18cJnQUEsq86mFrRpq7/QPHUzk4V6m8Oi2gXzgjOk2RnFxJVgHtIgtNk/fri9Rn8+Py7H26fVCHUvhgMFotF7mblCQpJlWPdfOBmJX1J7mkOkwodguYtHX8b5sGGaODjSSjL/srTwY4kSv59uubDA/Rcc6Fx8oAFI7i6GIMUaEJ3Ch+YjntmvFGkg09tE4qp4uYD26T9cyQegW+05q7tWbxrIHYOHpotN5g0AefotvFLE759dpTHv0wm55BUQGkFxktaoDthZ4ic0NJITT3r+XCYMc3v07/vh0PqNzHjj/CE7ii14iZSa98daUBveBsdk8YHTnXwdTJjnZzLfbu79dmR+GXyqDujNIbKClaw2vpIHR4qVrCBWN/FM+bR3fU318YpVrBlKpVVMRgsK+vDqljSrXk1uKM83HEn+VQl9tFyKqmeKsqWXFXJ3GHKaGG7r20u+BevLifwMw+44G0MIZncVf1i+GJ4VCuJPqBxdD6G5GEi3FYT6NVSNR9Vm4QfozheMD2WjZOhvaRtKTxT5A7dqKGor4nQ2Yva6X8SYln38Lqnx69/TGKGpZnZuL3L9CEQygo6n5AP89NDVp2PY3GUVuvGxA5p5rCQoQJ+ZMhiGVOyROMjf7vRoRd7k1bg92QRTnNKSmJO3xjnMlTNNC+tHnQXhfXvVNnpQHNpBp0JPzgbvb1693J08mZ89urd5auT03yYh/sQnSfiam62cHTD4voEebI99D3dd325OR7+82Nmx5+A92FQKy4NMToGftlV9jUT21N2qs5rtlxOuccrp1Yrep1GPqp3IT2V8gND33bsvnwsPYr6A7Y7E/IdVw1JMZpV/zaqf9dU+okA7IzjmxjcbrosK67pil0hF+hiztLOsxSDk3g73ew9NrpSSNOmUVliHbbED2eb261D4/y3ywm1pW5i1lbQHlIc9WabRwK5Wv0JpJ07WQ== +api: eJztWEtz2zYQ/is7OCVTmpJTN015U+2kVSdOPbbcHmwfQGIlIgEBBgAtsxr9984CpN5O3DSHTqae8YgiFt++vl1gtWCezxzLbtiZKZoKtXfsLmECXWFl7aXRLGPXtTJcAAfRyYA34EuEU141WnB4BYVqnEeb3upbnWWZNh5v9aSUDlCL2kjtQTrgGriqSw5T5L6xmMLYQ9FYi9qrFoxWLbimro31QVjqoworY9u1ZueNxeRWz0tZlISpjYcKufYwNRZqa0RTkN3QOEyDMbeaJazmllfo0ZKzC6Z5hSxjAW0sWMIkOfqxQduyhFn82EiLgmVTrhzuxmNSIozPwExDELZNo9A0MV5bi96kLGGuKLHiLFsw39bRACv1jC2XycqmfsvXMmtlUArjaQhXbc29FCgS4KBxTpvmUinIEWao0XKPIoWrGgs5baWeUSrwQTpPz72wRdcoD1KHVWuNBbmjmSuLXLRxr0tDHh6PwF10EJ3/2YiWJNb+ettgwgqjPWpPS1WjvKy59YOpsdWR4D5g7qGb/D0WnvJvTY3WS3S0OpUK921IGIFxzzKWS81ty5YJq9DzHn4XlAshKfhcXWzAR2O3FXamTwLAvt79RHYbgCR3U5qSXeTCu8CYp8ARt3oY2hkg8KGWFt3IfzIUgns88rLCg8C0ClwLIAmYl6i3OdDpCPqc/GvTXKk9ztBu6pLavzw5qIf27lFbashbH9CXCfPSU1ZXney8zxwtrrl0E7N/RwHQhRHkLjFqI89b2WK8rpUsOBkzeO+MZkv6I0hXG+1igl8Mj+njQIB6Y+fcdYWIAlxTFOjctFGqpcawQe09df+A172yp/GsDxQISa8rqbk3NoWRmvPWgcPQPG5ZEdv8LSNLUTcVBbF7GeLYt9EnUfGxzhkostH8vhAs/b9ov5mi3V28xCla1AWyWIEnw+Fniq47iqdcKjrTzumEFui5VA64xdVRSFaRlX1NQ25EG0+sR0qztiZXWH23X6Lb5ozgIkp2eiESEbiDKJhH7TeXb07hp5Mffrx7Vnpfu2wwmM/nqZ0WRygk1aWxs4GdFvRPcs9TmJRoESre0tG95jWsaQwunOKy6K9sndmBotG/T3cU/wj5V9lvrNzL/QiuL8cgBWrf3SD2VIc9U94owuC5aXyWK64/sHXaP1ciI3BNVXHb9hTbVhD6EveN+yx7v39xkL2/TiYXECGgMALDBdPTnbZTRE5UUsuKOuLJcJiwij/Eby+HQ+pmIeNP8ITuV7XiOlBr1x2poVrzNjgmtfOc6uDrZMZYOZO7erfrsyPxWfSoOwEr9KURLGO1cYE63JcsYwOxmiUS5tDe97fuxiqWsUUslWU2GCxK4/wyW9CNfzm4pzzccyt5riL7aDmWVE8VZQquyqhuP2W0sNk11wPK5eurCfzCPc55G0JIKrehXw1fDQ+ikugjiKOLMUQPI+E2mkAPS9V8uDsG4acAh8uxw6Kx0rdXtC2GJ0du0Y4aivqKCJ2+gE7foxBLuoc3PT1++3MSMiz11ITtXab3DaGsoHXR8mF6vM+qi3EojsJUVaNDh9QzmEtfAj8wJLKEKVmgdoG/3djTi72NK/BH1AjHKSUlMqdvjDPpyyZPC1MNumvI6jNXJh9UXOpBp8INTkfn1+/ORkdvx6ev3129PjpOh6l/8MF5Im7F9YYd3bC7OkGehYn1+a7Pi/W58E3Mxx15PD74Qa241ETnEPVFV9Y3TGz+RBBL84YtFjl3eG3Vckmv46xKxS6kozp+ZFrdjN+Xz9MHrf6A7dZof89VQ1KMhux/bdV/a5z+RAC2fkdYx+Bu3WJZdkO39xK5QBtyFneexhgchYvveu+hmZtCGjeNigJrvyG+PzbdbZwYF79fTagndaN+ZQTtIeCAm6wfycjl8m8VCHnL sidebar_class_name: "post api-method" info_path: docs/apis-tools/camunda-api-rest/specifications/camunda-8-rest-api custom_edit_url: null @@ -25,24 +25,24 @@ import Markdown from "@theme/Markdown"; import OperationTabs from "@theme/OperationTabs"; import TabItem from "@theme/TabItem"; -

    Upload document (experimental)

    +

    Upload document (alpha)

    Upload a document to the Camunda 8 cluster. :::note -This endpoint is experimental. It currently only supports an in-memory document store, which -is not meant for production use. +This endpoint is an alpha feature. It currently only supports an in-memory document store, +which is not meant for production use. ::: ## Request -

    Query Parameters

    Body

    required
      metadata object
    +

    Query Parameters

    Body

    required
      metadata object
    The document was uploaded successfully. -
    Schema
      metadata object
    +
    Schema
      metadata object
    The document upload failed. More details are provided in the response body. diff --git a/docs/apis-tools/cli-client/index.md b/docs/apis-tools/cli-client/index.md index 79b75509955..f42d80e0746 100644 --- a/docs/apis-tools/cli-client/index.md +++ b/docs/apis-tools/cli-client/index.md @@ -39,13 +39,13 @@ zbctl [options] [command] ``` ``` -zbctl is a command line interface designed to create and read resources inside the Zeebe broker. -It is designed for regular maintenance jobs, such as: - * Deploying processes - * Creating jobs and process instances - * Activating, completing, or failing jobs - * Updating variables and retries - * Viewing cluster status +zbctl is a command line interface designed to create and read resources inside zeebe broker. +It is designed for regular maintenance jobs such as: + * deploying resources, + * creating jobs and process instances + * activating, completing or failing jobs + * update variables and retries + * view cluster status Usage: zbctl [command] @@ -72,15 +72,20 @@ Available Commands: version Print the version of zbctl Flags: - --address string Specify a contact point address. If omitted, will read from the environment variable 'ZEEBE_ADDRESS' (default '127.0.0.1:26500') - --audience string Specify the resource that the access token should be valid for. If omitted, will read from the environment variable 'ZEEBE_TOKEN_AUDIENCE' - --authzUrl string Specify an authorization server URL from which to request an access token. If omitted, will read from the environment variable 'ZEEBE_AUTHORIZATION_SERVER_URL' (default "https://login.cloud.camunda.io/oauth/token/") - --certPath string Specify a path to a certificate with which to validate gateway requests. If omitted, will read from the environment variable 'ZEEBE_CA_CERTIFICATE_PATH' - --clientCache string Specify the path to use for the OAuth credentials cache. If omitted, will read from the environment variable 'ZEEBE_CLIENT_CONFIG_PATH' (default "/Users/sitapati/.camunda/credentials") - --clientId string Specify a client identifier to request an access token. If omitted, will read from the environment variable 'ZEEBE_CLIENT_ID' - --clientSecret string Specify a client secret to request an access token. If omitted, will read from the environment variable 'ZEEBE_CLIENT_SECRET' - -h, --help help for zbctl - --insecure Specify if zbctl should use an unsecured connection. If omitted, will read from the environment variable 'ZEEBE_INSECURE_CONNECTION' + --address string Specify a contact point address. If omitted, will read from the environment variable 'ZEEBE_ADDRESS' (default '127.0.0.1:26500') + --audience string Specify the resource that the access token should be valid for. If omitted, will read from the environment variable 'ZEEBE_TOKEN_AUDIENCE' + --authority string Overrides the authority used with TLS virtual hosting. Specifically, to override hostname verification in the TLS handshake. It does not change what host is actually connected to. If omitted, will read from the environment variable 'ZEEBE_OVERRIDE_AUTHORITY' + --authzUrl string Specify an authorization server URL from which to request an access token. If omitted, will read from the environment variable 'ZEEBE_AUTHORIZATION_SERVER_URL' (default "https://login.cloud.camunda.io/oauth/token/") + --certPath string Specify a path to a certificate with which to validate gateway requests. If omitted, will read from the environment variable 'ZEEBE_CA_CERTIFICATE_PATH' + --clientCache string Specify the path to use for the OAuth credentials cache. If omitted, will read from the environment variable 'ZEEBE_CLIENT_CONFIG_PATH' (default "/Users/jonathanlukas/.camunda/credentials") + --clientId string Specify a client identifier to request an access token. If omitted, will read from the environment variable 'ZEEBE_CLIENT_ID' + --clientSecret string Specify a client secret to request an access token. If omitted, will read from the environment variable 'ZEEBE_CLIENT_SECRET' + -h, --help help for zbctl + --host string Specify the host part of the gateway address. If omitted, will read from the environment variable 'ZEEBE_HOST' (default '127.0.0.1') + --insecure Specify if zbctl should use an unsecured connection. If omitted, will read from the environment variable 'ZEEBE_INSECURE_CONNECTION' + --port string Specify the port part of the gateway address. If omitted, will read from the environment variable 'ZEEBE_PORT' (default '26500') + --requestTimeout duration Specify the default timeout for all requests. Example values: 300ms, 50s or 1m (default 10s) + --scope string Optionally specify the client token scope used when fetching credentials. If omitted, will read from the environment variable 'ZEEBE_TOKEN_SCOPE' Use "zbctl [command] --help" for more information about a command. ``` diff --git a/docs/apis-tools/go-client/go-get-started.md b/docs/apis-tools/go-client/go-get-started.md index 4943d5f500c..fb5022467e3 100644 --- a/docs/apis-tools/go-client/go-get-started.md +++ b/docs/apis-tools/go-client/go-get-started.md @@ -7,6 +7,12 @@ sidebar_label: "Getting started with the Go client" import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; +:::caution + +The Zeebe Go client will be officially deprecated with the 8.6 release. For more information, see [announcements](../../../reference/announcements/#deprecation-zeebe-go-client--zbctl). + +::: + In this tutorial, you will learn how to use the Go client in a Go application to interact with Camunda 8. You can find a complete example on [GitHub](https://github.com/camunda/camunda-platform-get-started/tree/main/go). diff --git a/docs/apis-tools/go-client/index.md b/docs/apis-tools/go-client/index.md index b5ecd893659..e0061226991 100644 --- a/docs/apis-tools/go-client/index.md +++ b/docs/apis-tools/go-client/index.md @@ -1,10 +1,16 @@ --- id: index -title: "Go client" +title: "Go client (Deprecated)" sidebar_label: "Quick reference" description: "Instantiate the client by passing in the address of the cluster you want to connect to in a Go application to interact with Camunda 8." --- +:::caution + +The Zeebe Go client will be officially deprecated with the 8.6 release. For more information, see [announcements](../../reference/announcements/#deprecation-zeebe-go-client--zbctl). + +::: + ## Dependencies To use the [Zeebe Go client library](https://github.com/camunda/camunda-platform-get-started/tree/main/go), add the following dependency to your `go.mod`: diff --git a/docs/apis-tools/go-client/job-worker.md b/docs/apis-tools/go-client/job-worker.md index 58ff305ee8f..d342ffab8d5 100644 --- a/docs/apis-tools/go-client/job-worker.md +++ b/docs/apis-tools/go-client/job-worker.md @@ -5,6 +5,12 @@ description: "Let's take a deeper look at job workers to handle jobs." keywords: ["backpressure", "back-pressure", "back pressure"] --- +:::caution + +The Zeebe Go client will be officially deprecated with the 8.6 release. For more information, see [announcements](../../../reference/announcements/#deprecation-zeebe-go-client--zbctl). + +::: + The Go client provides a job worker that handles both polling and streaming for available jobs. This allows you to focus on writing code to handle the activated jobs. On `Open`, the job worker waits `PollInterval` milliseconds and then polls for `MaxJobsActive` jobs. It then continues with the following schedule: diff --git a/docs/apis-tools/java-client-examples/cluster-topology-request.md b/docs/apis-tools/java-client-examples/cluster-topology-request.md index 7b5094b13e7..ac1a9a952fc 100644 --- a/docs/apis-tools/java-client-examples/cluster-topology-request.md +++ b/docs/apis-tools/java-client-examples/cluster-topology-request.md @@ -15,7 +15,6 @@ Run the Zeebe broker with endpoints, `localhost:8080` (default REST) and `localh ## TopologyViewer.java -/tree/main/zeebe-client-plain-java [Source on GitHub](https://github.com/camunda-community-hub/camunda-8-examples/blob/main/zeebe-client-plain-java/src/main/java/io/camunda/zeebe/example/cluster/TopologyViewer.java) ```java diff --git a/docs/apis-tools/operate-api/authentication.md b/docs/apis-tools/operate-api/authentication.md index 76d4ac477a1..5ada026ec13 100644 --- a/docs/apis-tools/operate-api/authentication.md +++ b/docs/apis-tools/operate-api/authentication.md @@ -7,7 +7,7 @@ description: "Authentication requirements for accessing the Operate REST API." import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; -All Operate REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and pass it in each request. +All Operate REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request. ## Generating a token @@ -89,9 +89,9 @@ See the [Operate Configuration - Authentication](/self-managed/operate-deploymen ## Using a token -Include the captured token as an authorization header in each request: `Authorization: Bearer `. +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. -For example, to call the Operate REST API's ["Search process instances" endpoint](./specifications/search-1.api.mdx), send the following request against the target Operate environment: +For example, to send a request to the Operate REST API's ["Search process instances" endpoint](./specifications/search-1.api.mdx): `. +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. -For example, to call the Tasklist API's ["Search tasks" endpoint](./specifications/search-tasks.api.mdx), send the following request against the target Tasklist environment: +For example, to send a request to the Tasklist API's ["Search tasks" endpoint](./specifications/search-tasks.api.mdx): expectedVariables = // +assertThat(processInstance).hasVariables(expectedVariables); +``` diff --git a/docs/apis-tools/testing/connectors.md b/docs/apis-tools/testing/connectors.md new file mode 100644 index 00000000000..80ac6ea8a7e --- /dev/null +++ b/docs/apis-tools/testing/connectors.md @@ -0,0 +1,249 @@ +--- +id: connectors +title: Connectors +description: "Run your process test with Connectors to verify the integration with external systems or the configuration of the Connector tasks in your processes." +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +You can run your process test with [Connectors](/components/connectors/introduction.md) to verify the integration with external systems or the configuration of the Connector tasks in your processes. + +For more unit-focused tests, mock the interaction; for example, by completing Connector jobs with an expected result. + +## Enable Connectors + +By default, the Connectors are disabled. You need to change the runtime configuration to enable them. + + + + + +Set the following property in your `application.yml` (or `application.properties`): + +```yaml +io: + camunda: + process: + test: + connectors-enabled: true +``` + +Or, set the property directly on your test class: + +```java +@SpringBootTest(properties = {"io.camunda.process.test.connectors-enabled=true"}) +@CamundaSpringProcessTest +public class MyProcessTest { + // +} +``` + + + + + +Register the JUnit extension in your test class with enabled Connectors: + +```java +// No annotation: @CamundaProcessTest +public class MyProcessTest { + + @RegisterExtension + private final CamundaProcessTestExtension extension = + new CamundaProcessTestExtension().withConnectorsEnabled(true); +} +``` + + + + + +## Connector secrets + +If you use [Connectors secrets](/components/connectors/use-connectors/index.md#using-secrets) in your processes, you can define them in the test runtime. + + + + + +Add your secrets under the following property in your `application.yml` (or `application.properties`): + +```yaml +io: + camunda: + process: + test: + connectors-enabled: true + connectors-secrets: + GITHUB_TOKEN: ghp_secret + SLACK_TOKEN: xoxb-secret +``` + +Or, set the property directly on your test class: + +```java +@SpringBootTest( + properties = { + "io.camunda.process.test.connectors-enabled=true", + "io.camunda.process.test.connectors-secrets.GITHUB_TOKEN=ghp_secret", + "io.camunda.process.test.connectors-secrets.SLACK_TOKEN=xoxb-secret" + } +) +@CamundaSpringProcessTest +public class MyProcessTest { + // +} +``` + + + + + +Add your secrets when you register the JUnit extension: + +```java +// No annotation: @CamundaProcessTest +public class MyProcessTest { + + @RegisterExtension + private final CamundaProcessTestExtension extension = + new CamundaProcessTestExtension() + .withConnectorsEnabled(true) + .withConnectorsSecret("GITHUB_TOKEN", "ghp_secret") + .withConnectorsSecret("SLACK_TOKEN", "xoxb-secret"); +} +``` + + + + + +## Invoke an inbound Connector + +You can retrieve the URL address to invoke an inbound Connector in your test from the `CamundaProcessTestContext`. + + + + + +```java +@SpringBootTest +@CamundaSpringProcessTest +public class MyProcessTest { + + @Autowired private ZeebeClient client; + @Autowired private CamundaProcessTestContext processTestContext; + + @Test + void shouldInvokeConnector() { + // given: a process instance waiting at a Connector event + + // when + final String inboundConnectorAddress = + processTestContext.getConnectorsAddress() + "/inbound/" + CONNECTOR_ID; + // invoke the connector address, for example, via HTTP request + + // then: verify that the Connector event is completed + } +} +``` + + + + + +```java +@CamundaProcessTest +public class MyProcessTest { + + // to be injected + private ZeebeClient client; + private CamundaProcessTestContext processTestContext; + + @Test + void shouldInvokeConnector() { + // given: a process instance waiting at a Connector event + + // when + final String connectorInboundAddress = + processTestContext.getConnectorsAddress() + "/inbound/" + CONNECTOR_ID; + // invoke the connector address, for example, via HTTP request + + // then: verify that the Connector event is completed + } +} +``` + + + + + +:::tip +You might need to wrap the invocation of the Connector in a retry loop, for example, by using [Awaitility](http://www.awaitility.org/). + +There can be a delay between verifying that the Connnectors event is active and opening the Connectors inbound subscription. +::: + +## Custom Connectors + +To use a custom Connectors bundle, replace the Connectors in the test runtime. + + + + + +Set the Docker image name and version of your custom Connector bundle under the following properties in your `application.yml` (or `application.properties`): + +```yaml +io: + camunda: + process: + test: + connectors-enabled: true + connectors-docker-image-name: my-org/my-connectors + connectors-docker-image-version: 1.0.0 +``` + + + + + +Set the Docker image name and version of your custom Connector bundle when you register the JUnit extension: + +```java +// No annotation: @CamundaProcessTest +public class MyProcessTest { + + @RegisterExtension + private final CamundaProcessTestExtension extension = + new CamundaProcessTestExtension() + .withConnectorsEnabled(true) + .withConnectorsDockerImageName("my-org/my-connectors") + .withConnectorsDockerImageVersion("1.0.0"); +} +``` + + + + diff --git a/docs/apis-tools/testing/getting-started.md b/docs/apis-tools/testing/getting-started.md new file mode 100644 index 00000000000..6101c53b3fe --- /dev/null +++ b/docs/apis-tools/testing/getting-started.md @@ -0,0 +1,286 @@ +--- +id: getting-started +title: Getting started +description: "Integrate the Camunda Process Test library in your project." +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +[Camunda Process Test](https://github.com/camunda/camunda/tree/main/testing/camunda-process-test-java) (CPT) is a Java library to test your BPMN processes and your process application. + +CPT is based on [JUnit 5](https://junit.org/junit5/) and [Testcontainers](https://java.testcontainers.org/). It provides a managed isolated runtime to execute your process tests on your local machine. The runtime uses the Camunda Docker images and includes the following components: + +- Camunda (Zeebe, Operate, Tasklist) +- Connectors +- Elasticsearch + +:::warning Disclaimer +For Camunda 8.6, CPT is in an [alpha version](/reference/alpha-features.md#alpha). + +For a full-featured testing library, take a look at [Zeebe Process Test](/apis-tools/java-client/zeebe-process-test.md). +::: + +:::note Limitations +CPT is in an early stage. It doesn't contain all features, and it is not optimized yet. Be aware of the following limitations: + +- Slow test execution (~40 seconds per test case) +- Only basic assertions + +::: + +## Prerequisites + +- Java 8+ / 17+ (for Spring SDK) +- JUnit 5 +- A Docker-API compatible container runtime, such as Docker on Linux or Docker Desktop on Mac and Windows. If you have issues with your Docker runtime, have a look at the [Testcontainers documentation](https://java.testcontainers.org/supported_docker_environment/). + +## Install + +We have two variations of CPT: for the [Spring SDK](/apis-tools/spring-zeebe-sdk/getting-started.md) and the [Zeebe Java client](/apis-tools/java-client/index.md). Choose the one depending on which library you use in your process application. + +Add the following dependency to your Maven project: + + + + + +```xml + + io.camunda + camunda-process-test-spring + test + +``` + + + + + +```xml + + io.camunda + camunda-process-test-java + test + +``` + + + + + +## Write a test + +Create a new Java class with the following structure: + + + + + +```java +package com.example; + +import io.camunda.process.test.api.CamundaAssert; +import io.camunda.process.test.api.CamundaProcessTestContext; +import io.camunda.process.test.api.CamundaSpringProcessTest; +import io.camunda.zeebe.client.ZeebeClient; +import io.camunda.zeebe.client.api.response.ProcessInstanceEvent; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +@CamundaSpringProcessTest +public class MyProcessTest { + + @Autowired private ZeebeClient client; + @Autowired private CamundaProcessTestContext processTestContext; + + @Test + void shouldCompleteProcessInstance() { + // given: the processes are deployed + + // when + final ProcessInstanceEvent processInstance = + client.newCreateInstanceCommand().bpmnProcessId("my-process").latestVersion().send().join(); + + // then + CamundaAssert.assertThat(processInstance).isCompleted(); + } +} +``` + +- `@SpringBootTest` is the standard Spring annotation for tests. +- `@CamundaSpringProcessTest` registers the Camunda test execution listener that starts and stops the test runtime. +- `@Test` is the standard JUnit 5 annotation for a test case. +- (_optional_) Inject a preconfigured `ZeebeClient` to interact with the Camunda runtime. +- (_optional_) Inject a `CamundaProcessTestContext` to interact with the test runtime. +- (_optional_) Use `CamundaAssert` to verify the process instance state. + + + + + +```java +package com.example; + +import io.camunda.process.test.api.CamundaAssert; +import io.camunda.process.test.api.CamundaProcessTest; +import io.camunda.process.test.api.CamundaProcessTestContext; +import io.camunda.zeebe.client.ZeebeClient; +import io.camunda.zeebe.client.api.response.ProcessInstanceEvent; +import org.junit.jupiter.api.Test; + +@CamundaProcessTest +public class MyProcessTest { + + // to be injected + private ZeebeClient client; + private CamundaProcessTestContext processTestContext; + + @Test + void shouldCompleteProcessInstance() { + // given + client.newDeployResourceCommand().addResourceFromClasspath("my-process.bpmn").send().join(); + + // when + final ProcessInstanceEvent processInstance = + client.newCreateInstanceCommand().bpmnProcessId("my-process").latestVersion().send().join(); + + // then + CamundaAssert.assertThat(processInstance).isCompleted(); + } +} +``` + +- `@CamundaProcessTest` registers the Camunda JUnit extension that starts and stops the test runtime. +- `@Test` is the standard JUnit 5 annotation for a test case. +- (_optional_) Get a preconfigured `ZeebeClient` injected to interact with the Camunda runtime. +- (_optional_) Get a `CamundaProcessTestContext` injected to interact with the test runtime. +- (_optional_) Use `CamundaAssert` to verify the process instance state. + + + + + +Read more about `CamundaAssert` and the available assertions [here](assertions.md). + +## Configure the runtime + +By default, the test runtime uses the Camunda Docker images in the same version as the test library. You can change the version or customize the runtime to your needs. + + + + + +Set the following properties in your `application.yml` (or `application.properties`) to override the defaults: + +```yaml +io: + camunda: + process: + test: + # Change the version of the Camunda Docker image + camundaVersion: 8.6.0 + # Change the Camunda Docker image + camunda-docker-image-name: camunda/camunda + # Set additional Camunda environment variables + camunda-env-vars: + env_1: value_1 + # Expose addition Camunda ports + camundaExposedPorts: + - 4567 + # Enable Connectors + connectors-enabled: true + # Change the Connectors Docker image + connectors-docker-image-name: camunda/connectors + # Change version of the Connectors Docker image + connectors-docker-image-version: 8.6.0 + # Set additional Connectors environment variables + connectors-env-vars: + env_1: value_1 + # Set Connectors secrets + connectors-secrets: + secret_1: value_1 +``` + + + + + +You can change the version by setting the following properties in a `/camunda-container-runtime.properties` file: + +```properties +camunda.version=8.6.0 +elasticsearch.version=8.13.4 +``` + +For more configuration options, you can register the JUnit extension manually and use the fluent builder to override the default: + +```java +package com.example; + +import io.camunda.process.test.api.CamundaProcessTestExtension; +import org.junit.jupiter.api.extension.RegisterExtension; + +// No annotation: @CamundaProcessTest +public class MyProcessTest { + + @RegisterExtension + private final CamundaProcessTestExtension extension = + new CamundaProcessTestExtension() + // Change the version of the Camunda Docker image + .withCamundaVersion("8.6.0") + // Change the Zeebe Docker image + .withZeebeDockerImageName("camunda/zeebe") + // Set additional Zeebe environment variables + .withZeebeEnv("env_1", "value_1") + // Expose addition Zeebe ports + .withZeebeExposedPort(4567) + // Enable Connectors + .withConnectorsEnabled(true) + // Change the Connectors Docker image + .withConnectorsDockerImageName("camunda/connectors") + // Change version of the Connectors Docker image + .withConnectorsDockerImageVersion("8.6.0") + // Set additional Connectors environment variables + .withConnectorsEnv("env_1", "value_1") + // Set Connectors secrets + .withConnectorsSecret("secret_1", "value_1"); +} +``` + + + + + +## Logging + +The test runtime uses [SLF4J](https://www.slf4j.org/) as the logging framework. If needed, you can enable the logging for the following packages: + +- `io.camunda.process.test` - The test runtime +- `tc.camunda` - The Camunda Docker container +- `tc.connectors` - The Connectors Docker container +- `tc.elasticsearch` - The Elasticsearch Docker container +- `org.testcontainers` - The Testconainers framework + +For most cases, the log level `warn` (warning) is sufficient. + +## Examples + +Take a look at the example project on [GitHub](https://github.com/camunda/camunda/tree/main/testing/camunda-process-test-example). This demonstrates the usage of the library for a demo Spring Boot process application. diff --git a/docs/apis-tools/testing/utilities.md b/docs/apis-tools/testing/utilities.md new file mode 100644 index 00000000000..298feddb30f --- /dev/null +++ b/docs/apis-tools/testing/utilities.md @@ -0,0 +1,31 @@ +--- +id: utilities +title: Utilities +description: "Use utilities to interact with the process instance." +--- + +There are different utilities that can help you to write your process test. + +## Manipulate the clock + +The Camunda runtime uses an internal clock to execute process instances and to calculate when a BPMN timer event is due. In a test, you can use `CamundaProcessTestContext` to manipulate the clock. + +When to use it: + +- Trigger an active BPMN timer event +- Test scenarios that require a specific date or time, for example, a leap year + +```java +@Test +void shouldTriggerTimerEvent() { + // given: a process instance waiting at a BPMN timer event + + // when + assertThat(processInstance).hasActiveElements("Wait 2 days"); + + processTestContext.increaseTime(Duration.ofDays(2)); + + // then + assertThat(processInstance).hasCompletedElements("Wait 2 days"); +} +``` diff --git a/docs/apis-tools/web-modeler-api/authentication.md b/docs/apis-tools/web-modeler-api/authentication.md index 83f4ca83603..8ec19de3ba2 100644 --- a/docs/apis-tools/web-modeler-api/authentication.md +++ b/docs/apis-tools/web-modeler-api/authentication.md @@ -9,7 +9,7 @@ description: "Web Modeler API is a REST API and provides access to Web Modeler d import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; -All Web Modeler API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) depending on your environment and pass it in each request. +All Web Modeler API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) depending on your environment and include it in each request. ## Generating a token @@ -89,9 +89,9 @@ All Web Modeler API requests require authentication. To authenticate, generate a ## Using a token -Include the captured token as an authorization header in each request: `Authorization: Bearer `. +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. -For example, to call the Web Modeler API's `/info` endpoint, send the following request against the target environment: +For example, to send a request to the Web Modeler API's `/info` endpoint: -A successful response would include [information about the environment](https://modeler.camunda.io/swagger-ui/index.html#/Info/getInfo). For example: +A successful response includes [information about the environment](https://modeler.camunda.io/swagger-ui/index.html#/Info/getInfo). For example: ```json { diff --git a/docs/apis-tools/working-with-apis-tools.md b/docs/apis-tools/working-with-apis-tools.md index 2a6ae203783..41e9b458d5a 100644 --- a/docs/apis-tools/working-with-apis-tools.md +++ b/docs/apis-tools/working-with-apis-tools.md @@ -25,7 +25,7 @@ Clients allow applications to do the following: - Start and cancel process instances. - Activate jobs, work on those jobs, and subsequently complete or fail jobs. - Publish messages. -- Update process instance variables and resolve incidents. +- Update process instance variables and resolve [incidents](/components/concepts/incidents.md). The official clients mentioned below interact with [Zeebe](/components/zeebe/zeebe-overview.md), the workflow engine integrated into Camunda 8. All clients require [setting up client credentials](/guides/setup-client-connection-credentials.md) to authenticate. Clients connect to Camunda 8 via a mix of REST and [gRPC](https://grpc.io), a high-performance, open source, and universal RPC protocol. diff --git a/docs/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md b/docs/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md index 51f9a4b396b..b05d0926b8f 100644 --- a/docs/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md +++ b/docs/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md @@ -4,59 +4,136 @@ title: "Authentication" description: "Describes authentication options that can be used to access Zeebe REST API." --- -## Authentication in the cloud - -To access the API endpoint, you need an access token. - -Your client must send a header in each request: - -`Authorization: Bearer ` - -For example, send a request using _curl_: +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +All Zeebe REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request. + +## Generating a token + + + + +1. [Create client credentials](/guides/setup-client-connection-credentials.md) in the **Clusters > Cluster name > API** tab of [Camunda Console](https://console.camunda.io/). +2. Add permissions to this client for **Zeebe**. +3. Upon creating the client, capture the following values required to generate a token: + + | Name | Environment variable name | Default value | + | ------------------------ | -------------------------------- | -------------------------------------------- | + | Client ID | `ZEEBE_CLIENT_ID` | - | + | Client Secret | `ZEEBE_CLIENT_SECRET` | - | + | Authorization Server URL | `ZEEBE_AUTHORIZATION_SERVER_URL` | `https://login.cloud.camunda.io/oauth/token` | + | Audience | `ZEEBE_TOKEN_AUDIENCE` | `zeebe.camunda.io` | + | Optimize REST Address | `ZEEBE_REST_ADDRESS` | - | + + :::tip + When client credentials are created, the `Client Secret` is only shown once. Save this `Client Secret` somewhere safe. + ::: +4. Execute an authentication request to the token issuer: + ```bash + curl --request POST ${ZEEBE_AUTHORIZATION_SERVER_URL} \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data-urlencode 'grant_type=client_credentials' \ + --data-urlencode "audience=${ZEEBE_TOKEN_AUDIENCE}" \ + --data-urlencode "client_id=${ZEEBE_CLIENT_ID}" \ + --data-urlencode "client_secret=${ZEEBE_CLIENT_SECRET}" + ``` +5. A successful authentication response looks like the following: + ```json + { + "access_token": "", + "expires_in": 300, + "refresh_expires_in": 0, + "token_type": "Bearer", + "not-before-policy": 0 + } + ``` +6. Capture the value of the `access_token` property and store it as your token. + + + + + +1. [Add an M2M application in Identity](/self-managed/identity/user-guide/additional-features/incorporate-applications.md). +2. [Add permissions to this application](/self-managed/identity/user-guide/additional-features/incorporate-applications.md) for **Zeebe API**. +3. Capture the `Client ID` and `Client Secret` from the application in Identity. +4. [Generate a token](/self-managed/identity/user-guide/authorizations/generating-m2m-tokens.md) to access the REST API. Provide the `client_id` and `client_secret` from the values you previously captured in Identity. + ```shell + curl --location --request POST 'http://localhost:18080/auth/realms/camunda-platform/protocol/openid-connect/token' \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data-urlencode "client_id=${CLIENT_ID}" \ + --data-urlencode "client_secret=${CLIENT_SECRET}" \ + --data-urlencode 'grant_type=client_credentials' + ``` +5. A successful authentication response looks like the following: + ```json + { + "access_token": "", + "expires_in": 300, + "refresh_expires_in": 0, + "token_type": "Bearer", + "not-before-policy": 0 + } + ``` +6. Capture the value of the `access_token` property and store it as your token. + + + + + +## Using a token + +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. + +For example, to send a request to the Zeebe REST API's `/topology` endpoint: + + + + + +:::tip +The `${ZEEBE_REST_ADDRESS}` variable below represents the URL of the Zeebe REST API. You can capture this URL when creating an API client. You can also construct it as `https://${REGION}.zeebe.camunda.io/${CLUSTER_ID}/`. +::: + + + + + +:::tip +The `${ZEEBE_REST_ADDRESS}` variable below represents the URL of the Zeebe REST API. You can configure this value in your Self-Managed installation. The default value is `http://localhost:8080/`. +::: + + + + ```shell -curl -XGET -H'Accept: application/json' -H'Authorization: Bearer ' http://localhost:8080/v1/topology +curl --header "Authorization: Bearer ${TOKEN}" \ + ${ZEEBE_REST_ADDRESS}/v1/topology ``` -### How to obtain the access token - -You must obtain a token to use the Zeebe REST API. When you create a Zeebe [client](/guides/setup-client-connection-credentials.md), you get all the information needed to connect to Zeebe. - -Refer to our guide on [building your own client](../build-your-own-client.md). - -The following settings are needed: - -| Name | Description | Default value | -| ------------------------ | ----------------------------------------------- | ------------------ | -| client id | Name of your registered client | - | -| client secret | Password for your registered client | - | -| audience | Permission name; if not given use default value | `zeebe.camunda.io` | -| authorization server url | Token issuer server | - | - -Send a token issue _POST_ request to the authorization server with the following content: +A successful response includes [information about the cluster](/apis-tools/zeebe-api-rest/specifications/get-cluster-topology.api.mdx). For example: ```json { - "client_id": "", - "client_secret": "", - "audience": "", - "grant_type": "client_credentials" + "brokers": [ + ... + ], + "clusterSize": 3, + "partitionsCount": 3, + "replicationFactor": 3, + "gatewayVersion": "8.6.0" } ``` -Refer to the following example with _curl_: +## Token expiration -```shell -curl -X POST --header 'content-type: application/json' --data '{"client_id": "", "client_secret":"","audience":"","grant_type":"client_credentials"}' https:// -``` - -If the authentication is successful, the authorization server sends back the access token, when it expires, scope, and type: - -```json -{ - "access_token": "ey...", - "scope": "...", - "expires_in": 86400, - "token_type": "Bearer" -} -``` +Access tokens expire according to the `expires_in` property of a successful authentication response. After this duration, in seconds, you must request a new access token. diff --git a/docs/apis-tools/zeebe-api/gateway-service.md b/docs/apis-tools/zeebe-api/gateway-service.md index f990a80e440..ea085338ea6 100644 --- a/docs/apis-tools/zeebe-api/gateway-service.md +++ b/docs/apis-tools/zeebe-api/gateway-service.md @@ -216,7 +216,7 @@ Returned if: Returned if: -- The job was marked as failed. In that case, the related incident must be resolved before the job can be activated again and completed. +- The job was marked as failed. In that case, the related [incident](/components/concepts/incidents.md) must be resolved before the job can be activated again and completed. ## `CreateProcessInstance` RPC diff --git a/docs/components/best-practices/development/dealing-with-problems-and-exceptions.md b/docs/components/best-practices/development/dealing-with-problems-and-exceptions.md index 70aa273ec7f..9a6d2a4bcdf 100644 --- a/docs/components/best-practices/development/dealing-with-problems-and-exceptions.md +++ b/docs/components/best-practices/development/dealing-with-problems-and-exceptions.md @@ -30,7 +30,7 @@ Whenever the worker has finished whatever it needs to do (like invoking the REST - [`CompleteJob`](/apis-tools/zeebe-api/gateway-service.md#completejob-rpc): The service task went well, the process instance can move on. - [`FailJob `](/apis-tools/zeebe-api/gateway-service.md#failjob-rpc): The service task failed, and the workflow engine should handle this failure. There are two possibilities: - `remaining retries > 0`: The job is retried. - - `remaining retries <= 0`: An incident is raised and the job is not retried until the incident is resolved. + - `remaining retries <= 0`: An [incident](/components/concepts/incidents.md) is raised and the job is not retried until the incident is resolved. - [`ThrowError`](/apis-tools/zeebe-api/gateway-service.md#throwerror-rpc): A BPMN error is reported, which typically is handled on the BPMN level. As the glue code in the worker is external to the workflow engine, there is **no technical transaction spanning both components**. Technical transactions refer to ACID (atomic, consistent, isolated, durable) properties, mostly known from relational databases. diff --git a/docs/components/best-practices/development/understanding-transaction-handling-c7.md b/docs/components/best-practices/development/understanding-transaction-handling-c7.md index d2465ecc39f..a22bccca414 100644 --- a/docs/components/best-practices/development/understanding-transaction-handling-c7.md +++ b/docs/components/best-practices/development/understanding-transaction-handling-c7.md @@ -124,7 +124,7 @@ Take a look at [this example](https://github.com/camunda/camunda-consulting/tree ## Thinking about operations during modeling -Make sure you also understand how to [operate Camunda 7](../../operations/operating-camunda-c7) - in particular by understanding _retry behaviour_ and _incident management_ for service tasks. +Make sure you also understand how to [operate Camunda 7](../../operations/operating-camunda-c7) - in particular by understanding _retry behavior_ and _incident management_ for service tasks. ## Rolling back a transaction on unhandled errors diff --git a/docs/components/best-practices/development/writing-good-workers.md b/docs/components/best-practices/development/writing-good-workers.md index 1adbcc3d3d6..b47389515a3 100644 --- a/docs/components/best-practices/development/writing-good-workers.md +++ b/docs/components/best-practices/development/writing-good-workers.md @@ -242,12 +242,12 @@ These observations yield the following recommendations: ### Node.js client -Using the [Node.js client](https://github.com/camunda/camunda-platform-get-started/tree/master/nodejs), your worker code will look like this, assuming that you use Axios to do rest calls (but of course any other library is fine as well): +Using the [Node.js client](https://github.com/camunda/camunda-8-js-sdk), your worker code will look like this, assuming that you use Axios to do rest calls (but of course any other library is fine as well): ```js zbc.createWorker({ taskType: "rest", - taskHandler: (job, _, worker) => { + taskHandler: (job) => { console.log("Invoke REST call..."); axios .get(PAYMENT_URL) @@ -266,7 +266,7 @@ zbc.createWorker({ This is **reactive code**. And a really interesting observation is that reactive programming is so deep in the JavaScript language that it is impossible to write blocking code, even code that looks blocking is still [executed in a non-blocking fashion](https://github.com/berndruecker/camunda-cloud-clients-parallel-job-execution/blob/main/results/nodejs-blocking.log). -Node.js code scales pretty well and there is no specific thread pool defined or necessary. The Camunda 8 Node.js client library also [uses reactive programming internally](https://github.com/camunda-community-hub/zeebe-client-node-js/blob/master/src/zb/ZBWorker.ts#L28). +Node.js code scales pretty well and there is no specific thread pool defined or necessary. The Camunda 8 Node.js client library also [uses reactive programming internally](https://github.com/camunda/camunda-8-js-sdk/blob/main/src/zeebe/zb/ZBWorker.ts#L27). This makes the recommendation very straight-forward: diff --git a/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md b/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md index b3f31bb5f6b..f263474207a 100644 --- a/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md +++ b/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md @@ -63,6 +63,37 @@ Camunda 8 supports the following binding types: + + versionTag + +

    Resolves to the specific version of the target resource that is annotated with the given version tag.

    +
      +
    • +

      + The version tag is a user-provided string (for example 1.2.0.Final) that makes it easy to identify a certain version of a resource and track it across multiple deployment stages (e.g. dev, test, prod). + You can set the version tag for a BPMN process, DMN decision, or Form in the Modeler's properties panel. +

      +
    • +
    • Using the versionTag binding option ensures that the right version of the target resource is always used, regardless of future deployments, by pinning the dependency to a specific version.

    • +
    • The option is ideal for managing external or shared dependencies.

    • +
    +

    Caution:

    +
      +
    • +

      + If the target resource ID and version tag pair are not deployed, the process instance will have an incident. + To avoid this situation, ensure the version tag defined in the call activity, business rule task, or user task matches the version tag in the dependent resource. +

      +
    • +
    • +

      + Be aware that you can deploy a new version of a resource with an already existing version tag. + In this case, the version tag reference will be updated and point to the latest deployed version. +

      +
    • +
    + + diff --git a/docs/components/concepts/clusters.md b/docs/components/concepts/clusters.md index ce29f895f39..8668266a506 100644 --- a/docs/components/concepts/clusters.md +++ b/docs/components/concepts/clusters.md @@ -34,7 +34,7 @@ When your Free Trial plan expires, you are automatically transferred to the Free Free Trial `dev` (or untagged) clusters are automatically paused eight hours after a cluster is created or resumed from a paused state. Auto-pause occurs regardless of cluster usage. -You can resume a paused cluster at any time, which typically takes five to ten minutes to complete. See [resume your cluster](/components/console/manage-clusters/resume-cluster.md/). +You can resume a paused cluster at any time, which typically takes five to ten minutes to complete. See [resume your cluster](/components/console/manage-clusters/manage-cluster.md#resume-a-cluster). - Clusters tagged as `test`, `stage`, or `prod` do not auto-pause. - Paused clusters are automatically deleted after 30 consecutive paused days. You can change the tag to avoid cluster deletion. @@ -71,3 +71,7 @@ Additionally in the Starter Plan, the following applies to **development cluster - **Cluster is not highly available & includes less hardware**: Reduced hardware resources and availability compared to production cluster (for example, one Zeebe node only). - **Shorter history of processes and decisions**: Data retention in Operate, Optimize, and Tasklist is reduced to one day. For example, pending or historical process instances are deleted after one day as per the [fair usage limits of the Starter plan](https://camunda.com/legal/fair-usage-limits-for-starter-plan/). + +:::caution +**Cluster auto-pause** is not yet available and only applies to non-Enterprise clusters. Development clusters will be paused if they go unused for two hours. When a cluster is paused, not all functionality is limited. For example, you may still execute BPMN timers and BPMN message catch events. To resume your cluster, review [how to resume a cluster](/components/console/manage-clusters/manage-cluster.md#resume-a-cluster). +::: diff --git a/docs/components/concepts/encryption-at-rest.md b/docs/components/concepts/encryption-at-rest.md new file mode 100644 index 00000000000..7c5148e168b --- /dev/null +++ b/docs/components/concepts/encryption-at-rest.md @@ -0,0 +1,72 @@ +--- +id: encryption-at-rest +title: "Encryption at rest" +description: "Camunda 8 SaaS cluster data at rest is protected using Google Cloud Platform (GCP) encryption with a provider-managed encryption key." +keywords: + [ + "encryption", + "encryption at rest", + "encryption key", + "provider key", + "software key", + "hardware key", + ] +--- + +Camunda 8 SaaS only + +Camunda 8 SaaS cluster data is encrypted at rest to provide security and protection for your data. + +## Overview + +By default, Camunda 8 SaaS cluster data at rest is protected with a provider-managed encryption key using [Google Cloud Platform (GCP) encryption](https://cloud.google.com/docs/security/encryption/default-encryption). The encryption key is owned and managed by GCP. + +Enterprise customers requiring a higher level of protection can select a dedicated Camunda-managed software or hardware (HSM) encryption key when creating a new cluster. The encryption key is managed by Camunda using Google Cloud Key Management Service (KMS). + +- You can only select the encryption type when [creating a cluster](/docs/components/console/manage-clusters/create-cluster.md). You cannot change the encryption type after cluster creation. +- You can configure encryption keys on a per-cluster basis so that each cluster has a dedicated encryption key. Encryption keys can be configured for all cluster versions. +- You can view cluster encryption key details in **Cluster Details** on the **Console Overview** tab. + +:::note +Backups use the default provider GCP encryption. +::: + +### Encryption types + +The following table summarizes the available types of cluster encryption at rest. + +| Encryption type | Managed by | Protection level | +| :-------------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Provider encryption key (default) | Google | Google uses a [FIPS 140-2](https://cloud.google.com/security/compliance/fips-140-2-validated) validated encryption module (certificate 4407) in our production environment. | +| Software encryption key | Camunda |

    • Google KMS [software](https://cloud.google.com/docs/security/key-management-deep-dive#software_backend_software_protection_level) protection level.

    • Cryptographic operations are performed in software.
    • Compliant with [FIPS 140-2 Level 1](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).

    | +| Hardware encryption key | Camunda |

    • Google KMS [hardware](https://cloud.google.com/docs/security/key-management-deep-dive#backend_hardware_protection_level) protection level.

    • Cryptographic operations are performed in a hardware security module (HSM).
    • Compliant with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).

    | + +## Provider encryption key (default) + +By default, Camunda 8 SaaS cluster data at rest is protected using GCP encryption. + +- Provider encryption keys are owned and managed by GCP. +- Google uses a [FIPS 140-2](https://cloud.google.com/security/compliance/fips-140-2-validated) validated encryption module. + +:::info +Learn more about [Google default encryption at rest](https://cloud.google.com/docs/security/encryption/default-encryption) and default provider encryption settings. +::: + +## Camunda-managed software encryption key + +Camunda-managed software encryption keys use the Google KMS [software](https://cloud.google.com/docs/security/key-management-deep-dive#software_backend_software_protection_level) protection level to provide a higher level of protection than default provider encryption. + +- Requires an enterprise plan. +- Software encryption keys are managed by Camunda. +- Software encryption keys are compliant with [FIPS 140-2 Level 1](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation). +- Cryptographic operations are performed in software. +- Rotated with zero downtime for security and compliance. + +## Camunda-managed hardware encryption key + +Camunda-managed hardware encryption keys use the Google KMS [hardware](https://cloud.google.com/docs/security/key-management-deep-dive#backend_hardware_protection_level) protection level to provide a higher level of protection than both default provider encryption and Camunda-managed software encryption keys. + +- Requires an enterprise plan. +- Hardware encryption keys are managed by Camunda. +- Hardware encryption keys are compliant with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation). +- Rotated with zero downtime for security and compliance. diff --git a/docs/components/concepts/job-workers.md b/docs/components/concepts/job-workers.md index 1e509b23a68..73e9c189e6d 100644 --- a/docs/components/concepts/job-workers.md +++ b/docs/components/concepts/job-workers.md @@ -65,7 +65,7 @@ After working on an activated job, a job worker informs Camunda 8 that the job h - When the job worker completes its work, it sends a `complete job` command along with any variables, which in turn is merged into the process instance. This is how the job worker exposes the results of its work. - If the job worker can not successfully complete its work, it sends a `fail job` command. Fail job commands include the number of remaining retries, which is set by the job worker. - If `remaining retries` is greater than zero, the job is retried and reassigned. - - If `remaining retries` is zero or negative, an incident is raised and the job is not retried until the incident is resolved. + - If `remaining retries` is zero or negative, an [incident](/components/concepts/incidents.md) is raised and the job is not retried until the incident is resolved. When failing a job it is possible to specify a `retry back off`. This back off allows waiting for a specified amount of time before retrying the job. This could be useful when a job worker communicates with an external system. If the external system is down, immediately retrying the job will not work. diff --git a/docs/components/concepts/process-instance-migration.md b/docs/components/concepts/process-instance-migration.md index eaf3abf936f..beb6e7a7cbf 100644 --- a/docs/components/concepts/process-instance-migration.md +++ b/docs/components/concepts/process-instance-migration.md @@ -92,7 +92,7 @@ Simply cancel the service task instance, and add a new instance of the service t ## Correcting mistakes in a process instance -Process instance migration can also be used to correct mistakes that led to an incident in a process instance. +Process instance migration can also be used to correct mistakes that led to an [incident](/components/concepts/incidents.md) in a process instance. Let's consider an example. diff --git a/docs/components/concepts/resource-deletion.md b/docs/components/concepts/resource-deletion.md index 65a42eab45d..dfca210ff4e 100644 --- a/docs/components/concepts/resource-deletion.md +++ b/docs/components/concepts/resource-deletion.md @@ -54,7 +54,7 @@ new `latest` instead. ### Call activities A [call activity](/components/modeler/bpmn/call-activities/call-activities.md) references a process by id. It's -possible that all process definitions for this process id are deleted. In this case, Zeebe creates an incident on the +possible that all process definitions for this process id are deleted. In this case, Zeebe creates an [incident](/components/concepts/incidents.md) on the call activity, informing you that the process cannot be not found. ### Limitations diff --git a/docs/components/connectors/out-of-the-box-connectors/kafka.md b/docs/components/connectors/out-of-the-box-connectors/kafka.md index bf2cf0c5a00..e40919e5016 100644 --- a/docs/components/connectors/out-of-the-box-connectors/kafka.md +++ b/docs/components/connectors/out-of-the-box-connectors/kafka.md @@ -16,12 +16,15 @@ import TabItem from "@theme/TabItem"; -The **Kafka Producer Connector** is an outbound Connector that allows you to connect your BPMN service with [Kafka](https://kafka.apache.org/) to produce messages. +The **Kafka Producer Connector** is an outbound Connector that allows you to connect your BPMN service with [Apache Kafka](https://kafka.apache.org/) to produce messages. ## Prerequisites -To use the **Kafka Producer Connector**, you need to have a Kafka instance with configured bootstrap server. -Use Camunda secrets to avoid exposing your sensitive data as plain text. Follow our documentation on [managing secrets](/components/console/manage-clusters/manage-secrets.md) to learn more. +To use the **Kafka Producer Connector**, you must have a Kafka instance with a configured bootstrap server. + +:::note +Use Camunda secrets to avoid exposing your sensitive data as plain text. To learn more, see [managing secrets](/components/console/manage-clusters/manage-secrets.md). +::: ## Create a Kafka Producer Connector task @@ -31,29 +34,84 @@ import ConnectorTask from '../../../components/react-components/connector-task.m ## Make your Kafka Producer Connector for publishing messages executable -To make your **Kafka Producer Connector** for publishing messages executable, take the following steps: +To make your **Kafka Producer Connector** for publishing messages executable, complete the following sections. -1. (Optional) Set the relevant credentials in the **Authentication** section. For example, `{{secrets.MY_KAFKA_USERNAME}}`. See the relevant [appendix section](#what-mechanism-is-used-to-authenticate-against-kafka) to find more about Kafka secure authentication. -2. In the **Kafka** section, select the serialization type for your messages. Choose **Default (JSON)** for JSON serialization or **Avro (experimental)** for Avro serialization. [Read more about Kafka Avro serialization](#avro-serialization). -3. In the **Kafka** section, set the URL of bootstrap server(s); comma-separated if more than one server required. -4. In the **Kafka** section, set the topic name. -5. (Optional) In the **Kafka** section, fill out the field **Headers** to set producer configuration values. Only `UTF-8` strings are supported as header values. -6. (Optional) In the **Kafka** section, fill out the field **Additional properties** to set producer configuration values. See the list of supported configurations at the [official Kafka documentation page](https://kafka.apache.org/documentation/#producerconfigs). Also check preconfigured values for the **Kafka Producer Connector** in the relevant [appendix section](#what-are-default-kafka-producer-client-properties). -7. In the **Message** section, set the **Key** and the **Value** that will be sent to Kafka topic. -8. (Optional for **Avro (experimental)**) In the **Avro schema** field, input the schema that defines the message structure. Ensure this schema is in your Avro schema registry. +### Authentication -## Avro serialization +(Optional) Set the relevant credentials in the **Authentication** section. For example, `{{secrets.MY_KAFKA_USERNAME}}`. -:::note -Use Avro serialization with caution, as this is an experimental feature. Functionality may not be comprehensive and could change. +### Schema + +In the **Kafka** section: + +1. Select the schema strategy for your messages. + - Select **No schema**, **Inline schema** for Avro serialization. + - Select **Schema registry** if you have a Confluent Schema Registry. +2. Set the URL of the bootstrap server(s). If more than one server is required, use comma-separated values. +3. Set the topic name. +4. (Optional) Set producer configuration values in the **Headers** field. Only `UTF-8` strings are supported as header values. +5. (Optional) Set producer configuration values in the **Additional properties** field. + +:::info + +The [appendix](#appendix-and-faq) provides more information about: + +- [Kafka secure authentication](#what-mechanism-is-used-to-authenticate-against-kafka). +- [Inline schema](#inline-schema) and [Schema registry](#schema-registry). +- [Pre-configured producer configuration values](#what-are-default-kafka-producer-client-properties) for this Connector. + +Additionally, to learn more about supported producer configurations, see the [official Kafka documentation](https://kafka.apache.org/documentation/#producerconfigs). + +::: + +### Message + +In the **Message** section, set the **Key** and the **Value** that will be sent to Kafka topic. + +## Schema strategies + +:::caution +Use Schema strategies with caution, as this is an [alpha feature](/reference/alpha-features.md). Functionality may not be comprehensive and could change. ::: -The **Kafka Producer Connector** supports Avro serialization, which offers a compact, fast, and binary data exchange format for Kafka messages. Avro relies on schemas for serialization and deserialization. When using Avro, each message is serialized according to a specific schema written in JSON format. This schema defines the structure of the Kafka message, ensuring the data conforms to a predefined format and enabling schema evolution strategies. +This Connector supports different schema strategies, offering a compact, fast, and binary data exchange format for Kafka messages. -For more detailed information on Kafka Avro serialization, you may refer to the [official Kafka documentation](https://kafka.apache.org/documentation/#serialization) and [official Apache Avro documentation](https://avro.apache.org/docs/). +When using a schema strategy, each message is serialized according to a specific schema written in JSON format. This schema defines the Kafka message structure, ensuring the data conforms to a predefined format, and enables schema evolution strategies. + +:::info + +To learn more about Schema strategies, refer to the official documentation: + +- [Inline Avro serialization](https://kafka.apache.org/documentation/#serialization) and [official Apache Avro documentation](https://avro.apache.org/docs/). +- [Confluent Schema Registry](https://docs.confluent.io/platform/current/schema-registry/index.html) (Avro, and JSON schemas). + +::: + +### No schema + +Select **No schema** to send messages without a schema. This option is suitable for simple messages that do not require a schema. + +### Inline schema + +Select **Inline schema** to send messages with an **Avro schema**. + +- This option is suitable for messages that require a schema and that are not (or do not need to be) registered in a schema registry. +- Enter the Avro schema that defines the message structure into the **Schema** field that appears in the **Message** section. + +### Schema registry + +Select **Schema registry** to send messages with a schema registered in a schema registry. + +- This option is suitable for messages that require a schema and that are registered in a [schema registry](https://docs.confluent.io/platform/current/schema-registry/index.html). +- You must provide: + - The **schema registry URL** in the **Kafka** section. + - The **schema** itself (that defines the message structure) in the **Message** section. + - The **credentials** for the schema registry (if required). Refer to the [Schema Registry documentation](https://docs.confluent.io/platform/current/schema-registry/sr-client-configs.html#basic-auth-credentials-source) for more information. ### Example Avro schema and data +The following is an example Avro schema and data: + #### Avro schema: ```json @@ -84,16 +142,16 @@ For more detailed information on Kafka Avro serialization, you may refer to the #### Kafka message -- **Key** : `employee1` -- **Value** : +- **Key**: `employee1` +- **Value**: -```json -{ - "name": "John Doe", - "age": 29, - "emails": ["johndoe@example.com"] -} -``` + ```json + { + "name": "John Doe", + "age": 29, + "emails": ["johndoe@example.com"] + } + ``` ## Kafka Producer Connector response @@ -101,25 +159,27 @@ The **Kafka Producer Connector** returns metadata for a record that has been ack The following fields are available in the `response` variable: -- `timestamp`: the timestamp of the message -- `offset`: message offset -- `partition`: message partition -- `topic`: topic name +- `timestamp`: The timestamp of the message. +- `offset`: The message offset. +- `partition`: The message partition. +- `topic`: The topic name. -You can read about these fields at the [official Kafka documentation page](https://kafka.apache.org/documentation/#intro_concepts_and_terms). +:::info +For more information on these fields, refer to the [official Kafka documentation](https://kafka.apache.org/documentation/#intro_concepts_and_terms). +::: You can use an output mapping to map the response: 1. Use **Result Variable** to store the response in a process variable. For example, `myResultVariable`. 2. Use **Result Expression** to map fields from the response into process variables. For example: -``` -= { - "messageAcknowledgedAt": response.timestamp -} -``` + ``` + = { + "messageAcknowledgedAt": response.timestamp + } + ``` -## Appendix & FAQ +## Appendix and FAQ ### What mechanism is used to authenticate against Kafka? @@ -131,39 +191,39 @@ security.protocol=SASL_SSL sasl.mechanism=PLAIN ``` -If any of the field is not populated, you have to configure your security method in respect to your Kafka configuration. You can do so via the field **Additional properties**. +If any of the fields are not populated, you must configure your security method for your Kafka configuration. You can do this using the **Additional properties** field. ### What are default Kafka Producer client properties? - Authentication properties (only if both **Username** and **Password** are not empty): -``` -sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; -security.protocol=SASL_SSL -sasl.mechanism=PLAIN -``` + ``` + sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + security.protocol=SASL_SSL + sasl.mechanism=PLAIN + ``` - Bootstrap server property: -``` -bootstrap.servers= -``` + ``` + bootstrap.servers= + ``` - Message properties: -``` -key.serializer=org.apache.kafka.common.serialization.StringSerializer -value.serializer=org.apache.kafka.common.serialization.StringSerializer -``` + ``` + key.serializer=org.apache.kafka.common.serialization.StringSerializer + value.serializer=org.apache.kafka.common.serialization.StringSerializer + ``` - Miscellaneous properties: -``` -session.timeout.ms=45000 -client.dns.lookup=use_all_dns_ips -acks=all -delivery.timeout.ms=45000 -``` + ``` + session.timeout.ms=45000 + client.dns.lookup=use_all_dns_ips + acks=all + delivery.timeout.ms=45000 + ``` ### What is the precedence of client properties loading? @@ -175,7 +235,7 @@ Properties loading consists of three steps: ### How do I set or override additional client properties? -The following example sets a new client property `client.id` and overrides SASL mechanism to SCRAM SHA-256 instead of plain text: +The following example sets a new client property `client.id` and overrides the SASL mechanism to `SCRAM SHA-256` instead of plain text: ``` = { @@ -188,12 +248,15 @@ The following example sets a new client property `client.id` and overrides SASL -The **Kafka Consumer Connector** allows you to consume messages by subscribing to [Kafka](https://kafka.apache.org/) topics and map them your BPMN processes as start or intermediate events. +The **Kafka Consumer Connector** allows you to consume messages by subscribing to [Kafka](https://kafka.apache.org/) topics and mapping them to your BPMN processes as start or intermediate events. ## Prerequisites -To use the **Kafka Consumer Connector**, you need to have a Kafka instance with configured bootstrap server. -Use Camunda secrets to avoid exposing your sensitive data as plain text. Follow our documentation on [managing secrets](/components/console/manage-clusters/manage-secrets.md) to learn more. +To use the **Kafka Consumer Connector**, you must have a Kafka instance with a configured bootstrap server. + +:::note +Use Camunda secrets to avoid exposing your sensitive data as plain text. To learn more, see [managing secrets](/components/console/manage-clusters/manage-secrets.md). +::: ## Create a Kafka Consumer Connector event @@ -209,36 +272,50 @@ To make your **Kafka Consumer Connector** executable, fill in the required prope ### Authentication -In the **Authentication** section, select the **Authentication type**. -If you selected **Credentials** as the **Authentication type**, set the username and password. Use Camunda secrets to avoid exposing sensitive data as plain text. Follow our documentation on [managing secrets](/components/console/manage-clusters/manage-secrets.md) to learn more. +In the **Authentication** section, select the **Authentication type**. If you selected **Credentials** as the **Authentication type**, set the username and password. -Refer to the relevant [appendix section](#what-mechanism-is-used-to-authenticate-against-kafka) to find more information about Kafka secure authentication. +:::note + +- Use Camunda secrets to avoid exposing your sensitive data as plain text. To learn more, see [managing secrets](/components/console/manage-clusters/manage-secrets.md). +- To learn more about Kafka authentication, see [Kafka secure authentication](#what-mechanism-is-used-to-authenticate-against-kafka-1). + +::: ### Kafka properties In the **Kafka** section, you can configure the following properties: -- **Serialization type**: Select the serialization type for your messages. Choose **Default (JSON)** for JSON serialization or **Avro (experimental)** for Avro serialization. If you select **Avro (experimental)**, input the schema that defines the message structure into the **Avro schema** field that appears below. [Read more about Kafka Avro serialization](#avro-serialization). -- **Bootstrap servers**: Set the URL of bootstrap server(s); comma-separated if more than one server is required. +- **Schema strategy**: Select the schema strategy for your messages. + - Select **No schema**, **Inline schema** for Avro serialization. + - Select **Schema registry** If you have a Confluent Schema Registry. +- **Bootstrap servers**: Set the URL of the bootstrap server(s). If more than one server is required, use comma-separated values. - **Topic**: Set the topic name. -- **Additional properties**: Fill out the field to set consumer configuration values. See the list of supported configurations in the [official Kafka documentation](https://kafka.apache.org/documentation/#consumerconfigs). Additionally, check preconfigured values for the **Kafka Consumer Connector** in the relevant [appendix section](#what-are-default-kafka-consumer-client-properties). +- **Additional properties**: Set producer configuration values. - **Offsets**: Set the offsets for the partition. The number of offsets specified should match the number of partitions on the current topic. - **Auto offset reset**: Set the strategy to use when there is no initial offset in Kafka or if the specified offsets do not exist on the server. +:::info + +The [appendix](#appendix-and-faq-1) provides more information about [pre-configured consumer configuration values](#what-are-default-kafka-consumer-client-properties) for this Connector. + +Additionally, to learn more about supported producer configurations, see the [official Kafka documentation](https://kafka.apache.org/documentation/#consumerconfigs). + +::: + #### Example Avro schema and data If the expected Kafka message looks like this: -- **Key** : `employee1` -- **Value** : +- **Key**: `employee1` +- **Value**: -```json -{ - "name": "John Doe", - "age": 29, - "emails": ["johndoe@example.com"] -} -``` + ```json + { + "name": "John Doe", + "age": 29, + "emails": ["johndoe@example.com"] + } + ``` The corresponding Avro schema to describe this message's structure would be: @@ -274,15 +351,16 @@ This schema defines a structure for a record that includes a name (string), an a **Activation condition** is an optional FEEL expression field that allows for the fine-tuning of the Connector activation. This condition filters if the process step triggers when a Kafka message is consumed. -For example, `=(value.itemId = "a4f6j2")` will only trigger the start event or continue the catch event if the Kafka message has a matching itemId in the incoming message payload. Leave this field empty to trigger your process every time. +For example, `=(value.itemId = "a4f6j2")` only triggers the start event or continues the catch event if the Kafka message has a matching itemId in the incoming message payload. Leave this field empty to trigger your process every time. :::warning -By default, **Kafka Consumer Connector** does not commit the offset if the message cannot be processed. This includes cases where the activation condition is not met. +By default, this Connector does not commit the offset if the message cannot be processed. This includes cases where the activation condition is not met. This means that if there is a message in the topic that cannot be processed due to an activation condition mismatch, the Kafka subscription will be stopped. -Follow the instruction below to configure this behavior. + +Follow the steps below to configure this behavior. ::: -To ignore messages that do not meet the activation condition and commit the offset, check the **Consume unmatched events** checkbox. +To ignore messages that do not meet the activation condition and commit the offset, select the **Consume unmatched events** checkbox. | **Consume unmatched events** checkbox | Activation condition | Outcome | | ------------------------------------- | -------------------- | ---------------------------------------------------- | @@ -304,14 +382,16 @@ The **Correlation** section is not applicable for the plain **start event** elem - **Correlation key (process)** is a FEEL expression that defines the correlation key for the subscription. This corresponds to the **Correlation key** property of a regular **message intermediate catch event**. - **Correlation key (payload)** is a FEEL expression used to extract the correlation key from the incoming message. This expression is evaluated in the Connector Runtime and the result is used to correlate the message. -For example, given that your correlation key is defined with `myCorrelationKey` process variable, and the incoming Kafka message contains `value:{correlationKey:myValue}`, your correlation key settings will look like this: +For example, given that your correlation key is defined with `myCorrelationKey` process variable, and the incoming Kafka message contains `value:{correlationKey:myValue}`, your correlation key settings would be as follows: - **Correlation key (process)**: `=myCorrelationKey` - **Correlation key (payload)**: `=value.correlationKey` You can also use the key of the message to accomplish this in the **Correlation key (payload)** field with `=key`. -Learn more about correlation keys in the [messages guide](../../../concepts/messages). +:::info +To learn more about correlation keys, see [messages](../../../concepts/messages). +::: #### Message ID expression @@ -319,7 +399,10 @@ The **Message ID expression** is an optional field that allows you to extract th This expression is evaluated in the Connector Runtime and the result is used to correlate the message. In most cases, it is not necessary to configure the **Message ID expression**. However, it is useful if you want to ensure message deduplication or achieve a certain message correlation behavior. -Learn more about how message IDs influence message correlation in the [messages guide](../../../concepts/messages#message-correlation-overview). + +:::info +To learn more about how message IDs influence message correlation, see [messages](../../../concepts/messages#message-correlation-overview). +::: For example, if you want to set the message ID to the value of the `transactionId` field in the incoming message, you can configure the **Message ID expression** as follows: @@ -335,11 +418,16 @@ The value is specified as an ISO 8601 duration. For example, `PT1H` sets the TTL ### Deduplication The **Deduplication** section allows you to configure the Connector deduplication parameters. -Not to be confused with **message deduplication**, **Connector deduplication** is a mechanism in the Connector Runtime that determines how many Kafka subscriptions are created if there are multiple occurrences of the **Kafka Consumer Connector** in the BPMN diagram. -By default, the Connector runtime deduplicates Connectors based on properties, so elements with the same subscription properties only result in one subscription. Learn more about deduplication in the [deduplication guide](../use-connectors/inbound.md#connector-deduplication). +**Connector deduplication** is a mechanism in the Connector Runtime that determines how many Kafka subscriptions are created if there are multiple occurrences of the **Kafka Consumer Connector** in the BPMN diagram. This is not to be confused with **message deduplication**. + +By default, the Connector runtime deduplicates Connectors based on properties, so that elements with the same subscription properties only result in one subscription. -To customize the deduplication behavior, check the **Manual mode** checkbox and configure the custom deduplication ID. +:::info +To learn more about deduplication, see [deduplication](../use-connectors/inbound.md#connector-deduplication). +::: + +To customize the deduplication behavior, select the **Manual mode** checkbox, and configure the custom deduplication ID. ### Output mapping @@ -366,11 +454,11 @@ You can use an output mapping to map the response: When you click the **Deploy** button, your Kafka Consumer is activated and starts consuming messages from the specified topic. -## Appendix & FAQ +## Appendix and FAQ ### What mechanism is used to authenticate against Kafka? -If you selected _Credentials_ as **Authentication type** and the fields **Username** and **Password** are not empty, by default the **Kafka Consumer Connector** enables the credentials-based SASL SSL authentication and the following properties are set: +If you selected _Credentials_ as the **Authentication type** and the fields **Username** and **Password** are not empty, by default the **Kafka Consumer Connector** enables the credentials-based SASL SSL authentication, and sets the following properties: ``` sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; @@ -378,40 +466,40 @@ security.protocol=SASL_SSL sasl.mechanism=PLAIN ``` -If any of the field is not populated, you must configure your security method in respect to your Kafka configuration. You can do so via the field **Additional properties**. +If any of the field is not populated, you must configure your security method for your Kafka configuration. You can do this using the **Additional properties** field. ### What are default Kafka Consumer client properties? - Authentication properties (only if both **Username** and **Password** are not empty): -``` -sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; -security.protocol=SASL_SSL -sasl.mechanism=PLAIN -``` + ``` + sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; + security.protocol=SASL_SSL + sasl.mechanism=PLAIN + ``` - Bootstrap server property: -``` -bootstrap.servers= -``` + ``` + bootstrap.servers= + ``` - Message properties: -``` -key.deserializer=org.apache.kafka.common.serialization.StringDeserializer -value.deserializer=org.apache.kafka.common.serialization.StringDeserializer -``` + ``` + key.deserializer=org.apache.kafka.common.serialization.StringDeserializer + value.deserializer=org.apache.kafka.common.serialization.StringDeserializer + ``` - Miscellaneous properties: -``` -session.timeout.ms=45000 -client.dns.lookup=use_all_dns_ips -acks=all -group.id=kafka-inbound-connector-{{bpmnProcessId}} -enable.auto.commit=false -``` + ``` + session.timeout.ms=45000 + client.dns.lookup=use_all_dns_ips + acks=all + group.id=kafka-inbound-connector-{{bpmnProcessId}} + enable.auto.commit=false + ``` ### What is the precedence of client properties loading? @@ -423,7 +511,7 @@ Properties loading consists of three steps: ### How is the message payload deserialized? -Kafka messages usually use JSON format, therefore we first try to deserialize it as a `JsonElement`. If this fails (e.g. because of wrong format) we use the `String` representation of the original raw value. For convenience, we always store the original raw value as `String` in a different attribute. +As Kafka messages usually use JSON format, we first try to deserialize it as a `JsonElement`. If this fails (for example, because of a wrong format) we use the `String` representation of the original raw value. For convenience, we always store the original raw value as `String` in a different attribute. The deserialized object structure: @@ -439,13 +527,13 @@ The deserialized object structure: The following outcomes are possible: -- If Connector execution is successful and **Activation condition** was met, the offset is committed. -- If **Activation condition** was not met, the offset is also committed to prevent consuming the same message twice. -- If Connector execution fails due to an unexpected error (e.g. Zeebe is unavailable), the offset is not committed. +- If the Connector execution is successful and the **Activation condition** was met, the offset is committed. +- If the **Activation condition** was not met, the offset is also committed to prevent consuming the same message twice. +- If the Connector execution fails due to an unexpected error (for example, Zeebe is unavailable), the offset is not committed. ### What lifecycle does the Kafka Consumer Connector have? -The Kafka Consumer Connector is a long-running Connector that is activated when the process is deployed and deactivated when the process is un-deployed or overwritten by a new version. +The Kafka Consumer Connector is a long-running Connector that is activated when the process is deployed, and deactivated when the process is undeployed or overwritten by a new version. diff --git a/docs/components/console/introduction-to-console.md b/docs/components/console/introduction-to-console.md index 082888e9cb9..4cad974a116 100644 --- a/docs/components/console/introduction-to-console.md +++ b/docs/components/console/introduction-to-console.md @@ -7,7 +7,7 @@ Camunda Console is the management application for the included products, such as Using Camunda Console, you can: -- [Create](./manage-clusters/create-cluster.md) and [delete](./manage-clusters/delete-cluster.md) clusters. +- [Create](./manage-clusters/create-cluster.md) and [delete](./manage-clusters/manage-cluster.md#delete-a-cluster) clusters. - [Manage API clients](./manage-clusters/manage-api-clients.md) to interact with [Zeebe](/components/zeebe/zeebe-overview.md) and [Tasklist](/components/tasklist/introduction-to-tasklist.md). - [Manage alerts](./manage-clusters/manage-alerts.md) to get notified when workflow errors occur. - [Manage IP allowlists](./manage-clusters/manage-ip-allowlists.md) to restrict access to clusters. diff --git a/docs/components/console/manage-clusters/create-cluster-include.md b/docs/components/console/manage-clusters/create-cluster-include.md index 5dcb6bd513d..b1ea0f9ced5 100644 --- a/docs/components/console/manage-clusters/create-cluster-include.md +++ b/docs/components/console/manage-clusters/create-cluster-include.md @@ -4,10 +4,18 @@ To deploy and run your process, you must create a cluster in Camunda 8. 1. To create a cluster, navigate to **Console**, click the **Clusters** tab, and click **Create new cluster**. -2. Name your cluster. For the purpose of this guide, we recommend using the **Stable** channel and the latest generation. Additionally, select your region. Click **Create cluster**. -3. Your cluster will take a few moments to create. Check the status on the **Clusters** page or by clicking into the cluster itself and looking at the **Applications** section. +1. Name your cluster. For the purpose of this guide, we recommend using the **Stable** channel and the latest generation. +1. Select your [region](/docs/reference/regions.md). +1. Select your [encryption at rest protection level](/docs/components/concepts/encryption-at-rest.md) (enterprise only). +1. Click **Create cluster**. +1. Your cluster will take a few moments to create. Check the status on the **Clusters** page or by clicking into the cluster itself and looking at the **Applications** section. -Even while the cluster shows a status **Creating**, you can still proceed to begin modeling. +:::note + +- If you haven't created a cluster yet, the **Clusters** page will be empty. +- Even while the cluster shows a status **Creating**, you can still proceed to begin modeling. + +::: ## Development clusters @@ -40,3 +48,7 @@ Users without **Admin** roles can deploy only on `dev`, `test`, or `stage` clust ![cluster-healthy](./img/cluster-overview-new-cluster-healthy.png) 3. After the cluster is created, click on the cluster name to visit the cluster detail page. + +:::note +**Cluster auto-pause** is not yet available and only applies to non-Enterprise clusters. Development clusters will be paused if they go unused for two hours. When a cluster is paused, not all functionality is limited. For example, you may still execute BPMN timers and BPMN message catch events. To resume your cluster, review [how to resume a cluster](/components/console/manage-clusters/manage-cluster.md#resume-a-cluster). +::: diff --git a/docs/components/console/manage-clusters/create-cluster.md b/docs/components/console/manage-clusters/create-cluster.md index c288914ce2f..add62f2c17f 100644 --- a/docs/components/console/manage-clusters/create-cluster.md +++ b/docs/components/console/manage-clusters/create-cluster.md @@ -4,8 +4,6 @@ title: Create a cluster description: "Let's take a closer look at creating clusters and viewing their details." --- -If you haven't created a cluster yet, the **Clusters** page will be empty. - import CreateCluster from './create-cluster-include.md' diff --git a/docs/components/console/manage-clusters/delete-cluster.md b/docs/components/console/manage-clusters/delete-cluster.md deleted file mode 100644 index 78e19573481..00000000000 --- a/docs/components/console/manage-clusters/delete-cluster.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: delete-cluster -title: Delete your cluster -description: "Follow these step-by-step instructions to remove your cluster permanently." ---- - -:::note -This action cannot be undone. -::: - -A cluster can be deleted at any time. To delete your cluster, navigate to the **Clusters** tab in the top navigation and click **Delete** to the far right of the cluster name. diff --git a/docs/components/console/manage-clusters/manage-cluster.md b/docs/components/console/manage-clusters/manage-cluster.md new file mode 100644 index 00000000000..d1bfb84d2fe --- /dev/null +++ b/docs/components/console/manage-clusters/manage-cluster.md @@ -0,0 +1,72 @@ +--- +id: manage-cluster +title: Manage your cluster +description: "Follow these steps to rename, resume, update, or delete your cluster." +--- + +Read through the following sections to rename, resume, update, or delete your cluster. + +## Rename a cluster + +A cluster can be renamed at any time. To rename your cluster, follow the steps below: + +1. Open the cluster details by clicking on the cluster name. +2. Select the three vertical dots next to the cluster name near the top of the page to open the cluster's menu. +3. Click **Rename**. + +![cluster-rename](./img/cluster-rename.png) + +## Resume a cluster + +:::note +**Cluster auto-pause** is not yet available and only applies to non-Enterprise clusters. Development clusters will be paused if they go unused for two hours. When a cluster is paused, not all functionality is limited. For example, you may still execute BPMN timers and BPMN message catch events. To learn more about automatic cluster pausing on Free Trial plan clusters, see [auto-pause](/components/concepts/clusters.md#auto-pause). +::: + +You can resume your paused cluster during deployment, or from the **Console** at any time. + +### Resume during deployment + +During deployment, you can resume the selected cluster if it is paused. + +![Resume a paused cluster during deployment](./img/cluster-resume-deploy.png) + +1. Select your paused cluster during deployment. +1. Select **Resume** in the paused cluster notification. + +### Resume from Console + +You can resume your paused cluster from the **Console** at any time. + +![Resume a paused cluster from the Console](./img/cluster-resume-console.png) + +1. Navigate to **Console**, and select the **Clusters** tab. +1. The cluster **Status** shows “Paused” if a cluster is paused. Select the cluster that you want to resume. +1. On the cluster **Overview** tab, select **Resume cluster** in the **Status** row of the **Cluster Details**. + +## Update a cluster + +:::note +This action cannot be undone. Updated clusters cannot be reverted to the previous version. +::: + +Clusters can be updated to new versions of Camunda 8 manually or automatically. + +Clusters eligible for updates will show a button on the UI. + +At this time, updates do not trigger backups, however, manual backups can be initiated through the Console Backups tab. + +### Update a cluster manually + +When an update is available, an **Update** button will appear. This button is not available for clusters enrolled in [automatic updates](/reference/auto-updates.md). + +### Automated cluster updates + +You can decide if you want to have [automated updates](/reference/auto-updates.md) to new versions of Camunda 8 activated. You can also toggle this feature anytime later in the **Settings** tab of your cluster. + +## Delete a cluster + +:::note +This action cannot be undone. +::: + +A cluster can be deleted at any time. To delete your cluster, navigate to the **Clusters** tab in the top navigation and click **Delete** to the far right of the cluster name. diff --git a/docs/components/console/manage-clusters/rename-cluster.md b/docs/components/console/manage-clusters/rename-cluster.md deleted file mode 100644 index acf57da70ab..00000000000 --- a/docs/components/console/manage-clusters/rename-cluster.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: rename-cluster -title: Rename your cluster -description: "Take these steps to rename your cluster." ---- - -A cluster can be renamed at any time. To rename your cluster, follow the steps below: - -1. Open the cluster details by clicking on the cluster name. -2. Select the three vertical dots next to the cluster name near the top of the page to open the cluster's menu. -3. Click **Rename**. - -![cluster-rename](./img/cluster-rename.png) diff --git a/docs/components/console/manage-clusters/resume-cluster.md b/docs/components/console/manage-clusters/resume-cluster.md deleted file mode 100644 index c0b70362c31..00000000000 --- a/docs/components/console/manage-clusters/resume-cluster.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -id: resume-cluster -title: Resume your cluster -description: "You can resume your paused cluster during deployment, or from the Console at any time." ---- - -You can resume your paused cluster during deployment, or from the **Console** at any time. - -- Resuming a cluster typically takes five to ten minutes. -- To learn more about automatic cluster pausing on Free Trial plan clusters, see [auto-pause](/components/concepts/clusters.md#auto-pause). - -## Resume during deployment - -During deployment, you can resume the selected cluster if it is paused. - -![Resume a paused cluster during deployment](./img/cluster-resume-deploy.png) - -1. Select your paused cluster during deployment. -1. Select **Resume** in the paused cluster notification. - -## Resume from Console - -You can resume your paused cluster from the **Console** at any time. - -![Resume a paused cluster from the Console](./img/cluster-resume-console.png) - -1. Navigate to **Console**, and select the **Clusters** tab. -1. The cluster **Status** shows “Paused” if a cluster is paused. Select the cluster that you want to resume. -1. On the cluster **Overview** tab, select **Resume cluster** in the **Status** row of the **Cluster Details**. diff --git a/docs/components/console/manage-clusters/settings.md b/docs/components/console/manage-clusters/settings.md index e16d4570014..3dfedeceed3 100644 --- a/docs/components/console/manage-clusters/settings.md +++ b/docs/components/console/manage-clusters/settings.md @@ -35,7 +35,7 @@ You can set the cluster to automatically update to newer versions of Camunda 8 w - Disable this setting if you do not want the cluster to automatically update. You must manually update the cluster. :::tip -For more information on updating clusters, see [update your cluster](/components/console/manage-clusters/update-cluster.md). +For more information on updating clusters, see [update your cluster](/components/console/manage-clusters/manage-cluster.md#update-a-cluster). ::: ## Enforce user task restrictions @@ -51,7 +51,7 @@ For more information on user task access restrictions, see [user task access res ## Delete this cluster -You can _permanently_ delete the selected cluster. See [delete your cluster](/components/console/manage-clusters/delete-cluster.md). +You can _permanently_ delete the selected cluster. See [delete your cluster](/components/console/manage-clusters/manage-cluster.md#delete-a-cluster). :::caution Deleting a cluster is permanent. You cannot reuse a cluster after it has been deleted. diff --git a/docs/components/console/manage-clusters/update-cluster.md b/docs/components/console/manage-clusters/update-cluster.md deleted file mode 100644 index 05d70761d89..00000000000 --- a/docs/components/console/manage-clusters/update-cluster.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -id: update-cluster -title: Update your cluster -description: "Gain access to the latest features and functionality by updating your cluster." ---- - -:::note -This action cannot be undone. Updated clusters cannot be reverted to the previous version. -::: - -Clusters can be updated to new versions of Camunda 8 manually or automatically. - -Clusters eligible for updates will show a button on the UI. - -At this time, updates do not trigger backups, however, manual backups can be initiated through the Console Backups tab. - -## Update a cluster manually - -When an update is available, an **Update** button will appear. This button is not available for clusters enrolled in [automatic updates](/reference/auto-updates.md). - -## Automated cluster updates - -You can decide if you want to have [automated updates](/reference/auto-updates.md) to new versions of Camunda 8 activated. You can also toggle this feature anytime later in the **Settings** tab of your cluster. diff --git a/docs/components/modeler/bpmn/business-rule-tasks/business-rule-tasks.md b/docs/components/modeler/bpmn/business-rule-tasks/business-rule-tasks.md index 9228ae7028a..6e3114634eb 100644 --- a/docs/components/modeler/bpmn/business-rule-tasks/business-rule-tasks.md +++ b/docs/components/modeler/bpmn/business-rule-tasks/business-rule-tasks.md @@ -44,15 +44,14 @@ a `string`. The `bindingType` attribute determines which version of the called decision is evaluated: -- `latest`: the latest deployed version at the moment the business rule task is activated. -- `deployment`: the version that was deployed together with the currently running version of the process. +- `latest`: The latest deployed version at the moment the business rule task is activated. +- `deployment`: The version that was deployed together with the currently running version of the process. +- `versionTag`: The latest deployed version that is annotated with the version tag specified in the `versionTag` attribute. To learn more about choosing binding types, see [Choosing the resource binding type](/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md). :::note - If the `bindingType` attribute is not specified, `latest` is used as the default. - ::: A business rule task must define the process variable name of the decision result as @@ -105,7 +104,17 @@ to transform the variables passed to the job worker, or to customize how the var ### XML representation -A business rule task with a called decision that uses `deployment` binding: +A business rule task with a called decision that does not specify the binding type (`latest` is used implicitly): + +```xml + + + + + +``` + +A business rule task with a called decision that uses the `deployment` binding type: ```xml @@ -116,6 +125,18 @@ A business rule task with a called decision that uses `deployment` binding: ``` +A business rule task with a called decision that uses the `versionTag` binding type: + +```xml + + + + + +``` + A business rule task with a job worker implementation and a custom header: ```xml diff --git a/docs/components/modeler/bpmn/call-activities/call-activities.md b/docs/components/modeler/bpmn/call-activities/call-activities.md index 7304637fdef..fca00892937 100644 --- a/docs/components/modeler/bpmn/call-activities/call-activities.md +++ b/docs/components/modeler/bpmn/call-activities/call-activities.md @@ -20,15 +20,14 @@ Usually, the `processId` is defined as a [static value](/components/concepts/exp The `bindingType` attribute determines which version of the called process is instantiated: -- `latest`: the latest deployed version at the moment the call activity is activated. -- `deployment`: the version that was deployed together with the currently running version of the calling process. +- `latest`: The latest deployed version at the moment the call activity is activated. +- `deployment`: The version that was deployed together with the currently running version of the calling process. +- `versionTag`: The latest deployed version that is annotated with the version tag specified in the `versionTag` attribute. To learn more about choosing binding types, see [Choosing the resource binding type](/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md). :::note - If the `bindingType` attribute is not specified, `latest` is used as the default. - ::: ## Boundary events @@ -61,13 +60,33 @@ By disabling this attribute, variables existing at higher scopes are no longer c ### XML representation -A call activity with static process id, propagation of all child variables turned on, and `deployment` binding: +A call activity with static process id, propagation of all child variables turned on, and no explicit binding type (`latest` is used implicitly): + +```xml + + + + + +``` + +A call activity with the `deployment` binding type: + +```xml + + + + + +``` + +A call activity with the `versionTag` binding type: ```xml - + ``` diff --git a/docs/components/modeler/bpmn/error-events/error-events.md b/docs/components/modeler/bpmn/error-events/error-events.md index 7870c0f2d72..08dacec7a0c 100644 --- a/docs/components/modeler/bpmn/error-events/error-events.md +++ b/docs/components/modeler/bpmn/error-events/error-events.md @@ -59,7 +59,7 @@ event or error event subprocess that caught the error is activated. ## Unhandled errors -When an error is thrown and not caught, an **incident** (i.e. `Unhandled error event`) is raised to indicate the failure. The incident is attached to the corresponding element where the error was thrown (i.e. the task of the processed job or the error end event). +When an error is thrown and not caught, an [**incident**](/components/concepts/incidents.md) (for example, `Unhandled error event`) is raised to indicate the failure. The incident is attached to the corresponding element where the error was thrown (that is, the task of the processed job or the error end event). When you resolve the incident attached to a task, it ignores the error, re-enables the job, and allows it to be activated and completed by a job worker once again. diff --git a/docs/components/modeler/bpmn/exclusive-gateways/exclusive-gateways.md b/docs/components/modeler/bpmn/exclusive-gateways/exclusive-gateways.md index 1db5ad6dba2..e084bd3c5fa 100644 --- a/docs/components/modeler/bpmn/exclusive-gateways/exclusive-gateways.md +++ b/docs/components/modeler/bpmn/exclusive-gateways/exclusive-gateways.md @@ -12,7 +12,7 @@ If an exclusive gateway has multiple outgoing sequence flows, all sequence flows When an exclusive gateway is entered, the `conditionExpression` is evaluated. The process instance takes the first sequence flow where the condition is fulfilled. -If no condition is fulfilled, it takes the **default flow** of the gateway. If the gateway has no default flow, an incident is created. +If no condition is fulfilled, it takes the **default flow** of the gateway. If the gateway has no default flow, an [incident](/components/concepts/incidents.md) is created. An exclusive gateway can also be used to join multiple incoming flows together and improve the readability of the BPMN. A joining gateway has a pass-through semantic and doesn't merge the incoming concurrent flows like a parallel gateway. diff --git a/docs/components/modeler/bpmn/inclusive-gateways/assets/inclusive-gateway-join.png b/docs/components/modeler/bpmn/inclusive-gateways/assets/inclusive-gateway-join.png new file mode 100644 index 00000000000..15e63ec8cc2 Binary files /dev/null and b/docs/components/modeler/bpmn/inclusive-gateways/assets/inclusive-gateway-join.png differ diff --git a/docs/components/modeler/bpmn/inclusive-gateways/inclusive-gateways.md b/docs/components/modeler/bpmn/inclusive-gateways/inclusive-gateways.md index bac2e804414..3f8f76ebc18 100644 --- a/docs/components/modeler/bpmn/inclusive-gateways/inclusive-gateways.md +++ b/docs/components/modeler/bpmn/inclusive-gateways/inclusive-gateways.md @@ -4,13 +4,7 @@ title: "Inclusive gateway" description: "An inclusive gateway (or OR-gateway) allows you to make multiple decisions based on data." --- -:::note - -Currently, Camunda 8 only supports the diverging (i.e. splitting, forking) inclusive gateway. It does not yet support the converging (i.e. merging, joining) inclusive gateway. A combination of parallel and exclusive gateways can be used as an alternative way to merge the flows. - -::: - -The inclusive gateway (or OR-gateway) allows for making multiple decisions based on data (i.e. on process instance variables). +The inclusive gateway (or OR-gateway) allows for making multiple decisions based on data, or process instance variables. Inclusive gateways can be diverging (a sequence flow is split into multiple paths) or converging (split paths are merged before continuing). ![A process model to prepare lunch at lunchtime can use an inclusive gateway to decide which steps to take to prepare the different lunch components, e.g. cook pasta,stir-fry steak, prepare salad, or any combination of these.](assets/inclusive-gateway.png) @@ -28,12 +22,21 @@ For example: Courses selected include `steak`, `pasta` and `salad`. ![An inclusive gateway has decided to take the steps to cook pasta, stir-fry steak, and prepare salad.](assets/inclusive-gateway-2.png) -If no condition is fulfilled, it takes the **default flow** of the gateway. Note that the default flow is not expected to have a condition, and is therefore not evaluated. If no condition is fulfilled and the gateway has no default flow, an incident is created. +If no condition is fulfilled, it takes the **default flow** of the gateway. Note that the default flow is not expected to have a condition, and is therefore not evaluated. If no condition is fulfilled and the gateway has no default flow, an [incident](/components/concepts/incidents.md) is created. For example: No courses selected then the default flow is taken. ![An inclusive gateway has decided to take the step to prepare salad as the default because none of the conditions were fulfilled.](assets/inclusive-gateway-default.png) +A converging inclusive gateway (also known as a merging or joining inclusive gateway) merges incoming paths before the sequence flow continues. A converging gateway is completed and merges incoming sequence flows if one of the following conditions is met: + +- All incoming sequence flows have been taken at least once. +- No path exists from any active flow node to the inclusive gateway (excluding incoming paths to the inclusive gateway that have already been taken). + +For example: Once all selected courses are complete, the table can be cleared. + +![An inclusive converging gateway waits until all incoming, executed sequence flows are completed before cleaning the table.](assets/inclusive-gateway-join.png) + ## Conditions A `conditionExpression` defines when a flow is taken. It is a [boolean expression](/components/modeler/feel/language-guide/feel-boolean-expressions.md) that can access the process instance variables and compare them with literals or other variables. The condition is fulfilled when the expression returns `true`. diff --git a/docs/components/modeler/bpmn/message-events/message-events.md b/docs/components/modeler/bpmn/message-events/message-events.md index c1614ad6272..9be8722db94 100644 --- a/docs/components/modeler/bpmn/message-events/message-events.md +++ b/docs/components/modeler/bpmn/message-events/message-events.md @@ -14,16 +14,29 @@ A process can have one or more message start events (besides other types of star When a process is deployed, it creates a message subscription for each message start event. Message subscriptions of the previous version of the process (based on the BPMN process id) are closed. +### Message correlation + When the message subscription is created, a message can be correlated to the start event if the message name matches. On correlating the message, a new process instance is created and the corresponding message start event is activated. Messages are **not** correlated if they were published before the process was deployed or if a new version of the process is deployed without a proper start event. -The `correlationKey` of a published message can be used to control the process instance creation. If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +The `correlationKey` of a published message can be used to control the process instance creation. -When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (i.e. TTL > 0), this message is correlated and a new instance of the latest version of the process is created. +- If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +- When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (that is, TTL > 0), this message is correlated and a new instance of the latest version of the process is created. If the `correlationKey` of a message is empty, it creates a new process instance and does not check if an instance is already active. +:::note + +You do not specify a `correlationKey` for a message start event in the BPMN model when designing a process. + +- When an application sends a message that is caught by a message start event, the application can specify a `correlationKey` in the message. +- If a message caught by a start event contains a `correlationKey` value, the created process is tagged with that `correlationKey` value. +- Follow-up messages are then checked against this `correlationKey` value (that is, is there an active process instance that was started by a message with the same `correlationKey`?). + +::: + ## Intermediate message catch events When an intermediate message catch event is entered, a corresponding message subscription is created. The process instance stops at this point and waits until the message is correlated. When a message is correlated, the catch event is completed and the process instance continues. diff --git a/docs/components/modeler/bpmn/user-tasks/user-tasks.md b/docs/components/modeler/bpmn/user-tasks/user-tasks.md index 9c82c79003f..e00ed2cf75a 100644 --- a/docs/components/modeler/bpmn/user-tasks/user-tasks.md +++ b/docs/components/modeler/bpmn/user-tasks/user-tasks.md @@ -117,19 +117,18 @@ Depending on your use case, two different types of form references can be used: 1. **Camunda Forms** provide a flexible way of linking a user task to a Camunda Form via the form ID. Forms linked this way can be deployed together with the referencing process models. To link a user task to a Camunda Form, you have to specify the ID of the Camunda Form as the `formId` attribute - of the task's `zeebe:formDefinition` extension element (see the [XML representation](#camunda-form-linked)). + of the task's `zeebe:formDefinition` extension element (see the [XML representation](#camunda-form)). The `bindingType` attribute determines which version of the linked form is used: - - `latest`: the latest deployed version at the moment the user task is activated. - - `deployment`: the version that was deployed together with the currently running version of the process. + - `latest`: The latest deployed version at the moment the user task is activated. + - `deployment`: The version that was deployed together with the currently running version of the process. + - `versionTag`: The latest deployed version that is annotated with the version tag specified in the `versionTag` attribute. To learn more about choosing binding types, see [Choosing the resource binding type](/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md). :::note - If the `bindingType` attribute is not specified, `latest` is used as the default. - ::: You can read more about Camunda Forms in the [Camunda Forms guide](/guides/utilizing-forms.md) or the [Camunda Forms reference](/components/modeler/forms/camunda-forms-reference.md) @@ -200,14 +199,39 @@ Zeebe user task-specific features are not available to those user tasks. #### Camunda Form -A user task with a linked Camunda Form (that uses `deployment` binding), an assignment definition, and a task schedule: +A user task with a linked Camunda Form that does not specify the binding type (`latest` is used implicitly) as well as an assignment definition and a task schedule: + +```xml + + + + + + + + +``` + +A user task with a linked Camunda Form that uses the `deployment` binding type: ```xml - - + + + +``` + +A user task with a linked Camunda Form that uses the `versionTag` binding type: + +```xml + + + diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png b/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png index 17c744a5a88..3f7dbbb7329 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png and b/docs/components/modeler/desktop-modeler/element-templates/img/chooser.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png b/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png index 2ba1849d1ea..efe55182bce 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png and b/docs/components/modeler/desktop-modeler/element-templates/img/entries-visible.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png b/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png index bd8c736707e..4f1f4caca2f 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png and b/docs/components/modeler/desktop-modeler/element-templates/img/field-dropdown.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/groups.png b/docs/components/modeler/desktop-modeler/element-templates/img/groups.png index 433c8458fc3..655d1064023 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/groups.png and b/docs/components/modeler/desktop-modeler/element-templates/img/groups.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/icons.png b/docs/components/modeler/desktop-modeler/element-templates/img/icons.png index ae8a3319541..f2915e63f88 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/icons.png and b/docs/components/modeler/desktop-modeler/element-templates/img/icons.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/modal.png b/docs/components/modeler/desktop-modeler/element-templates/img/modal.png index 987ee37e362..3c2ee1bd436 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/modal.png and b/docs/components/modeler/desktop-modeler/element-templates/img/modal.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/overview.png b/docs/components/modeler/desktop-modeler/element-templates/img/overview.png index 341afba258e..875826dfa79 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/overview.png and b/docs/components/modeler/desktop-modeler/element-templates/img/overview.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png b/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png index c8a976be724..9390046ea2a 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png and b/docs/components/modeler/desktop-modeler/element-templates/img/template-not-found.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png b/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png index 88153f76a43..1fdfc085ae0 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png and b/docs/components/modeler/desktop-modeler/element-templates/img/unlink-remove.png differ diff --git a/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png b/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png index 71a1be75143..01cb74d5371 100644 Binary files a/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png and b/docs/components/modeler/desktop-modeler/element-templates/img/update-template.png differ diff --git a/docs/components/modeler/desktop-modeler/flags/flags.md b/docs/components/modeler/desktop-modeler/flags/flags.md index 353d6f25eb2..be36b267b3f 100644 --- a/docs/components/modeler/desktop-modeler/flags/flags.md +++ b/docs/components/modeler/desktop-modeler/flags/flags.md @@ -4,6 +4,9 @@ title: Flags description: "Flags allow you to control the availability of certain features within Desktop Modeler." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + Flags allow you to control the availability of certain features within Desktop Modeler. Learn which flags [are available](#available-flags) and how to [configure them](#configuration). ## Configuration @@ -22,10 +25,39 @@ Place a `flags.json` file inside the `resources` folder of your local [`{USER_DA Pass flags via the command line when starting the application. + + + + +```plain +"Camunda Modeler.exe" --disable-plugins +``` + + + + + +```plain +camunda-modeler --disable-plugins ``` + + + + + +```plain camunda-modeler --disable-plugins ``` + + + Flags passed as command line arguments take precedence over those configured via a configuration file. ## Available flags diff --git a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png index d04a7fcfdec..01933cce86d 100644 Binary files a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png and b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-remember.png differ diff --git a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png index b2752dd326e..ee0710560a9 100644 Binary files a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png and b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud-success.png differ diff --git a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png index a56a541532b..d91a0981d1d 100644 Binary files a/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png and b/docs/components/modeler/desktop-modeler/img/deploy-diagram-camunda-cloud.png differ diff --git a/docs/components/modeler/desktop-modeler/img/element-configuration.png b/docs/components/modeler/desktop-modeler/img/element-configuration.png index 3530fdf5d8b..4c7dde4b4bd 100644 Binary files a/docs/components/modeler/desktop-modeler/img/element-configuration.png and b/docs/components/modeler/desktop-modeler/img/element-configuration.png differ diff --git a/docs/components/modeler/desktop-modeler/img/elements.png b/docs/components/modeler/desktop-modeler/img/elements.png index ebe16cf6066..30f4e2712c1 100644 Binary files a/docs/components/modeler/desktop-modeler/img/elements.png and b/docs/components/modeler/desktop-modeler/img/elements.png differ diff --git a/docs/components/modeler/desktop-modeler/img/empty.png b/docs/components/modeler/desktop-modeler/img/empty.png index b07a722506f..5ddc75fc564 100644 Binary files a/docs/components/modeler/desktop-modeler/img/empty.png and b/docs/components/modeler/desktop-modeler/img/empty.png differ diff --git a/docs/components/modeler/desktop-modeler/img/new-diagram.png b/docs/components/modeler/desktop-modeler/img/new-diagram.png index 271200a6252..e3f7c77299b 100644 Binary files a/docs/components/modeler/desktop-modeler/img/new-diagram.png and b/docs/components/modeler/desktop-modeler/img/new-diagram.png differ diff --git a/docs/components/modeler/desktop-modeler/img/properties-panel.png b/docs/components/modeler/desktop-modeler/img/properties-panel.png index e6c78e22af0..a44d967f2d3 100644 Binary files a/docs/components/modeler/desktop-modeler/img/properties-panel.png and b/docs/components/modeler/desktop-modeler/img/properties-panel.png differ diff --git a/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png b/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png index b5c48703331..2cb53fc17fb 100644 Binary files a/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png and b/docs/components/modeler/desktop-modeler/img/start-instance-step-1.png differ diff --git a/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png b/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png index 6ce00930f00..974cff13f16 100644 Binary files a/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png and b/docs/components/modeler/desktop-modeler/img/start-instance-step-2.png differ diff --git a/docs/components/modeler/desktop-modeler/img/start-instance-successful.png b/docs/components/modeler/desktop-modeler/img/start-instance-successful.png index 76d6e64c307..6704af8efbb 100644 Binary files a/docs/components/modeler/desktop-modeler/img/start-instance-successful.png and b/docs/components/modeler/desktop-modeler/img/start-instance-successful.png differ diff --git a/docs/components/modeler/desktop-modeler/troubleshooting.md b/docs/components/modeler/desktop-modeler/troubleshooting.md index fc4e1a1ba3d..e738a5aaef7 100644 --- a/docs/components/modeler/desktop-modeler/troubleshooting.md +++ b/docs/components/modeler/desktop-modeler/troubleshooting.md @@ -138,10 +138,39 @@ SSL-Session: You can also start Desktop Modeler with gRPC logging turned on to get detailed [logging output](#how-to-obtain-desktop-modeler-logs) on communication to Zeebe: -```sh + + + + +```plain +set DEBUG=* && set ZEEBE_NODE_LOG_LEVEL=DEBUG && set GRPC_VERBOSITY=DEBUG && set GRPC_TRACE=all && "Camunda Modeler.exe" +``` + + + + + +```plain DEBUG=* ZEEBE_NODE_LOG_LEVEL=DEBUG GRPC_VERBOSITY=DEBUG GRPC_TRACE=all camunda-modeler ``` + + + + +```plain +DEBUG=* ZEEBE_NODE_LOG_LEVEL=DEBUG GRPC_VERBOSITY=DEBUG GRPC_TRACE=all camunda-modeler +``` + + + + ## Other questions? Head over to the [Modeler category on the forum](https://forum.camunda.io/c/modeler/6) to receive help from the community. diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png index 9e1fc976b3d..7fb706e8562 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png b/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png index d1c4b48a6a3..2d787a157ce 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/called-element/wrong.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png index b82ae25e0f2..bba7c67ea7f 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png b/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png index 0d73c11c1f5..82ae6e47333 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/element-type/wrong.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png index 3f68a71e83c..ea53c299fd5 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png index 642b3c9366b..115a4d3af8f 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-code.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png index 83429fca860..b7ebf131000 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/error-reference/wrong-no-error-reference.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png index 5e6cfacc212..18ef0e45f20 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png index 8ca7e06d9de..5db823374aa 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-code.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png index 7335cfa6db5..b5c6d07737b 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/escalation-reference/wrong-no-escalation-reference.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png index a4ee3ffeb09..02447f79459 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/feel/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png b/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png index 84a72c648ce..078cd1d0ff7 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/feel/wrong.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png b/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png index c35faf2980f..e797fb03cc4 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/history-time-to-live/info.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png b/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png index fb4b2bb6e56..f25bdf1d5d4 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/right.png differ diff --git a/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png b/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png index 3b9d0bbd437..43f787a6bf6 100644 Binary files a/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png and b/docs/components/modeler/reference/modeling-guidance/rules/img/message-reference/wrong-no-message-reference.png differ diff --git a/docs/components/modeler/web-modeler/advanced-modeling/business-rule-task-linking.md b/docs/components/modeler/web-modeler/advanced-modeling/business-rule-task-linking.md index a204f0b6811..b6d1979352f 100644 --- a/docs/components/modeler/web-modeler/advanced-modeling/business-rule-task-linking.md +++ b/docs/components/modeler/web-modeler/advanced-modeling/business-rule-task-linking.md @@ -4,11 +4,13 @@ title: Business rule task linking description: Use one of the following approaches to link the DMN decision to be called by a business rule task. --- -You can use one of the following approaches to link the DMN decision to be called by a [business rule task](/components/modeler/bpmn/business-rule-tasks/business-rule-tasks.md). +import PropertiesPanelImg from './img/brt_properties-panel.png' + +You can use either of the following approaches to link the DMN decision to be called by a [business rule task](/components/modeler/bpmn/business-rule-tasks/business-rule-tasks.md). ## Using the link button -1. Select a business rule task from the canvas and a link icon will appear at the bottom right. +1. Select a business rule task from the canvas. A link icon appears at the bottom right. 2. Click the link icon and choose any decision from the same project. 3. Click **Link** to complete the linking process. In the properties panel, the value **DMN decision** is chosen for the **Implementation** property, and the Decision ID of the decision you chose to link is automatically copied to the **Called decision** section. @@ -22,9 +24,12 @@ For business rule tasks that are already linked, clicking on the link icon opens ## Using the properties panel -You may also enter the Decision ID directly in the **Called decision** section in the properties panel after selecting **DMN decision** for the **Implementation**. +You can also enter the Decision ID directly in the **Called decision** section in the properties panel after selecting **DMN decision** for the **Implementation**. + +- **Binding**: You can also select a different binding for the called decision. See [choosing the resource binding type](/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md). +- **Version tag**: If you select **version tag** for the binding, you must enter the actual version tag to use. -![overlay](img/brt_properties-panel.png) +

    called decision section in properties panel

    :::info Deploying a diagram does not automatically deploy linked diagrams. Ensure you deploy linked diagrams separately. diff --git a/docs/components/modeler/web-modeler/advanced-modeling/call-activity-linking.md b/docs/components/modeler/web-modeler/advanced-modeling/call-activity-linking.md index 1b2fd0b7582..0b1ba196d45 100644 --- a/docs/components/modeler/web-modeler/advanced-modeling/call-activity-linking.md +++ b/docs/components/modeler/web-modeler/advanced-modeling/call-activity-linking.md @@ -4,11 +4,13 @@ title: Call activity linking description: Use one of the following approaches to link the process to be called by a call activity. --- +import PropertiesPanelImg from './img/properties-panel.png' + You can use one of the following approaches to link the process to be called by a [call activity](/components/modeler/bpmn/call-activities/call-activities.md). ## Using the link button -1. Select a call activity task from the canvas and a link button will appear at the bottom right. +1. Select a call activity task from the canvas. A link button appears at the bottom right. 2. Click on the button and choose any diagram from the same project. 3. Click the **Link** button to complete the linking process. The process ID of the diagram you chose to link is automatically copied to the **Called element** section in the properties panel. @@ -20,9 +22,12 @@ For call activities that are already linked, clicking on the link button opens a ## Using the properties panel -You may also enter the process ID directly in the **Called element** section in the properties panel. +You can also enter the process ID directly in the **Called element** section in the properties panel. + +- **Binding**: You can also select a different binding for the called decision. See [choosing the resource binding type](/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md). +- **Version tag**: If you select **version tag** for the binding, you must enter the actual version tag to use. -![overlay](img/properties-panel.png) +

    called element section in properties panel

    :::info Deploying a diagram does not automatically deploy linked diagrams. Ensure you deploy linked diagrams separately. diff --git a/docs/components/modeler/web-modeler/advanced-modeling/form-linking.md b/docs/components/modeler/web-modeler/advanced-modeling/form-linking.md index 2ee3f09cf62..c7cf43464fe 100644 --- a/docs/components/modeler/web-modeler/advanced-modeling/form-linking.md +++ b/docs/components/modeler/web-modeler/advanced-modeling/form-linking.md @@ -6,6 +6,7 @@ description: Use one of the following approaches to link a form to a user task o import FormLinkOverlayImg from './img/utl_overlay.png'; import FormLinkOverlayLinkedImg from './img/utl_linked.png'; +import PropertiesPanelImg from './img/utl_properties-panel.png'; import IssueLinkedFormSolution01 from './img/linked_issue01.png'; import IssueLinkedFormSolution02 from './img/linked_issue02.png'; import IssueLinkedFormSolution03 from './img/linked_issue03.png'; @@ -24,12 +25,12 @@ By linking a Camunda Form to a start event, process instances can be started wit 3. Click the **Link** button to complete the linking process. In the properties panel, the value **Camunda Form (linked)** is chosen for the **Type** property, and the form ID of the form you chose to link is automatically copied to the **Form ID** section. -Linking a Camunda Form +

    Linking a Camunda Form

    For user tasks/start events that are already linked, clicking on the link button opens a dialog which shows a preview of the form the user task is linked to. It is possible to navigate to the linked form by clicking on it, or you can use the **Unlink** button to remove the link. -Linked Camunda Form preview +

    Linked Camunda Form preview

    ## Using the properties panel @@ -37,14 +38,19 @@ Using the properties panel, you can connect a form to a user task/start event vi ### Camunda Form (linked) -Choosing **Camunda Form (linked)** as type and entering form ID directly yields the same result as [using the link button on the modeling canvas](#using-the-link-button). +Choosing **Camunda Form (linked)** as the type and entering the form ID directly produces the same result as [using the link button on the modeling canvas](#using-the-link-button). -Using this type of linking is the recommended approach as it allows you to benefit from the form automatically being deployed along with the diagram. +- **Binding**: You can also select a different binding for the called decision. See [choosing the resource binding type](/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md). +- **Version tag**: If you select **version tag** for the binding, you must enter the actual version tag to use. + +

    form section in properties panel

    + +Using a linked form is the recommended approach as it allows you to benefit from the form automatically being deployed with the diagram. This means when deploying a BPMN diagram, Web Modeler will always deploy the latest version of all linked forms along with the diagram, so you do not have to manually re-link forms or [copy & paste JSON configuration](#camunda-form-embedded) when making changes. :::danger When deploying a diagram, Web Modeler will always deploy the latest version of all linked forms along with the diagram. -This means that if you reference the same Form ID within multiple BPMN diagrams, all diagrams will always use the latest version of the form regardless of which version was used when the diagram was initially deployed. +This means that if you reference the same Form ID within multiple BPMN diagrams, all diagrams will always use the latest version of the form regardless of which version was used when the diagram was initially deployed (unless you change the [binding type for a linked form](#camunda-form-linked)). ::: :::info diff --git a/docs/components/modeler/web-modeler/advanced-modeling/img/brt_properties-panel.png b/docs/components/modeler/web-modeler/advanced-modeling/img/brt_properties-panel.png index 6e9bd586a8f..88b14b93940 100644 Binary files a/docs/components/modeler/web-modeler/advanced-modeling/img/brt_properties-panel.png and b/docs/components/modeler/web-modeler/advanced-modeling/img/brt_properties-panel.png differ diff --git a/docs/components/modeler/web-modeler/advanced-modeling/img/properties-panel.png b/docs/components/modeler/web-modeler/advanced-modeling/img/properties-panel.png index f3e9080a7f3..d6e95a2bccf 100644 Binary files a/docs/components/modeler/web-modeler/advanced-modeling/img/properties-panel.png and b/docs/components/modeler/web-modeler/advanced-modeling/img/properties-panel.png differ diff --git a/docs/components/modeler/web-modeler/advanced-modeling/img/utl_properties-panel.png b/docs/components/modeler/web-modeler/advanced-modeling/img/utl_properties-panel.png new file mode 100644 index 00000000000..48a42b6fd4c Binary files /dev/null and b/docs/components/modeler/web-modeler/advanced-modeling/img/utl_properties-panel.png differ diff --git a/docs/components/modeler/web-modeler/collaboration.md b/docs/components/modeler/web-modeler/collaboration.md index 774724a9fd0..1d8175e5a24 100644 --- a/docs/components/modeler/web-modeler/collaboration.md +++ b/docs/components/modeler/web-modeler/collaboration.md @@ -167,6 +167,10 @@ Users without email addresses will not receive any kind of notification about be When others are opening the same diagram as you, the updates on the diagram are sent in real time. You can also note who is in the diagram with you. ![real time collaboration](img/real-time-collaboration.png) +### Undo/redo management limitations + +When collaborating with others on a diagram, you can only undo or redo your own actions until another collaborator makes a change, as the undo/redo history is reset each time another collaborator makes a change. + ### Draw other's attention Whether you are in a presentation or if others are in the same diagram as you are, use the attention grabber pointer to draw attention to a specific part of the diagram. To do this, take the following steps: diff --git a/docs/components/modeler/web-modeler/deploy-process-application.md b/docs/components/modeler/web-modeler/deploy-process-application.md index addecf2539b..e8181b831e1 100644 --- a/docs/components/modeler/web-modeler/deploy-process-application.md +++ b/docs/components/modeler/web-modeler/deploy-process-application.md @@ -17,9 +17,9 @@ To deploy your process application: 1. Open the [main process](create-a-process-application.md#main-process). 1. Select **Deploy** to open the **Deploy process application** modal.

    Deploy a process application

    -1. Turn on the toggle for the cluster stage you want to deploy to. +1. Turn on the toggle for the cluster stage you want to deploy to. In Self-Managed, you may be prompted to enter your cluster details manually if no [configuration](/self-managed/modeler/web-modeler/configuration/configuration.md#clusters) is provided. 1. Perform any other actions as required, such as: - - Unpausing the chosen cluster if it has been auto-paused. Select **Resume**. + - Unpausing the chosen cluster if it has been auto-paused. Select **Resume cluster** within the **Cluster Details**. - Managing the cluster. Select **Manage**. - [Defining the stages](process-application-pipeline.md#deployment-pipeline-stages) of your deployment pipeline. Select **Define stages**. 1. Select **Deploy** to deploy the process application to the selected cluster. diff --git a/docs/components/modeler/web-modeler/img/undo-redo.png b/docs/components/modeler/web-modeler/img/undo-redo.png new file mode 100644 index 00000000000..f7106647a7c Binary files /dev/null and b/docs/components/modeler/web-modeler/img/undo-redo.png differ diff --git a/docs/components/modeler/web-modeler/import-diagram.md b/docs/components/modeler/web-modeler/import-diagram.md index 41201206215..4c7f2154689 100644 --- a/docs/components/modeler/web-modeler/import-diagram.md +++ b/docs/components/modeler/web-modeler/import-diagram.md @@ -6,14 +6,18 @@ description: "You can import a BPMN or DMN diagram at any time with Web Modeler. Camunda 8 only -You can import a BPMN or DMN diagram at any time with Web Modeler, and there are several ways to accomplish this: +You can import a BPMN or DMN diagram into Web Modeler using several methods: - In a project, click **New > Upload files** and select the files from your computer. + ![import diagram](img/import-diagram/web-modeler-upload-file-menu-item.png) + ![import diagram](img/import-diagram/web-modeler-upload-file-choose.png) + ![import diagram](img/import-diagram/web-modeler-upload-file-completed.png) - In a project, drag one file from your computer and drop it. + ![import diagram](img/import-diagram/web-modeler-project-drag-and-drop.png) :::note @@ -22,8 +26,14 @@ For the two options below, the content of the diagram is replaced with the conte - In a diagram, open the breadcrumb menu and choose **Replace via upload**. Then, select a file from your computer. -![import diagram](img/import-diagram/web-modeler-replace-via-upload-menu-item.png) -![import diagram](img/import-diagram/web-modeler-replace-via-upload-choose.png) + ![import diagram](img/import-diagram/web-modeler-replace-via-upload-menu-item.png) + + ![import diagram](img/import-diagram/web-modeler-replace-via-upload-choose.png) - In a diagram, drag one file from your computer and drop it onto the canvas. + ![import diagram](img/import-diagram/web-modeler-diagram-replace-via-drag-and-drop.png) + +### Undo/redo management limitations + +You cannot undo or redo any actions taken before an import as the undo/redo history is cleared when a diagram is imported. This prevents inconsistencies between the imported diagram and any actions taken before the import. diff --git a/docs/components/modeler/web-modeler/launch-web-modeler.md b/docs/components/modeler/web-modeler/launch-web-modeler.md index c0118d4f2be..818f394ed8d 100644 --- a/docs/components/modeler/web-modeler/launch-web-modeler.md +++ b/docs/components/modeler/web-modeler/launch-web-modeler.md @@ -14,7 +14,7 @@ To launch Web Modeler, follow the steps below: 2. Select **Create new project** to create a new project and store diagrams. ![web modeler empty home](img/web-modeler-new-user-home.png) 3. Name your diagram. You can go back and change the name any time by clicking on the project name and **Edit name**. -4. Select **Browse blueprints** to view blueprints for various use cases as a starting point for your first diagram. Open these blueprints by selecting **Use Blueprint**. Alternatively, click **Create new > BPMN diagram** to create a blank BPMN diagrams. +4. Select **Browse blueprints** to view blueprints for various use cases as a starting point for your first diagram. Open these blueprints by selecting **Use Blueprint**. Alternatively, click **Create new > BPMN diagram** to create a blank BPMN diagram. ![web modeler blueprint browsing](img/web-modeler-blueprint.png) 5. While browsing blueprints, you can also open the details of a specific blueprint by selecting **More details**. This opens a new tab in the [Camunda Marketplace](/components/modeler/web-modeler/camunda-marketplace.md). Here, you can have a closer look at the diagram, and open it in SaaS or Self-Managed. diff --git a/docs/components/modeler/web-modeler/model-your-first-diagram.md b/docs/components/modeler/web-modeler/model-your-first-diagram.md index b3ef8ba4100..fb352db61f7 100644 --- a/docs/components/modeler/web-modeler/model-your-first-diagram.md +++ b/docs/components/modeler/web-modeler/model-your-first-diagram.md @@ -19,6 +19,14 @@ Elements supporting different types can be reconfigured by clicking on the corre ![task configuration](img/web-modeler-new-diagram-with-configuration.png) +To revert or reapply changes, you can use the **undo** and **redo** buttons located below the elements palette. + +![undo and redo buttons](img/undo-redo.png) + +:::info +See undo/redo management limitations when [Collaborating](./collaboration.md#undoredo-management-limitations) and [Importing](./import-diagram.md#undoredo-management-limitations). +::: + Use the canvas tools in the bottom right corner to interact with your diagram. 1. Zoom in. diff --git a/docs/components/modeler/web-modeler/play-your-process.md b/docs/components/modeler/web-modeler/play-your-process.md index 7a0109b2c2d..357c6c97fde 100644 --- a/docs/components/modeler/web-modeler/play-your-process.md +++ b/docs/components/modeler/web-modeler/play-your-process.md @@ -14,11 +14,9 @@ Play is a Zeebe-powered playground environment within Web Modeler for validating To use Play, open a BPMN diagram and click the **Play** tab. Read the [limitations and availability section](#limitations-and-availability) if this section is missing. -In Self-Managed, you will be prompted to provide the [details](#use-play-with-camunda-self-managed) of your cluster: +In Self-Managed, you are prompted to select from the clusters defined in your Web Modeler [configuration](/self-managed/modeler/web-modeler/configuration/configuration.md#clusters). The Camunda 8 Docker Compose distribution provides one cluster configured by default. If no configuration is found, you are prompted to [manually enter your cluster details](#use-play-with-camunda-self-managed). -![play cluster config](img/play-cluster-configuration.png) - -This starts a Play environment that utilizes your selected development cluster in SaaS, or the specified cluster in a Self-Managed setup. +A Play environment is then started that utilizes your selected development cluster in SaaS, or the specified cluster in a Self-Managed setup. The current version of the active process and all its dependencies, like called processes or DMN files, are automatically deployed to the Play environment. An error or warning is raised if a file fails to deploy, is missing, or a Connector secret isn’t filled out. @@ -149,14 +147,16 @@ Both offer monitoring of a single process instance, its variables and path, inci ## Limitations and availability -Play is being rebuilt and progressively rolled out to more users. This section explains why you might not see the **Play** tab, and any additional limitations. +This section explains why you might not see the **Play** tab, and any additional limitations. For more information about terms, refer to our [licensing and terms page](https://legal.camunda.com/licensing-and-other-legal-terms#c8-saas-trial-edition-and-free-tier-edition-terms). +Although Play is compatible with cluster versions 8.5.1 and above, we fully support and recommend using versions 8.6.0 or higher. + ### Camunda 8 SaaS -In Camunda 8 SaaS, Play is available to all Web Modeler users with editor or admin permissions within a project. -Enterprise users need an admin to enable Play by opting in to [alpha features](/components/console/manage-organization/enable-alpha-features.md). +In Camunda 8 SaaS, Play is available to all Web Modeler users with commenter, editor, or admin permissions within a project. +Additionally, within their organization, users need to have a [role](/components/console/manage-organization/manage-users.md#roles-and-permissions) which has deployment privileges. ### Camunda 8 Self-Managed @@ -170,27 +170,41 @@ Prior to the 8.6 release, Play can be accessed by installing the 8.6.0-alpha [He ### Features -[Decision table rule](/components/modeler/dmn/decision-table-rule.md) evaluations are not viewable from Play. However, they can be inferred from the output variable, or can be viewed from Operate. +- [Decision table rule](/components/modeler/dmn/decision-table-rule.md) evaluations are not viewable from Play. However, they can be inferred from the output variable, or can be viewed from Operate. +- Currently, Play supports displaying up to 100 flow node instances in the instance history panel, 100 variables in the variables panel, and 100 process instances on the process definition page. To access all related data, you can use Operate. +- While you can still interact with your process instance in Play (for example, completing jobs or publishing messages), you may be unable to resolve incidents if they occur beyond the 100th flow node instance, as Play does not track them. In this case, incident resolution can be managed in Operate. +- Play doesn't support elements defined using [FEEL expressions](/components/modeler/feel/what-is-feel.md), such as job types for service tasks, message correlation keys, and called elements in call activities. ## Use Play with Camunda Self-Managed -After selecting the **Play** tab in Self-Managed, you are prompted to provide the details of your cluster. +After selecting the **Play** tab in Self-Managed, you are prompted to select from the clusters defined in your Web Modeler [configuration](/self-managed/modeler/web-modeler/configuration/configuration.md#clusters). The Camunda 8 Docker Compose distribution provides one cluster configured by default. -See the table below for the requirement for each field, as well as an example value: +If no cluster is configured, Web Modeler requests the following cluster details to use for deployment: -| Name | Description | Example value | -| ----------------- | ----------------------------------------------- | --------------------------------------------------------------------------------- | -| Cluster endpoint | Address where your cluster can be reached | `http://zeebe:26500` | -| Operate base url | Address where Operate can be reached | `http://operate:8080` | -| Operate audience | Permission name for Operate | `operate-api` | -| Tasklist base url | Address where Tasklist can be reached | `http://tasklist:8080` | -| Tasklist audience | Permission name for Tasklist | `tasklist-api` | -| Zeebe rest url | Address where the Zeebe REST API can be reached | `http://zeebe:8080` | -| Client ID | Name of your registered client | `zeebe` | -| Client secret | Password for your registered client | `zecret` | -| OAuth token url | Token issuer server | `http://keycloak:8080/auth/realms/camunda-platform/protocol/openid-connect/token` | -| OAuth audience | Permission name for Zeebe | `zeebe-api` | +| Name | Description | Example value | +| ----------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------- | +| Cluster endpoint | Address where your cluster can be reached | `http://zeebe:26500` | +| Operate base url | Address where Operate can be reached | `http://operate:8080` | +| Operate audience | Permission name for Operate | `operate-api` | +| Tasklist base url | Address where Tasklist can be reached | `http://tasklist:8080` | +| Tasklist audience | Permission name for Tasklist | `tasklist-api` | +| Zeebe rest url | Address where the Zeebe REST API can be reached | `http://zeebe:8080` | +| Client ID | Name of your registered client | `zeebe` | +| Client secret | Password for your registered client | `zecret` | +| OAuth token url | Token issuer server | `http://keycloak:18080/auth/realms/camunda-platform/protocol/openid-connect/token` | +| OAuth audience | Permission name for Zeebe | `zeebe-api` | ### Limitations -The environment variables `CAMUNDA_CUSTOM_CERT_CHAIN_PATH`, `CAMUNDA_CUSTOM_PRIVATE_KEY_PATH`, `CAMUNDA_CUSTOM_ROOT_CERT_PATH`, and `CAMUNDA_CUSTOM_ROOT_CERT_STRING` can be set in Docker or Helm chart setups. However, these configurations have not been tested with Play's behavior and, therefore, are not supported when used with Play. +- The environment variables `CAMUNDA_CUSTOM_CERT_CHAIN_PATH`, `CAMUNDA_CUSTOM_PRIVATE_KEY_PATH`, `CAMUNDA_CUSTOM_ROOT_CERT_PATH`, and `CAMUNDA_CUSTOM_ROOT_CERT_STRING` can be set in Docker or Helm chart setups. However, these configurations have not been tested with Play's behavior, and therefore are not supported when used with Play. +- Play cannot check the presence of Connector secrets in Self-Managed setups. + If a secret is missing, Play will show an incident at runtime. + Learn more about [configuring Connector secrets](/self-managed/connectors-deployment/connectors-configuration.md/#secrets). + +## Play Usage and Billing Considerations + +The use of Play may result in additional charges depending on your organization's plan and the type of cluster you are using. To avoid extra costs, follow these guidelines based on your plan: + +- **Enterprise Plans:** Use a [development cluster](/components/concepts/clusters.md#development-clusters-in-the-enterprise-plan) to avoid costs. Alternatively, ensure your organization is designated as a development organization. For further assistance, contact your Customer Success Manager. +- **Starter/Professional Plans:** Use a [development cluster](/components/concepts/clusters.md#development-clusters-in-the-starter-plan) to avoid costs. Starter Plan users have one development cluster with free execution for development included in their plan. For Professional Plans, you may need to purchase a development cluster. +- **Trial Plans:** You can use any cluster. diff --git a/docs/components/modeler/web-modeler/run-or-publish-your-process.md b/docs/components/modeler/web-modeler/run-or-publish-your-process.md index 41e21d90da5..82233c6ada1 100644 --- a/docs/components/modeler/web-modeler/run-or-publish-your-process.md +++ b/docs/components/modeler/web-modeler/run-or-publish-your-process.md @@ -37,10 +37,13 @@ To deploy, click **Deploy** in the upper right corner of the modeling screen: ![The deploy dialog of a BPMN diagram](img/web-modeler-deploy.png) +In Self-Managed, you can deploy your diagram to the cluster defined in your Web Modeler [configuration](/self-managed/modeler/web-modeler/configuration/configuration.md#clusters). If no configuration is found, you are prompted to manually enter your cluster details. + ### Before deploying a process - Make sure your process is free of errors, otherwise it can't be deployed. Use the [problems panel to detect and fix errors](./fix-problems-in-your-diagram.md). - Make sure all dependent files are deployed first, such as DMN diagrams, forms, or called processes. You can use the [link tool](./advanced-modeling/call-activity-linking.md) to drill-down into linked resources and deploy them. + If you are using [`versionTag` binding](/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md) for a linked resource, make sure it is deployed with the correct version tag. :::tip Consider using a [process application](process-applications.md) that allows you to deploy a process and all dependent files together in a single bundle. ::: diff --git a/docs/guides/migrating-from-camunda-7/adjusting-bpmn-models.md b/docs/guides/migrating-from-camunda-7/adjusting-bpmn-models.md index c2c38cd4422..08c4f1b36e3 100644 --- a/docs/guides/migrating-from-camunda-7/adjusting-bpmn-models.md +++ b/docs/guides/migrating-from-camunda-7/adjusting-bpmn-models.md @@ -28,6 +28,12 @@ The following attributes/elements **cannot** be migrated: - `camunda:jobPriority`: There is no way to prioritize jobs in Zeebe (yet). - `camunda:failedJobRetryTimeCycle`: You cannot yet configure the retry time cycle. Alternatively, you can [modify your code](/apis-tools/zeebe-api/gateway-service.md#input-failjobrequest) to use the `retryBackOff` timeout (in ms) for the next retry. +### Processes + +The following attribute can be migrated: + +- `camunda:versionTag` to `bpmn:extensionElements > zeebe:versionTag value` + ### Service tasks :::note @@ -116,7 +122,7 @@ The following attributes/elements can be migrated: - `camunda:formRef` to `zeebe:formDefinition formId` - `camunda:formRefBinding` to `zeebe:formDefinition bindingType` :::note - Camunda 8 only supports the `deployment` and `latest` binding types for user task forms. + Camunda 8 only supports the `latest`, `deployment`, and `versionTag` [binding types](/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md) for user task forms. ::: The following attributes/elements **cannot** yet be migrated: @@ -140,12 +146,13 @@ The following attributes/elements can be migrated: - `camunda:resultVariable` to `zeebe:calledDecision resultVariable` - `camunda:decisionRefBinding` to `zeebe:calledDecision bindingType` :::note - Camunda 8 only supports the `deployment` and `latest` binding types for business rule tasks. + Camunda 8 only supports the `latest`, `deployment`, and `versionTag` [binding types](/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md) for business rule tasks. ::: +- `camunda:decisionRefVersionTag` to `zeebe:calledDecision versionTag` The following attributes are **not** yet supported: -- `camunda:decisionRefVersion` and `camunda:decisionRefVersionTag` +- `camunda:decisionRefVersion` - `camunda:mapDecisionResult` (no mapping happens) - `camunda:decisionRefTenantId` @@ -160,15 +167,16 @@ Call activities are generally supported in Zeebe. The following attributes/eleme - `camunda:calledElement` to `zeebe:calledElement processId` - `camunda:calledElementBinding` to `zeebe:calledElement bindingType` :::note - Camunda 8 only supports the `deployment` and `latest` binding types for call activities. + Camunda 8 only supports the `latest`, `deployment`, and `versionTag` [binding types](/docs/components/best-practices/modeling/choosing-the-resource-binding-type.md) for call activities. ::: +- `camunda:calledElementVersionTag` to `zeebe:calledElement versionTag` - Data mapping - `camunda:in` to `zeebe:input` - `camunda:out` to `zeebe:output` The following attributes/elements **cannot** be migrated: -- `camunda:calledElementVersion` and `camunda:calledElementVersionTag` +- `camunda:calledElementVersion`: Zeebe does not support the `version` binding type. - `camunda:variableMappingClass`: You cannot execute code to do variable mapping in Zeebe. - `camunda:variableMappingDelegateExpression`: You cannot execute code to do variable mapping in Zeebe. diff --git a/docs/guides/migrating-from-camunda-7/adjusting-dmn-models.md b/docs/guides/migrating-from-camunda-7/adjusting-dmn-models.md index cfdfba9abec..edaabd029ea 100644 --- a/docs/guides/migrating-from-camunda-7/adjusting-dmn-models.md +++ b/docs/guides/migrating-from-camunda-7/adjusting-dmn-models.md @@ -16,9 +16,10 @@ To evaluate Camunda 7 DMN files in Camunda 8, change the following in the XML: Web Modeler will automatically update `modeler:executionPlatform` and `modeler:executionPlatformVersion` to the correct values when you upload a DMN file. ::: +### General considerations + The following elements/attributes are **not** supported in Camunda 8: -- `Version Tag` - `History Time to Live` - You cannot select the `Expression Language`, only FEEL is supported - The property `Input Variable` is removed. In FEEL, the input value can be accessed by using `?` if needed. @@ -26,3 +27,9 @@ The following elements/attributes are **not** supported in Camunda 8: Furthermore, legacy behavior can still be executed but the following should be kept in mind: - Remove data types `integer` + `long` + `double` in favor of `number` for inputs and outputs (in FEEL, there is only a number type represented as `BigDecimal`). + +### Decisions + +The following attribute can be migrated: + +- `camunda:versionTag` to `extensionElements > zeebe:versionTag value` diff --git a/docs/guides/react-components/install-c8run.md b/docs/guides/react-components/install-c8run.md new file mode 100644 index 00000000000..6908151a8cf --- /dev/null +++ b/docs/guides/react-components/install-c8run.md @@ -0,0 +1,26 @@ +-- + +## Prerequisites + +- OpenJDK 21+ +- [Desktop Modeler](/components/modeler/desktop-modeler/install-the-modeler.md) + +:::note +After installing OpenJDK, ensure `JAVA_HOME` is set by running `java -version` in a **new** terminal. + +If no version of Java is found, follow your chosen installation's instructions for setting `JAVA_HOME` before continuing. +::: + +## Install and start Camunda 8 Run + +1. Download the [latest release of Camunda 8 Run](https://github.com/camunda/camunda/releases/tag/c8run-8.6.0-alpha5) for your operating system and architecture. Opening the .tgz file extracts the Camunda 8 Run script into a new directory. +2. Navigate to the new `c8run` directory. +3. Start Camunda 8 Run by running `./start.sh` (or `.\c8run.exe start` on Windows) in your terminal. + +When successful, a new Operate window automatically opens. + +:::note +If Camunda 8 Run fails to start, run the [shutdown script](/self-managed/setup/deploy/local/c8run.md/#shut-down-camunda-8-run) to end the current processes, then run the start script again. +::: + +For more information and local configuration options, see the [Camunda 8 Run distribution guide](/self-managed/setup/deploy/local/c8run.md). diff --git a/docs/guides/utilizing-forms.md b/docs/guides/utilizing-forms.md index aab2ac4fb97..419eddc11ef 100644 --- a/docs/guides/utilizing-forms.md +++ b/docs/guides/utilizing-forms.md @@ -83,7 +83,7 @@ You can now monitor your instances in [Operate](../components/operate/operate-in :::info Linked Camunda Forms will automatically be deployed along with the diagram. -As linked forms are always resolved to their latest version, make sure you don't accidentally deploy a diagram. +As linked forms are resolved to their latest version (unless you change the [binding type](/components/modeler/web-modeler/advanced-modeling/form-linking.md#camunda-form-linked)), make sure you don't accidentally deploy a diagram. When deploying to a Camunda 8 cluster with a version lower than 8.4, forms linked to user tasks or none start events will be automatically embedded into the user task to guarantee backwards compatibility. Read more about the different ways to reference Camunda Forms in the [user task forms reference](/components/modeler/bpmn/user-tasks/user-tasks.md#user-task-forms). diff --git a/docs/reference/alpha-features.md b/docs/reference/alpha-features.md index bcb723daee4..8a65e9ee0fa 100644 --- a/docs/reference/alpha-features.md +++ b/docs/reference/alpha-features.md @@ -5,43 +5,49 @@ sidebar_label: Alpha features description: "Use alpha features to learn about upcoming changes, try them out, and share feedback." --- -Use alpha features to learn about upcoming changes, try them out, and share feedback. +You can use alpha features to learn about upcoming changes, try them out, and share feedback. -### Alpha +:::info +To understand the difference between an alpha feature and an alpha release, see [alpha features and releases](release-policy.md#alpha-features-and-releases). +::: + +## Alpha -Selected Camunda features and components are released as alpha versions. We release them in an early state for you to test and participate in development by sharing your feedback before they reach general availability (GA). +Selected Camunda features and components are released as **alpha** versions. We release these in an early state for you to test and participate in development by sharing your feedback before they reach [general availability (GA)](#general-availability-ga). -Characteristics of alpha features and components include: +Limitations of alpha features and components include: - Not for production use. - APIs, dependencies, and configuration are likely to change. - Not necessarily feature-complete. - Might lack full documentation. - No guaranteed updates to newer releases. -- Support based on SLAs agreed with you, but bugs are treated with the same priority as feature or help requests. +- Support based on SLAs agreed with you, but bugs are treated with the same priority as feature or help requests. See [Camunda Enterprise Support Guide](https://docs.camunda.org/enterprise/support/). - No maintenance service. - (SaaS) No availability targets. -- Released outside the standard [release policy](/reference/release-policy.md). +- Released outside the standard [release policy](release-policy.md). + +To learn more about using alpha features, see [enabling alpha features](/components/console/manage-organization/enable-alpha-features.md). :::note -While there is no maintenance service, customers can still provide feedback through designated support channels, depending on their SLAs. These channels include filing issues in the respective [GitHub repositories](https://github.com/camunda) and by submitting questions and suggestions by [contacting us](/contact). +- Alpha features can also be included in a minor version (stable) release. +- Although there is no maintenance service, customers can still provide feedback through designated support channels, depending on their SLAs. These channels include filing issues in the respective [GitHub repositories](https://github.com/camunda) and submitting questions and suggestions by [contacting us](/contact). ::: -Visit our documentation on [enabling alpha features](/components/console/manage-organization/enable-alpha-features.md) to learn more. - -### General availability (GA) +## General availability (GA) Once features and components are released and considered stable, they become generally available. -Characteristics include: +Stable features and components are: -- Allowed for production use. -- Fully documented and supported. +- Ready for production use for most users with minimal risk. +- Supported by [L1 Priority-level support](https://docs.camunda.org/enterprise/support/#priority-level) for production use. +- Fully documented. -:::note - -There are also alpha releases with **limited availability**, such as features that are only available to enterprise customers. +A release or component is considered stable if it has passed all verification and test stages and can be released to production. +:::note +Alpha releases can also have **limited availability**, such as features that are only available to enterprise customers. ::: diff --git a/docs/reference/announcements.md b/docs/reference/announcements.md index 2c1424e8b01..cd05d257d93 100644 --- a/docs/reference/announcements.md +++ b/docs/reference/announcements.md @@ -50,10 +50,14 @@ The Zeebe Java client will not be developed further and will only receive bug fi - **Artifact ID change**: - The `artifactId` will change from `zeebe-client-java` to `camunda-client-java`. +### Deprecation: Zeebe Go client & zbctl + +The Zeebe Go Client and zbctl will be officially deprecated with the 8.6 release as part of our efforts to streamline the Camunda 8 API experience. This client and CLI utility will not be released with Camunda 8.6, will no longer receive new features, and will be transitioned to a community-maintained status. + ### Camunda 8 SaaS - Required cluster update :::caution -By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be [updated](/components/console/manage-clusters/update-cluster.md) to the following versions at a **minimum**: +By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be [updated](/components/console/manage-clusters/manage-cluster.md#update-a-cluster) to the following versions at a **minimum**: - **8.2+gen27** - **8.3+gen11** @@ -64,7 +68,7 @@ By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be [upda auth0 announced an End-Of-Life for one of the functionalities that is being utilized by previous automation clusters. The new versions are not using this functionality anymore. This update ensures your cluster will work seamlessly after auth0 deactivates the feature in production. -You minimally need to take the following [update](/components/console/manage-clusters/update-cluster.md) path: +You minimally need to take the following [update](/components/console/manage-clusters/manage-cluster.md#update-a-cluster) path: - 8.0.x -> 8.2+gen27 - 8.1.x -> 8.2+gen27 @@ -77,23 +81,6 @@ If you do not update the cluster by August 30th 2024, we will update the cluster Camunda 8 Self-Managed clusters are not affected by this. -### Zeebe repo rename impacts Go client - -The Camunda 8 Github repository was renamed from `http://github.com/camunda/zeebe` to `http://github.com/camunda/camunda`, impacting the Zeebe Go client path. - -Starting in 8.6.0, the Zeebe Go client path should reflect the renamed repo as follows: - -```go - -module example.com/mymodule - -require ( - github.com/camunda/camunda/clients/go/v8 v8.x.y - ... -) - -``` - ### Supported environment changes (OpenJDK, ElasticSearch, Amazon OpenSearch) Version changes are made to supported environments: @@ -115,16 +102,69 @@ The `CorrelationResult` record has been changed compared to the previous version An example of how to use the new `CorrelationResult` can be found in the [Connector SDK documentation](/components/connectors/custom-built-connectors/connector-sdk.md#inbound-connector-runtime-logic). +### Flow control enabled by default in Saas + +Flow control is now enabled by default in Camunda 8.6 SaaS. This change ensures the cluster is protected from excessive load and can maintain a stable state. + +These new configuration defaults are tailored to the cluster size and optimized for a stable performance. However, the cluster might reject requests if the load is too high with this change. The error message for this is `Failed to write client request to partition X, because the write limit is exhausted`. If the error persists, this may be a sign of underlining issues, or a need to adjust the cluster size. + +For more information on how to configure flow control, visit the [flow control documentation](/self-managed/operational-guides/configure-flow-control/configure-flow-control.md). + ### Camunda 8 Self-Managed #### Helm chart - Separated Ingress deprecation The separated Ingress Helm configuration for Camunda 8 Self-Managed has been deprecated in 8.6, and will be removed from the Helm chart in 8.7. Only the combined Ingress configuration is officially supported. See the [Ingress guide](/self-managed/setup/guides/ingress-setup.md) for more information on configuring a combined Ingress setup. +#### Helm chart - `global.multiregion.installationType` deprecation + +The `global.multiregion.installationType` option is used in failover and failback scenarios. This option in the Helm chart has been deprecated in 8.6, and will be removed from the Helm chart in 8.7. `global.multiregion.installationType` was replaced with a set of API endpoints called while following the ([dual-region operational procedure](/self-managed/operational-guides/multi-region/dual-region-ops.md)) + #### Helm chart - Elasticsearch nodes number The default value of Elasticsearch deployment pods has changed from 2 to 3, and an affinity setting has been added to avoid scheduling Elasticsearch pods on the same Kubernetes worker. +### Camunda Optimize artifact and Docker tag separation + +Starting with Camunda 8.6, the Camunda Optimize artifact has been split into two distinct versions, and versioning between Camunda 7 and Camunda 8 is no longer interchangeable: + +- **Before Camunda 8.6**: Versions like `8.x` and `3.x` (used for Camunda 7) could sometimes be used interchangeably. +- **From Camunda 8.6 onwards**: `8.6 != 3.14`. Each version corresponds strictly to its platform: + - **Camunda 7**: Uses the `3.x` versioning scheme and the `latest` Docker tag. + - **Camunda 8**: Uses the `8.x` versioning scheme and the `8-latest` Docker tag. + +#### Action required: + +- **Camunda 7 Users**: Continue using `3.x` versions and the `latest` Docker tag. +- **Camunda 8 Users**: If you haven't already done so, update your configurations to use `8.x` versions and the `8-latest` Docker tag. + +Make sure to update your Docker configurations accordingly to ensure compatibility. + +### New base path for Operate and Tasklist web applications + +We are introducing a new base path for both the Operate and Tasklist **web applications**. This change applies to both Self-Managed and SaaS environments. + +#### For Self-Managed + +- The new base path for Operate is `/operate`, and for Tasklist, it is `/tasklist`. +- For a [Separated Ingress](/self-managed/setup/guides/ingress-setup.md?ingress=separated) configuration: + - for Operate, the full URL will be `{operate-host}/operate`. Any calls to `{operate-host}` will automatically be redirected to `{operate-host}/operate` + - for Tasklist, the full URL will be `{tasklist-host}/tasklist`. Any calls to `{tasklist-host}` will automatically be redirected to `{tasklist-host}/tasklist`. +- For a [Combined Ingress](/self-managed/setup/guides/ingress-setup.md?ingress=combined) configuration: + - for Operate, the full URL will be `{common-host}/{operate-contextPath}/operate`. Any calls to `{common-host}/{operate-contextPath}` will be automatically redirected to `{common-host}/{operate-contextPath}/operate`. + - for Tasklist, the full URL will be `{common-host}/{tasklist-contextPath}/tasklist`. Any calls to `{common-host}/{tasklist-contextPath}` will be automatically redirected to `{common-host}/{tasklist-contextPath}/tasklist`. + +#### For SaaS + +- The full URL for Operate is now structured as `https://{region}.operate.camunda.io/{clusterId}/operate`. +- The full URL for Tasklist is now structured as `https://{region}.tasklist.camunda.io/{clusterId}/tasklist`. +- Any calls to `https://{region}.operate.camunda.io/{clusterId}` will be redirected to `https://{region}.operate.camunda.io/{clusterId}/operate`. +- Any calls to `https://{region}.tasklist.camunda.io/{clusterId}` will be redirected to `https://{region}.tasklist.camunda.io/{clusterId}/tasklist`. + +:::note +**API URLs** for both Operate and Tasklist remain **unchanged**. +::: + ## Camunda 8.5 Release date: 9th of April 2024 diff --git a/docs/reference/dependencies.md b/docs/reference/dependencies.md index 6ad80b858ec..34a7227f5b7 100644 --- a/docs/reference/dependencies.md +++ b/docs/reference/dependencies.md @@ -1506,6 +1506,1086 @@ All of these libraries are required for core functionality. + + + + +### Optimize Dependencies (Front end) + +- [@adobe/css-tools@4.3.3](https://github.com/adobe/css-tools) (MIT) +- [@ampproject/remapping@2.3.0](https://github.com/ampproject/remapping) (Apache-2.0) +- [@babel/code-frame@7.22.13](https://babel.dev/team) (MIT) +- [@babel/code-frame@7.24.2](https://babel.dev/team) (MIT) +- [@babel/code-frame@7.24.7](https://babel.dev/team) (MIT) +- [@babel/compat-data@7.25.2](https://babel.dev/team) (MIT) +- [@babel/core@7.23.2](https://babel.dev/team) (MIT) +- [@babel/core@7.25.2](https://babel.dev/team) (MIT) +- [@babel/generator@7.23.0](https://babel.dev/team) (MIT) +- [@babel/generator@7.23.3](https://babel.dev/team) (MIT) +- [@babel/generator@7.24.4](https://babel.dev/team) (MIT) +- [@babel/generator@7.25.0](https://babel.dev/team) (MIT) +- [@babel/helper-compilation-targets@7.23.6](https://babel.dev/team) (MIT) +- [@babel/helper-compilation-targets@7.25.2](https://babel.dev/team) (MIT) +- [@babel/helper-environment-visitor@7.24.7](https://babel.dev/team) (MIT) +- [@babel/helper-function-name@7.24.7](https://babel.dev/team) (MIT) +- [@babel/helper-hoist-variables@7.24.7](https://babel.dev/team) (MIT) +- [@babel/helper-module-imports@7.24.7](https://babel.dev/team) (MIT) +- [@babel/helper-module-transforms@7.23.0](https://babel.dev/team) (MIT) +- [@babel/helper-module-transforms@7.25.2](https://babel.dev/team) (MIT) +- [@babel/helper-plugin-utils@7.24.8](https://babel.dev/team) (MIT) +- [@babel/helper-simple-access@7.24.7](https://babel.dev/team) (MIT) +- [@babel/helper-split-export-declaration@7.24.7](https://babel.dev/team) (MIT) +- [@babel/helper-string-parser@7.23.4](https://babel.dev/team) (MIT) +- [@babel/helper-string-parser@7.24.8](https://babel.dev/team) (MIT) +- [@babel/helper-validator-identifier@7.24.7](https://babel.dev/team) (MIT) +- [@babel/helper-validator-option@7.24.8](https://babel.dev/team) (MIT) +- [@babel/helpers@7.23.7](https://babel.dev/team) (MIT) +- [@babel/helpers@7.25.0](https://babel.dev/team) (MIT) +- [@babel/highlight@7.23.4](https://babel.dev/team) (MIT) +- [@babel/highlight@7.24.2](https://babel.dev/team) (MIT) +- [@babel/parser@7.23.0](https://babel.dev/team) (MIT) +- [@babel/parser@7.23.3](https://babel.dev/team) (MIT) +- [@babel/parser@7.24.4](https://babel.dev/team) (MIT) +- [@babel/parser@7.25.3](https://babel.dev/team) (MIT) +- [@babel/plugin-syntax-async-generators@7.8.4](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-async-generators) (MIT) +- [@babel/plugin-syntax-bigint@7.8.3](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-bigint) (MIT) +- [@babel/plugin-syntax-class-properties@7.12.13](https://github.com/babel/babel) (MIT) +- [@babel/plugin-syntax-import-meta@7.10.4](https://github.com/babel/babel) (MIT) +- [@babel/plugin-syntax-json-strings@7.8.3](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings) (MIT) +- [@babel/plugin-syntax-logical-assignment-operators@7.10.4](https://github.com/babel/babel) (MIT) +- [@babel/plugin-syntax-nullish-coalescing-operator@7.8.3](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-nullish-coalescing-operator) (MIT) +- [@babel/plugin-syntax-numeric-separator@7.10.4](https://github.com/babel/babel) (MIT) +- [@babel/plugin-syntax-object-rest-spread@7.8.3](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-object-rest-spread) (MIT) +- [@babel/plugin-syntax-optional-catch-binding@7.8.3](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-catch-binding) (MIT) +- [@babel/plugin-syntax-optional-chaining@7.8.3](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-optional-chaining) (MIT) +- [@babel/plugin-syntax-top-level-await@7.14.5](https://babel.dev/team) (MIT) +- [@babel/plugin-syntax-typescript@7.22.5](https://babel.dev/team) (MIT) +- [@babel/runtime@7.23.2](https://babel.dev/team) (MIT) +- [@babel/runtime@7.24.4](https://babel.dev/team) (MIT) +- [@babel/runtime@7.24.5](https://babel.dev/team) (MIT) +- [@babel/template@7.22.15](https://babel.dev/team) (MIT) +- [@babel/template@7.25.0](https://babel.dev/team) (MIT) +- [@babel/traverse@7.23.2](https://babel.dev/team) (MIT) +- [@babel/traverse@7.23.7](https://babel.dev/team) (MIT) +- [@babel/traverse@7.24.1](https://babel.dev/team) (MIT) +- [@babel/traverse@7.25.3](https://babel.dev/team) (MIT) +- [@babel/types@7.23.0](https://babel.dev/team) (MIT) +- [@babel/types@7.23.6](https://babel.dev/team) (MIT) +- [@babel/types@7.24.0](https://babel.dev/team) (MIT) +- [@babel/types@7.25.2](https://babel.dev/team) (MIT) +- [@bcoe/v8-coverage@0.2.3](https://demurgos.net) (MIT) +- [@bpmn-io/diagram-js-ui@0.2.3](https://github.com/smbea) (MIT) +- [@bpmn-io/element-templates-icons-renderer@0.3.0](https://github.com/pinussilvestrus) (MIT) +- [@camunda/camunda-composite-components@0.8.1](https://github.com/camunda-cloud/camunda-composite-components) (Apache-2.0) +- [@camunda/camunda-optimize-composite-components@0.0.16](https://www.npmjs.com/package/@camunda/camunda-optimize-composite-components@0.0.16) (Apache-2.0) +- [@carbon/colors@11.21.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/feature-flags@0.19.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/grid@11.22.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/icon-helpers@10.48.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/icons-react@11.42.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/layout@11.21.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/motion@11.17.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/react@1.56.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/styles@1.56.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/themes@11.34.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@carbon/type@11.26.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) +- [@emotion/is-prop-valid@1.2.2](https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid) (MIT) +- [@emotion/memoize@0.8.1](https://github.com/emotion-js/emotion/tree/main/packages/memoize) (MIT) +- [@emotion/unitless@0.8.1](https://github.com/emotion-js/emotion/tree/main/packages/unitless) (MIT) +- [@floating-ui/core@1.6.1](https://github.com/floating-ui/floating-ui) (MIT) +- [@floating-ui/dom@1.6.4](https://github.com/floating-ui/floating-ui) (MIT) +- [@floating-ui/react-dom@2.0.9](https://github.com/floating-ui/floating-ui) (MIT) +- [@floating-ui/react@0.26.13](https://github.com/floating-ui/floating-ui) (MIT) +- [@floating-ui/utils@0.2.2](https://github.com/floating-ui/floating-ui) (MIT) +- [@ibm/plex@6.0.0-next.6](https://github.com/ibm/plex) (OFL-1.1) +- [@ibm/telemetry-js@1.5.0](https://github.com/ibm-telemetry/telemetry-js) (Apache-2.0) +- [@ibm/telemetry-js@1.5.2](https://github.com/ibm-telemetry/telemetry-js) (Apache-2.0) +- [@istanbuljs/load-nyc-config@1.1.0](https://github.com/istanbuljs/load-nyc-config) (ISC) +- [@istanbuljs/schema@0.1.3](https://github.com/istanbuljs/schema) (MIT) +- [@jest/console@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/core@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/environment@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/expect-utils@29.7.0](https://github.com/jestjs/jest) (MIT) +- [@jest/fake-timers@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/globals@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/reporters@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/schemas@29.6.3](https://github.com/jestjs/jest) (MIT) +- [@jest/source-map@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/test-result@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/test-sequencer@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/transform@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/types@27.5.1](https://github.com/facebook/jest) (MIT) +- [@jest/types@29.6.3](https://github.com/jestjs/jest) (MIT) +- [@jridgewell/gen-mapping@0.3.5](https://github.com/jridgewell/gen-mapping) (MIT) +- [@jridgewell/resolve-uri@3.1.2](https://github.com/jridgewell/resolve-uri) (MIT) +- [@jridgewell/set-array@1.2.1](https://github.com/jridgewell/set-array) (MIT) +- [@jridgewell/sourcemap-codec@1.5.0](https://github.com/jridgewell/sourcemap-codec) (MIT) +- [@jridgewell/trace-mapping@0.3.25](https://github.com/jridgewell/trace-mapping) (MIT) +- [@kurkle/color@0.3.2](https://github.com/kurkle/color) (MIT) +- [@lexical/clipboard@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/code@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/devtools-core@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/dragon@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/hashtag@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/history@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/html@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/link@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/list@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/mark@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/markdown@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/offset@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/overflow@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/plain-text@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/react@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/rich-text@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/selection@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/table@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/text@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/utils@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@lexical/yjs@0.15.0](https://github.com/facebook/lexical) (MIT) +- [@sinclair/typebox@0.27.8](https://github.com/sinclairzx81/typebox) (MIT) +- [@sinonjs/commons@1.8.6](https://github.com/sinonjs/commons) (BSD-3-Clause) +- [@sinonjs/fake-timers@8.1.0](https://github.com/sinonjs/fake-timers) (BSD-3-Clause) +- [@storybook/channels@8.0.9](https://github.com/storybookjs/storybook) (MIT) +- [@storybook/client-logger@8.0.9](https://github.com/storybookjs/storybook) (MIT) +- [@storybook/core-events@8.0.9](https://github.com/storybookjs/storybook) (MIT) +- [@storybook/csf@0.1.5](https://github.com/ComponentDriven/csf) (MIT) +- [@storybook/global@5.0.0](https://github.com/storybookjs/global) (MIT) +- [@storybook/instrumenter@8.0.9](https://github.com/storybookjs/storybook) (MIT) +- [@storybook/preview-api@8.0.9](https://github.com/storybookjs/storybook) (MIT) +- [@storybook/test@8.0.9](https://github.com/storybookjs/storybook) (MIT) +- [@storybook/types@8.0.9](https://github.com/storybookjs/storybook) (MIT) +- [@testing-library/dom@9.3.4](https://kentcdodds.com) (MIT) +- [@testing-library/jest-dom@6.4.2](http://gnapse.github.io) (MIT) +- [@testing-library/user-event@14.5.2](https://github.com/testing-library/user-event) (MIT) +- [@tootallnate/once@1.1.2](http://n8.io/) (MIT) +- [@types/aria-query@5.0.4](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/babel\_\_core@7.20.2](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/babel\_\_generator@7.6.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/babel\_\_template@7.4.2](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/babel\_\_traverse@7.20.2](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/body-parser@1.19.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/connect@3.4.36](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/debug@4.1.12](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/estree@1.0.2](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/express-serve-static-core@4.17.37](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/express@4.17.21](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/graceful-fs@4.1.7](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/hast@2.3.10](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/http-errors@2.0.2](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/istanbul-lib-coverage@2.0.4](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/istanbul-lib-report@3.0.1](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/istanbul-reports@3.0.2](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/jest@29.5.12](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/mdast@3.0.15](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/mime@1.3.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/mime@3.0.2](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/ms@0.7.34](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/node@22.5.2](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/prettier@2.7.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/prop-types@15.7.12](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/qs@6.9.15](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/qs@6.9.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/range-parser@1.2.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/react@18.2.58](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/scheduler@0.23.0](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/send@0.17.2](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/serve-static@1.15.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/stack-utils@2.0.1](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/stylis@4.2.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/unist@2.0.10](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/yargs-parser@21.0.1](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/yargs@16.0.6](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@types/yargs@17.0.28](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) +- [@ungap/structured-clone@1.2.0](https://github.com/ungap/structured-clone) (ISC) +- [@vitest/expect@1.3.1](https://github.com/vitest-dev/vitest) (MIT) +- [@vitest/spy@1.3.1](https://github.com/vitest-dev/vitest) (MIT) +- [@vitest/spy@1.5.2](https://github.com/vitest-dev/vitest) (MIT) +- [@vitest/utils@1.3.1](https://github.com/vitest-dev/vitest) (MIT) +- [@vitest/utils@1.5.2](https://github.com/vitest-dev/vitest) (MIT) +- [abab@2.0.6](https://github.com/jsdom/abab) (BSD-3-Clause) +- [acorn-globals@6.0.0](https://github.com/ForbesLindesay/acorn-globals) (MIT) +- [acorn-walk@7.2.0](https://github.com/acornjs/acorn) (MIT) +- [acorn@7.4.1](https://github.com/acornjs/acorn) (MIT) +- [acorn@8.10.0](https://github.com/acornjs/acorn) (MIT) +- [agent-base@6.0.2](http://n8.io/) (MIT) +- [ansi-escapes@4.3.2](https://sindresorhus.com) (MIT) +- [ansi-regex@5.0.1](https://sindresorhus.com) (MIT) +- [ansi-styles@3.2.1](https://sindresorhus.com) (MIT) +- [ansi-styles@4.3.0](https://sindresorhus.com) (MIT) +- [ansi-styles@5.2.0](https://sindresorhus.com) (MIT) +- [anymatch@3.1.3](https://github.com/es128) (ISC) +- [argparse@1.0.10](https://github.com/nodeca/argparse) (MIT) +- [aria-query@5.1.3](https://github.com/A11yance/aria-query) (Apache-2.0) +- [aria-query@5.3.0](https://github.com/A11yance/aria-query) (Apache-2.0) +- [array-buffer-byte-length@1.0.0](https://github.com/inspect-js/array-buffer-byte-length) (MIT) +- [assertion-error@1.1.0](http://qualiancy.com) (MIT) +- [asynckit@0.4.0](https://github.com/alexindigo/asynckit) (MIT) +- [available-typed-arrays@1.0.5](https://github.com/inspect-js/available-typed-arrays) (MIT) +- [available-typed-arrays@1.0.7](https://github.com/inspect-js/available-typed-arrays) (MIT) +- [babel-jest@27.5.1](https://github.com/facebook/jest) (MIT) +- [babel-plugin-istanbul@6.1.1](https://github.com/istanbuljs/babel-plugin-istanbul) (BSD-3-Clause) +- [babel-plugin-jest-hoist@27.5.1](https://github.com/facebook/jest) (MIT) +- [babel-preset-current-node-syntax@1.0.1](https://github.com/nicolo-ribaudo) (MIT) +- [babel-preset-jest@27.5.1](https://github.com/facebook/jest) (MIT) +- [bail@2.0.2](https://wooorm.com) (MIT) +- [balanced-match@1.0.2](http://juliangruber.com) (MIT) +- [binary-extensions@2.3.0](https://sindresorhus.com) (MIT) +- [bpmn-js-disable-collapsed-subprocess@0.1.7](https://github.com/barmac) (MIT) +- [bpmn-js@17.9.2](https://github.com/nikku) (MIT\*) +- [bpmn-moddle@8.1.0](https://github.com/nikku) (MIT) +- [brace-expansion@1.1.11](http://juliangruber.com) (MIT) +- [braces@3.0.3](https://github.com/jonschlinkert) (MIT) +- [browser-process-hrtime@1.0.0](https://github.com/kumavis/browser-process-hrtime) (BSD-2-Clause) +- [browserslist@4.22.1](https://github.com/browserslist/browserslist) (MIT) +- [browserslist@4.23.3](https://github.com/browserslist/browserslist) (MIT) +- [bser@2.1.1](http://wezfurlong.org) (Apache-2.0) +- [buffer-from@1.1.2](https://github.com/LinusU/buffer-from) (MIT) +- [call-bind@1.0.2](https://github.com/ljharb/call-bind) (MIT) +- [call-bind@1.0.7](https://github.com/ljharb/call-bind) (MIT) +- [callsites@3.1.0](https://sindresorhus.com) (MIT) +- [camelcase@5.3.1](https://sindresorhus.com) (MIT) +- [camelcase@6.3.0](https://sindresorhus.com) (MIT) +- [camelize@1.0.1](http://substack.net) (MIT) +- [caniuse-lite@1.0.30001651](http://beneb.info) (CC-BY-4.0) +- [chai@4.4.1](https://github.com/chaijs/chai) (MIT) +- [chalk@2.4.2](https://github.com/chalk/chalk) (MIT) +- [chalk@3.0.0](https://github.com/chalk/chalk) (MIT) +- [chalk@4.1.2](https://github.com/chalk/chalk) (MIT) +- [chalk@5.3.0](https://github.com/chalk/chalk) (MIT) +- [char-regex@1.0.2](https://github.com/Richienb/char-regex) (MIT) +- [character-entities@2.0.2](https://wooorm.com) (MIT) +- [chart.js@4.4.4](https://github.com/chartjs/Chart.js) (MIT) +- [chartjs-plugin-datalabels@2.2.0](https://github.com/chartjs/chartjs-plugin-datalabels) (MIT) +- [check-error@1.0.3](http://alogicalparadox.com) (MIT) +- [chokidar@3.6.0](https://paulmillr.com) (MIT) +- [ci-info@3.9.0](https://twitter.com/wa7son) (MIT) +- [cjs-module-lexer@1.2.3](https://github.com/nodejs/cjs-module-lexer) (MIT) +- [classnames@2.5.1](https://github.com/JedWatson/classnames) (MIT) +- [cliui@7.0.4](https://github.com/yargs/cliui) (ISC) +- [clsx@1.2.1](https://lukeed.com) (MIT) +- [clsx@2.1.0](https://lukeed.com) (MIT) +- [clsx@2.1.1](https://lukeed.com) (MIT) +- [co@4.6.0](https://github.com/tj/co) (MIT) +- [collect-v8-coverage@1.0.2](https://github.com/SimenB/collect-v8-coverage) (MIT) +- [color-convert@1.9.3](https://github.com/Qix-/color-convert) (MIT) +- [color-convert@2.0.1](https://github.com/Qix-/color-convert) (MIT) +- [color-name@1.1.3](https://github.com/dfcreative/color-name) (MIT) +- [color-name@1.1.4](https://github.com/colorjs/color-name) (MIT) +- [color-string@1.9.1](https://github.com/Qix-/color-string) (MIT) +- [color@4.2.3](https://github.com/Qix-/color) (MIT) +- [combined-stream@1.0.8](http://debuggable.com/) (MIT) +- [comma-separated-tokens@2.0.3](https://wooorm.com) (MIT) +- [component-event@0.2.1](https://github.com/component/event) (MIT) +- [compute-scroll-into-view@3.1.0](https://github.com/scroll-into-view/compute-scroll-into-view) (MIT) +- [concat-map@0.0.1](http://substack.net) (MIT) +- [convert-source-map@1.9.0](http://thlorenz.com) (MIT) +- [convert-source-map@2.0.0](http://thlorenz.com) (MIT) +- [copy-to-clipboard@3.3.3](https://github.com/sudodoki/copy-to-clipboard) (MIT) +- [cross-spawn@7.0.3](https://github.com/moxystudio/node-cross-spawn) (MIT) +- [css-color-keywords@1.0.0](https://github.com/sonicdoe/css-color-keywords) (ISC) +- [css-to-react-native@3.2.0](https://github.com/styled-components/css-to-react-native) (MIT) +- [css.escape@1.5.1](https://mathiasbynens.be/) (MIT) +- [cssom@0.3.8](https://github.com/NV/CSSOM) (MIT) +- [cssom@0.4.4](https://github.com/NV/CSSOM) (MIT) +- [cssstyle@2.3.0](https://github.com/jsdom/cssstyle) (MIT) +- [csstype@3.1.3](https://github.com/frenic/csstype) (MIT) +- [data-urls@2.0.0](https://domenic.me/) (MIT) +- [date-fns@3.6.0](https://github.com/date-fns/date-fns) (MIT) +- [debounce@2.1.0](https://github.com/sindresorhus/debounce) (MIT) +- [debug@4.3.4](https://github.com/debug-js/debug) (MIT) +- [debug@4.3.6](https://github.com/qix-) (MIT) +- [decimal.js@10.4.3](https://github.com/MikeMcl/decimal.js) (MIT) +- [decode-named-character-reference@1.0.2](https://wooorm.com) (MIT) +- [dedent@0.7.0](http://desmondbrand.com) (MIT) +- [deep-eql@4.1.3](https://github.com/chaijs/deep-eql) (MIT) +- [deep-equal@2.2.3](http://substack.net) (MIT) +- [deepmerge@4.3.1](https://github.com/TehShrike/deepmerge) (MIT) +- [define-data-property@1.1.0](https://github.com/ljharb/define-data-property) (MIT) +- [define-data-property@1.1.4](https://github.com/ljharb/define-data-property) (MIT) +- [define-properties@1.2.1](https://github.com/ljharb/define-properties) (MIT) +- [delayed-stream@1.0.0](http://debuggable.com/) (MIT) +- [dequal@2.0.3](https://lukeed.com) (MIT) +- [detect-newline@3.1.0](https://sindresorhus.com) (MIT) +- [diagram-js-direct-editing@3.0.1](https://github.com/bpmn-io/diagram-js-direct-editing) (MIT) +- [diagram-js@14.8.0](https://github.com/nikku) (MIT) +- [didi@10.2.2](https://github.com/nikku/didi) (MIT) +- [diff-sequences@27.5.1](https://github.com/facebook/jest) (MIT) +- [diff-sequences@29.6.3](https://github.com/jestjs/jest) (MIT) +- [diff@5.2.0](https://github.com/kpdecker/jsdiff) (BSD-3-Clause) +- [dom-accessibility-api@0.5.16](https://github.com/eps1lon/dom-accessibility-api) (MIT) +- [dom-accessibility-api@0.6.3](https://github.com/eps1lon/dom-accessibility-api) (MIT) +- [domexception@2.0.1](https://domenic.me/) (MIT) +- [domify@1.4.2](https://github.com/sindresorhus/domify) (MIT) +- [downshift@8.5.0](http://kentcdodds.com/) (MIT) +- [electron-to-chromium@1.4.616](https://github.com/kilian/electron-to-chromium) (ISC) +- [electron-to-chromium@1.5.12](https://github.com/kilian/electron-to-chromium) (ISC) +- [emittery@0.8.1](https://sindresorhus.com) (MIT) +- [emoji-regex@8.0.0](https://mathiasbynens.be/) (MIT) +- [error-ex@1.3.2](https://github.com/qix-/node-error-ex) (MIT) +- [es-define-property@1.0.0](https://github.com/ljharb/es-define-property) (MIT) +- [es-errors@1.3.0](https://github.com/ljharb/es-errors) (MIT) +- [es-get-iterator@1.1.3](https://github.com/ljharb/es-get-iterator) (MIT) +- [escalade@3.1.2](https://lukeed.com) (MIT) +- [escape-string-regexp@1.0.5](https://sindresorhus.com) (MIT) +- [escape-string-regexp@2.0.0](https://sindresorhus.com) (MIT) +- [escape-string-regexp@4.0.0](https://sindresorhus.com) (MIT) +- [escodegen@2.1.0](https://github.com/estools/escodegen) (BSD-2-Clause) +- [esprima@4.0.1](https://github.com/jquery/esprima) (BSD-2-Clause) +- [estraverse@5.3.0](https://github.com/estools/estraverse) (BSD-2-Clause) +- [estree-walker@3.0.3](https://github.com/Rich-Harris/estree-walker) (MIT) +- [esutils@2.0.3](https://github.com/estools/esutils) (BSD-2-Clause) +- [event-source-polyfill@1.0.31](https://github.com/Yaffle) (MIT) +- [execa@5.1.1](https://sindresorhus.com) (MIT) +- [exit@0.1.2](http://benalman.com/) (MIT) +- [expect@27.5.1](https://github.com/facebook/jest) (MIT) +- [expect@29.7.0](https://github.com/jestjs/jest) (MIT) +- [extend@3.0.2](http://www.justmoon.net) (MIT) +- [fast-deep-equal@3.1.3](https://github.com/epoberezkin/fast-deep-equal) (MIT) +- [fast-equals@4.0.3](https://github.com/planttheidea/fast-equals) (MIT) +- [fast-json-stable-stringify@2.1.0](http://substack.net) (MIT) +- [fb-watchman@2.0.2](http://wezfurlong.org) (Apache-2.0) +- [file-system-cache@2.3.0](https://github.com/philcockfield) (MIT) +- [fill-range@7.1.1](https://github.com/jonschlinkert) (MIT) +- [find-up@4.1.0](https://sindresorhus.com) (MIT) +- [fitty@2.4.2](https://pqina.nl/) (MIT) +- [flatpickr@4.6.13](https://github.com/chmln/flatpickr) (MIT) +- [focus-visible@5.2.1](https://github.com/WICG/focus-visible) (W3C) +- [for-each@0.3.3](https://github.com/Raynos/for-each) (MIT) +- [form-data@3.0.1](http://debuggable.com/) (MIT) +- [fs-extra@11.1.1](https://github.com/jprichardson/node-fs-extra) (MIT) +- [fs.realpath@1.0.0](http://blog.izs.me/) (ISC) +- [fscreen@1.2.0](https://github.com/rafgraph/fscreen) (MIT) +- [fsevents@2.3.3](https://github.com/fsevents/fsevents) (MIT) +- [function-bind@1.1.1](https://github.com/Raynos/function-bind) (MIT) +- [function-bind@1.1.2](https://github.com/Raynos/function-bind) (MIT) +- [functions-have-names@1.2.3](https://github.com/inspect-js/functions-have-names) (MIT) +- [gensync@1.0.0-beta.2](https://github.com/loganfsmyth/gensync) (MIT) +- [get-caller-file@2.0.5](https://github.com/stefanpenner/get-caller-file) (ISC) +- [get-func-name@2.0.2](http://alogicalparadox.com) (MIT) +- [get-intrinsic@1.2.1](https://github.com/ljharb/get-intrinsic) (MIT) +- [get-intrinsic@1.2.4](https://github.com/ljharb/get-intrinsic) (MIT) +- [get-package-type@0.1.0](https://github.com/cfware/get-package-type) (MIT) +- [get-stream@6.0.1](https://sindresorhus.com) (MIT) +- [glob-parent@5.1.2](https://gulpjs.com/) (ISC) +- [glob@7.2.3](http://blog.izs.me/) (ISC) +- [globals@11.12.0](https://sindresorhus.com) (MIT) +- [gopd@1.0.1](https://github.com/ljharb/gopd) (MIT) +- [graceful-fs@4.2.11](https://github.com/isaacs/node-graceful-fs) (ISC) +- [has-bigints@1.0.2](https://github.com/ljharb/has-bigints) (MIT) +- [has-flag@3.0.0](https://sindresorhus.com) (MIT) +- [has-flag@4.0.0](https://sindresorhus.com) (MIT) +- [has-property-descriptors@1.0.0](https://github.com/inspect-js/has-property-descriptors) (MIT) +- [has-property-descriptors@1.0.2](https://github.com/inspect-js/has-property-descriptors) (MIT) +- [has-proto@1.0.1](https://github.com/inspect-js/has-proto) (MIT) +- [has-symbols@1.0.3](http://ljharb.codes) (MIT) +- [has-tostringtag@1.0.0](http://ljharb.codes) (MIT) +- [has-tostringtag@1.0.2](http://ljharb.codes) (MIT) +- [has@1.0.4](https://github.com/tarruda/has) (MIT) +- [hasown@2.0.2](https://github.com/inspect-js/hasOwn) (MIT) +- [hast-util-whitespace@2.0.1](https://wooorm.com) (MIT) +- [heatmap.js@2.0.5](https://www.patrick-wied.at/) (MIT\*) +- [history@4.10.1](https://github.com/ReactTraining/history) (MIT) +- [hoist-non-react-statics@3.3.2](https://github.com/mridgway/hoist-non-react-statics) (BSD-3-Clause) +- [htm@3.1.1](https://github.com/developit/htm) (Apache-2.0) +- [html-encoding-sniffer@2.0.1](https://domenic.me/) (MIT) +- [html-escaper@2.0.2](https://github.com/WebReflection/html-escaper) (MIT) +- [http-proxy-agent@4.0.1](http://n8.io/) (MIT) +- [https-proxy-agent@5.0.1](http://n8.io/) (MIT) +- [human-signals@2.1.0](https://github.com/ehmicky) (Apache-2.0) +- [iconv-lite@0.4.24](https://github.com/ashtuchkin/iconv-lite) (MIT) +- [ids@1.0.5](https://github.com/Nikku) (MIT) +- [immutability-helper@3.1.1](https://github.com/kolodny/immutability-helper) (MIT) +- [immutable@4.3.7](https://github.com/leebyron) (MIT) +- [import-local@3.1.0](https://sindresorhus.com) (MIT) +- [imurmurhash@0.1.4](https://github.com/homebrewing) (MIT) +- [indent-string@4.0.0](https://sindresorhus.com) (MIT) +- [inflight@1.0.6](http://blog.izs.me/) (ISC) +- [inherits-browser@0.1.0](https://github.com/nikku/inherits-browser) (ISC) +- [inherits@2.0.4](https://github.com/isaacs/inherits) (ISC) +- [inline-style-parser@0.1.1](https://github.com/remarkablemark/inline-style-parser) (MIT) +- [internal-slot@1.0.7](https://github.com/ljharb/internal-slot) (MIT) +- [invariant@2.2.4](https://github.com/zertosh/invariant) (MIT) +- [is-arguments@1.1.1](http://ljharb.codes) (MIT) +- [is-array-buffer@3.0.2](https://github.com/inspect-js/is-array-buffer) (MIT) +- [is-arrayish@0.2.1](http://github.com/qix-) (MIT) +- [is-arrayish@0.3.2](http://github.com/qix-) (MIT) +- [is-bigint@1.0.4](https://github.com/inspect-js/is-bigint) (MIT) +- [is-binary-path@2.1.0](https://sindresorhus.com) (MIT) +- [is-boolean-object@1.1.2](https://github.com/inspect-js/is-boolean-object) (MIT) +- [is-buffer@2.0.5](https://feross.org) (MIT) +- [is-callable@1.2.7](http://ljharb.codes) (MIT) +- [is-core-module@2.15.0](https://github.com/inspect-js/is-core-module) (MIT) +- [is-date-object@1.0.5](https://github.com/inspect-js/is-date-object) (MIT) +- [is-extglob@2.1.1](https://github.com/jonschlinkert) (MIT) +- [is-fullwidth-code-point@3.0.0](https://sindresorhus.com) (MIT) +- [is-generator-fn@2.1.0](https://sindresorhus.com) (MIT) +- [is-generator-function@1.0.10](https://github.com/inspect-js/is-generator-function) (MIT) +- [is-glob@4.0.3](https://github.com/jonschlinkert) (MIT) +- [is-map@2.0.2](https://github.com/inspect-js/is-map) (MIT) +- [is-map@2.0.3](https://github.com/inspect-js/is-map) (MIT) +- [is-number-object@1.0.7](https://github.com/inspect-js/is-number-object) (MIT) +- [is-number@7.0.0](https://github.com/jonschlinkert) (MIT) +- [is-plain-obj@4.1.0](https://sindresorhus.com) (MIT) +- [is-potential-custom-element-name@1.0.1](https://mathiasbynens.be/) (MIT) +- [is-regex@1.1.4](https://github.com/inspect-js/is-regex) (MIT) +- [is-set@2.0.2](https://github.com/inspect-js/is-set) (MIT) +- [is-set@2.0.3](https://github.com/inspect-js/is-set) (MIT) +- [is-shared-array-buffer@1.0.2](http://ljharb.codes) (MIT) +- [is-stream@2.0.1](https://sindresorhus.com) (MIT) +- [is-string@1.0.7](https://github.com/ljharb/is-string) (MIT) +- [is-symbol@1.0.4](https://github.com/inspect-js/is-symbol) (MIT) +- [is-typed-array@1.1.12](http://ljharb.codes) (MIT) +- [is-typed-array@1.1.13](http://ljharb.codes) (MIT) +- [is-typedarray@1.0.0](http://hughsk.io/) (MIT) +- [is-weakmap@2.0.1](https://github.com/inspect-js/is-weakmap) (MIT) +- [is-weakset@2.0.2](https://github.com/inspect-js/is-weakset) (MIT) +- [isarray@0.0.1](http://juliangruber.com) (MIT) +- [isarray@2.0.5](http://juliangruber.com) (MIT) +- [isexe@2.0.0](http://blog.izs.me/) (ISC) +- [istanbul-lib-coverage@3.2.0](https://github.com/istanbuljs/istanbuljs) (BSD-3-Clause) +- [istanbul-lib-instrument@5.2.1](https://github.com/istanbuljs/istanbuljs) (BSD-3-Clause) +- [istanbul-lib-report@3.0.1](https://github.com/istanbuljs/istanbuljs) (BSD-3-Clause) +- [istanbul-lib-source-maps@4.0.1](https://github.com/istanbuljs/istanbuljs) (BSD-3-Clause) +- [istanbul-reports@3.1.6](https://github.com/istanbuljs/istanbuljs) (BSD-3-Clause) +- [jest-changed-files@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-circus@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-cli@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-config@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-diff@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-diff@29.7.0](https://github.com/jestjs/jest) (MIT) +- [jest-docblock@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-each@27.5.1](https://github.com/mattphillips/jest-each) (MIT) +- [jest-environment-jsdom@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-environment-node@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-get-type@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-get-type@29.6.3](https://github.com/jestjs/jest) (MIT) +- [jest-haste-map@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-jasmine2@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-leak-detector@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-matcher-utils@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-matcher-utils@29.7.0](https://github.com/jestjs/jest) (MIT) +- [jest-message-util@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-message-util@29.7.0](https://github.com/jestjs/jest) (MIT) +- [jest-mock@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-pnp-resolver@1.2.3](https://github.com/arcanis/jest-pnp-resolver) (MIT) +- [jest-regex-util@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-resolve-dependencies@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-resolve@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-runner@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-runtime@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-serializer@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-snapshot@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-util@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-util@29.7.0](https://github.com/jestjs/jest) (MIT) +- [jest-validate@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-watcher@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest-worker@27.5.1](https://github.com/facebook/jest) (MIT) +- [jest@27.5.1](https://github.com/facebook/jest) (MIT) +- [js-tokens@4.0.0](https://github.com/lydell/js-tokens) (MIT) +- [js-yaml@3.14.1](https://github.com/nodeca/js-yaml) (MIT) +- [jsdom@16.7.0](https://github.com/jsdom/jsdom) (MIT) +- [jsesc@2.5.2](https://mathiasbynens.be/) (MIT) +- [json-parse-even-better-errors@2.3.1](https://github.com/npm/json-parse-even-better-errors) (MIT) +- [json5@2.2.3](https://github.com/json5/json5) (MIT) +- [jsonfile@6.1.0](https://github.com/jprichardson/node-jsonfile) (MIT) +- [jwt-decode@4.0.0](https://github.com/auth0/jwt-decode) (MIT) +- [kleur@3.0.3](https://lukeed.com) (MIT) +- [kleur@4.1.5](https://lukeed.com) (MIT) +- [leven@3.1.0](https://sindresorhus.com) (MIT) +- [lexical@0.15.0](https://github.com/facebook/lexical) (MIT) +- [lines-and-columns@1.2.4](https://github.com/eventualbuddha/lines-and-columns) (MIT) +- [locate-path@5.0.0](https://sindresorhus.com) (MIT) +- [lodash.debounce@4.0.8](http://allyoucanleet.com/) (MIT) +- [lodash.findlast@4.6.0](http://allyoucanleet.com/) (MIT) +- [lodash.isequal@4.5.0](http://allyoucanleet.com/) (MIT) +- [lodash.omit@4.5.0](http://allyoucanleet.com/) (MIT) +- [lodash.throttle@4.1.1](http://allyoucanleet.com/) (MIT) +- [lodash@4.17.21](https://github.com/lodash/lodash) (MIT) +- [loose-envify@1.4.0](https://github.com/zertosh/loose-envify) (MIT) +- [loupe@2.3.7](https://github.com/chaijs/loupe) (MIT) +- [lru-cache@5.1.1](https://github.com/isaacs/node-lru-cache) (ISC) +- [lru-cache@6.0.0](https://github.com/isaacs/node-lru-cache) (ISC) +- [lz-string@1.5.0](https://github.com/pieroxy/lz-string) (MIT) +- [make-dir@4.0.0](https://sindresorhus.com) (MIT) +- [makeerror@1.0.12](https://github.com/daaku/nodejs-makeerror) (BSD-3-Clause) +- [map-or-similar@1.5.0](https://github.com/thinkloop/map-or-similar) (MIT) +- [mdast-util-definitions@5.1.2](https://wooorm.com) (MIT) +- [mdast-util-from-markdown@1.3.1](https://wooorm.com) (MIT) +- [mdast-util-to-hast@12.3.0](https://wooorm.com) (MIT) +- [mdast-util-to-string@3.2.0](https://wooorm.com) (MIT) +- [memoizerific@1.11.3](https://github.com/thinkloop/memoizerific) (MIT) +- [merge-stream@2.0.0](https://github.com/grncdr/merge-stream) (MIT) +- [micromark-core-commonmark@1.1.0](https://wooorm.com) (MIT) +- [micromark-factory-destination@1.1.0](https://wooorm.com) (MIT) +- [micromark-factory-label@1.1.0](https://wooorm.com) (MIT) +- [micromark-factory-space@1.1.0](https://wooorm.com) (MIT) +- [micromark-factory-title@1.1.0](https://wooorm.com) (MIT) +- [micromark-factory-whitespace@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-character@1.2.0](https://wooorm.com) (MIT) +- [micromark-util-chunked@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-classify-character@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-combine-extensions@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-decode-numeric-character-reference@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-decode-string@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-encode@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-html-tag-name@1.2.0](https://wooorm.com) (MIT) +- [micromark-util-normalize-identifier@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-resolve-all@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-sanitize-uri@1.2.0](https://wooorm.com) (MIT) +- [micromark-util-subtokenize@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-symbol@1.1.0](https://wooorm.com) (MIT) +- [micromark-util-types@1.1.0](https://wooorm.com) (MIT) +- [micromark@3.2.0](https://wooorm.com) (MIT) +- [micromatch@4.0.8](https://github.com/jonschlinkert) (MIT) +- [mime-db@1.52.0](https://github.com/jshttp/mime-db) (MIT) +- [mime-types@2.1.35](https://github.com/jshttp/mime-types) (MIT) +- [mimic-fn@2.1.0](https://sindresorhus.com) (MIT) +- [min-dash@4.1.1](https://github.com/bpmn-io/min-dash) (MIT) +- [min-dash@4.2.1](https://github.com/bpmn-io/min-dash) (MIT) +- [min-dom@4.2.1](https://github.com/bpmn-io/min-dom) (MIT) +- [min-indent@1.0.1](https://thejameskyle.com) (MIT) +- [minimatch@3.1.2](http://blog.izs.me) (ISC) +- [moddle-xml@10.1.0](https://github.com/Nikku) (MIT) +- [moddle@6.2.3](https://github.com/Nikku) (MIT) +- [mri@1.2.0](https://lukeed.com) (MIT) +- [ms@2.1.2](https://github.com/zeit/ms) (MIT) +- [nanoid@3.3.7](https://github.com/ai/nanoid) (MIT) +- [natural-compare@1.4.0](https://github.com/litejs/natural-compare-lite) (MIT) +- [node-int64@0.4.0](https://github.com/broofa/node-int64) (MIT) +- [node-releases@2.0.14](https://github.com/chicoxyzzy/node-releases) (MIT) +- [node-releases@2.0.18](https://github.com/chicoxyzzy/node-releases) (MIT) +- [normalize-path@3.0.0](https://github.com/jonschlinkert) (MIT) +- [npm-run-path@4.0.1](https://sindresorhus.com) (MIT) +- [nwsapi@2.2.7](http://www.iport.it/) (MIT) +- [object-assign@4.1.1](https://sindresorhus.com) (MIT) +- [object-inspect@1.12.3](http://substack.net) (MIT) +- [object-inspect@1.13.1](http://substack.net) (MIT) +- [object-is@1.1.5](https://github.com/es-shims/object-is) (MIT) +- [object-keys@1.1.1](http://ljharb.codes) (MIT) +- [object-refs@0.4.0](https://github.com/Nikku) (MIT) +- [object.assign@4.1.4](https://github.com/ljharb/object.assign) (MIT) +- [once@1.4.0](http://blog.izs.me/) (ISC) +- [onetime@5.1.2](https://sindresorhus.com) (MIT) +- [p-limit@2.3.0](https://sindresorhus.com) (MIT) +- [p-locate@4.1.0](https://sindresorhus.com) (MIT) +- [p-try@2.2.0](https://sindresorhus.com) (MIT) +- [parse-json@5.2.0](https://sindresorhus.com) (MIT) +- [parse5@6.0.1](https://github.com/inikulin) (MIT) +- [path-exists@4.0.0](https://sindresorhus.com) (MIT) +- [path-intersection@3.1.0](https://github.com/nikku) (MIT) +- [path-is-absolute@1.0.1](https://sindresorhus.com) (MIT) +- [path-key@3.1.1](https://sindresorhus.com) (MIT) +- [path-parse@1.0.7](https://github.com/jbgutierrez/path-parse) (MIT) +- [path-to-regexp@1.8.0](https://github.com/pillarjs/path-to-regexp) (MIT) +- [pathval@1.1.1](https://github.com/chaijs/pathval) (MIT) +- [picocolors@1.0.1](https://github.com/alexeyraspopov/picocolors) (ISC) +- [picocolors@1.1.0](https://github.com/alexeyraspopov/picocolors) (ISC) +- [picomatch@2.3.1](https://github.com/jonschlinkert) (MIT) +- [pirates@4.0.6](http://ariporad.com) (MIT) +- [pkg-dir@4.2.0](https://sindresorhus.com) (MIT) +- [possible-typed-array-names@1.0.0](https://github.com/ljharb/possible-typed-array-names) (MIT) +- [postcss-value-parser@4.2.0](https://github.com/TrySound/postcss-value-parser) (MIT) +- [postcss@8.4.38](https://github.com/postcss/postcss) (MIT) +- [preact@10.22.0](https://github.com/preactjs/preact) (MIT) +- [pretty-format@27.5.1](https://github.com/facebook/jest) (MIT) +- [pretty-format@29.7.0](https://github.com/jestjs/jest) (MIT) +- [prismjs@1.29.0](https://github.com/PrismJS/prism) (MIT) +- [prompts@2.4.2](https://terkel.com) (MIT) +- [prop-types@15.8.1](https://github.com/facebook/prop-types) (MIT) +- [property-information@6.5.0](https://wooorm.com) (MIT) +- [psl@1.9.0](https://lupomontero.com/) (MIT) +- [punycode@2.3.1](https://mathiasbynens.be/) (MIT) +- [qs@6.12.1](https://github.com/ljharb/qs) (BSD-3-Clause) +- [querystringify@2.2.0](https://github.com/unshiftio/querystringify) (MIT) +- [ramda@0.29.0](https://scott.sauyet.com) (MIT) +- [react-date-range@2.0.1](https://github.com/hypeserver/react-date-range) (MIT) +- [react-dom@17.0.2](https://github.com/facebook/react) (MIT) +- [react-draggable@4.4.6](https://github.com/react-grid-layout/react-draggable) (MIT) +- [react-error-boundary@3.1.4](https://github.com/bvaughn/react-error-boundary) (MIT) +- [react-error-boundary@4.0.13](https://github.com/bvaughn/react-error-boundary) (MIT) +- [react-full-screen@1.1.1](https://github.com/snakesilk/react-fullscreen) (MIT) +- [react-grid-layout@1.4.4](http://strml.net/) (MIT) +- [react-is@16.13.1](https://github.com/facebook/react) (MIT) +- [react-is@17.0.2](https://github.com/facebook/react) (MIT) +- [react-is@18.3.1](https://github.com/facebook/react) (MIT) +- [react-list@0.8.17](https://github.com/caseywebdev/react-list) (MIT) +- [react-markdown@8.0.7](https://github.com/remarkjs/react-markdown) (MIT) +- [react-resizable@3.0.5](http://strml.net/) (MIT) +- [react-router-dom@5.3.4](https://github.com/remix-run/react-router) (MIT) +- [react-router@5.3.4](https://github.com/remix-run/react-router) (MIT) +- [react-table@7.8.0](https://github.com/tannerlinsley/react-table) (MIT) +- [react@17.0.2](https://github.com/facebook/react) (MIT) +- [readdirp@3.6.0](https://thlorenz.com) (MIT) +- [redent@3.0.0](https://sindresorhus.com) (MIT) +- [regenerator-runtime@0.14.1](https://github.com/facebook/regenerator/tree/main/packages/runtime) (MIT) +- [regexp.prototype.flags@1.5.1](https://github.com/es-shims/RegExp.prototype.flags) (MIT) +- [remark-parse@10.0.2](https://wooorm.com) (MIT) +- [remark-rehype@10.1.0](https://wooorm.com) (MIT) +- [require-directory@2.1.1](http://github.com/troygoode/) (MIT) +- [requires-port@1.0.0](https://github.com/unshiftio/requires-port) (MIT) +- [resize-observer-polyfill@1.5.1](https://github.com/que-etc/resize-observer-polyfill) (MIT) +- [resolve-cwd@3.0.0](https://sindresorhus.com) (MIT) +- [resolve-from@5.0.0](https://sindresorhus.com) (MIT) +- [resolve-pathname@3.0.0](https://github.com/mjackson/resolve-pathname) (MIT) +- [resolve.exports@1.1.1](https://lukeed.com) (MIT) +- [resolve@1.22.8](http://substack.net) (MIT) +- [rimraf@3.0.2](http://blog.izs.me/) (ISC) +- [sade@1.8.1](https://lukeed.com) (MIT) +- [safer-buffer@2.1.2](https://github.com/ChALkeR) (MIT) +- [sass@1.78.0](https://github.com/nex3) (MIT) +- [saxen@8.1.2](http://vflash.ru) (MIT) +- [saxes@5.0.1](https://github.com/lddubeau/saxes) (ISC) +- [scheduler@0.20.2](https://github.com/facebook/react) (MIT) +- [semver@6.3.1](https://github.com/npm/node-semver) (ISC) +- [semver@7.5.4](https://github.com/npm/node-semver) (ISC) +- [semver@7.6.3](https://github.com/npm/node-semver) (ISC) +- [set-function-length@1.2.2](https://github.com/ljharb/set-function-length) (MIT) +- [set-function-name@2.0.1](https://github.com/ljharb/set-function-name) (MIT) +- [shallow-equal@1.2.1](https://github.com/moroshko/shallow-equal) (MIT) +- [shallowequal@1.1.0](https://github.com/dashed) (MIT) +- [shebang-command@2.0.0](https://github.com/kevva) (MIT) +- [shebang-regex@3.0.0](https://sindresorhus.com) (MIT) +- [side-channel@1.0.4](https://github.com/ljharb/side-channel) (MIT) +- [side-channel@1.0.6](https://github.com/ljharb/side-channel) (MIT) +- [signal-exit@3.0.7](https://github.com/tapjs/signal-exit) (ISC) +- [simple-swizzle@0.2.2](http://github.com/qix-) (MIT) +- [sisteransi@1.0.5](https://terkel.com) (MIT) +- [slash@3.0.0](https://sindresorhus.com) (MIT) +- [source-map-js@1.2.0](https://github.com/7rulnik/source-map-js) (BSD-3-Clause) +- [source-map-support@0.5.21](https://github.com/evanw/node-source-map-support) (MIT) +- [source-map@0.6.1](https://github.com/mozilla/source-map) (BSD-3-Clause) +- [source-map@0.7.4](https://github.com/mozilla/source-map) (BSD-3-Clause) +- [space-separated-tokens@2.0.2](https://wooorm.com) (MIT) +- [sprintf-js@1.0.3](http://alexei.ro/) (BSD-3-Clause) +- [stack-utils@2.0.6](https://github.com/jamestalmage) (MIT) +- [stop-iteration-iterator@1.0.0](https://github.com/ljharb/stop-iteration-iterator) (MIT) +- [string-length@4.0.2](https://sindresorhus.com) (MIT) +- [string-width@4.2.3](https://sindresorhus.com) (MIT) +- [strip-ansi@6.0.1](https://sindresorhus.com) (MIT) +- [strip-bom@4.0.0](https://sindresorhus.com) (MIT) +- [strip-final-newline@2.0.0](https://sindresorhus.com) (MIT) +- [strip-indent@3.0.0](https://sindresorhus.com) (MIT) +- [strip-json-comments@3.1.1](https://sindresorhus.com) (MIT) +- [style-to-object@0.4.4](https://github.com/remarkablemark/style-to-object) (MIT) +- [styled-components@6.1.13](https://github.com/styled-components/styled-components) (MIT) +- [stylis@4.3.2](https://github.com/thysultan/stylis.js) (MIT) +- [supports-color@5.5.0](https://sindresorhus.com) (MIT) +- [supports-color@7.2.0](https://sindresorhus.com) (MIT) +- [supports-color@8.1.1](https://sindresorhus.com) (MIT) +- [supports-hyperlinks@2.3.0](https://github.com/jamestalmage) (MIT) +- [supports-preserve-symlinks-flag@1.0.0](https://github.com/inspect-js/node-supports-preserve-symlinks-flag) (MIT) +- [symbol-tree@3.2.4](https://github.com/jsdom/js-symbol-tree) (MIT) +- [tabbable@6.2.0](http://davidtheclark.com/) (MIT) +- [telejson@7.2.0](https://github.com/storybookjs/telejson) (MIT) +- [terminal-link@2.1.1](https://sindresorhus.com) (MIT) +- [test-exclude@6.0.0](https://github.com/istanbuljs/test-exclude) (ISC) +- [throat@6.0.2](https://github.com/ForbesLindesay/throat) (MIT) +- [tiny-invariant@1.3.1](https://github.com/alexreardon/tiny-invariant) (MIT) +- [tiny-invariant@1.3.3](https://github.com/alexreardon/tiny-invariant) (MIT) +- [tiny-svg@3.1.2](https://github.com/nikku) (MIT) +- [tiny-warning@1.0.3](https://github.com/alexreardon/tiny-warning) (MIT) +- [tinyspy@2.2.1](https://github.com/tinylibs/tinyspy) (MIT) +- [tmpl@1.0.5](https://github.com/daaku/nodejs-tmpl) (BSD-3-Clause) +- [to-fast-properties@2.0.0](https://sindresorhus.com) (MIT) +- [to-regex-range@5.0.1](https://github.com/jonschlinkert) (MIT) +- [toggle-selection@1.0.6](https://sudodoki.name) (MIT) +- [tough-cookie@4.1.3](https://github.com/salesforce/tough-cookie) (BSD-3-Clause) +- [tr46@2.1.0](https://github.com/jsdom/tr46) (MIT) +- [trim-lines@3.0.1](https://wooorm.com) (MIT) +- [trough@2.2.0](https://wooorm.com) (MIT) +- [ts-dedent@2.2.0](https://github.com/tamino-martinius/node-ts-dedent) (MIT) +- [tslib@2.6.2](https://github.com/Microsoft/tslib) (0BSD) +- [type-detect@4.0.8](http://alogicalparadox.com) (MIT) +- [type-detect@4.1.0](http://alogicalparadox.com) (MIT) +- [type-fest@0.21.3](https://sindresorhus.com) ((MIT OR CC0-1.0)) +- [type-fest@2.19.0](https://sindresorhus.com) ((MIT OR CC0-1.0)) +- [typedarray-to-buffer@3.1.5](http://feross.org/) (MIT) +- [undici-types@6.19.8](https://github.com/nodejs/undici) (MIT) +- [unified@10.1.2](https://wooorm.com) (MIT) +- [unist-util-generated@2.0.1](https://wooorm.com) (MIT) +- [unist-util-is@5.2.1](https://wooorm.com) (MIT) +- [unist-util-position@4.0.4](https://wooorm.com) (MIT) +- [unist-util-stringify-position@3.0.3](https://wooorm.com) (MIT) +- [unist-util-visit-parents@5.1.3](https://wooorm.com) (MIT) +- [unist-util-visit@4.1.2](https://wooorm.com) (MIT) +- [universalify@0.2.0](https://github.com/RyanZim/universalify) (MIT) +- [universalify@2.0.1](https://github.com/RyanZim/universalify) (MIT) +- [update-browserslist-db@1.1.0](https://github.com/browserslist/update-db) (MIT) +- [url-parse@1.5.10](https://github.com/unshiftio/url-parse) (MIT) +- [use-deep-compare-effect@1.8.1](https://kentcdodds.com) (MIT) +- [use-resize-observer@6.1.0](https://github.com/ZeeCoder/use-resize-observer) (MIT) +- [util-deprecate@1.0.2](http://n8.io/) (MIT) +- [util@0.12.5](http://www.joyent.com) (MIT) +- [uvu@0.5.6](https://github.com/lukeed/uvu) (MIT) +- [v8-to-istanbul@8.1.1](https://github.com/istanbuljs/v8-to-istanbul) (ISC) +- [value-equal@1.0.1](https://github.com/mjackson/value-equal) (MIT) +- [vfile-message@3.1.4](https://wooorm.com) (MIT) +- [vfile@5.3.7](https://wooorm.com) (MIT) +- [w3c-hr-time@1.0.2](https://github.com/jsdom/w3c-hr-time) (MIT) +- [w3c-xmlserializer@2.0.0](https://github.com/jsdom/w3c-xmlserializer) (MIT) +- [walker@1.0.8](https://github.com/daaku/nodejs-walker) (Apache-2.0) +- [webidl-conversions@5.0.0](https://domenic.me/) (BSD-2-Clause) +- [webidl-conversions@6.1.0](https://domenic.me/) (BSD-2-Clause) +- [whatwg-encoding@1.0.5](https://domenic.me/) (MIT) +- [whatwg-mimetype@2.3.0](https://domenic.me/) (MIT) +- [whatwg-url@8.7.0](https://github.com/jsdom/whatwg-url) (MIT) +- [which-boxed-primitive@1.0.2](https://github.com/inspect-js/which-boxed-primitive) (MIT) +- [which-collection@1.0.1](https://github.com/inspect-js/which-collection) (MIT) +- [which-typed-array@1.1.11](http://ljharb.codes) (MIT) +- [which-typed-array@1.1.15](http://ljharb.codes) (MIT) +- [which@2.0.2](http://blog.izs.me) (ISC) +- [wicg-inert@3.1.2](https://github.com/WICG/inert) (W3C-20150513) +- [window-or-global@1.0.1](https://github.com/purposeindustries/window-or-global) (MIT) +- [wrap-ansi@7.0.0](https://sindresorhus.com) (MIT) +- [wrappy@1.0.2](http://blog.izs.me/) (ISC) +- [write-file-atomic@3.0.3](http://re-becca.org) (ISC) +- [ws@7.5.10](http://2x.io) (MIT) +- [xml-name-validator@3.0.0](https://domenic.me/) (Apache-2.0) +- [xmlchars@2.2.0](https://github.com/lddubeau/xmlchars) (MIT) +- [y18n@5.0.8](https://github.com/yargs/y18n) (ISC) +- [yallist@3.1.1](http://blog.izs.me/) (ISC) +- [yallist@4.0.0](http://blog.izs.me/) (ISC) +- [yargs-parser@20.2.9](https://github.com/yargs/yargs-parser) (ISC) +- [yargs@16.2.0](https://github.com/yargs/yargs) (MIT) + +### Optimize Dependencies (Back end) + +- logback-classic@1.5.7, [(Eclipse Public License - v 1.0)](http://www.eclipse.org/legal/epl-v10.html) +- logback-core@1.5.7, [(Eclipse Public License - v 1.0)](http://www.eclipse.org/legal/epl-v10.html) +- aws-java-sdk-core@1.12.770, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- auth0@1.45.1, [(The MIT License (MIT))](https://raw.githubusercontent.com/auth0/auth0-java/master/LICENSE) +- java-jwt@4.4.0, [(The MIT License (MIT))](https://raw.githubusercontent.com/auth0/java-jwt/master/LICENSE) +- jwks-rsa@0.22.1, [(The MIT License (MIT))](https://raw.githubusercontent.com/auth0/jwks-rsa-java/master/LICENSE) +- hppc@0.8.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- itu@1.10.2, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-annotations@2.17.2, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-core@2.17.2, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-databind@2.17.2, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-dataformat-cbor@2.17.2, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-dataformat-smile@2.17.2, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-dataformat-yaml@2.17.2, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-datatype-jdk8@2.17.2, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-datatype-jsr310@2.17.2, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-jaxrs-base@2.17.2, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-jaxrs-json-provider@2.17.2, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-module-jakarta-xmlbind-annotations@2.17.2, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jackson-module-parameter-names@2.17.2, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- classmate@1.7.0, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- caffeine@3.1.8, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- dateparser@1.0.11, [(Apache-2.0 License)](https://github.com/sisyphsu/dateparser/blob/master/LICENSE) +- retree@1.0.4, [(Apache-2.0 License)](https://github.com/sisyphsu/retree-java/blob/master/LICENSE) +- compiler@0.9.6, [(Apache License 2.0)](http://www.apache.org/licenses/LICENSE-2.0) +- jcip-annotations@1.0-1, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- json-base@2.4.3, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- json-flattener@0.16.6, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- jsr305@3.0.2, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- error_prone_annotations@2.21.1, [(Apache 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- error_prone_annotations@2.28.0, [(Apache 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- failureaccess@1.0.2, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- guava@33.3.0-jre, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- listenablefuture@9999.0-empty-to-avoid-conflict-with-guava, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- j2objc-annotations@3.0.0, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- h2@2.2.224, [(MPL 2.0)](https://www.mozilla.org/en-US/MPL/2.0/) +- json-path@2.9.0, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- mchange-commons-java@0.2.15, [(GNU Lesser General Public License, Version 2.1)](http://www.gnu.org/licenses/lgpl-2.1.html) +- content-type@2.2, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- lang-tag@1.7, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- nimbus-jose-jwt@9.40, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- oauth2-oidc-sdk@9.43.4, [(Apache License, version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.html) +- opencsv@5.9, [(Apache 2)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- logging-interceptor@4.12.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- okhttp@4.12.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- okio-jvm@3.5.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- okio@3.5.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- t-digest@3.2, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- semver4j@3.1.0, [(The MIT License)](http://www.opensource.org/licenses/mit-license.php) +- commons-beanutils@1.9.4, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-codec@1.16.1, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-collections@3.2.2, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-digester@2.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-io@2.15.1, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-io@2.16.1, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-logging@1.1.3, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-validator@1.9.0, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- identity-sdk@8.6.0-alpha4, [(Camunda proprietary license)](https://github.com/camunda-cloud/identity/blob/main/license/License.txt) +- identity-spring-boot-autoconfigure@8.6.0-alpha4, [(Camunda proprietary license)](https://github.com/camunda-cloud/identity/blob/main/license/License.txt) +- identity-spring-boot-starter@8.6.0-alpha4, [(Camunda proprietary license)](https://github.com/camunda-cloud/identity/blob/main/license/License.txt) +- zeebe-protocol@8.6.0-alpha4, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0) +- classgraph@4.8.175, [(The MIT License (MIT))](http://opensource.org/licenses/MIT) +- micrometer-commons@1.13.3, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- micrometer-core@1.13.3, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- micrometer-jakarta9@1.13.3, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- micrometer-observation@1.13.3, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- micrometer-registry-prometheus@1.13.3, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- netty-buffer@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-codec-http2@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-codec-http@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-codec-socks@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-codec@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-common@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-handler-proxy@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-handler@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-resolver@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-transport-classes-epoll@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-transport-native-unix-common@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- netty-transport@4.1.112.Final, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- prometheus-metrics-config@1.2.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- prometheus-metrics-core@1.2.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- prometheus-metrics-exposition-formats@1.2.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- prometheus-metrics-model@1.2.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- prometheus-metrics-shaded-protobuf@1.2.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- prometheus-metrics-tracer-common@1.2.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- jakarta.activation-api@2.1.3, [(EDL 1.0)](http://www.eclipse.org/org/documents/edl-v10.php) +- jakarta.annotation-api@2.1.1, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jakarta.annotation-api@3.0.0, [(EPL 2.0)](https://www.eclipse.org/legal/epl-2.0) +- jakarta.enterprise.cdi-api@4.0.1, [(Apache License 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- jakarta.enterprise.lang-model@4.0.1, [(Apache License 2.0)](https://repository.jboss.org/licenses/apache-2.0.txt) +- jakarta.inject-api@2.0.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- jakarta.interceptor-api@2.1.0, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jakarta.json.bind-api@3.0.1, [(Eclipse Public License 2.0)](https://projects.eclipse.org/license/epl-2.0) +- jakarta.json-api@2.1.3, [(Eclipse Public License 2.0)](https://projects.eclipse.org/license/epl-2.0) +- jakarta.mail-api@2.1.3, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jakarta.servlet-api@6.0.0, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jakarta.transaction-api@2.0.1, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jakarta.validation-api@3.0.2, [(Apache License 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- jakarta.validation-api@3.1.0, [(Apache License 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- jakarta.websocket-api@2.1.1, [(Eclipse Public License v. 2.0)](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt) +- jakarta.websocket-client-api@2.1.1, [(Eclipse Public License v. 2.0)](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt) +- jakarta.ws.rs-api@3.1.0, [(EPL-2.0)](http://www.eclipse.org/legal/epl-2.0) +- jakarta.ws.rs-api@4.0.0, [(EPL-2.0)](https://www.eclipse.org/legal/epl-2.0) +- jakarta.xml.bind-api@4.0.2, [(Eclipse Distribution License - v 1.0)](http://www.eclipse.org/org/documents/edl-v10.php) +- cache-api@1.1.1, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- joda-time@2.12.5, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- joda-time@2.12.7, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- jna@5.10.0, [(LGPL-2.1-or-later)](https://www.gnu.org/licenses/old-licenses/lgpl-2.1) +- failsafe@2.4.4, [(Apache License, Version 2.0)](http://apache.org/licenses/LICENSE-2.0) +- logstash-logback-encoder@8.0, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0) +- accessors-smart@2.5.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- json-smart@2.5.1, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- jopt-simple@5.0.2, [(The MIT License)](http://www.opensource.org/licenses/mit-license.php) +- agrona@1.21.2, [(The Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-collections4@4.4, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-lang3@3.14.0, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-lang3@3.17.0, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-math3@3.6.1, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- commons-text@1.11.0, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- httpclient5@5.3.1, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- httpcore5-h2@5.2.5, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- httpcore5@5.2.5, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- httpasyncclient@4.1.5, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- httpclient@4.5.13, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- httpclient@4.5.14, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- httpcore-nio@4.4.16, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- httpcore@4.4.16, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- log4j-api@2.23.1, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- log4j-core@2.23.1, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- log4j-to-slf4j@2.23.1, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-analyzers-common@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-backward-codecs@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-core@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-grouping@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-highlighter@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-join@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-memory@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-misc@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-queries@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-queryparser@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-sandbox@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-spatial3d@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- lucene-suggest@8.11.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- tika-core@2.9.2, [(Apache-2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- tomcat-embed-el@10.1.28, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-engine-dmn@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-engine-feel-api@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-engine-feel-juel@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-engine-feel-scala@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-juel@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-bpmn-model@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-cmmn-model@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-dmn-model@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-xml-model@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-engine@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-license-check@2.9.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-commons-logging@1.13.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-commons-typed-values@7.21.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-commons-utils@1.13.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-connect-connectors-all@1.6.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- camunda-connect-core@1.6.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- checker-qual@3.37.0, [(The MIT License)](http://opensource.org/licenses/MIT) +- checker-qual@3.43.0, [(The MIT License)](http://opensource.org/licenses/MIT) +- commons-compiler@3.1.12, [(BSD-3-Clause)](https://spdx.org/licenses/BSD-3-Clause.html) +- janino@3.1.12, [(BSD-3-Clause)](https://spdx.org/licenses/BSD-3-Clause.html) +- angus-activation@2.0.2, [(EDL 1.0)](http://www.eclipse.org/org/documents/edl-v10.php) +- jakarta.mail@2.0.3, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jetty-ee10-websocket-jakarta-client@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-ee10-websocket-jakarta-common@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-ee10-websocket-jakarta-server@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-ee10-websocket-jetty-server@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-ee10-websocket-servlet@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-ee10-annotations@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-ee10-plus@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-ee10-servlet@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-ee10-servlets@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-ee10-webapp@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-http2-common@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-http2-hpack@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-http2-server@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-websocket-core-client@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-websocket-core-common@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-websocket-core-server@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-websocket-jetty-api@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-websocket-jetty-common@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-alpn-client@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-alpn-java-client@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-alpn-java-server@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-alpn-server@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-client@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-ee@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-http@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-io@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-plus@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-rewrite@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-security@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-server@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-session@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-util@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- jetty-xml@12.0.12, [(Eclipse Public License - Version 2.0)](https://www.eclipse.org/legal/epl-2.0/) +- parsson@1.1.6, [(Eclipse Public License 2.0)](https://projects.eclipse.org/license/epl-2.0) +- yasson@3.0.4, [(Eclipse Public License v. 2.0)](http://www.eclipse.org/legal/epl-v20.html) +- ehcache@3.10.8, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- elasticsearch-rest-client@8.13.4, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0) +- elasticsearch-rest-high-level-client@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- aggs-matrix-stats-client@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- lang-mustache-client@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- mapper-extras-client@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- parent-join-client@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- rank-eval-client@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- elasticsearch-cli@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- elasticsearch-core@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- elasticsearch-geo@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- elasticsearch-lz4@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- elasticsearch-plugin-classloader@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- elasticsearch-secure-sm@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- elasticsearch-x-content@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- elasticsearch@7.17.23, [(Elastic License 2.0)](https://raw.githubusercontent.com/elastic/elasticsearch/v7.17.23/licenses/ELASTIC-LICENSE-2.0.txt) +- freemarker@2.3.33, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- expressly@5.0.0, [(Eclipse Public License v. 2.0)](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt) +- aopalliance-repackaged@3.0.6, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- class-model@3.0.6, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- hk2-api@3.0.6, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- hk2-core@3.0.6, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- hk2-locator@3.0.6, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- hk2-runlevel@3.0.6, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- hk2-utils@3.0.6, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- hk2@3.0.6, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- osgi-resource-locator@1.0.3, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- spring-bridge@3.0.6, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jersey-container-servlet-core@3.1.8, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jersey-container-servlet@3.1.8, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jersey-client@3.1.8, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jersey-common@3.1.8, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jersey-server@3.1.8, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jersey-bean-validation@3.1.8, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jersey-entity-filtering@3.1.8, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jersey-spring6@3.1.8, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jersey-hk2@3.1.8, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- jersey-media-json-jackson@3.1.8, [(EPL 2.0)](http://www.eclipse.org/legal/epl-2.0) +- HdrHistogram@2.1.9, [(Public Domain, per Creative Commons CC0)](http://creativecommons.org/publicdomain/zero/1.0/) +- HdrHistogram@2.2.2, [(Public Domain, per Creative Commons CC0)](http://creativecommons.org/publicdomain/zero/1.0/) +- hibernate-validator@8.0.1.Final, [(Apache License 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- javassist@3.30.2-GA, [(MPL 1.1)](https://www.mozilla.org/en-US/MPL/1.1/) +- jboss-logging@3.5.3.Final, [(Apache License 2.0)](https://repository.jboss.org/licenses/apache-2.0.txt) +- kotlin-stdlib-common@1.9.25, [(The Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- kotlin-stdlib-jdk7@1.9.25, [(The Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- kotlin-stdlib-jdk8@1.9.25, [(The Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- kotlin-stdlib@1.9.25, [(The Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- annotations@13.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- annotations@17.0.0, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- LatencyUtils@2.0.3, [(Public Domain, per Creative Commons CC0)](http://creativecommons.org/publicdomain/zero/1.0/) +- lz4-java@1.8.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- mybatis@3.5.15, [(The Apache Software License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- opensearch-java@2.10.1, [(The Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0.txt) +- opensearch-rest-client@2.12.0, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- asm-commons@9.7, [(BSD-3-Clause)](https://asm.ow2.io/license.html) +- asm-tree@9.7, [(BSD-3-Clause)](https://asm.ow2.io/license.html) +- asm@9.6, [(BSD-3-Clause)](https://asm.ow2.io/license.html) +- asm@9.7, [(BSD-3-Clause)](https://asm.ow2.io/license.html) +- postgresql@42.7.3, [(BSD-2-Clause)](https://jdbc.postgresql.org/about/license.html) +- quartz@2.3.2, [(The Apache Software License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- reactive-streams@1.0.4, [(MIT-0)](https://spdx.org/licenses/MIT-0.html) +- jul-to-slf4j@2.0.16, [(MIT License)](http://www.opensource.org/licenses/mit-license.php) +- slf4j-api@2.0.16, [(MIT License)](http://www.opensource.org/licenses/mit-license.php) +- spring-boot-actuator-autoconfigure@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-actuator@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-autoconfigure@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-starter-actuator@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-starter-jersey@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-starter-jetty@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-starter-json@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-starter-logging@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-starter-mail@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-starter-validation@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-starter-web@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot-starter@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-boot@3.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-security-config@6.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-security-core@6.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-security-crypto@6.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-security-oauth2-client@6.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-security-oauth2-core@6.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-security-oauth2-jose@6.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-security-oauth2-resource-server@6.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-security-web@6.3.3, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-aop@6.1.12, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-beans@6.1.12, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-context-support@6.1.12, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-context@6.1.12, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-core@6.1.12, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-expression@6.1.12, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-jcl@6.1.12, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-tx@6.1.12, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-web@6.1.12, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- spring-webmvc@6.1.12, [(Apache License, Version 2.0)](https://www.apache.org/licenses/LICENSE-2.0) +- snakeyaml@2.2, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- snakeyaml@2.3, [(Apache License, Version 2.0)](http://www.apache.org/licenses/LICENSE-2.0.txt) +- annotations@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- apache-client@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- auth@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- aws-core@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- aws-query-protocol@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- checksums-spi@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- checksums@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- endpoints-spi@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- http-auth-aws-eventstream@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- http-auth-aws@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- http-auth-spi@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- http-auth@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- http-client-spi@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- identity-spi@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- json-utils@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- metrics-spi@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- netty-nio-client@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- profiles@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- protocol-core@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- regions@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- retries-spi@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- retries@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- sdk-core@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- sts@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- third-party-jackson-core@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- utils@2.27.18, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) +- eventstream@1.0.1, [(Apache License, Version 2.0)](https://aws.amazon.com/apache2.0) + + + + + ### Optimize Dependencies (Front end) - [@babel/runtime@7.23.2](https://babel.dev/team) (MIT) @@ -2063,1025 +3143,28 @@ All of these libraries are required for core functionality. - - -Desktop Modeler is a desktop modeling application that builds upon a number of third party libraries. You find an up-to-date list of third party libraries used and their license terms in the [THIRD_PARTY_NOTICES](https://github.com/camunda/camunda-modeler/blob/master/THIRD_PARTY_NOTICES), located in the root of the source code repository. This file is also shipped with the application distribution as `THIRD_PARTY_NOTICES.camunda-modeler.txt`. + - - -### Web Modeler Dependencies (webapp) - -- [@auth0/auth0-spa-js@2.1.3](https://github.com/auth0/auth0-spa-js) (MIT) -- [@babel/runtime@7.25.0](https://github.com/babel/babel) (MIT) -- [@bpmn-io/add-exporter@0.2.0](https://github.com/bpmn-io/add-exporter) (MIT) -- [@bpmn-io/align-to-origin@0.7.0](https://github.com/bpmn-io/align-to-origin) (MIT) -- [@bpmn-io/cm-theme@0.1.0-alpha.2](https://www.npmjs.com/package/@bpmn-io/cm-theme@0.1.0-alpha.2) (MIT) -- [@bpmn-io/diagram-js-ui@0.2.3](https://github.com/bpmn-io/diagram-js-ui) (MIT) -- [@bpmn-io/dmn-variable-resolver@0.7.0](https://www.npmjs.com/package/@bpmn-io/dmn-variable-resolver@0.7.0) (MIT) -- [@bpmn-io/draggle@4.0.0](https://github.com/bpmn-io/draggle) (MIT) -- [@bpmn-io/element-template-chooser@1.0.0](https://github.com/bpmn-io/element-template-chooser) (MIT) -- [@bpmn-io/element-template-icon-renderer@0.5.2](https://github.com/bpmn-io/element-template-icon-renderer) (MIT) -- [@bpmn-io/element-templates-validator@2.1.0](https://github.com/bpmn-io/element-templates-validator) (MIT) -- [@bpmn-io/extract-process-variables@0.8.0](https://github.com/bpmn-io/extract-process-variables) (MIT) -- [@bpmn-io/feel-editor@1.6.1](https://github.com/bpmn-io/feel-editor) (MIT) -- [@bpmn-io/feel-lint@1.2.0](https://github.com/bpmn-io/feel-linter) (MIT) -- [@bpmn-io/form-js-carbon-styles@1.10.0](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-editor@1.10.0](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-playground@1.10.0](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-viewer@1.10.0](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js@1.10.0](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-variable-provider@1.3.0](https://github.com/bpmn-io/form-variable-provider) (MIT) -- [@bpmn-io/moddle-utils@0.2.1](https://github.com/bpmn-io/moddle-utils) (MIT) -- [@bpmn-io/properties-panel@3.23.0](https://github.com/bpmn-io/properties-panel) (MIT) -- [@bpmn-io/refactorings@0.3.0](https://www.npmjs.com/package/@bpmn-io/refactorings@0.3.0) (MIT) -- [@bpmn-io/replace-ids@0.2.0](https://github.com/bpmn-io/replace-ids) (MIT) -- [@bpmn-io/variable-outline@1.0.1](https://www.npmjs.com/package/@bpmn-io/variable-outline@1.0.1) (MIT) -- [@bpmn-io/variable-resolver@1.2.2](https://www.npmjs.com/package/@bpmn-io/variable-resolver@1.2.2) (MIT) -- [@camunda-cloud/license-validator@0.1.2](https://github.com/camunda-cloud/camunda-cloud-management-apps) (UNKNOWN) -- [@camunda/camunda-composite-components@0.8.1](https://github.com/camunda-cloud/camunda-composite-components) (Apache-2.0) -- [@camunda/element-templates-json-schema@0.18.0](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@camunda/example-data-properties-provider@1.2.1](https://www.npmjs.com/package/@camunda/example-data-properties-provider@1.2.1) (MIT) -- [@camunda/execution-platform@0.3.2](https://github.com/camunda/execution-platform) (MIT) -- [@camunda/form-js-assistant-module@0.5.0](https://github.com/camunda/form-js-assistant-module) (UNKNOWN) -- [@camunda/form-linting@0.16.0](https://www.npmjs.com/package/@camunda/form-linting@0.16.0) (MIT) -- [@camunda/form-playground@0.15.0](https://github.com/camunda/form-playground) (MIT) -- [@camunda/improved-canvas@1.7.2](https://github.com/camunda/improved-canvas) (MIT) -- [@camunda/linting@3.26.0](https://github.com/camunda/linting) (MIT) -- [@camunda/play@1.18.0](https://www.npmjs.com/package/@camunda/play@1.18.0) (Apache-2.0) -- [@camunda/zeebe-element-templates-json-schema@0.20.0](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@camunda8/sdk@8.6.11](https://github.com/camunda/camunda-8-js-sdk) (Apache-2.0) -- [@carbon/colors@11.24.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/elements@11.49.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/feature-flags@0.16.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/feature-flags@0.21.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/grid@11.25.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icon-helpers@10.50.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icons-react@11.47.1](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icons@11.45.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/layout@11.24.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/motion@11.20.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/react@1.50.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/react@1.63.2](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/styles@1.62.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/themes@11.38.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/type@11.29.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@codemirror/autocomplete@6.16.3](https://github.com/codemirror/autocomplete) (MIT) -- [@codemirror/commands@6.6.0](https://github.com/codemirror/commands) (MIT) -- [@codemirror/lang-json@6.0.1](https://github.com/codemirror/lang-json) (MIT) -- [@codemirror/language@6.10.2](https://github.com/codemirror/language) (MIT) -- [@codemirror/lint@6.8.0](https://github.com/codemirror/lint) (MIT) -- [@codemirror/search@6.5.5](https://github.com/codemirror/search) (MIT) -- [@codemirror/state@6.4.1](https://github.com/codemirror/state) (MIT) -- [@codemirror/view@6.28.2](https://github.com/codemirror/view) (MIT) -- [@colors/colors@1.6.0](https://github.com/DABH/colors.js) (MIT) -- [@dabh/diagnostics@2.0.3](https://github.com/3rd-Eden/diagnostics) (MIT) -- [@emotion/is-prop-valid@1.2.2](https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid) (MIT) -- [@emotion/memoize@0.8.1](https://github.com/emotion-js/emotion/tree/main/packages/memoize) (MIT) -- [@emotion/unitless@0.8.1](https://github.com/emotion-js/emotion/tree/main/packages/unitless) (MIT) -- [@floating-ui/core@1.6.7](https://github.com/floating-ui/floating-ui) (MIT) -- [@floating-ui/dom@1.6.10](https://github.com/floating-ui/floating-ui) (MIT) -- [@floating-ui/react-dom@2.1.1](https://github.com/floating-ui/floating-ui) (MIT) -- [@floating-ui/react@0.26.22](https://github.com/floating-ui/floating-ui) (MIT) -- [@floating-ui/utils@0.2.7](https://github.com/floating-ui/floating-ui) (MIT) -- [@grpc/grpc-js@1.10.9](https://github.com/grpc/grpc-node/tree/master/packages/grpc-js) (Apache-2.0) -- [@grpc/proto-loader@0.7.13](https://github.com/grpc/grpc-node) (Apache-2.0) -- [@hapi/hoek@9.3.0](https://github.com/hapijs/hoek) (BSD-3-Clause) -- [@hapi/topo@5.1.0](https://github.com/hapijs/topo) (BSD-3-Clause) -- [@ibm/plex@6.0.0-next.6](https://github.com/ibm/plex) (OFL-1.1) -- [@ibm/telemetry-js@1.5.2](https://github.com/ibm-telemetry/telemetry-js) (Apache-2.0) -- [@js-sdsl/ordered-map@4.4.2](https://github.com/js-sdsl/js-sdsl) (MIT) -- [@lezer/common@1.2.1](https://github.com/lezer-parser/common) (MIT) -- [@lezer/highlight@1.2.0](https://github.com/lezer-parser/highlight) (MIT) -- [@lezer/json@1.0.2](https://github.com/lezer-parser/json) (MIT) -- [@lezer/lr@1.4.2](https://github.com/lezer-parser/lr) (MIT) -- [@lezer/markdown@1.3.0](https://github.com/lezer-parser/markdown) (MIT) -- [@monaco-editor/loader@1.4.0](https://github.com/suren-atoyan/monaco-loader) (MIT) -- [@monaco-editor/react@4.6.0](https://github.com/suren-atoyan/monaco-react) (MIT) -- [@opentelemetry/api-logs@0.52.1](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/api@1.9.0](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/context-async-hooks@1.25.1](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/core@1.25.1](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/instrumentation-connect@0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-express@0.41.1](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-fastify@0.38.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-fs@0.14.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-graphql@0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-hapi@0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-http@0.52.1](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/instrumentation-ioredis@0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-koa@0.42.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-mongodb@0.46.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-mongoose@0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-mysql2@0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-mysql@0.40.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-nestjs-core@0.39.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-pg@0.43.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation-redis-4@0.41.0](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/instrumentation@0.46.0](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/instrumentation@0.52.1](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/redis-common@0.36.2](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@opentelemetry/resources@1.25.1](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/sdk-metrics@1.25.1](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/sdk-trace-base@1.25.1](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/semantic-conventions@1.25.1](https://github.com/open-telemetry/opentelemetry-js) (Apache-2.0) -- [@opentelemetry/sql-common@0.40.1](https://github.com/open-telemetry/opentelemetry-js-contrib) (Apache-2.0) -- [@prisma/instrumentation@5.17.0](https://github.com/prisma/prisma) (Apache-2.0) -- [@protobufjs/aspromise@1.1.2](https://github.com/dcodeIO/protobuf.js) (BSD-3-Clause) -- [@protobufjs/base64@1.1.2](https://github.com/dcodeIO/protobuf.js) (BSD-3-Clause) -- [@protobufjs/codegen@2.0.4](https://github.com/dcodeIO/protobuf.js) (BSD-3-Clause) -- [@protobufjs/eventemitter@1.1.0](https://github.com/dcodeIO/protobuf.js) (BSD-3-Clause) -- [@protobufjs/fetch@1.1.0](https://github.com/dcodeIO/protobuf.js) (BSD-3-Clause) -- [@protobufjs/float@1.0.2](https://github.com/dcodeIO/protobuf.js) (BSD-3-Clause) -- [@protobufjs/inquire@1.1.0](https://github.com/dcodeIO/protobuf.js) (BSD-3-Clause) -- [@protobufjs/path@1.1.2](https://github.com/dcodeIO/protobuf.js) (BSD-3-Clause) -- [@protobufjs/pool@1.1.0](https://github.com/dcodeIO/protobuf.js) (BSD-3-Clause) -- [@protobufjs/utf8@1.1.0](https://github.com/dcodeIO/protobuf.js) (BSD-3-Clause) -- [@sentry-internal/browser-utils@8.26.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry-internal/feedback@8.26.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry-internal/replay-canvas@8.26.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry-internal/replay@8.26.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/browser@8.26.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/core@8.26.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/node@8.26.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/opentelemetry@8.26.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/types@8.26.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/utils@8.26.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sideway/address@4.1.5](https://github.com/sideway/address) (BSD-3-Clause) -- [@sideway/formula@3.0.1](https://github.com/sideway/formula) (BSD-3-Clause) -- [@sideway/pinpoint@2.0.0](https://github.com/sideway/pinpoint) (BSD-3-Clause) -- [@sindresorhus/is@4.6.0](https://github.com/sindresorhus/is) (MIT) -- [@szmarczak/http-timer@4.0.6](https://github.com/szmarczak/http-timer) (MIT) -- [@types/cacheable-request@6.0.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/connect@3.4.36](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/debug@4.1.12](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/hast@2.3.9](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/http-cache-semantics@4.0.4](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/keyv@3.1.4](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/mdast@3.0.15](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/ms@0.7.34](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/mysql@2.15.22](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/node-fetch@2.6.11](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/node@20.11.6](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/pg-pool@2.0.4](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/pg@8.6.1](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/prop-types@15.7.11](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/raf@3.4.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/react@18.2.48](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/responselike@1.0.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/scheduler@0.16.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/shimmer@1.0.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/stylis@4.2.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/triple-beam@1.3.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/unist@2.0.10](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@vimeo/player@2.23.0](https://github.com/vimeo/player.js) (MIT) -- [abort-controller@3.0.0](https://github.com/mysticatea/abort-controller) (MIT) -- [accepts@1.3.8](https://github.com/jshttp/accepts) (MIT) -- [acorn-import-assertions@1.9.0](https://github.com/xtuc/acorn-import-assertions) (MIT) -- [acorn-import-attributes@1.9.5](https://github.com/xtuc/acorn-import-attributes) (MIT) -- [acorn@8.11.3](https://github.com/acornjs/acorn) (MIT) -- [ansi-colors@4.1.3](https://github.com/doowb/ansi-colors) (MIT) -- [ansi-regex@5.0.1](https://github.com/chalk/ansi-regex) (MIT) -- [ansi-styles@3.2.1](https://github.com/chalk/ansi-styles) (MIT) -- [ansi-styles@4.3.0](https://github.com/chalk/ansi-styles) (MIT) -- [any-promise@1.3.0](https://github.com/kevinbeaty/any-promise) (MIT) -- [anymatch@3.1.3](https://github.com/micromatch/anymatch) (ISC) -- [array-move@3.0.1](https://github.com/sindresorhus/array-move) (MIT) -- [array-move@4.0.0](https://github.com/sindresorhus/array-move) (MIT) -- [async@3.2.5](https://github.com/caolan/async) (MIT) -- [asynckit@0.4.0](https://github.com/alexindigo/asynckit) (MIT) -- [atoa@1.0.0](https://github.com/bevacqua/atoa) (MIT) -- [axios@1.7.5](https://github.com/axios/axios) (MIT) -- [bail@2.0.2](https://github.com/wooorm/bail) (MIT) -- [big.js@6.2.1](https://github.com/MikeMcl/big.js) (MIT) -- [binary-extensions@2.2.0](https://github.com/sindresorhus/binary-extensions) (MIT) -- [bintrees@1.0.2](https://github.com/vadimg/js_bintrees) (MIT) -- [bpmn-js-color-picker@0.7.1](https://github.com/bpmn-io/bpmn-js-color-picker) (MIT) -- [bpmn-js-create-append-anything@0.5.2](https://github.com/bpmn-io/bpmn-js-create-append-anything) (MIT) -- [bpmn-js-differ@2.0.2](https://github.com/bpmn-io/bpmn-js-differ) (MIT) -- [bpmn-js-element-templates@1.16.0](https://github.com/bpmn-io/bpmn-js-element-templates) (MIT) -- [bpmn-js-element-templates@2.2.0](https://github.com/bpmn-io/bpmn-js-element-templates) (MIT) -- [bpmn-js-executable-fix@0.2.1](https://github.com/bpmn-io/bpmn-js-executable-fix) (MIT) -- [bpmn-js-properties-panel@5.23.0](https://github.com/bpmn-io/bpmn-js-properties-panel) (MIT) -- [bpmn-js-token-simulation@0.34.4](https://github.com/bpmn-io/bpmn-js-token-simulation) (MIT) -- [bpmn-js-tracking@0.6.0](https://github.com/bpmn-io/bpmn-js-tracking) (MIT) -- [bpmn-js@17.9.2](https://github.com/bpmn-io/bpmn-js) (MIT\*) -- [bpmn-moddle@8.1.0](https://github.com/bpmn-io/bpmn-moddle) (MIT) -- [bpmn-moddle@9.0.1](https://github.com/bpmn-io/bpmn-moddle) (MIT) -- [bpmnlint-plugin-camunda-compat@2.25.0](https://github.com/camunda/bpmnlint-plugin-camunda-compat) (MIT) -- [bpmnlint-utils@1.1.1](https://github.com/bpmn-io/bpmnlint-utils) (MIT) -- [bpmnlint@10.3.0](https://github.com/bpmn-io/bpmnlint) (MIT) -- [braces@3.0.3](https://github.com/micromatch/braces) (MIT) -- [buffer-from@1.1.2](https://github.com/LinusU/buffer-from) (MIT) -- [bytes@3.1.2](https://github.com/visionmedia/bytes.js) (MIT) -- [cache-content-type@1.0.1](https://github.com/node-modules/cache-content-type) (MIT) -- [cacheable-lookup@5.0.4](https://github.com/szmarczak/cacheable-lookup) (MIT) -- [cacheable-request@7.0.4](https://github.com/lukechilds/cacheable-request) (MIT) -- [call-bind@1.0.7](https://github.com/ljharb/call-bind) (MIT) -- [camelize@1.0.1](https://github.com/ljharb/camelize) (MIT) -- [camunda-bpmn-js-behaviors@1.5.0](https://github.com/camunda/camunda-bpmn-js-behaviors) (MIT) -- [camunda-bpmn-js@4.18.0](https://github.com/camunda/camunda-bpmn-js) (MIT) -- [camunda-bpmn-moddle@7.0.1](https://github.com/camunda/camunda-bpmn-moddle) (MIT) -- [camunda-dmn-js@2.8.1](https://github.com/camunda/camunda-dmn-js) (MIT) -- [camunda-dmn-moddle@1.3.0](https://github.com/camunda/camunda-dmn-moddle) (MIT) -- [canvg@4.0.2](https://github.com/canvg/canvg) (MIT) -- [chalk@2.4.2](https://github.com/chalk/chalk) (MIT) -- [chalk@4.1.2](https://github.com/chalk/chalk) (MIT) -- [character-entities@2.0.2](https://github.com/wooorm/character-entities) (MIT) -- [chokidar@3.5.3](https://github.com/paulmillr/chokidar) (MIT) -- [cjs-module-lexer@1.2.3](https://github.com/nodejs/cjs-module-lexer) (MIT) -- [classnames@2.5.1](https://github.com/JedWatson/classnames) (MIT) -- [cli-table@0.3.11](https://github.com/Automattic/cli-table) (MIT\*) -- [cliui@8.0.1](https://github.com/yargs/cliui) (ISC) -- [clone-response@1.0.3](https://github.com/sindresorhus/clone-response) (MIT) -- [clone@2.1.2](https://github.com/pvorb/node-clone) (MIT) -- [clsx@2.1.0](https://github.com/lukeed/clsx) (MIT) -- [co-body@6.1.0](https://github.com/cojs/co-body) (MIT) -- [co@4.6.0](https://github.com/tj/co) (MIT) -- [codemirror@6.0.1](https://github.com/codemirror/basic-setup) (MIT) -- [color-convert@1.9.3](https://github.com/Qix-/color-convert) (MIT) -- [color-convert@2.0.1](https://github.com/Qix-/color-convert) (MIT) -- [color-name@1.1.3](https://github.com/dfcreative/color-name) (MIT) -- [color-name@1.1.4](https://github.com/colorjs/color-name) (MIT) -- [color-string@1.9.1](https://github.com/Qix-/color-string) (MIT) -- [color-support@1.1.3](https://github.com/isaacs/color-support) (ISC) -- [color@3.2.1](https://github.com/Qix-/color) (MIT) -- [color@4.2.3](https://github.com/Qix-/color) (MIT) -- [colors@1.0.3](https://github.com/Marak/colors.js) (MIT) -- [colorspace@1.1.4](https://github.com/3rd-Eden/colorspace) (MIT) -- [combined-stream@1.0.8](https://github.com/felixge/node-combined-stream) (MIT) -- [comma-separated-tokens@2.0.3](https://github.com/wooorm/comma-separated-tokens) (MIT) -- [component-event@0.2.1](https://github.com/component/event) (MIT) -- [component-props@1.1.1](https://github.com/component/props) (MIT\*) -- [component-xor@0.0.4](https://github.com/component/xor) (MIT) -- [compressible@2.0.18](https://github.com/jshttp/compressible) (MIT) -- [compute-scroll-into-view@3.1.0](https://github.com/scroll-into-view/compute-scroll-into-view) (MIT) -- [console-stamp@3.1.2](https://github.com/starak/node-console-stamp) (MIT) -- [content-disposition@0.5.4](https://github.com/jshttp/content-disposition) (MIT) -- [content-type@1.0.5](https://github.com/jshttp/content-type) (MIT) -- [contra@1.9.4](https://github.com/bevacqua/contra) (MIT) -- [cookies@0.9.1](https://github.com/pillarjs/cookies) (MIT) -- [copy-to-clipboard@3.3.3](https://github.com/sudodoki/copy-to-clipboard) (MIT) -- [copy-to@2.0.1](https://github.com/node-modules/copy-to) (MIT) -- [core-js@3.38.1](https://github.com/zloirock/core-js) (MIT) -- [crelt@1.0.6](https://github.com/marijnh/crelt) (MIT) -- [crossvent@1.5.5](https://github.com/bevacqua/crossvent) (MIT) -- [crypto-js@4.2.0](https://github.com/brix/crypto-js) (MIT) -- [css-color-keywords@1.0.0](https://github.com/sonicdoe/css-color-keywords) (ISC) -- [css-to-react-native@3.2.0](https://github.com/styled-components/css-to-react-native) (MIT) -- [css.escape@1.5.1](https://github.com/mathiasbynens/CSS.escape) (MIT) -- [csstype@3.1.3](https://github.com/frenic/csstype) (MIT) -- [custom-event@1.0.1](https://github.com/webmodules/custom-event) (MIT) -- [dateformat@4.6.3](https://github.com/felixge/node-dateformat) (MIT) -- [dayjs@1.11.12](https://github.com/iamkun/dayjs) (MIT) -- [debug@3.2.7](https://github.com/visionmedia/debug) (MIT) -- [debug@4.3.6](https://github.com/debug-js/debug) (MIT) -- [decode-named-character-reference@1.0.2](https://github.com/wooorm/decode-named-character-reference) (MIT) -- [decompress-response@6.0.0](https://github.com/sindresorhus/decompress-response) (MIT) -- [deep-equal@1.0.1](https://github.com/substack/node-deep-equal) (MIT) -- [deep-object-diff@1.1.9](https://github.com/mattphillips/deep-object-diff) (MIT) -- [deepmerge@4.3.1](https://github.com/TehShrike/deepmerge) (MIT) -- [defer-to-connect@2.0.1](https://github.com/szmarczak/defer-to-connect) (MIT) -- [define-data-property@1.1.4](https://github.com/ljharb/define-data-property) (MIT) -- [delayed-stream@1.0.0](https://github.com/felixge/node-delayed-stream) (MIT) -- [delegates@1.0.0](https://github.com/visionmedia/node-delegates) (MIT) -- [depd@1.1.2](https://github.com/dougwilson/nodejs-depd) (MIT) -- [depd@2.0.0](https://github.com/dougwilson/nodejs-depd) (MIT) -- [dequal@2.0.3](https://github.com/lukeed/dequal) (MIT) -- [destroy@1.2.0](https://github.com/stream-utils/destroy) (MIT) -- [diagram-js-direct-editing@3.0.1](https://github.com/bpmn-io/diagram-js-direct-editing) (MIT) -- [diagram-js-grid@1.0.0](https://github.com/bpmn-io/diagram-js-grid) (MIT) -- [diagram-js-minimap@5.1.0](https://github.com/bpmn-io/diagram-js-minimap) (MIT) -- [diagram-js-origin@1.4.0](https://github.com/bpmn-io/diagram-js-origin) (MIT) -- [diagram-js@14.9.0](https://github.com/bpmn-io/diagram-js) (MIT) -- [didi@10.2.2](https://github.com/nikku/didi) (MIT) -- [diff-match-patch@1.0.5](https://github.com/JackuB/diff-match-patch) (Apache-2.0) -- [diff@5.1.0](https://github.com/kpdecker/jsdiff) (BSD-3-Clause) -- [diffpatch@0.5.1](https://github.com/bpmn-io/diffpatch) (MIT) -- [dmn-js-boxed-expression@16.6.1](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-decision-table@16.6.2](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-drd@16.6.1](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-literal-expression@16.6.1](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-properties-panel@3.5.2](https://github.com/bpmn-io/dmn-js-properties-panel) (MIT) -- [dmn-js-shared@16.6.1](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js@16.6.2](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-moddle@10.0.0](https://github.com/bpmn-io/dmn-moddle) (MIT) -- [dom-iterator@1.0.0](https://github.com/MatthewMueller/dom-iterator) (MIT) -- [domify@1.4.2](https://github.com/sindresorhus/domify) (MIT) -- [domify@2.0.0](https://github.com/sindresorhus/domify) (MIT) -- [dompurify@3.1.6](https://github.com/cure53/DOMPurify) ((MPL-2.0 OR Apache-2.0)) -- [downloadjs@1.4.7](https://github.com/rndme/download) (MIT) -- [downshift@8.3.1](https://github.com/downshift-js/downshift) (MIT) -- [downshift@8.5.0](https://github.com/downshift-js/downshift) (MIT) -- [ee-first@1.1.1](https://github.com/jonathanong/ee-first) (MIT) -- [emoji-regex@8.0.0](https://github.com/mathiasbynens/emoji-regex) (MIT) -- [enabled@2.0.0](https://github.com/3rd-Eden/enabled) (MIT) -- [encodeurl@1.0.2](https://github.com/pillarjs/encodeurl) (MIT) -- [end-of-stream@1.4.4](https://github.com/mafintosh/end-of-stream) (MIT) -- [err-code@1.1.2](https://github.com/IndigoUnited/js-err-code) (MIT) -- [es-define-property@1.0.0](https://github.com/ljharb/es-define-property) (MIT) -- [es-errors@1.3.0](https://github.com/ljharb/es-errors) (MIT) -- [es6-promise@3.3.1](https://github.com/stefanpenner/es6-promise) (MIT) -- [escalade@3.1.2](https://github.com/lukeed/escalade) (MIT) -- [escape-html@1.0.3](https://github.com/component/escape-html) (MIT) -- [escape-string-regexp@1.0.5](https://github.com/sindresorhus/escape-string-regexp) (MIT) -- [event-source-polyfill@1.0.31](https://github.com/Yaffle/EventSource) (MIT) -- [event-target-shim@5.0.1](https://github.com/mysticatea/event-target-shim) (MIT) -- [extend@3.0.2](https://github.com/justmoon/node-extend) (MIT) -- [fast-xml-parser@4.4.1](https://github.com/NaturalIntelligence/fast-xml-parser) (MIT) -- [fecha@4.2.3](https://github.com/taylorhakes/fecha) (MIT) -- [feelers@1.4.0](https://www.npmjs.com/package/feelers) (MIT) -- [feelin@3.1.2](https://github.com/nikku/feelin) (MIT) -- [file-drops@0.5.0](https://github.com/nikku/file-drops) (MIT) -- [fill-range@7.1.1](https://github.com/jonschlinkert/fill-range) (MIT) -- [flatpickr@4.6.13](https://github.com/chmln/flatpickr) (MIT) -- [flatpickr@4.6.9](https://github.com/chmln/flatpickr) (MIT) -- [fn.name@1.1.0](https://github.com/3rd-Eden/fn.name) (MIT) -- [focus-trap@7.5.4](https://github.com/focus-trap/focus-trap) (MIT) -- [follow-redirects@1.15.6](https://github.com/follow-redirects/follow-redirects) (MIT) -- [form-data@4.0.0](https://github.com/form-data/form-data) (MIT) -- [fresh@0.5.2](https://github.com/jshttp/fresh) (MIT) -- [fs-readdir-recursive@1.1.0](https://github.com/fs-utils/fs-readdir-recursive) (MIT) -- [function-bind@1.1.2](https://github.com/Raynos/function-bind) (MIT) -- [get-caller-file@2.0.5](https://github.com/stefanpenner/get-caller-file) (ISC) -- [get-intrinsic@1.2.4](https://github.com/ljharb/get-intrinsic) (MIT) -- [get-stream@5.2.0](https://github.com/sindresorhus/get-stream) (MIT) -- [glob-parent@5.1.2](https://github.com/gulpjs/glob-parent) (ISC) -- [globalyzer@0.1.0](https://github.com/terkelg/globalyzer) (MIT) -- [globrex@0.1.2](https://github.com/terkelg/globrex) (MIT) -- [gopd@1.0.1](https://github.com/ljharb/gopd) (MIT) -- [got@11.8.6](https://github.com/sindresorhus/got) (MIT) -- [has-flag@3.0.0](https://github.com/sindresorhus/has-flag) (MIT) -- [has-flag@4.0.0](https://github.com/sindresorhus/has-flag) (MIT) -- [has-property-descriptors@1.0.2](https://github.com/inspect-js/has-property-descriptors) (MIT) -- [has-proto@1.0.3](https://github.com/inspect-js/has-proto) (MIT) -- [has-symbols@1.0.3](https://github.com/inspect-js/has-symbols) (MIT) -- [has-tostringtag@1.0.2](https://github.com/inspect-js/has-tostringtag) (MIT) -- [hasown@2.0.2](https://github.com/inspect-js/hasOwn) (MIT) -- [hast-util-whitespace@2.0.1](https://github.com/syntax-tree/hast-util-whitespace) (MIT) -- [helmet@6.2.0](https://github.com/helmetjs/helmet) (MIT) -- [history@4.10.1](https://github.com/ReactTraining/history) (MIT) -- [hoist-non-react-statics@3.3.2](https://github.com/mridgway/hoist-non-react-statics) (BSD-3-Clause) -- [htm@3.1.1](https://github.com/developit/htm) (Apache-2.0) -- [http-assert@1.5.0](https://github.com/jshttp/http-assert) (MIT) -- [http-cache-semantics@4.1.1](https://github.com/kornelski/http-cache-semantics) (BSD-2-Clause) -- [http-errors@1.8.1](https://github.com/jshttp/http-errors) (MIT) -- [http-errors@2.0.0](https://github.com/jshttp/http-errors) (MIT) -- [http2-wrapper@1.0.3](https://github.com/szmarczak/http2-wrapper) (MIT) -- [iconv-lite@0.4.24](https://github.com/ashtuchkin/iconv-lite) (MIT) -- [ids@1.0.5](https://github.com/bpmn-io/ids) (MIT) -- [immutable@4.3.4](https://github.com/immutable-js/immutable-js) (MIT) -- [import-in-the-middle@1.11.0](https://github.com/nodejs/import-in-the-middle) (Apache-2.0) -- [import-in-the-middle@1.7.1](https://github.com/DataDog/import-in-the-middle) (Apache-2.0) -- [inferno-shared@5.6.3](https://github.com/infernojs/inferno) (MIT) -- [inferno-vnode-flags@5.6.3](https://github.com/infernojs/inferno) (MIT) -- [inferno@5.6.3](https://github.com/infernojs/inferno) (MIT) -- [inflation@2.1.0](https://github.com/stream-utils/inflation) (MIT) -- [inherits-browser@0.1.0](https://github.com/nikku/inherits-browser) (ISC) -- [inherits@2.0.4](https://github.com/isaacs/inherits) (ISC) -- [inline-style-parser@0.1.1](https://github.com/remarkablemark/inline-style-parser) (MIT) -- [invariant@2.2.4](https://github.com/zertosh/invariant) (MIT) -- [is-arrayish@0.3.2](https://github.com/qix-/node-is-arrayish) (MIT) -- [is-base64@1.1.0](https://github.com/miguelmota/is-base64) (MIT) -- [is-binary-path@2.1.0](https://github.com/sindresorhus/is-binary-path) (MIT) -- [is-buffer@2.0.5](https://github.com/feross/is-buffer) (MIT) -- [is-core-module@2.13.1](https://github.com/inspect-js/is-core-module) (MIT) -- [is-electron@2.2.2](https://github.com/cheton/is-electron) (MIT) -- [is-extglob@2.1.1](https://github.com/jonschlinkert/is-extglob) (MIT) -- [is-fullwidth-code-point@3.0.0](https://github.com/sindresorhus/is-fullwidth-code-point) (MIT) -- [is-generator-function@1.0.10](https://github.com/inspect-js/is-generator-function) (MIT) -- [is-glob@4.0.3](https://github.com/micromatch/is-glob) (MIT) -- [is-number@7.0.0](https://github.com/jonschlinkert/is-number) (MIT) -- [is-plain-obj@4.1.0](https://github.com/sindresorhus/is-plain-obj) (MIT) -- [is-stream@2.0.1](https://github.com/sindresorhus/is-stream) (MIT) -- [isarray@0.0.1](https://github.com/juliangruber/isarray) (MIT) -- [joi@17.13.3](https://github.com/hapijs/joi) (BSD-3-Clause) -- [jose@5.7.0](https://github.com/panva/jose) (MIT) -- [js-sha256@0.11.0](https://github.com/emn178/js-sha256) (MIT) -- [js-tokens@4.0.0](https://github.com/lydell/js-tokens) (MIT) -- [json-buffer@3.0.1](https://github.com/dominictarr/json-buffer) (MIT) -- [json-source-map@0.6.1](https://github.com/epoberezkin/json-source-map) (MIT) -- [jwt-decode@3.1.2](https://github.com/auth0/jwt-decode) (MIT) -- [jwt-decode@4.0.0](https://github.com/auth0/jwt-decode) (MIT) -- [keycode-js@3.1.0](https://github.com/kabirbaidhya/keycode-js) (MIT) -- [keygrip@1.1.0](https://github.com/crypto-utils/keygrip) (MIT) -- [keyv@4.5.4](https://github.com/jaredwray/keyv) (MIT) -- [kleur@4.1.5](https://github.com/lukeed/kleur) (MIT) -- [koa-better-http-proxy@0.2.10](https://github.com/nsimmons/koa-better-http-proxy) (MIT) -- [koa-bodyparser@4.4.1](https://github.com/koajs/bodyparser) (MIT) -- [koa-compose@4.1.0](https://github.com/koajs/compose) (MIT) -- [koa-compress@5.1.1](https://github.com/koajs/compress) (MIT) -- [koa-convert@2.0.0](https://github.com/gyson/koa-convert) (MIT) -- [koa-helmet@7.0.2](https://github.com/venables/koa-helmet) (MIT) -- [koa-is-json@1.0.0](https://github.com/koajs/is-json) (MIT) -- [koa-mount@4.0.0](https://github.com/koajs/mount) (MIT) -- [koa-router@12.0.1](https://github.com/koajs/router) (MIT) -- [koa-static-cache@5.1.4](https://github.com/koajs/static-cache) (MIT) -- [koa@2.15.3](https://github.com/koajs/koa) (MIT) -- [kuler@2.0.0](https://github.com/3rd-Eden/kuler) (MIT) -- [lang-feel@2.1.1](https://github.com/nikku/lang-feel) (MIT) -- [lezer-feel@1.2.9](https://github.com/nikku/lezer-feel) (MIT) -- [linkify-html@4.1.3](https://github.com/Hypercontext/linkifyjs) (MIT) -- [linkifyjs@4.1.3](https://github.com/Hypercontext/linkifyjs) (MIT) -- [lodash.camelcase@4.3.0](https://github.com/lodash/lodash) (MIT) -- [lodash.debounce@4.0.8](https://github.com/lodash/lodash) (MIT) -- [lodash.findlast@4.6.0](https://github.com/lodash/lodash) (MIT) -- [lodash.isequal@4.5.0](https://github.com/lodash/lodash) (MIT) -- [lodash.merge@4.6.2](https://github.com/lodash/lodash) (MIT) -- [lodash.mergewith@4.6.2](https://github.com/lodash/lodash) (MIT) -- [lodash.omit@4.5.0](https://github.com/lodash/lodash) (MIT) -- [lodash.throttle@4.1.1](https://github.com/lodash/lodash) (MIT) -- [lodash@4.17.21](https://github.com/lodash/lodash) (MIT) -- [logform@2.6.0](https://github.com/winstonjs/logform) (MIT) -- [long@4.0.0](https://github.com/dcodeIO/long.js) (Apache-2.0) -- [long@5.2.3](https://github.com/dcodeIO/long.js) (Apache-2.0) -- [loose-envify@1.4.0](https://github.com/zertosh/loose-envify) (MIT) -- [lossless-json@4.0.1](https://github.com/josdejong/lossless-json) (MIT) -- [lowercase-keys@2.0.0](https://github.com/sindresorhus/lowercase-keys) (MIT) -- [luxon@3.5.0](https://github.com/moment/luxon) (MIT) -- [make-dir@1.3.0](https://github.com/sindresorhus/make-dir) (MIT) -- [marked@14.1.0](https://github.com/markedjs/marked) (MIT) -- [mdast-util-definitions@5.1.2](https://github.com/syntax-tree/mdast-util-definitions) (MIT) -- [mdast-util-from-markdown@1.3.1](https://github.com/syntax-tree/mdast-util-from-markdown) (MIT) -- [mdast-util-to-hast@12.3.0](https://github.com/syntax-tree/mdast-util-to-hast) (MIT) -- [mdast-util-to-string@3.2.0](https://github.com/syntax-tree/mdast-util-to-string) (MIT) -- [media-typer@0.3.0](https://github.com/jshttp/media-typer) (MIT) -- [methods@1.1.2](https://github.com/jshttp/methods) (MIT) -- [micromark-core-commonmark@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark) (MIT) -- [micromark-factory-destination@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination) (MIT) -- [micromark-factory-label@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label) (MIT) -- [micromark-factory-space@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-space) (MIT) -- [micromark-factory-title@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-title) (MIT) -- [micromark-factory-whitespace@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-whitespace) (MIT) -- [micromark-util-character@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-character) (MIT) -- [micromark-util-chunked@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-chunked) (MIT) -- [micromark-util-classify-character@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-classify-character) (MIT) -- [micromark-util-combine-extensions@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-combine-extensions) (MIT) -- [micromark-util-decode-numeric-character-reference@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-numeric-character-reference) (MIT) -- [micromark-util-decode-string@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-string) (MIT) -- [micromark-util-encode@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-encode) (MIT) -- [micromark-util-html-tag-name@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-html-tag-name) (MIT) -- [micromark-util-normalize-identifier@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-normalize-identifier) (MIT) -- [micromark-util-resolve-all@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-resolve-all) (MIT) -- [micromark-util-sanitize-uri@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-sanitize-uri) (MIT) -- [micromark-util-subtokenize@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize) (MIT) -- [micromark-util-symbol@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-symbol) (MIT) -- [micromark-util-types@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-types) (MIT) -- [micromark@3.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark) (MIT) -- [mime-db@1.52.0](https://github.com/jshttp/mime-db) (MIT) -- [mime-types@2.1.35](https://github.com/jshttp/mime-types) (MIT) -- [mimic-response@1.0.1](https://github.com/sindresorhus/mimic-response) (MIT) -- [mimic-response@3.1.0](https://github.com/sindresorhus/mimic-response) (MIT) -- [min-dash@3.8.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dash@4.2.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dom@4.2.1](https://github.com/bpmn-io/min-dom) (MIT) -- [min-dom@5.0.0](https://github.com/bpmn-io/min-dom) (MIT) -- [min-dom@5.1.1](https://github.com/bpmn-io/min-dom) (MIT) -- [mitt@3.0.1](https://github.com/developit/mitt) (MIT) -- [mobx-react-lite@3.4.3](https://github.com/mobxjs/mobx) (MIT) -- [mobx-react@7.6.0](https://github.com/mobxjs/mobx) (MIT) -- [mobx@6.13.1](https://github.com/mobxjs/mobx) (MIT) -- [moddle-xml@10.1.0](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle-xml@11.0.0](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle-xml@9.0.6](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle@5.0.4](https://github.com/bpmn-io/moddle) (MIT) -- [moddle@6.2.3](https://github.com/bpmn-io/moddle) (MIT) -- [moddle@7.0.0](https://github.com/bpmn-io/moddle) (MIT) -- [modeler-moddle@0.2.0](https://github.com/camunda/modeler-moddle) (MIT) -- [module-details-from-path@1.0.3](https://github.com/watson/module-details-from-path) (MIT) -- [moment@2.30.1](https://github.com/moment/moment) (MIT) -- [monaco-editor@0.50.0](https://github.com/microsoft/monaco-editor) (MIT) -- [mri@1.2.0](https://github.com/lukeed/mri) (MIT) -- [ms@2.1.2](https://github.com/zeit/ms) (MIT) -- [mz@2.7.0](https://github.com/normalize/mz) (MIT) -- [nanoid@3.3.7](https://github.com/ai/nanoid) (MIT) -- [native-promise-only@0.8.1](https://github.com/getify/native-promise-only) (MIT) -- [negotiator@0.6.3](https://github.com/jshttp/negotiator) (MIT) -- [neon-env@0.1.3](https://github.com/SuperchupuDev/neon-env) (MIT) -- [node-cache@5.1.2](https://github.com/node-cache/node-cache) (MIT) -- [node-fetch@2.7.0](https://github.com/bitinn/node-fetch) (MIT) -- [node-forge@1.3.1](https://github.com/digitalbazaar/forge) ((BSD-3-Clause OR GPL-2.0)) -- [normalize-path@3.0.0](https://github.com/jonschlinkert/normalize-path) (MIT) -- [normalize-url@6.1.0](https://github.com/sindresorhus/normalize-url) (MIT) -- [object-assign@4.1.1](https://github.com/sindresorhus/object-assign) (MIT) -- [object-inspect@1.13.1](https://github.com/inspect-js/object-inspect) (MIT) -- [object-refs@0.4.0](https://github.com/bpmn-io/object-refs) (MIT) -- [oidc-client-ts@2.4.0](https://github.com/authts/oidc-client-ts) (Apache-2.0) -- [on-finished@2.4.1](https://github.com/jshttp/on-finished) (MIT) -- [once@1.4.0](https://github.com/isaacs/once) (ISC) -- [one-time@1.0.0](https://github.com/3rd-Eden/one-time) (MIT) -- [only@0.0.2](https://github.com/visionmedia/node-only) (MIT\*) -- [opencollective-postinstall@2.0.3](https://github.com/opencollective/opencollective-postinstall) (MIT) -- [opentelemetry-instrumentation-fetch-node@1.2.3](https://github.com/gas-buddy/opentelemetry-instrumentation-fetch-node) (MIT) -- [p-cancelable@2.1.1](https://github.com/sindresorhus/p-cancelable) (MIT) -- [parseurl@1.3.3](https://github.com/pillarjs/parseurl) (MIT) -- [path-intersection@3.0.0](https://github.com/bpmn-io/path-intersection) (MIT) -- [path-parse@1.0.7](https://github.com/jbgutierrez/path-parse) (MIT) -- [path-to-regexp@1.8.0](https://github.com/pillarjs/path-to-regexp) (MIT) -- [path-to-regexp@6.2.1](https://github.com/pillarjs/path-to-regexp) (MIT) -- [performance-now@2.1.0](https://github.com/braveg1rl/performance-now) (MIT) -- [pg-int8@1.0.1](https://github.com/charmander/pg-int8) (ISC) -- [pg-protocol@1.6.1](https://github.com/brianc/node-postgres) (MIT) -- [pg-types@2.2.0](https://github.com/brianc/node-pg-types) (MIT) -- [picocolors@1.0.1](https://github.com/alexeyraspopov/picocolors) (ISC) -- [picomatch@2.3.1](https://github.com/micromatch/picomatch) (MIT) -- [pify@3.0.0](https://github.com/sindresorhus/pify) (MIT) -- [pluralize@7.0.0](https://github.com/blakeembrey/pluralize) (MIT) -- [postcss-value-parser@4.2.0](https://github.com/TrySound/postcss-value-parser) (MIT) -- [postcss@8.4.38](https://github.com/postcss/postcss) (MIT) -- [postgres-array@2.0.0](https://github.com/bendrucker/postgres-array) (MIT) -- [postgres-bytea@1.0.0](https://github.com/bendrucker/postgres-bytea) (MIT) -- [postgres-date@1.0.7](https://github.com/bendrucker/postgres-date) (MIT) -- [postgres-interval@1.2.0](https://github.com/bendrucker/postgres-interval) (MIT) -- [preact-markup@2.1.1](https://github.com/developit/preact-markup) (MIT) -- [preact@10.15.1](https://github.com/preactjs/preact) (MIT) -- [prom-client@13.1.0](https://github.com/siimon/prom-client) (Apache-2.0) -- [promise-retry@1.1.1](https://github.com/IndigoUnited/node-promise-retry) (MIT) -- [prop-types@15.8.1](https://github.com/facebook/prop-types) (MIT) -- [property-information@6.4.1](https://github.com/wooorm/property-information) (MIT) -- [protobufjs@7.3.2](https://github.com/protobufjs/protobuf.js) (BSD-3-Clause) -- [proxy-from-env@1.1.0](https://github.com/Rob--W/proxy-from-env) (MIT) -- [pump@3.0.0](https://github.com/mafintosh/pump) (MIT) -- [pusher-js@8.3.0](https://github.com/pusher/pusher-js) (MIT) -- [pusher@5.2.0](https://github.com/pusher/pusher-http-node) (MIT) -- [qs@6.11.2](https://github.com/ljharb/qs) (BSD-3-Clause) -- [quick-lru@5.1.1](https://github.com/sindresorhus/quick-lru) (MIT) -- [raf@3.4.1](https://github.com/chrisdickinson/raf) (MIT) -- [randomcolor@0.6.2](https://github.com/davidmerfield/randomColor) (Custom: https://randomcolor.lllllllllllllllll.com) -- [raw-body@2.5.2](https://github.com/stream-utils/raw-body) (MIT) -- [react-dom@18.2.0](https://github.com/facebook/react) (MIT) -- [react-error-boundary@4.0.13](https://github.com/bvaughn/react-error-boundary) (MIT) -- [react-fast-compare@3.2.2](https://github.com/FormidableLabs/react-fast-compare) (MIT) -- [react-helmet-async@2.0.5](https://github.com/staylor/react-helmet-async) (Apache-2.0) -- [react-is@16.13.1](https://github.com/facebook/react) (MIT) -- [react-is@18.2.0](https://github.com/facebook/react) (MIT) -- [react-markdown@8.0.7](https://github.com/remarkjs/react-markdown) (MIT) -- [react-router-dom@5.3.4](https://github.com/remix-run/react-router) (MIT) -- [react-router@5.3.4](https://github.com/remix-run/react-router) (MIT) -- [react@18.2.0](https://github.com/facebook/react) (MIT) -- [readable-stream@3.6.2](https://github.com/nodejs/readable-stream) (MIT) -- [readdirp@3.6.0](https://github.com/paulmillr/readdirp) (MIT) -- [reflect-metadata@0.2.2](https://github.com/rbuckton/reflect-metadata) (Apache-2.0) -- [regenerator-runtime@0.14.1](https://github.com/facebook/regenerator/tree/main/packages/runtime) (MIT) -- [remark-parse@10.0.2](https://github.com/remarkjs/remark/tree/main/packages/remark-parse) (MIT) -- [remark-rehype@10.1.0](https://github.com/remarkjs/remark-rehype) (MIT) -- [require-directory@2.1.1](https://github.com/troygoode/node-require-directory) (MIT) -- [require-in-the-middle@7.3.0](https://github.com/elastic/require-in-the-middle) (MIT) -- [resize-observer-polyfill@1.5.1](https://github.com/que-etc/resize-observer-polyfill) (MIT) -- [resolve-alpn@1.2.1](https://github.com/szmarczak/resolve-alpn) (MIT) -- [resolve-pathname@3.0.0](https://github.com/mjackson/resolve-pathname) (MIT) -- [resolve@1.22.8](https://github.com/browserify/resolve) (MIT) -- [responselike@2.0.1](https://github.com/sindresorhus/responselike) (MIT) -- [retry@0.10.1](https://github.com/tim-kos/node-retry) (MIT) -- [rgbcolor@1.0.1](https://github.com/yetzt/node-rgbcolor) (MIT\*) -- [route-pattern@0.0.6](https://github.com/bjoerge/route-pattern) (MIT) -- [sade@1.8.1](https://github.com/lukeed/sade) (MIT) -- [safe-buffer@5.2.1](https://github.com/feross/safe-buffer) (MIT) -- [safe-stable-stringify@2.4.3](https://github.com/BridgeAR/safe-stable-stringify) (MIT) -- [safer-buffer@2.1.2](https://github.com/ChALkeR/safer-buffer) (MIT) -- [sass@1.77.6](https://github.com/sass/dart-sass) (MIT) -- [saxen@10.0.0](https://github.com/nikku/saxen) (MIT) -- [saxen@8.1.2](https://github.com/nikku/saxen) (MIT) -- [scheduler@0.23.2](https://github.com/facebook/react) (MIT) -- [selection-ranges@3.0.3](https://github.com/nikku/selection-ranges) (MIT) -- [selection-update@0.1.2](https://github.com/nikku/selection-update) (MIT) -- [semver-compare@1.0.0](https://github.com/substack/semver-compare) (MIT) -- [semver@7.6.3](https://github.com/npm/node-semver) (ISC) -- [set-function-length@1.2.1](https://github.com/ljharb/set-function-length) (MIT) -- [setprototypeof@1.2.0](https://github.com/wesleytodd/setprototypeof) (ISC) -- [shallowequal@1.1.0](https://github.com/dashed/shallowequal) (MIT) -- [shimmer@1.2.1](https://github.com/othiym23/shimmer) (BSD-2-Clause) -- [side-channel@1.0.6](https://github.com/ljharb/side-channel) (MIT) -- [simple-swizzle@0.2.2](https://github.com/qix-/node-simple-swizzle) (MIT) -- [source-map-js@1.2.0](https://github.com/7rulnik/source-map-js) (BSD-3-Clause) -- [source-map-support@0.5.21](https://github.com/evanw/node-source-map-support) (MIT) -- [source-map@0.6.1](https://github.com/mozilla/source-map) (BSD-3-Clause) -- [space-separated-tokens@2.0.2](https://github.com/wooorm/space-separated-tokens) (MIT) -- [split@1.0.1](https://github.com/dominictarr/split) (MIT) -- [stack-trace@0.0.10](https://github.com/felixge/node-stack-trace) (MIT) -- [stackblur-canvas@2.6.0](https://github.com/flozz/StackBlur) (MIT) -- [state-local@1.0.7](https://github.com/suren-atoyan/state-local) (MIT) -- [statsig-js@5.1.0](https://github.com/statsig-io/js-client-sdk) (ISC) -- [statsig-react@2.1.0](https://github.com/statsig-io/react-sdk) (ISC) -- [statuses@1.5.0](https://github.com/jshttp/statuses) (MIT) -- [statuses@2.0.1](https://github.com/jshttp/statuses) (MIT) -- [stoppable@1.1.0](https://github.com/hunterloftis/stoppable) (MIT) -- [string-width@4.2.3](https://github.com/sindresorhus/string-width) (MIT) -- [string_decoder@1.3.0](https://github.com/nodejs/string_decoder) (MIT) -- [strip-ansi@6.0.1](https://github.com/chalk/strip-ansi) (MIT) -- [strnum@1.0.5](https://github.com/NaturalIntelligence/strnum) (MIT) -- [style-mod@4.1.0](https://github.com/marijnh/style-mod) (MIT) -- [style-to-object@0.4.4](https://github.com/remarkablemark/style-to-object) (MIT) -- [styled-components@6.1.12](https://github.com/styled-components/styled-components) (MIT) -- [stylis@4.3.2](https://github.com/thysultan/stylis.js) (MIT) -- [supports-color@5.5.0](https://github.com/chalk/supports-color) (MIT) -- [supports-color@7.2.0](https://github.com/chalk/supports-color) (MIT) -- [supports-preserve-symlinks-flag@1.0.0](https://github.com/inspect-js/node-supports-preserve-symlinks-flag) (MIT) -- [svg-pathdata@6.0.3](https://github.com/nfroidure/svg-pathdata) (MIT) -- [tabbable@6.2.0](https://github.com/focus-trap/tabbable) (MIT) -- [table-js@9.1.0](https://github.com/bpmn-io/table-js) (MIT) -- [tdigest@0.1.2](https://github.com/welch/tdigest) (MIT) -- [text-hex@1.0.0](https://github.com/3rd-Eden/text-hex) (MIT) -- [thenify-all@1.6.0](https://github.com/thenables/thenify-all) (MIT) -- [thenify@3.3.1](https://github.com/thenables/thenify) (MIT) -- [through@2.3.8](https://github.com/dominictarr/through) (MIT) -- [ticky@1.0.1](https://github.com/bevacqua/ticky) (MIT) -- [tiny-glob@0.2.9](https://github.com/terkelg/tiny-glob) (MIT) -- [tiny-invariant@1.3.1](https://github.com/alexreardon/tiny-invariant) (MIT) -- [tiny-svg@3.0.1](https://github.com/bpmn-io/tiny-svg) (MIT) -- [tiny-svg@3.1.2](https://github.com/bpmn-io/tiny-svg) (MIT) -- [tiny-svg@4.1.2](https://github.com/bpmn-io/tiny-svg) (MIT) -- [tiny-warning@1.0.3](https://github.com/alexreardon/tiny-warning) (MIT) -- [to-regex-range@5.0.1](https://github.com/micromatch/to-regex-range) (MIT) -- [toggle-selection@1.0.6](https://github.com/sudodoki/toggle-selection) (MIT) -- [toidentifier@1.0.1](https://github.com/component/toidentifier) (MIT) -- [toml@3.0.0](https://github.com/BinaryMuse/toml-node) (MIT) -- [tr46@0.0.3](https://github.com/Sebmaster/tr46.js) (MIT) -- [trim-lines@3.0.1](https://github.com/wooorm/trim-lines) (MIT) -- [triple-beam@1.4.1](https://github.com/winstonjs/triple-beam) (MIT) -- [trough@2.1.0](https://github.com/wooorm/trough) (MIT) -- [tslib@2.6.2](https://github.com/Microsoft/tslib) (0BSD) -- [tsscmp@1.0.6](https://github.com/suryagh/tsscmp) (MIT) -- [tweetnacl-util@0.15.1](https://github.com/dchest/tweetnacl-util-js) (Unlicense) -- [tweetnacl@1.0.3](https://github.com/dchest/tweetnacl-js) (Unlicense) -- [type-is@1.6.18](https://github.com/jshttp/type-is) (MIT) -- [typed-duration@1.0.13](https://github.com/jwulf/typed-duration) (ISC) -- [undici-types@5.26.5](https://github.com/nodejs/undici) (MIT) -- [unified@10.1.2](https://github.com/unifiedjs/unified) (MIT) -- [unist-util-generated@2.0.1](https://github.com/syntax-tree/unist-util-generated) (MIT) -- [unist-util-is@5.2.1](https://github.com/syntax-tree/unist-util-is) (MIT) -- [unist-util-position@4.0.4](https://github.com/syntax-tree/unist-util-position) (MIT) -- [unist-util-stringify-position@3.0.3](https://github.com/syntax-tree/unist-util-stringify-position) (MIT) -- [unist-util-visit-parents@5.1.3](https://github.com/syntax-tree/unist-util-visit-parents) (MIT) -- [unist-util-visit@4.1.2](https://github.com/syntax-tree/unist-util-visit) (MIT) -- [unpipe@1.0.0](https://github.com/stream-utils/unpipe) (MIT) -- [use-resize-observer@6.1.0](https://github.com/ZeeCoder/use-resize-observer) (MIT) -- [util-deprecate@1.0.2](https://github.com/TooTallNate/util-deprecate) (MIT) -- [uuid@10.0.0](https://github.com/uuidjs/uuid) (MIT) -- [uuid@7.0.3](https://github.com/uuidjs/uuid) (MIT) -- [uuid@9.0.1](https://github.com/uuidjs/uuid) (MIT) -- [uvu@0.5.6](https://github.com/lukeed/uvu) (MIT) -- [value-equal@1.0.1](https://github.com/mjackson/value-equal) (MIT) -- [vary@1.1.2](https://github.com/jshttp/vary) (MIT) -- [vfile-message@3.1.4](https://github.com/vfile/vfile-message) (MIT) -- [vfile@5.3.7](https://github.com/vfile/vfile) (MIT) -- [w3c-keyname@2.2.8](https://github.com/marijnh/w3c-keyname) (MIT) -- [weakmap-polyfill@2.0.4](https://github.com/polygonplanet/weakmap-polyfill) (MIT) -- [webidl-conversions@3.0.1](https://github.com/jsdom/webidl-conversions) (BSD-2-Clause) -- [whatwg-url@5.0.0](https://github.com/jsdom/whatwg-url) (MIT) -- [wicg-inert@3.1.2](https://github.com/WICG/inert) (W3C-20150513) -- [win-ca@3.5.1](https://github.com/ukoloff/win-ca) (MIT) -- [window-or-global@1.0.1](https://github.com/purposeindustries/window-or-global) (MIT) -- [winston-transport@4.7.0](https://github.com/winstonjs/winston-transport) (MIT) -- [winston@3.14.2](https://github.com/winstonjs/winston) (MIT) -- [wrap-ansi@7.0.0](https://github.com/chalk/wrap-ansi) (MIT) -- [wrappy@1.0.2](https://github.com/npm/wrappy) (ISC) -- [xtend@4.0.2](https://github.com/Raynos/xtend) (MIT) -- [y18n@5.0.8](https://github.com/yargs/y18n) (ISC) -- [yargs-parser@21.1.1](https://github.com/yargs/yargs-parser) (ISC) -- [yargs@17.7.2](https://github.com/yargs/yargs) (MIT) -- [ylru@1.3.2](https://github.com/node-modules/ylru) (MIT) -- [zeebe-bpmn-moddle@1.6.0](https://github.com/camunda/zeebe-bpmn-moddle) (MIT) -- [zeebe-dmn-moddle@1.0.0](https://github.com/camunda/zeebe-dmn-moddle) (MIT) + -### Web Modeler Dependencies (restapi) +- **Dependencies:** You can find an up-to-date list of third party libraries used and their license terms in the [THIRD_PARTY_NOTICES](https://github.com/camunda/camunda-modeler/blob/master/THIRD_PARTY_NOTICES), located in the root of the source code repository. This file is also shipped with the application distribution as `THIRD_PARTY_NOTICES.camunda-modeler.txt`. +- **Source code:** Access the source code for Desktop Modeler at [github.com/camunda/camunda-modeler](https://github.com/camunda/camunda-modeler). -- [ch.qos.logback:logback-classic@1.5.7](http://logback.qos.ch/logback-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback:logback-core@1.5.7](http://logback.qos.ch/logback-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-jackson@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-jackson) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-json-classic@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-json-core@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [com.auth0:auth0@1.45.1](https://github.com/auth0/auth0-java) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/auth0-java/master/LICENSE)) -- [com.auth0:java-jwt@4.4.0](https://github.com/auth0/java-jwt) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/java-jwt/master/LICENSE)) -- [com.auth0:jwks-rsa@0.22.1](https://github.com/auth0/jwks-rsa-java) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/jwks-rsa-java/master/LICENSE)) -- [com.ethlo.time:itu@1.10.2](https://github.com/ethlo/itu) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml:classmate@1.7.0](https://github.com/FasterXML/java-classmate) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-annotations@2.17.2](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-core@2.17.2](https://github.com/FasterXML/jackson-core) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-databind@2.17.2](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-toml@2.17.2](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.17.2](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jdk8@2.17.2](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jsr310@2.17.2](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.module:jackson-module-parameter-names@2.17.2](https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.github.ben-manes.caffeine:caffeine@3.1.8](https://github.com/ben-manes/caffeine) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.android:annotations@4.1.1.4](http://source.android.com/) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0)) -- [com.google.api.grpc:proto-google-common-protos@2.42.0](https://github.com/googleapis/sdk-platform-java) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.code.findbugs:jsr305@3.0.2](http://findbugs.sourceforge.net/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.code.gson:gson@2.10.1](https://github.com/google/gson/gson) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.errorprone:error_prone_annotations@2.30.0](https://errorprone.info/error_prone_annotations) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:failureaccess@1.0.2](https://github.com/google/guava/failureaccess) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:guava@33.2.1-jre](https://github.com/google/guava) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:listenablefuture@9999.0-empty-to-avoid-conflict-with-guava](https://github.com/google/guava/listenablefuture) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.j2objc:j2objc-annotations@3.0.0](https://github.com/google/j2objc/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.protobuf:protobuf-java@3.25.3](https://developers.google.com/protocol-buffers/protobuf-java/) ([BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)) -- [com.networknt:json-schema-validator@1.5.1](https://github.com/networknt/json-schema-validator) ([Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [com.nimbusds:nimbus-jose-jwt@9.40](https://bitbucket.org/connect2id/nimbus-jose-jwt) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.pusher:pusher-http-java@1.3.3](http://github.com/pusher/pusher-http-java) ([MIT](https://raw.github.com/pusher/pusher-http-java/master/LICENCE.txt)) -- [com.squareup.okhttp3:logging-interceptor@4.12.0](https://square.github.io/okhttp/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.squareup.okio:okio@3.9.0](https://github.com/square/okio/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.squareup.okio:okio-jvm@3.9.0](https://github.com/square/okio/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.sun.activation:jakarta.activation@1.2.2](https://github.com/eclipse-ee4j/jaf/jakarta.activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [com.sun.istack:istack-commons-runtime@4.1.2](https://projects.eclipse.org/projects/ee4j/istack-commons/istack-commons-runtime) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [com.typesafe.netty:netty-reactive-streams@2.0.4](https://github.com/playframework/netty-reactive-streams/netty-reactive-streams) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.vdurmont:semver4j@3.1.0](https://github.com/vdurmont/semver4j) ([The MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [com.zaxxer:HikariCP@5.1.0](https://github.com/brettwooldridge/HikariCP) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [commons-codec:commons-codec@1.16.1](https://commons.apache.org/proper/commons-codec/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [commons-logging:commons-logging@1.2](http://commons.apache.org/proper/commons-logging/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.grpc:grpc-api@1.66.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-context@1.66.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-core@1.66.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-netty@1.66.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf@1.66.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf-lite@1.66.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-stub@1.66.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-util@1.66.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.micrometer:micrometer-commons@1.13.3](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-core@1.13.3](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-jakarta9@1.13.3](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-observation@1.13.3](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-registry-prometheus@1.13.3](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.netty:netty-buffer@4.1.112.Final](https://netty.io/netty-buffer/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec@4.1.112.Final](https://netty.io/netty-codec/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-dns@4.1.112.Final](https://netty.io/netty-codec-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http@4.1.112.Final](https://netty.io/netty-codec-http/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http2@4.1.112.Final](https://netty.io/netty-codec-http2/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-socks@4.1.112.Final](https://netty.io/netty-codec-socks/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-common@4.1.112.Final](https://netty.io/netty-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler@4.1.112.Final](https://netty.io/netty-handler/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler-proxy@4.1.112.Final](https://netty.io/netty-handler-proxy/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver@4.1.112.Final](https://netty.io/netty-resolver/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns@4.1.112.Final](https://netty.io/netty-resolver-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-classes-macos@4.1.112.Final](https://netty.io/netty-resolver-dns-classes-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-native-macos@4.1.112.Final](https://netty.io/netty-resolver-dns-native-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport@4.1.112.Final](https://netty.io/netty-transport/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-epoll@4.1.112.Final](https://netty.io/netty-transport-classes-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-kqueue@4.1.112.Final](https://netty.io/netty-transport-classes-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-epoll@4.1.112.Final](https://netty.io/netty-transport-native-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-kqueue@4.1.112.Final](https://netty.io/netty-transport-native-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-unix-common@4.1.112.Final](https://netty.io/netty-transport-native-unix-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.perfmark:perfmark-api@0.27.0](https://github.com/perfmark/perfmark) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.projectreactor:reactor-core@3.6.9](https://github.com/reactor/reactor-core) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-core@1.1.22](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-http@1.1.22](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:prometheus-metrics-config@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-config) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:prometheus-metrics-core@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-core) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:prometheus-metrics-exposition-formats@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-exposition-formats) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:prometheus-metrics-model@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:prometheus-metrics-shaded-protobuf@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-shaded-dependencies/prometheus-metrics-shaded-protobuf) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:prometheus-metrics-tracer-common@1.2.1](http://github.com/prometheus/client_java/prometheus-metrics-tracer/prometheus-metrics-tracer-common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.smallrye:jandex@3.1.2](https://smallrye.io) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.swagger.core.v3:swagger-annotations-jakarta@2.2.22](https://github.com/swagger-api/swagger-core/modules/swagger-annotations-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-core-jakarta@2.2.22](https://github.com/swagger-api/swagger-core/modules/swagger-core-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-models-jakarta@2.2.22](https://github.com/swagger-api/swagger-core/modules/swagger-models-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.undertow:undertow-core@2.3.16.Final](http://www.jboss.org/undertow-parent/undertow-core) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-servlet@2.3.13.Final](http://www.jboss.org/undertow-parent/undertow-servlet) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-websockets-jsr@2.3.13.Final](http://www.jboss.org/undertow-parent/undertow-websockets-jsr) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [jakarta.activation:jakarta.activation-api@2.1.3](https://github.com/jakartaee/jaf-api) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [jakarta.annotation:jakarta.annotation-api@2.1.1](https://projects.eclipse.org/projects/ee4j.ca) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.inject:jakarta.inject-api@2.0.1](https://github.com/eclipse-ee4j/injection-api) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [jakarta.persistence:jakarta.persistence-api@3.1.0](https://github.com/eclipse-ee4j/jpa-api) ([Eclipse Public License v. 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.servlet:jakarta.servlet-api@6.0.0](https://projects.eclipse.org/projects/ee4j.servlet) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.transaction:jakarta.transaction-api@2.0.1](https://projects.eclipse.org/projects/ee4j.jta) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.validation:jakarta.validation-api@3.0.2](https://beanvalidation.org) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [jakarta.websocket:jakarta.websocket-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [jakarta.websocket:jakarta.websocket-client-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [jakarta.xml.bind:jakarta.xml.bind-api@4.0.2](https://github.com/jakartaee/jaxb-api/jakarta.xml.bind-api) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [javax.cache:cache-api@1.1.1](https://github.com/jsr107/jsr107spec) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.bytebuddy:byte-buddy@1.14.19](https://bytebuddy.net/byte-buddy) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.jodah:failsafe@2.4.1](http://github.com/jhalterman/failsafe/) ([Apache License, Version 2.0](http://apache.org/licenses/LICENSE-2.0)) -- [org.agrona:agrona@1.21.2](https://github.com/real-logic/agrona) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.antlr:antlr4-runtime@4.13.0](https://www.antlr.org/antlr4-runtime/) ([BSD-3-Clause](https://www.antlr.org/license.html)) -- [org.apache.commons:commons-collections4@4.4](https://commons.apache.org/proper/commons-collections/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.commons:commons-lang3@3.14.0](https://commons.apache.org/proper/commons-lang/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents:httpclient@4.5.14](http://hc.apache.org/httpcomponents-client-ga) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents:httpcore@4.4.16](http://hc.apache.org/httpcomponents-core-ga) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents.client5:httpclient5@5.3.1](https://hc.apache.org/httpcomponents-client-5.0.x/5.3.1/httpclient5/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents.core5:httpcore5@5.2.5](https://hc.apache.org/httpcomponents-core-5.2.x/5.2.5/httpcore5/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents.core5:httpcore5-h2@5.2.5](https://hc.apache.org/httpcomponents-core-5.2.x/5.2.5/httpcore5-h2/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-api@2.23.1](https://logging.apache.org/log4j/2.x/log4j/log4j-api/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-core@2.23.1](https://logging.apache.org/log4j/2.x/log4j/log4j-core/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-to-slf4j@2.23.1](https://logging.apache.org/log4j/2.x/log4j/log4j-to-slf4j/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.tomcat.embed:tomcat-embed-el@10.1.28](https://tomcat.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.aspectj:aspectjweaver@1.9.22.1](https://www.eclipse.org/aspectj/) ([Eclipse Public License - v 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [org.asynchttpclient:async-http-client@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.asynchttpclient:async-http-client-netty-utils@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client-netty-utils) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.bouncycastle:bcpkix-jdk18on@1.78.1](https://www.bouncycastle.org/java.html) ([Bouncy Castle Licence](https://www.bouncycastle.org/licence.html)) -- [org.bouncycastle:bcprov-jdk18on@1.78.1](https://www.bouncycastle.org/java.html) ([Bouncy Castle Licence](https://www.bouncycastle.org/licence.html)) -- [org.bouncycastle:bcutil-jdk18on@1.78.1](https://www.bouncycastle.org/java.html) ([Bouncy Castle Licence](https://www.bouncycastle.org/licence.html)) -- [org.camunda.bpm:camunda-license-check@2.9.0](http://www.camunda.org/camunda-license-check) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-dmn-model@7.21.3-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-dmn-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-xml-model@7.21.3-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-xml-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.checkerframework:checker-qual@3.46.0](https://checkerframework.org/) ([The MIT License](http://opensource.org/licenses/MIT)) -- [org.codehaus.mojo:animal-sniffer-annotations@1.24](https://www.mojohaus.org/animal-sniffer/animal-sniffer-annotations) ([MIT license](https://spdx.org/licenses/MIT.txt)) -- [org.eclipse.angus:angus-activation@2.0.2](https://github.com/eclipse-ee4j/angus-activation/angus-activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.eclipse.angus:jakarta.mail@2.0.3](http://eclipse-ee4j.github.io/angus-mail/jakarta.mail) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [org.ehcache:ehcache@3.10.8](http://ehcache.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.flywaydb:flyway-core@10.10.0](https://flywaydb.org/flyway-core) ([Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-oss)) -- [org.flywaydb:flyway-database-postgresql@10.10.0](https://flywaydb.org/flyway-database-postgresql) ([Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-oss)) -- [org.freemarker:freemarker@2.3.33](https://freemarker.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.glassfish.jaxb:jaxb-core@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.glassfish.jaxb:jaxb-runtime@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.glassfish.jaxb:txw2@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.hdrhistogram:HdrHistogram@2.2.2](http://hdrhistogram.github.io/HdrHistogram/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) -- [org.hibernate.common:hibernate-commons-annotations@6.0.6.Final](http://hibernate.org) ([GNU Library General Public License v2.1 or later](http://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.orm:hibernate-core@6.5.2.Final](https://hibernate.org/orm) ([GNU Library General Public License v2.1 or later](https://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.validator:hibernate-validator@8.0.1.Final](http://hibernate.org/validator/hibernate-validator) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.logging:jboss-logging@3.5.3.Final](http://www.jboss.org) ([Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jboss.threads:jboss-threads@3.5.0.Final](http://www.jboss.org/jboss-threads) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.xnio:xnio-api@3.8.16.Final](http://www.jboss.org/xnio) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jboss.xnio:xnio-nio@3.8.16.Final](http://www.jboss.org) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jetbrains:annotations@13.0](http://www.jetbrains.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib@1.9.25](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.9.25](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.9.25](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jsoup:jsoup@1.18.1](https://jsoup.org/) ([The MIT License](https://jsoup.org/license)) -- [org.latencyutils:LatencyUtils@2.0.3](http://latencyutils.github.io/LatencyUtils/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) -- [org.mapstruct:mapstruct@1.6.0](https://mapstruct.org/mapstruct/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.openapitools:jackson-databind-nullable@0.2.6](https://github.com/OpenAPITools/jackson-databind-nullable) ([Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)) -- [org.postgresql:postgresql@42.7.4](https://jdbc.postgresql.org) ([BSD-2-Clause](https://jdbc.postgresql.org/about/license.html)) -- [org.reactivestreams:reactive-streams@1.0.4](http://www.reactive-streams.org/) ([MIT-0](https://spdx.org/licenses/MIT-0.html)) -- [org.slf4j:jul-to-slf4j@2.0.16](http://www.slf4j.org) ([MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [org.slf4j:slf4j-api@2.0.16](http://www.slf4j.org) ([MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [org.springdoc:springdoc-openapi-starter-common@2.6.0](https://springdoc.org/springdoc-openapi-starter-common/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springdoc:springdoc-openapi-starter-webmvc-api@2.6.0](https://springdoc.org/springdoc-openapi-starter-webmvc-api/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springdoc:springdoc-openapi-starter-webmvc-ui@2.6.0](https://springdoc.org/springdoc-openapi-starter-webmvc-ui/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework:spring-aop@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-aspects@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-beans@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context-support@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-core@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-expression@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jcl@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jdbc@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-orm@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-tx@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-web@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webflux@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webmvc@6.1.12](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator-autoconfigure@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-autoconfigure@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-actuator@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-aop@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-data-jpa@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-freemarker@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-jdbc@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-json@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-logging@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-mail@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-oauth2-resource-server@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-reactor-netty@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-security@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-undertow@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-validation@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-web@3.3.3](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-commons@3.3.3](https://spring.io/projects/spring-data) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-jpa@3.3.3](https://projects.spring.io/spring-data-jpa) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.retry:spring-retry@2.0.8](https://www.springsource.org) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework.security:spring-security-config@6.3.3](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-core@6.3.3](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-crypto@6.3.3](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-data@6.3.3](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-core@6.3.3](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-jose@6.3.3](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-resource-server@6.3.3](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-web@6.3.3](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.webjars:swagger-ui@5.17.14](https://www.webjars.org) (Apache-2.0) -- [org.wildfly.client:wildfly-client-config@1.0.1.Final](http://www.jboss.org/wildfly-client-config) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.wildfly.common:wildfly-common@1.5.4.Final](http://www.jboss.org/wildfly-common) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.yaml:snakeyaml@2.2](https://bitbucket.org/snakeyaml/snakeyaml) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [software.amazon.awssdk:annotations@2.27.12](https://aws.amazon.com/sdkforjava/core/annotations) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:apache-client@2.27.12](https://aws.amazon.com/sdkforjava/http-clients/apache-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:auth@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-core@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-query-protocol@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:checksums@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:checksums-spi@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:endpoints-spi@2.27.12](https://aws.amazon.com/sdkforjava/core/endpoints-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth-aws@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth-aws-eventstream@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth-spi@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-client-spi@2.27.12](https://aws.amazon.com/sdkforjava/http-client-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:identity-spi@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:json-utils@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:metrics-spi@2.27.12](https://aws.amazon.com/sdkforjava/core/metrics-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:netty-nio-client@2.27.12](https://aws.amazon.com/sdkforjava/http-clients/netty-nio-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:profiles@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:protocol-core@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:rds@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:regions@2.27.12](https://aws.amazon.com/sdkforjava/core/regions) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:retries@2.27.12](https://aws.amazon.com/sdkforjava/core/retries) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:retries-spi@2.27.12](https://aws.amazon.com/sdkforjava/core/retries-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sdk-core@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sts@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:third-party-jackson-core@2.27.12](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:utils@2.27.12](https://aws.amazon.com/sdkforjava/utils) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.eventstream:eventstream@1.0.1](https://github.com/awslabs/aws-eventstream-java) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.jdbc:aws-advanced-jdbc-wrapper@2.3.9](https://github.com/awslabs/aws-advanced-jdbc-wrapper) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)) + -### Web Modeler Dependencies (websockets) + -- [brick/math@0.12.1](https://github.com/brick/math.git) (MIT) -- [carbonphp/carbon-doctrine-types@3.2.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) -- [clue/redis-protocol@v0.3.2](https://github.com/clue/redis-protocol.git) (MIT) -- [clue/redis-react@v2.7.0](https://github.com/clue/reactphp-redis.git) (MIT) -- [dflydev/dot-access-data@v3.0.3](https://github.com/dflydev/dflydev-dot-access-data.git) (MIT) -- [doctrine/inflector@2.0.10](https://github.com/doctrine/inflector.git) (MIT) -- [doctrine/lexer@3.0.1](https://github.com/doctrine/lexer.git) (MIT) -- [dragonmantank/cron-expression@v3.3.3](https://github.com/dragonmantank/cron-expression.git) (MIT) -- [egulias/email-validator@4.0.2](https://github.com/egulias/EmailValidator.git) (MIT) -- [evenement/evenement@v3.0.2](https://github.com/igorw/evenement.git) (MIT) -- [fruitcake/php-cors@v1.3.0](https://github.com/fruitcake/php-cors.git) (MIT) -- [graham-campbell/result-type@v1.1.3](https://github.com/GrahamCampbell/Result-Type.git) (MIT) -- [guzzlehttp/guzzle@7.9.2](https://github.com/guzzle/guzzle.git) (MIT) -- [guzzlehttp/promises@2.0.3](https://github.com/guzzle/promises.git) (MIT) -- [guzzlehttp/psr7@2.7.0](https://github.com/guzzle/psr7.git) (MIT) -- [guzzlehttp/uri-template@v1.0.3](https://github.com/guzzle/uri-template.git) (MIT) -- [laravel/framework@v11.21.0](https://github.com/laravel/framework.git) (MIT) -- [laravel/prompts@v0.1.25](https://github.com/laravel/prompts.git) (MIT) -- [laravel/reverb@v1.2.0](https://github.com/laravel/reverb.git) (MIT) -- [laravel/serializable-closure@v1.3.4](https://github.com/laravel/serializable-closure.git) (MIT) -- [laravel/tinker@v2.9.0](https://github.com/laravel/tinker.git) (MIT) -- [league/commonmark@2.5.3](https://github.com/thephpleague/commonmark.git) (BSD-3-Clause) -- [league/config@v1.2.0](https://github.com/thephpleague/config.git) (BSD-3-Clause) -- [league/flysystem@3.28.0](https://github.com/thephpleague/flysystem.git) (MIT) -- [league/flysystem-local@3.28.0](https://github.com/thephpleague/flysystem-local.git) (MIT) -- [league/mime-type-detection@1.15.0](https://github.com/thephpleague/mime-type-detection.git) (MIT) -- [monolog/monolog@3.7.0](https://github.com/Seldaek/monolog.git) (MIT) -- [nesbot/carbon@3.8.0](https://github.com/briannesbitt/Carbon.git) (MIT) -- [nette/schema@v1.3.0](https://github.com/nette/schema.git) (BSD-3-Clause) -- [nette/utils@v4.0.5](https://github.com/nette/utils.git) (BSD-3-Clause) -- [nikic/php-parser@v5.0.2](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) -- [nunomaduro/termwind@v2.0.1](https://github.com/nunomaduro/termwind.git) (MIT) -- [paragonie/random_compat@v9.99.100](https://github.com/paragonie/random_compat.git) (MIT) -- [paragonie/sodium_compat@v1.21.1](https://github.com/paragonie/sodium_compat.git) (ISC) -- [phpoption/phpoption@1.9.3](https://github.com/schmittjoh/php-option.git) (Apache-2.0) -- [psr/clock@1.0.0](https://github.com/php-fig/clock.git) (MIT) -- [psr/container@2.0.2](https://github.com/php-fig/container.git) (MIT) -- [psr/event-dispatcher@1.0.0](https://github.com/php-fig/event-dispatcher.git) (MIT) -- [psr/http-client@1.0.3](https://github.com/php-fig/http-client.git) (MIT) -- [psr/http-factory@1.1.0](https://github.com/php-fig/http-factory.git) (MIT) -- [psr/http-message@2.0](https://github.com/php-fig/http-message.git) (MIT) -- [psr/log@3.0.1](https://github.com/php-fig/log.git) (MIT) -- [psr/simple-cache@3.0.0](https://github.com/php-fig/simple-cache.git) (MIT) -- [psy/psysh@v0.12.3](https://github.com/bobthecow/psysh.git) (MIT) -- [pusher/pusher-php-server@7.2.4](https://github.com/pusher/pusher-http-php.git) (MIT) -- [ralouphie/getallheaders@3.0.3](https://github.com/ralouphie/getallheaders.git) (MIT) -- [ramsey/collection@2.0.0](https://github.com/ramsey/collection.git) (MIT) -- [ramsey/uuid@4.7.6](https://github.com/ramsey/uuid.git) (MIT) -- [ratchet/rfc6455@v0.3.1](https://github.com/ratchetphp/RFC6455.git) (MIT) -- [react/cache@v1.2.0](https://github.com/reactphp/cache.git) (MIT) -- [react/dns@v1.13.0](https://github.com/reactphp/dns.git) (MIT) -- [react/event-loop@v1.5.0](https://github.com/reactphp/event-loop.git) (MIT) -- [react/promise@v3.2.0](https://github.com/reactphp/promise.git) (MIT) -- [react/promise-timer@v1.11.0](https://github.com/reactphp/promise-timer.git) (MIT) -- [react/socket@v1.16.0](https://github.com/reactphp/socket.git) (MIT) -- [react/stream@v1.4.0](https://github.com/reactphp/stream.git) (MIT) -- [symfony/clock@v7.1.1](https://github.com/symfony/clock.git) (MIT) -- [symfony/console@v7.1.3](https://github.com/symfony/console.git) (MIT) -- [symfony/css-selector@v7.1.1](https://github.com/symfony/css-selector.git) (MIT) -- [symfony/deprecation-contracts@v3.5.0](https://github.com/symfony/deprecation-contracts.git) (MIT) -- [symfony/error-handler@v7.1.3](https://github.com/symfony/error-handler.git) (MIT) -- [symfony/event-dispatcher@v7.1.1](https://github.com/symfony/event-dispatcher.git) (MIT) -- [symfony/event-dispatcher-contracts@v3.5.0](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) -- [symfony/finder@v7.1.3](https://github.com/symfony/finder.git) (MIT) -- [symfony/http-foundation@v7.1.3](https://github.com/symfony/http-foundation.git) (MIT) -- [symfony/http-kernel@v7.1.3](https://github.com/symfony/http-kernel.git) (MIT) -- [symfony/mailer@v7.1.2](https://github.com/symfony/mailer.git) (MIT) -- [symfony/mime@v7.1.2](https://github.com/symfony/mime.git) (MIT) -- [symfony/polyfill-ctype@v1.30.0](https://github.com/symfony/polyfill-ctype.git) (MIT) -- [symfony/polyfill-intl-grapheme@v1.30.0](https://github.com/symfony/polyfill-intl-grapheme.git) (MIT) -- [symfony/polyfill-intl-idn@v1.30.0](https://github.com/symfony/polyfill-intl-idn.git) (MIT) -- [symfony/polyfill-intl-normalizer@v1.30.0](https://github.com/symfony/polyfill-intl-normalizer.git) (MIT) -- [symfony/polyfill-mbstring@v1.30.0](https://github.com/symfony/polyfill-mbstring.git) (MIT) -- [symfony/polyfill-php72@v1.30.0](https://github.com/symfony/polyfill-php72.git) (MIT) -- [symfony/polyfill-php80@v1.30.0](https://github.com/symfony/polyfill-php80.git) (MIT) -- [symfony/polyfill-php83@v1.30.0](https://github.com/symfony/polyfill-php83.git) (MIT) -- [symfony/polyfill-uuid@v1.30.0](https://github.com/symfony/polyfill-uuid.git) (MIT) -- [symfony/process@v7.1.3](https://github.com/symfony/process.git) (MIT) -- [symfony/routing@v7.1.3](https://github.com/symfony/routing.git) (MIT) -- [symfony/service-contracts@v3.5.0](https://github.com/symfony/service-contracts.git) (MIT) -- [symfony/string@v7.1.3](https://github.com/symfony/string.git) (MIT) -- [symfony/translation@v7.1.3](https://github.com/symfony/translation.git) (MIT) -- [symfony/translation-contracts@v3.5.0](https://github.com/symfony/translation-contracts.git) (MIT) -- [symfony/uid@v7.1.1](https://github.com/symfony/uid.git) (MIT) -- [symfony/var-dumper@v7.1.3](https://github.com/symfony/var-dumper.git) (MIT) -- [tijsverkoyen/css-to-inline-styles@v2.2.7](https://github.com/tijsverkoyen/CssToInlineStyles.git) (BSD-3-Clause) -- [vlucas/phpdotenv@v5.6.1](https://github.com/vlucas/phpdotenv.git) (BSD-3-Clause) -- [voku/portable-ascii@2.0.1](https://github.com/voku/portable-ascii.git) (MIT) -- [webmozart/assert@1.11.0](https://github.com/webmozarts/assert.git) (MIT) +- **Dependencies:** SBOM CycloneDX files with up-to-date lists of third party libraries used and their licenses can be requested [on demand](mailto:dependency-request@camunda.com). +- **Source code:** Access to source code is provided [on demand](mailto:dependency-request@camunda.com). -Connectors dependencies are packaged with the [release assets](https://github.com/camunda/connectors/releases/tag/8.5.0-alpha1) as software bill of materials (SBOMs) in XML or JSON. +- **Dependencies:** Find a SBOM CycloneDX file with an up-to-date list of third party libraries used and their licenses in the [release assets](https://github.com/camunda/connectors/releases) of each Connectors release. +- **Source code:** Access the source code for Connectors at [github.com/camunda/connectors](https://github.com/camunda/connectors). diff --git a/docs/reference/img/channels.png b/docs/reference/img/channels.png new file mode 100644 index 00000000000..4964fadbba0 Binary files /dev/null and b/docs/reference/img/channels.png differ diff --git a/docs/reference/img/diagram-releases.png b/docs/reference/img/diagram-releases.png new file mode 100644 index 00000000000..f06ee971089 Binary files /dev/null and b/docs/reference/img/diagram-releases.png differ diff --git a/docs/reference/img/update-console.png b/docs/reference/img/update-console.png index 4738b25f46c..486b4fcbf80 100644 Binary files a/docs/reference/img/update-console.png and b/docs/reference/img/update-console.png differ diff --git a/docs/reference/release-notes/860.md b/docs/reference/release-notes/860.md index 44f098418d5..9fdd4c2afa6 100644 --- a/docs/reference/release-notes/860.md +++ b/docs/reference/release-notes/860.md @@ -11,19 +11,138 @@ keywords: ] --- +These release notes identify the new features included in 8.6, including [alpha feature releases](/docs/reference/alpha-features.md). + ## 8.6 minor -| Scheduled release date | Scheduled end of maintenance | Changelog(s) | Release blog | -| ---------------------- | ---------------------------- | ------------ | ------------ | -| 8 October 2024 | 14 April 2026 | | | +| Scheduled release date | Scheduled end of maintenance | Changelog(s) | Release blog | Update guide | +| ---------------------- | ---------------------------- | ------------ | ------------ | --------------------------------------------------------------------------------------- | +| 8 October 2024 | 14 April 2026 | | | [Self-Managed update guide](self-managed/operational-guides/update-guide/850-to-860.md) | + +## 8.6.0-alpha5 + +| Release date | Changelog(s) | | +| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| 10 September 2024 | - [ Camunda 8 core ](https://github.com/camunda/camunda/releases/tag/8.6.0-alpha5)
    - [ Connectors ](https://github.com/camunda/connectors/releases/tag/8.6.0-alpha5) | [Release blog](https://camunda.com/blog/2024/08/camunda-alpha-release-september-2024/) | + +### Auto-pause SaaS Console + + + +`dev` tagged clusters on free plans now automatically pause after 8 hours to conserve resources. + +- No data is lost, although it takes a few minutes to restart them in Modeler or Console. +- To avoid auto-pausing, add a `test`, `stage`, or `prod` tag to your cluster, or [upgrade to a Starter or Enterprise plan](https://camunda.com/pricing/). + +This change allows Camunda to continue to offer dedicated, private clusters to our trial users. + +### Customize Tasklist user interface in Self-Managed Self-Managed Tasklist + + + +You can customize the Tasklist user interface (UI) to visually align it with your organization's brand identity. You can adjust the appearance of various UI elements, such as backgrounds, layers, controls, buttons, and text. + +### Data viewer modeling interfaceModeler + + + +You can use the new **variables view** to track variables defined in a process diagram. + +- This view shows you where a variable was created, which elements write to the variable, and the variable’s scope. +- You can use this view to see which variables are available for use in an element, and to troubleshoot problems with variables. + +### Get started with microservice orchestration Help Center + + + +The [Help Center](/docs/reference/help-center.md) now features a step-by-step guide to complete our microservice orchestration tutorial. + +### Get started with human task orchestration Help Center Tasklist + + + +The [Help Center](/docs/reference/help-center.md) now features a step-by-step guide to complete our human task orchestration (HTO) tutorial, explaining the critical features that every developer interested in human task orchestration needs to know. + +- Users get a glimpse into the user experience for at-scale adoption. +- Enterprise architects get a picture of how Camunda's out-of-the-box Tasklist fits into their architecture. + +### Internationalization (I18n) for Tasklist Tasklist + + + +When creating a process for a local (non-English) region, you can design forms in the local language and have the Tasklist interface in the same language. + +- By default, Tasklist supports four languages: English, French, German, and Spanish. +- The interface language is automatically determined by the user device's language settings. +- The interface defaults to English if the device's language is not supported. + +### Message correlation with result Zeebe + + + +Real-time feedback is added for message correlation for messages with `ttl=o`, enabling external systems to immediately determine the success or failure of message correlation. This enhancement allows external systems to take prompt and appropriate actions based on the correlation result, improving overall efficiency and reducing response times. + +### Public Marketplace blueprint support for HTO & DMN Web Modeler Marketplace + + + +Web Modeler now supports DMN models and Forms inside [Marketplace blueprints](https://marketplace.camunda.com/en-US/listing?pl=3082&cat=107793&locale=en-US). + +- These blueprints can now showcase even more ways to implement common business processes, and illustrate best practices for process modeling and implementation. +- To learn more about browsing Marketplace blueprints, see [browse marketplace blueprints](/components/modeler/web-modeler/camunda-marketplace.md#browse-marketplace-blueprints). + +### Share Connectors within the project and organization in Self-Managed Self-Managed + + + +Organization administrators can now share connectors within project and organization levels, enabling easy reuse of shared assets. + +### Super user mode available in Self-Managed Self-Managed + + + +Organization administrators can now govern and access all projects in Web Modeler Self-Managed using a new "super user" mode. + +:::note +This feature has already been released in SaaS. +::: + +### User Task priority field Zeebe + + + +Organizations often face challenges in ensuring that teams focus on the most important tasks within complex workflows. To address this, the task priority feature allows you to define and manage task priorities within a BPMN process, ensuring that important assignments receive the attention they deserve. + +- User Task priority is an integer value that determines the importance of a task within a workflow. +- The supported priority values range from 0 to 100, with a default value of 50. A higher priority value indicates higher importance. + +### Version tag binding for linked resources support Modeler + + + +You can now pin dependent files using a user-generated version tag. By specifying a version tag like "1.3.4", you can ensure that the right version of a dependent BPMN, DMN, or Form file is always used, regardless of future deployments. This feature is ideal for managing external or shared dependencies. + +### Write rate limiting based on exporting rate Zeebe + + + +A new Zeebe unified flow control mechanism can limit user commands and rate limit writes of new records in general. By default, Zeebe tries to achieve 200ms response times for user commands. You can use this new feature to prevent the buildup of an excessive exporting backlog. + +To limit the write rate, you can either set a static limit or enable throttling that dynamically adjusts the write rate based on the exporting backlog and rate. +If activated, you might see more backpressure in cases where exporters are not exporting fast enough, so that a backlog builds up. The backpressure error message contains information to explain what is happening, and you can also refer to the documentation to understand what to do in such cases. + +- SaaS: The new write limit is automatically applied to Saas default hosting packages. +- Self-Managed: Limiting is disabled by default. If required, you can + activate and tune the write limit. See the [operational guide](/self-managed/operational-guides/configure-flow-control/configure-flow-control.md) for more + information. ## 8.6.0-alpha4 -| Release date | Changelog(s) | | -| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| 12 August 2024 | - [ Camunda 8 core ](https://github.com/camunda/zeebe/releases/tag/8.6.0-alpha4)
    - [ Connectors ](https://github.com/camunda/connectors/releases/tag/8.6.0-alpha4) | [Release blog](https://camunda.com/blog/2024/08/camunda-alpha-release-august-2024/) | +| Release date | Changelog(s) | | +| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | +| 12 August 2024 | - [ Camunda 8 core ](https://github.com/camunda/camunda/releases/tag/8.6.0-alpha4)
    - [ Connectors ](https://github.com/camunda/connectors/releases/tag/8.6.0-alpha4) | [Release blog](https://camunda.com/blog/2024/08/camunda-alpha-release-august-2024/) | -### Using Camunda 8 Connectors in Desktop Modeler +### Using Camunda 8 Connectors in Desktop Modeler Modeler @@ -34,7 +153,7 @@ Modeler now offers templates in BPMN diagrams for pre-built Camunda 8 Connectors -### Get started with human task orchestration +### Get started with human task orchestration Help Center Tasklist @@ -43,7 +162,7 @@ The Help Center now features a step-by-step guide to complete our [human task or - Users get a glimpse into the user experience for at-scale adoption. - Enterprise architects get a picture of how Camunda's out-of-the-box Tasklist fits into their architecture. -### Amazon AWS Bedrock Connector +### Amazon AWS Bedrock Connector Connectors @@ -82,19 +201,19 @@ Don't Repeat Yourself (DRY). Play now supports an end-to-end journey for saving - Any user can use this example data in their sessions, eliminating the need for tedious form-fills or copy-pasting. - Connector example data is now available to help define output variables or mock Connectors. -### Out-of-the-box (OOTB) product development lifecycle (PDLC) happy path +### Out-of-the-box (OOTB) product development lifecycle (PDLC) happy path Modeler Web Modeler is building a lightweight, out-of-the-box (OOTB) product development lifecycle (PDLC) to enable business users to review changes, promote them through changes, and maintain visibility into their journey. -### Console Self-Managed: OIDC support +### Console Self-Managed: OIDC support Console Self-Managed We are excited to announce a new Console Self-Managed feature to enhance your authentication capabilities. You can now use OpenID Connect (OIDC) to authenticate with Console Self-Managed, allowing seamless integration with enterprise Identity Providers (IdPs). -### Console Self-Managed: Administration API +### Console Self-Managed: Administration API Console Self-Managed @@ -103,13 +222,13 @@ We are excited to announce the release of the new Administration API for the Cam - The Administration API empowers you to collect detailed information across your organization about your automation clusters and their usage statistics. - You can use this API to automate various operational management tasks and seamlessly integrate the Camunda platform with your internal tools and systems. -### Hourly backup option on Camunda 8 SaaS +### Hourly backup option on Camunda 8 SaaS SaaS On Camunda 8 SaaS, you can now configure hourly backup intervals. Simply head to Console and adjust your backup interval. -### Improved visual indication of the executed path in a process +### Improved visual indication of the executed path in a process Operate @@ -117,29 +236,29 @@ In Operate, the visualization of the executed path of a process instance is impr ## 8.6.0-alpha3 -| Release date | Changelog(s) | | -| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| 02 July 2024 | - [ Camunda 8 core ](https://github.com/camunda/zeebe/releases/tag/8.6.0-alpha3)
    - [ Connectors ](https://github.com/camunda/connectors/releases/tag/8.6.0-alpha3) | [Release blog](https://camunda.com/blog/2024/07/camunda-alpha-release-july-2024/) | +| Release date | Changelog(s) | | +| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| 02 July 2024 | - [ Camunda 8 core ](https://github.com/camunda/camunda/releases/tag/8.6.0-alpha3)
    - [ Connectors ](https://github.com/camunda/connectors/releases/tag/8.6.0-alpha3) | [Release blog](https://camunda.com/blog/2024/07/camunda-alpha-release-july-2024/) | -### Encrypted inter-component communication for Web Modeler +### Encrypted inter-component communication for Web Modeler Modeler You can now [enable TLS-encrypted communication](/self-managed/modeler/web-modeler/configuration/ssl.md) between Web Modeler, the REST API, and websockets. -### API orchestration getting started journey +### API orchestration getting started journey Connectors New platform users interested in orchestrating API endpoints now have a high-level in-product explanation of Camunda's Connector functionality. -### Remove "Cloud" as a user-facing term +### Remove "Cloud" as a user-facing term ModelerConsole SaaS "Cloud" has been removed from the URLs in SaaS versions of Modeler and Console for conciseness. -### Incident Copilot Alpha +### Incident Copilot Alpha Play @@ -151,29 +270,29 @@ Let AI teach you how to prevent and fix the incidents you run into while playing ## 8.6.0-alpha2 -| Release date | Changelog(s) | | -| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| 11 June 2024 | - [ Camunda 8 core ](https://github.com/camunda/zeebe/releases/tag/8.6.0-alpha2)
    - [ Connectors ](https://github.com/camunda/connectors/releases/tag/8.6.0-alpha2.1) | [Release blog](https://camunda.com/blog/2024/06/camunda-alpha-release-june-2024/) | +| Release date | Changelog(s) | | +| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| 11 June 2024 | - [ Camunda 8 core ](https://github.com/camunda/camunda/releases/tag/8.6.0-alpha2)
    - [ Connectors ](https://github.com/camunda/connectors/releases/tag/8.6.0-alpha2.1) | [Release blog](https://camunda.com/blog/2024/06/camunda-alpha-release-june-2024/) | -### API orchestration getting started journey +### API orchestration getting started journey Help Center The Help Center now features a step-by-step guide to complete the [API orchestration tutorial](/guides/getting-started-orchestrate-apis.md). To use this guide, you must have cookies enabled. -### Message queue inbound Connectors message acknowledgement configuration +### Message queue inbound Connectors message acknowledgement configuration Connectors Enhance BPMN workflow reliability with selective message acknowledgement, enabling precise error handling and notification for unmatched messages through RabbitMQ's dead letter queue configuration. Control the message acknowledgement process so acknowledgements are sent only if the message is both correlated to a process instance and meets the activation condition. -### New inbound intermediate element template property - `Message TTL` +### New inbound intermediate element template property - `Message TTL` Connectors Time-to-live (TTL) is now configurable for inbound Connectors via a property in all inbound intermediate element templates called `Message TTL`. The new default value for TTL is 0. Read more about [message buffering](/components/concepts/messages.md#message-buffering) and [message correlation](/components/concepts/messages.md#message-correlation-overview). -### Incident Copilot Alpha +### Incident Copilot Alpha Play @@ -183,7 +302,7 @@ Let AI teach you how to prevent and fix the incidents you run into while playing - Advice on how to update your model to prevent issues while developing - An open conversation to continue asking more questions -### MS SQL, MySQL, and PostgreSQL outbound JDBC Connector +### MS SQL, MySQL, and PostgreSQL outbound JDBC Connector Connectors @@ -191,7 +310,7 @@ Offering seamless data exchange between Camunda 8 and databases, the [new databa This integration enables a wide range of process blueprints and use cases to be executed on the Camunda platform without any additional installation or development. With the new Camunda Connector, you can now seamlessly integrate database operations into your workflows. This feature reduces complexity, enhances security, and lowers maintenance costs by providing a robust and efficient method for data exchange directly within the Camunda platform. -### Create Camunda Wizard +### Create Camunda Wizard Modeler @@ -199,7 +318,7 @@ Camunda's Docs AI is now available while you're modeling. Beyond the standard built-in guidance like tooltips, users who opt-in to AI features will be able to ask complex questions about how to develop their processes without leaving Modeler. The AI tool pulls best practices and technical instructions from our docs, forum posts, and blog, so you can spend less time searching for information and more time developing. -### Web Modeler Self-Managed Developer Edition (Local) +### Web Modeler Self-Managed Developer Edition (Local) Modeler Self-Managed @@ -207,7 +326,7 @@ Web Modeler Self Managed is now free to use for anyone. Now packaged as part of There is one limitation: each Modeler project can have up to five users. -### Amazon SageMaker +### Amazon SageMaker Connectors @@ -215,7 +334,7 @@ Integrate ML cases in your existing processes with [Amazon SageMaker](/component You can now effortlessly integrate machine learning functionalities into your workflows with the release of the Amazon SageMaker Connector. With this new Connector, directly harness Amazon SageMaker's machine learning services within Camunda, streamlining the process and allowing for greater focus on process enhancement and innovation. -### Process application MVP +### Process application MVP Modeler @@ -223,35 +342,35 @@ The [process application](/components/modeler/web-modeler/process-applications.m ## 8.6.0-alpha1 -| Release date | Changelog(s) | Release blog | -| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -| 14 May 2024 | - [ Camunda 8 core ](https://github.com/camunda/zeebe/releases/tag/8.6.0-alpha1)
    - [ Connectors ](https://github.com/camunda/connectors/releases/tag/8.6.0-alpha1) | [Release blog](https://camunda.com/blog/2024/05/camunda-alpha-release-may-2024/) | +| Release date | Changelog(s) | Release blog | +| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| 14 May 2024 | - [ Camunda 8 core ](https://github.com/camunda/camunda/releases/tag/8.6.0-alpha1)
    - [ Connectors ](https://github.com/camunda/connectors/releases/tag/8.6.0-alpha1) | [Release blog](https://camunda.com/blog/2024/05/camunda-alpha-release-may-2024/) | -### Process development lifecycle (PDLC) blueprint +### Process development lifecycle (PDLC) blueprint Marketplace Developing and releasing Camunda processes in compliance with your organization's policies often creates a long-running, sometimes complex process across many endpoints - a great use case for an orchestrator like Camunda. Camunda is taking the first steps to orchestrate the development lifecycle using its own engine, relevant Connectors, and a [customizable blueprint](https://marketplace.camunda.com/en-US/apps/439170/cicd-pipeline) that you can modify to fit your needs. -### Process application MVP (SaaS only) +### Process application MVP (SaaS only) Modeler SaaS The [process application](/components/modeler/web-modeler/process-applications.md) is a special type of folder in Web Modeler that enables bulk actions like deploying all assets together. This reduces the risk of having a broken deployment at runtime and makes it more convenient to deploy related files. -### Instance modification as batch +### Instance modification as batch Operate With the new release operating mass incidents is easier with [batch instance modification](/components/operate/userguide/process-instance-batch-modification.md). If there was an issue in process execution that caused you to enter the wrong process branch or data was corrupted, you can select multiple process instances and move them to the correct place in the process. -### Relative dates in task tiles +### Relative dates in task tiles Tasklist Creation, due, and follow-up dates are now shown as relative dates in task tiles (e.g. "Tomorrow" instead of "10 April 2024 - 13:34 PM"). -### Anti CSRF token for Tasklist +### Anti CSRF token for Tasklist Tasklist diff --git a/docs/reference/release-policy.md b/docs/reference/release-policy.md index 670429601b1..14cfba06f53 100644 --- a/docs/reference/release-policy.md +++ b/docs/reference/release-policy.md @@ -1,74 +1,118 @@ --- id: release-policy title: "Release policy" +description: "Learn more about Camunda releases, including alpha features and alpha releases." --- -Camunda 8 follows the [Camunda release policy](https://camunda.com/release-policy/) with some specific clarifications which can be found below. +Camunda 8 follows the [Camunda release policy](https://camunda.com/release-policy/) with the following specific clarifications. + +:::info +You can find deprecation and support announcements on the [Announcements](announcements.md) page. +::: + +![Stable and alpha channels when provisioning a cluster](./img/diagram-releases.png) + +## Alpha features and releases + +It is important to understand the different ways the term "alpha" is used in the context of Camunda releases and features. + +### Alpha feature + +Refers to a feature or component released as an alpha version, in an early state for you to test and participate in development by sharing your feedback before the feature reaches [general availability (GA)](alpha-features.md#general-availability-ga). Some alpha features require turning on for your cluster before you can use them. See [alpha features](alpha-features.md). + +### Alpha release + +Refers to a release made available between minor versions that allows you to preview an upcoming minor version and the alpha features included (for example, `8.6.0-alpha1`, `8.6.0-alpha2`, and so on). Camunda strives to release this type of release on a monthly basis. To learn more about the alpha features included in each alpha release, see [release notes](release-notes/release-notes.md). :::note -Interested in deprecation and support announcements? Read more on the [Announcements](announcements.md) page. +- An alpha release can also be made available where the entire version is an alpha with [alpha limitations](alpha-features.md#alpha). +- Additionally, "Alpha channel" refers to the channel you can use when provisioning a SaaS cluster. See [alpha channel](#alpha-channel). ::: -## Provisioning in SaaS +## SaaS provisioning + +In Camunda 8 SaaS we differentiate between components that are part of a Camunda 8 cluster (cluster components), and components outside the cluster (non-cluster components). -In our managed service, we differentiate between components that are part of a Camunda 8 cluster and components that are outside of the cluster. +### Cluster components -A cluster usually consists of: +A cluster typically consists of the following components: -- Zeebe -- Operate -- Tasklist -- Optimize +- [Zeebe](/components/zeebe/zeebe-overview.md) +- [Operate](/components/operate/operate-introduction.md) +- [Tasklist](/components/tasklist/introduction-to-tasklist.md) +- [Optimize]($optimize$/components/what-is-optimize) -For components **outside of the cluster**, we release new versions continuously and update customers to the latest version automatically whenever it is ready to be shipped. +You can provision cluster components using one of two channels, following the [Camunda release policy](https://camunda.com/release-policy/). -These components include: +![Stable and alpha channels when provisioning a cluster](./img/channels.png) -- Modeler (Web) -- Connectors -- Console +#### Stable channel -Admins can [enable alpha features](/components/console/manage-organization/enable-alpha-features.md) for components outside of the cluster in the organization settings screen. +You can use the **Stable** channel to access [general availability](alpha-features.md#general-availability-ga) features for cluster components. -For components inside a **cluster**, Camunda provides two channels for provisioning and follows the [Camunda release policy](https://camunda.com/release-policy/): +- Provides the latest feature and patch releases ready for most users at minimal risk. +- Releases follow semantic versioning and can be updated to the next minor or patch release without data loss. +- On the stable channel, all supported minor versions are made available for provisioning. -- **Stable**: General availability features for cluster components are available through the stable channel. This channel provides the latest feature and patch releases ready for most users at minimal risk. The releases follow semantic versioning and can be updated to the next minor or patch release without data loss. -- **Alpha**: Alpha features for cluster components are available through the alpha channel. This channel provides preview releases in preparation for the next stable release. They provide a short-term stability point to test new features and give feedback before they are released to the stable channel. Try these to ensure the upcoming release works with your infrastructure. These releases cannot be updated to a newer release, and therefore are not meant to be used in production. +#### Alpha channel -On the stable channel, the last three supported minor versions are made available for provisioning. +You can use the **Alpha** channel to access [alpha features](alpha-features.md) and patch releases for cluster components. -### New versions +- Provides alpha releases to preview and prepare for the next stable release. +- Alpha releases provide a short-term stability point to test new features and give feedback before they are released to the stable channel. Use an alpha release to test the upcoming minor release with your infrastructure. +- Alpha releases cannot be updated to a newer release, and so are not suitable for use in production. -Whenever a new Camunda 8 version is released, we do our best to provide the new version on our managed service at the same time. We add a notice to Console, recommending an update to the latest version. +### Non-cluster components + +Non-cluster components include: + +- [Modeler (Web)](/components/modeler/web-modeler/launch-web-modeler.md) +- [Connectors](/components/console/introduction-to-console.md) +- [Console](/components/console/introduction-to-console.md) + +Non-cluster component versions are released continuously. + +- Customers are automatically updated to the latest component version when it is ready for release. +- Admins can [enable alpha features](/components/console/manage-organization/enable-alpha-features.md) for non-cluster components in organization settings. + +### New Camunda 8 versions + +When a new Camunda 8 version is released, we try to provide the new version on our managed service at the same time. + +An **Update available** notification is shown in Console, recommending that you update to the latest version. ![Console with notice to update the cluster in Camunda 8 SaaS](img/update-console.png) -With the Camunda 8.5.0 release, the generation naming scheme in Camunda 8 SaaS will change and no longer include the patch version. +#### Generation names -The new naming scheme used for the Camunda 8.5 generations will be `Camunda .+gen`, where `N` is incremented with every atomic change to the component version set. +As of Camunda 8.5.0, the generation naming scheme in Camunda 8 SaaS changed to no longer include the patch version. -This was done to decouple the generation name from the particular patch level of the components it contains, as some component versions like Connectors are decoupled from other components. +- The naming scheme used for the Camunda 8.5 generations is `Camunda .+gen`, where `N` is incremented with every atomic change to the component version set. -You will learn about the particular component patch version changes in the update dialogue to the latest generation available. +- This decouples the generation name from the particular patch level of the components it contains, as some component versions such as Connectors are decoupled from other components. -#### Updates or restart for critical issues +- You can learn about the particular component patch version changes in the update dialogue to the latest generation available. -In our managed service, we reserve the right to force update or restart a cluster immediately and without notice in advance if there is a critical security or stability issue. +#### Update or restart for critical issues + +In our managed service, Camunda reserves the right to force update or restart a cluster immediately and without notice in advance if there is a critical security or stability issue. ## Self-Managed -Whenever a new Camunda 8 version is released, Camunda 8 Self-Managed enterprise customers will be notified via email. +When a new Camunda 8 version is released, Camunda 8 Self-Managed enterprise customers are notified via email. -If you are not an enterprise customer, you can stay up to date via [release blogs](https://camunda.com/blog/category/release-notes/), the [announcements page](/reference/announcements.md), or releases on [GitHub](https://github.com/camunda) and [Docker Hub](https://hub.docker.com/u/camunda). +:::info +Non-enterprise customers can stay up to date via [release blogs](https://camunda.com/blog/category/releases/), [announcements](announcements.md), or releases on [GitHub](https://github.com/camunda) and [Docker Hub](https://hub.docker.com/u/camunda). +::: ### Helm chart -Since the 8.4 release, [Camunda 8 Self-Managed Helm chart](https://artifacthub.io/packages/helm/camunda/camunda-platform) version is decoupled from the version of the application (e.g., the chart version is 9.0.0 and the application version is 8.4.x). +Since the 8.4 release, the [Camunda 8 Self-Managed Helm chart](https://artifacthub.io/packages/helm/camunda/camunda-platform) version is decoupled from the version of the application. For example, the chart version is 9.0.0 and the application version is 8.4.x. -For more details about the applications version included in the Helm chart, review the [full version matrix](https://helm.camunda.io/camunda-platform/version-matrix/). +To learn more about the applications version included in the Helm chart, see the [Camunda 8 Helm chart version matrix](https://helm.camunda.io/camunda-platform/version-matrix/). -### New versions +### New Camunda 8 versions -If you are running Camunda 8 Self-Managed, follow our [update guide](/self-managed/operational-guides/update-guide/introduction.md). +If you are running Camunda 8 Self-Managed, see the [update guide](/self-managed/operational-guides/update-guide/introduction.md) to learn how to update your Camunda 8 application or server installation to a newer version of Camunda 8. diff --git a/docs/self-managed/concepts/multi-region/dual-region.md b/docs/self-managed/concepts/multi-region/dual-region.md index a7035ad862a..7d44cadefb3 100644 --- a/docs/self-managed/concepts/multi-region/dual-region.md +++ b/docs/self-managed/concepts/multi-region/dual-region.md @@ -9,39 +9,45 @@ description: "A dual-region setup allows you to run Camunda in two regions synch import DualRegion from "./img/dual-region.svg"; -Camunda 8 is compatible with a dual-region setup under certain [limitations](#limitations). This allows Camunda 8 to run in a mix of active-active and active-passive setups, resulting in an overall **active-passive** setup. The following will explore the concept, limitations, and considerations. +Camunda 8 can be deployed in a dual-region configuration with certain [limitations](#camunda-8-dual-region-limitations). Dual-region deployments are considered **active-passive,** where one region handles user traffic, and the other acts as a standby. -:::warning +:::caution -You should get familiar with the topic, the [limitations](#limitations) of the dual-region setup, and the general [considerations](#considerations) on operating a dual-region setup. +Before implementing a dual-region setup, ensure you understand the topic, the [limitations](#camunda-8-dual-region-limitations) of dual-region setup, and the general [considerations](#platform-considerations) of operating a dual-region setup. ::: -## Active-active and active-passive +## Active-active vs active-passive **Active-active** and **active-passive** are standard setups used in dual-region configurations to ensure that applications remain available and operational in case of failures. -In an **active-active** setup, multiple application instances run simultaneously in different regions, actively handling user requests. This allows for better load balancing and fault tolerance, as traffic can spread across regions. If one region fails, the workload can shift to another without causing disruptions. +In an **active-active** setup, multiple instances of an application or system are deployed in different regions or locations, and all instances actively process requests simultaneously. This setup ensures high availability and load balancing by distributing traffic across multiple regions. -By contrast, an **active-passive** setup designates one region as the main or active region where all user requests are processed. The other region remains on standby until needed, only becoming active if the previously active region fails. This setup is easier to manage but may result in higher delays during failover events. +In an **active-passive** setup, one instance or region is designated as the active region, handling all requests and processing. The passive region receives replicated data but remains idle, not processing client traffic unless the active region becomes unavailable. When a failure occurs in the active region, the passive region is activated, taking over the operations, usually after a manual or automated failover process. ## Disclaimer -:::danger +:::caution Running dual-region setups requires developing, testing, and executing custom [operational procedures](./../../operational-guides/multi-region/dual-region-ops.md) matching your environments. This page outlines key points to consider. ::: -## Architecture +## Dual-region architecture -The depicted architecture consists of two regions. For illustrative purposes, we're showing a Kubernetes-based installation. Each region houses a Kubernetes cluster with Camunda 8 deployment. Those two Camunda 8 setups are able to communicate with each other. +The depicted architecture consists of two regions in a Kubernetes-based installation. Each region has a Kubernetes cluster, which includes key Camunda 8 components. These clusters communicate, but only the active region handles user traffic. -One of the regions will be considered **active** and the other **passive**. User traffic must only reach the **active** region. We consider **Region 0** (underlined in green) the active region and **Region 1** the passive region. In this case, user traffic would only go to **Region 0**. **Region 1** would be considered passive and used in case of the loss of the active region. Due to Zeebe's data replication, you can recover from an active region loss by utilizing the passive region without much downtime. +**Region 0** (highlighted in green) is considered **active**, and **Region 1** is considered **passive**. User traffic must only reach the **active** region. In this case, user traffic would only go to Region 0. Region 1 is considered passive and used in case of the loss of the active region. Due to Zeebe's data replication, you can recover from an active region loss by utilizing the passive region without much downtime. -Zeebe stretches across the regions due to its use of the [Raft protocol](), allowing it to communicate and replicate data between all brokers. Zeebe exports data to two Elasticsearch instances, one in each region. Operate and Tasklist will import the previously exported data and run per region. +Zeebe stretches across the regions due to its use of the [Raft protocol](), allowing it to communicate and replicate data between all brokers. Zeebe exports data to two Elasticsearch instances, one in each region. Operate and Tasklist are connected to the local Elasticsearch infrastructure. + +### User traffic + +The system operates primarily in an **active-passive** configuration, though some components may function in **active-active** mode. It is your responsibility to manage user traffic routing, including DNS configurations, as this is not handled automatically. Designate one region as the **active** region to serve all user traffic and ensure that traffic is directed there. In the event of a complete failure of the active region, you will need to manually reroute traffic to the **passive** region to maintain availability. The system does not cover traffic management beyond this scope. + +### Components The currently supported Camunda 8 Self-Managed components are: @@ -50,100 +56,90 @@ The currently supported Camunda 8 Self-Managed components are: - Operate - Tasklist -### User traffic +#### Zeebe -The overall system is **active-passive**, even though some components may be **active-active**. You will have to take care of the user traffic routing or DNS by yourself, and won't be considered further. Select one region as the actively serving region and route the user traffic there. In case of a total region failure, route the traffic to the passive region yourself. +Zeebe operates in an **active-active** mode and replicates data between its brokers. Due to its replication logic, it can handle an entire region failure without data loss, but it requires proper partitioning and replication. Read through the [cluster technical concept](./../../../components/zeebe/technical-concepts/clustering.md) to learn more about the [Raft protocol](). -### Components +#### Elasticsearch -#### Zeebe +We treat Elasticsearch as an **active-passive** component. While it can be stretched across regions, this is not officially supported and may impact Zeebe’s performance. Each region has its own Elasticsearch instance. Zeebe is exporting data to both instances and provides data replication. -Zeebe, as a workflow engine, is fully **active-active** and replicates data between its brokers. Due to its replication logic, it can handle an entire region failure without data loss, but requires a proper partition and replication setup. Consider reading through the [cluster technical concept](./../../../components/zeebe/technical-concepts/clustering.md) to learn more about the [Raft protocol](). +We recommend the approach of one Elasticsearch per region and configuring Zeebe to export the Elasticsearch data to both regions. -#### Elasticsearch +#### Operate and Tasklist + +These Components are **active-passive** components and, in their current state, are not highly available. These Components are limited by the included exporters that would cause data issues when running multiple instances at the same time. + +Only a single Component instance can run in each region (for example, in Region 0, there is 1 instance of Operate and 1 instance of Tasklist; the same is true in Region 1). + +One instance must be actively serving traffic while the other is on standby. + +Operate and Tasklist store some data in the active region, as they write directly to Elasticsearch, and this data is not replicated through Zeebe. In the event of a total active region loss, the following data loss will occur: + +- Operate Losses: Uncompleted batch operations +- Tasklist Losses: Task assignments + +## Requirements and limitations + +### Installation environment + +Two Kubernetes clusters are required for the Helm chart installation. + +Amazon OpenSearch is **not supported** in dual-region configurations. -We treat Elasticsearch as an **active-passive** component. While it may be possible to deploy it in active-active mode and stretch across regions, it's not officially documented by Elasticsearch. Such a setup generally brings its own challenges we can't control and may negatively impact the performance of Zeebe. - -We recommend the approach of one Elasticsearch per region and configuring Zeebe to export the Elasticsearch data in both regions. - -#### Components - -Camunda components are **active-passive** components and in their current state not highly available as we're limited by the included exporters that would cause data issues when running multiple instances at the same time. - -In every region, there can be only a single component instance running (for example in Region 0, 1 instance of Operate, 1 instance of Tasklist; same in Region 1). - -This means that one instance will be actively serving traffic, while the other is on standby. - -##### Operate - -In the event of a total active region loss, the following data will be lost: - -- Uncompleted batch operations - -##### Tasklist - -In the event of a total active region loss, the following data will be lost: - -- Task assignments - -## Requirements - -- Camunda 8 - - Minimum [Helm chart version](https://github.com/camunda/camunda-platform-helm) **9.3+** - - Minimum component images - - Elasticsearch **8.9+** - - OpenSearch (both managed and self-managed) is not supported - - Operate **8.5+** - - Tasklist **8.5+** - - Zeebe **8.5+** - - Zeebe Gateway **8.5+** -- For the Helm chart installation method, two Kubernetes clusters are required - - OpenShift is not supported -- Network - - The regions (for example, two Kubernetes clusters) need to be able to connect to each other (for example, via VPC peering) - - See an [example implementation](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md) of two VPC peered Kubernetes clusters based on AWS EKS. - - Maximum network round trip time (**RTT**) between the regions should not exceed **100 ms** - - Open ports between the two regions: - - **9200** for Elasticsearch for Zeebe to push data cross-region - - **26500** for communication to the Zeebe Gateway from client/workers - - **26501** for the Zeebe brokers and Zeebe Gateway communication - - **26502** for the Zeebe brokers and Zeebe Gateway communication -- Only specific combinations of Zeebe broker counts and replication factors are supported - - `clusterSize` must be a multiple of **2** and a minimum of **4** to evenly distribute the brokers across the two regions. - - `replicationFactor` must be **4** to ensure that the partitions are evenly distributed across the two regions. - - `partitionCount` is not restricted and depends on your workload requirements, consider having a look at [understanding sizing and scalability behavior](../../../components/best-practices/architecture/sizing-your-environment.md#understanding-sizing-and-scalability-behavior). - - For further information and visualization of the partition distribution, consider consulting the documentation on [partitions](../../../components/zeebe/technical-concepts/partitions.md). -- The customers operating their Camunda 8 setup are responsible for detecting a regional failure and executing the [operational procedure](./../../operational-guides/multi-region/dual-region-ops.md). - -## Limitations - -- We recommend using a Kubernetes dual-region setup, with [Camunda Helm chart](/self-managed/setup/install.md) installed in two Kubernetes clusters. - - Using alternative installation methods (for example, with docker-compose) is not covered in our documentation. -- Looking at the whole Camunda platform, it's **active-passive**, while some key components are active-active. - - There's always one active and one passive region for serving active user traffic. - - Serving traffic to both regions will result in a detachment of the components and users potentially observing different data in Operate and Tasklist. -- Identity is not supported. - - Multi-tenancy does not work. - - Role Based Access Control (RBAC) does not work. -- Optimize is not supported. - - This is due to Optimize depending on Identity to work. -- Connectors can be deployed alongside but ensure to understand idempotency based on [the described documentation](../../../components/connectors/use-connectors/inbound.md#creating-the-connector-event). - - in a dual-region setup, you'll have two connector deployments and using message idempotency is of importance to not duplicate events. -- Zeebe cluster scaling is not supported. -- Web-Modeler is a standalone component and is not covered in this guide. - - Modeling applications can operate independently outside of the automation clusters. - -## Considerations - -Multi-region setups in itself bring their own complexity. The following items are such complexities and are not considered in our guides. -You should familiarize yourself with those before deciding to go for a dual-region setup. - -- Managing multiple Kubernetes clusters and their deployments across regions -- Monitoring and alerting -- Increased costs of multiple clusters and cross-region traffic -- Data consistency and synchronization challenges (for example, brought in by the increased latency) - - Bursts of increased latency can already have an impact -- Managing DNS and incoming traffic +#### Network requirements + +- Kubernetes clusters, services, and pods must not have overlapping CIDRs. Each cluster must use distinct CIDRs that do not conflict or overlap with those of any other cluster to avoid routing issues. +- The regions (for example, two Kubernetes clusters) must be able to communicate with each other (for example, via VPC peering). See [example implementation](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md) for AWS EKS. + - Kubernetes services in one cluster must be resolvable and reachable from the other cluster and vice-versa. This is essential for proper communication and functionality across regions: + - For AWS EKS setups, ensure DNS chaining is configured. Refer to the [Amazon Elastic Kubernetes Service (EKS) setup guide](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md). + - For OpenShift, [Submariner](https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.11/html/networking/networking#submariner) is recommended for handling multi-cluster networking. Specific implementation guides are not yet available. +- Maximum network round trip time (**RTT**) between regions should not exceed **100 ms**. +- Required open ports between the two regions: + - **9200** for Elasticsearch (for cross-region data pushed by Zeebe). + - **26500** for communication to the Zeebe Gateway from clients/workers. + - **26501** and **26502** for communication between Zeebe brokers and Zeebe Gateway. + +### Zeebe cluster configuration + +The following Zeebe brokers and replication configuration is supported: + +- `clusterSize` must be a multiple of **2** and at least **4** to evenly distribute brokers across the two regions. +- `replicationFactor` must be **4** to ensure even partition distribution across regions. +- `partitionCount` is unrestricted but should be chosen based on workload requirements. See [understanding sizing and scalability behavior](../../../components/best-practices/architecture/sizing-your-environment.md#understanding-sizing-and-scalability-behavior). For more details on partition distribution, see [documentation on partitions](../../../components/zeebe/technical-concepts/partitions.md). + esponsible for detecting regional failures and executing the [operational procedure](./../../operational-guides/multi-region/dual-region-ops.md). + +### Camunda 8 dual-region limitations + +| **Aspect** | **Details** | +| :----------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Installation methods |

    • For **Kubernetes** we recommend using a dual-region Kubernetes setup with the [Camunda Helm chart](/self-managed/setup/install.md) installed in two Kubernetes clusters.
    • For **other platforms**, using alternative installation methods (for example, with docker-compose) is not covered by our guides.

    | +| Camunda Platform Configuration |

    The overall Camunda platform is **active-passive**

    • **Active-Passive Traffic Handling:** One active and one passive region serve active user traffic.
    • **Traffic to Both Regions:** Serving traffic to both regions will cause component detachment, potentially resulting in different data visibility in Operate and Tasklist.

    | +| Identity Support | Identity, including multi-tenancy and Role-Based Access Control (RBAC), is currently unavailable in this setup. | +| Optimize Support | Not supported (requires Identity). | +| Connectors Deployment | Connectors can be deployed in a dual-region setup, but attention to [idempotency](../../../components/connectors/use-connectors/inbound.md#creating-the-connector-event) is required to avoid event duplication. In a dual-region setup, you'll have two connector deployments and using message idempotency is of importance to not duplicate events. | +| Connectors | If you are running Connectors and have a process with an inbound connector deployed in a dual-region setup, consider the following:
    • when you want to delete the process deployment, delete it via Operate (not zbctl), otherwise the inbound connector won't deregister.
    • if you have multiple Operate instances running, then perform the delete operation in both instances. This is a [known limitation](https://github.com/camunda/camunda/issues/17762).
    | +| Zeebe Cluster Scaling | Not supported. | +| Web Modeler | Web Modeler is a standalone component that is not covered in this guide. Modelling applications can operate independently outside of the automation clusters. | + +### Infrastructure and deployment platform considerations + +Multi-region setups come with inherent complexities, and it is essential to fully understand these challenges before selecting a dual-region configuration. + +The following areas must be managed independently, and are not controlled by Camunda or covered by our guides: + +- Managing multiple Kubernetes clusters and their deployments across regions. +- Dual-region monitoring and alerting. +- Increased costs of multiple clusters and cross-region traffic. +- Data consistency and synchronization challenges (for example, brought in by the increased latency). + - Bursts of increased latency can already have an impact. +- Managing DNS and incoming traffic. + +### Upgrade considerations + +When upgrading a dual-region setup, it is crucial to follow a staged approach. Perform the upgrade in one region first before proceeding to the other. + +Simultaneously upgrading both regions can result in a loss of quorum for partitions, as two Zeebe brokers might be upgraded at the same time. To prevent this issue, it is recommended to upgrade one region at a time, ensuring that only one Zeebe broker is updated during each upgrade phase. ## Region loss @@ -151,60 +147,67 @@ In a dual-region setup, a loss of a region will invariably affect Camunda 8, reg This means the Zeebe stretch cluster will not have a quorum when half of its brokers are not reachable anymore and will stop processing any new data. This will also affect the components, as they cannot update or push new workflows. Essentially, this means the workflow engine will halt until the region failover procedure is complete. -The [operational procedure](./../../operational-guides/multi-region/dual-region-ops.md) looks in detail at short-term recovery from a region loss and how to long-term fully re-establish the lost region. The procedure works the same way for active or passive region loss since we don't consider traffic routing (DNS) in the scenario. +The [operational procedure](./../../operational-guides/multi-region/dual-region-ops.md) looks in detail at a recovery from a region loss and how to long-term fully re-establish the lost region. + +::caution +Customers are expected to proactively monitor for regional failures and take ownership of executing the necessary [operational procedures](./../../operational-guides/multi-region/dual-region-ops.md) to ensure smooth recovery and failover. +:: ### Active region loss -The loss of the active region means: +The total loss of the active region results in the following: -- The loss of previously mentioned data in Operate and Tasklist. -- Traffic is routed to the active region, which now can't be served anymore. -- The workflow engine will stop processing due to the loss of the quorum. +- **Service disruption**: Traffic routed to the active region can no longer be served. +- **Workflow engine impact**: The workflow engine stops processing due to quorum loss. +- **Loss of Tasklist and Operate operations**: Uncompleted batch operations and Tasklist assignments will be lost -The following high-level steps need to be taken in case of the active region loss: +#### Steps to take in case of active region loss -1. Follow the [operational procedure](./../../operational-guides/multi-region/dual-region-ops.md#failover) to temporarily recover from the region loss and unblock the workflow engine. -2. Reroute traffic to the passive region that will now become the new active region. -3. Due to the loss of data in Operate and Tasklist, you'll have to: - 1. Reassign uncompleted tasks in Tasklist. +1. **Temporary recovery:** Follow the [operational procedure for temporary recovery](./../../operational-guides/multi-region/dual-region-ops.md#failover) to restore functionality and unblock the workflow engine. +2. **Traffic rerouting:** Reroute traffic to the passive region, which will now become the new active region. +3. **Data and task management:** Due to the loss of data in Operate and Tasklist: + 1. Reassign any uncompleted tasks in the lost region's Tasklist. 2. Recreate batch operations in Operate. -4. Follow the [operational procedure](./../../operational-guides/multi-region/dual-region-ops.md#failback) to recreate a new permanent region that will become your new passive region. +4. **Permanent region setup:** In case of permanent/complete region loss, follow the [operational procedure to create a new permanent region](./../../operational-guides/multi-region/dual-region-ops.md#failback) that will become your new passive region. ### Passive region loss -The loss of the passive region means the workflow engine will stop processing due to the loss of the quorum. +The loss of the passive region results in the following: -The following high-level steps need to be taken in case of passive region loss: +- **Workflow engine impact**: The workflow engine will stop processing due to the loss of quorum. -- Follow the [operational procedure](./../../operational-guides/multi-region/dual-region-ops.md#failover) to temporarily recover from the region loss and unblock the workflow engine. -- Follow the [operational procedure](./../../operational-guides/multi-region/dual-region-ops.md#failback) to recreate a new permanent region that will become your new passive region. +#### Steps to take in case of passive region loss -Unlike the active region loss, no data will be lost, nor will any traffic require rerouting. +1. **Temporary recovery:** Follow the [operational procedure to temporarily recover](./../../operational-guides/multi-region/dual-region-ops.md#failover) from the loss and unblock the workflow engine. +2. **Permanent region setup:** Follow the [operational procedure to create a new permanent region](./../../operational-guides/multi-region/dual-region-ops.md#failback) that will become your new passive region. -### Disaster Recovery +:::note +Unlike an active region loss, no data will be lost and no traffic rerouting is necessary. +::: -Based on all the limitations and requirements, you can consider the **Recovery Point Objective (RPO)** and **Recovery Time Objective (RTO)** in case of a disaster recovery to help with the risk assessment. +### Disaster recovery -The **Recovery Point Objective (RPO)** is the maximum tolerable data loss measured in time. +Based on all the limitations and requirements outlined in this article, you can consider the **Recovery Point Objective (RPO)** and **Recovery Time Objective (RTO)** in case of a disaster recovery to help with the risk assessment. -The **Recovery Time Objective (RTO)** is the time to restore services to a functional state. +The **RPO** is the maximum tolerable data loss measured in time. -For Operate, Tasklist, and Zeebe the **RPO** is **0**. +The **RTO** is the time to restore services to a functional state. -The **RTO** can be considered for the **failover** and **failback** procedures, both resulting in a functional state. +For Operate, Tasklist, and Zeebe, the **RPO** is **0**. -- **failover** has an **RTO** of **< 1** minute to restore a functional state, excluding DNS considerations. -- **failback** has an **RTO** of **5 + X** minutes to restore a functional state, where X is the time it takes to back up and restore Elasticsearch. This timing is highly dependent on the setup and chosen [Elasticsearch backup type](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html#ess-repo-types). - During our automated tests, the reinstallation and reconfiguration of Camunda 8 takes 5 minutes. This can serve as a general guideline for the time required, though your experience may vary depending on your available resources and familiarity with the operational procedure. +The **RTO** can be considered for the **failover** and **failback** procedures, both of which result in a functional state. -:::info +- **failover** has an **RTO** of **< 1** minute to restore a functional state, excluding DNS reconfiguration and Networking considerations. +- **failback** has an **RTO** of **5 + X** minutes to restore a functional state, where X is the time it takes to back up and restore Elasticsearch. This timing is highly dependent on the setup and chosen [Elasticsearch backup type](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html#ess-repo-types). -The described minutes for the **Recovery Time Objective** are estimated and may differ due to the manual steps involved. +During our automated tests, the reinstallation and reconfiguration of Camunda 8 takes 5 minutes. This can serve as a general guideline for the time required, though your experience may vary depending on your available resources and familiarity with the operational procedure. +:::info +The **Recovery Time Objective (RTO)** estimates are based on our internal tests and should be considered approximate. Actual times may vary depending on the specific manual steps and conditions during the recovery process. ::: -## Guides +## Further resources -- Familiarize yourself with our [Amazon Elastic Kubernetes Service (EKS) setup guide](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md). This showcases an example blueprint setup in AWS by utilizing the managed EKS and VPC peering for a dual-region setup with Terraform. - - The concepts in the guide are mainly cloud-agnostic and the guide can be adopted to other cloud providers. +- Familiarize yourself with our [Amazon Elastic Kubernetes Service (EKS) setup guide](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md). This showcases an example blueprint setup in AWS that utilizes the managed EKS and VPC peering for a dual-region setup with Terraform. + - The concepts in the guide are mainly cloud-agnostic, and the guide can be adopted by other cloud providers. - Familiarize yourself with the [operational procedure](./../../operational-guides/multi-region/dual-region-ops.md) to understand how to proceed in the case of a total region loss and how to prepare yourself to ensure smooth operations. diff --git a/docs/self-managed/console-deployment/configuration.md b/docs/self-managed/console-deployment/configuration.md index aae5955a69c..874312d78c7 100644 --- a/docs/self-managed/console-deployment/configuration.md +++ b/docs/self-managed/console-deployment/configuration.md @@ -76,7 +76,7 @@ console: By default, Console uses Keycloak to provide authentication. You can use a different OIDC provider by following the steps described in the [OIDC connection guide](/self-managed/setup/guides/connect-to-an-oidc-provider.md). -## Montioring +## Monitoring To help understand how Console operates, we expose the following endpoints by default: diff --git a/docs/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md b/docs/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md index 1173b3be59e..835be739ecc 100644 --- a/docs/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md +++ b/docs/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md @@ -18,6 +18,12 @@ Clients in Camunda 8 SaaS and applications in Camunda 8 Self-Managed provide a s ## Steps +:::caution Keycloak URLs +As of the 8.5.3 release, Identity uses the Keycloak frontend URL instead of the backend URL. This change may affect you if you have blocked the Keycloak frontend URL from other services (including Camunda applications), and can potentially impact Identity's functionality. + +To avoid connectivity issues, ensure your Keycloak frontend URL is accessible by adjusting your network, firewall, or security settings as needed. This adjustment is crucial to maintain the integration with Keycloak and ensure compatibility. +::: + To connect Identity to an existing Keycloak instance, take the following steps: 1. Log in to your Keycloak Admin Console. diff --git a/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png b/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png index 3bc619d7a9e..319eb95bc07 100644 Binary files a/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png and b/docs/self-managed/modeler/desktop-modeler/img/deploy-empty.png differ diff --git a/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png b/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png index 1d2db2ad21a..08b9bfc6223 100644 Binary files a/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png and b/docs/self-managed/modeler/desktop-modeler/img/deploy-endpoint.png differ diff --git a/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png b/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png index 7d24cdc4eb7..e3384864cf7 100644 Binary files a/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png and b/docs/self-managed/modeler/desktop-modeler/img/deploy-success.png differ diff --git a/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png b/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png index 269dfb28f59..9a765d21543 100644 Binary files a/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png and b/docs/self-managed/modeler/desktop-modeler/img/deploy-with-basic-auth.png differ diff --git a/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png b/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png index 35c87ee9a28..e34977a5b16 100644 Binary files a/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png and b/docs/self-managed/modeler/desktop-modeler/img/deploy-with-oauth.png differ diff --git a/docs/self-managed/modeler/web-modeler/configuration/configuration.md b/docs/self-managed/modeler/web-modeler/configuration/configuration.md index 777ec3d3374..9b989e42c79 100644 --- a/docs/self-managed/modeler/web-modeler/configuration/configuration.md +++ b/docs/self-managed/modeler/web-modeler/configuration/configuration.md @@ -18,6 +18,27 @@ import Licensing from '../../../../self-managed/react-components/licensing.md' ## Configuration of the `restapi` component +### Clusters + +Clusters configured using the following options can be selected when deploying from Web Modeler. If no clusters are configured, your cluster information can be provided at the time of the deployment. The Camunda 8 [Docker Compose distribution](/self-managed/setup/deploy/local/docker-compose.md) provides a local Zeebe cluster configured by default. + +To add additional clusters, increment the `0` value for each variable (`CAMUNDA_MODELER_CLUSTERS_1_NAME`). + +| Environment variable | Description | Example value | +| ---------------------------------------------------- | -------------------------------------------------------------- | ----------------------------------- | +| `CAMUNDA_MODELER_CLUSTERS_0_NAME` | The name of your cluster. | `test cluster 1` | +| `CAMUNDA_MODELER_CLUSTERS_0_VERSION` | The Camunda version used by this cluster. | `8.6.0` | +| `CAMUNDA_MODELER_CLUSTERS_0_AUTHENTICATION` | The authentication to use with your cluster. | `OAUTH`, `NONE` | +| `CAMUNDA_MODELER_CLUSTERS_0_URL_ZEEBE_GRPC` | The address where your cluster can be reached. | `grpcs://zeebe-1.example.com:26500` | +| `CAMUNDA_MODELER_CLUSTERS_0_URL_ZEEBE_REST` | The address where the Zeebe REST API can be reached. | `https://zeebe-1.example.com:8080` | +| `CAMUNDA_MODELER_CLUSTERS_0_URL_OPERATE` | The address where Operate can be reached. | `https://operate-1.example.com` | +| `CAMUNDA_MODELER_CLUSTERS_0_URL_TASKLIST` | The address where Tasklist can be reached. | `https://tasklist-1.example.com` | +| `CAMUNDA_MODELER_CLUSTERS_0_OAUTH_URL` | The address of your token issuer. | `https://auth.example.com/token` | +| `CAMUNDA_MODELER_CLUSTERS_0_OAUTH_SCOPE` | A comma-separated list of the scopes to use with this cluster. | `test-scope` | +| `CAMUNDA_MODELER_CLUSTERS_0_OAUTH_AUDIENCE_ZEEBE` | The permission name for Zeebe. | `zeebe-api` | +| `CAMUNDA_MODELER_CLUSTERS_0_OAUTH_AUDIENCE_OPERATE` | The permission name for Operate. | `operate-api` | +| `CAMUNDA_MODELER_CLUSTERS_0_OAUTH_AUDIENCE_TASKLIST` | The permission name for Tasklist. | `tasklist-api` | + ### Database Web Modeler requires a PostgreSQL database as persistent data storage (other database systems are currently not supported). diff --git a/docs/self-managed/modeler/web-modeler/configuration/logging.md b/docs/self-managed/modeler/web-modeler/configuration/logging.md index f88fe21d424..307a2ea773b 100644 --- a/docs/self-managed/modeler/web-modeler/configuration/logging.md +++ b/docs/self-managed/modeler/web-modeler/configuration/logging.md @@ -10,7 +10,7 @@ Web Modeler's `restapi` component uses the [logback framework](https://logback.q `restapi` component logs to the Docker container's standard output. To change the default logging behavior, create a custom configuration file and let the `restapi` know of it by specifying the following environment variable: -``` +```properties LOGGING_CONFIG=file:/full/path/to/custom-logback-config.xml ``` @@ -20,6 +20,12 @@ for more information on how to customize the logback configuration for specific Enabling `DEBUG` logging for the `restapi` component can be useful for troubleshooting purposes, e.g. for [debugging Zeebe connection issues](../troubleshooting/troubleshoot-zeebe-connection.md#how-can-i-debug-log-grpc--zeebe-communication). +By default, Web Modeler's `restapi` component logs in JSON. For a more readable logging format, activate the Spring profile using the following: + +```properties +SPRING_PROFILES_INCLUDE=default-logging +``` + ## Logging configuration for the `webapp` component By default, the `webapp` component logs to the Docker container's standard output. @@ -28,7 +34,7 @@ By default, the `webapp` component logs to the Docker container's standard outpu To enable additional log output to a file, adjust the following environment variable: -``` +```properties LOG_FILE_PATH=/full/path/to/log/file.log ``` @@ -42,6 +48,6 @@ To enable additional log output to a file, follow these steps: 1. Mount a volume to the directory `/var/www/html/storage/logs`. The logs will be written to a file named `laravel.log` located inside this directory. 2. Adjust the following environment variable: - ``` + ```properties LOG_CHANNEL=single ``` diff --git a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-database-connection.md b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-database-connection.md index f8979a5a98e..03ea750c27a 100644 --- a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-database-connection.md +++ b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-database-connection.md @@ -1,6 +1,6 @@ --- id: troubleshoot-database-connection -title: "Troubleshooting database connection issues" +title: "Troubleshoot database connection issues" sidebar_label: "Database connection" --- diff --git a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md deleted file mode 100644 index 65d993ec0a7..00000000000 --- a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -id: troubleshoot-login -title: "Troubleshooting login issues" -sidebar_label: "Login issues" ---- - -Logging in to Web Modeler doesn't work as expected and shows an error or a blank page when accessing the application. - -To further debug this issue, check the [log output](docs/self-managed/modeler/web-modeler/configuration/logging.md) of the `modeler-restapi` and `modeler-webapp` services for errors and warnings. - -## Unique constraint violation - -When you try to log in to Web Modeler using Keycloak as an OIDC provider, you see an error message in the `modeler-restapi` logs similar to this: - -``` -org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "users_email_key" - Detail: Key (email)=(***************) already exists. -``` - -### Ensure the Keycloak-managed user id didn't change - -Web Modeler uses the value of the `sub` (subject) claim in the JSON Web Token (JWT) issued by the configured OIDC provider (by default Keycloak) to identify users and correlate them with their data created in Web Modeler. -It is important that this value doesn't change over time, for example when the user is deleted and re-created in Keycloak or re-imported from an external user directory, or when reinstalling/updating/switching Keycloak instances. - -If the `sub` claim value changes for an existing user, Web Modeler will try to create a new user record in its database for the user, which will lead to the error above when the user tries to log in. - -As a workaround, you can manually update the user ID in the Web Modeler database: - -1. Export the users from the **Keycloak database** to a CSV file. The following query can be used to select the relevant data: - ```sql - SELECT id, email - FROM user_entity - WHERE realm_id = 'camunda-platform' AND email IS NOT NULL; - ``` -2. Create a new table in the **Web Modeler database**: - ```sql - CREATE TABLE keycloak_users ( - id varchar(255), - email varchar(255) - ); - ``` -3. Import the CSV file from **Step 1** into the new `keycloak_users` table. -4. Update the user IDs by running the following query in the **Web Modeler database**: - ```sql - UPDATE users u - SET iam_id = k.id - FROM keycloak_users k - WHERE k.email = u.email; - ``` -5. Verify that the login is working again. -6. Delete the `keycloak_users` table: - ```sql - DROP TABLE keycloak_users; - ``` diff --git a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-missing-data.md b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-missing-data.md new file mode 100644 index 00000000000..3484b0f9955 --- /dev/null +++ b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-missing-data.md @@ -0,0 +1,31 @@ +--- +id: troubleshoot-missing-data +title: "Troubleshoot missing data" +sidebar_label: "Missing data" +description: "Troubleshooting guide for when all your previous data appears to be missing after logging in to Web Modeler." +--- + +Troubleshoot and resolve your Web Modeler missing data issues. + +## Issue + +When logged in to Web Modeler, all your previous data appears to be missing. + +## Cause + +You must ensure the externally managed user ID does not change. + +Web Modeler uses the value of the `sub` (subject) claim in the JSON Web Token (JWT) issued by the configured OIDC provider (default Keycloak) to identify users and correlate them with their data created in Web Modeler. + +It is important that this value does not change over time, for example when the user is deleted and recreated in Keycloak, reimported from an external user directory, or when reinstalling/updating/switching Keycloak instances. + +- If the `sub` claim value changes for an existing user, Web Modeler creates a new user record for this user in the database the next time the user logs in. +- In this case, the user no longer sees any of the projects they previously had access to, because the project permissions are still assigned to the old user record. + +:::note +The missing/orphaned projects and all contained files remain in the Web Modeler database. +::: + +## Resolution + +To restore project access for the affected users, Web Modeler admins can use the [super-user mode](/components/modeler/web-modeler/collaboration.md#super-user-mode) to reassign collaborators to orphaned projects. diff --git a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-zeebe-connection.md b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-zeebe-connection.md index 1c99d947d50..3536d7183c7 100644 --- a/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-zeebe-connection.md +++ b/docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-zeebe-connection.md @@ -1,6 +1,6 @@ --- id: troubleshoot-zeebe-connection -title: "Troubleshooting Zeebe connection issues" +title: "Troubleshoot Zeebe connection issues" sidebar_label: "Zeebe connection" --- diff --git a/docs/self-managed/operate-deployment/operate-configuration.md b/docs/self-managed/operate-deployment/operate-configuration.md index 32a38ee8791..59bde307f9b 100644 --- a/docs/self-managed/operate-deployment/operate-configuration.md +++ b/docs/self-managed/operate-deployment/operate-configuration.md @@ -159,7 +159,7 @@ camunda.operate: To connect to a secured (https) OpenSearch instance, you normally need to only set the URL protocol part to `https` instead of `http`. A secured OpenSearch instance also needs `username` and `password`. -To use AWS Credentials instead of basic auth when connecting to Amazon OpenSearch Services `awsEnabled` has to be set. +To use AWS credentials instead of basic auth when connecting to Amazon OpenSearch Services, `awsEnabled` must be set. The other SSL settings should only be used in case of connection problems; for example, in disabling host verification. @@ -179,7 +179,7 @@ Either set `host` and `port` (deprecated), or `url` (recommended). | camunda.operate.opensearch.ssl.certificatePath | Path to certificate used by OpenSearch | - | | camunda.operate.opensearch.ssl.selfSigned | Certificate was self-signed | false | | camunda.operate.opensearch.ssl.verifyHostname | Should the hostname be validated | false | -| camunda.operate.opensearch.awsEnabled | Should AWS Credentials be used | false | +| camunda.operate.opensearch.awsEnabled | Should AWS credentials be used | false | #### Settings for shards and replicas diff --git a/docs/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md b/docs/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md index 0d75606ffe3..7c8e2d52e0a 100644 --- a/docs/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md +++ b/docs/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md @@ -37,7 +37,7 @@ After the database has been restored, you can start Web Modeler again. :::warning When restoring Web Modeler data from a backup, ensure that the ids of the users stored in your OIDC provider (e.g. Keycloak) do not change in between the backup and restore. -Otherwise, users may not be able to log in after the restore (see [Web Modeler's login troubleshooting guide](docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md#unique-constraint-violation)). +Otherwise, users may not be able to access their projects after the restore (see [Web Modeler's troubleshooting guide](self-managed/modeler/web-modeler/troubleshooting/troubleshoot-missing-data.md)). ::: :::tip diff --git a/docs/self-managed/operational-guides/configure-flow-control/configure-flow-control.md b/docs/self-managed/operational-guides/configure-flow-control/configure-flow-control.md index 011bdd8e1be..08cbf734eae 100644 --- a/docs/self-managed/operational-guides/configure-flow-control/configure-flow-control.md +++ b/docs/self-managed/operational-guides/configure-flow-control/configure-flow-control.md @@ -18,7 +18,7 @@ The write rate can be set as a static limit, which defines the upper rate at whi A static write rate limit can prevent throughput peaks, and write rate throttling can keep the backlog stable by temporarily decreasing the static limit to keep the exporting backlog small. When configuring dynamic throttling, configuring a high static limit can help maintain a high write rate if the exporting can keep up. :::note -We recommend leaving write rate limits disabled by default. For most use cases, write rate limits can be enabled as-needed, if an issue arises. +These write limits are enabled by default in SaaS and disabled in Self-Managed. For most use cases, write rate limits can be enabled as needed if an issue arises. ::: Flow control is configured in your Zeebe broker's `application.yaml` file. The default values can be found in the `# flowControl` section of the Zeebe broker [configuration](https://github.com/camunda/camunda/blob/main/dist/src/main/config/broker.yaml.template) and [standalone](https://github.com/camunda/camunda/blob/main/dist/src/main/config/broker.standalone.yaml.template) templates. diff --git a/docs/self-managed/operational-guides/multi-region/dual-region-ops.md b/docs/self-managed/operational-guides/multi-region/dual-region-ops.md index 5ad2e1b0b55..4151f9d56a8 100644 --- a/docs/self-managed/operational-guides/multi-region/dual-region-ops.md +++ b/docs/self-managed/operational-guides/multi-region/dual-region-ops.md @@ -36,21 +36,21 @@ This procedure has been updated in the Camunda 8.6 release. The procedure used i ## Introduction -This operational blueprint procedure is a step-by-step guide on how to restore operations in the case of a total region failure. It explains how to temporarily restore functionality in the surviving region, and how to ultimately do a full recovery to restore the dual-region setup. The operational procedure builds on top of the [dual-region AWS setup guide](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md), but is generally applicable for any dual-region setup. +This operational blueprint procedure is a step-by-step guide on how to restore operations in the case of a total region failure. It explains how to temporarily restore functionality in the surviving region and how to ultimately do a full recovery to restore the dual-region setup. The operational procedure builds on top of the [dual-region AWS setup guidance](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md), but is generally applicable for any dual-region setup. Before proceeding with the operational procedure, thoroughly review and understand the contents of the [dual-region concept page](./../../concepts/multi-region/dual-region.md). This page outlines various limitations and requirements pertinent to the procedure, which are crucial for successful execution. ## Disclaimer -:::danger +:::caution -Running dual-region setups requires the users to be able to detect any regional failures and to implement the necessary operational procedure for failover and failback, matching their environments. The example blueprint procedure is described below. +Running a dual-region configuration requires users to detect and manage any regional failures, and implement the operational procedure for failover and failback that matches their environment. ::: ## Prerequisites -- A dual-region Camunda 8 setup installed in two different regions, preferably derived from our [AWS dual-region guide](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md). +- A dual-region Camunda 8 setup installed in two different regions, preferably derived from our [AWS dual-region concept](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md). - In that guide, we're showcasing Kubernetes dual-region installation, based on the following tools: - [Helm (3.x)](https://helm.sh/docs/intro/install/) for installing and upgrading the [Camunda Helm chart](https://github.com/camunda/camunda-platform-helm). - [Kubectl (1.30.x)](https://kubernetes.io/docs/tasks/tools/#kubectl) to interact with the Kubernetes cluster. @@ -61,41 +61,36 @@ Running dual-region setups requires the users to be able to detect any regional - **Surviving region** - A surviving region refers to a region within a dual-region setup that remains operational and unaffected by a failure or disaster that affects other regions. - **Lost region** - - A lost region refers to a region within a dual-region setup that becomes unavailable or unusable due to a failure or disaster. + - A lost region is a region within a dual-region setup that becomes unavailable or unusable due to a failure or disaster. - **Recreated region** - - A recreated region refers to a region within a dual-region setup that was previously lost but has been restored or recreated to resume its operational state. - - We assume this region contains no Camunda 8 deployments or related persistent volumes. Ensure this is the case before executing the **failover** procedure. + - A recreated region is a region within a dual-region setup that was previously lost but has been restored or recreated to resume its operational state. + - We assume this region does not contain Camunda 8 deployments or related persistent volumes. Ensure this is the case before executing the failover procedure. ## Procedure -We don't differ between active and passive regions as the procedure is the same for either loss. We will focus on losing the passive region while still having the active region. +We use the same procedure to handle the loss of both active and passive regions. For clarity, this section focuses on the scenario where the passive region is lost while the active region remains operational. The same procedure will be valid in case of active region loss. -You'll need to reroute the traffic to the surviving region with the help of DNS (details on how to do that depend on your DNS setup and are not covered in this guide.) +**Temporary Loss Scenario:** If a region loss is temporary — such as from transient network issues — Zeebe can handle this situation without initiating recovery procedures, provided there is sufficient free space on the persistent disk. However, processing may halt due to a loss of quorum during this time. -After you've identified a region loss and before beginning the region restoration procedure, ensure the lost region cannot reconnect as this will hinder a successful recovery during failover and failback execution. +#### Key steps to handle passive region loss -In case the region is only lost temporarily (for example, due to network hiccups), Zeebe can survive a region loss but will stop processing due to the loss in quorum and ultimately fill up the persistent disk before running out of volume, resulting in the loss of data. +1. **Traffic rerouting:** Use DNS to reroute traffic to the surviving active region. (Details on managing DNS rerouting depend on your specific DNS setup and are not covered in this guide.) +2. **Failover phase:** Temporarily restores Camunda 8 functionality by removing the lost brokers and handling the export to the unreachable Elasticsearch instance. +3. **Failback phase:** Fully restores the failed region to its original functionality. This phase requires the region to be ready for the redeployment of Camunda 8. -The **failover** phase of the procedure temporarily restores Camunda 8 functionality by removing the lost brokers and the export to the unreachable Elasticsearch instance. +:::caution -The **failback** phase of the procedure results in completely restoring the failed region to its full functionality. It requires you to have the lost region ready again for the redeployment of Camunda 8. - -:::warning - -For the **failback** procedure, your recreated region cannot contain any active Camunda 8 deployments or leftover persistent volumes related to Camunda 8 or its Elasticsearch instance. You must start from a clean slate and not bring old data from the lost region, as states may have diverged. +For the failback procedure, the recreated region must not include any active Camunda 8 deployments or residual persistent volumes associated with Camunda 8 or its Elasticsearch instance. It is essential to initiate a clean deployment to prevent data replication and state conflicts. ::: -The following procedures are building on top of the work done in the [AWS setup guide](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md#deploy-camunda-8-to-the-clusters) about deploying Camunda 8 to two Kubernetes clusters in different regions. We assume you have your own copy of the [c8-multi-region](https://github.com/camunda/c8-multi-region) repository and previously completed changes in the `camunda-values.yml` to adjust them to your setup. - -Ensure you have followed [deploy Camunda 8 to the clusters](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md#deploy-camunda-8-to-the-clusters) to have Camunda 8 installed and configured for a dual-region setup. +### Prerequisites -### Environment prerequisites +The following procedures assume that the dual-region deployment has been created using [AWS setup guide](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md#deploy-camunda-8-to-the-clusters). We assume you have your own copy of the [c8-multi-region](https://github.com/camunda/c8-multi-region) repository and previously completed changes in the `camunda-values.yml` to adjust them in your setup. -Ensure you have followed [environment prerequisites](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md#environment-prerequisites) to have the general environment variables set up already. - -We will try to refrain from always mentioning both possible scenarios (losing either region 0 or region 1). Instead, we generalized the commands and require you to do a one-time setup to configure environment variables to help execute the procedure based on the surviving and to be recreated region. +Follow the [dual-region cluster deployment](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md#deploy-camunda-8-to-the-clusters) guide to install Camunda 8, configure a dual-region setup, and have the general environment variables (see [environment prerequisites](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md#environment-prerequisites) already set up. +We will avoid referencing both scenarios of losing either Region 0 or Region 1. Instead, we have generalized the commands and require a one-time setup to configure environment variables, enabling you to execute the procedure based on the surviving region and the one that needs to be recreated. Depending on which region you lost, select the correct tab below and export those environment variables to your terminal for a smoother procedure execution: @@ -125,7 +120,9 @@ export REGION_RECREATED=region1
    -### Failover +### Failover phase + +The Failover phase outlines steps for removing lost brokers, redistributing load, disabling Elasticsearch export to a failed region, and restoring user interaction with Camunda 8 to ensure smooth recovery and continued functionality. @@ -139,27 +136,21 @@ desired={}
    -#### Current state - -You have previously ensured that the lost region cannot reconnect during the failover procedure. - -Due to the Zeebe data replication, no data has been lost. +| **Current state** | **Desired state** | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| You have ensured that you fully lost a region and want to start the temporary recovery.

    One of the regions is lost, meaning Zeebe:
    - No data has been lost thanks to Zeebe data replication.
    - Is unable to process new requests due to losing the quorum
    - Stops exporting new data to Elasticsearch in the lost region
    - Stops exporting new data to Elasticsearch in the survived region | The lost brokers have been removed from the Zeebe cluster.

    Continued processing is enabled, and new brokers in the failback procedure will only join the cluster with our intervention. | -#### Desired state +#### Procedure -You have removed the lost brokers from the Zeebe cluster. This will allow us to continue processing after the next step and ensure that the new brokers in the failback procedure will only join the cluster with our intervention. - -#### How to get there - -You will port-forward the `Zeebe Gateway` in the surviving region to the local host to interact with the Gateway. +Start with creating a port-forward to the `Zeebe Gateway` in the surviving region to the local host to interact with the Gateway. The following alternatives to port-forwarding are possible: -- if it's exposed to the outside, one can skip port-forwarding and use the URL directly -- one can [`exec`](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_exec/) into an existing pod (such as Elasticsearch), and `curl` from there -- or temporarily [`run`](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_run/) an Ubuntu pod in the cluster to `curl` from there +- if Zeebe Gateway is exposed to the outside of the Kubernetes cluster, you can skip port-forwarding and use the URL directly +- [`exec`](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_exec/) into an existing pod (such as Elasticsearch), and execute `curl` commands from inside of the pod +- [`run`](https://kubernetes.io/docs/reference/kubectl/generated/kubectl_run/) an Ubuntu pod in the cluster to execute `curl` commands from inside the Kubernetes cluster -In our example, we went with port-forwarding to a local host, but other alternatives can also be used. +In our example, we went with port-forwarding to a localhost, but other alternatives can also be used. 1. Use the [zbctl client](../../../apis-tools/cli-client/index.md) to retrieve list of remaining brokers @@ -207,7 +198,7 @@ Brokers: -2. Portforward the service of the Zeebe Gateway for the [management REST API](../../zeebe-deployment/configuration/gateway.md#managementserver) +2. Port-forward the service of the Zeebe Gateway to access the [management REST API](../../zeebe-deployment/configuration/gateway.md#managementserver) ```bash kubectl --context $CLUSTER_SURVIVING port-forward services/$HELM_RELEASE_NAME-zeebe-gateway 9600:9600 -n $CAMUNDA_NAMESPACE_SURVIVING @@ -268,7 +259,7 @@ Brokers: -You can also use the Zeebe Gateway's REST API to ensure the scaling progress has been completed. For better readability of the output, it is recommended to use [jq](https://jqlang.github.io/jq/). +You can also use the Zeebe Gateway's REST API to ensure the scaling progress has been completed. For better output readability, we use [jq](https://jqlang.github.io/jq/). ```bash kubectl --context $CLUSTER_SURVIVING port-forward services/$HELM_RELEASE_NAME-zeebe-gateway 9600:9600 -n $CAMUNDA_NAMESPACE_SURVIVING @@ -305,27 +296,20 @@ desired={}
    -#### Current state - -Zeebe is not yet be able to continue exporting data since the Zeebe brokers in the surviving region are configured to point to the Elasticsearch instance of the lost region. +| **Details** | **Current state** | **Desired state** | +| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | +| **Zeebe configuration** | Zeebe brokers in the surviving region are still configured to point to the Elasticsearch instance of the lost region. Zeebe cannot continue exporting data. | Elasticsearch exporter to the failed region has been disabled in the Zeebe cluster. Zeebe can export data to Elasticsearch again. | +| **User interaction** | Regular interaction with Camunda 8 is not restored. | Regular interaction with Camunda 8 is restored, marking the conclusion of the temporary recovery. | -#### Desired state +#### Procedure -You have disabled the Elasticsearch exporter to the failed region in the Zeebe cluster. - -The Zeebe cluster is then unblocked and can export data to Elasticsearch again. - -Completing this step will restore regular interaction with Camunda 8 for your users, marking the conclusion of the temporary recovery. - -#### How to get there - -1. Portforward the service of the Zeebe Gateway for the [management REST API](../../zeebe-deployment/configuration/gateway.md#managementserver) +1. Port-forward the service of the Zeebe Gateway for the [management REST API](../../zeebe-deployment/configuration/gateway.md#managementserver) ```bash kubectl --context $CLUSTER_SURVIVING port-forward services/$HELM_RELEASE_NAME-zeebe-gateway 9600:9600 -n $CAMUNDA_NAMESPACE_SURVIVING ``` -2. List all exporters to find the corresponding ID. Alternatively, you can check your `camunda-values.yml` file, which lists the exporters as those had to be configured explicitly. +2. List all exporters to find the corresponding ID. Alternatively, you can check your Helm chart `camunda-values.yml` file, which lists the exporters as those that had to be configured explicitly. ```bash curl -XGET 'http://localhost:9600/actuator/exporters' @@ -342,7 +326,7 @@ curl -XGET 'http://localhost:9600/actuator/exporters' -2. Based on the Exporter API you will send a request to the Zeebe Gateway to disable the Elasticsearch exporter to the lost region. +2. Based on the Exporter APIs you will send a request to the Zeebe Gateway to disable the Elasticsearch exporter connected with the lost region. ```bash curl -XPOST 'http://localhost:9600/actuator/exporters/elasticsearchregion1/disable' @@ -394,7 +378,7 @@ curl -XGET 'http://localhost:9600/actuator/cluster' | jq .lastChange -### Failback +### Failback phase @@ -408,23 +392,20 @@ desired={}
    -#### Current state +| **Details** | **Current state** | **Desired state** | +| ------------------------ | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| **Camunda 8** | A standalone region with a fully functional Camunda 8 setup, including Zeebe, Operate, Tasklist, and Elasticsearch. | Restore dual-region functionality by deploying Camunda 8 (Zeebe and Elasticsearch) to the newly restored region. | +| **Operate and Tasklist** | Operate and Tasklist are operational in the standalone region. | Operate and Tasklist need to stay disabled to avoid interference during the database backup and restore process. | -You have a standalone region with a working Camunda 8 setup, including Zeebe, Operate, Tasklist, and Elasticsearch. +#### Procedure -#### Desired state +This procedure requires your Helm values file, `camunda-values.yml,` in `aws/dual-region/kubernetes,` used to deploy Dual-region Camunda clusters. -You want to restore the dual-region functionality and deploy Camunda 8, consisting of Zeebe and Elasticsearch, to the newly restored region. Operate and Tasklist need to stay disabled to prevent interference with the database backup and restore. - -#### How to get there +Ensure that the values for `ZEEBE_BROKER_EXPORTERS_ELASTICSEARCHREGION0_ARGS_URL` and `ZEEBE_BROKER_EXPORTERS_ELASTICSEARCHREGION1_ARGS_URL` correctly point to their respective regions. The placeholder in `ZEEBE_BROKER_CLUSTER_INITIALCONTACTPOINTS` should contain the Zeebe endpoints for both regions, the result of the `aws/dual-region/scripts/generate_zeebe_helm_values.sh`. -From your initial dual-region deployment, your base Helm values file `camunda-values.yml` in `aws/dual-region/kubernetes` should still be present. +Additionally, execute the following Helm command to disable Operate and Tasklist. These components will only be enabled at the end of the region recovery. Keeping them disabled in the newly created region is necessary to avoid data duplication by their Elasticsearch importers. -In particular, the values `ZEEBE_BROKER_EXPORTERS_ELASTICSEARCHREGION0_ARGS_URL` and `ZEEBE_BROKER_EXPORTERS_ELASTICSEARCHREGION1_ARGS_URL` should point to their respective regions. The placeholder in `ZEEBE_BROKER_CLUSTER_INITIALCONTACTPOINTS` should contain the Zeebe endpoints of both regions, the result of the `aws/dual-region/scripts/generate_zeebe_helm_values.sh`. - -In addition, the following Helm command will disable Operate and Tasklist since those will only be enabled at the end of the full region restore. It's required to keep them disabled in the newly created region due to their Elasticsearch importers. - -1. From the terminal context of `aws/dual-region/kubernetes` execute: +From the terminal context of `aws/dual-region/kubernetes` execute: ```bash helm install $HELM_RELEASE_NAME camunda/camunda-platform \ @@ -439,20 +420,20 @@ helm install $HELM_RELEASE_NAME camunda/camunda-platform \ #### Verification -The following command will show the deployed pods of the newly created region. +The following command will show the pods deployed in the newly created region. + +```bash +kubectl --context $CLUSTER_RECREATED get pods -n $CAMUNDA_NAMESPACE_RECREATED +``` -Depending on your chosen `clusterSize`, you should see that half of the amount are spawned in Zeebe brokers. +Half of the amount of your set `clusterSize` is used to spawn Zeebe brokers. -For example, in the case of `clusterSize: 8`, you find four Zeebe brokers in the newly created region. +For example, in the case of `clusterSize: 8`, four Zeebe brokers are provisioned in the newly created region. :::warning -It is expected that the Zeebe broker pods don't become ready as they're not yet part of a Zeebe cluster, therefore not considered healthy by the Kubernetes readiness probe. +It is expected that the Zeebe broker pods will not reach the "Ready" state since they are not yet part of a Zeebe cluster and, therefore, not considered healthy by the readiness probe. ::: -```bash -kubectl --context $CLUSTER_RECREATED get pods -n $CAMUNDA_NAMESPACE_RECREATED -``` - Port-forwarding the Zeebe Gateway via `kubectl` and printing the topology should reveal that the new Zeebe brokers are recognized but yet a full member of the Zeebe cluster. ```bash @@ -520,29 +501,18 @@ desired={}
    -#### Current state - -You currently have the following setup: - -- Functioning Zeebe cluster (within a single region): - - working Camunda 8 installation in the surviving region - - non-participating Camunda 8 installation in the recreated region - -#### Desired state - -You are preparing everything for the newly created region to take over again to restore the functioning dual-region setup. - -For this, stop the Zeebe exporters from exporting any new data to Elasticsearch so you can create an Elasticsearch backup. - -Additionally, temporarily scale down Operate and Tasklist to zero replicas. This will result in users not being able to interact with Camunda 8 anymore and is required to guarantee no new data is imported to Elasticsearch. +| **Details** | **Current state** | **Desired state** | +| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Camunda 8** | Functioning Zeebe cluster within a single region:
    Working Camunda 8 installation in the surviving region
    Non-participating Camunda 8 installation in the recreated region.
    Currently exporting data to Elasticsearch from the surviving region. | Preparing the newly created region to take over and restore the dual-region setup. Stop Zeebe exporters to prevent new data from being exported to Elasticsearch, allowing for the creation of an Elasticsearch backup. | +| **Operate and Tasklist** | Operate and Tasklist are operational in the surviving region. | Temporarily scale down Operate and Tasklist to zero replicas, preventing user interaction with Camunda 8 and ensuring no new data is imported to Elasticsearch. | :::note -This **does not** affect the processing of process instances in any way. The impact is that process information about the affected instances might not be visible in Operate and Tasklist. +This step **does not** affect the process instances in any way. Process information may not be visible in Operate and Tasklist running in the affected instance. ::: -#### How to get there +#### Procedure 1. Disable Operate and Tasklist by scaling to 0: @@ -586,13 +556,10 @@ desired={}
    -#### Current state - -The Camunda components are currently not reachable by end-users and will not process any new process instances. This allows creating a backup of Elasticsearch without losing any data. - -#### Desired state - -You are creating a backup of the main Elasticsearch instance in the surviving region and restore it in the recreated region. This Elasticsearch backup contains all the data and may take some time to be finished. +| **Details** | **Current State** | **Desired State** | +| ------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Camunda 8** | Not reachable by end-users and not processing any new process instances. This state allows for data backup without loss. | Remain unreachable by end-users and not processing any new instances. | +| **Elasticsearch Backup** | No backup is in progress. | Backup of Elasticsearch in the surviving region is initiated and being restored in the recreated region, containing all necessary data. The backup process may take time to complete. | #### How to get there @@ -600,7 +567,7 @@ This builds on top of the [AWS setup](/self-managed/setup/deploy/amazon/amazon-e :::info -The procedure works for other cloud providers and bare metal. You have to adjust the AWS S3-specific part depending on your chosen backup source for Elasticsearch. Consult the [Elasticsearch documentation on snapshot and restore](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html) to learn more about this, and specifically the [different supported types](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html#ess-repo-types) by Elasticsearch. +The procedure works for other Cloud providers and bare metal. You have to adjust the AWS S3-specific part depending on your chosen backup source for Elasticsearch. Consult the [Elasticsearch documentation on snapshot and restore](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html) to learn more about this, and specifically the [different supported types](https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshots-register-repository.html#ess-repo-types) by Elasticsearch. ::: @@ -745,7 +712,7 @@ kubectl --context $CLUSTER_RECREATED exec -n $CAMUNDA_NAMESPACE_RECREATED -it $E The example output above should be the same since it's the same backup. -7. Restore Elasticsearch backup in the new region namespace `CAMUNDA_NAMESPACE_RECREATED`. Depending on the amount of data, this operation will take a while to complete. +7. Restore Elasticsearch backup in the new region namespace `CAMUNDA_NAMESPACE_RECREATED`. Depending on the amount of data, this operation may take a while to complete. ```bash kubectl --context $CLUSTER_RECREATED exec -n $CAMUNDA_NAMESPACE_RECREATED -it $ELASTIC_POD -c elasticsearch -- curl -XPOST 'http://localhost:9200/_snapshot/camunda_backup/failback/_restore?wait_for_completion=true' @@ -761,7 +728,7 @@ kubectl --context $CLUSTER_RECREATED exec -n $CAMUNDA_NAMESPACE_RECREATED -it $E Example output -The important part being the `state: "SUCCESS"` and that `done` and `total` are equal. **This is only an example and the values will differ for you.** +**This is only an example, and the values will differ for you.** Ensure you see `state: "SUCCESS"`, and that the properties `done` and `total` have equal values. ```json { @@ -817,19 +784,14 @@ desired={}
    -#### Current state - -The backup of Elasticsearch has been created and restored to the recreated region. - -The Camunda components remain unreachable by end-users as you proceed to restore functionality. - -#### Desired state - -You can enable Operate and Tasklist again both in the surviving and recreated region. This will allow users to interact with Camunda 8 again. +| **Details** | **Current state** | **Desired state** | +| ------------------------ | --------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| **Camunda 8** | Remains unreachable by end-users while restoring functionality. | Enable Operate and Tasklist in both the surviving and recreated regions to allow user interaction with Camunda 8 again. | +| **Elasticsearch Backup** | Backup has been created and restored to the recreated region. | N/A | -#### How to get there +#### Procedure -The base Helm values file `camunda-values.yml` in `aws/dual-region/kubernetes` contains the adjustments for Elasticsearch and the Zeebe initial brokers, meaning we just have to reapply / upgrade the release to enable and deploy Operate and Tasklist. +The base Helm values file `camunda-values.yml` in `aws/dual-region/kubernetes` contains the adjustments for Elasticsearch and the Zeebe initial brokers. This means we just have to reapply/upgrade the Helm release to enable and deploy Operate and Tasklist. 1. Upgrade the normal Camunda environment in `CAMUNDA_NAMESPACE_SURVIVING` and `REGION_SURVIVING` to deploy Operate and Tasklist: @@ -855,7 +817,7 @@ helm upgrade $HELM_RELEASE_NAME camunda/camunda-platform \ #### Verification -For Operate and Tasklist, you can confirm that the deployments have successfully deployed by listing those and indicating `1/1` ready. The same command can be applied for the `CLUSTER_RECREATED` and `CAMUNDA_NAMESPACE_RECREATED`: +For Operate and Tasklist, you can confirm that the deployments have been successfully deployed by listing those and indicating `1/1` ready. The same command can be applied for the `CLUSTER_RECREATED` and `CAMUNDA_NAMESPACE_RECREATED`: ```bash kubectl --context $CLUSTER_SURVIVING get deployments -n $CAMUNDA_NAMESPACE_SURVIVING @@ -869,7 +831,7 @@ kubectl --context $CLUSTER_SURVIVING get deployments -n $CAMUNDA_NAMESPACE_SURVI -#### Initialize new Zeebe exporter to recreated region +#### Initialize new Zeebe exporter to the recreated region } @@ -878,15 +840,9 @@ desired={}
    -#### Current state - -Camunda 8 is reachable to the end-user but not yet exporting any data. - -#### Desired state - -You are initializing a new exporter to the recreated region. This will ensure that both Elasticsearch instances are populated, resulting in data redundancy. - -Separating this step from resuming the exporters is essential as the initialization is an asynchronous procedure, and you must ensure it's finished before resuming the exporters. +| **Details** | **Current state** | **Desired state** | +| ------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Camunda 8** | Reachable to end-users, but not exporting any data. | Start a new exporter to the recreated region.
    Ensure that both Elasticsearch instances are populated for data redundancy.
    Separate the initialization step (asynchronous) and confirm completion before resuming the exporters. | #### How to get there @@ -917,9 +873,9 @@ curl -XGET 'http://localhost:9600/actuator/exporters'
    -Via the already port-forwarded Zeebe Gateway, you can also check the status of the change by using the Cluster API. +You can also check the status of the change using the Cluster API via the already port-forwarded Zeebe Gateway. -**Ensure it says "COMPLETED" before proceeding with the next step.** +**Ensure the status is "COMPLETED" before proceeding with the next step.** ```bash curl -XGET 'http://localhost:9600/actuator/cluster' | jq .lastChange @@ -954,15 +910,9 @@ desired={}
    -#### Current state - -Camunda 8 is reachable to the end-user but not yet exporting any data. - -Elasticsearch exporters are enabled for both regions, and it's ensured that the operation has finished. - -#### Desired state - -You are reactivating the existing exporters. This will allow Zeebe to export data to Elasticsearch again. +| **Details** | **Current state** | **Desired state** | +| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | +| **Camunda 8** | Reachable to end-users, but currently not exporting any data. Exporters are enabled for both regions, with the operation confirmed to be completed. | Reactivate existing exporters that will allow Zeebe to export data to Elasticsearch again. | #### How to get there @@ -977,7 +927,7 @@ curl -i localhost:9600/actuator/exporting/resume -XPOST #### Verification -For the reactivating the exporters, there's currently no API available to confirm this. Only the response code of `204` indicates a successful resumption. This is a synchronous operation. +There is currently no API available to confirm the reactivation of the exporters. Only the response code `204` indicates a successful resumption. This is a synchronous operation.
    @@ -992,13 +942,10 @@ desired={}
    -#### Current state - -Camunda 8 is running in two regions but not yet utilizing all Zeebe brokers. You have redeployed Operate and Tasklist and enabled the Elasticsearch exporters again. This will allow users to interact with Camunda 8 again. - -#### Desired state - -You have a functioning Camunda 8 setup in two regions and utilizing both regions. This will fully recover the dual-region benefits. +| **Details** | **Current state** | **Desired state** | +| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| **Camunda 8** | Running in two regions, but not yet utilizing all Zeebe brokers. Operate and Tasklist redeployed, Elasticsearch exporters enabled. | Fully functional Camunda 8 setup utilizing both regions, recovering all dual-region benefits. | +| **User interaction** | Users can interact with Camunda 8 again. | Dual-region functionality is restored, maximizing reliability and performance benefits. | #### How to get there @@ -1113,3 +1060,5 @@ Broker 7 - camunda-zeebe-3.camunda-zeebe.camunda-paris.svc:26501
    + +In conclusion, adhering to this updated operational procedure ensures a structured and efficient recovery process for maintaining operational continuity in dual-region deployments. Please remain cautious in managing dual-region environments and be prepared to implement the outlined steps for successful failover and failback. diff --git a/docs/self-managed/operational-guides/troubleshooting/troubleshooting.md b/docs/self-managed/operational-guides/troubleshooting/troubleshooting.md index b080c12da2f..53c0cc54a0c 100644 --- a/docs/self-managed/operational-guides/troubleshooting/troubleshooting.md +++ b/docs/self-managed/operational-guides/troubleshooting/troubleshooting.md @@ -91,7 +91,7 @@ cd c8-sm-checks ### Kubernetes connectivity scripts -These scripts enable you to verify the connectivity and configuration of your Kubernetes cluster, including checks for deployment status, service availability, and ingress configuration. +These scripts enable you to verify the connectivity and configuration of your Kubernetes cluster, including checks for deployment status, service availability, and Ingress configuration. #### Kubernetes permissions @@ -100,8 +100,8 @@ When utilizing the anomaly detection scripts within a Kubernetes environment, en - **List pods**: Required for `kubectl get pods` to fetch pod details in the namespace. - **Execute commands in pods**: Necessary for running commands inside pods via `kubectl exec`. - **List services**: Needed for `kubectl get services` to retrieve service information. -- **List ingresses**: Required by `kubectl get ingress` to obtain ingress objects. -- **Get ingress details**: Necessary for `kubectl get ingress` to fetch ingress configurations. +- **List ingresses**: Required by `kubectl get ingress` to obtain Ingress objects. +- **Get Ingress details**: Necessary for `kubectl get ingress` to fetch Ingress configurations. #### Deployment check (`./checks/kube/deployment.sh`) @@ -155,8 +155,8 @@ For example: [FAIL] None of the ingresses contain the annotation nginx.ingress.kubernetes.io/backend-protocol: GRPC, which is required for Zeebe ingress. ``` -The error message suggests adjusting the ingress configuration to include the required annotation. One can also explore the source of the script to have a better understanding of the reason for the failure. +The error message suggests adjusting the Ingress configuration to include the required annotation. One can also explore the source of the script to have a better understanding of the reason for the failure. :::note -Sometimes, some checks may not be applicable to your setup if it's custom (for example, with the previous example the ingress you use may not be [ingress-nginx](https://kubernetes.github.io/ingress-nginx/)). +Sometimes, some checks may not be applicable to your setup if it's custom (for example, with the previous example the Ingress you use may not be [ingress-nginx](https://kubernetes.github.io/ingress-nginx/)). ::: diff --git a/docs/self-managed/operational-guides/update-guide/840-to-850.md b/docs/self-managed/operational-guides/update-guide/840-to-850.md index 864a994ddd5..b94830b187a 100644 --- a/docs/self-managed/operational-guides/update-guide/840-to-850.md +++ b/docs/self-managed/operational-guides/update-guide/840-to-850.md @@ -72,3 +72,9 @@ since the Zeebe user tasks are only experimental in `8.4`. If you need the data on migrated user task instances, you can reactivate them using [Process Instance Modification](/components/concepts/process-instance-modification.md). This results in a `UserTask:CANCELED` event for the existing user task and a new `UserTask:CREATED` event with the `candidateUsersList` and `candidateGroupsList` filled based on what is configured in the process model. ::: + +## Identity + +Identity now uses the Keycloak frontend URL instead of the backend URL. This change may affect you if you have blocked the Keycloak frontend URL from other services (including Camunda applications), and can potentially impact Identity's functionality. + +To avoid connectivity issues, ensure your Keycloak frontend URL is accessible by adjusting your network, firewall, or security settings as needed. This adjustment is crucial to maintain the integration with Keycloak and ensure compatibility. diff --git a/docs/self-managed/operational-guides/update-guide/850-to-860.md b/docs/self-managed/operational-guides/update-guide/850-to-860.md index a053fd9e6b8..6d0817049c1 100644 --- a/docs/self-managed/operational-guides/update-guide/850-to-860.md +++ b/docs/self-managed/operational-guides/update-guide/850-to-860.md @@ -15,3 +15,23 @@ The separated Ingress Helm configuration for Camunda 8 Self-Managed has been dep ### Elasticsearch nodes number The default value of Elasticsearch deployment pods has changed from 2 to 3, and an affinity setting has been added to avoid scheduling Elasticsearch pods on the same Kubernetes worker. + +## Connectors + +### Kafka Connector supports Avro schema + +:::caution Breaking change + +The [Camunda Kafka Connector](/components/connectors/out-of-the-box-connectors/kafka.md) supports [Schema Registry](https://docs.confluent.io/platform/current/schema-registry/index.html) as of version 8.6.0. +This means: + +- When using Connectors 8.6.0, you must use the following Kafka Connector versions: + - For inbound connectors: 6 (or higher) + - For outbound connector: 5 (or higher) +- When using Connectors 8.5.x (or older), you must use the following Kafka Connector versions: + - For inbound connectors: 5 (or lower) + - For outbound connector: 4 (or lower) + +Avro schema support is the only breaking change for this Connector. If you do not use Avro schema, you can continue using the Connector as before. + +::: diff --git a/docs/self-managed/operational-guides/update-guide/keycloak/keycloak-update.md b/docs/self-managed/operational-guides/update-guide/keycloak/keycloak-update.md index 9fc02d192d0..54769349ce3 100644 --- a/docs/self-managed/operational-guides/update-guide/keycloak/keycloak-update.md +++ b/docs/self-managed/operational-guides/update-guide/keycloak/keycloak-update.md @@ -9,5 +9,5 @@ When updating Keycloak, follow the [Keycloak upgrade guide](https://www.keycloak :::danger When updating Keycloak, ensure that you carry along its existing database. **Do not** update by creating a new Keycloak instance and re-importing your users from external sources (e.g. LDAP) as this will result in new Keycloak-internal ids. -Otherwise, users may not be able to access their data (e.g. Optimize collections) or log in to Web Modeler (see [Web Modeler's login troubleshooting guide](self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md#unique-constraint-violation)) after the update. +Otherwise, users may not be able to access their data (e.g. Optimize collections and [Web Modeler projects](self-managed/modeler/web-modeler/troubleshooting/troubleshoot-missing-data.md)). ::: diff --git a/docs/self-managed/setup/deploy/amazon/amazon-eks/amazon-eks.md b/docs/self-managed/setup/deploy/amazon/amazon-eks/amazon-eks.md index 98e2d24e1f6..307403f8f4b 100644 --- a/docs/self-managed/setup/deploy/amazon/amazon-eks/amazon-eks.md +++ b/docs/self-managed/setup/deploy/amazon/amazon-eks/amazon-eks.md @@ -53,7 +53,7 @@ Here the choice of LB is important as not every setup will work with every TLS t The NLB will not work with the AWS Certificate Manager, as the ACM does not allow exporting the private key required to terminate the TLS within the ingress. -The Camunda 8 Helm chart primarily focuses on the [ingress-nginx controller](https://github.com/kubernetes/ingress-nginx) due to the usage of controller specific annotations. Using a different ingress controller requires supplying the necessary equivalent annotation options, ensuring http2 is enabled, and gRPC is used for the Zeebe Gateway. +The Camunda 8 Helm chart primarily focuses on the [ingress-nginx controller](https://github.com/kubernetes/ingress-nginx) due to the usage of controller specific annotations. Using a different Ingress controller requires supplying the necessary equivalent annotation options, ensuring http2 is enabled, and gRPC is used for the Zeebe Gateway. ### Application Load Balancer (ALB) @@ -61,7 +61,7 @@ To conclude for using the **Application Load Balancer** (ALB) to terminate TLS i - Deploy the [AWS Load Balancer Controller](https://kubernetes-sigs.github.io/aws-load-balancer-controller/). - A [certificate set up](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) in the AWS Certificate Manager (ACM). -- Follow the [example by AWS](https://github.com/kubernetes-sigs/aws-load-balancer-controller/blob/main/docs/examples/grpc_server.md) to configure the ingress for the Zeebe Gateway. To summarize, add the following annotations to the Zeebe Gateway ingress: +- Follow the [example by AWS](https://github.com/kubernetes-sigs/aws-load-balancer-controller/blob/main/docs/examples/grpc_server.md) to configure the Ingress for the Zeebe Gateway. To summarize, add the following annotations to the Zeebe Gateway ingress: ```shell alb.ingress.kubernetes.io/ssl-redirect: '443' alb.ingress.kubernetes.io/backend-protocol-version: GRPC @@ -76,10 +76,10 @@ To conclude for using the **Application Load Balancer** (ALB) to terminate TLS i Alternatively, one can use a **Network Load Balancer** (NLB) to terminate TLS within the ingress. This requires the following: -- An ingress controller, preferably [ingress-nginx](https://github.com/kubernetes/ingress-nginx) deployed. - - The ingress controller must support gRPC and http2. +- An Ingress controller, preferably [ingress-nginx](https://github.com/kubernetes/ingress-nginx) deployed. + - The Ingress controller must support gRPC and http2. - A certificate, preferably created with [Cert-Manager](https://cert-manager.io/). -- [TLS configured](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls) on the ingress object. +- [TLS configured](https://kubernetes.io/docs/concepts/services-networking/ingress/#tls) on the Ingress object. ## Pitfalls to avoid diff --git a/docs/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md b/docs/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md index 9eb4c332bd2..60ebf77b126 100644 --- a/docs/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md +++ b/docs/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md @@ -8,7 +8,7 @@ description: "Deploy two Amazon Kubernetes (EKS) clusters with Terraform for a p import CoreDNSKubeDNS from "./assets/core-dns-kube-dns.svg" -:::warning +:::caution Review our [dual-region concept documentation](./../../../../concepts/multi-region/dual-region.md) before continuing to understand the current limitations and restrictions of this blueprint setup. ::: @@ -33,7 +33,7 @@ To try out Camunda 8 or develop against it, consider signing up for our [SaaS of For the simplicity of this guide, certain best practices will be provided with links to additional resources, enabling you to explore the topic in more detail. -:::warning +:::caution Following this guide will incur costs on your Cloud provider account, namely for the managed Kubernetes service, running Kubernetes nodes in EC2, Elastic Block Storage (EBS), traffic between regions, and S3. More information can be found on [AWS](https://aws.amazon.com/eks/pricing/) and their [pricing calculator](https://calculator.aws/#/) as the total cost varies per region. ::: @@ -62,7 +62,7 @@ git clone https://github.com/camunda/c8-multi-region.git 2. The cloned repository and folder `aws/dual-region/scripts/` provides a helper script [export_environment_prerequisites.sh](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/scripts/export_environment_prerequisites.sh) to export various environment variables to ease the interaction with a dual-region setup. Consider permanently changing this file for future interactions. 3. You must adjust these environment variable values within the script to your needs. -:::warning +:::caution You have to choose unique namespaces for Camunda 8 installations. The namespace for Camunda 8 installation in the cluster of region 0 (`CAMUNDA_NAMESPACE_0`), needs to have a different name from the namespace for Camunda 8 installation in the cluster of region 1 (`CAMUNDA_NAMESPACE_1`). This is required for proper traffic routing between the clusters. @@ -103,7 +103,7 @@ It's recommended to use a different backend than `local`. Find more information ::: -:::warning +:::caution Do not store sensitive information (credentials) in your Terraform files. @@ -162,7 +162,7 @@ There are several ways to authenticate the `AWS` provider: ### Execution -:::warning +:::caution A user who creates resources in AWS will therefore own these resources. In this particular case, the user will always have admin access to the Kubernetes cluster until the cluster is deleted. @@ -237,7 +237,7 @@ kubectl --context $CLUSTER_1 apply -f https://raw.githubusercontent.com/camunda/ Example output -:::danger +:::caution For illustration purposes only. These values will not work in your environment. ::: @@ -283,7 +283,7 @@ kubectl --context cluster-paris -n kube-system edit configmap coredns Full configmap example -:::danger +:::caution For illustration purposes only. This file will not work in your environment. @@ -427,7 +427,7 @@ This overlay contains the multi-region identification for the cluster in region #### Preparation -:::warning +:::caution You must change the following environment variables for Zeebe. The default values will not work for you and are only for illustration. ::: diff --git a/docs/self-managed/setup/deploy/amazon/amazon-eks/eks-helm.md b/docs/self-managed/setup/deploy/amazon/amazon-eks/eks-helm.md index 17ab2aada6f..41cf7ca138f 100644 --- a/docs/self-managed/setup/deploy/amazon/amazon-eks/eks-helm.md +++ b/docs/self-managed/setup/deploy/amazon/amazon-eks/eks-helm.md @@ -135,7 +135,7 @@ To simplify the installation process, it is [recommended](https://cert-manager.i kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v$CERT_MANAGER_HELM_CHART_VERSION/cert-manager.crds.yaml ``` -The following installs `cert-manager` in the `cert-manager` namespace via Helm. For more configuration options, consult the [Helm chart](https://artifacthub.io/packages/helm/cert-manager/cert-manager). The supplied settings also configure `cert-manager` to ease the certificate creation by setting a default issuer, which allows you to add a single annotation on an ingress to request the relevant certificates. +The following installs `cert-manager` in the `cert-manager` namespace via Helm. For more configuration options, consult the [Helm chart](https://artifacthub.io/packages/helm/cert-manager/cert-manager). The supplied settings also configure `cert-manager` to ease the certificate creation by setting a default issuer, which allows you to add a single annotation on an Ingress to request the relevant certificates. :::tip Make sure to have `CERT_MANAGER_IRSA_ARN` exported prior by either having followed the [eksctl](./eksctl.md#policy-for-cert-manager) or [Terraform](./terraform-setup.md#outputs) guide. @@ -187,11 +187,11 @@ For more configuration options, refer to the [Helm chart documentation](https:// -The following makes use of the [combined ingress setup](/self-managed/setup/guides/ingress-setup.md#combined-ingress-setup) by deploying a single ingress for all HTTP components and a separate ingress for the gRPC endpoint. +The following makes use of the [combined Ingress setup](/self-managed/setup/guides/ingress-setup.md#combined-ingress-setup) by deploying a single Ingress for all HTTP components and a separate Ingress for the gRPC endpoint. :::warning -Publicly exposing the Zeebe Gateway without authorization enabled can lead to severe security risks. Consider disabling the ingress for the Zeebe Gateway by setting the `zeebeGateway.ingress.grpc.enabled` and `zeebeGateway.ingress.rest.enabled` to `false`. +Publicly exposing the Zeebe Gateway without authorization enabled can lead to severe security risks. Consider disabling the Ingress for the Zeebe Gateway by setting the `zeebeGateway.ingress.grpc.enabled` and `zeebeGateway.ingress.rest.enabled` to `false`. By default, authorization is enabled to ensure secure access to Zeebe. Typically, only internal components need direct access, making it unnecessary to expose Zeebe externally. diff --git a/docs/self-managed/setup/deploy/amazon/amazon-eks/eksctl.md b/docs/self-managed/setup/deploy/amazon/amazon-eks/eksctl.md index 20fc930517f..9cda448d8d2 100644 --- a/docs/self-managed/setup/deploy/amazon/amazon-eks/eksctl.md +++ b/docs/self-managed/setup/deploy/amazon/amazon-eks/eksctl.md @@ -121,7 +121,7 @@ metadata: region: ${REGION:-eu-central-1} # e.g. eu-central-1 version: "1.28" availabilityZones: - - ${REGION:-eu-central-1}c # e.g. eu-central-1c + - ${REGION:-eu-central-1}c # e.g. eu-central-1c, the minimal is two distinct Availability Zones (AZs) within the region - ${REGION:-eu-central-1}b - ${REGION:-eu-central-1}a cloudWatch: @@ -319,7 +319,7 @@ export GROUP_ID=$(aws ec2 create-security-group \ ``` 4. The variable `GROUP_ID` contains the output (the value should look like this: `sg-1234567890`). -5. Create a security ingress rule to allow access to PostgreSQL. +5. Create a security Ingress rule to allow access to PostgreSQL. ```shell aws ec2 authorize-security-group-ingress \ diff --git a/docs/self-managed/setup/deploy/amazon/amazon-eks/irsa.md b/docs/self-managed/setup/deploy/amazon/amazon-eks/irsa.md index e547256368b..708d3746309 100644 --- a/docs/self-managed/setup/deploy/amazon/amazon-eks/irsa.md +++ b/docs/self-managed/setup/deploy/amazon/amazon-eks/irsa.md @@ -4,6 +4,9 @@ title: "IAM roles for service accounts" description: "Learn how to configure IAM roles for service accounts (IRSA) within AWS to authenticate workloads." --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + IAM roles for service accounts (IRSA) is a way within AWS to authenticate workloads in Amazon EKS (Kubernetes), for example, to execute signed requests against AWS services. This is a replacement for basic auth and is generally considered a [best practice by AWS](https://aws.github.io/aws-eks-best-practices/security/docs/iam/). The following considers the managed services by AWS and provided examples are in Terraform syntax. @@ -20,32 +23,70 @@ When using the Terraform provider of [AWS](https://registry.terraform.io/provide An AWS policy (later assigned to a role) is required to allow assuming a database user within a managed database. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.IAMPolicy.html) for policy details. -Create the policy via Terraform using the [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy). + + + +To create the AWS policy using Terraform, you can define it with the [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) resource. Here’s an example configuration: ```json resource "aws_iam_policy" "rds_policy" { name = "rds-policy" policy = jsonencode({ - "Version": "2012-10-17", - "Statement": [ + "Version": "2012-10-17", + "Statement": [ { - "Effect": "Allow", - "Action": [ - "rds-db:connect" - ], - "Resource": [ - "arn:aws:rds-db:region:account-id:dbuser:DbiResourceId/db-user-name" - ] + "Effect": "Allow", + "Action": [ + "rds-db:connect" + ], + "Resource": [ + "arn:aws:rds-db:::dbuser:/" + ] } - ] -}) + ] + }) } ``` +Replace ``, ``, ``, and `` with the appropriate values for your AWS environment. + + + + + +To create the AWS policy using the AWS CLI, use the `aws iam create-policy` command: + +```bash +aws iam create-policy \ + --policy-name rds-policy \ + --policy-document '{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "rds-db:connect" + ], + "Resource": [ + "arn:aws:rds-db:::dbuser:/" + ] + } + ] + }' +``` + +Replace ``, ``, ``, and `` with the appropriate values for your AWS environment. + + + + #### IAM to Kubernetes mapping -To assign the policy to a role for the IAM role to service account mapping in Amazon EKS, a Terraform module like [iam-role-for-service-accounts-eks](https://registry.terraform.io/modules/terraform-aws-modules/iam/aws/latest/submodules/iam-role-for-service-accounts-eks) is helpful. + + + +To assign the policy to a role for IAM role to service account mapping in Amazon EKS, use a Terraform module like [iam-role-for-service-accounts-eks](https://registry.terraform.io/modules/terraform-aws-modules/iam/aws/latest/submodules/iam-role-for-service-accounts-eks): ```json module "aurora_role" { @@ -58,40 +99,82 @@ module "aurora_role" { oidc_providers = { main = { - provider_arn = "arn:aws:iam::account-id:oidc-provider/oidc.eks.region.amazonaws.com/id/eks-id" - namespace_service_accounts = ["aurora-namespace:aurora-serviceaccount"] + provider_arn = "arn:aws:iam:::oidc-provider/oidc.eks..amazonaws.com/id/" + namespace_service_accounts = [":"] } } } ``` -These two Terraform snippets allow the service account `aurora-serviceaccount` within the `aurora-namespace` to assume the user `db-user-name` within the database `DbiResourceId`. -The output of the module `aurora_role` has the output `iam_role_arn` to annotate a service account to make use of the mapping. +This Terraform snippet creates a role that allows the service account `` within the `` to assume the user `` within the database ``. The output of the `aurora_role` module includes the `iam_role_arn`, which you need to annotate the service account. + + + + + +To assign the policy to a role using the AWS CLI, follow these steps: + +1. **Create the IAM role**: + +```bash +aws iam create-role \ + --role-name aurora-role \ + --assume-role-policy-document '{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Federated": "arn:aws:iam:::oidc-provider/oidc.eks..amazonaws.com/id/" + }, + "Action": "sts:AssumeRoleWithWebIdentity", + "Condition": { + "StringEquals": { + "oidc.eks..amazonaws.com/id/:sub": "system:serviceaccount::" + } + } + } + ] + }' +``` + +2. **Attach the policy to the role**: + +```bash +aws iam attach-role-policy \ + --role-name aurora-role \ + --policy-arn arn:aws:iam:::policy/rds-policy +``` + + + -Annotate the service account with the `iam_role_arn` output of the `aurora_role`. +Annotate the service account with the `iam_role_arn`: ```yaml apiVersion: v1 kind: ServiceAccount metadata: annotations: - eks.amazonaws.com/role-arn: arn:aws:iam::account-id:role/role-name - name: aurora-serviceaccount - namespace: aurora-namespace + eks.amazonaws.com/role-arn: arn:aws:iam:::role/aurora-role + name: + namespace: ``` +Replace ``, ``, ``, ``, ``, and `` with the appropriate values for your AWS environment. + #### Database configuration The setup required on the Aurora PostgreSQL side is to create the user and assign the required permissions to it. The following is an example when connected to the PostgreSQL database, and can also be realized by using a [Terraform PostgreSQL Provider](https://registry.terraform.io/providers/cyrilgdn/postgresql/latest/docs). See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.DBAccounts.html#UsingWithRDS.IAMDBAuth.DBAccounts.PostgreSQL) for reference concerning Aurora specific configurations. ```SQL # create user and grant rds_iam role, which requires the user to login via IAM authentication over password -CREATE USER "db-user-name"; -GRANT rds_iam TO "db-user-name"; +CREATE USER ""; +GRANT rds_iam TO ""; # create some database and grant the user all privileges to it CREATE DATABASE "some-db"; -GRANT ALL privileges on database "some-db" to "db-user-name"; +GRANT ALL privileges on database "some-db" to ""; ``` ### Keycloak @@ -254,7 +337,10 @@ Without `fine-grained access control`, anonymous access is enabled and would be An AWS policy, which later is assigned to a role, is required to allow general access to Amazon OpenSearch Service. See the [AWS documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html) for the explanation of the policy. -Create the policy via Terraform using the [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy). + + + +To create an AWS policy for Amazon OpenSearch Service using Terraform, you can use the [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) resource. Here’s an example configuration: ```json resource "aws_iam_policy" "opensearch_policy" { @@ -266,39 +352,95 @@ resource "aws_iam_policy" "opensearch_policy" { { "Effect" : "Allow", "Action" : [ - "es:DescribeElasticsearchDomains", - "es:DescribeElasticsearchInstanceTypeLimits", - "es:DescribeReservedElasticsearchInstanceOfferings", - "es:DescribeReservedElasticsearchInstances", - "es:GetCompatibleElasticsearchVersions", - "es:ListDomainNames", - "es:ListElasticsearchInstanceTypes", - "es:ListElasticsearchVersions", - "es:DescribeElasticsearchDomain", - "es:DescribeElasticsearchDomainConfig", - "es:ESHttpGet", - "es:ESHttpHead", - "es:GetUpgradeHistory", - "es:GetUpgradeStatus", - "es:ListTags", - "es:AddTags", - "es:RemoveTags", - "es:ESHttpDelete", - "es:ESHttpPost", - "es:ESHttpPut" + "es:DescribeElasticsearchDomains", + "es:DescribeElasticsearchInstanceTypeLimits", + "es:DescribeReservedElasticsearchInstanceOfferings", + "es:DescribeReservedElasticsearchInstances", + "es:GetCompatibleElasticsearchVersions", + "es:ListDomainNames", + "es:ListElasticsearchInstanceTypes", + "es:ListElasticsearchVersions", + "es:DescribeElasticsearchDomain", + "es:DescribeElasticsearchDomainConfig", + "es:ESHttpGet", + "es:ESHttpHead", + "es:GetUpgradeHistory", + "es:GetUpgradeStatus", + "es:ListTags", + "es:AddTags", + "es:RemoveTags", + "es:ESHttpDelete", + "es:ESHttpPost", + "es:ESHttpPut" ], "Resource" : [ - "arn:aws:es:region:account-id:domain/test-domain/*" + "arn:aws:es:::domain//*" ] - } + } ] }) } ``` +Replace ``, ``, and `` with the appropriate values for your Amazon OpenSearch Service domain. + + + + + +To create an AWS policy for Amazon OpenSearch Service using the AWS CLI, you use the `aws iam create-policy` command: + +```bash +aws iam create-policy \ + --policy-name opensearch_policy \ + --policy-document '{ + "Version" : "2012-10-17", + "Statement" : [ + { + "Effect" : "Allow", + "Action" : [ + "es:DescribeElasticsearchDomains", + "es:DescribeElasticsearchInstanceTypeLimits", + "es:DescribeReservedElasticsearchInstanceOfferings", + "es:DescribeReservedElasticsearchInstances", + "es:GetCompatibleElasticsearchVersions", + "es:ListDomainNames", + "es:ListElasticsearchInstanceTypes", + "es:ListElasticsearchVersions", + "es:DescribeElasticsearchDomain", + "es:DescribeElasticsearchDomainConfig", + "es:ESHttpGet", + "es:ESHttpHead", + "es:GetUpgradeHistory", + "es:GetUpgradeStatus", + "es:ListTags", + "es:AddTags", + "es:RemoveTags", + "es:ESHttpDelete", + "es:ESHttpPost", + "es:ESHttpPut" + ], + "Resource" : [ + "arn:aws:es:::domain//*" + ] + } + ] + }' +``` + +Replace ``, ``, and `` with the appropriate values for your Amazon OpenSearch Service domain. + + + + #### IAM to Kubernetes mapping -To assign the policy to a role for the IAM role to service account mapping in Amazon EKS, a Terraform module like [iam-role-for-service-accounts-eks](https://registry.terraform.io/modules/terraform-aws-modules/iam/aws/latest/submodules/iam-role-for-service-accounts-eks) is helpful: +To assign the policy to a role for the IAM role to service account mapping in Amazon EKS: + + + + +You can use a Terraform module like [iam-role-for-service-accounts-eks](https://registry.terraform.io/modules/terraform-aws-modules/iam/aws/latest/submodules/iam-role-for-service-accounts-eks): ```json module "opensearch_role" { @@ -311,29 +453,72 @@ module "opensearch_role" { oidc_providers = { main = { - provider_arn = "arn:aws:iam::account-id:oidc-provider/oidc.eks.region.amazonaws.com/id/eks-id" - namespace_service_accounts = ["opensearch-namespace:opensearch-serviceaccount"] + provider_arn = "arn:aws:iam:::oidc-provider/oidc.eks..amazonaws.com/id/" + namespace_service_accounts = [":"] } } } ``` -These two Terraform snippets will allow the service account `opensearch-serviceaccount` within the `opensearch-namespace` to generally access the Amazon OpenSearch Service for the `test-domain` cluster. +This Terraform configuration allows the service account `` within the namespace `` to access the Amazon OpenSearch Service for the cluster ``. The output of the `opensearch_role` module includes the `iam_role_arn` needed to annotate the service account. + +Annotate the service account with the `iam_role_arn` output. + + + + + +To assign the policy to a role using the AWS CLI, follow these steps: -The output of the module `opensearch_role` has the output `iam_role_arn` to annotate a service account to use the mapping. +1. **Create the IAM role**: -Annotate the service account with the `iam_role_arn` output of the `opensearch_role`. +```bash +aws iam create-role \ + --role-name opensearch-role \ + --assume-role-policy-document '{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Federated": "arn:aws:iam:::oidc-provider/oidc.eks..amazonaws.com/id/" + }, + "Action": "sts:AssumeRoleWithWebIdentity", + "Condition": { + "StringEquals": { + "oidc.eks..amazonaws.com/id/:sub": "system:serviceaccount::" + } + } + } + ] + }' +``` + +2. **Attach the policy to the role**: +```bash +aws iam attach-role-policy \ + --role-name opensearch-role \ + --policy-arn arn:aws:iam:::policy/opensearch_policy ``` + + + + +Annotate the service account with the `iam_role_arn`: + +```yaml apiVersion: v1 kind: ServiceAccount metadata: annotations: - eks.amazonaws.com/role-arn: arn:aws:iam::account-id:role/role-name - name: opensearch-serviceaccount - namespace: opensearch-namespace + eks.amazonaws.com/role-arn: arn:aws:iam:::role/opensearch-role + name: + namespace: ``` +Replace ``, ``, ``, and `` with the appropriate values for your Amazon OpenSearch Service and EKS setup. + This step is required to be repeated for Tasklist and Zeebe, to grant their service accounts access to OpenSearch. #### Database configuration @@ -346,7 +531,38 @@ There are different ways to configure the mapping within Amazon OpenSearch Servi - Via a [Terraform module](https://registry.terraform.io/modules/idealo/opensearch/aws/latest) in case your OpenSearch instance is exposed. - Via the [OpenSearch dashboard](https://opensearch.org/docs/latest/security/access-control/users-roles/). -- Via the REST API. + +
    + +Via the REST API + +To authorize the IAM role in OpenSearch for access, follow these steps: + +**_Note that this example uses basic authentication (username and password), which may not be the best practice for all scenarios, especially if fine-grained access control is enabled._** The endpoint used in this example is not exposed by default, so consult your OpenSearch documentation for specifics on enabling and securing this endpoint. + +Use the following `curl` command to update the OpenSearch internal database and authorize the IAM role for access. Replace placeholders with your specific values: + +```bash +curl -sS -u ":" \ + -X PATCH \ + "https:///_opendistro/_security/api/rolesmapping/all_access?pretty" \ + -H 'Content-Type: application/json' \ + -d' +[ + { + "op": "add", + "path": "/backend_roles", + "value": [""] + } +] +' +``` + +- Replace `` and `` with your OpenSearch domain admin credentials. +- Replace `` with your OpenSearch endpoint URL. +- Replace `` with the IAM role name created by Terraform, which is output by the `opensearch_role` module. + +
    The important part is assigning the `iam_role_arn` of the previously created `opensearch_role` to an internal role within Amazon OpenSearch Service. For example, `all_access` on the Amazon OpenSearch Service side is a good candidate, or if required, extra roles can be created with more restrictive access. diff --git a/docs/self-managed/setup/deploy/local/c8run.md b/docs/self-managed/setup/deploy/local/c8run.md new file mode 100644 index 00000000000..64266ce0d41 --- /dev/null +++ b/docs/self-managed/setup/deploy/local/c8run.md @@ -0,0 +1,100 @@ +--- +id: c8run +title: "Local installation with Camunda 8 Run" +sidebar_label: "Camunda 8 Run" +description: "Use the Camunda 8 Run single application script to set up a local development environment." +--- + +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +:::note +Camunda 8 Run is not supported for production use. +::: + +The Camunda 8 Run script allows you to install and start a simplified, single-application Camunda configuration in a local development environment. This page guides you through using Camunda 8 Run on a local or virtual machine. + +Camunda 8 Run includes the following: + +- Zeebe +- Operate +- Tasklist +- Connectors +- Elasticsearch + +## Prerequisites + +- OpenJDK 21+ +- [Desktop Modeler](/components/modeler/desktop-modeler/install-the-modeler.md) + +:::note +After installing OpenJDK, ensure `JAVA_HOME` is set by running `java -version` in a **new** terminal. + +If no version of Java is found, follow your chosen installation's instructions for setting `JAVA_HOME` before continuing. +::: + +## Install and start Camunda 8 Run + +1. Download the [latest release of Camunda 8 Run](https://github.com/camunda/camunda/releases/tag/c8run-8.6.0-alpha5) for your operating system and architecture. Opening the .tgz file extracts the Camunda 8 Run script into a new directory. +2. Navigate to the new `c8run` directory. +3. Start Camunda 8 Run by running `./start.sh` (or `.\c8run.exe start` on Windows) in your terminal. + +When successful, a new Operate window automatically opens. + +:::note +If Camunda 8 Run fails to start, run the [shutdown script](#shut-down-camunda-8-run) to end the current processes, then run the start script again. +::: + +### Configuration options + +The following command line arguments are available: + +| Argument | Description | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `--config` | Applies the specified Zeebe [`application.yaml`](/self-managed/zeebe-deployment/configuration/configuration.md). _Not available on Windows._ | +| `--detached` | Starts Camunda 8 Run as a detached process. The process is detached by default on Windows. | + +## Access Camunda components + +All Camunda 8 Run components can be accessed using the username/password combination `demo`/`demo`. + +Tasklist and Operate are available at: + +- Tasklist: http://localhost:8080/tasklist +- Operate: http://localhost:8080/operate + +The following components do not have a web interface, but the URLs may be required for additional configuration: + +- Zeebe Gateway: http://localhost:26500 +- Connectors: http://localhost:8085 + +:::note +The Connectors URL displays a login page, but cannot be logged into. +::: + +### Deploy diagrams from Desktop Modeler + +Make sure you have installed [Desktop Modeler](/components/modeler/desktop-modeler/install-the-modeler.md) before continuing. + +To [deploy diagrams](/self-managed/modeler/desktop-modeler/deploy-to-self-managed.md) from Desktop Modeler, the following configuration is required: + +- **Target:** Self-Managed +- **Cluster endpoint:** `http://localhost:26500`, the location of your Zeebe Gateway +- **Authentication:** None + +A success notification displays when complete. [Start a new process instance](/components/modeler/desktop-modeler/start-instance.md) to view your running process in Operate. + +### Use built-in and custom Connectors + +Desktop Modeler [automatically fetches](/components/modeler/desktop-modeler/use-connectors.md/#automatic-connector-template-fetching) templates for pre-built Connectors. [Custom Connectors](/components/connectors/custom-built-connectors/connector-sdk.md) can also be added to your Camunda 8 Run distribution. + +To add a custom Connector: + +1. Place the Connector's .jar file in the `/custom_connectors` folder contained in the `/c8run` directory. +2. Place the element template in the appropriate folder for your installation. See [Search Paths](/components/modeler/desktop-modeler/search-paths/search-paths.md) for more information. + +Once configured correctly, your Connectors are available for use in Modeler. + +## Shut down Camunda 8 Run + +To shut down Camunda 8 Run and end all running processes, run `./shutdown.sh` (or `.\c8run.exe stop` on Windows) from the C8Run directory. diff --git a/docs/self-managed/setup/deploy/local/img/c8run-deploy-diagram.png b/docs/self-managed/setup/deploy/local/img/c8run-deploy-diagram.png new file mode 100644 index 00000000000..43d1d629879 Binary files /dev/null and b/docs/self-managed/setup/deploy/local/img/c8run-deploy-diagram.png differ diff --git a/docs/self-managed/setup/deploy/local/local-kubernetes-cluster.md b/docs/self-managed/setup/deploy/local/local-kubernetes-cluster.md index 88ca51a8c1c..0d91357e39c 100644 --- a/docs/self-managed/setup/deploy/local/local-kubernetes-cluster.md +++ b/docs/self-managed/setup/deploy/local/local-kubernetes-cluster.md @@ -111,7 +111,7 @@ To get a full list of the deployed Camunda components and their network properti Camunda 8 Self-Managed has multiple web applications and gRPC services. Both can be accessed using Kubernetes Ingress. -In this example, we will use a combined ingress configuration. For more information, refer to [combined and separated Ingress setup](/self-managed/setup/guides/ingress-setup.md). +In this example, we will use a combined Ingress configuration. For more information, refer to [combined and separated Ingress setup](/self-managed/setup/guides/ingress-setup.md). ## Prerequisites diff --git a/docs/self-managed/setup/deploy/openshift/redhat-openshift.md b/docs/self-managed/setup/deploy/openshift/redhat-openshift.md index 006d0b596e5..bfa1727e079 100644 --- a/docs/self-managed/setup/deploy/openshift/redhat-openshift.md +++ b/docs/self-managed/setup/deploy/openshift/redhat-openshift.md @@ -45,33 +45,22 @@ Depending on your OpenShift cluster's Security Context Constraints (SCCs) config ### With restrictive SCCs -By default, OpenShift employs more restrictive SCCs. +By default, OpenShift employs more restrictive SCCs. The Helm chart must assign `null` to the user running all components and dependencies. +The `global.compatibility.openshift.adaptSecurityContext` variable in your values.yaml can be used to set the following possible values: -- The Helm chart must assign `null` to the user running all components and dependencies. -- Due to a [null bug](https://github.com/helm/helm/issues/9136) [in Helm](https://github.com/helm/helm/issues/12490), this operation must be executed using our `OpenShift values.yaml` file. +- `force`: all `runAsUser` and `fsGroup` values will be set to null. +- `disabled`: this is the default value. In this case, no fields will be modified. To deploy Camunda 8 on OpenShift: 1. Install [Helm and other CLI tools](/self-managed/setup/install.md#prerequisites). -1. Install the [Camunda Helm chart repository](/self-managed/setup/install.md#helm-repository). -1. Download the exact version of the chart you want to install and extract it in a directory ([Camunda 8 Helm Chart Version Matrix](https://helm.camunda.io/camunda-platform/version-matrix/)): +2. Install the [Camunda Helm chart repository](/self-managed/setup/install.md#helm-repository). +3. Set `global.compatibility.openshift.adaptSecurityContext` to `force` - ```shell - # List of available versions: https://helm.camunda.io/camunda-platform/version-matrix/ - export CHART_VERSION="" - - # Make sure to set CHART_VERSION to match the chart version you want to install. - helm pull camunda/camunda-platform --version "$CHART_VERSION" --untar --untardir "/tmp/camunda-platform-$CHART_VERSION" - ``` - -1. Install the Camunda chart with the patched SCCs (`/tmp/camunda-platform-CHART_VERSION/camunda-platform/openshift/values.yaml`). - - ```shell - helm install camunda camunda/camunda-platform --skip-crds --version "$CHART_VERSION" \ - --values "/tmp/camunda-platform-$CHART_VERSION/camunda-platform/openshift/values.yaml" - ``` - - You can customize the values by providing your own values in addition to the OpenShift values file. +```shell +helm install camunda camunda/camunda-platform --skip-crds \ + --set global.compatibility.openshift.adaptSecurityContext=force +```
    @@ -332,39 +321,7 @@ Additionally, the Zeebe Gateway should be configured to use an encrypted connect The actual configuration properties can be reviewed [in the Tasklist configuration documentation](/self-managed/tasklist-deployment/tasklist-configuration.md#zeebe-broker-connection). -1. For Connectors: - - :::note - - The following will no longer be required when [the Connectors component supports PKCS #1 and PKCS #8](https://github.com/camunda/connectors/issues/2806). - - ::: - - The Connectors component only accepts a `jks` (Java KeyStore) certificate. - If you have followed our previous recommendation of generating a TLS certificate using the OpenShift annotation, you will have a `PKCS #1` certificate the Connectors component will not accept. - - Below are a number of commands that convert the `PKCS #1` certificate generated by OpenShift to a `jks` format the Connectors component accepts: - - ```bash - # Grab OpenShift generated TLS certificate. - kubectl get secret -n camunda camunda-zeebe-gateway -o jsonpath="{.data['tls\.crt']}" | base64 --decode > tls.crt - # Grab OpenShift generated TLS key. - kubectl get secret -n camunda camunda-zeebe-gateway -o jsonpath="{.data['tls\.key']}" | base64 --decode > zeebe-key.key - # Convert Zeebe Gateway unencrypted TLS key to an encrypted key. You will be prompted to enter a password when running this command. Note down the password: - openssl pkcs8 -topk8 -inform PEM -outform PEM -in ./zeebe-key.key -out ./zeebe-encrypted-key-gen.pem -v2 des3 - # Convert PKCS #1 certificate to PKCS #12. Again, you will be prompted to enter the password. - openssl pkcs12 -export -in tls.crt -inkey zeebe-encrypted-key-gen.pem -out zeebe-p12-certificate.p12 -name "certificate" - # Convert PKCS #12 certificate to jks cert. - keytool -importkeystore -srckeystore zeebe-p12-certificate.p12 -srcstoretype pkcs12 -destkeystore keystore.jks - ``` - - Create a generic TLS secret from the `jks` file: - - ```bash - kubectl create secret generic keystore -n camunda --from-file keystore.jks - ``` - - Once the secret is created, follow the below example `values.yaml` config: +1. Configure Connectors: ```yaml connectors: @@ -375,18 +332,24 @@ Additionally, the Zeebe Gateway should be configured to use an encrypted connect value: "camunda-zeebe-gateway.camunda.svc.cluster.local:26500" - name: ZEEBE_CLIENT_SECURITY_PLAINTEXT value: "false" - - name: JAVA_TOOL_OPTIONS - value: "-Djavax.net.ssl.trustStore=/usr/local/certificates/keystore.jks -Djavax.net.ssl.trustStorePassword=changeit" + - name: CAMUNDA_CLIENT_ZEEBE_CACERTIFICATEPATH + value: /usr/local/certificates/tls.crt extraVolumeMounts: - - name: keystore - readOnly: true - mountPath: /usr/local/certificates + - name: certificate + mountPath: /usr/local/certificates/tls.crt + subPath: tls.crt extraVolumes: - - name: keystore + - name: certificate secret: - secretName: keystore + secretName: camunda-platform-internal-service-certificate + items: + - key: tls.crt + path: tls.crt + defaultMode: 420 ``` + The actual configuration properties can be reviewed [in the Connectors configuration documentation](/self-managed/connectors-deployment/connectors-configuration.md#zeebe-broker-connection). + 1. Configure all other applications running inside the cluster and connecting to the Zeebe Gateway to also use TLS. diff --git a/docs/self-managed/setup/deploy/other/docker.md b/docs/self-managed/setup/deploy/other/docker.md index d97a73dc579..278692ff1d7 100644 --- a/docs/self-managed/setup/deploy/other/docker.md +++ b/docs/self-managed/setup/deploy/other/docker.md @@ -21,7 +21,7 @@ The provided Docker images are supported for production usage only on Linux syst | Operate | [camunda/operate:latest](https://hub.docker.com/r/camunda/operate) | [Operate configuration](/self-managed/operate-deployment/operate-configuration.md) | | Tasklist | [camunda/tasklist:latest](https://hub.docker.com/r/camunda/tasklist) | [Tasklist configuration](/self-managed/tasklist-deployment/tasklist-configuration.md) | | Identity | [camunda/identity:latest](https://hub.docker.com/r/camunda/identity) | [Configuration variables](/self-managed/identity/deployment/configuration-variables.md) | -| Optimize | [camunda/optimize:latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start#available-environment-variables) | +| Optimize | [camunda/optimize:8-latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start#available-environment-variables) | | Connectors | [camunda/connectors:latest](https://hub.docker.com/r/camunda/connectors) | [Connectors configuration](/self-managed/connectors-deployment/connectors-configuration.md) | | Connectors Bundle | [camunda/connectors-bundle:latest](https://hub.docker.com/r/camunda/connectors-bundle) | [Connectors configuration](/self-managed/connectors-deployment/connectors-configuration.md) | | Web Modeler (restapi, webapp, websockets) | [camunda/web-modeler-restapi:latest](https://hub.docker.com/r/camunda/web-modeler-restapi), [camunda/web-modeler-webapp:latest](https://hub.docker.com/r/camunda/web-modeler-webapp), [camunda/web-modeler-websockets:latest](https://hub.docker.com/r/camunda/web-modeler-websockets) | [Configuration variables](/self-managed/modeler/web-modeler/configuration/configuration.md) | @@ -122,7 +122,7 @@ Like for example this `docker-compose` configuration: ``` optimize: container_name: optimize - image: camunda/optimize:latest + image: camunda/optimize:8-latest ports: - 8090:8090 environment: diff --git a/docs/self-managed/setup/guides/air-gapped-installation.md b/docs/self-managed/setup/guides/air-gapped-installation.md index 13ebc999e51..7c2265e8365 100644 --- a/docs/self-managed/setup/guides/air-gapped-installation.md +++ b/docs/self-managed/setup/guides/air-gapped-installation.md @@ -134,50 +134,58 @@ helm repo update In a custom values file, it is possible to override the image repository and the image tag. ```yaml +global: + image: + registry: example.jfrog.io zeebe: image: - repository: example.jfrog.io/camunda/zeebe + repository: camunda/zeebe # e.g. work with the latest versions in development tag: latest zeebeGateway: image: - repository: example.jfrog.io/camunda/zeebe - tag: latest + repository: camunda/zeebe elasticsearch: - image: example.jfrog.io/elastic/elasticsearch - imageTag: 7.16.3 + image: + registry: example.jfrog.io + repository: bitnami/os-shell + sysctlImage: + registry: example.jfrog.io + repository: bitnami/elasticsearch identity: image: - repository: example.jfrog.io/camunda/identity + repository: camunda/identity ... identityKeycloak: image: - repository: example.jfrog.io/bitnami/keycloak + registry: example.jfrog.io + repository: bitnami/keycloak ... postgresql: image: - repository: example.jfrog.io/bitnami/postgres + registry: example.jfrog.io + repository: bitnami/postgresql + ... operate: image: - repository: example.jfrog.io/camunda/operate + repository: camunda/operate ... tasklist: image: - repository: example.jfrog.io/camunda/tasklist + repository: camunda/tasklist ... optimize: image: - repository: example.jfrog.io/camunda/optimize + repository: camunda/optimize ... connectors: image: - repository: example.jfrog.io/camunda/connectors-bundle + repository: camunda/connectors-bundle ... webModeler: image: # registry and tag will be used for all three Web Modeler images - registry: example.jfrog.io tag: latest restapi: image: @@ -191,7 +199,8 @@ webModeler: ... postgresql: image: - repository: example.jfrog.io/bitnami/postgres + registry: example.jfrog.io + repository: bitnami/postgresql ... ``` diff --git a/docs/self-managed/setup/guides/configure-db-custom-headers.md b/docs/self-managed/setup/guides/configure-db-custom-headers.md index 0a090772068..53ad5ef04ca 100644 --- a/docs/self-managed/setup/guides/configure-db-custom-headers.md +++ b/docs/self-managed/setup/guides/configure-db-custom-headers.md @@ -63,7 +63,7 @@ public class MyCustomHeaderPlugin implements DatabaseCustomHeaderSupplier { public static final String CUSTOM_TOKEN_PLUGIN = "X-Custom-Auth-Token"; @Override - public CustomHeader getElasticsearchCustomHeader() { + public CustomHeader getSearchDatabaseCustomHeader() { return new CustomHeader(CUSTOM_TOKEN_PLUGIN, UUID.randomUUID().toString()); } @@ -101,9 +101,9 @@ The following examples add the new `my-plugin` JAR to the `application.yaml` for ```yaml -- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_INTERCEPTORPLUGINS_PLG1_ID=my-plugin -- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_INTERCEPTORPLUGINS_PLG1_CLASSNAME=com.myplugin.MyCustomHeaderPlugin -- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_INTERCEPTORPLUGINS_PLG1_JARPATH=/usr/local/plugin/plg.jar +- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_INTERCEPTORPLUGINS_0_ID=my-plugin +- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- ZEEBE_BROKER_EXPORTERS_ELASTICSEARCH_ARGS_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar ``` @@ -111,9 +111,9 @@ The following examples add the new `my-plugin` JAR to the `application.yaml` for ```yaml -- ZEEBE_BROKER_EXPORTERS_OPENSEARCH_ARGS_INTERCEPTORPLUGINS_PLG1_ID=my-plugin -- ZEEBE_BROKER_EXPORTERS_OPENSEARCH_ARGS_INTERCEPTORPLUGINS_PLG1_CLASSNAME=com.myplugin.MyCustomHeaderPlugin -- ZEEBE_BROKER_EXPORTERS_OPENSEARCH_ARGS_INTERCEPTORPLUGINS_PLG1_JARPATH=/usr/local/plugin/plg.jar +- ZEEBE_BROKER_EXPORTERS_OPENSEARCH_ARGS_INTERCEPTORPLUGINS_0_ID=my-plugin +- ZEEBE_BROKER_EXPORTERS_OPENSEARCH_ARGS_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- ZEEBE_BROKER_EXPORTERS_OPENSEARCH_ARGS_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar ``` @@ -131,12 +131,12 @@ The following examples add the new `my-plugin` JAR to the `application.yaml` for ```yaml -- CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_ID=my-plugin -- CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_CLASSNAME=com.myplugin.MyCustomHeaderPlugin -- CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_JARPATH=/usr/local/plugin/plg.jar -- CAMUNDA_OPERATE_ELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_ID=my-plugin -- CAMUNDA_OPERATE_ELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_CLASSNAME=com.myplugin.MyCustomHeaderPlugin -- CAMUNDA_OPERATE_ELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_JARPATH=/usr/local/plugin/plg.jar +- CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_0_ID=my-plugin +- CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar +- CAMUNDA_OPERATE_ELASTICSEARCH_INTERCEPTORPLUGINS_0_ID=my-plugin +- CAMUNDA_OPERATE_ELASTICSEARCH_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- CAMUNDA_OPERATE_ELASTICSEARCH_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar ``` @@ -144,12 +144,12 @@ The following examples add the new `my-plugin` JAR to the `application.yaml` for ```yaml -- CAMUNDA_OPERATE_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_PLG1_ID=my-plugin -- CAMUNDA_OPERATE_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_PLG1_CLASSNAME=com.myplugin.MyCustomHeaderPlugin -- CAMUNDA_OPERATE_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_PLG1_JARPATH=/usr/local/plugin/plg.jar -- CAMUNDA_OPERATE_OPENSEARCH_INTERCEPTORPLUGINS_PLG1_ID=my-plugin -- CAMUNDA_OPERATE_OPENSEARCH_INTERCEPTORPLUGINS_PLG1_CLASSNAME=com.myplugin.MyCustomHeaderPlugin -- CAMUNDA_OPERATE_OPENSEARCH_INTERCEPTORPLUGINS_PLG1_JARPATH=/usr/local/plugin/plg.jar +- CAMUNDA_OPERATE_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_0_ID=my-plugin +- CAMUNDA_OPERATE_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- CAMUNDA_OPERATE_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar +- CAMUNDA_OPERATE_OPENSEARCH_INTERCEPTORPLUGINS_0_ID=my-plugin +- CAMUNDA_OPERATE_OPENSEARCH_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- CAMUNDA_OPERATE_OPENSEARCH_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar ``` @@ -167,12 +167,12 @@ The following examples add the new `my-plugin` JAR to the `application.yaml` for ```yaml -- CAMUNDA_TASKLIST_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_ID=my-plugin -- CAMUNDA_TASKLIST_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_CLASSNAME=com.myplugin.MyCustomHeaderPlugin -- CAMUNDA_TASKLIST_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_JARPATH=/usr/local/plugin/plg.jar -- CAMUNDA_TASKLIST_ELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_ID=my-plugin -- CAMUNDA_TASKLIST_ELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_CLASSNAME=com.myplugin.MyCustomHeaderPlugin -- CAMUNDA_TASKLIST_ELASTICSEARCH_INTERCEPTORPLUGINS_PLG1_JARPATH=/usr/local/plugin/plg.jar +- CAMUNDA_TASKLIST_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_0_ID=my-plugin +- CAMUNDA_TASKLIST_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- CAMUNDA_TASKLIST_ZEEBEELASTICSEARCH_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar +- CAMUNDA_TASKLIST_ELASTICSEARCH_INTERCEPTORPLUGINS_0_ID=my-plugin +- CAMUNDA_TASKLIST_ELASTICSEARCH_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- CAMUNDA_TASKLIST_ELASTICSEARCH_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar ``` @@ -180,12 +180,46 @@ The following examples add the new `my-plugin` JAR to the `application.yaml` for ```yaml -- CAMUNDA_TASKLIST_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_PLG1_ID=my-plugin -- CAMUNDA_TASKLIST_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_PLG1_CLASSNAME=com.myplugin.MyCustomHeaderPlugin -- CAMUNDA_TASKLIST_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_PLG1_JARPATH=/usr/local/plugin/plg.jar -- CAMUNDA_TASKLIST_OPENSEARCH_INTERCEPTORPLUGINS_PLG1_ID=my-plugin -- CAMUNDA_TASKLIST_OPENSEARCH_INTERCEPTORPLUGINS_PLG1_CLASSNAME=com.myplugin.MyCustomHeaderPlugin -- CAMUNDA_TASKLIST_OPENSEARCH_INTERCEPTORPLUGINS_PLG1_JARPATH=/usr/local/plugin/plg.jar +- CAMUNDA_TASKLIST_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_0_ID=my-plugin +- CAMUNDA_TASKLIST_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- CAMUNDA_TASKLIST_ZEEBEOPENSEARCH_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar +- CAMUNDA_TASKLIST_OPENSEARCH_INTERCEPTORPLUGINS_0_ID=my-plugin +- CAMUNDA_TASKLIST_OPENSEARCH_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- CAMUNDA_TASKLIST_OPENSEARCH_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar +``` + + +
    + +#### Configure Optimize Importer + +:::note +Due to technical limitations, Optimize currently allows registering up to 5 plugins. +::: + + + + + +```yaml +- CAMUNDA_OPTIMIZE_ELASTICSEARCH_INTERCEPTORPLUGINS_0_ID=my-plugin +- CAMUNDA_OPTIMIZE_ELASTICSEARCH_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- CAMUNDA_OPTIMIZE_ELASTICSEARCH_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar +``` + + + + + +```yaml +- CAMUNDA_OPTIMIZE_OPENSEARCH_INTERCEPTORPLUGINS_0_ID=my-plugin +- CAMUNDA_OPTIMIZE_OPENSEARCH_INTERCEPTORPLUGINS_0_CLASSNAME=com.myplugin.MyCustomHeaderPlugin +- CAMUNDA_OPTIMIZE_OPENSEARCH_INTERCEPTORPLUGINS_0_JARPATH=/usr/local/plugin/plg.jar ``` @@ -213,3 +247,7 @@ To solve this, make sure: Usually related to incorrect JAR loading. Please make sure that the path to your plugin JAR file is correct, and the application has access to read it. Also check that the JAR is correct and contains the required dependencies. To check the content of the JAR file, you can use the following command: `jar xf .jar`. + +## Appendix + +Explore [plugin examples](https://github.com/camunda/camunda-search-client-plugins-example) in our official repository. diff --git a/docs/self-managed/setup/upgrade.md b/docs/self-managed/setup/upgrade.md index 98cae29cdfe..5c9d8e88495 100644 --- a/docs/self-managed/setup/upgrade.md +++ b/docs/self-managed/setup/upgrade.md @@ -92,8 +92,6 @@ As of this Helm chart version, the image tags for all components are independent With this change, Camunda applications no longer require a unified patch version. For example, a given installation may use Zeebe version 8.5.1, and Operate version 8.5.2. Note that only the patch version can differ between components. -The key `global.image.tag` is deprecated and it will be removed in the Camunda 8.6 release. -

    Helm chart 10.0.2+

    The upgrade path for Camunda Helm Chart v9.x.x is v10.0.2+. diff --git a/docs/self-managed/tasklist-deployment/tasklist-configuration.md b/docs/self-managed/tasklist-deployment/tasklist-configuration.md index b9bebab45b2..c2c7dd029af 100644 --- a/docs/self-managed/tasklist-deployment/tasklist-configuration.md +++ b/docs/self-managed/tasklist-deployment/tasklist-configuration.md @@ -90,17 +90,17 @@ You may need to import the certificate into JVM runtime. For OpenSearch we also have similar configurations: -| Name | Description | Default value | -| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- | -| camunda.tasklist.opensearch.indexPrefix | Prefix for index names. | tasklist | -| camunda.tasklist.opensearch.clusterName | Clustername of OpenSearch. | opensearch | -| camunda.tasklist.opensearch.url | URL of OpenSearch REST API. | http://localhost:9200 | -| camunda.tasklist.opensearch.username | Username to access OpenSearch REST API. | - | -| camunda.tasklist.opensearch.password | Password to access OpenSearch REST API. | - | -| camunda.tasklist.opensearch.awsEnabled |

    Use basic authentication or AWS credentials to login.

    • Set to `false` to use basic authentication for OpenSearch, adhering to the global AWS OpenSearch configuration settings.

    • Set to `true` to login with AWS credentials.

    | false | -| camunda.tasklist.opensearch.ssl.certificatePath | Path to certificate used by OpenSearch | - | -| camunda.tasklist.opensearch.ssl.selfSigned | Certificate was self-signed. | false | -| camunda.tasklist.opensearch.ssl.verifyHostname | Should the hostname be validated. | false | +| Name | Description | Default value | +| :---------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- | +| camunda.tasklist.opensearch.indexPrefix | Prefix for index names. | tasklist | +| camunda.tasklist.opensearch.clusterName | Cluster name of OpenSearch. | opensearch | +| camunda.tasklist.opensearch.url | URL of OpenSearch REST API. | http://localhost:9200 | +| camunda.tasklist.opensearch.username | Username to access OpenSearch REST API. | - | +| camunda.tasklist.opensearch.password | Password to access OpenSearch REST API. | - | +| camunda.tasklist.opensearch.awsEnabled |

    Use basic authentication or AWS credentials to log in.

    • Set to `false` to use basic authentication for OpenSearch, adhering to the global AWS OpenSearch configuration settings.

    • Set to `true` to log in with AWS credentials.

    | false | +| camunda.tasklist.opensearch.ssl.certificatePath | Path to certificate used by OpenSearch | - | +| camunda.tasklist.opensearch.ssl.selfSigned | Certificate was self-signed. | false | +| camunda.tasklist.opensearch.ssl.verifyHostname | Should the hostname be validated. | false | By default, Tasklist always tries to connect to Elasticsearch. To define the database to use, the configuration below is mandatory (if this configuration is missed, Elasticsearch is used as the selected database): diff --git a/docs/self-managed/zeebe-deployment/operations/cluster-scaling.md b/docs/self-managed/zeebe-deployment/operations/cluster-scaling.md index 8fd4c073324..379359c94dc 100644 --- a/docs/self-managed/zeebe-deployment/operations/cluster-scaling.md +++ b/docs/self-managed/zeebe-deployment/operations/cluster-scaling.md @@ -369,11 +369,11 @@ curl --request POST 'http://localhost:9600/actuator/cluster/brokers?dryRun=true' -d '["0", "1", "2", "3"]' ``` -##### Replication Factor +##### Replication factor The replication factor for all partitions can be changed with the `replicationFactor` request parameter. If not specified, the replication factor remains unchanged. -The new replicas will be assigned to the brokers based on the round robin partition distribution strategy. +The new replicas are assigned to the brokers based on the round robin partition distribution strategy. ``` curl --request POST 'http://localhost:9600/actuator/cluster/brokers?replicationFactor=4' \ diff --git a/docs/self-managed/zeebe-deployment/operations/metrics.md b/docs/self-managed/zeebe-deployment/operations/metrics.md index a81a4c10523..52cabef81b7 100644 --- a/docs/self-managed/zeebe-deployment/operations/metrics.md +++ b/docs/self-managed/zeebe-deployment/operations/metrics.md @@ -4,11 +4,7 @@ title: "Metrics" keywords: ["backpressure", "back-pressure", "back pressure"] --- -When operating a distributed system like Zeebe, it is important to put proper monitoring in place. - -To facilitate this, Zeebe exposes an extensive set of metrics. - -Zeebe exposes metrics over an embedded HTTP server. +When operating a distributed system like Zeebe, it is important to put proper monitoring in place. To facilitate this, Zeebe exposes an extensive set of metrics over an embedded HTTP server. ## Types of metrics @@ -17,8 +13,7 @@ Zeebe exposes metrics over an embedded HTTP server. ## Metrics format -Zeebe exposes metrics directly in Prometheus text format. -Read details of the format in the [Prometheus documentation][prom-format]. +Zeebe exposes metrics directly in the [Prometheus text format][prom-format]. **Example:** @@ -30,13 +25,13 @@ zeebe_stream_processor_records_total{action="processed",partition="1",} 20320.0 zeebe_stream_processor_records_total{action="skipped",partition="1",} 2153.0 ``` -## Configuring metrics +## Enable additional metrics -Configure the HTTP server to export the metrics in the [configuration file](../configuration/configuration.md). +Metrics are exported by default. To enable execution metrics, set the `ZEEBE_BROKER_EXECUTION_METRICS_EXPORTER_ENABLED` environment variable to `true` in your Zeebe [configuration file](../configuration/configuration.md). -## Connecting Prometheus +## Connect Prometheus -As explained, Zeebe exposes the metrics over an HTTP server. The default port is `9600`. +Zeebe exposes the metrics over an HTTP server. The default port is `9600`. Add the following entry to your `prometheus.yml`: diff --git a/docs/self-managed/zeebe-deployment/security/secure-cluster-communication.md b/docs/self-managed/zeebe-deployment/security/secure-cluster-communication.md index 7afb26023e8..e7798730f34 100644 --- a/docs/self-managed/zeebe-deployment/security/secure-cluster-communication.md +++ b/docs/self-managed/zeebe-deployment/security/secure-cluster-communication.md @@ -17,7 +17,20 @@ Additionally, a small portion of Zeebe traffic is done over UDP, which is left u ## Configuration -If you wish to enable TLS for cluster communication, you need to provide two things: a certificate file, and its private key. +To enable TLS for cluster communication, provide a certificate chain and a private key. + +Two mutually exclusive formats can be provided, and attempting to use both at the same time will result in an error. + +### Keystore file + +A keystore file can be provided. Currently, this only supports PKCS#12. Per the [RFC](https://datatracker.ietf.org/doc/html/rfc7292) it must: + +- Not have more than **one** certificate-key entry in the file. +- Have the same password for the keystore and the key password of the only entry. + +The certificate will remain the same as the PEM certificate approach, and it should be an x.509 public certificate. The private key must also be generated using PKCS#8. + +### PEM certificate and keys The certificate chain file is expected to be a PEM public certificate file, which should contain a x509 public certificate, and may additionally contain an entire certificate chain. If it does include the chain, it should simply be concatenated after the node's certificate. @@ -79,9 +92,20 @@ security: # Sets the path to the private key file location # This setting can also be overridden using the environment variable ZEEBE_BROKER_NETWORK_SECURITY_PRIVATEKEYPATH. privateKeyPath: + + # Configures the keystore file containing both the certificate chain and the private key. + # Currently only supports PKCS#12 format. + keyStore: + # The path for the keystore file + # This setting can also be overridden using the environment variable ZEEBE_BROKER_NETWORK_SECURITY_PKCS12_FILEPATH + filePath: + + # Sets the password for the keystore file, if not set it is assumed there is no password + # This setting can also be overridden using the environment variable ZEEBE_BROKER_NETWORK_SECURITY_PKCS12_PASSWORD + password: ``` -> The `certificateChainPath` and the `privateKeyPath` can be relative to your broker's working directory, or can be absolute paths. +> The `certificateChainPath`, `privateKeyPath` and `keyStore.filePath` can be relative to your broker's working directory, or can be absolute paths. ## Gateway @@ -100,11 +124,22 @@ security: # Sets the path to the private key file location # This setting can also be overridden using the environment variable ZEEBE_GATEWAY_CLUSTER_SECURITY_PRIVATEKEYPATH. privateKeyPath: + + # Configures the keystore file containing both the certificate chain and the private key. + # Currently only supports PKCS#12 format. + keyStore: + # The path for the keystore file + # This setting can also be overridden using the environment variable ZEEBE_GATEWAY_CLUSTER_SECURITY_PKCS12_FILEPATH + filePath: + + # Sets the password for the keystore file, if not set it is assumed there is no password + # This setting can also be overridden using the environment variable ZEEBE_GATEWAY_CLUSTER_SECURITY_PKCS12_PASSWORD + password: ``` :::note -The `certificateChainPath` and the `privateKeyPath` can be relative to the gateway's working directory, or can be absolute paths. +The `certificateChainPath`, `privateKeyPath`, and `keyStore.filePath` can be relative to the gateway's working directory, or can be absolute paths. ::: diff --git a/optimize/apis-tools/optimize-api/optimize-api-authentication.md b/optimize/apis-tools/optimize-api/optimize-api-authentication.md index d1506fb3c5a..17aaeaae0bb 100644 --- a/optimize/apis-tools/optimize-api/optimize-api-authentication.md +++ b/optimize/apis-tools/optimize-api/optimize-api-authentication.md @@ -4,62 +4,140 @@ title: "Authentication" description: "Connect business process-related event data and variable data held in external systems from third-party systems to Optimize, and more." --- -Most requests of the Public REST API need to include a bearer token -as an [`Authorization`](https://tools.ietf.org/html/rfc7235#section-4.2) request header. - -Given a valid token `mySecret`, the header would need to be set as follows: - -``` -Authorization: Bearer mySecret -``` - -The token used to access the Optimize API can be a configurable shared secret (except in Camunda 8 SaaS mode) or a JWT compliant with the OAuth2 Protocol (all modes). - -Refer to [Public API Configuration](../../self-managed/optimize-deployment/configuration/system-configuration.md#public-api) for the particular configuration to access the public API using a token. - -## How to obtain the access token for Camunda 8 - -You must obtain a token to use the Optimize API. When you create an Optimize [client]($docs$/guides/setup-client-connection-credentials/), you get all the information needed to connect to Optimize. - -See our guide on [building your own client]($docs$/apis-tools/build-your-own-client/). - -The following settings are needed: - -| Name | Description | Default value | -| ------------------------ | ----------------------------------------------- | --------------------- | -| client id | Name of your registered client | - | -| client secret | Password for your registered client | - | -| audience | Permission name; if not given use default value | `optimize.camunda.io` | -| authorization server url | Token issuer server | - | - -Send a token issue _POST_ request to the authentication server with the following content: - -```json -{ - "client_id": "", - "client_secret": "", - "audience": "", - "grant_type": "client_credentials" -} -``` - -See the following example with _curl_: +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +All Optimize API requests except [the health readiness endpoint](./health-readiness.md) require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request. + +## Generating a token + + + + +1. [Create client credentials]($docs$/guides/setup-client-connection-credentials/) in the **Clusters > Cluster name > API** tab of [Camunda Console](https://console.camunda.io/). +2. Add permissions to this client for **Optimize**. +3. Upon creating the client, capture the following values required to generate a token: + + | Name | Environment variable name | Default value | + | ------------------------ | -------------------------------- | -------------------------------------------- | + | Client ID | `ZEEBE_CLIENT_ID` | - | + | Client Secret | `ZEEBE_CLIENT_SECRET` | - | + | Authorization Server URL | `ZEEBE_AUTHORIZATION_SERVER_URL` | `https://login.cloud.camunda.io/oauth/token` | + | Optimize REST Address | `CAMUNDA_OPTIMIZE_BASE_URL` | - | + + :::tip + When client credentials are created, the `Client Secret` is only shown once. Save this `Client Secret` somewhere safe. + ::: +4. Execute an authentication request to the token issuer: + ```bash + curl --request POST ${ZEEBE_AUTHORIZATION_SERVER_URL} \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data-urlencode 'grant_type=client_credentials' \ + --data-urlencode 'audience=optimize.camunda.io' \ + --data-urlencode "client_id=${ZEEBE_CLIENT_ID}" \ + --data-urlencode "client_secret=${ZEEBE_CLIENT_SECRET}" + ``` +5. A successful authentication response looks like the following: + ```json + { + "access_token": "", + "expires_in": 300, + "refresh_expires_in": 0, + "token_type": "Bearer", + "not-before-policy": 0 + } + ``` +6. Capture the value of the `access_token` property and store it as your token. + + + + + +1. [Configure the `api.audience` setting](/self-managed/optimize-deployment/configuration/system-configuration.md#public-api) in your Optimize installation to match the audience property of the **Optimize API** [API in Identity]($docs$/self-managed/identity/user-guide/additional-features/adding-an-api/). +2. [Add an M2M application in Identity]($docs$/self-managed/identity/user-guide/additional-features/incorporate-applications/). +3. [Add permissions to this application]($docs$/self-managed/identity/user-guide/additional-features/incorporate-applications/) for **Optimize API**. +4. Capture the `Client ID` and `Client Secret` from the application in Identity. +5. [Generate a token]($docs$/self-managed/identity/user-guide/authorizations/generating-m2m-tokens/) to access the REST API. Provide the `client_id` and `client_secret` from the values you previously captured in Identity. + ```shell + curl --location --request POST 'http://localhost:18080/auth/realms/camunda-platform/protocol/openid-connect/token' \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data-urlencode "client_id=${CLIENT_ID}" \ + --data-urlencode "client_secret=${CLIENT_SECRET}" \ + --data-urlencode 'grant_type=client_credentials' + ``` +6. A successful authentication response looks like the following: + ```json + { + "access_token": "", + "expires_in": 300, + "refresh_expires_in": 0, + "token_type": "Bearer", + "not-before-policy": 0 + } + ``` +7. Capture the value of the `access_token` property and store it as your token. + +:::note +The Optimize API can also be configured in a Self-Managed environment to authenticate with a single shared access token. Refer to [Public API Configuration](/self-managed/optimize-deployment/configuration/system-configuration.md#public-api) for the configuration required to access the public API using a specific token. +::: + + + + + +## Using a token + +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. + +For example, to send a request to the Optimize API's ["Get dashboard IDs" endpoint](./dashboard/get-dashboard-ids.md): + + + + + +:::tip +The `${CAMUNDA_TASKLIST_BASE_URL}` variable below represents the URL of the Optimize API. You can capture this URL when creating an API client. You can also construct it as `https://${REGION}.optimize.camunda.io/${CLUSTER_ID}`. +::: + + + + + +:::tip +The `${CAMUNDA_OPTIMIZE_BASE_URL}` variable below represents the URL of the Optimize API. You can configure this value in your Self-Managed installation. The default value is `http://localhost:8083`. +::: + + + + ```shell -curl -X POST --header 'content-type: application/json' --data '{"client_id": "", "client_secret":"","audience":"","grant_type":"client_credentials"}' https:// +curl --header "Authorization: Bearer ${TOKEN}" \ + -G --data-urlencode "collectionId=${COLLECTION_ID}" \ + ${CAMUNDA_OPTIMIZE_BASE_URL}/api/public/dashboard ``` -If the authentication is successful, the authentication server sends back the access token, when it expires, scope, and type: +A successful response includes [dashboard IDs](./dashboard/get-dashboard-ids.md). For example: ```json -{ - "access_token": "ey...", - "scope": "...", - "expires_in": 86400, - "token_type": "Bearer" -} +[ + { + "id": "11111111-1111-1111-1111-111111111111" + }, + { + "id": "22222222-2222-2222-2222-222222222222" + } +] ``` -## Use it in Postman +## Token expiration -Work with this API in our [Postman collection](https://www.postman.com/camundateam/workspace/camunda-8-postman/collection/24684262-a1103c05-7ed8-4fd4-8716-9005583ce23a?action=share&creator=26079299). +Access tokens expire according to the `expires_in` property of a successful authentication response. After this duration, in seconds, you must request a new access token. diff --git a/optimize/components/userguide/additional-features/ml-dataset.md b/optimize/components/userguide/additional-features/ml-dataset.md index a154f104d96..60844398b02 100644 --- a/optimize/components/userguide/additional-features/ml-dataset.md +++ b/optimize/components/userguide/additional-features/ml-dataset.md @@ -8,7 +8,7 @@ The machine learning-ready data set feature allows the export of data into a sin The data contained in the raw data reports is already organized and pre-processed in such a way that it would allow a trained model to make predictions for future instances based on existing instances for a given definition. -In addition to the previously existing columns in the raw data reports, we added columns for improved machine learning capabilities. These columns allow a user to access information such as the total number of incidents per process instance, the number of open incidents, the number of user tasks, and the total duration of an event. +In addition to the previously existing columns in the raw data reports, we added columns for improved machine learning capabilities. These columns allow a user to access information such as the total number of [incidents]($docs$/components/concepts/incidents/) per process instance, the number of open incidents, the number of user tasks, and the total duration of an event. For example, this allows you to predict how long an instance will take to complete based on the number of incidents or user tasks. diff --git a/optimize/self-managed/optimize-deployment/migration-update/3.13_8.5-to-3.14_8.6.md b/optimize/self-managed/optimize-deployment/migration-update/3.13_8.5-to-3.14_8.6.md index 8b4a2389624..b97c68d0cf4 100644 --- a/optimize/self-managed/optimize-deployment/migration-update/3.13_8.5-to-3.14_8.6.md +++ b/optimize/self-managed/optimize-deployment/migration-update/3.13_8.5-to-3.14_8.6.md @@ -39,9 +39,18 @@ Optimize now supports Elasticsearch 8.13.0+. See the [supported environments]($docs$/reference/supported-environments/#component-requirements) documentation for the full range of supported versions. -#### Docker tag naming convention +### Artifact and Docker tag separation -The Docker tag naming conventions have been updated: +Starting with Camunda 8.6, Optimize artifact has been split into two distinct versions, and versioning between Camunda 7 and Camunda 8 is no longer interchangeable: -- For Camunda 8, the Optimize Docker tag `latest` has been changed to `8-latest`. -- For Camunda 7, Optimize continues to use the `latest` tag. +- **Before Camunda 8.6**: Versions like `8.x` and `3.x` (used for Camunda 7) could sometimes be used interchangeably. +- **From Camunda 8.6 onwards**: `8.6 != 3.14`. Each version corresponds strictly to its platform: + - **Camunda 7**: Uses the `3.x` versioning scheme and the `latest` Docker tag. + - **Camunda 8**: Uses the `8.x` versioning scheme and the `8-latest` Docker tag. + +#### Action required: + +- **Camunda 7 Users**: Continue using `3.x` versions and the `latest` Docker tag. +- **Camunda 8 Users**: Update your configurations to use `8.x` versions and the `8-latest` Docker tag. + +Make sure to update your Docker configurations accordingly to ensure compatibility. diff --git a/optimize_sidebars.js b/optimize_sidebars.js index 919aee1181f..a90441387d2 100644 --- a/optimize_sidebars.js +++ b/optimize_sidebars.js @@ -123,20 +123,8 @@ module.exports = { "components/console/manage-clusters/create-cluster/" ), docsLink( - "Rename your cluster", - "components/console/manage-clusters/rename-cluster/" - ), - docsLink( - "Resume your cluster", - "components/console/manage-clusters/resume-cluster/" - ), - docsLink( - "Update your cluster", - "components/console/manage-clusters/update-cluster/" - ), - docsLink( - "Delete your cluster", - "components/console/manage-clusters/delete-cluster/" + "Manage your cluster", + "components/console/manage-clusters/manage-cluster/" ), docsLink( "Manage API clients", @@ -2163,6 +2151,7 @@ module.exports = { "self-managed/setup/deploy/local/docker-compose/" ), docsLink("Manual", "self-managed/setup/deploy/local/manual/"), + docsLink("C8Run", "self-managed/setup/deploy/local/c8run/"), ], }, @@ -2948,8 +2937,8 @@ module.exports = { "self-managed/modeler/web-modeler/troubleshooting/troubleshoot-zeebe-connection/" ), docsLink( - "Login issues", - "self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login/" + "Missing data", + "self-managed/modeler/web-modeler/troubleshooting/troubleshoot-missing-data/" ), ], }, diff --git a/optimize_versioned_docs/version-3.10.0/self-managed/optimize-deployment/migration-update/instructions.md b/optimize_versioned_docs/version-3.10.0/self-managed/optimize-deployment/migration-update/instructions.md index c292c28a301..5d41783315d 100644 --- a/optimize_versioned_docs/version-3.10.0/self-managed/optimize-deployment/migration-update/instructions.md +++ b/optimize_versioned_docs/version-3.10.0/self-managed/optimize-deployment/migration-update/instructions.md @@ -95,7 +95,9 @@ version: '2.4' services: optimize: - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:latest # For Camunda 7 command: ["./optimize.sh", "--upgrade"] ``` @@ -107,11 +109,15 @@ However, as this may prolong the container boot time significantly which may con spec: initContainers: - name: migration - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:latest # For Camunda 7 command: ['./upgrade/upgrade.sh', '--skip-warning'] containers: - name: optimize - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:7-latest # For Camunda 7 ``` ### 4. Resume a canceled update diff --git a/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/migration-update/instructions.md b/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/migration-update/instructions.md index 85fe4a43a6d..1c5742f0e42 100644 --- a/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/migration-update/instructions.md +++ b/optimize_versioned_docs/version-3.11.0/self-managed/optimize-deployment/migration-update/instructions.md @@ -95,7 +95,9 @@ version: '2.4' services: optimize: - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:latest # For Camunda 7 command: ["./optimize.sh", "--upgrade"] ``` @@ -107,11 +109,15 @@ However, as this may prolong the container boot time significantly which may con spec: initContainers: - name: migration - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:latest # For Camunda 7 command: ['./upgrade/upgrade.sh', '--skip-warning'] containers: - name: optimize - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:7-latest # For Camunda 7 ``` ### 4. Resume a canceled update diff --git a/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/migration-update/instructions.md b/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/migration-update/instructions.md index cd0121642b1..7c2752ea43e 100644 --- a/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/migration-update/instructions.md +++ b/optimize_versioned_docs/version-3.12.0/self-managed/optimize-deployment/migration-update/instructions.md @@ -95,7 +95,9 @@ version: '2.4' services: optimize: - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:latest # For Camunda 7 command: ["./optimize.sh", "--upgrade"] ``` @@ -107,11 +109,15 @@ However, as this may prolong the container boot time significantly which may con spec: initContainers: - name: migration - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:latest # For Camunda 7 command: ['./upgrade/upgrade.sh', '--skip-warning'] containers: - name: optimize - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:7-latest # For Camunda 7 ``` ### 4. Resume a canceled update diff --git a/optimize_versioned_docs/version-3.13.0/apis-tools/optimize-api/optimize-api-authentication.md b/optimize_versioned_docs/version-3.13.0/apis-tools/optimize-api/optimize-api-authentication.md index d1506fb3c5a..17aaeaae0bb 100644 --- a/optimize_versioned_docs/version-3.13.0/apis-tools/optimize-api/optimize-api-authentication.md +++ b/optimize_versioned_docs/version-3.13.0/apis-tools/optimize-api/optimize-api-authentication.md @@ -4,62 +4,140 @@ title: "Authentication" description: "Connect business process-related event data and variable data held in external systems from third-party systems to Optimize, and more." --- -Most requests of the Public REST API need to include a bearer token -as an [`Authorization`](https://tools.ietf.org/html/rfc7235#section-4.2) request header. - -Given a valid token `mySecret`, the header would need to be set as follows: - -``` -Authorization: Bearer mySecret -``` - -The token used to access the Optimize API can be a configurable shared secret (except in Camunda 8 SaaS mode) or a JWT compliant with the OAuth2 Protocol (all modes). - -Refer to [Public API Configuration](../../self-managed/optimize-deployment/configuration/system-configuration.md#public-api) for the particular configuration to access the public API using a token. - -## How to obtain the access token for Camunda 8 - -You must obtain a token to use the Optimize API. When you create an Optimize [client]($docs$/guides/setup-client-connection-credentials/), you get all the information needed to connect to Optimize. - -See our guide on [building your own client]($docs$/apis-tools/build-your-own-client/). - -The following settings are needed: - -| Name | Description | Default value | -| ------------------------ | ----------------------------------------------- | --------------------- | -| client id | Name of your registered client | - | -| client secret | Password for your registered client | - | -| audience | Permission name; if not given use default value | `optimize.camunda.io` | -| authorization server url | Token issuer server | - | - -Send a token issue _POST_ request to the authentication server with the following content: - -```json -{ - "client_id": "", - "client_secret": "", - "audience": "", - "grant_type": "client_credentials" -} -``` - -See the following example with _curl_: +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +All Optimize API requests except [the health readiness endpoint](./health-readiness.md) require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request. + +## Generating a token + + + + +1. [Create client credentials]($docs$/guides/setup-client-connection-credentials/) in the **Clusters > Cluster name > API** tab of [Camunda Console](https://console.camunda.io/). +2. Add permissions to this client for **Optimize**. +3. Upon creating the client, capture the following values required to generate a token: + + | Name | Environment variable name | Default value | + | ------------------------ | -------------------------------- | -------------------------------------------- | + | Client ID | `ZEEBE_CLIENT_ID` | - | + | Client Secret | `ZEEBE_CLIENT_SECRET` | - | + | Authorization Server URL | `ZEEBE_AUTHORIZATION_SERVER_URL` | `https://login.cloud.camunda.io/oauth/token` | + | Optimize REST Address | `CAMUNDA_OPTIMIZE_BASE_URL` | - | + + :::tip + When client credentials are created, the `Client Secret` is only shown once. Save this `Client Secret` somewhere safe. + ::: +4. Execute an authentication request to the token issuer: + ```bash + curl --request POST ${ZEEBE_AUTHORIZATION_SERVER_URL} \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data-urlencode 'grant_type=client_credentials' \ + --data-urlencode 'audience=optimize.camunda.io' \ + --data-urlencode "client_id=${ZEEBE_CLIENT_ID}" \ + --data-urlencode "client_secret=${ZEEBE_CLIENT_SECRET}" + ``` +5. A successful authentication response looks like the following: + ```json + { + "access_token": "", + "expires_in": 300, + "refresh_expires_in": 0, + "token_type": "Bearer", + "not-before-policy": 0 + } + ``` +6. Capture the value of the `access_token` property and store it as your token. + + + + + +1. [Configure the `api.audience` setting](/self-managed/optimize-deployment/configuration/system-configuration.md#public-api) in your Optimize installation to match the audience property of the **Optimize API** [API in Identity]($docs$/self-managed/identity/user-guide/additional-features/adding-an-api/). +2. [Add an M2M application in Identity]($docs$/self-managed/identity/user-guide/additional-features/incorporate-applications/). +3. [Add permissions to this application]($docs$/self-managed/identity/user-guide/additional-features/incorporate-applications/) for **Optimize API**. +4. Capture the `Client ID` and `Client Secret` from the application in Identity. +5. [Generate a token]($docs$/self-managed/identity/user-guide/authorizations/generating-m2m-tokens/) to access the REST API. Provide the `client_id` and `client_secret` from the values you previously captured in Identity. + ```shell + curl --location --request POST 'http://localhost:18080/auth/realms/camunda-platform/protocol/openid-connect/token' \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data-urlencode "client_id=${CLIENT_ID}" \ + --data-urlencode "client_secret=${CLIENT_SECRET}" \ + --data-urlencode 'grant_type=client_credentials' + ``` +6. A successful authentication response looks like the following: + ```json + { + "access_token": "", + "expires_in": 300, + "refresh_expires_in": 0, + "token_type": "Bearer", + "not-before-policy": 0 + } + ``` +7. Capture the value of the `access_token` property and store it as your token. + +:::note +The Optimize API can also be configured in a Self-Managed environment to authenticate with a single shared access token. Refer to [Public API Configuration](/self-managed/optimize-deployment/configuration/system-configuration.md#public-api) for the configuration required to access the public API using a specific token. +::: + + + + + +## Using a token + +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. + +For example, to send a request to the Optimize API's ["Get dashboard IDs" endpoint](./dashboard/get-dashboard-ids.md): + + + + + +:::tip +The `${CAMUNDA_TASKLIST_BASE_URL}` variable below represents the URL of the Optimize API. You can capture this URL when creating an API client. You can also construct it as `https://${REGION}.optimize.camunda.io/${CLUSTER_ID}`. +::: + + + + + +:::tip +The `${CAMUNDA_OPTIMIZE_BASE_URL}` variable below represents the URL of the Optimize API. You can configure this value in your Self-Managed installation. The default value is `http://localhost:8083`. +::: + + + + ```shell -curl -X POST --header 'content-type: application/json' --data '{"client_id": "", "client_secret":"","audience":"","grant_type":"client_credentials"}' https:// +curl --header "Authorization: Bearer ${TOKEN}" \ + -G --data-urlencode "collectionId=${COLLECTION_ID}" \ + ${CAMUNDA_OPTIMIZE_BASE_URL}/api/public/dashboard ``` -If the authentication is successful, the authentication server sends back the access token, when it expires, scope, and type: +A successful response includes [dashboard IDs](./dashboard/get-dashboard-ids.md). For example: ```json -{ - "access_token": "ey...", - "scope": "...", - "expires_in": 86400, - "token_type": "Bearer" -} +[ + { + "id": "11111111-1111-1111-1111-111111111111" + }, + { + "id": "22222222-2222-2222-2222-222222222222" + } +] ``` -## Use it in Postman +## Token expiration -Work with this API in our [Postman collection](https://www.postman.com/camundateam/workspace/camunda-8-postman/collection/24684262-a1103c05-7ed8-4fd4-8716-9005583ce23a?action=share&creator=26079299). +Access tokens expire according to the `expires_in` property of a successful authentication response. After this duration, in seconds, you must request a new access token. diff --git a/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/migration-update/instructions.md b/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/migration-update/instructions.md index 716d669b1cc..70d8601ea86 100644 --- a/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/migration-update/instructions.md +++ b/optimize_versioned_docs/version-3.13.0/self-managed/optimize-deployment/migration-update/instructions.md @@ -95,7 +95,9 @@ version: '2.4' services: optimize: - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:latest # For Camunda 7 command: ["./optimize.sh", "--upgrade"] ``` @@ -107,11 +109,15 @@ However, as this may prolong the container boot time significantly which may con spec: initContainers: - name: migration - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:latest # For Camunda 7 command: ['./upgrade/upgrade.sh', '--skip-warning'] containers: - name: optimize - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:7-latest # For Camunda 7 ``` ### 4. Resume a canceled update diff --git a/optimize_versioned_docs/version-3.7.0/self-managed/optimize-deployment/migration-update/instructions.md b/optimize_versioned_docs/version-3.7.0/self-managed/optimize-deployment/migration-update/instructions.md index 957b3fc492d..3dc82eca13b 100644 --- a/optimize_versioned_docs/version-3.7.0/self-managed/optimize-deployment/migration-update/instructions.md +++ b/optimize_versioned_docs/version-3.7.0/self-managed/optimize-deployment/migration-update/instructions.md @@ -95,7 +95,9 @@ version: '2.4' services: optimize: - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:latest # For Camunda 7 command: ["./optimize.sh", "--upgrade"] ``` @@ -107,11 +109,15 @@ However, as this may prolong the container boot time significantly which may con spec: initContainers: - name: migration - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:latest # For Camunda 7 command: ['./upgrade/upgrade.sh', '--skip-warning'] containers: - name: optimize - image: registry.camunda.cloud/optimize-ee/optimize:latest + # Use the appropriate image tag depending on your version + image: registry.camunda.cloud/optimize-ee/optimize:8-latest # For Camunda 8 + # image: registry.camunda.cloud/optimize-ee/optimize:7-latest # For Camunda 7 ``` ### 4. Resume a canceled update diff --git a/optimize_versioned_docs/version-3.7.0/self-managed/optimize-deployment/setup.md b/optimize_versioned_docs/version-3.7.0/self-managed/optimize-deployment/setup.md index 86301c7ec62..62caad66255 100644 --- a/optimize_versioned_docs/version-3.7.0/self-managed/optimize-deployment/setup.md +++ b/optimize_versioned_docs/version-3.7.0/self-managed/optimize-deployment/setup.md @@ -6,14 +6,14 @@ description: "Install and configure Optimize Self-Managed." ## Install using Docker -The `camunda/optimize:latest` Docker image can be used to run Optimize in Self-Managed as a container. Certain environment +The `camunda/optimize:8-latest` Docker image can be used to run Optimize in Self-Managed as a container. Certain environment variables need to be set for this to work correctly. See below for an example of how this could be done as part of a `docker-compose` file: ``` optimize: container_name: optimize - image: camunda/optimize:latest + image: camunda/optimize:8-latest ports: - 8090:8090 environment: diff --git a/optimize_versioned_sidebars/version-3.13.0-sidebars.json b/optimize_versioned_sidebars/version-3.13.0-sidebars.json index 07c8e151be0..d6a9dff919c 100644 --- a/optimize_versioned_sidebars/version-3.13.0-sidebars.json +++ b/optimize_versioned_sidebars/version-3.13.0-sidebars.json @@ -188,23 +188,8 @@ }, { "type": "link", - "label": "Rename your cluster", - "href": "/docs/components/console/manage-clusters/rename-cluster/" - }, - { - "type": "link", - "label": "Resume your cluster", - "href": "/docs/components/console/manage-clusters/resume-cluster/" - }, - { - "type": "link", - "label": "Update your cluster", - "href": "/docs/components/console/manage-clusters/update-cluster/" - }, - { - "type": "link", - "label": "Delete your cluster", - "href": "/docs/components/console/manage-clusters/delete-cluster/" + "label": "Manage your cluster", + "href": "/docs/components/console/manage-clusters/manage-cluster/" }, { "type": "link", diff --git a/sidebars.js b/sidebars.js index 76c0a3aca91..ad58f952616 100644 --- a/sidebars.js +++ b/sidebars.js @@ -76,6 +76,7 @@ module.exports = { "components/concepts/process-instance-modification", "components/concepts/process-instance-migration", "components/concepts/data-retention", + "components/concepts/encryption-at-rest", "components/concepts/outbound-connectors-job-workers", "components/concepts/backups", "components/concepts/resource-deletion", @@ -106,10 +107,7 @@ module.exports = { { "Manage clusters": [ "components/console/manage-clusters/create-cluster", - "components/console/manage-clusters/rename-cluster", - "components/console/manage-clusters/resume-cluster", - "components/console/manage-clusters/update-cluster", - "components/console/manage-clusters/delete-cluster", + "components/console/manage-clusters/manage-cluster", "components/console/manage-clusters/manage-api-clients", "components/console/manage-clusters/manage-alerts", "components/console/manage-clusters/manage-ip-allowlists", @@ -803,7 +801,7 @@ module.exports = { ], }, { - "Go client": [ + "Go client (Deprecated)": [ "apis-tools/go-client/index", "apis-tools/go-client/go-get-started", "apis-tools/go-client/job-worker", @@ -860,6 +858,18 @@ module.exports = { ], }, require("./docs/apis-tools/frontend-development/sidebar-schema"), + { + Testing: [ + { + "Camunda Process Test": [ + "apis-tools/testing/getting-started", + "apis-tools/testing/assertions", + "apis-tools/testing/utilities", + "apis-tools/testing/connectors", + ], + }, + ], + }, ], Reference: [ @@ -900,6 +910,7 @@ module.exports = { items: [ { Local: [ + "self-managed/setup/deploy/local/c8run", "self-managed/setup/deploy/local/local-kubernetes-cluster", "self-managed/setup/deploy/local/docker-compose", "self-managed/setup/deploy/local/manual", @@ -1458,7 +1469,7 @@ module.exports = { Troubleshooting: [ "self-managed/modeler/web-modeler/troubleshooting/troubleshoot-database-connection", "self-managed/modeler/web-modeler/troubleshooting/troubleshoot-zeebe-connection", - "self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login", + "self-managed/modeler/web-modeler/troubleshooting/troubleshoot-missing-data", ], }, ], diff --git a/src/css/custom.css b/src/css/custom.css index ba655981136..4de05c253f6 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -484,7 +484,7 @@ span.callout + p::after { /* Remove badges from sidebar */ a.table-of-contents__link.toc-highlight > span.badge { - visibility: hidden; + display: none; } /* hide tabs when needed */ diff --git a/static/.htaccess b/static/.htaccess index e5d003aabb4..3761251f230 100644 --- a/static/.htaccess +++ b/static/.htaccess @@ -6,6 +6,22 @@ RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L] # Disable directory listing and multi views Options -Indexes -MultiViews +# Remove rename, resume, update, and delete a cluster +RewriteRule ^docs/next/components/console/manage-clusters/rename-cluster/?$ /docs/next/components/console/manage-clusters/manage-cluster/$1 [R=301,L] +RewriteRule ^docs/next/components/console/manage-clusters/resume-cluster/?$ /docs/next/components/console/manage-clusters/manage-cluster/$1 [R=301,L] +RewriteRule ^docs/next/components/console/manage-clusters/update-cluster/?$ /docs/next/components/console/manage-clusters/manage-cluster/$1 [R=301,L] +RewriteRule ^docs/next/components/console/manage-clusters/delete-cluster/?$ /docs/next/components/console/manage-clusters/manage-cluster/$1 [R=301,L] + +RewriteRule ^docs/components/console/manage-clusters/rename-cluster/?$ /docs/components/console/manage-clusters/manage-cluster/$1 [R=301,L] +RewriteRule ^docs/components/console/manage-clusters/resume-cluster/?$ /docs/components/console/manage-clusters/manage-cluster/$1 [R=301,L] +RewriteRule ^docs/components/console/manage-clusters/update-cluster/?$ /docs/components/console/manage-clusters/manage-cluster/$1 [R=301,L] +RewriteRule ^docs/components/console/manage-clusters/delete-cluster/?$ /docs/components/console/manage-clusters/manage-cluster/$1 [R=301,L] + +RewriteRule ^docs/8.5/components/console/manage-clusters/rename-cluster/?$ /docs/8.5/components/console/manage-clusters/manage-cluster/$1 [R=301,L] +RewriteRule ^docs/8.5/components/console/manage-clusters/resume-cluster/?$ /docs/8.5/components/console/manage-clusters/manage-cluster/$1 [R=301,L] +RewriteRule ^docs/8.5/components/console/manage-clusters/update-cluster/?$ /docs/8.5/components/console/manage-clusters/manage-cluster/$1 [R=301,L] +RewriteRule ^docs/8.5/components/console/manage-clusters/delete-cluster/?$ /docs/8.5/components/console/manage-clusters/manage-cluster/$1 [R=301,L] + # Remove community-supported Spring Zeebe SDK RewriteRule ^docs/apis-tools/community-clients/spring/?$ /docs/apis-tools/spring-zeebe-sdk/getting-started/$1 [R=301,L] # Rename Console SM to Administration API (Self-Managed) diff --git a/versioned_docs/version-1.3/components/modeler/bpmn/message-events/message-events.md b/versioned_docs/version-1.3/components/modeler/bpmn/message-events/message-events.md index 2562577baf6..50540ebb1c3 100644 --- a/versioned_docs/version-1.3/components/modeler/bpmn/message-events/message-events.md +++ b/versioned_docs/version-1.3/components/modeler/bpmn/message-events/message-events.md @@ -16,14 +16,29 @@ When a process is deployed, it creates a message subscription for each message s When the message subscription is created, a message can be correlated to the start event if the message name matches. On correlating the message, a new process instance is created and the corresponding message start event is activated. +### Message correlation + +When the message subscription is created, a message can be correlated to the start event if the message name matches. On correlating the message, a new process instance is created and the corresponding message start event is activated. + Messages are **not** correlated if they were published before the process was deployed or if a new version of the process is deployed without a proper start event. -The `correlationKey` of a published message can be used to control the process instance creation. If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +The `correlationKey` of a published message can be used to control the process instance creation. -When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (i.e. TTL > 0), this message is correlated and a new instance of the latest version of the process is created. +- If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +- When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (that is, TTL > 0), this message is correlated and a new instance of the latest version of the process is created. If the `correlationKey` of a message is empty, it creates a new process instance and does not check if an instance is already active. +:::note + +You do not specify a `correlationKey` for a message start event in the BPMN model when designing a process. + +- When an application sends a message that is caught by a message start event, the application can specify a `correlationKey` in the message. +- If a message caught by a start event contains a `correlationKey` value, the created process is tagged with that `correlationKey` value. +- Follow-up messages are then checked against this `correlationKey` value (that is, is there an active process instance that was started by a message with the same `correlationKey`?). + +::: + ## Intermediate message catch events When an intermediate message catch event is entered, a corresponding message subscription is created. The process instance stops at this point and waits until the message is correlated. When a message is correlated, the catch event is completed and the process instance continues. diff --git a/versioned_docs/version-1.3/components/modeler/desktop-modeler/flags/flags.md b/versioned_docs/version-1.3/components/modeler/desktop-modeler/flags/flags.md index a9689daa538..a27ae2c74bb 100644 --- a/versioned_docs/version-1.3/components/modeler/desktop-modeler/flags/flags.md +++ b/versioned_docs/version-1.3/components/modeler/desktop-modeler/flags/flags.md @@ -4,6 +4,9 @@ title: Flags description: "Flags allow you to control the availability of certain features within the desktop modeler." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + Flags allow you to control the availability of certain features within the desktop modeler. ## Configuring Flags @@ -18,10 +21,39 @@ Place a `flags.json` file inside the `resources` folder of your local [`{USER_DA Pass flags via the command line when starting the application. + + + + +```plain +"Camunda Modeler.exe" --disable-plugins +``` + + + + + +```plain +camunda-modeler --disable-plugins ``` + + + + + +```plain camunda-modeler --disable-plugins ``` + + + Flags passed as command line arguments take precedence over those configured via a configuration file. diff --git a/versioned_docs/version-8.2/apis-tools/java-client-examples/cluster-topology-request.md b/versioned_docs/version-8.2/apis-tools/java-client-examples/cluster-topology-request.md index 8c3e2f4761c..c38a21a2e6b 100644 --- a/versioned_docs/version-8.2/apis-tools/java-client-examples/cluster-topology-request.md +++ b/versioned_docs/version-8.2/apis-tools/java-client-examples/cluster-topology-request.md @@ -15,7 +15,6 @@ Run Zeebe broker with endpoint `localhost:26500` (default). ## TopologyViewer.java -/tree/main/zeebe-client-plain-java [Source on GitHub](https://github.com/camunda-community-hub/camunda-8-examples/blob/main/zeebe-client-plain-java/src/main/java/io/camunda/zeebe/example/cluster/TopologyViewer.java) ```java diff --git a/versioned_docs/version-8.2/components/concepts/encryption-at-rest.md b/versioned_docs/version-8.2/components/concepts/encryption-at-rest.md new file mode 100644 index 00000000000..22f38e0ea53 --- /dev/null +++ b/versioned_docs/version-8.2/components/concepts/encryption-at-rest.md @@ -0,0 +1,72 @@ +--- +id: encryption-at-rest +title: "Encryption at rest" +description: "Camunda 8 SaaS cluster data at rest is protected using Google Cloud Platform (GCP) encryption with a provider-managed encryption key." +keywords: + [ + "encryption", + "encryption at rest", + "encryption key", + "provider key", + "software key", + "hardware key", + ] +--- + +Camunda 8 SaaS only + +Camunda 8 SaaS cluster data is encrypted at rest to provide security and protection for your data. + +## Overview + +By default, Camunda 8 SaaS cluster data at rest is protected with a provider-managed encryption key using [Google Cloud Platform (GCP) encryption](https://cloud.google.com/docs/security/encryption/default-encryption). The encryption key is owned and managed by GCP. + +Enterprise customers requiring a higher level of protection can select a dedicated Camunda-managed software or hardware (HSM) encryption key when creating a new cluster. The encryption key is managed by Camunda using Google Cloud Key Management Service (KMS). + +- You can only select the encryption type when [creating a cluster](/components/console/manage-clusters/create-cluster.md). You cannot change the encryption type after cluster creation. +- You can configure encryption keys on a per-cluster basis so that each cluster has a dedicated encryption key. Encryption keys can be configured for all cluster versions. +- You can view cluster encryption key details in **Cluster Details** on the **Console Overview** tab. + +:::note +Backups use the default provider GCP encryption. +::: + +### Encryption types + +The following table summarizes the available types of cluster encryption at rest. + +| Encryption type | Managed by | Protection level | +| :-------------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Provider encryption key (default) | Google | Google uses a [FIPS 140-2](https://cloud.google.com/security/compliance/fips-140-2-validated) validated encryption module (certificate 4407) in our production environment. | +| Software encryption key | Camunda |

    • Google KMS [software](https://cloud.google.com/docs/security/key-management-deep-dive#software_backend_software_protection_level) protection level.

    • Cryptographic operations are performed in software.
    • Compliant with [FIPS 140-2 Level 1](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).

    | +| Hardware encryption key | Camunda |

    • Google KMS [hardware](https://cloud.google.com/docs/security/key-management-deep-dive#backend_hardware_protection_level) protection level.

    • Cryptographic operations are performed in a hardware security module (HSM).
    • Compliant with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).

    | + +## Provider encryption key (default) + +By default, Camunda 8 SaaS cluster data at rest is protected using GCP encryption. + +- Provider encryption keys are owned and managed by GCP. +- Google uses a [FIPS 140-2](https://cloud.google.com/security/compliance/fips-140-2-validated) validated encryption module. + +:::info +Learn more about [Google default encryption at rest](https://cloud.google.com/docs/security/encryption/default-encryption) and default provider encryption settings. +::: + +## Camunda-managed software encryption key + +Camunda-managed software encryption keys use the Google KMS [software](https://cloud.google.com/docs/security/key-management-deep-dive#software_backend_software_protection_level) protection level to provide a higher level of protection than default provider encryption. + +- Requires an enterprise plan. +- Software encryption keys are managed by Camunda. +- Software encryption keys are compliant with [FIPS 140-2 Level 1](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation). +- Cryptographic operations are performed in software. +- Rotated with zero downtime for security and compliance. + +## Camunda-managed hardware encryption key + +Camunda-managed hardware encryption keys use the Google KMS [hardware](https://cloud.google.com/docs/security/key-management-deep-dive#backend_hardware_protection_level) protection level to provide a higher level of protection than both default provider encryption and Camunda-managed software encryption keys. + +- Requires an enterprise plan. +- Hardware encryption keys are managed by Camunda. +- Hardware encryption keys are compliant with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation). +- Rotated with zero downtime for security and compliance. diff --git a/versioned_docs/version-8.2/components/modeler/bpmn/message-events/message-events.md b/versioned_docs/version-8.2/components/modeler/bpmn/message-events/message-events.md index 22321a45e65..a0b92984839 100644 --- a/versioned_docs/version-8.2/components/modeler/bpmn/message-events/message-events.md +++ b/versioned_docs/version-8.2/components/modeler/bpmn/message-events/message-events.md @@ -14,16 +14,29 @@ A process can have one or more message start events (besides other types of star When a process is deployed, it creates a message subscription for each message start event. Message subscriptions of the previous version of the process (based on the BPMN process id) are closed. +### Message correlation + When the message subscription is created, a message can be correlated to the start event if the message name matches. On correlating the message, a new process instance is created and the corresponding message start event is activated. Messages are **not** correlated if they were published before the process was deployed or if a new version of the process is deployed without a proper start event. -The `correlationKey` of a published message can be used to control the process instance creation. If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. +The `correlationKey` of a published message can be used to control the process instance creation. -When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (i.e. TTL > 0), this message is correlated and a new instance of the latest version of the process is created. +- If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +- When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (that is, TTL > 0), this message is correlated and a new instance of the latest version of the process is created. If the `correlationKey` of a message is empty, it creates a new process instance and does not check if an instance is already active. +:::note + +You do not specify a `correlationKey` for a message start event in the BPMN model when designing a process. + +- When an application sends a message that is caught by a message start event, the application can specify a `correlationKey` in the message. +- If a message caught by a start event contains a `correlationKey` value, the created process is tagged with that `correlationKey` value. +- Follow-up messages are then checked against this `correlationKey` value (that is, is there an active process instance that was started by a message with the same `correlationKey`?). + +::: + ## Intermediate message catch events When an intermediate message catch event is entered, a corresponding message subscription is created. The process instance stops at this point and waits until the message is correlated. When a message is correlated, the catch event is completed and the process instance continues. diff --git a/versioned_docs/version-8.2/components/modeler/desktop-modeler/flags/flags.md b/versioned_docs/version-8.2/components/modeler/desktop-modeler/flags/flags.md index 1888c3d147f..4d918d1b5f2 100644 --- a/versioned_docs/version-8.2/components/modeler/desktop-modeler/flags/flags.md +++ b/versioned_docs/version-8.2/components/modeler/desktop-modeler/flags/flags.md @@ -4,6 +4,9 @@ title: Flags description: "Flags allow you to control the availability of certain features within Desktop Modeler." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + Flags allow you to control the availability of certain features within Desktop Modeler. ## Configuring Flags @@ -18,10 +21,39 @@ Place a `flags.json` file inside the `resources` folder of your local [`{USER_DA Pass flags via the command line when starting the application. + + + + +```plain +"Camunda Modeler.exe" --disable-plugins +``` + + + + + +```plain +camunda-modeler --disable-plugins ``` + + + + + +```plain camunda-modeler --disable-plugins ``` + + + Flags passed as command line arguments take precedence over those configured via a configuration file. ## Available Flags diff --git a/versioned_docs/version-8.2/components/modeler/desktop-modeler/troubleshooting.md b/versioned_docs/version-8.2/components/modeler/desktop-modeler/troubleshooting.md index 5b444ec9a3e..5ff8f6149ab 100644 --- a/versioned_docs/version-8.2/components/modeler/desktop-modeler/troubleshooting.md +++ b/versioned_docs/version-8.2/components/modeler/desktop-modeler/troubleshooting.md @@ -138,10 +138,39 @@ SSL-Session: You can also start Desktop Modeler with gRPC logging turned on to get detailed [logging output](#how-to-obtain-desktop-modeler-logs) on communication to Zeebe: -```sh + + + + +```plain +set DEBUG=* && set ZEEBE_NODE_LOG_LEVEL=DEBUG && set GRPC_VERBOSITY=DEBUG && set GRPC_TRACE=all && "Camunda Modeler.exe" +``` + + + + + +```plain DEBUG=* ZEEBE_NODE_LOG_LEVEL=DEBUG GRPC_VERBOSITY=DEBUG GRPC_TRACE=all camunda-modeler ``` + + + + +```plain +DEBUG=* ZEEBE_NODE_LOG_LEVEL=DEBUG GRPC_VERBOSITY=DEBUG GRPC_TRACE=all camunda-modeler +``` + + + + ## Other questions? Head over to the [Modeler category on the forum](https://forum.camunda.io/c/modeler/6) to receive help from the community. diff --git a/versioned_docs/version-8.2/reference/alpha-features.md b/versioned_docs/version-8.2/reference/alpha-features.md index bcb723daee4..54f5ad2da23 100644 --- a/versioned_docs/version-8.2/reference/alpha-features.md +++ b/versioned_docs/version-8.2/reference/alpha-features.md @@ -5,43 +5,49 @@ sidebar_label: Alpha features description: "Use alpha features to learn about upcoming changes, try them out, and share feedback." --- -Use alpha features to learn about upcoming changes, try them out, and share feedback. +You can use alpha features to learn about upcoming changes, try them out, and share feedback. -### Alpha +:::info +To understand the difference between an alpha feature and an alpha release, see [alpha features and releases](/reference/release-policy.md#alpha-features-and-releases). +::: + +## Alpha -Selected Camunda features and components are released as alpha versions. We release them in an early state for you to test and participate in development by sharing your feedback before they reach general availability (GA). +Selected Camunda features and components are released as **alpha** versions. We release these in an early state for you to test and participate in development by sharing your feedback before they reach [general availability (GA)](#general-availability-ga). -Characteristics of alpha features and components include: +Limitations of alpha features and components include: - Not for production use. - APIs, dependencies, and configuration are likely to change. - Not necessarily feature-complete. - Might lack full documentation. - No guaranteed updates to newer releases. -- Support based on SLAs agreed with you, but bugs are treated with the same priority as feature or help requests. +- Support based on SLAs agreed with you, but bugs are treated with the same priority as feature or help requests. See [Camunda Enterprise Support Guide](https://docs.camunda.org/enterprise/support/). - No maintenance service. - (SaaS) No availability targets. - Released outside the standard [release policy](/reference/release-policy.md). +To learn more about using alpha features, see [enabling alpha features](/components/console/manage-organization/enable-alpha-features.md). + :::note -While there is no maintenance service, customers can still provide feedback through designated support channels, depending on their SLAs. These channels include filing issues in the respective [GitHub repositories](https://github.com/camunda) and by submitting questions and suggestions by [contacting us](/contact). +- Alpha features can also be included in a minor version (stable) release. +- Although there is no maintenance service, customers can still provide feedback through designated support channels, depending on their SLAs. These channels include filing issues in the respective [GitHub repositories](https://github.com/camunda) and submitting questions and suggestions by [contacting us](/contact). ::: -Visit our documentation on [enabling alpha features](/components/console/manage-organization/enable-alpha-features.md) to learn more. - -### General availability (GA) +## General availability (GA) Once features and components are released and considered stable, they become generally available. -Characteristics include: +Stable features and components are: -- Allowed for production use. -- Fully documented and supported. +- Ready for production use for most users with minimal risk. +- Supported by [L1 Priority-level support](https://docs.camunda.org/enterprise/support/#priority-level) for production use. +- Fully documented. -:::note - -There are also alpha releases with **limited availability**, such as features that are only available to enterprise customers. +A release or component is considered stable if it has passed all verification and test stages and can be released to production. +:::note +Alpha releases can also have **limited availability**, such as features that are only available to enterprise customers. ::: diff --git a/versioned_docs/version-8.2/reference/dependencies.md b/versioned_docs/version-8.2/reference/dependencies.md index 0708b980c38..e50ed83a51b 100644 --- a/versioned_docs/version-8.2/reference/dependencies.md +++ b/versioned_docs/version-8.2/reference/dependencies.md @@ -1764,917 +1764,9 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t -### Web Modeler Dependencies (webapp) +- **Dependencies:** SBOM CycloneDX files with up-to-date lists of third party libraries used and their licenses can be requested [on demand](mailto:dependency-request@camunda.com). +- **Source code:** Access to source code is provided [on demand](mailto:dependency-request@camunda.com). -- [@ampproject/remapping@2.2.1](https://github.com/ampproject/remapping) (Apache-2.0) -- [@auth0/auth0-spa-js@2.0.4](https://github.com/auth0/auth0-spa-js) (MIT) -- [@babel/code-frame@7.23.5](https://github.com/babel/babel) (MIT) -- [@babel/compat-data@7.23.5](https://github.com/babel/babel) (MIT) -- [@babel/core@7.21.3](https://github.com/babel/babel) (MIT) -- [@babel/generator@7.23.6](https://github.com/babel/babel) (MIT) -- [@babel/helper-annotate-as-pure@7.22.5](https://github.com/babel/babel) (MIT) -- [@babel/helper-compilation-targets@7.23.6](https://github.com/babel/babel) (MIT) -- [@babel/helper-environment-visitor@7.22.20](https://github.com/babel/babel) (MIT) -- [@babel/helper-function-name@7.23.0](https://github.com/babel/babel) (MIT) -- [@babel/helper-hoist-variables@7.22.5](https://github.com/babel/babel) (MIT) -- [@babel/helper-module-imports@7.22.15](https://github.com/babel/babel) (MIT) -- [@babel/helper-module-transforms@7.23.3](https://github.com/babel/babel) (MIT) -- [@babel/helper-plugin-utils@7.22.5](https://github.com/babel/babel) (MIT) -- [@babel/helper-simple-access@7.22.5](https://github.com/babel/babel) (MIT) -- [@babel/helper-split-export-declaration@7.22.6](https://github.com/babel/babel) (MIT) -- [@babel/helper-string-parser@7.23.4](https://github.com/babel/babel) (MIT) -- [@babel/helper-validator-identifier@7.22.20](https://github.com/babel/babel) (MIT) -- [@babel/helper-validator-option@7.23.5](https://github.com/babel/babel) (MIT) -- [@babel/helpers@7.23.7](https://github.com/babel/babel) (MIT) -- [@babel/highlight@7.23.4](https://github.com/babel/babel) (MIT) -- [@babel/parser@7.23.6](https://github.com/babel/babel) (MIT) -- [@babel/runtime@7.23.6](https://github.com/babel/babel) (MIT) -- [@babel/template@7.22.15](https://github.com/babel/babel) (MIT) -- [@babel/traverse@7.23.7](https://github.com/babel/babel) (MIT) -- [@babel/types@7.23.6](https://github.com/babel/babel) (MIT) -- [@bpmn-io/add-exporter@0.2.0](https://github.com/bpmn-io/add-exporter) (MIT) -- [@bpmn-io/align-to-origin@0.7.0](https://github.com/bpmn-io/align-to-origin) (MIT) -- [@bpmn-io/cm-theme@0.1.0-alpha.2](https://www.npmjs.com/package/@bpmn-io/cm-theme@0.1.0-alpha.2) (MIT) -- [@bpmn-io/diagram-js-ui@0.2.2](https://github.com/bpmn-io/diagram-js-ui) (MIT) -- [@bpmn-io/dmn-variable-resolver@0.4.0](https://www.npmjs.com/package/@bpmn-io/dmn-variable-resolver@0.4.0) (MIT) -- [@bpmn-io/element-template-chooser@1.0.0](https://github.com/bpmn-io/element-template-chooser) (MIT) -- [@bpmn-io/element-templates-icons-renderer@0.3.0](https://github.com/bpmn-io/element-templates-icons-renderer) (MIT) -- [@bpmn-io/element-templates-validator@0.13.0](https://github.com/bpmn-io/element-templates-validator) (MIT) -- [@bpmn-io/element-templates-validator@0.15.0](https://github.com/bpmn-io/element-templates-validator) (MIT) -- [@bpmn-io/extract-process-variables@0.8.0](https://github.com/bpmn-io/extract-process-variables) (MIT) -- [@bpmn-io/feel-editor@0.7.1](https://github.com/bpmn-io/feel-editor) (MIT) -- [@bpmn-io/feel-editor@1.1.0](https://github.com/bpmn-io/feel-editor) (MIT) -- [@bpmn-io/feel-lint@0.1.1](https://github.com/bpmn-io/feel-linter) (MIT) -- [@bpmn-io/feel-lint@1.1.0](https://github.com/bpmn-io/feel-linter) (MIT) -- [@bpmn-io/form-js-editor@0.13.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-playground@0.13.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-viewer@0.13.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js@0.13.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/moddle-utils@0.1.0](https://github.com/bpmn-io/moddle-utils) (MIT) -- [@bpmn-io/properties-panel@1.7.0](https://github.com/bpmn-io/properties-panel) (MIT) -- [@bpmn-io/replace-ids@0.2.0](https://github.com/bpmn-io/replace-ids) (MIT) -- [@bpmn-io/variable-resolver@0.1.3](https://www.npmjs.com/package/@bpmn-io/variable-resolver@0.1.3) (MIT) -- [@camunda/camunda-composite-components@0.0.34](https://www.npmjs.com/package/@camunda/camunda-composite-components@0.0.34) (Apache-2.0) -- [@camunda/element-templates-json-schema@0.12.1](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@camunda/example-data-properties-provider@1.2.0](https://www.npmjs.com/package/@camunda/example-data-properties-provider@1.2.0) (MIT) -- [@camunda/execution-platform@0.3.2](https://github.com/camunda/execution-platform) (MIT) -- [@camunda/form-linting@0.6.1](https://www.npmjs.com/package/@camunda/form-linting@0.6.1) (MIT) -- [@camunda/form-playground@0.5.2](https://github.com/camunda/form-playground) (MIT) -- [@camunda/linting@1.0.0](https://github.com/camunda/linting) (MIT) -- [@camunda/zeebe-element-templates-json-schema@0.10.0](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@camunda/zeebe-element-templates-json-schema@0.8.0](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@carbon/colors@11.20.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/feature-flags@0.13.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/feature-flags@0.16.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/grid@11.21.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icon-helpers@10.45.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icons-react@11.17.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/layout@11.20.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/motion@11.16.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/react@1.24.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/styles@1.46.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/telemetry@0.1.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/themes@11.28.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/type@11.25.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@codemirror/autocomplete@6.11.1](https://github.com/codemirror/autocomplete) (MIT) -- [@codemirror/commands@6.3.3](https://github.com/codemirror/commands) (MIT) -- [@codemirror/lang-json@6.0.1](https://github.com/codemirror/lang-json) (MIT) -- [@codemirror/language@6.10.0](https://github.com/codemirror/language) (MIT) -- [@codemirror/lint@6.4.2](https://github.com/codemirror/lint) (MIT) -- [@codemirror/search@6.5.5](https://github.com/codemirror/search) (MIT) -- [@codemirror/state@6.4.0](https://github.com/codemirror/state) (MIT) -- [@codemirror/view@6.23.0](https://github.com/codemirror/view) (MIT) -- [@colors/colors@1.5.0](https://github.com/DABH/colors.js) (MIT) -- [@colors/colors@1.6.0](https://github.com/DABH/colors.js) (MIT) -- [@dabh/diagnostics@2.0.3](https://github.com/3rd-Eden/diagnostics) (MIT) -- [@emotion/is-prop-valid@1.2.1](https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid) (MIT) -- [@emotion/memoize@0.8.1](https://github.com/emotion-js/emotion/tree/main/packages/memoize) (MIT) -- [@emotion/stylis@0.8.5](https://github.com/emotion-js/emotion/tree/master/packages/stylis) (MIT) -- [@emotion/unitless@0.7.5](https://github.com/emotion-js/emotion/tree/master/packages/unitless) (MIT) -- [@hapi/hoek@9.3.0](https://github.com/hapijs/hoek) (BSD-3-Clause) -- [@hapi/topo@5.1.0](https://github.com/hapijs/topo) (BSD-3-Clause) -- [@ibm/plex@6.0.0-next.6](https://github.com/ibm/plex) (OFL-1.1) -- [@istanbuljs/load-nyc-config@1.1.0](https://github.com/istanbuljs/load-nyc-config) (ISC) -- [@istanbuljs/schema@0.1.3](https://github.com/istanbuljs/schema) (MIT) -- [@jridgewell/gen-mapping@0.3.5](https://github.com/jridgewell/gen-mapping) (MIT) -- [@jridgewell/resolve-uri@3.1.1](https://github.com/jridgewell/resolve-uri) (MIT) -- [@jridgewell/set-array@1.2.1](https://github.com/jridgewell/set-array) (MIT) -- [@jridgewell/source-map@0.3.6](https://github.com/jridgewell/source-map) (MIT) -- [@jridgewell/sourcemap-codec@1.4.15](https://github.com/jridgewell/sourcemap-codec) (MIT) -- [@jridgewell/trace-mapping@0.3.25](https://github.com/jridgewell/trace-mapping) (MIT) -- [@lezer/common@1.2.0](https://github.com/lezer-parser/common) (MIT) -- [@lezer/highlight@1.2.0](https://github.com/lezer-parser/highlight) (MIT) -- [@lezer/json@1.0.2](https://github.com/lezer-parser/json) (MIT) -- [@lezer/lr@1.3.14](https://github.com/lezer-parser/lr) (MIT) -- [@lezer/markdown@1.2.0](https://github.com/lezer-parser/markdown) (MIT) -- [@monaco-editor/loader@1.4.0](https://github.com/suren-atoyan/monaco-loader) (MIT) -- [@monaco-editor/react@4.4.6](https://github.com/suren-atoyan/monaco-react) (MIT) -- [@sentry/browser@7.43.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/core@7.43.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/node@7.43.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/replay@7.43.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/types@7.43.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/utils@7.43.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sideway/address@4.1.4](https://github.com/sideway/address) (BSD-3-Clause) -- [@sideway/formula@3.0.1](https://github.com/sideway/formula) (BSD-3-Clause) -- [@sideway/pinpoint@2.0.0](https://github.com/sideway/pinpoint) (BSD-3-Clause) -- [@types/accepts@1.3.7](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/body-parser@1.19.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/co-body@6.1.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/connect@3.4.38](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/content-disposition@0.5.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/cookies@0.7.10](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/eslint-scope@3.7.7](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/eslint@8.56.0](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/estree@1.0.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/express-serve-static-core@4.17.41](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/express@4.17.21](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/formidable@2.0.6](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/http-assert@1.5.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/http-errors@2.0.4](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/json-schema@7.0.15](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/keygrip@1.0.6](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/koa-compose@3.2.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/koa@2.13.12](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/mime@1.3.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/node-fetch@2.6.9](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/node@20.10.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/offscreencanvas@2019.7.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/qs@6.9.10](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/raf@3.4.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/range-parser@1.2.7](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/send@0.17.4](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/serve-static@1.15.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/triple-beam@1.3.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@webassemblyjs/ast@1.12.1](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/floating-point-hex-parser@1.11.6](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/helper-api-error@1.11.6](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/helper-buffer@1.12.1](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/helper-numbers@1.11.6](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/helper-wasm-bytecode@1.11.6](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/helper-wasm-section@1.12.1](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/ieee754@1.11.6](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/leb128@1.11.6](https://github.com/xtuc/webassemblyjs) (Apache-2.0) -- [@webassemblyjs/utf8@1.11.6](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/wasm-edit@1.12.1](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/wasm-gen@1.12.1](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/wasm-opt@1.12.1](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/wasm-parser@1.12.1](https://github.com/xtuc/webassemblyjs) (MIT) -- [@webassemblyjs/wast-printer@1.12.1](https://github.com/xtuc/webassemblyjs) (MIT) -- [@xtuc/ieee754@1.2.0](https://github.com/feross/ieee754) (BSD-3-Clause) -- [@xtuc/long@4.2.2](https://github.com/dcodeIO/long.js) (Apache-2.0) -- [abort-controller@3.0.0](https://github.com/mysticatea/abort-controller) (MIT) -- [accepts@1.3.8](https://github.com/jshttp/accepts) (MIT) -- [acorn-import-assertions@1.9.0](https://github.com/xtuc/acorn-import-assertions) (MIT) -- [acorn@8.11.2](https://github.com/acornjs/acorn) (MIT) -- [agent-base@6.0.2](https://github.com/TooTallNate/node-agent-base) (MIT) -- [ajv-formats@2.1.1](https://github.com/ajv-validator/ajv-formats) (MIT) -- [ajv-keywords@3.5.2](https://github.com/epoberezkin/ajv-keywords) (MIT) -- [ajv-keywords@5.1.0](https://github.com/epoberezkin/ajv-keywords) (MIT) -- [ajv@6.12.6](https://github.com/ajv-validator/ajv) (MIT) -- [ajv@8.12.0](https://github.com/ajv-validator/ajv) (MIT) -- [ansi-colors@4.1.3](https://github.com/doowb/ansi-colors) (MIT) -- [ansi-styles@3.2.1](https://github.com/chalk/ansi-styles) (MIT) -- [any-promise@1.3.0](https://github.com/kevinbeaty/any-promise) (MIT) -- [anymatch@3.1.3](https://github.com/micromatch/anymatch) (ISC) -- [argparse@1.0.10](https://github.com/nodeca/argparse) (MIT) -- [array-move@3.0.1](https://github.com/sindresorhus/array-move) (MIT) -- [asap@2.0.6](https://github.com/kriskowal/asap) (MIT) -- [async@3.2.5](https://github.com/caolan/async) (MIT) -- [asynckit@0.4.0](https://github.com/alexindigo/asynckit) (MIT) -- [atoa@1.0.0](https://github.com/bevacqua/atoa) (MIT) -- [axios@1.7.4](https://github.com/axios/axios) (MIT) -- [babel-loader@9.1.2](https://github.com/babel/babel-loader) (MIT) -- [babel-plugin-istanbul@6.1.1](https://github.com/istanbuljs/babel-plugin-istanbul) (BSD-3-Clause) -- [babel-plugin-styled-components@2.0.7](https://github.com/styled-components/babel-plugin-styled-components) (MIT) -- [babel-plugin-syntax-jsx@6.18.0](https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-jsx) (MIT) -- [balanced-match@1.0.2](https://github.com/juliangruber/balanced-match) (MIT) -- [base64-js@1.5.1](https://github.com/beatgammit/base64-js) (MIT) -- [big.js@6.2.1](https://github.com/MikeMcl/big.js) (MIT) -- [binary-extensions@2.2.0](https://github.com/sindresorhus/binary-extensions) (MIT) -- [bintrees@1.0.2](https://github.com/vadimg/js_bintrees) (MIT) -- [bpmn-js-color-picker@0.5.0](https://github.com/bpmn-io/bpmn-js-color-picker) (MIT) -- [bpmn-js-create-append-anything@0.1.0](https://github.com/bpmn-io/bpmn-js-create-append-anything) (MIT) -- [bpmn-js-disable-collapsed-subprocess@0.1.7](https://github.com/bpmn-io/bpmn-js-disable-collapsed-subprocess) (MIT) -- [bpmn-js-executable-fix@0.2.0](https://github.com/bpmn-io/bpmn-js-executable-fix) (MIT) -- [bpmn-js-properties-panel@1.20.3](https://github.com/bpmn-io/bpmn-js-properties-panel) (MIT) -- [bpmn-js-token-simulation@0.31.0](https://github.com/bpmn-io/bpmn-js-token-simulation) (MIT) -- [bpmn-js@12.0.0](https://github.com/bpmn-io/bpmn-js) (MIT\*) -- [bpmn-moddle@7.1.3](https://github.com/bpmn-io/bpmn-moddle) (MIT) -- [bpmn-moddle@8.0.1](https://github.com/bpmn-io/bpmn-moddle) (MIT) -- [bpmnlint-plugin-camunda-compat@1.4.0](https://github.com/camunda/bpmnlint-plugin-camunda-compat) (MIT) -- [bpmnlint-utils@1.1.1](https://github.com/bpmn-io/bpmnlint-utils) (MIT) -- [bpmnlint@8.2.0](https://github.com/bpmn-io/bpmnlint) (MIT) -- [brace-expansion@1.1.11](https://github.com/juliangruber/brace-expansion) (MIT) -- [braces@3.0.3](https://github.com/micromatch/braces) (MIT) -- [browserslist@4.22.2](https://github.com/browserslist/browserslist) (MIT) -- [buffer-from@1.1.2](https://github.com/LinusU/buffer-from) (MIT) -- [bytes@3.1.2](https://github.com/visionmedia/bytes.js) (MIT) -- [cache-content-type@1.0.1](https://github.com/node-modules/cache-content-type) (MIT) -- [call-bind@1.0.5](https://github.com/ljharb/call-bind) (MIT) -- [camelcase@5.3.1](https://github.com/sindresorhus/camelcase) (MIT) -- [camelize@1.0.1](https://github.com/ljharb/camelize) (MIT) -- [camunda-bpmn-js-behaviors@0.5.0](https://github.com/camunda/camunda-bpmn-js-behaviors) (MIT) -- [camunda-bpmn-js-behaviors@1.2.2](https://github.com/camunda/camunda-bpmn-js-behaviors) (MIT) -- [camunda-bpmn-js@2.1.1](https://github.com/camunda/camunda-bpmn-js) (MIT) -- [camunda-bpmn-moddle@7.0.1](https://github.com/camunda/camunda-bpmn-moddle) (MIT) -- [camunda-dmn-js@0.10.0](https://github.com/camunda/camunda-dmn-js) (MIT) -- [camunda-dmn-moddle@1.2.0](https://github.com/camunda/camunda-dmn-moddle) (MIT) -- [caniuse-lite@1.0.30001570](https://github.com/browserslist/caniuse-lite) (CC-BY-4.0) -- [canvg@4.0.1](https://github.com/canvg/canvg) (MIT) -- [chalk@2.4.2](https://github.com/chalk/chalk) (MIT) -- [chokidar@3.5.3](https://github.com/paulmillr/chokidar) (MIT) -- [chrome-trace-event@1.0.3](https://github.com/samccone/chrome-trace-event) (MIT) -- [classnames@2.3.2](https://github.com/JedWatson/classnames) (MIT) -- [cli-table@0.3.11](https://github.com/Automattic/cli-table) (MIT\*) -- [clsx@1.2.1](https://github.com/lukeed/clsx) (MIT) -- [clsx@2.1.0](https://github.com/lukeed/clsx) (MIT) -- [co-body@6.1.0](https://github.com/cojs/co-body) (MIT) -- [co@4.6.0](https://github.com/tj/co) (MIT) -- [codemirror@6.0.1](https://github.com/codemirror/basic-setup) (MIT) -- [color-convert@1.9.3](https://github.com/Qix-/color-convert) (MIT) -- [color-convert@2.0.1](https://github.com/Qix-/color-convert) (MIT) -- [color-name@1.1.3](https://github.com/dfcreative/color-name) (MIT) -- [color-name@1.1.4](https://github.com/colorjs/color-name) (MIT) -- [color-string@1.9.1](https://github.com/Qix-/color-string) (MIT) -- [color-support@1.1.3](https://github.com/isaacs/color-support) (ISC) -- [color@3.2.1](https://github.com/Qix-/color) (MIT) -- [color@4.2.3](https://github.com/Qix-/color) (MIT) -- [colors@1.0.3](https://github.com/Marak/colors.js) (MIT) -- [colorspace@1.1.4](https://github.com/3rd-Eden/colorspace) (MIT) -- [combined-stream@1.0.8](https://github.com/felixge/node-combined-stream) (MIT) -- [commander@2.20.3](https://github.com/tj/commander.js) (MIT) -- [commander@9.5.0](https://github.com/tj/commander.js) (MIT) -- [commondir@1.0.1](https://github.com/substack/node-commondir) (MIT) -- [component-event@0.1.4](https://github.com/component/event) (MIT\*) -- [component-event@0.2.1](https://github.com/component/event) (MIT) -- [component-props@1.1.1](https://github.com/component/props) (MIT\*) -- [component-xor@0.0.4](https://github.com/component/xor) (MIT) -- [compressible@2.0.18](https://github.com/jshttp/compressible) (MIT) -- [compute-scroll-into-view@1.0.20](https://github.com/scroll-into-view/compute-scroll-into-view) (MIT) -- [concat-map@0.0.1](https://github.com/substack/node-concat-map) (MIT) -- [content-disposition@0.5.4](https://github.com/jshttp/content-disposition) (MIT) -- [content-type@1.0.5](https://github.com/jshttp/content-type) (MIT) -- [contra@1.9.4](https://github.com/bevacqua/contra) (MIT) -- [convert-source-map@1.9.0](https://github.com/thlorenz/convert-source-map) (MIT) -- [cookie@0.4.2](https://github.com/jshttp/cookie) (MIT) -- [cookies@0.8.0](https://github.com/pillarjs/cookies) (MIT) -- [copy-to-clipboard@3.3.3](https://github.com/sudodoki/copy-to-clipboard) (MIT) -- [core-js@3.29.1](https://github.com/zloirock/core-js) (MIT) -- [crelt@1.0.6](https://github.com/marijnh/crelt) (MIT) -- [crossvent@1.5.5](https://github.com/bevacqua/crossvent) (MIT) -- [css-color-keywords@1.0.0](https://github.com/sonicdoe/css-color-keywords) (ISC) -- [css-to-react-native@3.2.0](https://github.com/styled-components/css-to-react-native) (MIT) -- [css.escape@1.5.1](https://github.com/mathiasbynens/CSS.escape) (MIT) -- [custom-event@1.0.1](https://github.com/webmodules/custom-event) (MIT) -- [debug@3.2.7](https://github.com/visionmedia/debug) (MIT) -- [debug@4.3.4](https://github.com/debug-js/debug) (MIT) -- [deep-equal@1.0.1](https://github.com/substack/node-deep-equal) (MIT) -- [deep-object-diff@1.1.9](https://github.com/mattphillips/deep-object-diff) (MIT) -- [deepmerge@4.3.1](https://github.com/TehShrike/deepmerge) (MIT) -- [define-data-property@1.1.1](https://github.com/ljharb/define-data-property) (MIT) -- [delayed-stream@1.0.0](https://github.com/felixge/node-delayed-stream) (MIT) -- [delegates@1.0.0](https://github.com/visionmedia/node-delegates) (MIT) -- [depd@1.1.2](https://github.com/dougwilson/nodejs-depd) (MIT) -- [depd@2.0.0](https://github.com/dougwilson/nodejs-depd) (MIT) -- [destroy@1.2.0](https://github.com/stream-utils/destroy) (MIT) -- [dezalgo@1.0.4](https://github.com/npm/dezalgo) (ISC) -- [diagram-js-direct-editing@2.1.1](https://github.com/bpmn-io/diagram-js-direct-editing) (MIT) -- [diagram-js-grid@0.2.0](https://github.com/bpmn-io/diagram-js-grid) (MIT) -- [diagram-js-minimap@4.1.0](https://github.com/bpmn-io/diagram-js-minimap) (MIT) -- [diagram-js-origin@1.4.0](https://github.com/bpmn-io/diagram-js-origin) (MIT) -- [diagram-js@11.12.0](https://github.com/bpmn-io/diagram-js) (MIT) -- [diagram-js@12.8.1](https://github.com/bpmn-io/diagram-js) (MIT) -- [didi@9.0.2](https://github.com/nikku/didi) (MIT) -- [dmn-js-decision-table@14.7.1](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-drd@14.0.2](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-drd@14.7.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-literal-expression@14.7.1](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-properties-panel@1.3.2](https://github.com/bpmn-io/dmn-js-properties-panel) (MIT) -- [dmn-js-shared@14.0.2](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-shared@14.7.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js@14.1.2](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-moddle@10.0.0](https://github.com/bpmn-io/dmn-moddle) (MIT) -- [dom-iterator@1.0.0](https://github.com/MatthewMueller/dom-iterator) (MIT) -- [domify@1.4.2](https://github.com/sindresorhus/domify) (MIT) -- [downloadjs@1.4.7](https://github.com/rndme/download) (MIT) -- [downshift@5.2.1](https://github.com/downshift-js/downshift) (MIT) -- [dragula@3.7.3](https://github.com/bevacqua/dragula) (MIT) -- [ee-first@1.1.1](https://github.com/jonathanong/ee-first) (MIT) -- [electron-to-chromium@1.4.615](https://github.com/kilian/electron-to-chromium) (ISC) -- [enabled@2.0.0](https://github.com/3rd-Eden/enabled) (MIT) -- [encodeurl@1.0.2](https://github.com/pillarjs/encodeurl) (MIT) -- [enhanced-resolve@5.17.1](https://github.com/webpack/enhanced-resolve) (MIT) -- [es-module-lexer@1.5.4](https://github.com/guybedford/es-module-lexer) (MIT) -- [es6-promise@3.3.1](https://github.com/stefanpenner/es6-promise) (MIT) -- [escalade@3.1.1](https://github.com/lukeed/escalade) (MIT) -- [escape-html@1.0.3](https://github.com/component/escape-html) (MIT) -- [escape-string-regexp@1.0.5](https://github.com/sindresorhus/escape-string-regexp) (MIT) -- [eslint-scope@5.1.1](https://github.com/eslint/eslint-scope) (BSD-2-Clause) -- [esprima@4.0.1](https://github.com/jquery/esprima) (BSD-2-Clause) -- [esrecurse@4.3.0](https://github.com/estools/esrecurse) (BSD-2-Clause) -- [estraverse@4.3.0](https://github.com/estools/estraverse) (BSD-2-Clause) -- [estraverse@5.3.0](https://github.com/estools/estraverse) (BSD-2-Clause) -- [event-source-polyfill@1.0.31](https://github.com/Yaffle/EventSource) (MIT) -- [event-target-shim@5.0.1](https://github.com/mysticatea/event-target-shim) (MIT) -- [events@3.3.0](https://github.com/Gozala/events) (MIT) -- [fast-deep-equal@3.1.3](https://github.com/epoberezkin/fast-deep-equal) (MIT) -- [fast-json-stable-stringify@2.1.0](https://github.com/epoberezkin/fast-json-stable-stringify) (MIT) -- [fecha@4.2.3](https://github.com/taylorhakes/fecha) (MIT) -- [feelers@0.1.0](https://www.npmjs.com/package/feelers) (MIT) -- [feelin@0.41.0](https://github.com/nikku/feelin) (MIT) -- [feelin@1.2.0](https://github.com/nikku/feelin) (MIT) -- [file-drops@0.4.0](https://github.com/nikku/file-drops) (MIT) -- [fill-range@7.1.1](https://github.com/jonschlinkert/fill-range) (MIT) -- [find-cache-dir@3.3.2](https://github.com/avajs/find-cache-dir) (MIT) -- [find-up@4.1.0](https://github.com/sindresorhus/find-up) (MIT) -- [flatpickr@4.6.13](https://github.com/chmln/flatpickr) (MIT) -- [flatpickr@4.6.9](https://github.com/chmln/flatpickr) (MIT) -- [fn.name@1.1.0](https://github.com/3rd-Eden/fn.name) (MIT) -- [follow-redirects@1.15.6](https://github.com/follow-redirects/follow-redirects) (MIT) -- [form-data@4.0.0](https://github.com/form-data/form-data) (MIT) -- [formidable@2.1.2](https://github.com/node-formidable/formidable) (MIT) -- [fresh@0.5.2](https://github.com/jshttp/fresh) (MIT) -- [fs-readdir-recursive@1.1.0](https://github.com/fs-utils/fs-readdir-recursive) (MIT) -- [fs.realpath@1.0.0](https://github.com/isaacs/fs.realpath) (ISC) -- [fsevents@2.3.3](https://github.com/fsevents/fsevents) (MIT) -- [function-bind@1.1.2](https://github.com/Raynos/function-bind) (MIT) -- [gensync@1.0.0-beta.2](https://github.com/loganfsmyth/gensync) (MIT) -- [get-intrinsic@1.2.2](https://github.com/ljharb/get-intrinsic) (MIT) -- [get-package-type@0.1.0](https://github.com/cfware/get-package-type) (MIT) -- [glob-parent@5.1.2](https://github.com/gulpjs/glob-parent) (ISC) -- [glob-to-regexp@0.4.1](https://github.com/fitzgen/glob-to-regexp) (BSD-2-Clause) -- [glob@7.2.3](https://github.com/isaacs/node-glob) (ISC) -- [globals@11.12.0](https://github.com/sindresorhus/globals) (MIT) -- [globalyzer@0.1.0](https://github.com/terkelg/globalyzer) (MIT) -- [globrex@0.1.2](https://github.com/terkelg/globrex) (MIT) -- [gopd@1.0.1](https://github.com/ljharb/gopd) (MIT) -- [graceful-fs@4.2.11](https://github.com/isaacs/node-graceful-fs) (ISC) -- [hammerjs@2.0.8](https://github.com/hammerjs/hammer.js) (MIT) -- [has-flag@3.0.0](https://github.com/sindresorhus/has-flag) (MIT) -- [has-flag@4.0.0](https://github.com/sindresorhus/has-flag) (MIT) -- [has-property-descriptors@1.0.1](https://github.com/inspect-js/has-property-descriptors) (MIT) -- [has-proto@1.0.1](https://github.com/inspect-js/has-proto) (MIT) -- [has-symbols@1.0.3](https://github.com/inspect-js/has-symbols) (MIT) -- [has-tostringtag@1.0.0](https://github.com/inspect-js/has-tostringtag) (MIT) -- [hasown@2.0.0](https://github.com/inspect-js/hasOwn) (MIT) -- [helmet@6.2.0](https://github.com/helmetjs/helmet) (MIT) -- [hexoid@1.0.0](https://github.com/lukeed/hexoid) (MIT) -- [history@4.10.1](https://github.com/ReactTraining/history) (MIT) -- [hoist-non-react-statics@3.3.2](https://github.com/mridgway/hoist-non-react-statics) (BSD-3-Clause) -- [htm@3.1.1](https://github.com/developit/htm) (Apache-2.0) -- [http-assert@1.5.0](https://github.com/jshttp/http-assert) (MIT) -- [http-errors@1.8.1](https://github.com/jshttp/http-errors) (MIT) -- [http-errors@2.0.0](https://github.com/jshttp/http-errors) (MIT) -- [https-proxy-agent@5.0.1](https://github.com/TooTallNate/node-https-proxy-agent) (MIT) -- [iconv-lite@0.4.24](https://github.com/ashtuchkin/iconv-lite) (MIT) -- [ids@1.0.0](https://github.com/bpmn-io/ids) (MIT) -- [immutable@4.3.4](https://github.com/immutable-js/immutable-js) (MIT) -- [indexof@0.0.1](https://www.npmjs.com/package/indexof) (MIT\*) -- [inferno-shared@5.6.1](https://github.com/infernojs/inferno) (MIT) -- [inferno-vnode-flags@5.6.1](https://github.com/infernojs/inferno) (MIT) -- [inferno@5.6.2](https://github.com/infernojs/inferno) (MIT) -- [inflation@2.1.0](https://github.com/stream-utils/inflation) (MIT) -- [inflight@1.0.6](https://github.com/npm/inflight) (ISC) -- [inherits-browser@0.1.0](https://github.com/nikku/inherits-browser) (ISC) -- [inherits@2.0.4](https://github.com/isaacs/inherits) (ISC) -- [invariant@2.2.4](https://github.com/zertosh/invariant) (MIT) -- [is-arrayish@0.3.2](https://github.com/qix-/node-is-arrayish) (MIT) -- [is-base64@1.1.0](https://github.com/miguelmota/is-base64) (MIT) -- [is-binary-path@2.1.0](https://github.com/sindresorhus/is-binary-path) (MIT) -- [is-extglob@2.1.1](https://github.com/jonschlinkert/is-extglob) (MIT) -- [is-generator-function@1.0.10](https://github.com/inspect-js/is-generator-function) (MIT) -- [is-glob@4.0.3](https://github.com/micromatch/is-glob) (MIT) -- [is-number@7.0.0](https://github.com/jonschlinkert/is-number) (MIT) -- [is-stream@2.0.1](https://github.com/sindresorhus/is-stream) (MIT) -- [isarray@0.0.1](https://github.com/juliangruber/isarray) (MIT) -- [istanbul-lib-coverage@3.2.2](https://github.com/istanbuljs/istanbuljs) (BSD-3-Clause) -- [istanbul-lib-instrument@5.2.1](https://github.com/istanbuljs/istanbuljs) (BSD-3-Clause) -- [jest-worker@27.5.1](https://github.com/facebook/jest) (MIT) -- [joi@17.8.3](https://github.com/hapijs/joi) (BSD-3-Clause) -- [jose@4.15.5](https://github.com/panva/jose) (MIT) -- [js-sha256@0.9.0](https://github.com/emn178/js-sha256) (MIT) -- [js-tokens@4.0.0](https://github.com/lydell/js-tokens) (MIT) -- [js-yaml@3.14.1](https://github.com/nodeca/js-yaml) (MIT) -- [jsesc@2.5.2](https://github.com/mathiasbynens/jsesc) (MIT) -- [json-parse-even-better-errors@2.3.1](https://github.com/npm/json-parse-even-better-errors) (MIT) -- [json-schema-traverse@0.4.1](https://github.com/epoberezkin/json-schema-traverse) (MIT) -- [json-schema-traverse@1.0.0](https://github.com/epoberezkin/json-schema-traverse) (MIT) -- [json-source-map@0.6.1](https://github.com/epoberezkin/json-source-map) (MIT) -- [json5@2.2.3](https://github.com/json5/json5) (MIT) -- [keycloak-js@21.0.1](https://github.com/keycloak/keycloak) (Apache-2.0) -- [keycode-js@3.1.0](https://github.com/kabirbaidhya/keycode-js) (MIT) -- [keygrip@1.1.0](https://github.com/crypto-utils/keygrip) (MIT) -- [koa-better-http-proxy@0.2.10](https://github.com/nsimmons/koa-better-http-proxy) (MIT) -- [koa-body@6.0.1](https://github.com/koajs/koa-body) (MIT) -- [koa-compose@4.1.0](https://github.com/koajs/compose) (MIT) -- [koa-compress@5.1.0](https://github.com/koajs/compress) (MIT) -- [koa-convert@2.0.0](https://github.com/gyson/koa-convert) (MIT) -- [koa-helmet@7.0.2](https://github.com/venables/koa-helmet) (MIT) -- [koa-is-json@1.0.0](https://github.com/koajs/is-json) (MIT) -- [koa-mount@4.0.0](https://github.com/koajs/mount) (MIT) -- [koa-router@12.0.0](https://github.com/koajs/router) (MIT) -- [koa-static-cache@5.1.4](https://github.com/koajs/static-cache) (MIT) -- [koa@2.14.1](https://github.com/koajs/koa) (MIT) -- [kuler@2.0.0](https://github.com/3rd-Eden/kuler) (MIT) -- [lang-feel@0.1.0](https://github.com/nikku/lang-feel) (MIT) -- [lang-feel@2.0.0](https://github.com/nikku/lang-feel) (MIT) -- [lezer-feel@0.13.1](https://github.com/nikku/lezer-feel) (MIT) -- [lezer-feel@0.15.0](https://github.com/nikku/lezer-feel) (MIT) -- [lezer-feel@0.16.2](https://github.com/nikku/lezer-feel) (MIT) -- [lezer-feel@1.2.4](https://github.com/nikku/lezer-feel) (MIT) -- [linkify-html@4.1.0](https://github.com/Hypercontext/linkifyjs) (MIT) -- [linkifyjs@4.1.0](https://github.com/Hypercontext/linkifyjs) (MIT) -- [loader-runner@4.3.0](https://github.com/webpack/loader-runner) (MIT) -- [locate-path@5.0.0](https://github.com/sindresorhus/locate-path) (MIT) -- [lodash.debounce@4.0.8](https://github.com/lodash/lodash) (MIT) -- [lodash.findlast@4.6.0](https://github.com/lodash/lodash) (MIT) -- [lodash.isequal@4.5.0](https://github.com/lodash/lodash) (MIT) -- [lodash.omit@4.5.0](https://github.com/lodash/lodash) (MIT) -- [lodash.throttle@4.1.1](https://github.com/lodash/lodash) (MIT) -- [lodash@4.17.21](https://github.com/lodash/lodash) (MIT) -- [logform@2.6.0](https://github.com/winstonjs/logform) (MIT) -- [loose-envify@1.4.0](https://github.com/zertosh/loose-envify) (MIT) -- [lru-cache@5.1.1](https://github.com/isaacs/node-lru-cache) (ISC) -- [lru-cache@6.0.0](https://github.com/isaacs/node-lru-cache) (ISC) -- [lru_map@0.3.3](https://github.com/rsms/js-lru) (MIT) -- [luxon@3.4.4](https://github.com/moment/luxon) (MIT) -- [make-dir@3.1.0](https://github.com/sindresorhus/make-dir) (MIT) -- [matches-selector@1.2.0](https://github.com/ForbesLindesay/matches-selector) (MIT) -- [media-typer@0.3.0](https://github.com/jshttp/media-typer) (MIT) -- [merge-stream@2.0.0](https://github.com/grncdr/merge-stream) (MIT) -- [methods@1.1.2](https://github.com/jshttp/methods) (MIT) -- [mime-db@1.52.0](https://github.com/jshttp/mime-db) (MIT) -- [mime-types@2.1.35](https://github.com/jshttp/mime-types) (MIT) -- [min-dash@3.8.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dash@4.0.0](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dash@4.1.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dom@3.2.1](https://github.com/bpmn-io/min-dom) (MIT) -- [min-dom@4.1.0](https://github.com/bpmn-io/min-dom) (MIT) -- [minimatch@3.1.2](https://github.com/isaacs/minimatch) (ISC) -- [mitt@3.0.1](https://github.com/developit/mitt) (MIT) -- [mobx-react-lite@3.4.3](https://github.com/mobxjs/mobx) (MIT) -- [mobx-react@7.6.0](https://github.com/mobxjs/mobx) (MIT) -- [mobx@6.8.0](https://github.com/mobxjs/mobx) (MIT) -- [moddle-xml@10.1.0](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle-xml@9.0.6](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle@5.0.4](https://github.com/bpmn-io/moddle) (MIT) -- [moddle@6.2.3](https://github.com/bpmn-io/moddle) (MIT) -- [modeler-moddle@0.2.0](https://github.com/camunda/modeler-moddle) (MIT) -- [moment@2.29.4](https://github.com/moment/moment) (MIT) -- [monaco-editor@0.36.1](https://github.com/microsoft/monaco-editor) (MIT) -- [mri@1.2.0](https://github.com/lukeed/mri) (MIT) -- [ms@2.1.2](https://github.com/zeit/ms) (MIT) -- [mz@2.7.0](https://github.com/normalize/mz) (MIT) -- [negotiator@0.6.3](https://github.com/jshttp/negotiator) (MIT) -- [neo-async@2.6.2](https://github.com/suguru03/neo-async) (MIT) -- [node-fetch@2.7.0](https://github.com/bitinn/node-fetch) (MIT) -- [node-releases@2.0.14](https://github.com/chicoxyzzy/node-releases) (MIT) -- [normalize-path@3.0.0](https://github.com/jonschlinkert/normalize-path) (MIT) -- [object-assign@4.1.1](https://github.com/sindresorhus/object-assign) (MIT) -- [object-inspect@1.13.1](https://github.com/inspect-js/object-inspect) (MIT) -- [object-refs@0.3.0](https://github.com/bpmn-io/object-refs) (MIT) -- [on-finished@2.4.1](https://github.com/jshttp/on-finished) (MIT) -- [once@1.4.0](https://github.com/isaacs/once) (ISC) -- [one-time@1.0.0](https://github.com/3rd-Eden/one-time) (MIT) -- [only@0.0.2](https://github.com/visionmedia/node-only) (MIT\*) -- [opencollective-postinstall@2.0.3](https://github.com/opencollective/opencollective-postinstall) (MIT) -- [p-limit@2.3.0](https://github.com/sindresorhus/p-limit) (MIT) -- [p-locate@4.1.0](https://github.com/sindresorhus/p-locate) (MIT) -- [p-try@2.2.0](https://github.com/sindresorhus/p-try) (MIT) -- [parseurl@1.3.3](https://github.com/pillarjs/parseurl) (MIT) -- [path-exists@4.0.0](https://github.com/sindresorhus/path-exists) (MIT) -- [path-intersection@2.2.1](https://github.com/bpmn-io/path-intersection) (MIT) -- [path-is-absolute@1.0.1](https://github.com/sindresorhus/path-is-absolute) (MIT) -- [path-to-regexp@1.8.0](https://github.com/pillarjs/path-to-regexp) (MIT) -- [path-to-regexp@6.2.1](https://github.com/pillarjs/path-to-regexp) (MIT) -- [performance-now@2.1.0](https://github.com/braveg1rl/performance-now) (MIT) -- [picocolors@1.0.0](https://github.com/alexeyraspopov/picocolors) (ISC) -- [picomatch@2.3.1](https://github.com/micromatch/picomatch) (MIT) -- [pkg-dir@4.2.0](https://github.com/sindresorhus/pkg-dir) (MIT) -- [pluralize@7.0.0](https://github.com/blakeembrey/pluralize) (MIT) -- [postcss-value-parser@4.2.0](https://github.com/TrySound/postcss-value-parser) (MIT) -- [preact-markup@2.1.1](https://github.com/developit/preact-markup) (MIT) -- [preact@10.13.1](https://github.com/preactjs/preact) (MIT) -- [prom-client@13.1.0](https://github.com/siimon/prom-client) (Apache-2.0) -- [prop-types@15.8.1](https://github.com/facebook/prop-types) (MIT) -- [proxy-from-env@1.1.0](https://github.com/Rob--W/proxy-from-env) (MIT) -- [punycode@2.3.1](https://github.com/mathiasbynens/punycode.js) (MIT) -- [pusher-js@8.3.0](https://github.com/pusher/pusher-js) (MIT) -- [pusher@5.1.3](https://github.com/pusher/pusher-http-node) (MIT) -- [qs@6.11.2](https://github.com/ljharb/qs) (BSD-3-Clause) -- [raf@3.4.1](https://github.com/chrisdickinson/raf) (MIT) -- [randombytes@2.1.0](https://github.com/crypto-browserify/randombytes) (MIT) -- [randomcolor@0.6.2](https://github.com/davidmerfield/randomColor) (Custom: https://randomcolor.lllllllllllllllll.com) -- [raw-body@2.5.2](https://github.com/stream-utils/raw-body) (MIT) -- [react-dom@18.2.0](https://github.com/facebook/react) (MIT) -- [react-error-boundary@3.1.4](https://github.com/bvaughn/react-error-boundary) (MIT) -- [react-fast-compare@3.2.2](https://github.com/FormidableLabs/react-fast-compare) (MIT) -- [react-helmet-async@1.3.0](https://github.com/staylor/react-helmet-async) (Apache-2.0) -- [react-is@16.13.1](https://github.com/facebook/react) (MIT) -- [react-is@17.0.2](https://github.com/facebook/react) (MIT) -- [react-is@18.2.0](https://github.com/facebook/react) (MIT) -- [react-router-dom@5.3.4](https://github.com/remix-run/react-router) (MIT) -- [react-router@5.3.4](https://github.com/remix-run/react-router) (MIT) -- [react@18.2.0](https://github.com/facebook/react) (MIT) -- [readable-stream@3.6.2](https://github.com/nodejs/readable-stream) (MIT) -- [readdirp@3.6.0](https://github.com/paulmillr/readdirp) (MIT) -- [regenerator-runtime@0.14.1](https://github.com/facebook/regenerator/tree/main/packages/runtime) (MIT) -- [require-from-string@2.0.2](https://github.com/floatdrop/require-from-string) (MIT) -- [resize-observer-polyfill@1.5.1](https://github.com/que-etc/resize-observer-polyfill) (MIT) -- [resolve-from@5.0.0](https://github.com/sindresorhus/resolve-from) (MIT) -- [resolve-pathname@3.0.0](https://github.com/mjackson/resolve-pathname) (MIT) -- [rgbcolor@1.0.1](https://github.com/yetzt/node-rgbcolor) (MIT\*) -- [route-pattern@0.0.6](https://github.com/bjoerge/route-pattern) (MIT) -- [safe-buffer@5.2.1](https://github.com/feross/safe-buffer) (MIT) -- [safe-stable-stringify@2.4.3](https://github.com/BridgeAR/safe-stable-stringify) (MIT) -- [safer-buffer@2.1.2](https://github.com/ChALkeR/safer-buffer) (MIT) -- [sass@1.59.3](https://github.com/sass/dart-sass) (MIT) -- [saxen@8.1.2](https://github.com/nikku/saxen) (MIT) -- [scheduler@0.23.0](https://github.com/facebook/react) (MIT) -- [schema-utils@3.3.0](https://github.com/webpack/schema-utils) (MIT) -- [schema-utils@4.2.0](https://github.com/webpack/schema-utils) (MIT) -- [selection-ranges@3.0.3](https://github.com/nikku/selection-ranges) (MIT) -- [selection-update@0.1.2](https://github.com/nikku/selection-update) (MIT) -- [semver-compare@1.0.0](https://github.com/substack/semver-compare) (MIT) -- [semver@7.5.3](https://github.com/npm/node-semver) (ISC) -- [serialize-javascript@6.0.1](https://github.com/yahoo/serialize-javascript) (BSD-3-Clause) -- [set-function-length@1.1.1](https://github.com/ljharb/set-function-length) (MIT) -- [setprototypeof@1.2.0](https://github.com/wesleytodd/setprototypeof) (ISC) -- [shallowequal@1.1.0](https://github.com/dashed/shallowequal) (MIT) -- [showdown@2.1.0](https://github.com/showdownjs/showdown) (MIT) -- [side-channel@1.0.4](https://github.com/ljharb/side-channel) (MIT) -- [simple-swizzle@0.2.2](https://github.com/qix-/node-simple-swizzle) (MIT) -- [source-map-js@1.0.2](https://github.com/7rulnik/source-map-js) (BSD-3-Clause) -- [source-map-support@0.5.21](https://github.com/evanw/node-source-map-support) (MIT) -- [source-map@0.6.1](https://github.com/mozilla/source-map) (BSD-3-Clause) -- [sprintf-js@1.0.3](https://github.com/alexei/sprintf.js) (BSD-3-Clause) -- [stack-trace@0.0.10](https://github.com/felixge/node-stack-trace) (MIT) -- [stackblur-canvas@2.6.0](https://github.com/flozz/StackBlur) (MIT) -- [state-local@1.0.7](https://github.com/suren-atoyan/state-local) (MIT) -- [statuses@1.5.0](https://github.com/jshttp/statuses) (MIT) -- [statuses@2.0.1](https://github.com/jshttp/statuses) (MIT) -- [stoppable@1.1.0](https://github.com/hunterloftis/stoppable) (MIT) -- [string_decoder@1.3.0](https://github.com/nodejs/string_decoder) (MIT) -- [style-mod@4.1.0](https://github.com/marijnh/style-mod) (MIT) -- [styled-components@5.3.9](https://github.com/styled-components/styled-components) (MIT) -- [supports-color@5.5.0](https://github.com/chalk/supports-color) (MIT) -- [supports-color@8.1.1](https://github.com/chalk/supports-color) (MIT) -- [svg-pathdata@6.0.3](https://github.com/nfroidure/svg-pathdata) (MIT) -- [table-js@8.0.2](https://github.com/bpmn-io/table-js) (MIT) -- [tapable@2.2.1](https://github.com/webpack/tapable) (MIT) -- [tdigest@0.1.2](https://github.com/welch/tdigest) (MIT) -- [terser-webpack-plugin@5.3.10](https://github.com/webpack-contrib/terser-webpack-plugin) (MIT) -- [terser@5.31.6](https://github.com/terser/terser) (BSD-2-Clause) -- [test-exclude@6.0.0](https://github.com/istanbuljs/test-exclude) (ISC) -- [text-hex@1.0.0](https://github.com/3rd-Eden/text-hex) (MIT) -- [thenify-all@1.6.0](https://github.com/thenables/thenify-all) (MIT) -- [thenify@3.3.1](https://github.com/thenables/thenify) (MIT) -- [ticky@1.0.1](https://github.com/bevacqua/ticky) (MIT) -- [tiny-glob@0.2.9](https://github.com/terkelg/tiny-glob) (MIT) -- [tiny-invariant@1.3.1](https://github.com/alexreardon/tiny-invariant) (MIT) -- [tiny-svg@3.0.0](https://github.com/bpmn-io/tiny-svg) (MIT) -- [tiny-svg@3.0.1](https://github.com/bpmn-io/tiny-svg) (MIT) -- [tiny-warning@1.0.3](https://github.com/alexreardon/tiny-warning) (MIT) -- [to-fast-properties@2.0.0](https://github.com/sindresorhus/to-fast-properties) (MIT) -- [to-regex-range@5.0.1](https://github.com/micromatch/to-regex-range) (MIT) -- [toggle-selection@1.0.6](https://github.com/sudodoki/toggle-selection) (MIT) -- [toidentifier@1.0.1](https://github.com/component/toidentifier) (MIT) -- [toml@3.0.0](https://github.com/BinaryMuse/toml-node) (MIT) -- [tr46@0.0.3](https://github.com/Sebmaster/tr46.js) (MIT) -- [triple-beam@1.4.1](https://github.com/winstonjs/triple-beam) (MIT) -- [tslib@1.14.1](https://github.com/Microsoft/tslib) (0BSD) -- [tsscmp@1.0.6](https://github.com/suryagh/tsscmp) (MIT) -- [tweetnacl-util@0.15.1](https://github.com/dchest/tweetnacl-util-js) (Unlicense) -- [tweetnacl@1.0.3](https://github.com/dchest/tweetnacl-js) (Unlicense) -- [type-is@1.6.18](https://github.com/jshttp/type-is) (MIT) -- [undici-types@5.26.5](https://github.com/nodejs/undici) (MIT) -- [unpipe@1.0.0](https://github.com/stream-utils/unpipe) (MIT) -- [update-browserslist-db@1.0.13](https://github.com/browserslist/update-db) (MIT) -- [uri-js@4.4.1](https://github.com/garycourt/uri-js) (BSD-2-Clause) -- [use-resize-observer@6.1.0](https://github.com/ZeeCoder/use-resize-observer) (MIT) -- [util-deprecate@1.0.2](https://github.com/TooTallNate/util-deprecate) (MIT) -- [uuid@9.0.0](https://github.com/uuidjs/uuid) (MIT) -- [value-equal@1.0.1](https://github.com/mjackson/value-equal) (MIT) -- [vary@1.1.2](https://github.com/jshttp/vary) (MIT) -- [w3c-keyname@2.2.8](https://github.com/marijnh/w3c-keyname) (MIT) -- [watchpack@2.4.2](https://github.com/webpack/watchpack) (MIT) -- [webidl-conversions@3.0.1](https://github.com/jsdom/webidl-conversions) (BSD-2-Clause) -- [webpack-sources@3.2.3](https://github.com/webpack/webpack-sources) (MIT) -- [webpack@5.83.1](https://github.com/webpack/webpack) (MIT) -- [whatwg-url@5.0.0](https://github.com/jsdom/whatwg-url) (MIT) -- [wicg-inert@3.1.2](https://github.com/WICG/inert) (W3C-20150513) -- [window-or-global@1.0.1](https://github.com/purposeindustries/window-or-global) (MIT) -- [winston-transport@4.6.0](https://github.com/winstonjs/winston-transport) (MIT) -- [winston@3.8.2](https://github.com/winstonjs/winston) (MIT) -- [wrappy@1.0.2](https://github.com/npm/wrappy) (ISC) -- [yallist@3.1.1](https://github.com/isaacs/yallist) (ISC) -- [yallist@4.0.0](https://github.com/isaacs/yallist) (ISC) -- [ylru@1.3.2](https://github.com/node-modules/ylru) (MIT) -- [zeebe-bpmn-moddle@0.18.0](https://github.com/camunda/zeebe-bpmn-moddle) (MIT) -- [zod@3.22.4](https://github.com/colinhacks/zod) (MIT) - -### Web Modeler Dependencies (restapi) - -- [ch.qos.logback:logback-classic@1.4.14](http://logback.qos.ch/logback-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback:logback-core@1.4.14](http://logback.qos.ch/logback-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-jackson@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-jackson) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-json-classic@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-json-core@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [com.auth0:java-jwt@4.3.0](https://github.com/auth0/java-jwt) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/java-jwt/master/LICENSE)) -- [com.auth0:jwks-rsa@0.22.1](https://github.com/auth0/jwks-rsa-java) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/jwks-rsa-java/master/LICENSE)) -- [com.ethlo.time:itu@1.7.0](https://github.com/ethlo/itu) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml:classmate@1.5.1](https://github.com/FasterXML/java-classmate) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-annotations@2.15.4](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-core@2.15.4](https://github.com/FasterXML/jackson-core) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-databind@2.15.4](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-toml@2.15.4](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.14.2](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jdk8@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jsr310@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.module:jackson-module-parameter-names@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.github.stephenc.jcip:jcip-annotations@1.0-1](http://stephenc.github.com/jcip-annotations) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.android:annotations@4.1.1.4](http://source.android.com/) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0)) -- [com.google.api.grpc:proto-google-common-protos@2.9.0](https://github.com/googleapis/java-iam/proto-google-common-protos) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.code.findbugs:jsr305@3.0.2](http://findbugs.sourceforge.net/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.code.gson:gson@2.10.1](https://github.com/google/gson/gson) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.errorprone:error_prone_annotations@2.14.0](https://errorprone.info/error_prone_annotations) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:failureaccess@1.0.1](https://github.com/google/guava/failureaccess) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:guava@32.1.2-jre](https://github.com/google/guava) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:listenablefuture@9999.0-empty-to-avoid-conflict-with-guava](https://github.com/google/guava/listenablefuture) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.j2objc:j2objc-annotations@2.8](https://github.com/google/j2objc/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.protobuf:protobuf-java@3.22.2](https://developers.google.com/protocol-buffers/protobuf-java/) ([BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)) -- [com.networknt:json-schema-validator@1.0.78](https://github.com/networknt/json-schema-validator) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [com.nimbusds:nimbus-jose-jwt@9.37.3](https://bitbucket.org/connect2id/nimbus-jose-jwt) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.pusher:pusher-http-java@1.3.3](http://github.com/pusher/pusher-http-java) ([MIT](https://raw.github.com/pusher/pusher-http-java/master/LICENCE.txt)) -- [com.sun.activation:jakarta.activation@1.2.2](https://github.com/eclipse-ee4j/jaf/jakarta.activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [com.sun.istack:istack-commons-runtime@4.1.2](https://projects.eclipse.org/projects/ee4j/istack-commons/istack-commons-runtime) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [com.typesafe.netty:netty-reactive-streams@2.0.4](https://github.com/playframework/netty-reactive-streams/netty-reactive-streams) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.vdurmont:semver4j@3.1.0](https://github.com/vdurmont/semver4j) ([The MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [com.zaxxer:HikariCP@5.0.1](https://github.com/brettwooldridge/HikariCP) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [commons-codec:commons-codec@1.15](https://commons.apache.org/proper/commons-codec/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [commons-logging:commons-logging@1.2](http://commons.apache.org/proper/commons-logging/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.grpc:grpc-api@1.53.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-context@1.53.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-core@1.53.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-netty@1.53.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf@1.53.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf-lite@1.53.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-stub@1.53.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.micrometer:micrometer-commons@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-core@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-observation@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-registry-prometheus@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.netty:netty-buffer@4.1.109.Final](https://netty.io/netty-buffer/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec@4.1.109.Final](https://netty.io/netty-codec/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-dns@4.1.109.Final](https://netty.io/netty-codec-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http@4.1.109.Final](https://netty.io/netty-codec-http/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http2@4.1.109.Final](https://netty.io/netty-codec-http2/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-socks@4.1.109.Final](https://netty.io/netty-codec-socks/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-common@4.1.109.Final](https://netty.io/netty-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler@4.1.109.Final](https://netty.io/netty-handler/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler-proxy@4.1.109.Final](https://netty.io/netty-handler-proxy/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver@4.1.109.Final](https://netty.io/netty-resolver/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns@4.1.109.Final](https://netty.io/netty-resolver-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-classes-macos@4.1.109.Final](https://netty.io/netty-resolver-dns-classes-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-native-macos@4.1.109.Final](https://netty.io/netty-resolver-dns-native-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport@4.1.109.Final](https://netty.io/netty-transport/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-epoll@4.1.109.Final](https://netty.io/netty-transport-classes-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-kqueue@4.1.109.Final](https://netty.io/netty-transport-classes-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-epoll@4.1.109.Final](https://netty.io/netty-transport-native-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-kqueue@4.1.109.Final](https://netty.io/netty-transport-native-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-unix-common@4.1.109.Final](https://netty.io/netty-transport-native-unix-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.perfmark:perfmark-api@0.25.0](https://github.com/perfmark/perfmark) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.projectreactor:reactor-core@3.5.4](https://github.com/reactor/reactor-core) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-core@1.1.18](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-http@1.1.18](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient@0.16.0](http://github.com/prometheus/client_java/simpleclient) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_common@0.16.0](http://github.com/prometheus/client_java/simpleclient_common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_common@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_otel@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_otel_agent@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel_agent) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.smallrye:jandex@3.0.5](https://smallrye.io/jandex-parent/jandex) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.swagger.core.v3:swagger-annotations-jakarta@2.2.10](https://github.com/swagger-api/swagger-core/modules/swagger-annotations-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-core-jakarta@2.2.10](https://github.com/swagger-api/swagger-core/modules/swagger-core-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-models-jakarta@2.2.10](https://github.com/swagger-api/swagger-core/modules/swagger-models-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.undertow:undertow-core@2.3.14.Final](http://www.jboss.org/undertow-parent/undertow-core) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-servlet@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-servlet) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-websockets-jsr@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-websockets-jsr) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [jakarta.activation:jakarta.activation-api@2.1.3](https://github.com/jakartaee/jaf-api) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [jakarta.annotation:jakarta.annotation-api@2.1.1](https://projects.eclipse.org/projects/ee4j.ca) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.inject:jakarta.inject-api@2.0.1](https://github.com/eclipse-ee4j/injection-api) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [jakarta.persistence:jakarta.persistence-api@3.1.0](https://github.com/eclipse-ee4j/jpa-api) ([Eclipse Public License v. 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.servlet:jakarta.servlet-api@6.0.0](https://projects.eclipse.org/projects/ee4j.servlet) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.transaction:jakarta.transaction-api@2.0.1](https://projects.eclipse.org/projects/ee4j.jta) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.validation:jakarta.validation-api@3.0.2](https://beanvalidation.org) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [jakarta.websocket:jakarta.websocket-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [jakarta.websocket:jakarta.websocket-client-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [jakarta.xml.bind:jakarta.xml.bind-api@4.0.2](https://github.com/jakartaee/jaxb-api/jakarta.xml.bind-api) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [javax.cache:cache-api@1.1.1](https://github.com/jsr107/jsr107spec) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.bytebuddy:byte-buddy@1.14.13](https://bytebuddy.net/byte-buddy) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.java.dev.jna:jna@5.13.0](https://github.com/java-native-access/jna) ([LGPL-2.1-or-later](https://www.gnu.org/licenses/old-licenses/lgpl-2.1)) -- [org.antlr:antlr4-runtime@4.10.1](http://www.antlr.org/antlr4-runtime) ([The BSD License](http://www.antlr.org/license.html)) -- [org.apache.commons:commons-collections4@4.4](https://commons.apache.org/proper/commons-collections/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.commons:commons-lang3@3.12.0](https://commons.apache.org/proper/commons-lang/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.commons:commons-text@1.10.0](https://commons.apache.org/proper/commons-text) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents:httpclient@4.5.13](http://hc.apache.org/httpcomponents-client) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents:httpcore@4.4.16](http://hc.apache.org/httpcomponents-core-ga) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-api@2.20.0](https://logging.apache.org/log4j/2.x/log4j-api/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-to-slf4j@2.20.0](https://logging.apache.org/log4j/2.x/log4j-to-slf4j/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.tomcat.embed:tomcat-embed-el@10.1.20](https://tomcat.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.aspectj:aspectjweaver@1.9.22](https://www.eclipse.org/aspectj/) ([Eclipse Public License - v 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [org.asynchttpclient:async-http-client@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.asynchttpclient:async-http-client-netty-utils@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client-netty-utils) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-dmn-model@7.18.5-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-dmn-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-xml-model@7.18.5-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-xml-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.checkerframework:checker-qual@3.32.0](https://checkerframework.org/) ([The MIT License](http://opensource.org/licenses/MIT)) -- [org.codehaus.mojo:animal-sniffer-annotations@1.21](https://www.mojohaus.org/animal-sniffer/animal-sniffer-annotations) ([MIT license](http://www.opensource.org/licenses/mit-license.php)) -- [org.eclipse.angus:angus-activation@2.0.2](https://github.com/eclipse-ee4j/angus-activation/angus-activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.eclipse.angus:jakarta.mail@1.1.0](http://eclipse-ee4j.github.io/mail/jakarta.mail) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [org.ehcache:ehcache@3.10.8](http://ehcache.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.flywaydb:flyway-core@9.16.3](https://flywaydb.org/flyway-core) ([Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-community)) -- [org.freemarker:freemarker@2.3.32](https://freemarker.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.glassfish.jaxb:jaxb-core@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.glassfish.jaxb:jaxb-runtime@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.glassfish.jaxb:txw2@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.hdrhistogram:HdrHistogram@2.1.12](http://hdrhistogram.github.io/HdrHistogram/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) -- [org.hibernate.common:hibernate-commons-annotations@6.0.6.Final](http://hibernate.org) ([GNU Library General Public License v2.1 or later](http://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.orm:hibernate-core@6.2.24.Final](https://hibernate.org/orm) ([GNU Library General Public License v2.1 or later](https://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.validator:hibernate-validator@8.0.1.Final](http://hibernate.org/validator/hibernate-validator) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.logging:jboss-logging@3.5.3.Final](http://www.jboss.org) ([Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jboss.threads:jboss-threads@3.5.0.Final](http://www.jboss.org/jboss-threads) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.xnio:xnio-api@3.8.16.Final](http://www.jboss.org/xnio) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jboss.xnio:xnio-nio@3.8.16.Final](http://www.jboss.org) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.latencyutils:LatencyUtils@2.0.3](http://latencyutils.github.io/LatencyUtils/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) -- [org.mapstruct:mapstruct@1.5.3.Final](http://mapstruct.org/mapstruct/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.openapitools:jackson-databind-nullable@0.2.6](https://github.com/OpenAPITools/jackson-databind-nullable) ([Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)) -- [org.postgresql:postgresql@42.7.2](https://jdbc.postgresql.org) ([BSD-2-Clause](https://jdbc.postgresql.org/about/license.html)) -- [org.reactivestreams:reactive-streams@1.0.4](http://www.reactive-streams.org/) ([MIT-0](https://spdx.org/licenses/MIT-0.html)) -- [org.slf4j:jul-to-slf4j@2.0.13](http://www.slf4j.org) ([MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [org.slf4j:slf4j-api@2.0.13](http://www.slf4j.org) ([MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [org.springdoc:springdoc-openapi-starter-common@2.1.0](https://springdoc.org/springdoc-openapi-starter-common/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springdoc:springdoc-openapi-starter-webmvc-api@2.1.0](https://springdoc.org/springdoc-openapi-starter-webmvc-api/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springdoc:springdoc-openapi-starter-webmvc-ui@2.1.0](https://springdoc.org/springdoc-openapi-starter-webmvc-ui/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework:spring-aop@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-aspects@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-beans@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context-support@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-core@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-expression@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jcl@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jdbc@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-orm@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-tx@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-web@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webflux@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webmvc@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator-autoconfigure@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-autoconfigure@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-actuator@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-aop@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-data-jpa@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-freemarker@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-jdbc@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-json@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-logging@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-mail@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-oauth2-resource-server@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-reactor-netty@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-security@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-undertow@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-validation@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-web@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-commons@3.1.11](https://spring.io/projects/spring-data) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-jpa@3.1.11](https://projects.spring.io/spring-data-jpa) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.retry:spring-retry@2.0.5](https://www.springsource.org) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework.security:spring-security-config@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-core@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-crypto@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-data@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-core@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-jose@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-resource-server@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-web@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.webjars:swagger-ui@4.18.2](http://webjars.org) ([Apache 2.0](https://github.com/swagger-api/swagger-ui)) -- [org.wildfly.client:wildfly-client-config@1.0.1.Final](http://www.jboss.org/wildfly-client-config) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.wildfly.common:wildfly-common@1.6.0.Final](http://www.jboss.org/wildfly-common) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.yaml:snakeyaml@2.0](https://bitbucket.org/snakeyaml/snakeyaml) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [software.amazon.awssdk:annotations@2.20.48](https://aws.amazon.com/sdkforjava/core/annotations) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:apache-client@2.20.48](https://aws.amazon.com/sdkforjava/http-clients/apache-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:auth@2.20.48](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-core@2.20.48](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-query-protocol@2.20.48](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:endpoints-spi@2.20.48](https://aws.amazon.com/sdkforjava/core/endpoints-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-client-spi@2.20.48](https://aws.amazon.com/sdkforjava/http-client-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:json-utils@2.20.48](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:metrics-spi@2.20.48](https://aws.amazon.com/sdkforjava/core/metrics-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:netty-nio-client@2.20.48](https://aws.amazon.com/sdkforjava/http-clients/netty-nio-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:profiles@2.20.48](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:protocol-core@2.20.48](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:rds@2.20.48](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:regions@2.20.48](https://aws.amazon.com/sdkforjava/core/regions) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sdk-core@2.20.48](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sts@2.20.48](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:third-party-jackson-core@2.20.48](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:utils@2.20.48](https://aws.amazon.com/sdkforjava/utils) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.eventstream:eventstream@1.0.1](https://github.com/awslabs/aws-eventstream-java) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.jdbc:aws-advanced-jdbc-wrapper@1.0.2](https://github.com/awslabs/aws-advanced-jdbc-wrapper) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)) - -### Web Modeler Dependencies (websockets) - -- [brick/math@0.12.1](https://github.com/brick/math.git) (MIT) -- [carbonphp/carbon-doctrine-types@3.2.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) -- [clue/redis-protocol@v0.3.2](https://github.com/clue/redis-protocol.git) (MIT) -- [clue/redis-react@v2.7.0](https://github.com/clue/reactphp-redis.git) (MIT) -- [dflydev/dot-access-data@v3.0.3](https://github.com/dflydev/dflydev-dot-access-data.git) (MIT) -- [doctrine/inflector@2.0.10](https://github.com/doctrine/inflector.git) (MIT) -- [doctrine/lexer@3.0.1](https://github.com/doctrine/lexer.git) (MIT) -- [dragonmantank/cron-expression@v3.3.3](https://github.com/dragonmantank/cron-expression.git) (MIT) -- [egulias/email-validator@4.0.2](https://github.com/egulias/EmailValidator.git) (MIT) -- [evenement/evenement@v3.0.2](https://github.com/igorw/evenement.git) (MIT) -- [fruitcake/php-cors@v1.3.0](https://github.com/fruitcake/php-cors.git) (MIT) -- [graham-campbell/result-type@v1.1.3](https://github.com/GrahamCampbell/Result-Type.git) (MIT) -- [guzzlehttp/guzzle@7.9.2](https://github.com/guzzle/guzzle.git) (MIT) -- [guzzlehttp/promises@2.0.3](https://github.com/guzzle/promises.git) (MIT) -- [guzzlehttp/psr7@2.7.0](https://github.com/guzzle/psr7.git) (MIT) -- [guzzlehttp/uri-template@v1.0.3](https://github.com/guzzle/uri-template.git) (MIT) -- [laravel/framework@v11.21.0](https://github.com/laravel/framework.git) (MIT) -- [laravel/prompts@v0.1.25](https://github.com/laravel/prompts.git) (MIT) -- [laravel/reverb@v1.2.0](https://github.com/laravel/reverb.git) (MIT) -- [laravel/serializable-closure@v1.3.4](https://github.com/laravel/serializable-closure.git) (MIT) -- [laravel/tinker@v2.9.0](https://github.com/laravel/tinker.git) (MIT) -- [league/commonmark@2.5.3](https://github.com/thephpleague/commonmark.git) (BSD-3-Clause) -- [league/config@v1.2.0](https://github.com/thephpleague/config.git) (BSD-3-Clause) -- [league/flysystem@3.28.0](https://github.com/thephpleague/flysystem.git) (MIT) -- [league/flysystem-local@3.28.0](https://github.com/thephpleague/flysystem-local.git) (MIT) -- [league/mime-type-detection@1.15.0](https://github.com/thephpleague/mime-type-detection.git) (MIT) -- [monolog/monolog@3.7.0](https://github.com/Seldaek/monolog.git) (MIT) -- [nesbot/carbon@3.8.0](https://github.com/briannesbitt/Carbon.git) (MIT) -- [nette/schema@v1.3.0](https://github.com/nette/schema.git) (BSD-3-Clause) -- [nette/utils@v4.0.5](https://github.com/nette/utils.git) (BSD-3-Clause) -- [nikic/php-parser@v5.0.2](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) -- [nunomaduro/termwind@v2.0.1](https://github.com/nunomaduro/termwind.git) (MIT) -- [paragonie/random_compat@v9.99.100](https://github.com/paragonie/random_compat.git) (MIT) -- [paragonie/sodium_compat@v1.21.1](https://github.com/paragonie/sodium_compat.git) (ISC) -- [phpoption/phpoption@1.9.3](https://github.com/schmittjoh/php-option.git) (Apache-2.0) -- [psr/clock@1.0.0](https://github.com/php-fig/clock.git) (MIT) -- [psr/container@2.0.2](https://github.com/php-fig/container.git) (MIT) -- [psr/event-dispatcher@1.0.0](https://github.com/php-fig/event-dispatcher.git) (MIT) -- [psr/http-client@1.0.3](https://github.com/php-fig/http-client.git) (MIT) -- [psr/http-factory@1.1.0](https://github.com/php-fig/http-factory.git) (MIT) -- [psr/http-message@2.0](https://github.com/php-fig/http-message.git) (MIT) -- [psr/log@3.0.1](https://github.com/php-fig/log.git) (MIT) -- [psr/simple-cache@3.0.0](https://github.com/php-fig/simple-cache.git) (MIT) -- [psy/psysh@v0.12.3](https://github.com/bobthecow/psysh.git) (MIT) -- [pusher/pusher-php-server@7.2.4](https://github.com/pusher/pusher-http-php.git) (MIT) -- [ralouphie/getallheaders@3.0.3](https://github.com/ralouphie/getallheaders.git) (MIT) -- [ramsey/collection@2.0.0](https://github.com/ramsey/collection.git) (MIT) -- [ramsey/uuid@4.7.6](https://github.com/ramsey/uuid.git) (MIT) -- [ratchet/rfc6455@v0.3.1](https://github.com/ratchetphp/RFC6455.git) (MIT) -- [react/cache@v1.2.0](https://github.com/reactphp/cache.git) (MIT) -- [react/dns@v1.13.0](https://github.com/reactphp/dns.git) (MIT) -- [react/event-loop@v1.5.0](https://github.com/reactphp/event-loop.git) (MIT) -- [react/promise@v3.2.0](https://github.com/reactphp/promise.git) (MIT) -- [react/promise-timer@v1.11.0](https://github.com/reactphp/promise-timer.git) (MIT) -- [react/socket@v1.16.0](https://github.com/reactphp/socket.git) (MIT) -- [react/stream@v1.4.0](https://github.com/reactphp/stream.git) (MIT) -- [symfony/clock@v7.1.1](https://github.com/symfony/clock.git) (MIT) -- [symfony/console@v7.1.3](https://github.com/symfony/console.git) (MIT) -- [symfony/css-selector@v7.1.1](https://github.com/symfony/css-selector.git) (MIT) -- [symfony/deprecation-contracts@v3.5.0](https://github.com/symfony/deprecation-contracts.git) (MIT) -- [symfony/error-handler@v7.1.3](https://github.com/symfony/error-handler.git) (MIT) -- [symfony/event-dispatcher@v7.1.1](https://github.com/symfony/event-dispatcher.git) (MIT) -- [symfony/event-dispatcher-contracts@v3.5.0](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) -- [symfony/finder@v7.1.3](https://github.com/symfony/finder.git) (MIT) -- [symfony/http-foundation@v7.1.3](https://github.com/symfony/http-foundation.git) (MIT) -- [symfony/http-kernel@v7.1.3](https://github.com/symfony/http-kernel.git) (MIT) -- [symfony/mailer@v7.1.2](https://github.com/symfony/mailer.git) (MIT) -- [symfony/mime@v7.1.2](https://github.com/symfony/mime.git) (MIT) -- [symfony/polyfill-ctype@v1.30.0](https://github.com/symfony/polyfill-ctype.git) (MIT) -- [symfony/polyfill-intl-grapheme@v1.30.0](https://github.com/symfony/polyfill-intl-grapheme.git) (MIT) -- [symfony/polyfill-intl-idn@v1.30.0](https://github.com/symfony/polyfill-intl-idn.git) (MIT) -- [symfony/polyfill-intl-normalizer@v1.30.0](https://github.com/symfony/polyfill-intl-normalizer.git) (MIT) -- [symfony/polyfill-mbstring@v1.30.0](https://github.com/symfony/polyfill-mbstring.git) (MIT) -- [symfony/polyfill-php72@v1.30.0](https://github.com/symfony/polyfill-php72.git) (MIT) -- [symfony/polyfill-php80@v1.30.0](https://github.com/symfony/polyfill-php80.git) (MIT) -- [symfony/polyfill-php83@v1.30.0](https://github.com/symfony/polyfill-php83.git) (MIT) -- [symfony/polyfill-uuid@v1.30.0](https://github.com/symfony/polyfill-uuid.git) (MIT) -- [symfony/process@v7.1.3](https://github.com/symfony/process.git) (MIT) -- [symfony/routing@v7.1.3](https://github.com/symfony/routing.git) (MIT) -- [symfony/service-contracts@v3.5.0](https://github.com/symfony/service-contracts.git) (MIT) -- [symfony/string@v7.1.3](https://github.com/symfony/string.git) (MIT) -- [symfony/translation@v7.1.3](https://github.com/symfony/translation.git) (MIT) -- [symfony/translation-contracts@v3.5.0](https://github.com/symfony/translation-contracts.git) (MIT) -- [symfony/uid@v7.1.1](https://github.com/symfony/uid.git) (MIT) -- [symfony/var-dumper@v7.1.3](https://github.com/symfony/var-dumper.git) (MIT) -- [tijsverkoyen/css-to-inline-styles@v2.2.7](https://github.com/tijsverkoyen/CssToInlineStyles.git) (BSD-3-Clause) -- [vlucas/phpdotenv@v5.6.1](https://github.com/vlucas/phpdotenv.git) (BSD-3-Clause) -- [voku/portable-ascii@2.0.1](https://github.com/voku/portable-ascii.git) (MIT) -- [webmozart/assert@1.11.0](https://github.com/webmozarts/assert.git) (MIT) diff --git a/versioned_docs/version-8.2/reference/img/channels.png b/versioned_docs/version-8.2/reference/img/channels.png new file mode 100644 index 00000000000..4964fadbba0 Binary files /dev/null and b/versioned_docs/version-8.2/reference/img/channels.png differ diff --git a/versioned_docs/version-8.2/reference/img/diagram-releases.png b/versioned_docs/version-8.2/reference/img/diagram-releases.png new file mode 100644 index 00000000000..f06ee971089 Binary files /dev/null and b/versioned_docs/version-8.2/reference/img/diagram-releases.png differ diff --git a/versioned_docs/version-8.2/reference/release-policy.md b/versioned_docs/version-8.2/reference/release-policy.md index f0ea1514c4e..fc32d16ee92 100644 --- a/versioned_docs/version-8.2/reference/release-policy.md +++ b/versioned_docs/version-8.2/reference/release-policy.md @@ -1,59 +1,111 @@ --- id: release-policy title: "Release policy" +description: "Learn more about Camunda releases, including alpha features and alpha releases." --- -Camunda 8 follows the [Camunda release policy](https://camunda.com/release-policy/) with some specific clarifications which can be found below. +Camunda 8 follows the [Camunda release policy](https://camunda.com/release-policy/) with the following specific clarifications. + +:::info +You can find deprecation and support announcements on the [Announcements](announcements.md) page. +::: + +![Stable and alpha channels when provisioning a cluster](./img/diagram-releases.png) + +## Alpha features and releases + +It is important to understand the different ways the term "alpha" is used in the context of Camunda releases and features. + +### Alpha feature + +Refers to a feature or component released as an alpha version, in an early state for you to test and participate in development by sharing your feedback before the feature reaches [general availability (GA)](alpha-features.md#general-availability-ga). Some alpha features require turning on for your cluster before you can use them. See [alpha features](alpha-features.md). + +### Alpha release + +Refers to a release made available between minor versions that allows you to preview an upcoming minor version and the alpha features included (for example, `8.2.0-alpha1`, `8.2.0-alpha2`, and so on). Camunda strives to release this type of release on a monthly basis. To learn more about the alpha features included in each alpha release, see [release notes](release-notes.md). :::note -Interested in deprecation and support announcements? Read more on the [Announcements](announcements.md) page. +- An alpha release can also be made available where the entire version is an alpha with [alpha limitations](alpha-features.md#alpha). +- Additionally, "Alpha channel" refers to the channel you can use when provisioning a SaaS cluster. See [alpha channel](#alpha-channel). ::: -## Provisioning in SaaS +## SaaS provisioning -In our managed service, we differentiate between components that are part of a Camunda 8 cluster and components that are outside of the cluster. +In Camunda 8 SaaS we differentiate between components that are part of a Camunda 8 cluster (cluster components), and components outside the cluster (non-cluster components). -A cluster usually consists of: +### Cluster components -- Zeebe -- Operate -- Tasklist -- Optimize +A cluster typically consists of the following components: -For components **outside of the cluster**, we release new versions continuously and update customers to the latest version automatically whenever it is ready to be shipped. +- [Zeebe](/components/zeebe/zeebe-overview.md) +- [Operate](/components/operate/operate-introduction.md) +- [Tasklist](/components/tasklist/introduction-to-tasklist.md) +- [Optimize]($optimize$/components/what-is-optimize) -These components include: +You can provision cluster components using one of two channels, following the [Camunda release policy](https://camunda.com/release-policy/). -- Modeler (Web) -- Connectors -- Console +![Stable and alpha channels when provisioning a cluster](./img/channels.png) -Admins can [enable alpha features](/docs/components/console/manage-organization/enable-alpha-features.md) for components outside of the cluster in the organization settings screen. +#### Stable channel -For components inside a **cluster**, Camunda provides two channels for provisioning and follows the [Camunda release policy](https://camunda.com/release-policy/): +You can use the **Stable** channel to access [general availability](alpha-features.md#general-availability-ga) features for cluster components. -- **Stable**: General availability features for cluster components are available through the stable channel. This channel provides the latest feature and patch releases ready for most users at minimal risk. The releases follow semantic versioning and can be updated to the next minor or patch release without data loss. -- **Alpha**: Alpha features for cluster components are available through the alpha channel. This channel provides preview releases in preparation for the next stable release. They provide a short-term stability point to test new features and give feedback before they are released to the stable channel. Try these to ensure the upcoming release works with your infrastructure. These releases cannot be updated to a newer release, and therefore are not meant to be used in production. +- Provides the latest feature and patch releases ready for most users at minimal risk. +- Releases follow semantic versioning and can be updated to the next minor or patch release without data loss. +- On the stable channel, all supported minor versions are made available for provisioning. -On the stable channel, the last three supported minor versions are made available for provisioning. +#### Alpha channel -### New versions +You can use the **Alpha** channel to access [alpha features](alpha-features.md) and patch releases for cluster components. + +- Provides alpha releases to preview and prepare for the next stable release. +- Alpha releases provide a short-term stability point to test new features and give feedback before they are released to the stable channel. Use an alpha release to test the upcoming minor release with your infrastructure. +- Alpha releases cannot be updated to a newer release, and so are not suitable for use in production. + +### Non-cluster components -Whenever a new Camunda 8 version is released, we do our best to provide the new version on our managed service at the same time. We add a notice to Console, recommending an update to the latest version. +Non-cluster components include: + +- [Modeler (Web)](/components/modeler/web-modeler/launch-web-modeler.md) +- [Connectors](/components/console/introduction-to-console.md) +- [Console](/components/console/introduction-to-console.md) + +Non-cluster component versions are released continuously. + +- Customers are automatically updated to the latest component version when it is ready for release. +- Admins can [enable alpha features](/components/console/manage-organization/enable-alpha-features.md) for non-cluster components in organization settings. + +### New Camunda 8 versions + +When a new Camunda 8 version is released, we try to provide the new version on our managed service at the same time. + +An **Update available** notification is shown in Console, recommending that you update to the latest version. ![Console with notice to update the cluster in Camunda 8 SaaS](img/update-console.png) -#### Updates or restart for critical issues +#### Generation names -In our managed service we reserve the right to force update or restart a cluster immediately and without notice in advance if there is a critical security or stability issue. +As of Camunda 8.5.0, the generation naming scheme in Camunda 8 SaaS changed to no longer include the patch version. + +- The naming scheme used for the Camunda 8.5 generations is `Camunda .+gen`, where `N` is incremented with every atomic change to the component version set. + +- This decouples the generation name from the particular patch level of the components it contains, as some component versions such as Connectors are decoupled from other components. + +- You can learn about the particular component patch version changes in the update dialogue to the latest generation available. + +#### Update or restart for critical issues + +In our managed service, Camunda reserves the right to force update or restart a cluster immediately and without notice in advance if there is a critical security or stability issue. ## Self-Managed -Whenever a new Camunda 8 version is released, Camunda 8 Self-Managed enterprise customers will be notified via email. +When a new Camunda 8 version is released, Camunda 8 Self-Managed enterprise customers are notified via email. -If you are not an enterprise customer, you can stay up to date via [release blogs](https://camunda.com/blog/category/release-notes/), the [announcements page](/reference/announcements.md), or releases on [GitHub](https://github.com/camunda) and [Docker Hub](https://hub.docker.com/u/camunda). +:::info +Non-enterprise customers can stay up to date via [release blogs](https://camunda.com/blog/category/releases/), [announcements](announcements.md), or releases on [GitHub](https://github.com/camunda) and [Docker Hub](https://hub.docker.com/u/camunda). +::: ### Helm chart diff --git a/versioned_docs/version-8.2/self-managed/backup-restore/modeler-backup-and-restore.md b/versioned_docs/version-8.2/self-managed/backup-restore/modeler-backup-and-restore.md index 0d75606ffe3..2663d4f8429 100644 --- a/versioned_docs/version-8.2/self-managed/backup-restore/modeler-backup-and-restore.md +++ b/versioned_docs/version-8.2/self-managed/backup-restore/modeler-backup-and-restore.md @@ -37,7 +37,7 @@ After the database has been restored, you can start Web Modeler again. :::warning When restoring Web Modeler data from a backup, ensure that the ids of the users stored in your OIDC provider (e.g. Keycloak) do not change in between the backup and restore. -Otherwise, users may not be able to log in after the restore (see [Web Modeler's login troubleshooting guide](docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md#unique-constraint-violation)). +Otherwise, users may not be able to log in after the restore (see [Web Modeler's login troubleshooting guide](self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md#unique-constraint-violation)). ::: :::tip diff --git a/versioned_docs/version-8.2/self-managed/modeler/web-modeler/configuration/logging.md b/versioned_docs/version-8.2/self-managed/modeler/web-modeler/configuration/logging.md index 736e9147cd6..be8db0bd16d 100644 --- a/versioned_docs/version-8.2/self-managed/modeler/web-modeler/configuration/logging.md +++ b/versioned_docs/version-8.2/self-managed/modeler/web-modeler/configuration/logging.md @@ -24,6 +24,12 @@ for more information on how to customize the logback configuration for specific Enabling `DEBUG` logging for the `restapi` component can be useful for troubleshooting purposes, e.g. for [debugging Zeebe connection issues](../troubleshooting/troubleshoot-zeebe-connection.md#how-can-i-debug-log-grpc--zeebe-communication). +By default, Web Modeler's `restapi` component logs in JSON. For a more readable logging format, activate the Spring profile using the following: + +```properties +SPRING_PROFILES_INCLUDE=default-logging +``` + ## Logging configuration for the `webapp` component By default, the `webapp` component logs to the Docker container's standard output. diff --git a/versioned_docs/version-8.2/self-managed/platform-deployment/docker.md b/versioned_docs/version-8.2/self-managed/platform-deployment/docker.md index 5bb5266ce35..df59146472d 100644 --- a/versioned_docs/version-8.2/self-managed/platform-deployment/docker.md +++ b/versioned_docs/version-8.2/self-managed/platform-deployment/docker.md @@ -20,7 +20,7 @@ The provided Docker images are supported for production usage only on Linux syst | Operate | [camunda/operate:latest](https://hub.docker.com/r/camunda/operate) | [Operate configuration](../../operate-deployment/operate-configuration) | | Tasklist | [camunda/tasklist:latest](https://hub.docker.com/r/camunda/tasklist) | [Tasklist configuration](../../tasklist-deployment/tasklist-configuration) | | Identity | [camunda/identity:latest](https://hub.docker.com/r/camunda/identity) | [Configuration variables](../../identity/deployment/configuration-variables/) | -| Optimize | [camunda/optimize:latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start/#available-environment-variables) | +| Optimize | [camunda/optimize:8-latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start/#available-environment-variables) | | Connectors | [camunda/connectors:latest](https://hub.docker.com/r/camunda/connectors) | [Connectors configuration](../../connectors-deployment/connectors-configuration) | | Connectors Bundle | [camunda/connectors-bundle:latest](https://hub.docker.com/r/camunda/connectors-bundle) | [Connectors configuration](../../connectors-deployment/connectors-configuration) | @@ -155,7 +155,7 @@ Like for example this `docker-compose` configuration: ``` optimize: container_name: optimize - image: camunda/optimize:latest + image: camunda/optimize:8-latest ports: - 8090:8090 environment: diff --git a/versioned_docs/version-8.2/self-managed/platform-deployment/helm-kubernetes/upgrade.md b/versioned_docs/version-8.2/self-managed/platform-deployment/helm-kubernetes/upgrade.md index 4b74d66a0dc..1a88b8f3c17 100644 --- a/versioned_docs/version-8.2/self-managed/platform-deployment/helm-kubernetes/upgrade.md +++ b/versioned_docs/version-8.2/self-managed/platform-deployment/helm-kubernetes/upgrade.md @@ -103,8 +103,6 @@ As of this Helm chart version, the image tags for all components are independent With this change, Camunda applications no longer require a unified patch version. For example, a given installation may use Zeebe version 8.2.1, and Operate version 8.2.2. Note that only the patch version can differ between components. -The key `global.image.tag` is deprecated and it will be removed in the Camunda 8.6 release. - ### v8.2.9 #### Optimize diff --git a/versioned_docs/version-8.2/self-managed/zeebe-deployment/operations/metrics.md b/versioned_docs/version-8.2/self-managed/zeebe-deployment/operations/metrics.md index d2db94311ae..5c322a883e8 100644 --- a/versioned_docs/version-8.2/self-managed/zeebe-deployment/operations/metrics.md +++ b/versioned_docs/version-8.2/self-managed/zeebe-deployment/operations/metrics.md @@ -4,11 +4,7 @@ title: "Metrics" keywords: ["backpressure", "back-pressure", "back pressure"] --- -When operating a distributed system like Zeebe, it is important to put proper monitoring in place. - -To facilitate this, Zeebe exposes an extensive set of metrics. - -Zeebe exposes metrics over an embedded HTTP server. +When operating a distributed system like Zeebe, it is important to put proper monitoring in place. To facilitate this, Zeebe exposes an extensive set of metrics over an embedded HTTP server. ## Types of metrics @@ -17,8 +13,7 @@ Zeebe exposes metrics over an embedded HTTP server. ## Metrics format -Zeebe exposes metrics directly in Prometheus text format. -Read details of the format in the [Prometheus documentation][prom-format]. +Zeebe exposes metrics directly in the [Prometheus text format][prom-format]. **Example:** @@ -30,13 +25,13 @@ zeebe_stream_processor_records_total{action="processed",partition="1",} 20320.0 zeebe_stream_processor_records_total{action="skipped",partition="1",} 2153.0 ``` -## Configuring metrics +## Enable additional metrics -Configure the HTTP server to export the metrics in the [configuration file](../configuration/configuration.md). +Metrics are exported by default. To enable execution metrics, set the `ZEEBE_BROKER_EXECUTION_METRICS_EXPORTER_ENABLED` environment variable to `true` in your Zeebe [configuration file](../configuration/configuration.md). -## Connecting Prometheus +## Connect Prometheus -As explained, Zeebe exposes the metrics over an HTTP server. The default port is `9600`. +Zeebe exposes the metrics over an HTTP server. The default port is `9600`. Add the following entry to your `prometheus.yml`: diff --git a/versioned_docs/version-8.3/apis-tools/java-client-examples/cluster-topology-request.md b/versioned_docs/version-8.3/apis-tools/java-client-examples/cluster-topology-request.md index 8c3e2f4761c..c38a21a2e6b 100644 --- a/versioned_docs/version-8.3/apis-tools/java-client-examples/cluster-topology-request.md +++ b/versioned_docs/version-8.3/apis-tools/java-client-examples/cluster-topology-request.md @@ -15,7 +15,6 @@ Run Zeebe broker with endpoint `localhost:26500` (default). ## TopologyViewer.java -/tree/main/zeebe-client-plain-java [Source on GitHub](https://github.com/camunda-community-hub/camunda-8-examples/blob/main/zeebe-client-plain-java/src/main/java/io/camunda/zeebe/example/cluster/TopologyViewer.java) ```java diff --git a/versioned_docs/version-8.3/components/concepts/encryption-at-rest.md b/versioned_docs/version-8.3/components/concepts/encryption-at-rest.md new file mode 100644 index 00000000000..22f38e0ea53 --- /dev/null +++ b/versioned_docs/version-8.3/components/concepts/encryption-at-rest.md @@ -0,0 +1,72 @@ +--- +id: encryption-at-rest +title: "Encryption at rest" +description: "Camunda 8 SaaS cluster data at rest is protected using Google Cloud Platform (GCP) encryption with a provider-managed encryption key." +keywords: + [ + "encryption", + "encryption at rest", + "encryption key", + "provider key", + "software key", + "hardware key", + ] +--- + +Camunda 8 SaaS only + +Camunda 8 SaaS cluster data is encrypted at rest to provide security and protection for your data. + +## Overview + +By default, Camunda 8 SaaS cluster data at rest is protected with a provider-managed encryption key using [Google Cloud Platform (GCP) encryption](https://cloud.google.com/docs/security/encryption/default-encryption). The encryption key is owned and managed by GCP. + +Enterprise customers requiring a higher level of protection can select a dedicated Camunda-managed software or hardware (HSM) encryption key when creating a new cluster. The encryption key is managed by Camunda using Google Cloud Key Management Service (KMS). + +- You can only select the encryption type when [creating a cluster](/components/console/manage-clusters/create-cluster.md). You cannot change the encryption type after cluster creation. +- You can configure encryption keys on a per-cluster basis so that each cluster has a dedicated encryption key. Encryption keys can be configured for all cluster versions. +- You can view cluster encryption key details in **Cluster Details** on the **Console Overview** tab. + +:::note +Backups use the default provider GCP encryption. +::: + +### Encryption types + +The following table summarizes the available types of cluster encryption at rest. + +| Encryption type | Managed by | Protection level | +| :-------------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Provider encryption key (default) | Google | Google uses a [FIPS 140-2](https://cloud.google.com/security/compliance/fips-140-2-validated) validated encryption module (certificate 4407) in our production environment. | +| Software encryption key | Camunda |

    • Google KMS [software](https://cloud.google.com/docs/security/key-management-deep-dive#software_backend_software_protection_level) protection level.

    • Cryptographic operations are performed in software.
    • Compliant with [FIPS 140-2 Level 1](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).

    | +| Hardware encryption key | Camunda |

    • Google KMS [hardware](https://cloud.google.com/docs/security/key-management-deep-dive#backend_hardware_protection_level) protection level.

    • Cryptographic operations are performed in a hardware security module (HSM).
    • Compliant with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).

    | + +## Provider encryption key (default) + +By default, Camunda 8 SaaS cluster data at rest is protected using GCP encryption. + +- Provider encryption keys are owned and managed by GCP. +- Google uses a [FIPS 140-2](https://cloud.google.com/security/compliance/fips-140-2-validated) validated encryption module. + +:::info +Learn more about [Google default encryption at rest](https://cloud.google.com/docs/security/encryption/default-encryption) and default provider encryption settings. +::: + +## Camunda-managed software encryption key + +Camunda-managed software encryption keys use the Google KMS [software](https://cloud.google.com/docs/security/key-management-deep-dive#software_backend_software_protection_level) protection level to provide a higher level of protection than default provider encryption. + +- Requires an enterprise plan. +- Software encryption keys are managed by Camunda. +- Software encryption keys are compliant with [FIPS 140-2 Level 1](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation). +- Cryptographic operations are performed in software. +- Rotated with zero downtime for security and compliance. + +## Camunda-managed hardware encryption key + +Camunda-managed hardware encryption keys use the Google KMS [hardware](https://cloud.google.com/docs/security/key-management-deep-dive#backend_hardware_protection_level) protection level to provide a higher level of protection than both default provider encryption and Camunda-managed software encryption keys. + +- Requires an enterprise plan. +- Hardware encryption keys are managed by Camunda. +- Hardware encryption keys are compliant with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation). +- Rotated with zero downtime for security and compliance. diff --git a/versioned_docs/version-8.3/components/console/manage-clusters/create-cluster-include.md b/versioned_docs/version-8.3/components/console/manage-clusters/create-cluster-include.md index 0afc49841ce..c088409ac13 100644 --- a/versioned_docs/version-8.3/components/console/manage-clusters/create-cluster-include.md +++ b/versioned_docs/version-8.3/components/console/manage-clusters/create-cluster-include.md @@ -4,10 +4,18 @@ To deploy and run your process, you must create a cluster in Camunda 8. 1. To create a cluster, navigate to **Console**, click the **Clusters** tab, and click **Create new cluster**. -2. Name your cluster. For the purpose of this guide, we recommend using the **Stable** channel and the latest generation. Additionally, select your region. Click **Create cluster**. -3. Your cluster will take a few moments to create. Check the status on the **Clusters** page or by clicking into the cluster itself and looking at the **Applications** section. +1. Name your cluster. For the purpose of this guide, we recommend using the **Stable** channel and the latest generation. +1. Select your [region](/reference/regions.md). +1. Select your [encryption at rest protection level](/components/concepts/encryption-at-rest.md) (enterprise only). +1. Click **Create cluster**. +1. Your cluster will take a few moments to create. Check the status on the **Clusters** page or by clicking into the cluster itself and looking at the **Applications** section. -Even while the cluster shows a status **Creating**, you can still proceed to begin modeling. +:::note + +- If you haven't created a cluster yet, the **Clusters** page will be empty. +- Even while the cluster shows a status **Creating**, you can still proceed to begin modeling. + +::: ## Development clusters diff --git a/versioned_docs/version-8.3/components/console/manage-clusters/create-cluster.md b/versioned_docs/version-8.3/components/console/manage-clusters/create-cluster.md index c288914ce2f..add62f2c17f 100644 --- a/versioned_docs/version-8.3/components/console/manage-clusters/create-cluster.md +++ b/versioned_docs/version-8.3/components/console/manage-clusters/create-cluster.md @@ -4,8 +4,6 @@ title: Create a cluster description: "Let's take a closer look at creating clusters and viewing their details." --- -If you haven't created a cluster yet, the **Clusters** page will be empty. - import CreateCluster from './create-cluster-include.md' diff --git a/versioned_docs/version-8.3/components/modeler/bpmn/message-events/message-events.md b/versioned_docs/version-8.3/components/modeler/bpmn/message-events/message-events.md index bf7cc600fab..b358683f553 100644 --- a/versioned_docs/version-8.3/components/modeler/bpmn/message-events/message-events.md +++ b/versioned_docs/version-8.3/components/modeler/bpmn/message-events/message-events.md @@ -16,14 +16,29 @@ When a process is deployed, it creates a message subscription for each message s When the message subscription is created, a message can be correlated to the start event if the message name matches. On correlating the message, a new process instance is created and the corresponding message start event is activated. +### Message correlation + +When the message subscription is created, a message can be correlated to the start event if the message name matches. On correlating the message, a new process instance is created and the corresponding message start event is activated. + Messages are **not** correlated if they were published before the process was deployed or if a new version of the process is deployed without a proper start event. -The `correlationKey` of a published message can be used to control the process instance creation. If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +The `correlationKey` of a published message can be used to control the process instance creation. -When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (i.e. TTL > 0), this message is correlated and a new instance of the latest version of the process is created. +- If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +- When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (that is, TTL > 0), this message is correlated and a new instance of the latest version of the process is created. If the `correlationKey` of a message is empty, it creates a new process instance and does not check if an instance is already active. +:::note + +You do not specify a `correlationKey` for a message start event in the BPMN model when designing a process. + +- When an application sends a message that is caught by a message start event, the application can specify a `correlationKey` in the message. +- If a message caught by a start event contains a `correlationKey` value, the created process is tagged with that `correlationKey` value. +- Follow-up messages are then checked against this `correlationKey` value (that is, is there an active process instance that was started by a message with the same `correlationKey`?). + +::: + ## Intermediate message catch events When an intermediate message catch event is entered, a corresponding message subscription is created. The process instance stops at this point and waits until the message is correlated. When a message is correlated, the catch event is completed and the process instance continues. diff --git a/versioned_docs/version-8.3/components/modeler/desktop-modeler/flags/flags.md b/versioned_docs/version-8.3/components/modeler/desktop-modeler/flags/flags.md index b759922a484..7ce5ef6d3d6 100644 --- a/versioned_docs/version-8.3/components/modeler/desktop-modeler/flags/flags.md +++ b/versioned_docs/version-8.3/components/modeler/desktop-modeler/flags/flags.md @@ -4,6 +4,9 @@ title: Flags description: "Flags allow you to control the availability of certain features within Desktop Modeler." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + Flags allow you to control the availability of certain features within Desktop Modeler. ## Configuring Flags @@ -18,10 +21,39 @@ Place a `flags.json` file inside the `resources` folder of your local [`{USER_DA Pass flags via the command line when starting the application. + + + + +```plain +"Camunda Modeler.exe" --disable-plugins +``` + + + + + +```plain +camunda-modeler --disable-plugins ``` + + + + + +```plain camunda-modeler --disable-plugins ``` + + + Flags passed as command line arguments take precedence over those configured via a configuration file. ## Available Flags diff --git a/versioned_docs/version-8.3/components/modeler/desktop-modeler/troubleshooting.md b/versioned_docs/version-8.3/components/modeler/desktop-modeler/troubleshooting.md index 5b444ec9a3e..5ff8f6149ab 100644 --- a/versioned_docs/version-8.3/components/modeler/desktop-modeler/troubleshooting.md +++ b/versioned_docs/version-8.3/components/modeler/desktop-modeler/troubleshooting.md @@ -138,10 +138,39 @@ SSL-Session: You can also start Desktop Modeler with gRPC logging turned on to get detailed [logging output](#how-to-obtain-desktop-modeler-logs) on communication to Zeebe: -```sh + + + + +```plain +set DEBUG=* && set ZEEBE_NODE_LOG_LEVEL=DEBUG && set GRPC_VERBOSITY=DEBUG && set GRPC_TRACE=all && "Camunda Modeler.exe" +``` + + + + + +```plain DEBUG=* ZEEBE_NODE_LOG_LEVEL=DEBUG GRPC_VERBOSITY=DEBUG GRPC_TRACE=all camunda-modeler ``` + + + + +```plain +DEBUG=* ZEEBE_NODE_LOG_LEVEL=DEBUG GRPC_VERBOSITY=DEBUG GRPC_TRACE=all camunda-modeler +``` + + + + ## Other questions? Head over to the [Modeler category on the forum](https://forum.camunda.io/c/modeler/6) to receive help from the community. diff --git a/versioned_docs/version-8.3/reference/alpha-features.md b/versioned_docs/version-8.3/reference/alpha-features.md index bcb723daee4..8a65e9ee0fa 100644 --- a/versioned_docs/version-8.3/reference/alpha-features.md +++ b/versioned_docs/version-8.3/reference/alpha-features.md @@ -5,43 +5,49 @@ sidebar_label: Alpha features description: "Use alpha features to learn about upcoming changes, try them out, and share feedback." --- -Use alpha features to learn about upcoming changes, try them out, and share feedback. +You can use alpha features to learn about upcoming changes, try them out, and share feedback. -### Alpha +:::info +To understand the difference between an alpha feature and an alpha release, see [alpha features and releases](release-policy.md#alpha-features-and-releases). +::: + +## Alpha -Selected Camunda features and components are released as alpha versions. We release them in an early state for you to test and participate in development by sharing your feedback before they reach general availability (GA). +Selected Camunda features and components are released as **alpha** versions. We release these in an early state for you to test and participate in development by sharing your feedback before they reach [general availability (GA)](#general-availability-ga). -Characteristics of alpha features and components include: +Limitations of alpha features and components include: - Not for production use. - APIs, dependencies, and configuration are likely to change. - Not necessarily feature-complete. - Might lack full documentation. - No guaranteed updates to newer releases. -- Support based on SLAs agreed with you, but bugs are treated with the same priority as feature or help requests. +- Support based on SLAs agreed with you, but bugs are treated with the same priority as feature or help requests. See [Camunda Enterprise Support Guide](https://docs.camunda.org/enterprise/support/). - No maintenance service. - (SaaS) No availability targets. -- Released outside the standard [release policy](/reference/release-policy.md). +- Released outside the standard [release policy](release-policy.md). + +To learn more about using alpha features, see [enabling alpha features](/components/console/manage-organization/enable-alpha-features.md). :::note -While there is no maintenance service, customers can still provide feedback through designated support channels, depending on their SLAs. These channels include filing issues in the respective [GitHub repositories](https://github.com/camunda) and by submitting questions and suggestions by [contacting us](/contact). +- Alpha features can also be included in a minor version (stable) release. +- Although there is no maintenance service, customers can still provide feedback through designated support channels, depending on their SLAs. These channels include filing issues in the respective [GitHub repositories](https://github.com/camunda) and submitting questions and suggestions by [contacting us](/contact). ::: -Visit our documentation on [enabling alpha features](/components/console/manage-organization/enable-alpha-features.md) to learn more. - -### General availability (GA) +## General availability (GA) Once features and components are released and considered stable, they become generally available. -Characteristics include: +Stable features and components are: -- Allowed for production use. -- Fully documented and supported. +- Ready for production use for most users with minimal risk. +- Supported by [L1 Priority-level support](https://docs.camunda.org/enterprise/support/#priority-level) for production use. +- Fully documented. -:::note - -There are also alpha releases with **limited availability**, such as features that are only available to enterprise customers. +A release or component is considered stable if it has passed all verification and test stages and can be released to production. +:::note +Alpha releases can also have **limited availability**, such as features that are only available to enterprise customers. ::: diff --git a/versioned_docs/version-8.3/reference/dependencies.md b/versioned_docs/version-8.3/reference/dependencies.md index d1c5241b427..c4fba5c687f 100644 --- a/versioned_docs/version-8.3/reference/dependencies.md +++ b/versioned_docs/version-8.3/reference/dependencies.md @@ -2223,904 +2223,9 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t -### Web Modeler Dependencies (webapp) +- **Dependencies:** SBOM CycloneDX files with up-to-date lists of third party libraries used and their licenses can be requested [on demand](mailto:dependency-request@camunda.com). +- **Source code:** Access to source code is provided [on demand](mailto:dependency-request@camunda.com). -- [@ampproject/remapping@2.2.1](https://github.com/ampproject/remapping) (Apache-2.0) -- [@auth0/auth0-spa-js@2.1.2](https://github.com/auth0/auth0-spa-js) (MIT) -- [@babel/code-frame@7.23.5](https://github.com/babel/babel) (MIT) -- [@babel/compat-data@7.23.5](https://github.com/babel/babel) (MIT) -- [@babel/core@7.22.20](https://github.com/babel/babel) (MIT) -- [@babel/generator@7.23.6](https://github.com/babel/babel) (MIT) -- [@babel/helper-annotate-as-pure@7.22.5](https://github.com/babel/babel) (MIT) -- [@babel/helper-compilation-targets@7.23.6](https://github.com/babel/babel) (MIT) -- [@babel/helper-environment-visitor@7.22.20](https://github.com/babel/babel) (MIT) -- [@babel/helper-function-name@7.23.0](https://github.com/babel/babel) (MIT) -- [@babel/helper-hoist-variables@7.22.5](https://github.com/babel/babel) (MIT) -- [@babel/helper-module-imports@7.22.15](https://github.com/babel/babel) (MIT) -- [@babel/helper-module-transforms@7.23.3](https://github.com/babel/babel) (MIT) -- [@babel/helper-plugin-utils@7.22.5](https://github.com/babel/babel) (MIT) -- [@babel/helper-simple-access@7.22.5](https://github.com/babel/babel) (MIT) -- [@babel/helper-split-export-declaration@7.22.6](https://github.com/babel/babel) (MIT) -- [@babel/helper-string-parser@7.23.4](https://github.com/babel/babel) (MIT) -- [@babel/helper-validator-identifier@7.22.20](https://github.com/babel/babel) (MIT) -- [@babel/helper-validator-option@7.23.5](https://github.com/babel/babel) (MIT) -- [@babel/helpers@7.23.7](https://github.com/babel/babel) (MIT) -- [@babel/highlight@7.23.4](https://github.com/babel/babel) (MIT) -- [@babel/parser@7.23.6](https://github.com/babel/babel) (MIT) -- [@babel/plugin-syntax-jsx@7.23.3](https://github.com/babel/babel) (MIT) -- [@babel/runtime@7.23.6](https://github.com/babel/babel) (MIT) -- [@babel/template@7.22.15](https://github.com/babel/babel) (MIT) -- [@babel/traverse@7.23.2](https://github.com/babel/babel) (MIT) -- [@babel/types@7.23.6](https://github.com/babel/babel) (MIT) -- [@bpmn-io/add-exporter@0.2.0](https://github.com/bpmn-io/add-exporter) (MIT) -- [@bpmn-io/align-to-origin@0.7.0](https://github.com/bpmn-io/align-to-origin) (MIT) -- [@bpmn-io/cm-theme@0.1.0-alpha.2](https://www.npmjs.com/package/@bpmn-io/cm-theme@0.1.0-alpha.2) (MIT) -- [@bpmn-io/diagram-js-ui@0.2.2](https://github.com/bpmn-io/diagram-js-ui) (MIT) -- [@bpmn-io/dmn-variable-resolver@0.4.0](https://www.npmjs.com/package/@bpmn-io/dmn-variable-resolver@0.4.0) (MIT) -- [@bpmn-io/draggle@4.0.0](https://github.com/bpmn-io/draggle) (MIT) -- [@bpmn-io/element-template-chooser@1.0.0](https://github.com/bpmn-io/element-template-chooser) (MIT) -- [@bpmn-io/element-template-icon-renderer@0.5.1](https://github.com/bpmn-io/element-template-icon-renderer) (MIT) -- [@bpmn-io/element-templates-validator@1.1.0](https://github.com/bpmn-io/element-templates-validator) (MIT) -- [@bpmn-io/extract-process-variables@0.8.0](https://github.com/bpmn-io/extract-process-variables) (MIT) -- [@bpmn-io/feel-editor@0.9.1](https://github.com/bpmn-io/feel-editor) (MIT) -- [@bpmn-io/feel-editor@1.1.0](https://github.com/bpmn-io/feel-editor) (MIT) -- [@bpmn-io/feel-lint@0.1.1](https://github.com/bpmn-io/feel-linter) (MIT) -- [@bpmn-io/feel-lint@0.2.0](https://github.com/bpmn-io/feel-linter) (MIT) -- [@bpmn-io/feel-lint@1.2.0](https://github.com/bpmn-io/feel-linter) (MIT) -- [@bpmn-io/form-js-carbon-styles@1.6.2](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-editor@1.3.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-playground@1.3.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-viewer@1.3.0](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js@1.3.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-variable-provider@1.3.0](https://github.com/bpmn-io/form-variable-provider) (MIT) -- [@bpmn-io/moddle-utils@0.1.0](https://github.com/bpmn-io/moddle-utils) (MIT) -- [@bpmn-io/moddle-utils@0.2.1](https://github.com/bpmn-io/moddle-utils) (MIT) -- [@bpmn-io/properties-panel@3.15.0](https://github.com/bpmn-io/properties-panel) (MIT) -- [@bpmn-io/properties-panel@3.8.0](https://github.com/bpmn-io/properties-panel) (MIT) -- [@bpmn-io/replace-ids@0.2.0](https://github.com/bpmn-io/replace-ids) (MIT) -- [@bpmn-io/variable-resolver@1.2.0](https://www.npmjs.com/package/@bpmn-io/variable-resolver@1.2.0) (MIT) -- [@camunda/camunda-composite-components@0.2.12](https://www.npmjs.com/package/@camunda/camunda-composite-components@0.2.12) (Apache-2.0) -- [@camunda/element-templates-json-schema@0.14.0](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@camunda/example-data-properties-provider@1.2.0](https://www.npmjs.com/package/@camunda/example-data-properties-provider@1.2.0) (MIT) -- [@camunda/execution-platform@0.3.2](https://github.com/camunda/execution-platform) (MIT) -- [@camunda/form-js-assistant-module@0.4.1](https://github.com/camunda/form-js-assistant-module) (UNKNOWN) -- [@camunda/form-linting@0.11.0](https://www.npmjs.com/package/@camunda/form-linting@0.11.0) (MIT) -- [@camunda/form-playground@0.9.2](https://github.com/camunda/form-playground) (MIT) -- [@camunda/linting@3.9.0](https://github.com/camunda/linting) (MIT) -- [@camunda/zeebe-element-templates-json-schema@0.12.0](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@carbon/colors@11.20.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/feature-flags@0.16.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/grid@11.21.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icon-helpers@10.45.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icons-react@11.27.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/layout@11.20.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/motion@11.16.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/react@1.38.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/styles@1.46.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/telemetry@0.1.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/themes@11.28.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/type@11.25.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@codemirror/autocomplete@6.12.0](https://github.com/codemirror/autocomplete) (MIT) -- [@codemirror/commands@6.3.3](https://github.com/codemirror/commands) (MIT) -- [@codemirror/lang-json@6.0.1](https://github.com/codemirror/lang-json) (MIT) -- [@codemirror/language@6.10.1](https://github.com/codemirror/language) (MIT) -- [@codemirror/lint@6.4.2](https://github.com/codemirror/lint) (MIT) -- [@codemirror/search@6.5.5](https://github.com/codemirror/search) (MIT) -- [@codemirror/state@6.4.0](https://github.com/codemirror/state) (MIT) -- [@codemirror/view@6.23.1](https://github.com/codemirror/view) (MIT) -- [@colors/colors@1.5.0](https://github.com/DABH/colors.js) (MIT) -- [@colors/colors@1.6.0](https://github.com/DABH/colors.js) (MIT) -- [@dabh/diagnostics@2.0.3](https://github.com/3rd-Eden/diagnostics) (MIT) -- [@emotion/is-prop-valid@1.2.1](https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid) (MIT) -- [@emotion/memoize@0.8.1](https://github.com/emotion-js/emotion/tree/main/packages/memoize) (MIT) -- [@emotion/stylis@0.8.5](https://github.com/emotion-js/emotion/tree/master/packages/stylis) (MIT) -- [@emotion/unitless@0.7.5](https://github.com/emotion-js/emotion/tree/master/packages/unitless) (MIT) -- [@hapi/hoek@9.3.0](https://github.com/hapijs/hoek) (BSD-3-Clause) -- [@hapi/topo@5.1.0](https://github.com/hapijs/topo) (BSD-3-Clause) -- [@ibm/plex@6.0.0-next.6](https://github.com/ibm/plex) (OFL-1.1) -- [@jridgewell/gen-mapping@0.3.3](https://github.com/jridgewell/gen-mapping) (MIT) -- [@jridgewell/resolve-uri@3.1.1](https://github.com/jridgewell/resolve-uri) (MIT) -- [@jridgewell/set-array@1.1.2](https://github.com/jridgewell/set-array) (MIT) -- [@jridgewell/sourcemap-codec@1.4.15](https://github.com/jridgewell/sourcemap-codec) (MIT) -- [@jridgewell/trace-mapping@0.3.20](https://github.com/jridgewell/trace-mapping) (MIT) -- [@lezer/common@1.2.0](https://github.com/lezer-parser/common) (MIT) -- [@lezer/highlight@1.2.0](https://github.com/lezer-parser/highlight) (MIT) -- [@lezer/json@1.0.2](https://github.com/lezer-parser/json) (MIT) -- [@lezer/lr@1.4.0](https://github.com/lezer-parser/lr) (MIT) -- [@lezer/markdown@1.1.2](https://github.com/lezer-parser/markdown) (MIT) -- [@monaco-editor/loader@1.4.0](https://github.com/suren-atoyan/monaco-loader) (MIT) -- [@monaco-editor/react@4.5.2](https://github.com/suren-atoyan/monaco-react) (MIT) -- [@sentry-internal/tracing@7.72.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/browser@7.72.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/core@7.72.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/node@7.72.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/replay@7.72.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/types@7.72.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/utils@7.72.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sideway/address@4.1.4](https://github.com/sideway/address) (BSD-3-Clause) -- [@sideway/formula@3.0.1](https://github.com/sideway/formula) (BSD-3-Clause) -- [@sideway/pinpoint@2.0.0](https://github.com/sideway/pinpoint) (BSD-3-Clause) -- [@types/accepts@1.3.7](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/body-parser@1.19.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/co-body@6.1.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/connect@3.4.38](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/content-disposition@0.5.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/cookies@0.7.10](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/debug@4.1.12](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/express-serve-static-core@4.17.41](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/express@4.17.21](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/formidable@2.0.6](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/hast@2.3.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/http-assert@1.5.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/http-errors@2.0.4](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/keygrip@1.0.6](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/koa-compose@3.2.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/koa@2.13.12](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/mdast@3.0.15](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/mime@1.3.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/ms@0.7.34](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/node-fetch@2.6.9](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/node@20.10.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/offscreencanvas@2019.7.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/prop-types@15.7.11](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/qs@6.9.10](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/raf@3.4.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/range-parser@1.2.7](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/react@18.2.45](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/scheduler@0.16.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/send@0.17.4](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/serve-static@1.15.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/triple-beam@1.3.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/unist@2.0.10](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [abort-controller@3.0.0](https://github.com/mysticatea/abort-controller) (MIT) -- [accepts@1.3.8](https://github.com/jshttp/accepts) (MIT) -- [agent-base@6.0.2](https://github.com/TooTallNate/node-agent-base) (MIT) -- [ansi-colors@4.1.3](https://github.com/doowb/ansi-colors) (MIT) -- [ansi-styles@3.2.1](https://github.com/chalk/ansi-styles) (MIT) -- [any-promise@1.3.0](https://github.com/kevinbeaty/any-promise) (MIT) -- [anymatch@3.1.3](https://github.com/micromatch/anymatch) (ISC) -- [array-move@3.0.1](https://github.com/sindresorhus/array-move) (MIT) -- [asap@2.0.6](https://github.com/kriskowal/asap) (MIT) -- [async@3.2.5](https://github.com/caolan/async) (MIT) -- [asynckit@0.4.0](https://github.com/alexindigo/asynckit) (MIT) -- [atoa@1.0.0](https://github.com/bevacqua/atoa) (MIT) -- [axios@1.7.4](https://github.com/axios/axios) (MIT) -- [babel-plugin-styled-components@2.1.4](https://github.com/styled-components/babel-plugin-styled-components) (MIT) -- [bail@2.0.2](https://github.com/wooorm/bail) (MIT) -- [base64-js@1.5.1](https://github.com/beatgammit/base64-js) (MIT) -- [big.js@6.2.1](https://github.com/MikeMcl/big.js) (MIT) -- [binary-extensions@2.2.0](https://github.com/sindresorhus/binary-extensions) (MIT) -- [bintrees@1.0.2](https://github.com/vadimg/js_bintrees) (MIT) -- [bpmn-js-color-picker@0.6.1](https://github.com/bpmn-io/bpmn-js-color-picker) (MIT) -- [bpmn-js-create-append-anything@0.4.0](https://github.com/bpmn-io/bpmn-js-create-append-anything) (MIT) -- [bpmn-js-disable-collapsed-subprocess@0.1.7](https://github.com/bpmn-io/bpmn-js-disable-collapsed-subprocess) (MIT) -- [bpmn-js-element-templates@1.4.0](https://github.com/bpmn-io/bpmn-js-element-templates) (MIT) -- [bpmn-js-executable-fix@0.2.1](https://github.com/bpmn-io/bpmn-js-executable-fix) (MIT) -- [bpmn-js-properties-panel@5.5.0](https://github.com/bpmn-io/bpmn-js-properties-panel) (MIT) -- [bpmn-js-token-simulation@0.31.1](https://github.com/bpmn-io/bpmn-js-token-simulation) (MIT) -- [bpmn-js-tracking@0.3.3](https://github.com/bpmn-io/bpmn-js-tracking) (MIT) -- [bpmn-js@14.0.0](https://github.com/bpmn-io/bpmn-js) (MIT\*) -- [bpmn-moddle@8.0.1](https://github.com/bpmn-io/bpmn-moddle) (MIT) -- [bpmnlint-plugin-camunda-compat@2.9.0](https://github.com/camunda/bpmnlint-plugin-camunda-compat) (MIT) -- [bpmnlint-utils@1.1.1](https://github.com/bpmn-io/bpmnlint-utils) (MIT) -- [bpmnlint@8.3.2](https://github.com/bpmn-io/bpmnlint) (MIT) -- [bpmnlint@9.2.0](https://github.com/bpmn-io/bpmnlint) (MIT) -- [braces@3.0.3](https://github.com/micromatch/braces) (MIT) -- [browserslist@4.22.2](https://github.com/browserslist/browserslist) (MIT) -- [buffer-from@1.1.2](https://github.com/LinusU/buffer-from) (MIT) -- [bytes@3.1.2](https://github.com/visionmedia/bytes.js) (MIT) -- [cache-content-type@1.0.1](https://github.com/node-modules/cache-content-type) (MIT) -- [call-bind@1.0.5](https://github.com/ljharb/call-bind) (MIT) -- [camelize@1.0.1](https://github.com/ljharb/camelize) (MIT) -- [camunda-bpmn-js-behaviors@1.2.2](https://github.com/camunda/camunda-bpmn-js-behaviors) (MIT) -- [camunda-bpmn-js@3.4.0](https://github.com/camunda/camunda-bpmn-js) (MIT) -- [camunda-bpmn-moddle@7.0.1](https://github.com/camunda/camunda-bpmn-moddle) (MIT) -- [camunda-dmn-js@1.3.3](https://github.com/camunda/camunda-dmn-js) (MIT) -- [camunda-dmn-moddle@1.2.0](https://github.com/camunda/camunda-dmn-moddle) (MIT) -- [caniuse-lite@1.0.30001570](https://github.com/browserslist/caniuse-lite) (CC-BY-4.0) -- [canvg@4.0.1](https://github.com/canvg/canvg) (MIT) -- [chalk@2.4.2](https://github.com/chalk/chalk) (MIT) -- [character-entities@2.0.2](https://github.com/wooorm/character-entities) (MIT) -- [chokidar@3.5.3](https://github.com/paulmillr/chokidar) (MIT) -- [classnames@2.3.2](https://github.com/JedWatson/classnames) (MIT) -- [cli-table@0.3.11](https://github.com/Automattic/cli-table) (MIT\*) -- [clsx@2.0.0](https://github.com/lukeed/clsx) (MIT) -- [co-body@6.1.0](https://github.com/cojs/co-body) (MIT) -- [co@4.6.0](https://github.com/tj/co) (MIT) -- [codemirror@6.0.1](https://github.com/codemirror/basic-setup) (MIT) -- [color-convert@1.9.3](https://github.com/Qix-/color-convert) (MIT) -- [color-convert@2.0.1](https://github.com/Qix-/color-convert) (MIT) -- [color-name@1.1.3](https://github.com/dfcreative/color-name) (MIT) -- [color-name@1.1.4](https://github.com/colorjs/color-name) (MIT) -- [color-string@1.9.1](https://github.com/Qix-/color-string) (MIT) -- [color-support@1.1.3](https://github.com/isaacs/color-support) (ISC) -- [color@3.2.1](https://github.com/Qix-/color) (MIT) -- [color@4.2.3](https://github.com/Qix-/color) (MIT) -- [colors@1.0.3](https://github.com/Marak/colors.js) (MIT) -- [colorspace@1.1.4](https://github.com/3rd-Eden/colorspace) (MIT) -- [combined-stream@1.0.8](https://github.com/felixge/node-combined-stream) (MIT) -- [comma-separated-tokens@2.0.3](https://github.com/wooorm/comma-separated-tokens) (MIT) -- [commander@9.5.0](https://github.com/tj/commander.js) (MIT) -- [component-event@0.1.4](https://github.com/component/event) (MIT\*) -- [component-event@0.2.1](https://github.com/component/event) (MIT) -- [component-props@1.1.1](https://github.com/component/props) (MIT\*) -- [component-xor@0.0.4](https://github.com/component/xor) (MIT) -- [compressible@2.0.18](https://github.com/jshttp/compressible) (MIT) -- [compute-scroll-into-view@2.0.4](https://github.com/scroll-into-view/compute-scroll-into-view) (MIT) -- [content-disposition@0.5.4](https://github.com/jshttp/content-disposition) (MIT) -- [content-type@1.0.5](https://github.com/jshttp/content-type) (MIT) -- [contra@1.9.4](https://github.com/bevacqua/contra) (MIT) -- [convert-source-map@1.9.0](https://github.com/thlorenz/convert-source-map) (MIT) -- [cookie@0.5.0](https://github.com/jshttp/cookie) (MIT) -- [cookies@0.8.0](https://github.com/pillarjs/cookies) (MIT) -- [copy-to-clipboard@3.3.3](https://github.com/sudodoki/copy-to-clipboard) (MIT) -- [core-js@3.32.2](https://github.com/zloirock/core-js) (MIT) -- [crelt@1.0.6](https://github.com/marijnh/crelt) (MIT) -- [crossvent@1.5.5](https://github.com/bevacqua/crossvent) (MIT) -- [css-color-keywords@1.0.0](https://github.com/sonicdoe/css-color-keywords) (ISC) -- [css-to-react-native@3.2.0](https://github.com/styled-components/css-to-react-native) (MIT) -- [css.escape@1.5.1](https://github.com/mathiasbynens/CSS.escape) (MIT) -- [csstype@3.1.3](https://github.com/frenic/csstype) (MIT) -- [custom-event@1.0.1](https://github.com/webmodules/custom-event) (MIT) -- [debug@3.2.7](https://github.com/visionmedia/debug) (MIT) -- [debug@4.3.4](https://github.com/debug-js/debug) (MIT) -- [decode-named-character-reference@1.0.2](https://github.com/wooorm/decode-named-character-reference) (MIT) -- [deep-equal@1.0.1](https://github.com/substack/node-deep-equal) (MIT) -- [deep-object-diff@1.1.9](https://github.com/mattphillips/deep-object-diff) (MIT) -- [deepmerge@4.3.1](https://github.com/TehShrike/deepmerge) (MIT) -- [define-data-property@1.1.1](https://github.com/ljharb/define-data-property) (MIT) -- [delayed-stream@1.0.0](https://github.com/felixge/node-delayed-stream) (MIT) -- [delegates@1.0.0](https://github.com/visionmedia/node-delegates) (MIT) -- [depd@1.1.2](https://github.com/dougwilson/nodejs-depd) (MIT) -- [depd@2.0.0](https://github.com/dougwilson/nodejs-depd) (MIT) -- [dequal@2.0.3](https://github.com/lukeed/dequal) (MIT) -- [destroy@1.2.0](https://github.com/stream-utils/destroy) (MIT) -- [dezalgo@1.0.4](https://github.com/npm/dezalgo) (ISC) -- [diagram-js-direct-editing@2.1.1](https://github.com/bpmn-io/diagram-js-direct-editing) (MIT) -- [diagram-js-grid@0.2.0](https://github.com/bpmn-io/diagram-js-grid) (MIT) -- [diagram-js-minimap@4.1.0](https://github.com/bpmn-io/diagram-js-minimap) (MIT) -- [diagram-js-origin@1.4.0](https://github.com/bpmn-io/diagram-js-origin) (MIT) -- [diagram-js@12.3.0](https://github.com/bpmn-io/diagram-js) (MIT) -- [diagram-js@12.8.1](https://github.com/bpmn-io/diagram-js) (MIT) -- [didi@9.0.2](https://github.com/nikku/didi) (MIT) -- [diff@5.1.0](https://github.com/kpdecker/jsdiff) (BSD-3-Clause) -- [dmn-js-decision-table@14.7.1](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-drd@14.4.1](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-literal-expression@14.7.1](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-properties-panel@3.1.0](https://github.com/bpmn-io/dmn-js-properties-panel) (MIT) -- [dmn-js-shared@14.4.1](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-shared@14.7.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js@14.4.3](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-moddle@10.0.0](https://github.com/bpmn-io/dmn-moddle) (MIT) -- [dom-iterator@1.0.0](https://github.com/MatthewMueller/dom-iterator) (MIT) -- [domify@1.4.2](https://github.com/sindresorhus/domify) (MIT) -- [dompurify@3.0.5](https://github.com/cure53/DOMPurify) ((MPL-2.0 OR Apache-2.0)) -- [downloadjs@1.4.7](https://github.com/rndme/download) (MIT) -- [downshift@8.1.0](https://github.com/downshift-js/downshift) (MIT) -- [ee-first@1.1.1](https://github.com/jonathanong/ee-first) (MIT) -- [electron-to-chromium@1.4.615](https://github.com/kilian/electron-to-chromium) (ISC) -- [enabled@2.0.0](https://github.com/3rd-Eden/enabled) (MIT) -- [encodeurl@1.0.2](https://github.com/pillarjs/encodeurl) (MIT) -- [es6-promise@3.3.1](https://github.com/stefanpenner/es6-promise) (MIT) -- [escalade@3.1.1](https://github.com/lukeed/escalade) (MIT) -- [escape-html@1.0.3](https://github.com/component/escape-html) (MIT) -- [escape-string-regexp@1.0.5](https://github.com/sindresorhus/escape-string-regexp) (MIT) -- [event-source-polyfill@1.0.31](https://github.com/Yaffle/EventSource) (MIT) -- [event-target-shim@5.0.1](https://github.com/mysticatea/event-target-shim) (MIT) -- [extend@3.0.2](https://github.com/justmoon/node-extend) (MIT) -- [fecha@4.2.3](https://github.com/taylorhakes/fecha) (MIT) -- [feelers@0.1.0](https://www.npmjs.com/package/feelers) (MIT) -- [feelers@1.3.0](https://www.npmjs.com/package/feelers) (MIT) -- [feelin@1.2.0](https://github.com/nikku/feelin) (MIT) -- [feelin@3.0.1](https://github.com/nikku/feelin) (MIT) -- [file-drops@0.4.0](https://github.com/nikku/file-drops) (MIT) -- [fill-range@7.1.1](https://github.com/jonschlinkert/fill-range) (MIT) -- [flatpickr@4.6.13](https://github.com/chmln/flatpickr) (MIT) -- [flatpickr@4.6.9](https://github.com/chmln/flatpickr) (MIT) -- [fn.name@1.1.0](https://github.com/3rd-Eden/fn.name) (MIT) -- [focus-trap@7.5.4](https://github.com/focus-trap/focus-trap) (MIT) -- [follow-redirects@1.15.6](https://github.com/follow-redirects/follow-redirects) (MIT) -- [form-data@4.0.0](https://github.com/form-data/form-data) (MIT) -- [formidable@2.1.2](https://github.com/node-formidable/formidable) (MIT) -- [fresh@0.5.2](https://github.com/jshttp/fresh) (MIT) -- [fs-readdir-recursive@1.1.0](https://github.com/fs-utils/fs-readdir-recursive) (MIT) -- [fsevents@2.3.3](https://github.com/fsevents/fsevents) (MIT) -- [function-bind@1.1.2](https://github.com/Raynos/function-bind) (MIT) -- [gensync@1.0.0-beta.2](https://github.com/loganfsmyth/gensync) (MIT) -- [get-intrinsic@1.2.2](https://github.com/ljharb/get-intrinsic) (MIT) -- [glob-parent@5.1.2](https://github.com/gulpjs/glob-parent) (ISC) -- [globals@11.12.0](https://github.com/sindresorhus/globals) (MIT) -- [globalyzer@0.1.0](https://github.com/terkelg/globalyzer) (MIT) -- [globrex@0.1.2](https://github.com/terkelg/globrex) (MIT) -- [gopd@1.0.1](https://github.com/ljharb/gopd) (MIT) -- [hammerjs@2.0.8](https://github.com/hammerjs/hammer.js) (MIT) -- [has-flag@3.0.0](https://github.com/sindresorhus/has-flag) (MIT) -- [has-property-descriptors@1.0.1](https://github.com/inspect-js/has-property-descriptors) (MIT) -- [has-proto@1.0.1](https://github.com/inspect-js/has-proto) (MIT) -- [has-symbols@1.0.3](https://github.com/inspect-js/has-symbols) (MIT) -- [has-tostringtag@1.0.0](https://github.com/inspect-js/has-tostringtag) (MIT) -- [hasown@2.0.0](https://github.com/inspect-js/hasOwn) (MIT) -- [hast-util-whitespace@2.0.1](https://github.com/syntax-tree/hast-util-whitespace) (MIT) -- [helmet@6.2.0](https://github.com/helmetjs/helmet) (MIT) -- [hexoid@1.0.0](https://github.com/lukeed/hexoid) (MIT) -- [history@4.10.1](https://github.com/ReactTraining/history) (MIT) -- [hoist-non-react-statics@3.3.2](https://github.com/mridgway/hoist-non-react-statics) (BSD-3-Clause) -- [htm@3.1.1](https://github.com/developit/htm) (Apache-2.0) -- [http-assert@1.5.0](https://github.com/jshttp/http-assert) (MIT) -- [http-errors@1.8.1](https://github.com/jshttp/http-errors) (MIT) -- [http-errors@2.0.0](https://github.com/jshttp/http-errors) (MIT) -- [https-proxy-agent@5.0.1](https://github.com/TooTallNate/node-https-proxy-agent) (MIT) -- [iconv-lite@0.4.24](https://github.com/ashtuchkin/iconv-lite) (MIT) -- [ids@1.0.5](https://github.com/bpmn-io/ids) (MIT) -- [immutable@4.3.4](https://github.com/immutable-js/immutable-js) (MIT) -- [indexof@0.0.1](https://www.npmjs.com/package/indexof) (MIT\*) -- [inferno-shared@5.6.1](https://github.com/infernojs/inferno) (MIT) -- [inferno-vnode-flags@5.6.1](https://github.com/infernojs/inferno) (MIT) -- [inferno@5.6.2](https://github.com/infernojs/inferno) (MIT) -- [inflation@2.1.0](https://github.com/stream-utils/inflation) (MIT) -- [inherits-browser@0.1.0](https://github.com/nikku/inherits-browser) (ISC) -- [inherits@2.0.4](https://github.com/isaacs/inherits) (ISC) -- [inline-style-parser@0.1.1](https://github.com/remarkablemark/inline-style-parser) (MIT) -- [invariant@2.2.4](https://github.com/zertosh/invariant) (MIT) -- [is-arrayish@0.3.2](https://github.com/qix-/node-is-arrayish) (MIT) -- [is-base64@1.1.0](https://github.com/miguelmota/is-base64) (MIT) -- [is-binary-path@2.1.0](https://github.com/sindresorhus/is-binary-path) (MIT) -- [is-buffer@2.0.5](https://github.com/feross/is-buffer) (MIT) -- [is-extglob@2.1.1](https://github.com/jonschlinkert/is-extglob) (MIT) -- [is-generator-function@1.0.10](https://github.com/inspect-js/is-generator-function) (MIT) -- [is-glob@4.0.3](https://github.com/micromatch/is-glob) (MIT) -- [is-number@7.0.0](https://github.com/jonschlinkert/is-number) (MIT) -- [is-plain-obj@4.1.0](https://github.com/sindresorhus/is-plain-obj) (MIT) -- [is-stream@2.0.1](https://github.com/sindresorhus/is-stream) (MIT) -- [isarray@0.0.1](https://github.com/juliangruber/isarray) (MIT) -- [joi@17.10.2](https://github.com/hapijs/joi) (BSD-3-Clause) -- [jose@4.15.5](https://github.com/panva/jose) (MIT) -- [js-sha256@0.9.0](https://github.com/emn178/js-sha256) (MIT) -- [js-tokens@4.0.0](https://github.com/lydell/js-tokens) (MIT) -- [jsesc@2.5.2](https://github.com/mathiasbynens/jsesc) (MIT) -- [json-source-map@0.6.1](https://github.com/epoberezkin/json-source-map) (MIT) -- [json5@2.2.3](https://github.com/json5/json5) (MIT) -- [jwt-decode@3.1.2](https://github.com/auth0/jwt-decode) (MIT) -- [keycloak-js@22.0.3](https://github.com/keycloak/keycloak) (Apache-2.0) -- [keycode-js@3.1.0](https://github.com/kabirbaidhya/keycode-js) (MIT) -- [keygrip@1.1.0](https://github.com/crypto-utils/keygrip) (MIT) -- [kleur@4.1.5](https://github.com/lukeed/kleur) (MIT) -- [koa-better-http-proxy@0.2.10](https://github.com/nsimmons/koa-better-http-proxy) (MIT) -- [koa-body@6.0.1](https://github.com/koajs/koa-body) (MIT) -- [koa-compose@4.1.0](https://github.com/koajs/compose) (MIT) -- [koa-compress@5.1.1](https://github.com/koajs/compress) (MIT) -- [koa-convert@2.0.0](https://github.com/gyson/koa-convert) (MIT) -- [koa-helmet@7.0.2](https://github.com/venables/koa-helmet) (MIT) -- [koa-is-json@1.0.0](https://github.com/koajs/is-json) (MIT) -- [koa-mount@4.0.0](https://github.com/koajs/mount) (MIT) -- [koa-router@12.0.0](https://github.com/koajs/router) (MIT) -- [koa-static-cache@5.1.4](https://github.com/koajs/static-cache) (MIT) -- [koa@2.14.2](https://github.com/koajs/koa) (MIT) -- [kuler@2.0.0](https://github.com/3rd-Eden/kuler) (MIT) -- [lang-feel@1.1.0](https://github.com/nikku/lang-feel) (MIT) -- [lang-feel@2.0.0](https://github.com/nikku/lang-feel) (MIT) -- [lezer-feel@0.15.0](https://github.com/nikku/lezer-feel) (MIT) -- [lezer-feel@0.16.2](https://github.com/nikku/lezer-feel) (MIT) -- [lezer-feel@1.2.5](https://github.com/nikku/lezer-feel) (MIT) -- [linkify-html@4.1.1](https://github.com/Hypercontext/linkifyjs) (MIT) -- [linkifyjs@4.1.1](https://github.com/Hypercontext/linkifyjs) (MIT) -- [lodash.debounce@4.0.8](https://github.com/lodash/lodash) (MIT) -- [lodash.findlast@4.6.0](https://github.com/lodash/lodash) (MIT) -- [lodash.isequal@4.5.0](https://github.com/lodash/lodash) (MIT) -- [lodash.omit@4.5.0](https://github.com/lodash/lodash) (MIT) -- [lodash.throttle@4.1.1](https://github.com/lodash/lodash) (MIT) -- [lodash@4.17.21](https://github.com/lodash/lodash) (MIT) -- [logform@2.6.0](https://github.com/winstonjs/logform) (MIT) -- [loose-envify@1.4.0](https://github.com/zertosh/loose-envify) (MIT) -- [lru-cache@5.1.1](https://github.com/isaacs/node-lru-cache) (ISC) -- [lru-cache@6.0.0](https://github.com/isaacs/node-lru-cache) (ISC) -- [lru_map@0.3.3](https://github.com/rsms/js-lru) (MIT) -- [luxon@3.4.4](https://github.com/moment/luxon) (MIT) -- [matches-selector@1.2.0](https://github.com/ForbesLindesay/matches-selector) (MIT) -- [mdast-util-definitions@5.1.2](https://github.com/syntax-tree/mdast-util-definitions) (MIT) -- [mdast-util-from-markdown@1.3.1](https://github.com/syntax-tree/mdast-util-from-markdown) (MIT) -- [mdast-util-to-hast@12.3.0](https://github.com/syntax-tree/mdast-util-to-hast) (MIT) -- [mdast-util-to-string@3.2.0](https://github.com/syntax-tree/mdast-util-to-string) (MIT) -- [media-typer@0.3.0](https://github.com/jshttp/media-typer) (MIT) -- [methods@1.1.2](https://github.com/jshttp/methods) (MIT) -- [micromark-core-commonmark@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark) (MIT) -- [micromark-factory-destination@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination) (MIT) -- [micromark-factory-label@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label) (MIT) -- [micromark-factory-space@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-space) (MIT) -- [micromark-factory-title@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-title) (MIT) -- [micromark-factory-whitespace@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-whitespace) (MIT) -- [micromark-util-character@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-character) (MIT) -- [micromark-util-chunked@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-chunked) (MIT) -- [micromark-util-classify-character@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-classify-character) (MIT) -- [micromark-util-combine-extensions@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-combine-extensions) (MIT) -- [micromark-util-decode-numeric-character-reference@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-numeric-character-reference) (MIT) -- [micromark-util-decode-string@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-string) (MIT) -- [micromark-util-encode@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-encode) (MIT) -- [micromark-util-html-tag-name@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-html-tag-name) (MIT) -- [micromark-util-normalize-identifier@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-normalize-identifier) (MIT) -- [micromark-util-resolve-all@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-resolve-all) (MIT) -- [micromark-util-sanitize-uri@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-sanitize-uri) (MIT) -- [micromark-util-subtokenize@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize) (MIT) -- [micromark-util-symbol@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-symbol) (MIT) -- [micromark-util-types@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-types) (MIT) -- [micromark@3.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark) (MIT) -- [mime-db@1.52.0](https://github.com/jshttp/mime-db) (MIT) -- [mime-types@2.1.35](https://github.com/jshttp/mime-types) (MIT) -- [min-dash@3.8.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dash@4.1.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dash@4.2.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dom@3.2.1](https://github.com/bpmn-io/min-dom) (MIT) -- [min-dom@4.1.0](https://github.com/bpmn-io/min-dom) (MIT) -- [mitt@3.0.1](https://github.com/developit/mitt) (MIT) -- [mobx-react-lite@3.4.3](https://github.com/mobxjs/mobx) (MIT) -- [mobx-react@7.6.0](https://github.com/mobxjs/mobx) (MIT) -- [mobx@6.10.2](https://github.com/mobxjs/mobx) (MIT) -- [moddle-xml@10.1.0](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle-xml@9.0.6](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle@5.0.4](https://github.com/bpmn-io/moddle) (MIT) -- [moddle@6.2.3](https://github.com/bpmn-io/moddle) (MIT) -- [modeler-moddle@0.2.0](https://github.com/camunda/modeler-moddle) (MIT) -- [moment@2.29.4](https://github.com/moment/moment) (MIT) -- [monaco-editor@0.43.0](https://github.com/microsoft/monaco-editor) (MIT) -- [mri@1.2.0](https://github.com/lukeed/mri) (MIT) -- [ms@2.1.2](https://github.com/zeit/ms) (MIT) -- [mz@2.7.0](https://github.com/normalize/mz) (MIT) -- [negotiator@0.6.3](https://github.com/jshttp/negotiator) (MIT) -- [node-fetch@2.7.0](https://github.com/bitinn/node-fetch) (MIT) -- [node-releases@2.0.14](https://github.com/chicoxyzzy/node-releases) (MIT) -- [normalize-path@3.0.0](https://github.com/jonschlinkert/normalize-path) (MIT) -- [object-assign@4.1.1](https://github.com/sindresorhus/object-assign) (MIT) -- [object-inspect@1.13.1](https://github.com/inspect-js/object-inspect) (MIT) -- [object-refs@0.3.0](https://github.com/bpmn-io/object-refs) (MIT) -- [on-finished@2.4.1](https://github.com/jshttp/on-finished) (MIT) -- [once@1.4.0](https://github.com/isaacs/once) (ISC) -- [one-time@1.0.0](https://github.com/3rd-Eden/one-time) (MIT) -- [only@0.0.2](https://github.com/visionmedia/node-only) (MIT\*) -- [opencollective-postinstall@2.0.3](https://github.com/opencollective/opencollective-postinstall) (MIT) -- [parseurl@1.3.3](https://github.com/pillarjs/parseurl) (MIT) -- [path-intersection@2.2.1](https://github.com/bpmn-io/path-intersection) (MIT) -- [path-to-regexp@1.8.0](https://github.com/pillarjs/path-to-regexp) (MIT) -- [path-to-regexp@6.2.1](https://github.com/pillarjs/path-to-regexp) (MIT) -- [performance-now@2.1.0](https://github.com/braveg1rl/performance-now) (MIT) -- [picocolors@1.0.0](https://github.com/alexeyraspopov/picocolors) (ISC) -- [picomatch@2.3.1](https://github.com/micromatch/picomatch) (MIT) -- [pluralize@7.0.0](https://github.com/blakeembrey/pluralize) (MIT) -- [postcss-value-parser@4.2.0](https://github.com/TrySound/postcss-value-parser) (MIT) -- [preact-markup@2.1.1](https://github.com/developit/preact-markup) (MIT) -- [preact@10.15.1](https://github.com/preactjs/preact) (MIT) -- [prom-client@13.1.0](https://github.com/siimon/prom-client) (Apache-2.0) -- [prop-types@15.8.1](https://github.com/facebook/prop-types) (MIT) -- [property-information@6.4.0](https://github.com/wooorm/property-information) (MIT) -- [proxy-from-env@1.1.0](https://github.com/Rob--W/proxy-from-env) (MIT) -- [pusher-js@8.3.0](https://github.com/pusher/pusher-js) (MIT) -- [pusher@5.1.3](https://github.com/pusher/pusher-http-node) (MIT) -- [qs@6.11.2](https://github.com/ljharb/qs) (BSD-3-Clause) -- [raf@3.4.1](https://github.com/chrisdickinson/raf) (MIT) -- [randomcolor@0.6.2](https://github.com/davidmerfield/randomColor) (Custom: https://randomcolor.lllllllllllllllll.com) -- [raw-body@2.5.2](https://github.com/stream-utils/raw-body) (MIT) -- [react-dom@18.2.0](https://github.com/facebook/react) (MIT) -- [react-error-boundary@4.0.11](https://github.com/bvaughn/react-error-boundary) (MIT) -- [react-fast-compare@3.2.2](https://github.com/FormidableLabs/react-fast-compare) (MIT) -- [react-helmet-async@1.3.0](https://github.com/staylor/react-helmet-async) (Apache-2.0) -- [react-is@16.13.1](https://github.com/facebook/react) (MIT) -- [react-is@17.0.2](https://github.com/facebook/react) (MIT) -- [react-is@18.2.0](https://github.com/facebook/react) (MIT) -- [react-markdown@8.0.7](https://github.com/remarkjs/react-markdown) (MIT) -- [react-router-dom@5.3.4](https://github.com/remix-run/react-router) (MIT) -- [react-router@5.3.4](https://github.com/remix-run/react-router) (MIT) -- [react@18.2.0](https://github.com/facebook/react) (MIT) -- [readable-stream@3.6.2](https://github.com/nodejs/readable-stream) (MIT) -- [readdirp@3.6.0](https://github.com/paulmillr/readdirp) (MIT) -- [regenerator-runtime@0.14.1](https://github.com/facebook/regenerator/tree/main/packages/runtime) (MIT) -- [remark-parse@10.0.2](https://github.com/remarkjs/remark/tree/main/packages/remark-parse) (MIT) -- [remark-rehype@10.1.0](https://github.com/remarkjs/remark-rehype) (MIT) -- [resize-observer-polyfill@1.5.1](https://github.com/que-etc/resize-observer-polyfill) (MIT) -- [resolve-pathname@3.0.0](https://github.com/mjackson/resolve-pathname) (MIT) -- [rgbcolor@1.0.1](https://github.com/yetzt/node-rgbcolor) (MIT\*) -- [route-pattern@0.0.6](https://github.com/bjoerge/route-pattern) (MIT) -- [sade@1.8.1](https://github.com/lukeed/sade) (MIT) -- [safe-buffer@5.2.1](https://github.com/feross/safe-buffer) (MIT) -- [safe-stable-stringify@2.4.3](https://github.com/BridgeAR/safe-stable-stringify) (MIT) -- [safer-buffer@2.1.2](https://github.com/ChALkeR/safer-buffer) (MIT) -- [sass@1.68.0](https://github.com/sass/dart-sass) (MIT) -- [saxen@8.1.2](https://github.com/nikku/saxen) (MIT) -- [scheduler@0.23.0](https://github.com/facebook/react) (MIT) -- [selection-ranges@3.0.3](https://github.com/nikku/selection-ranges) (MIT) -- [selection-update@0.1.2](https://github.com/nikku/selection-update) (MIT) -- [semver-compare@1.0.0](https://github.com/substack/semver-compare) (MIT) -- [semver@7.5.4](https://github.com/npm/node-semver) (ISC) -- [set-function-length@1.1.1](https://github.com/ljharb/set-function-length) (MIT) -- [setprototypeof@1.2.0](https://github.com/wesleytodd/setprototypeof) (ISC) -- [shallowequal@1.1.0](https://github.com/dashed/shallowequal) (MIT) -- [showdown@2.1.0](https://github.com/showdownjs/showdown) (MIT) -- [side-channel@1.0.4](https://github.com/ljharb/side-channel) (MIT) -- [simple-swizzle@0.2.2](https://github.com/qix-/node-simple-swizzle) (MIT) -- [source-map-js@1.0.2](https://github.com/7rulnik/source-map-js) (BSD-3-Clause) -- [source-map-support@0.5.21](https://github.com/evanw/node-source-map-support) (MIT) -- [source-map@0.6.1](https://github.com/mozilla/source-map) (BSD-3-Clause) -- [space-separated-tokens@2.0.2](https://github.com/wooorm/space-separated-tokens) (MIT) -- [stack-trace@0.0.10](https://github.com/felixge/node-stack-trace) (MIT) -- [stackblur-canvas@2.6.0](https://github.com/flozz/StackBlur) (MIT) -- [state-local@1.0.7](https://github.com/suren-atoyan/state-local) (MIT) -- [statuses@1.5.0](https://github.com/jshttp/statuses) (MIT) -- [statuses@2.0.1](https://github.com/jshttp/statuses) (MIT) -- [stoppable@1.1.0](https://github.com/hunterloftis/stoppable) (MIT) -- [string_decoder@1.3.0](https://github.com/nodejs/string_decoder) (MIT) -- [style-mod@4.1.0](https://github.com/marijnh/style-mod) (MIT) -- [style-to-object@0.4.4](https://github.com/remarkablemark/style-to-object) (MIT) -- [styled-components@5.3.11](https://github.com/styled-components/styled-components) (MIT) -- [supports-color@5.5.0](https://github.com/chalk/supports-color) (MIT) -- [svg-pathdata@6.0.3](https://github.com/nfroidure/svg-pathdata) (MIT) -- [tabbable@6.2.0](https://github.com/focus-trap/tabbable) (MIT) -- [table-js@8.0.2](https://github.com/bpmn-io/table-js) (MIT) -- [tdigest@0.1.2](https://github.com/welch/tdigest) (MIT) -- [text-hex@1.0.0](https://github.com/3rd-Eden/text-hex) (MIT) -- [thenify-all@1.6.0](https://github.com/thenables/thenify-all) (MIT) -- [thenify@3.3.1](https://github.com/thenables/thenify) (MIT) -- [ticky@1.0.1](https://github.com/bevacqua/ticky) (MIT) -- [tiny-glob@0.2.9](https://github.com/terkelg/tiny-glob) (MIT) -- [tiny-invariant@1.3.1](https://github.com/alexreardon/tiny-invariant) (MIT) -- [tiny-svg@3.0.1](https://github.com/bpmn-io/tiny-svg) (MIT) -- [tiny-warning@1.0.3](https://github.com/alexreardon/tiny-warning) (MIT) -- [to-fast-properties@2.0.0](https://github.com/sindresorhus/to-fast-properties) (MIT) -- [to-regex-range@5.0.1](https://github.com/micromatch/to-regex-range) (MIT) -- [toggle-selection@1.0.6](https://github.com/sudodoki/toggle-selection) (MIT) -- [toidentifier@1.0.1](https://github.com/component/toidentifier) (MIT) -- [toml@3.0.0](https://github.com/BinaryMuse/toml-node) (MIT) -- [tr46@0.0.3](https://github.com/Sebmaster/tr46.js) (MIT) -- [trim-lines@3.0.1](https://github.com/wooorm/trim-lines) (MIT) -- [triple-beam@1.4.1](https://github.com/winstonjs/triple-beam) (MIT) -- [trough@2.1.0](https://github.com/wooorm/trough) (MIT) -- [tslib@2.6.2](https://github.com/Microsoft/tslib) (0BSD) -- [tsscmp@1.0.6](https://github.com/suryagh/tsscmp) (MIT) -- [tweetnacl-util@0.15.1](https://github.com/dchest/tweetnacl-util-js) (Unlicense) -- [tweetnacl@1.0.3](https://github.com/dchest/tweetnacl-js) (Unlicense) -- [type-is@1.6.18](https://github.com/jshttp/type-is) (MIT) -- [typescript@5.2.2](https://github.com/Microsoft/TypeScript) (Apache-2.0) -- [undici-types@5.26.5](https://github.com/nodejs/undici) (MIT) -- [unified@10.1.2](https://github.com/unifiedjs/unified) (MIT) -- [unist-util-generated@2.0.1](https://github.com/syntax-tree/unist-util-generated) (MIT) -- [unist-util-is@5.2.1](https://github.com/syntax-tree/unist-util-is) (MIT) -- [unist-util-position@4.0.4](https://github.com/syntax-tree/unist-util-position) (MIT) -- [unist-util-stringify-position@3.0.3](https://github.com/syntax-tree/unist-util-stringify-position) (MIT) -- [unist-util-visit-parents@5.1.3](https://github.com/syntax-tree/unist-util-visit-parents) (MIT) -- [unist-util-visit@4.1.2](https://github.com/syntax-tree/unist-util-visit) (MIT) -- [unpipe@1.0.0](https://github.com/stream-utils/unpipe) (MIT) -- [update-browserslist-db@1.0.13](https://github.com/browserslist/update-db) (MIT) -- [use-resize-observer@6.1.0](https://github.com/ZeeCoder/use-resize-observer) (MIT) -- [util-deprecate@1.0.2](https://github.com/TooTallNate/util-deprecate) (MIT) -- [uuid@9.0.1](https://github.com/uuidjs/uuid) (MIT) -- [uvu@0.5.6](https://github.com/lukeed/uvu) (MIT) -- [value-equal@1.0.1](https://github.com/mjackson/value-equal) (MIT) -- [vary@1.1.2](https://github.com/jshttp/vary) (MIT) -- [vfile-message@3.1.4](https://github.com/vfile/vfile-message) (MIT) -- [vfile@5.3.7](https://github.com/vfile/vfile) (MIT) -- [w3c-keyname@2.2.8](https://github.com/marijnh/w3c-keyname) (MIT) -- [webidl-conversions@3.0.1](https://github.com/jsdom/webidl-conversions) (BSD-2-Clause) -- [whatwg-url@5.0.0](https://github.com/jsdom/whatwg-url) (MIT) -- [wicg-inert@3.1.2](https://github.com/WICG/inert) (W3C-20150513) -- [window-or-global@1.0.1](https://github.com/purposeindustries/window-or-global) (MIT) -- [winston-transport@4.6.0](https://github.com/winstonjs/winston-transport) (MIT) -- [winston@3.10.0](https://github.com/winstonjs/winston) (MIT) -- [wrappy@1.0.2](https://github.com/npm/wrappy) (ISC) -- [yallist@3.1.1](https://github.com/isaacs/yallist) (ISC) -- [yallist@4.0.0](https://github.com/isaacs/yallist) (ISC) -- [ylru@1.3.2](https://github.com/node-modules/ylru) (MIT) -- [zeebe-bpmn-moddle@1.0.0](https://github.com/camunda/zeebe-bpmn-moddle) (MIT) -- [zod@3.22.4](https://github.com/colinhacks/zod) (MIT) - -### Web Modeler Dependencies (restapi) - -- [ch.qos.logback:logback-classic@1.4.14](http://logback.qos.ch/logback-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback:logback-core@1.4.14](http://logback.qos.ch/logback-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-jackson@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-jackson) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-json-classic@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-json-core@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [com.auth0:auth0@1.45.1](https://github.com/auth0/auth0-java) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/auth0-java/master/LICENSE)) -- [com.auth0:java-jwt@4.4.0](https://github.com/auth0/java-jwt) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/java-jwt/master/LICENSE)) -- [com.auth0:jwks-rsa@0.22.1](https://github.com/auth0/jwks-rsa-java) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/jwks-rsa-java/master/LICENSE)) -- [com.ethlo.time:itu@1.7.0](https://github.com/ethlo/itu) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml:classmate@1.5.1](https://github.com/FasterXML/java-classmate) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-annotations@2.15.4](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-core@2.15.4](https://github.com/FasterXML/jackson-core) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-databind@2.15.4](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-toml@2.15.4](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.15.2](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jdk8@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jsr310@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.module:jackson-module-parameter-names@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.github.stephenc.jcip:jcip-annotations@1.0-1](http://stephenc.github.com/jcip-annotations) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.android:annotations@4.1.1.4](http://source.android.com/) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0)) -- [com.google.api.grpc:proto-google-common-protos@2.22.0](https://github.com/googleapis/sdk-platform-java) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.code.findbugs:jsr305@3.0.2](http://findbugs.sourceforge.net/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.code.gson:gson@2.10.1](https://github.com/google/gson/gson) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.errorprone:error_prone_annotations@2.22.0](https://errorprone.info/error_prone_annotations) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:failureaccess@1.0.1](https://github.com/google/guava/failureaccess) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:guava@32.1.2-jre](https://github.com/google/guava) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:listenablefuture@9999.0-empty-to-avoid-conflict-with-guava](https://github.com/google/guava/listenablefuture) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.j2objc:j2objc-annotations@2.8](https://github.com/google/j2objc/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.protobuf:protobuf-java@3.24.3](https://developers.google.com/protocol-buffers/protobuf-java/) ([BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)) -- [com.networknt:json-schema-validator@1.0.87](https://github.com/networknt/json-schema-validator) ([Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [com.nimbusds:nimbus-jose-jwt@9.37.3](https://bitbucket.org/connect2id/nimbus-jose-jwt) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.pusher:pusher-http-java@1.3.3](http://github.com/pusher/pusher-http-java) ([MIT](https://raw.github.com/pusher/pusher-http-java/master/LICENCE.txt)) -- [com.squareup.okhttp3:logging-interceptor@4.10.0](https://square.github.io/okhttp/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.squareup.okio:okio@3.5.0](https://github.com/square/okio/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.squareup.okio:okio-jvm@3.6.0](https://github.com/square/okio/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.sun.activation:jakarta.activation@1.2.2](https://github.com/eclipse-ee4j/jaf/jakarta.activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [com.sun.istack:istack-commons-runtime@4.1.2](https://projects.eclipse.org/projects/ee4j/istack-commons/istack-commons-runtime) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [com.typesafe.netty:netty-reactive-streams@2.0.4](https://github.com/playframework/netty-reactive-streams/netty-reactive-streams) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.vdurmont:semver4j@3.1.0](https://github.com/vdurmont/semver4j) ([The MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [com.zaxxer:HikariCP@5.0.1](https://github.com/brettwooldridge/HikariCP) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [commons-codec:commons-codec@1.15](https://commons.apache.org/proper/commons-codec/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [commons-logging:commons-logging@1.2](http://commons.apache.org/proper/commons-logging/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.grpc:grpc-api@1.58.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-context@1.58.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-core@1.58.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-netty@1.58.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf@1.58.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf-lite@1.58.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-stub@1.58.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-util@1.58.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.micrometer:micrometer-commons@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-core@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-observation@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-registry-prometheus@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.netty:netty-buffer@4.1.109.Final](https://netty.io/netty-buffer/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec@4.1.109.Final](https://netty.io/netty-codec/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-dns@4.1.109.Final](https://netty.io/netty-codec-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http@4.1.109.Final](https://netty.io/netty-codec-http/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http2@4.1.109.Final](https://netty.io/netty-codec-http2/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-socks@4.1.109.Final](https://netty.io/netty-codec-socks/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-common@4.1.109.Final](https://netty.io/netty-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler@4.1.109.Final](https://netty.io/netty-handler/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler-proxy@4.1.109.Final](https://netty.io/netty-handler-proxy/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver@4.1.109.Final](https://netty.io/netty-resolver/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns@4.1.109.Final](https://netty.io/netty-resolver-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-classes-macos@4.1.109.Final](https://netty.io/netty-resolver-dns-classes-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-native-macos@4.1.109.Final](https://netty.io/netty-resolver-dns-native-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport@4.1.109.Final](https://netty.io/netty-transport/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-epoll@4.1.109.Final](https://netty.io/netty-transport-classes-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-kqueue@4.1.109.Final](https://netty.io/netty-transport-classes-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-epoll@4.1.109.Final](https://netty.io/netty-transport-native-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-kqueue@4.1.109.Final](https://netty.io/netty-transport-native-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-unix-common@4.1.109.Final](https://netty.io/netty-transport-native-unix-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.perfmark:perfmark-api@0.26.0](https://github.com/perfmark/perfmark) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.projectreactor:reactor-core@3.5.16](https://github.com/reactor/reactor-core) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-core@1.1.18](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-http@1.1.18](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient@0.16.0](http://github.com/prometheus/client_java/simpleclient) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_common@0.16.0](http://github.com/prometheus/client_java/simpleclient_common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_common@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_otel@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_otel_agent@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel_agent) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.smallrye:jandex@3.0.5](https://smallrye.io/jandex-parent/jandex) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.swagger.core.v3:swagger-annotations-jakarta@2.2.16](https://github.com/swagger-api/swagger-core/modules/swagger-annotations-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-core-jakarta@2.2.16](https://github.com/swagger-api/swagger-core/modules/swagger-core-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-models-jakarta@2.2.16](https://github.com/swagger-api/swagger-core/modules/swagger-models-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.undertow:undertow-core@2.3.14.Final](http://www.jboss.org/undertow-parent/undertow-core) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-servlet@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-servlet) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-websockets-jsr@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-websockets-jsr) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [jakarta.activation:jakarta.activation-api@2.1.3](https://github.com/jakartaee/jaf-api) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [jakarta.annotation:jakarta.annotation-api@2.1.1](https://projects.eclipse.org/projects/ee4j.ca) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.inject:jakarta.inject-api@2.0.1](https://github.com/eclipse-ee4j/injection-api) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [jakarta.persistence:jakarta.persistence-api@3.1.0](https://github.com/eclipse-ee4j/jpa-api) ([Eclipse Public License v. 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.servlet:jakarta.servlet-api@6.0.0](https://projects.eclipse.org/projects/ee4j.servlet) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.transaction:jakarta.transaction-api@2.0.1](https://projects.eclipse.org/projects/ee4j.jta) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.validation:jakarta.validation-api@3.0.2](https://beanvalidation.org) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [jakarta.websocket:jakarta.websocket-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [jakarta.websocket:jakarta.websocket-client-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [jakarta.xml.bind:jakarta.xml.bind-api@4.0.2](https://github.com/jakartaee/jaxb-api/jakarta.xml.bind-api) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [javax.cache:cache-api@1.1.1](https://github.com/jsr107/jsr107spec) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.bytebuddy:byte-buddy@1.14.13](https://bytebuddy.net/byte-buddy) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.jodah:failsafe@2.4.1](http://github.com/jhalterman/failsafe/) ([Apache License, Version 2.0](http://apache.org/licenses/LICENSE-2.0)) -- [org.antlr:antlr4-runtime@4.10.1](http://www.antlr.org/antlr4-runtime) ([The BSD License](http://www.antlr.org/license.html)) -- [org.apache.commons:commons-collections4@4.4](https://commons.apache.org/proper/commons-collections/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.commons:commons-lang3@3.12.0](https://commons.apache.org/proper/commons-lang/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.commons:commons-text@1.10.0](https://commons.apache.org/proper/commons-text) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents:httpclient@4.5.13](http://hc.apache.org/httpcomponents-client) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents:httpcore@4.4.16](http://hc.apache.org/httpcomponents-core-ga) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-api@2.20.0](https://logging.apache.org/log4j/2.x/log4j-api/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-to-slf4j@2.20.0](https://logging.apache.org/log4j/2.x/log4j-to-slf4j/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.tomcat.embed:tomcat-embed-el@10.1.20](https://tomcat.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.aspectj:aspectjweaver@1.9.22](https://www.eclipse.org/aspectj/) ([Eclipse Public License - v 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [org.asynchttpclient:async-http-client@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.asynchttpclient:async-http-client-netty-utils@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client-netty-utils) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-dmn-model@7.19.6-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-dmn-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-xml-model@7.19.6-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-xml-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.checkerframework:checker-qual@3.38.0](https://checkerframework.org/) ([The MIT License](http://opensource.org/licenses/MIT)) -- [org.codehaus.mojo:animal-sniffer-annotations@1.23](https://www.mojohaus.org/animal-sniffer/animal-sniffer-annotations) ([MIT license](https://spdx.org/licenses/MIT.txt)) -- [org.eclipse.angus:angus-activation@2.0.2](https://github.com/eclipse-ee4j/angus-activation/angus-activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.eclipse.angus:jakarta.mail@1.1.0](http://eclipse-ee4j.github.io/mail/jakarta.mail) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [org.ehcache:ehcache@3.10.8](http://ehcache.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.flywaydb:flyway-core@9.16.3](https://flywaydb.org/flyway-core) ([Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-community)) -- [org.freemarker:freemarker@2.3.32](https://freemarker.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.glassfish.jaxb:jaxb-core@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.glassfish.jaxb:jaxb-runtime@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.glassfish.jaxb:txw2@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.hdrhistogram:HdrHistogram@2.1.12](http://hdrhistogram.github.io/HdrHistogram/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) -- [org.hibernate.common:hibernate-commons-annotations@6.0.6.Final](http://hibernate.org) ([GNU Library General Public License v2.1 or later](http://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.orm:hibernate-core@6.2.24.Final](https://hibernate.org/orm) ([GNU Library General Public License v2.1 or later](https://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.validator:hibernate-validator@8.0.1.Final](http://hibernate.org/validator/hibernate-validator) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.logging:jboss-logging@3.5.3.Final](http://www.jboss.org) ([Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jboss.threads:jboss-threads@3.5.0.Final](http://www.jboss.org/jboss-threads) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.xnio:xnio-api@3.8.16.Final](http://www.jboss.org/xnio) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jboss.xnio:xnio-nio@3.8.16.Final](http://www.jboss.org) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jetbrains:annotations@13.0](http://www.jetbrains.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib@1.8.22](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-common@1.8.22](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.8.22](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.8.22](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jsoup:jsoup@1.16.1](https://jsoup.org/) ([The MIT License](https://jsoup.org/license)) -- [org.latencyutils:LatencyUtils@2.0.3](http://latencyutils.github.io/LatencyUtils/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) -- [org.mapstruct:mapstruct@1.5.5.Final](https://mapstruct.org/mapstruct/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.openapitools:jackson-databind-nullable@0.2.6](https://github.com/OpenAPITools/jackson-databind-nullable) ([Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)) -- [org.postgresql:postgresql@42.7.2](https://jdbc.postgresql.org) ([BSD-2-Clause](https://jdbc.postgresql.org/about/license.html)) -- [org.reactivestreams:reactive-streams@1.0.4](http://www.reactive-streams.org/) ([MIT-0](https://spdx.org/licenses/MIT-0.html)) -- [org.slf4j:jul-to-slf4j@2.0.13](http://www.slf4j.org) ([MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [org.slf4j:slf4j-api@2.0.13](http://www.slf4j.org) ([MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [org.springdoc:springdoc-openapi-starter-common@2.2.0](https://springdoc.org/springdoc-openapi-starter-common/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springdoc:springdoc-openapi-starter-webmvc-api@2.2.0](https://springdoc.org/springdoc-openapi-starter-webmvc-api/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springdoc:springdoc-openapi-starter-webmvc-ui@2.2.0](https://springdoc.org/springdoc-openapi-starter-webmvc-ui/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework:spring-aop@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-aspects@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-beans@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context-support@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-core@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-expression@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jcl@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jdbc@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-orm@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-tx@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-web@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webflux@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webmvc@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator-autoconfigure@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-autoconfigure@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-actuator@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-aop@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-data-jpa@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-freemarker@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-jdbc@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-json@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-logging@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-mail@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-oauth2-resource-server@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-reactor-netty@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-security@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-undertow@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-validation@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-web@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-commons@3.1.11](https://spring.io/projects/spring-data) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-jpa@3.1.11](https://projects.spring.io/spring-data-jpa) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.retry:spring-retry@2.0.5](https://www.springsource.org) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework.security:spring-security-config@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-core@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-crypto@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-data@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-core@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-jose@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-resource-server@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-web@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.webjars:swagger-ui@5.2.0](http://webjars.org) ([Apache 2.0](https://github.com/swagger-api/swagger-ui)) -- [org.wildfly.client:wildfly-client-config@1.0.1.Final](http://www.jboss.org/wildfly-client-config) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.wildfly.common:wildfly-common@1.5.4.Final](http://www.jboss.org/wildfly-common) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.yaml:snakeyaml@2.2](https://bitbucket.org/snakeyaml/snakeyaml) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [software.amazon.awssdk:annotations@2.20.157](https://aws.amazon.com/sdkforjava/core/annotations) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:apache-client@2.20.157](https://aws.amazon.com/sdkforjava/http-clients/apache-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:auth@2.20.157](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-core@2.20.157](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-query-protocol@2.20.157](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:endpoints-spi@2.20.157](https://aws.amazon.com/sdkforjava/core/endpoints-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-client-spi@2.20.157](https://aws.amazon.com/sdkforjava/http-client-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:json-utils@2.20.157](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:metrics-spi@2.20.157](https://aws.amazon.com/sdkforjava/core/metrics-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:netty-nio-client@2.20.157](https://aws.amazon.com/sdkforjava/http-clients/netty-nio-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:profiles@2.20.157](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:protocol-core@2.20.157](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:rds@2.20.157](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:regions@2.20.157](https://aws.amazon.com/sdkforjava/core/regions) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sdk-core@2.20.157](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sts@2.20.157](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:third-party-jackson-core@2.20.157](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:utils@2.20.157](https://aws.amazon.com/sdkforjava/utils) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.eventstream:eventstream@1.0.1](https://github.com/awslabs/aws-eventstream-java) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.jdbc:aws-advanced-jdbc-wrapper@2.2.4](https://github.com/awslabs/aws-advanced-jdbc-wrapper) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)) - -### Web Modeler Dependencies (websockets) - -- [brick/math@0.12.1](https://github.com/brick/math.git) (MIT) -- [carbonphp/carbon-doctrine-types@3.2.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) -- [clue/redis-protocol@v0.3.2](https://github.com/clue/redis-protocol.git) (MIT) -- [clue/redis-react@v2.7.0](https://github.com/clue/reactphp-redis.git) (MIT) -- [dflydev/dot-access-data@v3.0.3](https://github.com/dflydev/dflydev-dot-access-data.git) (MIT) -- [doctrine/inflector@2.0.10](https://github.com/doctrine/inflector.git) (MIT) -- [doctrine/lexer@3.0.1](https://github.com/doctrine/lexer.git) (MIT) -- [dragonmantank/cron-expression@v3.3.3](https://github.com/dragonmantank/cron-expression.git) (MIT) -- [egulias/email-validator@4.0.2](https://github.com/egulias/EmailValidator.git) (MIT) -- [evenement/evenement@v3.0.2](https://github.com/igorw/evenement.git) (MIT) -- [fruitcake/php-cors@v1.3.0](https://github.com/fruitcake/php-cors.git) (MIT) -- [graham-campbell/result-type@v1.1.3](https://github.com/GrahamCampbell/Result-Type.git) (MIT) -- [guzzlehttp/guzzle@7.9.2](https://github.com/guzzle/guzzle.git) (MIT) -- [guzzlehttp/promises@2.0.3](https://github.com/guzzle/promises.git) (MIT) -- [guzzlehttp/psr7@2.7.0](https://github.com/guzzle/psr7.git) (MIT) -- [guzzlehttp/uri-template@v1.0.3](https://github.com/guzzle/uri-template.git) (MIT) -- [laravel/framework@v11.21.0](https://github.com/laravel/framework.git) (MIT) -- [laravel/prompts@v0.1.25](https://github.com/laravel/prompts.git) (MIT) -- [laravel/reverb@v1.2.0](https://github.com/laravel/reverb.git) (MIT) -- [laravel/serializable-closure@v1.3.4](https://github.com/laravel/serializable-closure.git) (MIT) -- [laravel/tinker@v2.9.0](https://github.com/laravel/tinker.git) (MIT) -- [league/commonmark@2.5.3](https://github.com/thephpleague/commonmark.git) (BSD-3-Clause) -- [league/config@v1.2.0](https://github.com/thephpleague/config.git) (BSD-3-Clause) -- [league/flysystem@3.28.0](https://github.com/thephpleague/flysystem.git) (MIT) -- [league/flysystem-local@3.28.0](https://github.com/thephpleague/flysystem-local.git) (MIT) -- [league/mime-type-detection@1.15.0](https://github.com/thephpleague/mime-type-detection.git) (MIT) -- [monolog/monolog@3.7.0](https://github.com/Seldaek/monolog.git) (MIT) -- [nesbot/carbon@3.8.0](https://github.com/briannesbitt/Carbon.git) (MIT) -- [nette/schema@v1.3.0](https://github.com/nette/schema.git) (BSD-3-Clause) -- [nette/utils@v4.0.5](https://github.com/nette/utils.git) (BSD-3-Clause) -- [nikic/php-parser@v5.0.2](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) -- [nunomaduro/termwind@v2.0.1](https://github.com/nunomaduro/termwind.git) (MIT) -- [paragonie/random_compat@v9.99.100](https://github.com/paragonie/random_compat.git) (MIT) -- [paragonie/sodium_compat@v1.21.1](https://github.com/paragonie/sodium_compat.git) (ISC) -- [phpoption/phpoption@1.9.3](https://github.com/schmittjoh/php-option.git) (Apache-2.0) -- [psr/clock@1.0.0](https://github.com/php-fig/clock.git) (MIT) -- [psr/container@2.0.2](https://github.com/php-fig/container.git) (MIT) -- [psr/event-dispatcher@1.0.0](https://github.com/php-fig/event-dispatcher.git) (MIT) -- [psr/http-client@1.0.3](https://github.com/php-fig/http-client.git) (MIT) -- [psr/http-factory@1.1.0](https://github.com/php-fig/http-factory.git) (MIT) -- [psr/http-message@2.0](https://github.com/php-fig/http-message.git) (MIT) -- [psr/log@3.0.1](https://github.com/php-fig/log.git) (MIT) -- [psr/simple-cache@3.0.0](https://github.com/php-fig/simple-cache.git) (MIT) -- [psy/psysh@v0.12.3](https://github.com/bobthecow/psysh.git) (MIT) -- [pusher/pusher-php-server@7.2.4](https://github.com/pusher/pusher-http-php.git) (MIT) -- [ralouphie/getallheaders@3.0.3](https://github.com/ralouphie/getallheaders.git) (MIT) -- [ramsey/collection@2.0.0](https://github.com/ramsey/collection.git) (MIT) -- [ramsey/uuid@4.7.6](https://github.com/ramsey/uuid.git) (MIT) -- [ratchet/rfc6455@v0.3.1](https://github.com/ratchetphp/RFC6455.git) (MIT) -- [react/cache@v1.2.0](https://github.com/reactphp/cache.git) (MIT) -- [react/dns@v1.13.0](https://github.com/reactphp/dns.git) (MIT) -- [react/event-loop@v1.5.0](https://github.com/reactphp/event-loop.git) (MIT) -- [react/promise@v3.2.0](https://github.com/reactphp/promise.git) (MIT) -- [react/promise-timer@v1.11.0](https://github.com/reactphp/promise-timer.git) (MIT) -- [react/socket@v1.16.0](https://github.com/reactphp/socket.git) (MIT) -- [react/stream@v1.4.0](https://github.com/reactphp/stream.git) (MIT) -- [symfony/clock@v7.1.1](https://github.com/symfony/clock.git) (MIT) -- [symfony/console@v7.1.3](https://github.com/symfony/console.git) (MIT) -- [symfony/css-selector@v7.1.1](https://github.com/symfony/css-selector.git) (MIT) -- [symfony/deprecation-contracts@v3.5.0](https://github.com/symfony/deprecation-contracts.git) (MIT) -- [symfony/error-handler@v7.1.3](https://github.com/symfony/error-handler.git) (MIT) -- [symfony/event-dispatcher@v7.1.1](https://github.com/symfony/event-dispatcher.git) (MIT) -- [symfony/event-dispatcher-contracts@v3.5.0](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) -- [symfony/finder@v7.1.3](https://github.com/symfony/finder.git) (MIT) -- [symfony/http-foundation@v7.1.3](https://github.com/symfony/http-foundation.git) (MIT) -- [symfony/http-kernel@v7.1.3](https://github.com/symfony/http-kernel.git) (MIT) -- [symfony/mailer@v7.1.2](https://github.com/symfony/mailer.git) (MIT) -- [symfony/mime@v7.1.2](https://github.com/symfony/mime.git) (MIT) -- [symfony/polyfill-ctype@v1.30.0](https://github.com/symfony/polyfill-ctype.git) (MIT) -- [symfony/polyfill-intl-grapheme@v1.30.0](https://github.com/symfony/polyfill-intl-grapheme.git) (MIT) -- [symfony/polyfill-intl-idn@v1.30.0](https://github.com/symfony/polyfill-intl-idn.git) (MIT) -- [symfony/polyfill-intl-normalizer@v1.30.0](https://github.com/symfony/polyfill-intl-normalizer.git) (MIT) -- [symfony/polyfill-mbstring@v1.30.0](https://github.com/symfony/polyfill-mbstring.git) (MIT) -- [symfony/polyfill-php72@v1.30.0](https://github.com/symfony/polyfill-php72.git) (MIT) -- [symfony/polyfill-php80@v1.30.0](https://github.com/symfony/polyfill-php80.git) (MIT) -- [symfony/polyfill-php83@v1.30.0](https://github.com/symfony/polyfill-php83.git) (MIT) -- [symfony/polyfill-uuid@v1.30.0](https://github.com/symfony/polyfill-uuid.git) (MIT) -- [symfony/process@v7.1.3](https://github.com/symfony/process.git) (MIT) -- [symfony/routing@v7.1.3](https://github.com/symfony/routing.git) (MIT) -- [symfony/service-contracts@v3.5.0](https://github.com/symfony/service-contracts.git) (MIT) -- [symfony/string@v7.1.3](https://github.com/symfony/string.git) (MIT) -- [symfony/translation@v7.1.3](https://github.com/symfony/translation.git) (MIT) -- [symfony/translation-contracts@v3.5.0](https://github.com/symfony/translation-contracts.git) (MIT) -- [symfony/uid@v7.1.1](https://github.com/symfony/uid.git) (MIT) -- [symfony/var-dumper@v7.1.3](https://github.com/symfony/var-dumper.git) (MIT) -- [tijsverkoyen/css-to-inline-styles@v2.2.7](https://github.com/tijsverkoyen/CssToInlineStyles.git) (BSD-3-Clause) -- [vlucas/phpdotenv@v5.6.1](https://github.com/vlucas/phpdotenv.git) (BSD-3-Clause) -- [voku/portable-ascii@2.0.1](https://github.com/voku/portable-ascii.git) (MIT) -- [webmozart/assert@1.11.0](https://github.com/webmozarts/assert.git) (MIT) diff --git a/versioned_docs/version-8.3/reference/img/channels.png b/versioned_docs/version-8.3/reference/img/channels.png new file mode 100644 index 00000000000..4964fadbba0 Binary files /dev/null and b/versioned_docs/version-8.3/reference/img/channels.png differ diff --git a/versioned_docs/version-8.3/reference/img/diagram-releases.png b/versioned_docs/version-8.3/reference/img/diagram-releases.png new file mode 100644 index 00000000000..f06ee971089 Binary files /dev/null and b/versioned_docs/version-8.3/reference/img/diagram-releases.png differ diff --git a/versioned_docs/version-8.3/reference/release-policy.md b/versioned_docs/version-8.3/reference/release-policy.md index 4e217c16a26..8268c567951 100644 --- a/versioned_docs/version-8.3/reference/release-policy.md +++ b/versioned_docs/version-8.3/reference/release-policy.md @@ -1,59 +1,111 @@ --- id: release-policy title: "Release policy" +description: "Learn more about Camunda releases, including alpha features and alpha releases." --- -Camunda 8 follows the [Camunda release policy](https://camunda.com/release-policy/) with some specific clarifications which can be found below. +Camunda 8 follows the [Camunda release policy](https://camunda.com/release-policy/) with the following specific clarifications. + +:::info +You can find deprecation and support announcements on the [Announcements](announcements.md) page. +::: + +![Stable and alpha channels when provisioning a cluster](./img/diagram-releases.png) + +## Alpha features and releases + +It is important to understand the different ways the term "alpha" is used in the context of Camunda releases and features. + +### Alpha feature + +Refers to a feature or component released as an alpha version, in an early state for you to test and participate in development by sharing your feedback before the feature reaches [general availability (GA)](alpha-features.md#general-availability-ga). Some alpha features require turning on for your cluster before you can use them. See [alpha features](alpha-features.md). + +### Alpha release + +Refers to a release made available between minor versions that allows you to preview an upcoming minor version and the alpha features included (for example, `8.3.0-alpha1`, `8.3.0-alpha2`, and so on). Camunda strives to release this type of release on a monthly basis. To learn more about the alpha features included in each alpha release, see [release notes](release-notes.md). :::note -Interested in deprecation and support announcements? Read more on the [Announcements](announcements.md) page. +- An alpha release can also be made available where the entire version is an alpha with [alpha limitations](alpha-features.md#alpha). +- Additionally, "Alpha channel" refers to the channel you can use when provisioning a SaaS cluster. See [alpha channel](#alpha-channel). ::: -## Provisioning in SaaS +## SaaS provisioning + +In Camunda 8 SaaS we differentiate between components that are part of a Camunda 8 cluster (cluster components), and components outside the cluster (non-cluster components). + +### Cluster components + +A cluster typically consists of the following components: -In our managed service, we differentiate between components that are part of a Camunda 8 cluster and components that are outside of the cluster. +- [Zeebe](/components/zeebe/zeebe-overview.md) +- [Operate](/components/operate/operate-introduction.md) +- [Tasklist](/components/tasklist/introduction-to-tasklist.md) +- [Optimize]($optimize$/components/what-is-optimize) -A cluster usually consists of: +You can provision cluster components using one of two channels, following the [Camunda release policy](https://camunda.com/release-policy/). -- Zeebe -- Operate -- Tasklist -- Optimize +![Stable and alpha channels when provisioning a cluster](./img/channels.png) -For components **outside of the cluster**, we release new versions continuously and update customers to the latest version automatically whenever it is ready to be shipped. +#### Stable channel -These components include: +You can use the **Stable** channel to access [general availability](alpha-features.md#general-availability-ga) features for cluster components. -- Modeler (Web) -- Connectors -- Console +- Provides the latest feature and patch releases ready for most users at minimal risk. +- Releases follow semantic versioning and can be updated to the next minor or patch release without data loss. +- On the stable channel, all supported minor versions are made available for provisioning. -Admins can [enable alpha features](/docs/components/console/manage-organization/enable-alpha-features.md) for components outside of the cluster in the organization settings screen. +#### Alpha channel -For components inside a **cluster**, Camunda provides two channels for provisioning and follows the [Camunda release policy](https://camunda.com/release-policy/): +You can use the **Alpha** channel to access [alpha features](alpha-features.md) and patch releases for cluster components. -- **Stable**: General availability features for cluster components are available through the stable channel. This channel provides the latest feature and patch releases ready for most users at minimal risk. The releases follow semantic versioning and can be updated to the next minor or patch release without data loss. -- **Alpha**: Alpha features for cluster components are available through the alpha channel. This channel provides preview releases in preparation for the next stable release. They provide a short-term stability point to test new features and give feedback before they are released to the stable channel. Try these to ensure the upcoming release works with your infrastructure. These releases cannot be updated to a newer release, and therefore are not meant to be used in production. +- Provides alpha releases to preview and prepare for the next stable release. +- Alpha releases provide a short-term stability point to test new features and give feedback before they are released to the stable channel. Use an alpha release to test the upcoming minor release with your infrastructure. +- Alpha releases cannot be updated to a newer release, and so are not suitable for use in production. -On the stable channel, the last three supported minor versions are made available for provisioning. +### Non-cluster components -### New versions +Non-cluster components include: -Whenever a new Camunda 8 version is released, we do our best to provide the new version on our managed service at the same time. We add a notice to Console, recommending an update to the latest version. +- [Modeler (Web)](/components/modeler/web-modeler/launch-web-modeler.md) +- [Connectors](/components/console/introduction-to-console.md) +- [Console](/components/console/introduction-to-console.md) + +Non-cluster component versions are released continuously. + +- Customers are automatically updated to the latest component version when it is ready for release. +- Admins can [enable alpha features](/components/console/manage-organization/enable-alpha-features.md) for non-cluster components in organization settings. + +### New Camunda 8 versions + +When a new Camunda 8 version is released, we try to provide the new version on our managed service at the same time. + +An **Update available** notification is shown in Console, recommending that you update to the latest version. ![Console with notice to update the cluster in Camunda 8 SaaS](img/update-console.png) -#### Updates or restart for critical issues +#### Generation names + +As of Camunda 8.5.0, the generation naming scheme in Camunda 8 SaaS changed to no longer include the patch version. -In our managed service we reserve the right to force update or restart a cluster immediately and without notice in advance if there is a critical security or stability issue. +- The naming scheme used for the Camunda 8.5 generations is `Camunda .+gen`, where `N` is incremented with every atomic change to the component version set. + +- This decouples the generation name from the particular patch level of the components it contains, as some component versions such as Connectors are decoupled from other components. + +- You can learn about the particular component patch version changes in the update dialogue to the latest generation available. + +#### Update or restart for critical issues + +In our managed service, Camunda reserves the right to force update or restart a cluster immediately and without notice in advance if there is a critical security or stability issue. ## Self-Managed -Whenever a new Camunda 8 version is released, Camunda 8 Self-Managed enterprise customers will be notified via email. +When a new Camunda 8 version is released, Camunda 8 Self-Managed enterprise customers are notified via email. -If you are not an enterprise customer, you can stay up to date via [release blogs](https://camunda.com/blog/category/release-notes/), the [announcements page](/reference/announcements.md), or releases on [GitHub](https://github.com/camunda) and [Docker Hub](https://hub.docker.com/u/camunda). +:::info +Non-enterprise customers can stay up to date via [release blogs](https://camunda.com/blog/category/releases/), [announcements](announcements.md), or releases on [GitHub](https://github.com/camunda) and [Docker Hub](https://hub.docker.com/u/camunda). +::: ### Helm chart @@ -61,6 +113,6 @@ The [Camunda 8 Self-Managed Helm chart](https://artifacthub.io/packages/helm/cam For more details about the applications version included in the Helm chart, review the [full version matrix](https://helm.camunda.io/camunda-platform/version-matrix/). -### New versions +### New Camunda 8 versions -If you are running Camunda 8 Self-Managed, follow our [update guide](/self-managed/operational-guides/update-guide/introduction.md). +If you are running Camunda 8 Self-Managed, see the [update guide](/self-managed/operational-guides/update-guide/introduction.md) to learn how to update your Camunda 8 application or server installation to a newer version of Camunda 8. diff --git a/versioned_docs/version-8.3/self-managed/modeler/web-modeler/configuration/logging.md b/versioned_docs/version-8.3/self-managed/modeler/web-modeler/configuration/logging.md index 736e9147cd6..be8db0bd16d 100644 --- a/versioned_docs/version-8.3/self-managed/modeler/web-modeler/configuration/logging.md +++ b/versioned_docs/version-8.3/self-managed/modeler/web-modeler/configuration/logging.md @@ -24,6 +24,12 @@ for more information on how to customize the logback configuration for specific Enabling `DEBUG` logging for the `restapi` component can be useful for troubleshooting purposes, e.g. for [debugging Zeebe connection issues](../troubleshooting/troubleshoot-zeebe-connection.md#how-can-i-debug-log-grpc--zeebe-communication). +By default, Web Modeler's `restapi` component logs in JSON. For a more readable logging format, activate the Spring profile using the following: + +```properties +SPRING_PROFILES_INCLUDE=default-logging +``` + ## Logging configuration for the `webapp` component By default, the `webapp` component logs to the Docker container's standard output. diff --git a/versioned_docs/version-8.3/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md b/versioned_docs/version-8.3/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md index 0d75606ffe3..2663d4f8429 100644 --- a/versioned_docs/version-8.3/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md +++ b/versioned_docs/version-8.3/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md @@ -37,7 +37,7 @@ After the database has been restored, you can start Web Modeler again. :::warning When restoring Web Modeler data from a backup, ensure that the ids of the users stored in your OIDC provider (e.g. Keycloak) do not change in between the backup and restore. -Otherwise, users may not be able to log in after the restore (see [Web Modeler's login troubleshooting guide](docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md#unique-constraint-violation)). +Otherwise, users may not be able to log in after the restore (see [Web Modeler's login troubleshooting guide](self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md#unique-constraint-violation)). ::: :::tip diff --git a/versioned_docs/version-8.3/self-managed/platform-deployment/docker.md b/versioned_docs/version-8.3/self-managed/platform-deployment/docker.md index 5bb5266ce35..df59146472d 100644 --- a/versioned_docs/version-8.3/self-managed/platform-deployment/docker.md +++ b/versioned_docs/version-8.3/self-managed/platform-deployment/docker.md @@ -20,7 +20,7 @@ The provided Docker images are supported for production usage only on Linux syst | Operate | [camunda/operate:latest](https://hub.docker.com/r/camunda/operate) | [Operate configuration](../../operate-deployment/operate-configuration) | | Tasklist | [camunda/tasklist:latest](https://hub.docker.com/r/camunda/tasklist) | [Tasklist configuration](../../tasklist-deployment/tasklist-configuration) | | Identity | [camunda/identity:latest](https://hub.docker.com/r/camunda/identity) | [Configuration variables](../../identity/deployment/configuration-variables/) | -| Optimize | [camunda/optimize:latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start/#available-environment-variables) | +| Optimize | [camunda/optimize:8-latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start/#available-environment-variables) | | Connectors | [camunda/connectors:latest](https://hub.docker.com/r/camunda/connectors) | [Connectors configuration](../../connectors-deployment/connectors-configuration) | | Connectors Bundle | [camunda/connectors-bundle:latest](https://hub.docker.com/r/camunda/connectors-bundle) | [Connectors configuration](../../connectors-deployment/connectors-configuration) | @@ -155,7 +155,7 @@ Like for example this `docker-compose` configuration: ``` optimize: container_name: optimize - image: camunda/optimize:latest + image: camunda/optimize:8-latest ports: - 8090:8090 environment: diff --git a/versioned_docs/version-8.3/self-managed/platform-deployment/helm-kubernetes/upgrade.md b/versioned_docs/version-8.3/self-managed/platform-deployment/helm-kubernetes/upgrade.md index 32f517f2d79..aa66e2ba3bd 100644 --- a/versioned_docs/version-8.3/self-managed/platform-deployment/helm-kubernetes/upgrade.md +++ b/versioned_docs/version-8.3/self-managed/platform-deployment/helm-kubernetes/upgrade.md @@ -103,8 +103,6 @@ As of this Helm chart version, the image tags for all components are independent With this change, Camunda applications no longer require a unified patch version. For example, a given installation may use Zeebe version 8.3.1, and Operate version 8.3.2. Note that only the patch version can differ between components. -The key `global.image.tag` is deprecated and it will be removed in the Camunda 8.6 release. - ### v8.3.1 :::caution diff --git a/versioned_docs/version-8.3/self-managed/zeebe-deployment/operations/metrics.md b/versioned_docs/version-8.3/self-managed/zeebe-deployment/operations/metrics.md index 700cfd4d509..1c2ff76b1fc 100644 --- a/versioned_docs/version-8.3/self-managed/zeebe-deployment/operations/metrics.md +++ b/versioned_docs/version-8.3/self-managed/zeebe-deployment/operations/metrics.md @@ -4,11 +4,7 @@ title: "Metrics" keywords: ["backpressure", "back-pressure", "back pressure"] --- -When operating a distributed system like Zeebe, it is important to put proper monitoring in place. - -To facilitate this, Zeebe exposes an extensive set of metrics. - -Zeebe exposes metrics over an embedded HTTP server. +When operating a distributed system like Zeebe, it is important to put proper monitoring in place. To facilitate this, Zeebe exposes an extensive set of metrics over an embedded HTTP server. ## Types of metrics @@ -17,8 +13,7 @@ Zeebe exposes metrics over an embedded HTTP server. ## Metrics format -Zeebe exposes metrics directly in Prometheus text format. -Read details of the format in the [Prometheus documentation][prom-format]. +Zeebe exposes metrics directly in the [Prometheus text format][prom-format]. **Example:** @@ -30,13 +25,13 @@ zeebe_stream_processor_records_total{action="processed",partition="1",} 20320.0 zeebe_stream_processor_records_total{action="skipped",partition="1",} 2153.0 ``` -## Configuring metrics +## Enable additional metrics -Configure the HTTP server to export the metrics in the [configuration file](../configuration/configuration.md). +Metrics are exported by default. To enable execution metrics, set the `ZEEBE_BROKER_EXECUTION_METRICS_EXPORTER_ENABLED` environment variable to `true` in your Zeebe [configuration file](../configuration/configuration.md). -## Connecting Prometheus +## Connect Prometheus -As explained, Zeebe exposes the metrics over an HTTP server. The default port is `9600`. +Zeebe exposes the metrics over an HTTP server. The default port is `9600`. Add the following entry to your `prometheus.yml`: diff --git a/versioned_docs/version-8.4/apis-tools/java-client-examples/cluster-topology-request.md b/versioned_docs/version-8.4/apis-tools/java-client-examples/cluster-topology-request.md index 8c3e2f4761c..c38a21a2e6b 100644 --- a/versioned_docs/version-8.4/apis-tools/java-client-examples/cluster-topology-request.md +++ b/versioned_docs/version-8.4/apis-tools/java-client-examples/cluster-topology-request.md @@ -15,7 +15,6 @@ Run Zeebe broker with endpoint `localhost:26500` (default). ## TopologyViewer.java -/tree/main/zeebe-client-plain-java [Source on GitHub](https://github.com/camunda-community-hub/camunda-8-examples/blob/main/zeebe-client-plain-java/src/main/java/io/camunda/zeebe/example/cluster/TopologyViewer.java) ```java diff --git a/versioned_docs/version-8.4/components/concepts/encryption-at-rest.md b/versioned_docs/version-8.4/components/concepts/encryption-at-rest.md new file mode 100644 index 00000000000..22f38e0ea53 --- /dev/null +++ b/versioned_docs/version-8.4/components/concepts/encryption-at-rest.md @@ -0,0 +1,72 @@ +--- +id: encryption-at-rest +title: "Encryption at rest" +description: "Camunda 8 SaaS cluster data at rest is protected using Google Cloud Platform (GCP) encryption with a provider-managed encryption key." +keywords: + [ + "encryption", + "encryption at rest", + "encryption key", + "provider key", + "software key", + "hardware key", + ] +--- + +Camunda 8 SaaS only + +Camunda 8 SaaS cluster data is encrypted at rest to provide security and protection for your data. + +## Overview + +By default, Camunda 8 SaaS cluster data at rest is protected with a provider-managed encryption key using [Google Cloud Platform (GCP) encryption](https://cloud.google.com/docs/security/encryption/default-encryption). The encryption key is owned and managed by GCP. + +Enterprise customers requiring a higher level of protection can select a dedicated Camunda-managed software or hardware (HSM) encryption key when creating a new cluster. The encryption key is managed by Camunda using Google Cloud Key Management Service (KMS). + +- You can only select the encryption type when [creating a cluster](/components/console/manage-clusters/create-cluster.md). You cannot change the encryption type after cluster creation. +- You can configure encryption keys on a per-cluster basis so that each cluster has a dedicated encryption key. Encryption keys can be configured for all cluster versions. +- You can view cluster encryption key details in **Cluster Details** on the **Console Overview** tab. + +:::note +Backups use the default provider GCP encryption. +::: + +### Encryption types + +The following table summarizes the available types of cluster encryption at rest. + +| Encryption type | Managed by | Protection level | +| :-------------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Provider encryption key (default) | Google | Google uses a [FIPS 140-2](https://cloud.google.com/security/compliance/fips-140-2-validated) validated encryption module (certificate 4407) in our production environment. | +| Software encryption key | Camunda |

    • Google KMS [software](https://cloud.google.com/docs/security/key-management-deep-dive#software_backend_software_protection_level) protection level.

    • Cryptographic operations are performed in software.
    • Compliant with [FIPS 140-2 Level 1](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).

    | +| Hardware encryption key | Camunda |

    • Google KMS [hardware](https://cloud.google.com/docs/security/key-management-deep-dive#backend_hardware_protection_level) protection level.

    • Cryptographic operations are performed in a hardware security module (HSM).
    • Compliant with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).

    | + +## Provider encryption key (default) + +By default, Camunda 8 SaaS cluster data at rest is protected using GCP encryption. + +- Provider encryption keys are owned and managed by GCP. +- Google uses a [FIPS 140-2](https://cloud.google.com/security/compliance/fips-140-2-validated) validated encryption module. + +:::info +Learn more about [Google default encryption at rest](https://cloud.google.com/docs/security/encryption/default-encryption) and default provider encryption settings. +::: + +## Camunda-managed software encryption key + +Camunda-managed software encryption keys use the Google KMS [software](https://cloud.google.com/docs/security/key-management-deep-dive#software_backend_software_protection_level) protection level to provide a higher level of protection than default provider encryption. + +- Requires an enterprise plan. +- Software encryption keys are managed by Camunda. +- Software encryption keys are compliant with [FIPS 140-2 Level 1](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation). +- Cryptographic operations are performed in software. +- Rotated with zero downtime for security and compliance. + +## Camunda-managed hardware encryption key + +Camunda-managed hardware encryption keys use the Google KMS [hardware](https://cloud.google.com/docs/security/key-management-deep-dive#backend_hardware_protection_level) protection level to provide a higher level of protection than both default provider encryption and Camunda-managed software encryption keys. + +- Requires an enterprise plan. +- Hardware encryption keys are managed by Camunda. +- Hardware encryption keys are compliant with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation). +- Rotated with zero downtime for security and compliance. diff --git a/versioned_docs/version-8.4/components/console/manage-clusters/create-cluster-include.md b/versioned_docs/version-8.4/components/console/manage-clusters/create-cluster-include.md index 0afc49841ce..c088409ac13 100644 --- a/versioned_docs/version-8.4/components/console/manage-clusters/create-cluster-include.md +++ b/versioned_docs/version-8.4/components/console/manage-clusters/create-cluster-include.md @@ -4,10 +4,18 @@ To deploy and run your process, you must create a cluster in Camunda 8. 1. To create a cluster, navigate to **Console**, click the **Clusters** tab, and click **Create new cluster**. -2. Name your cluster. For the purpose of this guide, we recommend using the **Stable** channel and the latest generation. Additionally, select your region. Click **Create cluster**. -3. Your cluster will take a few moments to create. Check the status on the **Clusters** page or by clicking into the cluster itself and looking at the **Applications** section. +1. Name your cluster. For the purpose of this guide, we recommend using the **Stable** channel and the latest generation. +1. Select your [region](/reference/regions.md). +1. Select your [encryption at rest protection level](/components/concepts/encryption-at-rest.md) (enterprise only). +1. Click **Create cluster**. +1. Your cluster will take a few moments to create. Check the status on the **Clusters** page or by clicking into the cluster itself and looking at the **Applications** section. -Even while the cluster shows a status **Creating**, you can still proceed to begin modeling. +:::note + +- If you haven't created a cluster yet, the **Clusters** page will be empty. +- Even while the cluster shows a status **Creating**, you can still proceed to begin modeling. + +::: ## Development clusters diff --git a/versioned_docs/version-8.4/components/console/manage-clusters/create-cluster.md b/versioned_docs/version-8.4/components/console/manage-clusters/create-cluster.md index c288914ce2f..add62f2c17f 100644 --- a/versioned_docs/version-8.4/components/console/manage-clusters/create-cluster.md +++ b/versioned_docs/version-8.4/components/console/manage-clusters/create-cluster.md @@ -4,8 +4,6 @@ title: Create a cluster description: "Let's take a closer look at creating clusters and viewing their details." --- -If you haven't created a cluster yet, the **Clusters** page will be empty. - import CreateCluster from './create-cluster-include.md' diff --git a/versioned_docs/version-8.4/components/modeler/bpmn/message-events/message-events.md b/versioned_docs/version-8.4/components/modeler/bpmn/message-events/message-events.md index bf7cc600fab..a0b92984839 100644 --- a/versioned_docs/version-8.4/components/modeler/bpmn/message-events/message-events.md +++ b/versioned_docs/version-8.4/components/modeler/bpmn/message-events/message-events.md @@ -14,16 +14,29 @@ A process can have one or more message start events (besides other types of star When a process is deployed, it creates a message subscription for each message start event. Message subscriptions of the previous version of the process (based on the BPMN process id) are closed. +### Message correlation + When the message subscription is created, a message can be correlated to the start event if the message name matches. On correlating the message, a new process instance is created and the corresponding message start event is activated. Messages are **not** correlated if they were published before the process was deployed or if a new version of the process is deployed without a proper start event. -The `correlationKey` of a published message can be used to control the process instance creation. If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +The `correlationKey` of a published message can be used to control the process instance creation. -When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (i.e. TTL > 0), this message is correlated and a new instance of the latest version of the process is created. +- If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +- When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (that is, TTL > 0), this message is correlated and a new instance of the latest version of the process is created. If the `correlationKey` of a message is empty, it creates a new process instance and does not check if an instance is already active. +:::note + +You do not specify a `correlationKey` for a message start event in the BPMN model when designing a process. + +- When an application sends a message that is caught by a message start event, the application can specify a `correlationKey` in the message. +- If a message caught by a start event contains a `correlationKey` value, the created process is tagged with that `correlationKey` value. +- Follow-up messages are then checked against this `correlationKey` value (that is, is there an active process instance that was started by a message with the same `correlationKey`?). + +::: + ## Intermediate message catch events When an intermediate message catch event is entered, a corresponding message subscription is created. The process instance stops at this point and waits until the message is correlated. When a message is correlated, the catch event is completed and the process instance continues. diff --git a/versioned_docs/version-8.4/components/modeler/desktop-modeler/flags/flags.md b/versioned_docs/version-8.4/components/modeler/desktop-modeler/flags/flags.md index b759922a484..7ce5ef6d3d6 100644 --- a/versioned_docs/version-8.4/components/modeler/desktop-modeler/flags/flags.md +++ b/versioned_docs/version-8.4/components/modeler/desktop-modeler/flags/flags.md @@ -4,6 +4,9 @@ title: Flags description: "Flags allow you to control the availability of certain features within Desktop Modeler." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + Flags allow you to control the availability of certain features within Desktop Modeler. ## Configuring Flags @@ -18,10 +21,39 @@ Place a `flags.json` file inside the `resources` folder of your local [`{USER_DA Pass flags via the command line when starting the application. + + + + +```plain +"Camunda Modeler.exe" --disable-plugins +``` + + + + + +```plain +camunda-modeler --disable-plugins ``` + + + + + +```plain camunda-modeler --disable-plugins ``` + + + Flags passed as command line arguments take precedence over those configured via a configuration file. ## Available Flags diff --git a/versioned_docs/version-8.4/components/modeler/desktop-modeler/troubleshooting.md b/versioned_docs/version-8.4/components/modeler/desktop-modeler/troubleshooting.md index 5b444ec9a3e..5ff8f6149ab 100644 --- a/versioned_docs/version-8.4/components/modeler/desktop-modeler/troubleshooting.md +++ b/versioned_docs/version-8.4/components/modeler/desktop-modeler/troubleshooting.md @@ -138,10 +138,39 @@ SSL-Session: You can also start Desktop Modeler with gRPC logging turned on to get detailed [logging output](#how-to-obtain-desktop-modeler-logs) on communication to Zeebe: -```sh + + + + +```plain +set DEBUG=* && set ZEEBE_NODE_LOG_LEVEL=DEBUG && set GRPC_VERBOSITY=DEBUG && set GRPC_TRACE=all && "Camunda Modeler.exe" +``` + + + + + +```plain DEBUG=* ZEEBE_NODE_LOG_LEVEL=DEBUG GRPC_VERBOSITY=DEBUG GRPC_TRACE=all camunda-modeler ``` + + + + +```plain +DEBUG=* ZEEBE_NODE_LOG_LEVEL=DEBUG GRPC_VERBOSITY=DEBUG GRPC_TRACE=all camunda-modeler +``` + + + + ## Other questions? Head over to the [Modeler category on the forum](https://forum.camunda.io/c/modeler/6) to receive help from the community. diff --git a/versioned_docs/version-8.4/reference/alpha-features.md b/versioned_docs/version-8.4/reference/alpha-features.md index bcb723daee4..8a65e9ee0fa 100644 --- a/versioned_docs/version-8.4/reference/alpha-features.md +++ b/versioned_docs/version-8.4/reference/alpha-features.md @@ -5,43 +5,49 @@ sidebar_label: Alpha features description: "Use alpha features to learn about upcoming changes, try them out, and share feedback." --- -Use alpha features to learn about upcoming changes, try them out, and share feedback. +You can use alpha features to learn about upcoming changes, try them out, and share feedback. -### Alpha +:::info +To understand the difference between an alpha feature and an alpha release, see [alpha features and releases](release-policy.md#alpha-features-and-releases). +::: + +## Alpha -Selected Camunda features and components are released as alpha versions. We release them in an early state for you to test and participate in development by sharing your feedback before they reach general availability (GA). +Selected Camunda features and components are released as **alpha** versions. We release these in an early state for you to test and participate in development by sharing your feedback before they reach [general availability (GA)](#general-availability-ga). -Characteristics of alpha features and components include: +Limitations of alpha features and components include: - Not for production use. - APIs, dependencies, and configuration are likely to change. - Not necessarily feature-complete. - Might lack full documentation. - No guaranteed updates to newer releases. -- Support based on SLAs agreed with you, but bugs are treated with the same priority as feature or help requests. +- Support based on SLAs agreed with you, but bugs are treated with the same priority as feature or help requests. See [Camunda Enterprise Support Guide](https://docs.camunda.org/enterprise/support/). - No maintenance service. - (SaaS) No availability targets. -- Released outside the standard [release policy](/reference/release-policy.md). +- Released outside the standard [release policy](release-policy.md). + +To learn more about using alpha features, see [enabling alpha features](/components/console/manage-organization/enable-alpha-features.md). :::note -While there is no maintenance service, customers can still provide feedback through designated support channels, depending on their SLAs. These channels include filing issues in the respective [GitHub repositories](https://github.com/camunda) and by submitting questions and suggestions by [contacting us](/contact). +- Alpha features can also be included in a minor version (stable) release. +- Although there is no maintenance service, customers can still provide feedback through designated support channels, depending on their SLAs. These channels include filing issues in the respective [GitHub repositories](https://github.com/camunda) and submitting questions and suggestions by [contacting us](/contact). ::: -Visit our documentation on [enabling alpha features](/components/console/manage-organization/enable-alpha-features.md) to learn more. - -### General availability (GA) +## General availability (GA) Once features and components are released and considered stable, they become generally available. -Characteristics include: +Stable features and components are: -- Allowed for production use. -- Fully documented and supported. +- Ready for production use for most users with minimal risk. +- Supported by [L1 Priority-level support](https://docs.camunda.org/enterprise/support/#priority-level) for production use. +- Fully documented. -:::note - -There are also alpha releases with **limited availability**, such as features that are only available to enterprise customers. +A release or component is considered stable if it has passed all verification and test stages and can be released to production. +:::note +Alpha releases can also have **limited availability**, such as features that are only available to enterprise customers. ::: diff --git a/versioned_docs/version-8.4/reference/dependencies.md b/versioned_docs/version-8.4/reference/dependencies.md index c76db22d890..bd0c3233676 100644 --- a/versioned_docs/version-8.4/reference/dependencies.md +++ b/versioned_docs/version-8.4/reference/dependencies.md @@ -2024,831 +2024,9 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t -### Web Modeler Dependencies (webapp) +- **Dependencies:** SBOM CycloneDX files with up-to-date lists of third party libraries used and their licenses can be requested [on demand](mailto:dependency-request@camunda.com). +- **Source code:** Access to source code is provided [on demand](mailto:dependency-request@camunda.com). -- [@auth0/auth0-spa-js@2.1.3](https://github.com/auth0/auth0-spa-js) (MIT) -- [@babel/runtime@7.23.6](https://github.com/babel/babel) (MIT) -- [@bpmn-io/add-exporter@0.2.0](https://github.com/bpmn-io/add-exporter) (MIT) -- [@bpmn-io/align-to-origin@0.7.0](https://github.com/bpmn-io/align-to-origin) (MIT) -- [@bpmn-io/cm-theme@0.1.0-alpha.2](https://www.npmjs.com/package/@bpmn-io/cm-theme@0.1.0-alpha.2) (MIT) -- [@bpmn-io/diagram-js-ui@0.2.2](https://github.com/bpmn-io/diagram-js-ui) (MIT) -- [@bpmn-io/dmn-variable-resolver@0.4.0](https://www.npmjs.com/package/@bpmn-io/dmn-variable-resolver@0.4.0) (MIT) -- [@bpmn-io/draggle@4.0.0](https://github.com/bpmn-io/draggle) (MIT) -- [@bpmn-io/element-template-chooser@1.0.0](https://github.com/bpmn-io/element-template-chooser) (MIT) -- [@bpmn-io/element-template-icon-renderer@0.5.1](https://github.com/bpmn-io/element-template-icon-renderer) (MIT) -- [@bpmn-io/element-templates-validator@1.7.0](https://github.com/bpmn-io/element-templates-validator) (MIT) -- [@bpmn-io/extract-process-variables@0.8.0](https://github.com/bpmn-io/extract-process-variables) (MIT) -- [@bpmn-io/feel-editor@1.1.0](https://github.com/bpmn-io/feel-editor) (MIT) -- [@bpmn-io/feel-lint@1.1.0](https://github.com/bpmn-io/feel-linter) (MIT) -- [@bpmn-io/form-js-carbon-styles@1.6.3](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-editor@1.6.3](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-playground@1.6.3](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-viewer@1.6.3](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js@1.6.3](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-variable-provider@1.3.0](https://github.com/bpmn-io/form-variable-provider) (MIT) -- [@bpmn-io/moddle-utils@0.2.1](https://github.com/bpmn-io/moddle-utils) (MIT) -- [@bpmn-io/properties-panel@3.15.0](https://github.com/bpmn-io/properties-panel) (MIT) -- [@bpmn-io/replace-ids@0.2.0](https://github.com/bpmn-io/replace-ids) (MIT) -- [@bpmn-io/variable-resolver@1.2.0](https://www.npmjs.com/package/@bpmn-io/variable-resolver@1.2.0) (MIT) -- [@camunda/camunda-composite-components@0.3.0](https://www.npmjs.com/package/@camunda/camunda-composite-components@0.3.0) (Apache-2.0) -- [@camunda/element-templates-json-schema@0.16.0](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@camunda/example-data-properties-provider@1.2.0](https://www.npmjs.com/package/@camunda/example-data-properties-provider@1.2.0) (MIT) -- [@camunda/execution-platform@0.3.2](https://github.com/camunda/execution-platform) (MIT) -- [@camunda/form-js-assistant-module@0.5.0](https://github.com/camunda/form-js-assistant-module) (UNKNOWN) -- [@camunda/form-linting@0.14.0](https://www.npmjs.com/package/@camunda/form-linting@0.14.0) (MIT) -- [@camunda/form-playground@0.12.0](https://github.com/camunda/form-playground) (MIT) -- [@camunda/linting@3.12.0](https://github.com/camunda/linting) (MIT) -- [@camunda/zeebe-element-templates-json-schema@0.17.0](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@carbon/colors@11.20.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/feature-flags@0.16.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/grid@11.21.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icon-helpers@10.45.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icons-react@11.33.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/layout@11.20.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/motion@11.16.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/react@1.46.1](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/styles@1.46.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/telemetry@0.1.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/themes@11.28.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/type@11.25.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@codemirror/autocomplete@6.11.1](https://github.com/codemirror/autocomplete) (MIT) -- [@codemirror/commands@6.3.2](https://github.com/codemirror/commands) (MIT) -- [@codemirror/lang-json@6.0.1](https://github.com/codemirror/lang-json) (MIT) -- [@codemirror/language@6.9.3](https://github.com/codemirror/language) (MIT) -- [@codemirror/lint@6.4.2](https://github.com/codemirror/lint) (MIT) -- [@codemirror/search@6.5.5](https://github.com/codemirror/search) (MIT) -- [@codemirror/state@6.3.3](https://github.com/codemirror/state) (MIT) -- [@codemirror/view@6.22.3](https://github.com/codemirror/view) (MIT) -- [@colors/colors@1.6.0](https://github.com/DABH/colors.js) (MIT) -- [@dabh/diagnostics@2.0.3](https://github.com/3rd-Eden/diagnostics) (MIT) -- [@emotion/is-prop-valid@1.2.1](https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid) (MIT) -- [@emotion/memoize@0.8.1](https://github.com/emotion-js/emotion/tree/main/packages/memoize) (MIT) -- [@emotion/unitless@0.8.0](https://github.com/emotion-js/emotion/tree/main/packages/unitless) (MIT) -- [@hapi/hoek@9.3.0](https://github.com/hapijs/hoek) (BSD-3-Clause) -- [@hapi/topo@5.1.0](https://github.com/hapijs/topo) (BSD-3-Clause) -- [@ibm/plex@6.0.0-next.6](https://github.com/ibm/plex) (OFL-1.1) -- [@ibm/telemetry-js@1.1.0](https://github.com/ibm-telemetry/telemetry-js) (Apache-2.0) -- [@lezer/common@1.2.0](https://github.com/lezer-parser/common) (MIT) -- [@lezer/highlight@1.2.0](https://github.com/lezer-parser/highlight) (MIT) -- [@lezer/json@1.0.2](https://github.com/lezer-parser/json) (MIT) -- [@lezer/lr@1.3.14](https://github.com/lezer-parser/lr) (MIT) -- [@lezer/markdown@1.1.2](https://github.com/lezer-parser/markdown) (MIT) -- [@monaco-editor/loader@1.4.0](https://github.com/suren-atoyan/monaco-loader) (MIT) -- [@monaco-editor/react@4.6.0](https://github.com/suren-atoyan/monaco-react) (MIT) -- [@sentry-internal/feedback@7.91.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry-internal/tracing@7.91.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/browser@7.91.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/core@7.91.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/node@7.91.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/replay@7.91.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/types@7.91.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/utils@7.91.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sideway/address@4.1.4](https://github.com/sideway/address) (BSD-3-Clause) -- [@sideway/formula@3.0.1](https://github.com/sideway/formula) (BSD-3-Clause) -- [@sideway/pinpoint@2.0.0](https://github.com/sideway/pinpoint) (BSD-3-Clause) -- [@types/debug@4.1.12](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/hast@2.3.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/mdast@3.0.15](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/ms@0.7.34](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/node-fetch@2.6.9](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/node@20.10.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/offscreencanvas@2019.7.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/prop-types@15.7.11](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/raf@3.4.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/react@18.2.45](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/scheduler@0.16.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/stylis@4.2.0](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/triple-beam@1.3.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/unist@2.0.10](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [abort-controller@3.0.0](https://github.com/mysticatea/abort-controller) (MIT) -- [accepts@1.3.8](https://github.com/jshttp/accepts) (MIT) -- [agent-base@6.0.2](https://github.com/TooTallNate/node-agent-base) (MIT) -- [ansi-colors@4.1.3](https://github.com/doowb/ansi-colors) (MIT) -- [any-promise@1.3.0](https://github.com/kevinbeaty/any-promise) (MIT) -- [anymatch@3.1.3](https://github.com/micromatch/anymatch) (ISC) -- [array-move@3.0.1](https://github.com/sindresorhus/array-move) (MIT) -- [async@3.2.5](https://github.com/caolan/async) (MIT) -- [asynckit@0.4.0](https://github.com/alexindigo/asynckit) (MIT) -- [atoa@1.0.0](https://github.com/bevacqua/atoa) (MIT) -- [axios@1.7.4](https://github.com/axios/axios) (MIT) -- [bail@2.0.2](https://github.com/wooorm/bail) (MIT) -- [big.js@6.2.1](https://github.com/MikeMcl/big.js) (MIT) -- [binary-extensions@2.2.0](https://github.com/sindresorhus/binary-extensions) (MIT) -- [bintrees@1.0.2](https://github.com/vadimg/js_bintrees) (MIT) -- [bpmn-js-color-picker@0.6.1](https://github.com/bpmn-io/bpmn-js-color-picker) (MIT) -- [bpmn-js-create-append-anything@0.4.0](https://github.com/bpmn-io/bpmn-js-create-append-anything) (MIT) -- [bpmn-js-element-templates@1.10.0](https://github.com/bpmn-io/bpmn-js-element-templates) (MIT) -- [bpmn-js-executable-fix@0.2.1](https://github.com/bpmn-io/bpmn-js-executable-fix) (MIT) -- [bpmn-js-properties-panel@5.7.0](https://github.com/bpmn-io/bpmn-js-properties-panel) (MIT) -- [bpmn-js-token-simulation@0.33.0](https://github.com/bpmn-io/bpmn-js-token-simulation) (MIT) -- [bpmn-js-tracking@0.3.3](https://github.com/bpmn-io/bpmn-js-tracking) (MIT) -- [bpmn-js@16.2.0](https://github.com/bpmn-io/bpmn-js) (MIT\*) -- [bpmn-moddle@8.1.0](https://github.com/bpmn-io/bpmn-moddle) (MIT) -- [bpmnlint-plugin-camunda-compat@2.13.0](https://github.com/camunda/bpmnlint-plugin-camunda-compat) (MIT) -- [bpmnlint-utils@1.1.1](https://github.com/bpmn-io/bpmnlint-utils) (MIT) -- [bpmnlint@9.2.0](https://github.com/bpmn-io/bpmnlint) (MIT) -- [braces@3.0.3](https://github.com/micromatch/braces) (MIT) -- [buffer-from@1.1.2](https://github.com/LinusU/buffer-from) (MIT) -- [bytes@3.1.2](https://github.com/visionmedia/bytes.js) (MIT) -- [cache-content-type@1.0.1](https://github.com/node-modules/cache-content-type) (MIT) -- [call-bind@1.0.5](https://github.com/ljharb/call-bind) (MIT) -- [camelize@1.0.1](https://github.com/ljharb/camelize) (MIT) -- [camunda-bpmn-js-behaviors@1.2.2](https://github.com/camunda/camunda-bpmn-js-behaviors) (MIT) -- [camunda-bpmn-js@3.11.0](https://github.com/camunda/camunda-bpmn-js) (MIT) -- [camunda-bpmn-moddle@7.0.1](https://github.com/camunda/camunda-bpmn-moddle) (MIT) -- [camunda-dmn-js@1.8.0](https://github.com/camunda/camunda-dmn-js) (MIT) -- [camunda-dmn-moddle@1.3.0](https://github.com/camunda/camunda-dmn-moddle) (MIT) -- [canvg@4.0.1](https://github.com/canvg/canvg) (MIT) -- [character-entities@2.0.2](https://github.com/wooorm/character-entities) (MIT) -- [chokidar@3.5.3](https://github.com/paulmillr/chokidar) (MIT) -- [classnames@2.3.2](https://github.com/JedWatson/classnames) (MIT) -- [cli-table@0.3.11](https://github.com/Automattic/cli-table) (MIT\*) -- [clsx@2.0.0](https://github.com/lukeed/clsx) (MIT) -- [co-body@6.1.0](https://github.com/cojs/co-body) (MIT) -- [co@4.6.0](https://github.com/tj/co) (MIT) -- [codemirror@6.0.1](https://github.com/codemirror/basic-setup) (MIT) -- [color-convert@1.9.3](https://github.com/Qix-/color-convert) (MIT) -- [color-convert@2.0.1](https://github.com/Qix-/color-convert) (MIT) -- [color-name@1.1.3](https://github.com/dfcreative/color-name) (MIT) -- [color-name@1.1.4](https://github.com/colorjs/color-name) (MIT) -- [color-string@1.9.1](https://github.com/Qix-/color-string) (MIT) -- [color-support@1.1.3](https://github.com/isaacs/color-support) (ISC) -- [color@3.2.1](https://github.com/Qix-/color) (MIT) -- [color@4.2.3](https://github.com/Qix-/color) (MIT) -- [colors@1.0.3](https://github.com/Marak/colors.js) (MIT) -- [colorspace@1.1.4](https://github.com/3rd-Eden/colorspace) (MIT) -- [combined-stream@1.0.8](https://github.com/felixge/node-combined-stream) (MIT) -- [comma-separated-tokens@2.0.3](https://github.com/wooorm/comma-separated-tokens) (MIT) -- [commander@9.5.0](https://github.com/tj/commander.js) (MIT) -- [component-event@0.1.4](https://github.com/component/event) (MIT\*) -- [component-event@0.2.1](https://github.com/component/event) (MIT) -- [component-props@1.1.1](https://github.com/component/props) (MIT\*) -- [component-xor@0.0.4](https://github.com/component/xor) (MIT) -- [compressible@2.0.18](https://github.com/jshttp/compressible) (MIT) -- [compute-scroll-into-view@3.1.0](https://github.com/scroll-into-view/compute-scroll-into-view) (MIT) -- [content-disposition@0.5.4](https://github.com/jshttp/content-disposition) (MIT) -- [content-type@1.0.5](https://github.com/jshttp/content-type) (MIT) -- [contra@1.9.4](https://github.com/bevacqua/contra) (MIT) -- [cookies@0.8.0](https://github.com/pillarjs/cookies) (MIT) -- [copy-to-clipboard@3.3.3](https://github.com/sudodoki/copy-to-clipboard) (MIT) -- [copy-to@2.0.1](https://github.com/node-modules/copy-to) (MIT) -- [core-js@3.34.0](https://github.com/zloirock/core-js) (MIT) -- [crelt@1.0.6](https://github.com/marijnh/crelt) (MIT) -- [crossvent@1.5.5](https://github.com/bevacqua/crossvent) (MIT) -- [crypto-js@4.2.0](https://github.com/brix/crypto-js) (MIT) -- [css-color-keywords@1.0.0](https://github.com/sonicdoe/css-color-keywords) (ISC) -- [css-to-react-native@3.2.0](https://github.com/styled-components/css-to-react-native) (MIT) -- [css.escape@1.5.1](https://github.com/mathiasbynens/CSS.escape) (MIT) -- [csstype@3.1.2](https://github.com/frenic/csstype) (MIT) -- [csstype@3.1.3](https://github.com/frenic/csstype) (MIT) -- [custom-event@1.0.1](https://github.com/webmodules/custom-event) (MIT) -- [debug@3.2.7](https://github.com/visionmedia/debug) (MIT) -- [debug@4.3.4](https://github.com/debug-js/debug) (MIT) -- [decode-named-character-reference@1.0.2](https://github.com/wooorm/decode-named-character-reference) (MIT) -- [deep-equal@1.0.1](https://github.com/substack/node-deep-equal) (MIT) -- [deep-object-diff@1.1.9](https://github.com/mattphillips/deep-object-diff) (MIT) -- [deepmerge@4.3.1](https://github.com/TehShrike/deepmerge) (MIT) -- [define-data-property@1.1.1](https://github.com/ljharb/define-data-property) (MIT) -- [delayed-stream@1.0.0](https://github.com/felixge/node-delayed-stream) (MIT) -- [delegates@1.0.0](https://github.com/visionmedia/node-delegates) (MIT) -- [depd@1.1.2](https://github.com/dougwilson/nodejs-depd) (MIT) -- [depd@2.0.0](https://github.com/dougwilson/nodejs-depd) (MIT) -- [dequal@2.0.3](https://github.com/lukeed/dequal) (MIT) -- [destroy@1.2.0](https://github.com/stream-utils/destroy) (MIT) -- [diagram-js-direct-editing@2.1.1](https://github.com/bpmn-io/diagram-js-direct-editing) (MIT) -- [diagram-js-grid@0.2.0](https://github.com/bpmn-io/diagram-js-grid) (MIT) -- [diagram-js-minimap@4.1.0](https://github.com/bpmn-io/diagram-js-minimap) (MIT) -- [diagram-js-origin@1.4.0](https://github.com/bpmn-io/diagram-js-origin) (MIT) -- [diagram-js@12.8.1](https://github.com/bpmn-io/diagram-js) (MIT) -- [diagram-js@13.4.0](https://github.com/bpmn-io/diagram-js) (MIT) -- [didi@10.0.1](https://github.com/nikku/didi) (MIT) -- [didi@9.0.2](https://github.com/nikku/didi) (MIT) -- [diff@5.1.0](https://github.com/kpdecker/jsdiff) (BSD-3-Clause) -- [dmn-js-decision-table@15.0.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-drd@15.0.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-literal-expression@15.0.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-properties-panel@3.2.1](https://github.com/bpmn-io/dmn-js-properties-panel) (MIT) -- [dmn-js-shared@15.0.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js@15.0.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-moddle@10.0.0](https://github.com/bpmn-io/dmn-moddle) (MIT) -- [dom-iterator@1.0.0](https://github.com/MatthewMueller/dom-iterator) (MIT) -- [domify@1.4.2](https://github.com/sindresorhus/domify) (MIT) -- [dompurify@3.0.6](https://github.com/cure53/DOMPurify) ((MPL-2.0 OR Apache-2.0)) -- [downloadjs@1.4.7](https://github.com/rndme/download) (MIT) -- [downshift@8.2.3](https://github.com/downshift-js/downshift) (MIT) -- [ee-first@1.1.1](https://github.com/jonathanong/ee-first) (MIT) -- [enabled@2.0.0](https://github.com/3rd-Eden/enabled) (MIT) -- [encodeurl@1.0.2](https://github.com/pillarjs/encodeurl) (MIT) -- [es6-promise@3.3.1](https://github.com/stefanpenner/es6-promise) (MIT) -- [escape-html@1.0.3](https://github.com/component/escape-html) (MIT) -- [event-source-polyfill@1.0.31](https://github.com/Yaffle/EventSource) (MIT) -- [event-target-shim@5.0.1](https://github.com/mysticatea/event-target-shim) (MIT) -- [extend@3.0.2](https://github.com/justmoon/node-extend) (MIT) -- [fecha@4.2.3](https://github.com/taylorhakes/fecha) (MIT) -- [feelers@1.2.0](https://www.npmjs.com/package/feelers) (MIT) -- [feelin@2.3.0](https://github.com/nikku/feelin) (MIT) -- [feelin@3.0.0](https://github.com/nikku/feelin) (MIT) -- [file-drops@0.4.0](https://github.com/nikku/file-drops) (MIT) -- [fill-range@7.1.1](https://github.com/jonschlinkert/fill-range) (MIT) -- [flatpickr@4.6.13](https://github.com/chmln/flatpickr) (MIT) -- [flatpickr@4.6.9](https://github.com/chmln/flatpickr) (MIT) -- [fn.name@1.1.0](https://github.com/3rd-Eden/fn.name) (MIT) -- [focus-trap@7.5.4](https://github.com/focus-trap/focus-trap) (MIT) -- [follow-redirects@1.15.6](https://github.com/follow-redirects/follow-redirects) (MIT) -- [form-data@4.0.0](https://github.com/form-data/form-data) (MIT) -- [fresh@0.5.2](https://github.com/jshttp/fresh) (MIT) -- [fs-readdir-recursive@1.1.0](https://github.com/fs-utils/fs-readdir-recursive) (MIT) -- [fsevents@2.3.3](https://github.com/fsevents/fsevents) (MIT) -- [function-bind@1.1.2](https://github.com/Raynos/function-bind) (MIT) -- [get-intrinsic@1.2.2](https://github.com/ljharb/get-intrinsic) (MIT) -- [glob-parent@5.1.2](https://github.com/gulpjs/glob-parent) (ISC) -- [globalyzer@0.1.0](https://github.com/terkelg/globalyzer) (MIT) -- [globrex@0.1.2](https://github.com/terkelg/globrex) (MIT) -- [gopd@1.0.1](https://github.com/ljharb/gopd) (MIT) -- [hammerjs@2.0.8](https://github.com/hammerjs/hammer.js) (MIT) -- [has-property-descriptors@1.0.1](https://github.com/inspect-js/has-property-descriptors) (MIT) -- [has-proto@1.0.1](https://github.com/inspect-js/has-proto) (MIT) -- [has-symbols@1.0.3](https://github.com/inspect-js/has-symbols) (MIT) -- [has-tostringtag@1.0.0](https://github.com/inspect-js/has-tostringtag) (MIT) -- [hasown@2.0.0](https://github.com/inspect-js/hasOwn) (MIT) -- [hast-util-whitespace@2.0.1](https://github.com/syntax-tree/hast-util-whitespace) (MIT) -- [helmet@6.2.0](https://github.com/helmetjs/helmet) (MIT) -- [history@4.10.1](https://github.com/ReactTraining/history) (MIT) -- [hoist-non-react-statics@3.3.2](https://github.com/mridgway/hoist-non-react-statics) (BSD-3-Clause) -- [htm@3.1.1](https://github.com/developit/htm) (Apache-2.0) -- [http-assert@1.5.0](https://github.com/jshttp/http-assert) (MIT) -- [http-errors@1.8.1](https://github.com/jshttp/http-errors) (MIT) -- [http-errors@2.0.0](https://github.com/jshttp/http-errors) (MIT) -- [https-proxy-agent@5.0.1](https://github.com/TooTallNate/node-https-proxy-agent) (MIT) -- [iconv-lite@0.4.24](https://github.com/ashtuchkin/iconv-lite) (MIT) -- [ids@1.0.5](https://github.com/bpmn-io/ids) (MIT) -- [immutable@4.3.4](https://github.com/immutable-js/immutable-js) (MIT) -- [indexof@0.0.1](https://www.npmjs.com/package/indexof) (MIT\*) -- [inferno-shared@5.6.1](https://github.com/infernojs/inferno) (MIT) -- [inferno-vnode-flags@5.6.1](https://github.com/infernojs/inferno) (MIT) -- [inferno@5.6.2](https://github.com/infernojs/inferno) (MIT) -- [inflation@2.1.0](https://github.com/stream-utils/inflation) (MIT) -- [inherits-browser@0.1.0](https://github.com/nikku/inherits-browser) (ISC) -- [inherits@2.0.4](https://github.com/isaacs/inherits) (ISC) -- [inline-style-parser@0.1.1](https://github.com/remarkablemark/inline-style-parser) (MIT) -- [invariant@2.2.4](https://github.com/zertosh/invariant) (MIT) -- [is-arrayish@0.3.2](https://github.com/qix-/node-is-arrayish) (MIT) -- [is-base64@1.1.0](https://github.com/miguelmota/is-base64) (MIT) -- [is-binary-path@2.1.0](https://github.com/sindresorhus/is-binary-path) (MIT) -- [is-buffer@2.0.5](https://github.com/feross/is-buffer) (MIT) -- [is-extglob@2.1.1](https://github.com/jonschlinkert/is-extglob) (MIT) -- [is-generator-function@1.0.10](https://github.com/inspect-js/is-generator-function) (MIT) -- [is-glob@4.0.3](https://github.com/micromatch/is-glob) (MIT) -- [is-number@7.0.0](https://github.com/jonschlinkert/is-number) (MIT) -- [is-plain-obj@4.1.0](https://github.com/sindresorhus/is-plain-obj) (MIT) -- [is-stream@2.0.1](https://github.com/sindresorhus/is-stream) (MIT) -- [isarray@0.0.1](https://github.com/juliangruber/isarray) (MIT) -- [joi@17.11.0](https://github.com/hapijs/joi) (BSD-3-Clause) -- [jose@5.2.0](https://github.com/panva/jose) (MIT) -- [js-sha256@0.10.1](https://github.com/emn178/js-sha256) (MIT) -- [js-tokens@4.0.0](https://github.com/lydell/js-tokens) (MIT) -- [json-source-map@0.6.1](https://github.com/epoberezkin/json-source-map) (MIT) -- [jwt-decode@3.1.2](https://github.com/auth0/jwt-decode) (MIT) -- [keycode-js@3.1.0](https://github.com/kabirbaidhya/keycode-js) (MIT) -- [keygrip@1.1.0](https://github.com/crypto-utils/keygrip) (MIT) -- [kleur@4.1.5](https://github.com/lukeed/kleur) (MIT) -- [koa-better-http-proxy@0.2.10](https://github.com/nsimmons/koa-better-http-proxy) (MIT) -- [koa-bodyparser@4.4.1](https://github.com/koajs/bodyparser) (MIT) -- [koa-compose@4.1.0](https://github.com/koajs/compose) (MIT) -- [koa-compress@5.1.1](https://github.com/koajs/compress) (MIT) -- [koa-convert@2.0.0](https://github.com/gyson/koa-convert) (MIT) -- [koa-helmet@7.0.2](https://github.com/venables/koa-helmet) (MIT) -- [koa-is-json@1.0.0](https://github.com/koajs/is-json) (MIT) -- [koa-mount@4.0.0](https://github.com/koajs/mount) (MIT) -- [koa-router@12.0.1](https://github.com/koajs/router) (MIT) -- [koa-static-cache@5.1.4](https://github.com/koajs/static-cache) (MIT) -- [koa@2.14.2](https://github.com/koajs/koa) (MIT) -- [kuler@2.0.0](https://github.com/3rd-Eden/kuler) (MIT) -- [lang-feel@2.0.0](https://github.com/nikku/lang-feel) (MIT) -- [lezer-feel@1.2.4](https://github.com/nikku/lezer-feel) (MIT) -- [linkify-html@4.1.3](https://github.com/Hypercontext/linkifyjs) (MIT) -- [linkifyjs@4.1.3](https://github.com/Hypercontext/linkifyjs) (MIT) -- [lodash.debounce@4.0.8](https://github.com/lodash/lodash) (MIT) -- [lodash.findlast@4.6.0](https://github.com/lodash/lodash) (MIT) -- [lodash.isequal@4.5.0](https://github.com/lodash/lodash) (MIT) -- [lodash.omit@4.5.0](https://github.com/lodash/lodash) (MIT) -- [lodash.throttle@4.1.1](https://github.com/lodash/lodash) (MIT) -- [lodash@4.17.21](https://github.com/lodash/lodash) (MIT) -- [logform@2.6.0](https://github.com/winstonjs/logform) (MIT) -- [loose-envify@1.4.0](https://github.com/zertosh/loose-envify) (MIT) -- [lru-cache@6.0.0](https://github.com/isaacs/node-lru-cache) (ISC) -- [luxon@3.4.4](https://github.com/moment/luxon) (MIT) -- [matches-selector@1.2.0](https://github.com/ForbesLindesay/matches-selector) (MIT) -- [mdast-util-definitions@5.1.2](https://github.com/syntax-tree/mdast-util-definitions) (MIT) -- [mdast-util-from-markdown@1.3.1](https://github.com/syntax-tree/mdast-util-from-markdown) (MIT) -- [mdast-util-to-hast@12.3.0](https://github.com/syntax-tree/mdast-util-to-hast) (MIT) -- [mdast-util-to-string@3.2.0](https://github.com/syntax-tree/mdast-util-to-string) (MIT) -- [media-typer@0.3.0](https://github.com/jshttp/media-typer) (MIT) -- [methods@1.1.2](https://github.com/jshttp/methods) (MIT) -- [micromark-core-commonmark@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark) (MIT) -- [micromark-factory-destination@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination) (MIT) -- [micromark-factory-label@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label) (MIT) -- [micromark-factory-space@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-space) (MIT) -- [micromark-factory-title@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-title) (MIT) -- [micromark-factory-whitespace@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-whitespace) (MIT) -- [micromark-util-character@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-character) (MIT) -- [micromark-util-chunked@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-chunked) (MIT) -- [micromark-util-classify-character@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-classify-character) (MIT) -- [micromark-util-combine-extensions@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-combine-extensions) (MIT) -- [micromark-util-decode-numeric-character-reference@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-numeric-character-reference) (MIT) -- [micromark-util-decode-string@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-string) (MIT) -- [micromark-util-encode@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-encode) (MIT) -- [micromark-util-html-tag-name@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-html-tag-name) (MIT) -- [micromark-util-normalize-identifier@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-normalize-identifier) (MIT) -- [micromark-util-resolve-all@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-resolve-all) (MIT) -- [micromark-util-sanitize-uri@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-sanitize-uri) (MIT) -- [micromark-util-subtokenize@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize) (MIT) -- [micromark-util-symbol@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-symbol) (MIT) -- [micromark-util-types@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-types) (MIT) -- [micromark@3.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark) (MIT) -- [mime-db@1.52.0](https://github.com/jshttp/mime-db) (MIT) -- [mime-types@2.1.35](https://github.com/jshttp/mime-types) (MIT) -- [min-dash@3.8.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dash@4.1.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dom@3.2.1](https://github.com/bpmn-io/min-dom) (MIT) -- [min-dom@4.1.0](https://github.com/bpmn-io/min-dom) (MIT) -- [mitt@3.0.1](https://github.com/developit/mitt) (MIT) -- [mobx-react-lite@3.4.3](https://github.com/mobxjs/mobx) (MIT) -- [mobx-react@7.6.0](https://github.com/mobxjs/mobx) (MIT) -- [mobx@6.12.0](https://github.com/mobxjs/mobx) (MIT) -- [moddle-xml@10.1.0](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle-xml@9.0.6](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle@5.0.4](https://github.com/bpmn-io/moddle) (MIT) -- [moddle@6.2.3](https://github.com/bpmn-io/moddle) (MIT) -- [modeler-moddle@0.2.0](https://github.com/camunda/modeler-moddle) (MIT) -- [moment@2.29.4](https://github.com/moment/moment) (MIT) -- [monaco-editor@0.45.0](https://github.com/microsoft/monaco-editor) (MIT) -- [mri@1.2.0](https://github.com/lukeed/mri) (MIT) -- [ms@2.1.2](https://github.com/zeit/ms) (MIT) -- [mz@2.7.0](https://github.com/normalize/mz) (MIT) -- [nanoid@3.3.7](https://github.com/ai/nanoid) (MIT) -- [negotiator@0.6.3](https://github.com/jshttp/negotiator) (MIT) -- [node-fetch@2.7.0](https://github.com/bitinn/node-fetch) (MIT) -- [normalize-path@3.0.0](https://github.com/jonschlinkert/normalize-path) (MIT) -- [object-assign@4.1.1](https://github.com/sindresorhus/object-assign) (MIT) -- [object-inspect@1.13.1](https://github.com/inspect-js/object-inspect) (MIT) -- [object-refs@0.3.0](https://github.com/bpmn-io/object-refs) (MIT) -- [object-refs@0.4.0](https://github.com/bpmn-io/object-refs) (MIT) -- [oidc-client-ts@2.4.0](https://github.com/authts/oidc-client-ts) (Apache-2.0) -- [on-finished@2.4.1](https://github.com/jshttp/on-finished) (MIT) -- [one-time@1.0.0](https://github.com/3rd-Eden/one-time) (MIT) -- [only@0.0.2](https://github.com/visionmedia/node-only) (MIT\*) -- [opencollective-postinstall@2.0.3](https://github.com/opencollective/opencollective-postinstall) (MIT) -- [parseurl@1.3.3](https://github.com/pillarjs/parseurl) (MIT) -- [path-intersection@2.2.1](https://github.com/bpmn-io/path-intersection) (MIT) -- [path-intersection@3.0.0](https://github.com/bpmn-io/path-intersection) (MIT) -- [path-to-regexp@1.8.0](https://github.com/pillarjs/path-to-regexp) (MIT) -- [path-to-regexp@6.2.1](https://github.com/pillarjs/path-to-regexp) (MIT) -- [performance-now@2.1.0](https://github.com/braveg1rl/performance-now) (MIT) -- [picocolors@1.0.0](https://github.com/alexeyraspopov/picocolors) (ISC) -- [picomatch@2.3.1](https://github.com/micromatch/picomatch) (MIT) -- [pluralize@7.0.0](https://github.com/blakeembrey/pluralize) (MIT) -- [postcss-value-parser@4.2.0](https://github.com/TrySound/postcss-value-parser) (MIT) -- [postcss@8.4.31](https://github.com/postcss/postcss) (MIT) -- [preact-markup@2.1.1](https://github.com/developit/preact-markup) (MIT) -- [preact@10.15.1](https://github.com/preactjs/preact) (MIT) -- [prom-client@13.1.0](https://github.com/siimon/prom-client) (Apache-2.0) -- [prop-types@15.8.1](https://github.com/facebook/prop-types) (MIT) -- [property-information@6.4.0](https://github.com/wooorm/property-information) (MIT) -- [proxy-from-env@1.1.0](https://github.com/Rob--W/proxy-from-env) (MIT) -- [pusher-js@8.3.0](https://github.com/pusher/pusher-js) (MIT) -- [pusher@5.2.0](https://github.com/pusher/pusher-http-node) (MIT) -- [qs@6.11.2](https://github.com/ljharb/qs) (BSD-3-Clause) -- [raf@3.4.1](https://github.com/chrisdickinson/raf) (MIT) -- [randomcolor@0.6.2](https://github.com/davidmerfield/randomColor) (Custom: https://randomcolor.lllllllllllllllll.com) -- [raw-body@2.5.2](https://github.com/stream-utils/raw-body) (MIT) -- [react-dom@18.2.0](https://github.com/facebook/react) (MIT) -- [react-error-boundary@4.0.12](https://github.com/bvaughn/react-error-boundary) (MIT) -- [react-fast-compare@3.2.2](https://github.com/FormidableLabs/react-fast-compare) (MIT) -- [react-helmet-async@2.0.4](https://github.com/staylor/react-helmet-async) (Apache-2.0) -- [react-is@16.13.1](https://github.com/facebook/react) (MIT) -- [react-is@18.2.0](https://github.com/facebook/react) (MIT) -- [react-markdown@8.0.7](https://github.com/remarkjs/react-markdown) (MIT) -- [react-router-dom@5.3.4](https://github.com/remix-run/react-router) (MIT) -- [react-router@5.3.4](https://github.com/remix-run/react-router) (MIT) -- [react@18.2.0](https://github.com/facebook/react) (MIT) -- [readable-stream@3.6.2](https://github.com/nodejs/readable-stream) (MIT) -- [readdirp@3.6.0](https://github.com/paulmillr/readdirp) (MIT) -- [regenerator-runtime@0.14.1](https://github.com/facebook/regenerator/tree/main/packages/runtime) (MIT) -- [remark-parse@10.0.2](https://github.com/remarkjs/remark/tree/main/packages/remark-parse) (MIT) -- [remark-rehype@10.1.0](https://github.com/remarkjs/remark-rehype) (MIT) -- [resize-observer-polyfill@1.5.1](https://github.com/que-etc/resize-observer-polyfill) (MIT) -- [resolve-pathname@3.0.0](https://github.com/mjackson/resolve-pathname) (MIT) -- [rgbcolor@1.0.1](https://github.com/yetzt/node-rgbcolor) (MIT\*) -- [route-pattern@0.0.6](https://github.com/bjoerge/route-pattern) (MIT) -- [sade@1.8.1](https://github.com/lukeed/sade) (MIT) -- [safe-buffer@5.2.1](https://github.com/feross/safe-buffer) (MIT) -- [safe-stable-stringify@2.4.3](https://github.com/BridgeAR/safe-stable-stringify) (MIT) -- [safer-buffer@2.1.2](https://github.com/ChALkeR/safer-buffer) (MIT) -- [sass@1.69.5](https://github.com/sass/dart-sass) (MIT) -- [saxen@8.1.2](https://github.com/nikku/saxen) (MIT) -- [scheduler@0.23.0](https://github.com/facebook/react) (MIT) -- [selection-ranges@3.0.3](https://github.com/nikku/selection-ranges) (MIT) -- [selection-update@0.1.2](https://github.com/nikku/selection-update) (MIT) -- [semver-compare@1.0.0](https://github.com/substack/semver-compare) (MIT) -- [semver@7.5.4](https://github.com/npm/node-semver) (ISC) -- [set-function-length@1.1.1](https://github.com/ljharb/set-function-length) (MIT) -- [setprototypeof@1.2.0](https://github.com/wesleytodd/setprototypeof) (ISC) -- [shallowequal@1.1.0](https://github.com/dashed/shallowequal) (MIT) -- [showdown@2.1.0](https://github.com/showdownjs/showdown) (MIT) -- [side-channel@1.0.4](https://github.com/ljharb/side-channel) (MIT) -- [simple-swizzle@0.2.2](https://github.com/qix-/node-simple-swizzle) (MIT) -- [source-map-js@1.0.2](https://github.com/7rulnik/source-map-js) (BSD-3-Clause) -- [source-map-support@0.5.21](https://github.com/evanw/node-source-map-support) (MIT) -- [source-map@0.6.1](https://github.com/mozilla/source-map) (BSD-3-Clause) -- [space-separated-tokens@2.0.2](https://github.com/wooorm/space-separated-tokens) (MIT) -- [stack-trace@0.0.10](https://github.com/felixge/node-stack-trace) (MIT) -- [stackblur-canvas@2.6.0](https://github.com/flozz/StackBlur) (MIT) -- [state-local@1.0.7](https://github.com/suren-atoyan/state-local) (MIT) -- [statsig-js@4.43.1](https://github.com/statsig-io/js-client-sdk) (ISC) -- [statsig-react@1.34.0](https://github.com/statsig-io/react-sdk) (ISC) -- [statuses@1.5.0](https://github.com/jshttp/statuses) (MIT) -- [statuses@2.0.1](https://github.com/jshttp/statuses) (MIT) -- [stoppable@1.1.0](https://github.com/hunterloftis/stoppable) (MIT) -- [string_decoder@1.3.0](https://github.com/nodejs/string_decoder) (MIT) -- [style-mod@4.1.0](https://github.com/marijnh/style-mod) (MIT) -- [style-to-object@0.4.4](https://github.com/remarkablemark/style-to-object) (MIT) -- [styled-components@6.1.3](https://github.com/styled-components/styled-components) (MIT) -- [stylis@4.3.0](https://github.com/thysultan/stylis.js) (MIT) -- [svg-pathdata@6.0.3](https://github.com/nfroidure/svg-pathdata) (MIT) -- [tabbable@6.2.0](https://github.com/focus-trap/tabbable) (MIT) -- [table-js@9.0.0](https://github.com/bpmn-io/table-js) (MIT) -- [tdigest@0.1.2](https://github.com/welch/tdigest) (MIT) -- [text-hex@1.0.0](https://github.com/3rd-Eden/text-hex) (MIT) -- [thenify-all@1.6.0](https://github.com/thenables/thenify-all) (MIT) -- [thenify@3.3.1](https://github.com/thenables/thenify) (MIT) -- [ticky@1.0.1](https://github.com/bevacqua/ticky) (MIT) -- [tiny-glob@0.2.9](https://github.com/terkelg/tiny-glob) (MIT) -- [tiny-invariant@1.3.1](https://github.com/alexreardon/tiny-invariant) (MIT) -- [tiny-svg@3.0.1](https://github.com/bpmn-io/tiny-svg) (MIT) -- [tiny-warning@1.0.3](https://github.com/alexreardon/tiny-warning) (MIT) -- [to-regex-range@5.0.1](https://github.com/micromatch/to-regex-range) (MIT) -- [toggle-selection@1.0.6](https://github.com/sudodoki/toggle-selection) (MIT) -- [toidentifier@1.0.1](https://github.com/component/toidentifier) (MIT) -- [toml@3.0.0](https://github.com/BinaryMuse/toml-node) (MIT) -- [tr46@0.0.3](https://github.com/Sebmaster/tr46.js) (MIT) -- [trim-lines@3.0.1](https://github.com/wooorm/trim-lines) (MIT) -- [triple-beam@1.4.1](https://github.com/winstonjs/triple-beam) (MIT) -- [trough@2.1.0](https://github.com/wooorm/trough) (MIT) -- [tslib@2.5.0](https://github.com/Microsoft/tslib) (0BSD) -- [tslib@2.6.2](https://github.com/Microsoft/tslib) (0BSD) -- [tsscmp@1.0.6](https://github.com/suryagh/tsscmp) (MIT) -- [tweetnacl-util@0.15.1](https://github.com/dchest/tweetnacl-util-js) (Unlicense) -- [tweetnacl@1.0.3](https://github.com/dchest/tweetnacl-js) (Unlicense) -- [type-is@1.6.18](https://github.com/jshttp/type-is) (MIT) -- [undici-types@5.26.5](https://github.com/nodejs/undici) (MIT) -- [unified@10.1.2](https://github.com/unifiedjs/unified) (MIT) -- [unist-util-generated@2.0.1](https://github.com/syntax-tree/unist-util-generated) (MIT) -- [unist-util-is@5.2.1](https://github.com/syntax-tree/unist-util-is) (MIT) -- [unist-util-position@4.0.4](https://github.com/syntax-tree/unist-util-position) (MIT) -- [unist-util-stringify-position@3.0.3](https://github.com/syntax-tree/unist-util-stringify-position) (MIT) -- [unist-util-visit-parents@5.1.3](https://github.com/syntax-tree/unist-util-visit-parents) (MIT) -- [unist-util-visit@4.1.2](https://github.com/syntax-tree/unist-util-visit) (MIT) -- [unpipe@1.0.0](https://github.com/stream-utils/unpipe) (MIT) -- [use-resize-observer@6.1.0](https://github.com/ZeeCoder/use-resize-observer) (MIT) -- [util-deprecate@1.0.2](https://github.com/TooTallNate/util-deprecate) (MIT) -- [uuid@8.3.2](https://github.com/uuidjs/uuid) (MIT) -- [uuid@9.0.1](https://github.com/uuidjs/uuid) (MIT) -- [uvu@0.5.6](https://github.com/lukeed/uvu) (MIT) -- [value-equal@1.0.1](https://github.com/mjackson/value-equal) (MIT) -- [vary@1.1.2](https://github.com/jshttp/vary) (MIT) -- [vfile-message@3.1.4](https://github.com/vfile/vfile-message) (MIT) -- [vfile@5.3.7](https://github.com/vfile/vfile) (MIT) -- [w3c-keyname@2.2.8](https://github.com/marijnh/w3c-keyname) (MIT) -- [webidl-conversions@3.0.1](https://github.com/jsdom/webidl-conversions) (BSD-2-Clause) -- [whatwg-url@5.0.0](https://github.com/jsdom/whatwg-url) (MIT) -- [wicg-inert@3.1.2](https://github.com/WICG/inert) (W3C-20150513) -- [window-or-global@1.0.1](https://github.com/purposeindustries/window-or-global) (MIT) -- [winston-transport@4.6.0](https://github.com/winstonjs/winston-transport) (MIT) -- [winston@3.11.0](https://github.com/winstonjs/winston) (MIT) -- [yallist@4.0.0](https://github.com/isaacs/yallist) (ISC) -- [ylru@1.3.2](https://github.com/node-modules/ylru) (MIT) -- [zeebe-bpmn-moddle@1.0.0](https://github.com/camunda/zeebe-bpmn-moddle) (MIT) - -### Web Modeler Dependencies (restapi) - -- [ch.qos.logback:logback-classic@1.4.14](http://logback.qos.ch/logback-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback:logback-core@1.4.14](http://logback.qos.ch/logback-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-jackson@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-jackson) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-json-classic@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-json-core@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [com.auth0:auth0@1.45.1](https://github.com/auth0/auth0-java) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/auth0-java/master/LICENSE)) -- [com.auth0:java-jwt@4.4.0](https://github.com/auth0/java-jwt) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/java-jwt/master/LICENSE)) -- [com.auth0:jwks-rsa@0.22.1](https://github.com/auth0/jwks-rsa-java) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/jwks-rsa-java/master/LICENSE)) -- [com.ethlo.time:itu@1.7.0](https://github.com/ethlo/itu) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml:classmate@1.5.1](https://github.com/FasterXML/java-classmate) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-annotations@2.15.4](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-core@2.15.4](https://github.com/FasterXML/jackson-core) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-databind@2.15.4](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-toml@2.15.4](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.15.4](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jdk8@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jsr310@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.module:jackson-module-parameter-names@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.github.stephenc.jcip:jcip-annotations@1.0-1](http://stephenc.github.com/jcip-annotations) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.android:annotations@4.1.1.4](http://source.android.com/) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0)) -- [com.google.api.grpc:proto-google-common-protos@2.29.0](https://github.com/googleapis/sdk-platform-java) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.code.findbugs:jsr305@3.0.2](http://findbugs.sourceforge.net/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.code.gson:gson@2.10.1](https://github.com/google/gson/gson) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.errorprone:error_prone_annotations@2.23.0](https://errorprone.info/error_prone_annotations) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:failureaccess@1.0.1](https://github.com/google/guava/failureaccess) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:guava@32.1.3-jre](https://github.com/google/guava) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:listenablefuture@9999.0-empty-to-avoid-conflict-with-guava](https://github.com/google/guava/listenablefuture) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.j2objc:j2objc-annotations@2.8](https://github.com/google/j2objc/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.protobuf:protobuf-java@3.25.1](https://developers.google.com/protocol-buffers/protobuf-java/) ([BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)) -- [com.networknt:json-schema-validator@1.1.0](https://github.com/networknt/json-schema-validator) ([Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [com.nimbusds:nimbus-jose-jwt@9.37.3](https://bitbucket.org/connect2id/nimbus-jose-jwt) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.pusher:pusher-http-java@1.3.3](http://github.com/pusher/pusher-http-java) ([MIT](https://raw.github.com/pusher/pusher-http-java/master/LICENCE.txt)) -- [com.squareup.okhttp3:logging-interceptor@4.10.0](https://square.github.io/okhttp/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.squareup.okio:okio@3.5.0](https://github.com/square/okio/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.squareup.okio:okio-jvm@3.7.0](https://github.com/square/okio/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.sun.activation:jakarta.activation@1.2.2](https://github.com/eclipse-ee4j/jaf/jakarta.activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [com.sun.istack:istack-commons-runtime@4.1.2](https://projects.eclipse.org/projects/ee4j/istack-commons/istack-commons-runtime) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [com.typesafe.netty:netty-reactive-streams@2.0.4](https://github.com/playframework/netty-reactive-streams/netty-reactive-streams) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.vdurmont:semver4j@3.1.0](https://github.com/vdurmont/semver4j) ([The MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [com.zaxxer:HikariCP@5.0.1](https://github.com/brettwooldridge/HikariCP) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [commons-codec:commons-codec@1.15](https://commons.apache.org/proper/commons-codec/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [commons-logging:commons-logging@1.2](http://commons.apache.org/proper/commons-logging/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.grpc:grpc-api@1.60.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-context@1.60.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-core@1.60.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-netty@1.60.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf@1.60.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf-lite@1.60.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-stub@1.60.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-util@1.60.0](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.micrometer:micrometer-commons@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-core@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-observation@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-registry-prometheus@1.11.11](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.netty:netty-buffer@4.1.109.Final](https://netty.io/netty-buffer/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec@4.1.109.Final](https://netty.io/netty-codec/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-dns@4.1.109.Final](https://netty.io/netty-codec-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http@4.1.109.Final](https://netty.io/netty-codec-http/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http2@4.1.109.Final](https://netty.io/netty-codec-http2/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-socks@4.1.109.Final](https://netty.io/netty-codec-socks/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-common@4.1.109.Final](https://netty.io/netty-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler@4.1.109.Final](https://netty.io/netty-handler/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler-proxy@4.1.109.Final](https://netty.io/netty-handler-proxy/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver@4.1.109.Final](https://netty.io/netty-resolver/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns@4.1.109.Final](https://netty.io/netty-resolver-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-classes-macos@4.1.109.Final](https://netty.io/netty-resolver-dns-classes-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-native-macos@4.1.109.Final](https://netty.io/netty-resolver-dns-native-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport@4.1.109.Final](https://netty.io/netty-transport/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-epoll@4.1.109.Final](https://netty.io/netty-transport-classes-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-kqueue@4.1.109.Final](https://netty.io/netty-transport-classes-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-epoll@4.1.109.Final](https://netty.io/netty-transport-native-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-kqueue@4.1.109.Final](https://netty.io/netty-transport-native-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-unix-common@4.1.109.Final](https://netty.io/netty-transport-native-unix-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.perfmark:perfmark-api@0.26.0](https://github.com/perfmark/perfmark) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.projectreactor:reactor-core@3.5.16](https://github.com/reactor/reactor-core) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-core@1.1.18](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-http@1.1.18](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient@0.16.0](http://github.com/prometheus/client_java/simpleclient) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_common@0.16.0](http://github.com/prometheus/client_java/simpleclient_common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_common@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_otel@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_otel_agent@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel_agent) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.smallrye:jandex@3.0.5](https://smallrye.io/jandex-parent/jandex) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.swagger.core.v3:swagger-annotations-jakarta@2.2.19](https://github.com/swagger-api/swagger-core/modules/swagger-annotations-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-core-jakarta@2.2.19](https://github.com/swagger-api/swagger-core/modules/swagger-core-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-models-jakarta@2.2.19](https://github.com/swagger-api/swagger-core/modules/swagger-models-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.undertow:undertow-core@2.3.14.Final](http://www.jboss.org/undertow-parent/undertow-core) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-servlet@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-servlet) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-websockets-jsr@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-websockets-jsr) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [jakarta.activation:jakarta.activation-api@2.1.3](https://github.com/jakartaee/jaf-api) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [jakarta.annotation:jakarta.annotation-api@2.1.1](https://projects.eclipse.org/projects/ee4j.ca) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.inject:jakarta.inject-api@2.0.1](https://github.com/eclipse-ee4j/injection-api) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [jakarta.persistence:jakarta.persistence-api@3.1.0](https://github.com/eclipse-ee4j/jpa-api) ([Eclipse Public License v. 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.servlet:jakarta.servlet-api@6.0.0](https://projects.eclipse.org/projects/ee4j.servlet) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.transaction:jakarta.transaction-api@2.0.1](https://projects.eclipse.org/projects/ee4j.jta) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.validation:jakarta.validation-api@3.0.2](https://beanvalidation.org) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [jakarta.websocket:jakarta.websocket-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [jakarta.websocket:jakarta.websocket-client-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [jakarta.xml.bind:jakarta.xml.bind-api@4.0.2](https://github.com/jakartaee/jaxb-api/jakarta.xml.bind-api) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [javax.cache:cache-api@1.1.1](https://github.com/jsr107/jsr107spec) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.bytebuddy:byte-buddy@1.14.13](https://bytebuddy.net/byte-buddy) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.jodah:failsafe@2.4.1](http://github.com/jhalterman/failsafe/) ([Apache License, Version 2.0](http://apache.org/licenses/LICENSE-2.0)) -- [org.agrona:agrona@1.20.0](https://github.com/real-logic/agrona) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.antlr:antlr4-runtime@4.10.1](http://www.antlr.org/antlr4-runtime) ([The BSD License](http://www.antlr.org/license.html)) -- [org.apache.commons:commons-collections4@4.4](https://commons.apache.org/proper/commons-collections/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.commons:commons-lang3@3.12.0](https://commons.apache.org/proper/commons-lang/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.commons:commons-text@1.10.0](https://commons.apache.org/proper/commons-text) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents:httpclient@4.5.14](http://hc.apache.org/httpcomponents-client-ga) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents:httpcore@4.4.16](http://hc.apache.org/httpcomponents-core-ga) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-api@2.20.0](https://logging.apache.org/log4j/2.x/log4j-api/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-to-slf4j@2.20.0](https://logging.apache.org/log4j/2.x/log4j-to-slf4j/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.tomcat.embed:tomcat-embed-el@10.1.20](https://tomcat.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.aspectj:aspectjweaver@1.9.22](https://www.eclipse.org/aspectj/) ([Eclipse Public License - v 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [org.asynchttpclient:async-http-client@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.asynchttpclient:async-http-client-netty-utils@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client-netty-utils) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-dmn-model@7.20.2-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-dmn-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-xml-model@7.20.2-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-xml-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.checkerframework:checker-qual@3.42.0](https://checkerframework.org/) ([The MIT License](http://opensource.org/licenses/MIT)) -- [org.codehaus.mojo:animal-sniffer-annotations@1.23](https://www.mojohaus.org/animal-sniffer/animal-sniffer-annotations) ([MIT license](https://spdx.org/licenses/MIT.txt)) -- [org.eclipse.angus:angus-activation@2.0.2](https://github.com/eclipse-ee4j/angus-activation/angus-activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.eclipse.angus:jakarta.mail@1.1.0](http://eclipse-ee4j.github.io/mail/jakarta.mail) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [org.ehcache:ehcache@3.10.8](http://ehcache.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.flywaydb:flyway-core@9.16.3](https://flywaydb.org/flyway-core) ([Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-community)) -- [org.freemarker:freemarker@2.3.32](https://freemarker.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.glassfish.jaxb:jaxb-core@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.glassfish.jaxb:jaxb-runtime@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.glassfish.jaxb:txw2@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.hdrhistogram:HdrHistogram@2.1.12](http://hdrhistogram.github.io/HdrHistogram/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) -- [org.hibernate.common:hibernate-commons-annotations@6.0.6.Final](http://hibernate.org) ([GNU Library General Public License v2.1 or later](http://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.orm:hibernate-core@6.2.24.Final](https://hibernate.org/orm) ([GNU Library General Public License v2.1 or later](https://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.validator:hibernate-validator@8.0.1.Final](http://hibernate.org/validator/hibernate-validator) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.logging:jboss-logging@3.5.3.Final](http://www.jboss.org) ([Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jboss.threads:jboss-threads@3.5.0.Final](http://www.jboss.org/jboss-threads) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.xnio:xnio-api@3.8.16.Final](http://www.jboss.org/xnio) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jboss.xnio:xnio-nio@3.8.16.Final](http://www.jboss.org) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jetbrains:annotations@13.0](http://www.jetbrains.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib@1.8.22](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-common@1.8.22](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.8.22](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.8.22](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jsoup:jsoup@1.17.1](https://jsoup.org/) ([The MIT License](https://jsoup.org/license)) -- [org.latencyutils:LatencyUtils@2.0.3](http://latencyutils.github.io/LatencyUtils/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) -- [org.mapstruct:mapstruct@1.5.5.Final](https://mapstruct.org/mapstruct/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.openapitools:jackson-databind-nullable@0.2.6](https://github.com/OpenAPITools/jackson-databind-nullable) ([Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)) -- [org.postgresql:postgresql@42.7.2](https://jdbc.postgresql.org) ([BSD-2-Clause](https://jdbc.postgresql.org/about/license.html)) -- [org.reactivestreams:reactive-streams@1.0.4](http://www.reactive-streams.org/) ([MIT-0](https://spdx.org/licenses/MIT-0.html)) -- [org.slf4j:jul-to-slf4j@2.0.13](http://www.slf4j.org) ([MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [org.slf4j:slf4j-api@2.0.13](http://www.slf4j.org) ([MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [org.springdoc:springdoc-openapi-starter-common@2.3.0](https://springdoc.org/springdoc-openapi-starter-common/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springdoc:springdoc-openapi-starter-webmvc-api@2.3.0](https://springdoc.org/springdoc-openapi-starter-webmvc-api/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springdoc:springdoc-openapi-starter-webmvc-ui@2.3.0](https://springdoc.org/springdoc-openapi-starter-webmvc-ui/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework:spring-aop@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-aspects@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-beans@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context-support@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-core@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-expression@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jcl@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jdbc@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-orm@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-tx@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-web@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webflux@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webmvc@6.0.19](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator-autoconfigure@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-autoconfigure@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-actuator@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-aop@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-data-jpa@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-freemarker@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-jdbc@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-json@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-logging@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-mail@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-oauth2-resource-server@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-reactor-netty@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-security@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-undertow@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-validation@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-web@3.1.11](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-commons@3.1.11](https://spring.io/projects/spring-data) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-jpa@3.1.11](https://projects.spring.io/spring-data-jpa) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.retry:spring-retry@2.0.5](https://www.springsource.org) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework.security:spring-security-config@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-core@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-crypto@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-data@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-core@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-jose@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-resource-server@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-web@6.1.9](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.webjars:swagger-ui@5.10.3](http://webjars.org) ([Apache 2.0](https://github.com/swagger-api/swagger-ui)) -- [org.wildfly.client:wildfly-client-config@1.0.1.Final](http://www.jboss.org/wildfly-client-config) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.wildfly.common:wildfly-common@1.5.4.Final](http://www.jboss.org/wildfly-common) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.yaml:snakeyaml@2.2](https://bitbucket.org/snakeyaml/snakeyaml) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [software.amazon.awssdk:annotations@2.22.0](https://aws.amazon.com/sdkforjava/core/annotations) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:apache-client@2.22.0](https://aws.amazon.com/sdkforjava/http-clients/apache-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:auth@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-core@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-query-protocol@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:checksums@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:checksums-spi@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:endpoints-spi@2.22.0](https://aws.amazon.com/sdkforjava/core/endpoints-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth-aws@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth-spi@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-client-spi@2.22.0](https://aws.amazon.com/sdkforjava/http-client-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:identity-spi@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:json-utils@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:metrics-spi@2.22.0](https://aws.amazon.com/sdkforjava/core/metrics-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:netty-nio-client@2.22.0](https://aws.amazon.com/sdkforjava/http-clients/netty-nio-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:profiles@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:protocol-core@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:rds@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:regions@2.22.0](https://aws.amazon.com/sdkforjava/core/regions) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sdk-core@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sts@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:third-party-jackson-core@2.22.0](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:utils@2.22.0](https://aws.amazon.com/sdkforjava/utils) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.eventstream:eventstream@1.0.1](https://github.com/awslabs/aws-eventstream-java) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.jdbc:aws-advanced-jdbc-wrapper@2.3.1](https://github.com/awslabs/aws-advanced-jdbc-wrapper) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)) - -### Web Modeler Dependencies (websockets) - -- [brick/math@0.12.1](https://github.com/brick/math.git) (MIT) -- [carbonphp/carbon-doctrine-types@3.2.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) -- [clue/redis-protocol@v0.3.2](https://github.com/clue/redis-protocol.git) (MIT) -- [clue/redis-react@v2.7.0](https://github.com/clue/reactphp-redis.git) (MIT) -- [dflydev/dot-access-data@v3.0.3](https://github.com/dflydev/dflydev-dot-access-data.git) (MIT) -- [doctrine/inflector@2.0.10](https://github.com/doctrine/inflector.git) (MIT) -- [doctrine/lexer@3.0.1](https://github.com/doctrine/lexer.git) (MIT) -- [dragonmantank/cron-expression@v3.3.3](https://github.com/dragonmantank/cron-expression.git) (MIT) -- [egulias/email-validator@4.0.2](https://github.com/egulias/EmailValidator.git) (MIT) -- [evenement/evenement@v3.0.2](https://github.com/igorw/evenement.git) (MIT) -- [fruitcake/php-cors@v1.3.0](https://github.com/fruitcake/php-cors.git) (MIT) -- [graham-campbell/result-type@v1.1.3](https://github.com/GrahamCampbell/Result-Type.git) (MIT) -- [guzzlehttp/guzzle@7.9.2](https://github.com/guzzle/guzzle.git) (MIT) -- [guzzlehttp/promises@2.0.3](https://github.com/guzzle/promises.git) (MIT) -- [guzzlehttp/psr7@2.7.0](https://github.com/guzzle/psr7.git) (MIT) -- [guzzlehttp/uri-template@v1.0.3](https://github.com/guzzle/uri-template.git) (MIT) -- [laravel/framework@v11.21.0](https://github.com/laravel/framework.git) (MIT) -- [laravel/prompts@v0.1.25](https://github.com/laravel/prompts.git) (MIT) -- [laravel/reverb@v1.2.0](https://github.com/laravel/reverb.git) (MIT) -- [laravel/serializable-closure@v1.3.4](https://github.com/laravel/serializable-closure.git) (MIT) -- [laravel/tinker@v2.9.0](https://github.com/laravel/tinker.git) (MIT) -- [league/commonmark@2.5.3](https://github.com/thephpleague/commonmark.git) (BSD-3-Clause) -- [league/config@v1.2.0](https://github.com/thephpleague/config.git) (BSD-3-Clause) -- [league/flysystem@3.28.0](https://github.com/thephpleague/flysystem.git) (MIT) -- [league/flysystem-local@3.28.0](https://github.com/thephpleague/flysystem-local.git) (MIT) -- [league/mime-type-detection@1.15.0](https://github.com/thephpleague/mime-type-detection.git) (MIT) -- [monolog/monolog@3.7.0](https://github.com/Seldaek/monolog.git) (MIT) -- [nesbot/carbon@3.8.0](https://github.com/briannesbitt/Carbon.git) (MIT) -- [nette/schema@v1.3.0](https://github.com/nette/schema.git) (BSD-3-Clause) -- [nette/utils@v4.0.5](https://github.com/nette/utils.git) (BSD-3-Clause) -- [nikic/php-parser@v5.0.2](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) -- [nunomaduro/termwind@v2.0.1](https://github.com/nunomaduro/termwind.git) (MIT) -- [paragonie/random_compat@v9.99.100](https://github.com/paragonie/random_compat.git) (MIT) -- [paragonie/sodium_compat@v1.21.1](https://github.com/paragonie/sodium_compat.git) (ISC) -- [phpoption/phpoption@1.9.3](https://github.com/schmittjoh/php-option.git) (Apache-2.0) -- [psr/clock@1.0.0](https://github.com/php-fig/clock.git) (MIT) -- [psr/container@2.0.2](https://github.com/php-fig/container.git) (MIT) -- [psr/event-dispatcher@1.0.0](https://github.com/php-fig/event-dispatcher.git) (MIT) -- [psr/http-client@1.0.3](https://github.com/php-fig/http-client.git) (MIT) -- [psr/http-factory@1.1.0](https://github.com/php-fig/http-factory.git) (MIT) -- [psr/http-message@2.0](https://github.com/php-fig/http-message.git) (MIT) -- [psr/log@3.0.1](https://github.com/php-fig/log.git) (MIT) -- [psr/simple-cache@3.0.0](https://github.com/php-fig/simple-cache.git) (MIT) -- [psy/psysh@v0.12.3](https://github.com/bobthecow/psysh.git) (MIT) -- [pusher/pusher-php-server@7.2.4](https://github.com/pusher/pusher-http-php.git) (MIT) -- [ralouphie/getallheaders@3.0.3](https://github.com/ralouphie/getallheaders.git) (MIT) -- [ramsey/collection@2.0.0](https://github.com/ramsey/collection.git) (MIT) -- [ramsey/uuid@4.7.6](https://github.com/ramsey/uuid.git) (MIT) -- [ratchet/rfc6455@v0.3.1](https://github.com/ratchetphp/RFC6455.git) (MIT) -- [react/cache@v1.2.0](https://github.com/reactphp/cache.git) (MIT) -- [react/dns@v1.13.0](https://github.com/reactphp/dns.git) (MIT) -- [react/event-loop@v1.5.0](https://github.com/reactphp/event-loop.git) (MIT) -- [react/promise@v3.2.0](https://github.com/reactphp/promise.git) (MIT) -- [react/promise-timer@v1.11.0](https://github.com/reactphp/promise-timer.git) (MIT) -- [react/socket@v1.16.0](https://github.com/reactphp/socket.git) (MIT) -- [react/stream@v1.4.0](https://github.com/reactphp/stream.git) (MIT) -- [symfony/clock@v7.1.1](https://github.com/symfony/clock.git) (MIT) -- [symfony/console@v7.1.3](https://github.com/symfony/console.git) (MIT) -- [symfony/css-selector@v7.1.1](https://github.com/symfony/css-selector.git) (MIT) -- [symfony/deprecation-contracts@v3.5.0](https://github.com/symfony/deprecation-contracts.git) (MIT) -- [symfony/error-handler@v7.1.3](https://github.com/symfony/error-handler.git) (MIT) -- [symfony/event-dispatcher@v7.1.1](https://github.com/symfony/event-dispatcher.git) (MIT) -- [symfony/event-dispatcher-contracts@v3.5.0](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) -- [symfony/finder@v7.1.3](https://github.com/symfony/finder.git) (MIT) -- [symfony/http-foundation@v7.1.3](https://github.com/symfony/http-foundation.git) (MIT) -- [symfony/http-kernel@v7.1.3](https://github.com/symfony/http-kernel.git) (MIT) -- [symfony/mailer@v7.1.2](https://github.com/symfony/mailer.git) (MIT) -- [symfony/mime@v7.1.2](https://github.com/symfony/mime.git) (MIT) -- [symfony/polyfill-ctype@v1.30.0](https://github.com/symfony/polyfill-ctype.git) (MIT) -- [symfony/polyfill-intl-grapheme@v1.30.0](https://github.com/symfony/polyfill-intl-grapheme.git) (MIT) -- [symfony/polyfill-intl-idn@v1.30.0](https://github.com/symfony/polyfill-intl-idn.git) (MIT) -- [symfony/polyfill-intl-normalizer@v1.30.0](https://github.com/symfony/polyfill-intl-normalizer.git) (MIT) -- [symfony/polyfill-mbstring@v1.30.0](https://github.com/symfony/polyfill-mbstring.git) (MIT) -- [symfony/polyfill-php72@v1.30.0](https://github.com/symfony/polyfill-php72.git) (MIT) -- [symfony/polyfill-php80@v1.30.0](https://github.com/symfony/polyfill-php80.git) (MIT) -- [symfony/polyfill-php83@v1.30.0](https://github.com/symfony/polyfill-php83.git) (MIT) -- [symfony/polyfill-uuid@v1.30.0](https://github.com/symfony/polyfill-uuid.git) (MIT) -- [symfony/process@v7.1.3](https://github.com/symfony/process.git) (MIT) -- [symfony/routing@v7.1.3](https://github.com/symfony/routing.git) (MIT) -- [symfony/service-contracts@v3.5.0](https://github.com/symfony/service-contracts.git) (MIT) -- [symfony/string@v7.1.3](https://github.com/symfony/string.git) (MIT) -- [symfony/translation@v7.1.3](https://github.com/symfony/translation.git) (MIT) -- [symfony/translation-contracts@v3.5.0](https://github.com/symfony/translation-contracts.git) (MIT) -- [symfony/uid@v7.1.1](https://github.com/symfony/uid.git) (MIT) -- [symfony/var-dumper@v7.1.3](https://github.com/symfony/var-dumper.git) (MIT) -- [tijsverkoyen/css-to-inline-styles@v2.2.7](https://github.com/tijsverkoyen/CssToInlineStyles.git) (BSD-3-Clause) -- [vlucas/phpdotenv@v5.6.1](https://github.com/vlucas/phpdotenv.git) (BSD-3-Clause) -- [voku/portable-ascii@2.0.1](https://github.com/voku/portable-ascii.git) (MIT) -- [webmozart/assert@1.11.0](https://github.com/webmozarts/assert.git) (MIT) diff --git a/versioned_docs/version-8.4/reference/img/channels.png b/versioned_docs/version-8.4/reference/img/channels.png new file mode 100644 index 00000000000..4964fadbba0 Binary files /dev/null and b/versioned_docs/version-8.4/reference/img/channels.png differ diff --git a/versioned_docs/version-8.4/reference/img/diagram-releases.png b/versioned_docs/version-8.4/reference/img/diagram-releases.png new file mode 100644 index 00000000000..f06ee971089 Binary files /dev/null and b/versioned_docs/version-8.4/reference/img/diagram-releases.png differ diff --git a/versioned_docs/version-8.4/reference/release-policy.md b/versioned_docs/version-8.4/reference/release-policy.md index 18e20b41612..f6cc41483f2 100644 --- a/versioned_docs/version-8.4/reference/release-policy.md +++ b/versioned_docs/version-8.4/reference/release-policy.md @@ -1,66 +1,118 @@ --- id: release-policy title: "Release policy" +description: "Learn more about Camunda releases, including alpha features and alpha releases." --- -Camunda 8 follows the [Camunda release policy](https://camunda.com/release-policy/) with some specific clarifications which can be found below. +Camunda 8 follows the [Camunda release policy](https://camunda.com/release-policy/) with the following specific clarifications. + +:::info +You can find deprecation and support announcements on the [Announcements](announcements.md) page. +::: + +![Stable and alpha channels when provisioning a cluster](./img/diagram-releases.png) + +## Alpha features and releases + +It is important to understand the different ways the term "alpha" is used in the context of Camunda releases and features. + +### Alpha feature + +Refers to a feature or component released as an alpha version, in an early state for you to test and participate in development by sharing your feedback before the feature reaches [general availability (GA)](alpha-features.md#general-availability-ga). Some alpha features require turning on for your cluster before you can use them. See [alpha features](alpha-features.md). + +### Alpha release + +Refers to a release made available between minor versions that allows you to preview an upcoming minor version and the alpha features included (for example, `8.4.0-alpha1`, `8.4.0-alpha2`, and so on). Camunda strives to release this type of release on a monthly basis. To learn more about the alpha features included in each alpha release, see [release notes](release-notes.md). :::note -Interested in deprecation and support announcements? Read more on the [Announcements](announcements.md) page. +- An alpha release can also be made available where the entire version is an alpha with [alpha limitations](alpha-features.md#alpha). +- Additionally, "Alpha channel" refers to the channel you can use when provisioning a SaaS cluster. See [alpha channel](#alpha-channel). ::: -## Provisioning in SaaS +## SaaS provisioning + +In Camunda 8 SaaS we differentiate between components that are part of a Camunda 8 cluster (cluster components), and components outside the cluster (non-cluster components). + +### Cluster components + +A cluster typically consists of the following components: -In our managed service, we differentiate between components that are part of a Camunda 8 cluster and components that are outside of the cluster. +- [Zeebe](/components/zeebe/zeebe-overview.md) +- [Operate](/components/operate/operate-introduction.md) +- [Tasklist](/components/tasklist/introduction-to-tasklist.md) +- [Optimize]($optimize$/components/what-is-optimize) -A cluster usually consists of: +You can provision cluster components using one of two channels, following the [Camunda release policy](https://camunda.com/release-policy/). -- Zeebe -- Operate -- Tasklist -- Optimize +![Stable and alpha channels when provisioning a cluster](./img/channels.png) -For components **outside of the cluster**, we release new versions continuously and update customers to the latest version automatically whenever it is ready to be shipped. +#### Stable channel -These components include: +You can use the **Stable** channel to access [general availability](alpha-features.md#general-availability-ga) features for cluster components. -- Modeler (Web) -- Connectors -- Console +- Provides the latest feature and patch releases ready for most users at minimal risk. +- Releases follow semantic versioning and can be updated to the next minor or patch release without data loss. +- On the stable channel, all supported minor versions are made available for provisioning. -Admins can [enable alpha features](/docs/components/console/manage-organization/enable-alpha-features.md) for components outside of the cluster in the organization settings screen. +#### Alpha channel -For components inside a **cluster**, Camunda provides two channels for provisioning and follows the [Camunda release policy](https://camunda.com/release-policy/): +You can use the **Alpha** channel to access [alpha features](alpha-features.md) and patch releases for cluster components. -- **Stable**: General availability features for cluster components are available through the stable channel. This channel provides the latest feature and patch releases ready for most users at minimal risk. The releases follow semantic versioning and can be updated to the next minor or patch release without data loss. -- **Alpha**: Alpha features for cluster components are available through the alpha channel. This channel provides preview releases in preparation for the next stable release. They provide a short-term stability point to test new features and give feedback before they are released to the stable channel. Try these to ensure the upcoming release works with your infrastructure. These releases cannot be updated to a newer release, and therefore are not meant to be used in production. +- Provides alpha releases to preview and prepare for the next stable release. +- Alpha releases provide a short-term stability point to test new features and give feedback before they are released to the stable channel. Use an alpha release to test the upcoming minor release with your infrastructure. +- Alpha releases cannot be updated to a newer release, and so are not suitable for use in production. -On the stable channel, the last three supported minor versions are made available for provisioning. +### Non-cluster components -### New versions +Non-cluster components include: -Whenever a new Camunda 8 version is released, we do our best to provide the new version on our managed service at the same time. We add a notice to Console, recommending an update to the latest version. +- [Modeler (Web)](/components/modeler/web-modeler/launch-web-modeler.md) +- [Connectors](/components/console/introduction-to-console.md) +- [Console](/components/console/introduction-to-console.md) + +Non-cluster component versions are released continuously. + +- Customers are automatically updated to the latest component version when it is ready for release. +- Admins can [enable alpha features](/components/console/manage-organization/enable-alpha-features.md) for non-cluster components in organization settings. + +### New Camunda 8 versions + +When a new Camunda 8 version is released, we try to provide the new version on our managed service at the same time. + +An **Update available** notification is shown in Console, recommending that you update to the latest version. ![Console with notice to update the cluster in Camunda 8 SaaS](img/update-console.png) -#### Updates or restart for critical issues +#### Generation names + +As of Camunda 8.5.0, the generation naming scheme in Camunda 8 SaaS changed to no longer include the patch version. -In our managed service, we reserve the right to force update or restart a cluster immediately and without notice in advance if there is a critical security or stability issue. +- The naming scheme used for the Camunda 8.5 generations is `Camunda .+gen`, where `N` is incremented with every atomic change to the component version set. + +- This decouples the generation name from the particular patch level of the components it contains, as some component versions such as Connectors are decoupled from other components. + +- You can learn about the particular component patch version changes in the update dialogue to the latest generation available. + +#### Update or restart for critical issues + +In our managed service, Camunda reserves the right to force update or restart a cluster immediately and without notice in advance if there is a critical security or stability issue. ## Self-Managed -Whenever a new Camunda 8 version is released, Camunda 8 Self-Managed enterprise customers will be notified via email. +When a new Camunda 8 version is released, Camunda 8 Self-Managed enterprise customers are notified via email. -If you are not an enterprise customer, you can stay up to date via [release blogs](https://camunda.com/blog/category/release-notes/), the [announcements page](/reference/announcements.md), or releases on [GitHub](https://github.com/camunda) and [Docker Hub](https://hub.docker.com/u/camunda). +:::info +Non-enterprise customers can stay up to date via [release blogs](https://camunda.com/blog/category/releases/), [announcements](announcements.md), or releases on [GitHub](https://github.com/camunda) and [Docker Hub](https://hub.docker.com/u/camunda). +::: ### Helm chart -Since the 8.4 release, [Camunda 8 Self-Managed Helm chart](https://artifacthub.io/packages/helm/camunda/camunda-platform) version is decoupled from the version of the application (e.g., the chart version is 9.0.0 and the application version is 8.4.x). +Since the 8.4 release, the [Camunda 8 Self-Managed Helm chart](https://artifacthub.io/packages/helm/camunda/camunda-platform) version is decoupled from the version of the application. For example, the chart version is 9.0.0 and the application version is 8.4.x. -For more details about the applications version included in the Helm chart, review the [full version matrix](https://helm.camunda.io/camunda-platform/version-matrix/). +To learn more about the applications version included in the Helm chart, see the [Camunda 8 Helm chart version matrix](https://helm.camunda.io/camunda-platform/version-matrix/). -### New versions +### New Camunda 8 versions -If you are running Camunda 8 Self-Managed, follow our [update guide](/self-managed/operational-guides/update-guide/introduction.md). +If you are running Camunda 8 Self-Managed, see the [update guide](/self-managed/operational-guides/update-guide/introduction.md) to learn how to update your Camunda 8 application or server installation to a newer version of Camunda 8. diff --git a/versioned_docs/version-8.4/self-managed/console-deployment/configuration.md b/versioned_docs/version-8.4/self-managed/console-deployment/configuration.md index 1ad596b340e..fd3bc5ac0ac 100644 --- a/versioned_docs/version-8.4/self-managed/console-deployment/configuration.md +++ b/versioned_docs/version-8.4/self-managed/console-deployment/configuration.md @@ -63,7 +63,7 @@ console: values: true ``` -## Montioring +## Monitoring To help understand how Console operates, we expose the following endpoints by default: diff --git a/versioned_docs/version-8.4/self-managed/modeler/web-modeler/configuration/logging.md b/versioned_docs/version-8.4/self-managed/modeler/web-modeler/configuration/logging.md index 736e9147cd6..be8db0bd16d 100644 --- a/versioned_docs/version-8.4/self-managed/modeler/web-modeler/configuration/logging.md +++ b/versioned_docs/version-8.4/self-managed/modeler/web-modeler/configuration/logging.md @@ -24,6 +24,12 @@ for more information on how to customize the logback configuration for specific Enabling `DEBUG` logging for the `restapi` component can be useful for troubleshooting purposes, e.g. for [debugging Zeebe connection issues](../troubleshooting/troubleshoot-zeebe-connection.md#how-can-i-debug-log-grpc--zeebe-communication). +By default, Web Modeler's `restapi` component logs in JSON. For a more readable logging format, activate the Spring profile using the following: + +```properties +SPRING_PROFILES_INCLUDE=default-logging +``` + ## Logging configuration for the `webapp` component By default, the `webapp` component logs to the Docker container's standard output. diff --git a/versioned_docs/version-8.4/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md b/versioned_docs/version-8.4/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md index 0d75606ffe3..2663d4f8429 100644 --- a/versioned_docs/version-8.4/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md +++ b/versioned_docs/version-8.4/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md @@ -37,7 +37,7 @@ After the database has been restored, you can start Web Modeler again. :::warning When restoring Web Modeler data from a backup, ensure that the ids of the users stored in your OIDC provider (e.g. Keycloak) do not change in between the backup and restore. -Otherwise, users may not be able to log in after the restore (see [Web Modeler's login troubleshooting guide](docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md#unique-constraint-violation)). +Otherwise, users may not be able to log in after the restore (see [Web Modeler's login troubleshooting guide](self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md#unique-constraint-violation)). ::: :::tip diff --git a/versioned_docs/version-8.4/self-managed/platform-deployment/docker.md b/versioned_docs/version-8.4/self-managed/platform-deployment/docker.md index 1722fc6d137..1f7631a1cde 100644 --- a/versioned_docs/version-8.4/self-managed/platform-deployment/docker.md +++ b/versioned_docs/version-8.4/self-managed/platform-deployment/docker.md @@ -20,7 +20,7 @@ The provided Docker images are supported for production usage only on Linux syst | Operate | [camunda/operate:latest](https://hub.docker.com/r/camunda/operate) | [Operate configuration](../../operate-deployment/operate-configuration) | | Tasklist | [camunda/tasklist:latest](https://hub.docker.com/r/camunda/tasklist) | [Tasklist configuration](../../tasklist-deployment/tasklist-configuration) | | Identity | [camunda/identity:latest](https://hub.docker.com/r/camunda/identity) | [Configuration variables](../../identity/deployment/configuration-variables/) | -| Optimize | [camunda/optimize:latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start/#available-environment-variables) | +| Optimize | [camunda/optimize:8-latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start/#available-environment-variables) | | Connectors | [camunda/connectors:latest](https://hub.docker.com/r/camunda/connectors) | [Connectors configuration](../../connectors-deployment/connectors-configuration) | | Connectors Bundle | [camunda/connectors-bundle:latest](https://hub.docker.com/r/camunda/connectors-bundle) | [Connectors configuration](../../connectors-deployment/connectors-configuration) | @@ -155,7 +155,7 @@ Like for example this `docker-compose` configuration: ``` optimize: container_name: optimize - image: camunda/optimize:latest + image: camunda/optimize:8-latest ports: - 8090:8090 environment: diff --git a/versioned_docs/version-8.4/self-managed/platform-deployment/helm-kubernetes/upgrade.md b/versioned_docs/version-8.4/self-managed/platform-deployment/helm-kubernetes/upgrade.md index 4cb948cdfef..a3cb64cea6f 100644 --- a/versioned_docs/version-8.4/self-managed/platform-deployment/helm-kubernetes/upgrade.md +++ b/versioned_docs/version-8.4/self-managed/platform-deployment/helm-kubernetes/upgrade.md @@ -103,8 +103,6 @@ As of this Helm chart version, the image tags for all components are independent With this change, Camunda applications no longer require a unified patch version. For example, a given installation may use Zeebe version 8.4.1, and Operate version 8.4.2. Note that only the patch version can differ between components. -The key `global.image.tag` is deprecated and it will be removed in the Camunda 8.6 release. - ### v9.3.0 #### Enabling Console diff --git a/versioned_docs/version-8.4/self-managed/tasklist-deployment/tasklist-configuration.md b/versioned_docs/version-8.4/self-managed/tasklist-deployment/tasklist-configuration.md index fa0ae6a063e..ae0c1cc0836 100644 --- a/versioned_docs/version-8.4/self-managed/tasklist-deployment/tasklist-configuration.md +++ b/versioned_docs/version-8.4/self-managed/tasklist-deployment/tasklist-configuration.md @@ -84,17 +84,17 @@ You may need to import the certificate into JVM runtime. For OpenSearch we also have similar configurations: -| Name | Description | Default value | -| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- | -| camunda.tasklist.opensearch.indexPrefix | Prefix for index names. | tasklist | -| camunda.tasklist.opensearch.clusterName | Clustername of OpenSearch. | opensearch | -| camunda.tasklist.opensearch.url | URL of OpenSearch REST API. | http://localhost:9200 | -| camunda.tasklist.opensearch.username | Username to access OpenSearch REST API. | - | -| camunda.tasklist.opensearch.password | Password to access OpenSearch REST API. | - | -| camunda.tasklist.opensearch.awsEnabled |

    Use basic authentication or AWS credentials to login.

    • Set to `false` to use basic authentication for OpenSearch, adhering to the global AWS OpenSearch configuration settings.

    • Set to `true` to login with AWS credentials.

    | false | -| camunda.tasklist.opensearch.ssl.certificatePath | Path to certificate used by OpenSearch. | - | -| camunda.tasklist.opensearch.ssl.selfSigned | Certificate was self-signed. | false | -| camunda.tasklist.opensearch.ssl.verifyHostname | Should the hostname be validated. | false | +| Name | Description | Default value | +| :---------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- | +| camunda.tasklist.opensearch.indexPrefix | Prefix for index names. | tasklist | +| camunda.tasklist.opensearch.clusterName | Cluster name of OpenSearch. | opensearch | +| camunda.tasklist.opensearch.url | URL of OpenSearch REST API. | http://localhost:9200 | +| camunda.tasklist.opensearch.username | Username to access OpenSearch REST API. | - | +| camunda.tasklist.opensearch.password | Password to access OpenSearch REST API. | - | +| camunda.tasklist.opensearch.awsEnabled |

    Use basic authentication or AWS credentials to log in.

    • Set to `false` to use basic authentication for OpenSearch, adhering to the global AWS OpenSearch configuration settings.

    • Set to `true` to log in with AWS credentials.

    | false | +| camunda.tasklist.opensearch.ssl.certificatePath | Path to certificate used by OpenSearch. | - | +| camunda.tasklist.opensearch.ssl.selfSigned | Certificate was self-signed. | false | +| camunda.tasklist.opensearch.ssl.verifyHostname | Should the hostname be validated. | false | By default, Tasklist always tries to connect to Elasticsearch. To define the database to use, the configuration below is mandatory (if this configuration is missed, Elasticsearch is used as the selected database): diff --git a/versioned_docs/version-8.4/self-managed/zeebe-deployment/operations/metrics.md b/versioned_docs/version-8.4/self-managed/zeebe-deployment/operations/metrics.md index 241cf161849..ba4cf3b9f9d 100644 --- a/versioned_docs/version-8.4/self-managed/zeebe-deployment/operations/metrics.md +++ b/versioned_docs/version-8.4/self-managed/zeebe-deployment/operations/metrics.md @@ -4,11 +4,7 @@ title: "Metrics" keywords: ["backpressure", "back-pressure", "back pressure"] --- -When operating a distributed system like Zeebe, it is important to put proper monitoring in place. - -To facilitate this, Zeebe exposes an extensive set of metrics. - -Zeebe exposes metrics over an embedded HTTP server. +When operating a distributed system like Zeebe, it is important to put proper monitoring in place. To facilitate this, Zeebe exposes an extensive set of metrics over an embedded HTTP server. ## Types of metrics @@ -17,8 +13,7 @@ Zeebe exposes metrics over an embedded HTTP server. ## Metrics format -Zeebe exposes metrics directly in Prometheus text format. -Read details of the format in the [Prometheus documentation][prom-format]. +Zeebe exposes metrics directly in the [Prometheus text format][prom-format]. **Example:** @@ -30,13 +25,13 @@ zeebe_stream_processor_records_total{action="processed",partition="1",} 20320.0 zeebe_stream_processor_records_total{action="skipped",partition="1",} 2153.0 ``` -## Configuring metrics +## Enable additional metrics -Configure the HTTP server to export the metrics in the [configuration file](../configuration/configuration.md). +Metrics are exported by default. To enable execution metrics, set the `ZEEBE_BROKER_EXECUTION_METRICS_EXPORTER_ENABLED` environment variable to `true` in your Zeebe [configuration file](../configuration/configuration.md). -## Connecting Prometheus +## Connect Prometheus -As explained, Zeebe exposes the metrics over an HTTP server. The default port is `9600`. +Zeebe exposes the metrics over an HTTP server. The default port is `9600`. Add the following entry to your `prometheus.yml`: diff --git a/versioned_docs/version-8.5/apis-tools/administration-api/authentication.md b/versioned_docs/version-8.5/apis-tools/administration-api/authentication.md index e45b6adaf59..515fddd113f 100644 --- a/versioned_docs/version-8.5/apis-tools/administration-api/authentication.md +++ b/versioned_docs/version-8.5/apis-tools/administration-api/authentication.md @@ -6,7 +6,7 @@ sidebar_position: 2 description: "Learn about access tokens and client credentials and scopes to get started with the Administration API." --- -All Administration API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and pass it in each request. +All Administration API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request. ## Generating a token @@ -47,16 +47,16 @@ All Administration API requests require authentication. To authenticate, generat ## Using a token -Include the captured token as an authorization header in each request: `Authorization: Bearer `. +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. -For example, to call the Administration API's `/members` endpoint, send the following request: +For example, to send a request to the Administration API's `/members` endpoint: ```shell curl --header "Authorization: Bearer ${TOKEN}" \ https://api.cloud.camunda.io/members ``` -A successful response would include [a list of organization members](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetMembers). For example: +A successful response includes [a list of organization members](https://console.cloud.camunda.io/customer-api/openapi/docs/#/default/GetMembers). For example: ```json [ diff --git a/versioned_docs/version-8.5/apis-tools/cli-client/index.md b/versioned_docs/version-8.5/apis-tools/cli-client/index.md index 79b75509955..12f33668816 100644 --- a/versioned_docs/version-8.5/apis-tools/cli-client/index.md +++ b/versioned_docs/version-8.5/apis-tools/cli-client/index.md @@ -39,13 +39,13 @@ zbctl [options] [command] ``` ``` -zbctl is a command line interface designed to create and read resources inside the Zeebe broker. -It is designed for regular maintenance jobs, such as: - * Deploying processes - * Creating jobs and process instances - * Activating, completing, or failing jobs - * Updating variables and retries - * Viewing cluster status +zbctl is a command line interface designed to create and read resources inside zeebe broker. +It is designed for regular maintenance jobs such as: + * deploying resources, + * creating jobs and process instances + * activating, completing or failing jobs + * update variables and retries + * view cluster status Usage: zbctl [command] @@ -72,15 +72,20 @@ Available Commands: version Print the version of zbctl Flags: - --address string Specify a contact point address. If omitted, will read from the environment variable 'ZEEBE_ADDRESS' (default '127.0.0.1:26500') - --audience string Specify the resource that the access token should be valid for. If omitted, will read from the environment variable 'ZEEBE_TOKEN_AUDIENCE' - --authzUrl string Specify an authorization server URL from which to request an access token. If omitted, will read from the environment variable 'ZEEBE_AUTHORIZATION_SERVER_URL' (default "https://login.cloud.camunda.io/oauth/token/") - --certPath string Specify a path to a certificate with which to validate gateway requests. If omitted, will read from the environment variable 'ZEEBE_CA_CERTIFICATE_PATH' - --clientCache string Specify the path to use for the OAuth credentials cache. If omitted, will read from the environment variable 'ZEEBE_CLIENT_CONFIG_PATH' (default "/Users/sitapati/.camunda/credentials") - --clientId string Specify a client identifier to request an access token. If omitted, will read from the environment variable 'ZEEBE_CLIENT_ID' - --clientSecret string Specify a client secret to request an access token. If omitted, will read from the environment variable 'ZEEBE_CLIENT_SECRET' - -h, --help help for zbctl - --insecure Specify if zbctl should use an unsecured connection. If omitted, will read from the environment variable 'ZEEBE_INSECURE_CONNECTION' + --address string Specify a contact point address. If omitted, will read from the environment variable 'ZEEBE_ADDRESS' (default '127.0.0.1:26500') + --audience string Specify the resource that the access token should be valid for. If omitted, will read from the environment variable 'ZEEBE_TOKEN_AUDIENCE' + --authority string Overrides the authority used with TLS virtual hosting. Specifically, to override hostname verification in the TLS handshake. It does not change what host is actually connected to. If omitted, will read from the environment variable 'ZEEBE_OVERRIDE_AUTHORITY' + --authzUrl string Specify an authorization server URL from which to request an access token. If omitted, will read from the environment variable 'ZEEBE_AUTHORIZATION_SERVER_URL' (default "https://login.cloud.camunda.io/oauth/token/") + --certPath string Specify a path to a certificate with which to validate gateway requests. If omitted, will read from the environment variable 'ZEEBE_CA_CERTIFICATE_PATH' + --clientCache string Specify the path to use for the OAuth credentials cache. If omitted, will read from the environment variable 'ZEEBE_CLIENT_CONFIG_PATH' (default "/Users//.camunda/credentials") + --clientId string Specify a client identifier to request an access token. If omitted, will read from the environment variable 'ZEEBE_CLIENT_ID' + --clientSecret string Specify a client secret to request an access token. If omitted, will read from the environment variable 'ZEEBE_CLIENT_SECRET' + -h, --help help for zbctl + --host string Specify the host part of the gateway address. If omitted, will read from the environment variable 'ZEEBE_HOST' (default '127.0.0.1') + --insecure Specify if zbctl should use an unsecured connection. If omitted, will read from the environment variable 'ZEEBE_INSECURE_CONNECTION' + --port string Specify the port part of the gateway address. If omitted, will read from the environment variable 'ZEEBE_PORT' (default '26500') + --requestTimeout duration Specify the default timeout for all requests. Example values: 300ms, 50s or 1m (default 10s) + --scope string Optionally specify the client token scope used when fetching credentials. If omitted, will read from the environment variable 'ZEEBE_TOKEN_SCOPE' Use "zbctl [command] --help" for more information about a command. ``` diff --git a/versioned_docs/version-8.5/apis-tools/java-client-examples/cluster-topology-request.md b/versioned_docs/version-8.5/apis-tools/java-client-examples/cluster-topology-request.md index 7b5094b13e7..ac1a9a952fc 100644 --- a/versioned_docs/version-8.5/apis-tools/java-client-examples/cluster-topology-request.md +++ b/versioned_docs/version-8.5/apis-tools/java-client-examples/cluster-topology-request.md @@ -15,7 +15,6 @@ Run the Zeebe broker with endpoints, `localhost:8080` (default REST) and `localh ## TopologyViewer.java -/tree/main/zeebe-client-plain-java [Source on GitHub](https://github.com/camunda-community-hub/camunda-8-examples/blob/main/zeebe-client-plain-java/src/main/java/io/camunda/zeebe/example/cluster/TopologyViewer.java) ```java diff --git a/versioned_docs/version-8.5/apis-tools/operate-api/authentication.md b/versioned_docs/version-8.5/apis-tools/operate-api/authentication.md index 76d4ac477a1..5ada026ec13 100644 --- a/versioned_docs/version-8.5/apis-tools/operate-api/authentication.md +++ b/versioned_docs/version-8.5/apis-tools/operate-api/authentication.md @@ -7,7 +7,7 @@ description: "Authentication requirements for accessing the Operate REST API." import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; -All Operate REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and pass it in each request. +All Operate REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request. ## Generating a token @@ -89,9 +89,9 @@ See the [Operate Configuration - Authentication](/self-managed/operate-deploymen ## Using a token -Include the captured token as an authorization header in each request: `Authorization: Bearer `. +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. -For example, to call the Operate REST API's ["Search process instances" endpoint](./specifications/search-1.api.mdx), send the following request against the target Operate environment: +For example, to send a request to the Operate REST API's ["Search process instances" endpoint](./specifications/search-1.api.mdx): `. +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. -For example, to call the Tasklist API's ["Search tasks" endpoint](./specifications/search-tasks.api.mdx), send the following request against the target Tasklist environment: +For example, to send a request to the Tasklist API's ["Search tasks" endpoint](./specifications/search-tasks.api.mdx): `. +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. -For example, to call the Web Modeler API's `/info` endpoint, send the following request against the target environment: +For example, to send a request to the Web Modeler API's `/info` endpoint: -A successful response would include [information about the environment](https://modeler.camunda.io/swagger-ui/index.html#/Info/getInfo). For example: +A successful response includes [information about the environment](https://modeler.camunda.io/swagger-ui/index.html#/Info/getInfo). For example: ```json { diff --git a/versioned_docs/version-8.5/apis-tools/working-with-apis-tools.md b/versioned_docs/version-8.5/apis-tools/working-with-apis-tools.md index fce1c11a55c..79b978a849f 100644 --- a/versioned_docs/version-8.5/apis-tools/working-with-apis-tools.md +++ b/versioned_docs/version-8.5/apis-tools/working-with-apis-tools.md @@ -25,7 +25,7 @@ Clients allow applications to do the following: - Start and cancel process instances. - Activate jobs, work on those jobs, and subsequently complete or fail jobs. - Publish messages. -- Update process instance variables and resolve incidents. +- Update process instance variables and resolve [incidents](/components/concepts/incidents.md). The official clients mentioned below interact with [Zeebe](/components/zeebe/zeebe-overview.md), the workflow engine integrated into Camunda 8. All clients require [setting up client credentials](/guides/setup-client-connection-credentials.md) to authenticate. Clients connect to Camunda 8 via a mix of REST and [gRPC](https://grpc.io), a high-performance, open source, and universal RPC protocol. diff --git a/versioned_docs/version-8.5/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md b/versioned_docs/version-8.5/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md index 51f9a4b396b..8962c8430cb 100644 --- a/versioned_docs/version-8.5/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md +++ b/versioned_docs/version-8.5/apis-tools/zeebe-api-rest/zeebe-api-rest-authentication.md @@ -4,59 +4,136 @@ title: "Authentication" description: "Describes authentication options that can be used to access Zeebe REST API." --- -## Authentication in the cloud - -To access the API endpoint, you need an access token. - -Your client must send a header in each request: - -`Authorization: Bearer ` - -For example, send a request using _curl_: +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +All Zeebe REST API requests require authentication. To authenticate, generate a [JSON Web Token (JWT)](https://jwt.io/introduction/) and include it in each request. + +## Generating a token + + + + +1. [Create client credentials](/guides/setup-client-connection-credentials.md) in the **Clusters > Cluster name > API** tab of [Camunda Console](https://console.camunda.io/). +2. Add permissions to this client for **Zeebe**. +3. Upon creating the client, capture the following values required to generate a token: + + | Name | Environment variable name | Default value | + | ------------------------ | -------------------------------- | -------------------------------------------- | + | Client ID | `ZEEBE_CLIENT_ID` | - | + | Client Secret | `ZEEBE_CLIENT_SECRET` | - | + | Authorization Server URL | `ZEEBE_AUTHORIZATION_SERVER_URL` | `https://login.cloud.camunda.io/oauth/token` | + | Audience | `ZEEBE_TOKEN_AUDIENCE` | `zeebe.camunda.io` | + | Optimize REST Address | `ZEEBE_REST_ADDRESS` | - | + + :::tip + When client credentials are created, the `Client Secret` is only shown once. Save this `Client Secret` somewhere safe. + ::: +4. Execute an authentication request to the token issuer: + ```bash + curl --request POST ${ZEEBE_AUTHORIZATION_SERVER_URL} \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data-urlencode 'grant_type=client_credentials' \ + --data-urlencode "audience=${ZEEBE_TOKEN_AUDIENCE}" \ + --data-urlencode "client_id=${ZEEBE_CLIENT_ID}" \ + --data-urlencode "client_secret=${ZEEBE_CLIENT_SECRET}" + ``` +5. A successful authentication response looks like the following: + ```json + { + "access_token": "", + "expires_in": 300, + "refresh_expires_in": 0, + "token_type": "Bearer", + "not-before-policy": 0 + } + ``` +6. Capture the value of the `access_token` property and store it as your token. + + + + + +1. [Add an M2M application in Identity](/self-managed/identity/user-guide/additional-features/incorporate-applications.md). +2. [Add permissions to this application](/self-managed/identity/user-guide/additional-features/incorporate-applications.md) for **Zeebe API**. +3. Capture the `Client ID` and `Client Secret` from the application in Identity. +4. [Generate a token](/self-managed/identity/user-guide/authorizations/generating-m2m-tokens.md) to access the REST API. Provide the `client_id` and `client_secret` from the values you previously captured in Identity. + ```shell + curl --location --request POST 'http://localhost:18080/auth/realms/camunda-platform/protocol/openid-connect/token' \ + --header 'Content-Type: application/x-www-form-urlencoded' \ + --data-urlencode "client_id=${CLIENT_ID}" \ + --data-urlencode "client_secret=${CLIENT_SECRET}" \ + --data-urlencode 'grant_type=client_credentials' + ``` +5. A successful authentication response looks like the following: + ```json + { + "access_token": "", + "expires_in": 300, + "refresh_expires_in": 0, + "token_type": "Bearer", + "not-before-policy": 0 + } + ``` +6. Capture the value of the `access_token` property and store it as your token. + + + + + +## Using a token + +Include the previously captured token as an authorization header in each request: `Authorization: Bearer `. + +For example, to send a request to the Zeebe REST API's `/topology` endpoint: + + + + + +:::tip +The `${ZEEBE_REST_ADDRESS}` variable below represents the URL of the Zeebe REST API. You can capture this URL when creating an API client. You can also construct it as `https://${REGION}.zeebe.camunda.io/${CLUSTER_ID}/`. +::: + + + + + +:::tip +The `${ZEEBE_REST_ADDRESS}` variable below represents the URL of the Zeebe REST API. You can configure this value in your Self-Managed installation. The default value is `http://localhost:8080/`. +::: + + + + ```shell -curl -XGET -H'Accept: application/json' -H'Authorization: Bearer ' http://localhost:8080/v1/topology +curl --header "Authorization: Bearer ${TOKEN}" \ + ${ZEEBE_REST_ADDRESS}/v1/topology ``` -### How to obtain the access token - -You must obtain a token to use the Zeebe REST API. When you create a Zeebe [client](/guides/setup-client-connection-credentials.md), you get all the information needed to connect to Zeebe. - -Refer to our guide on [building your own client](../build-your-own-client.md). - -The following settings are needed: - -| Name | Description | Default value | -| ------------------------ | ----------------------------------------------- | ------------------ | -| client id | Name of your registered client | - | -| client secret | Password for your registered client | - | -| audience | Permission name; if not given use default value | `zeebe.camunda.io` | -| authorization server url | Token issuer server | - | - -Send a token issue _POST_ request to the authorization server with the following content: +A successful response includes [information about the cluster](/apis-tools/zeebe-api-rest/specifications/get-cluster-topology.api.mdx). For example: ```json { - "client_id": "", - "client_secret": "", - "audience": "", - "grant_type": "client_credentials" + "brokers": [ + ... + ], + "clusterSize": 3, + "partitionsCount": 3, + "replicationFactor": 3, + "gatewayVersion": "8.5.7" } ``` -Refer to the following example with _curl_: +## Token expiration -```shell -curl -X POST --header 'content-type: application/json' --data '{"client_id": "", "client_secret":"","audience":"","grant_type":"client_credentials"}' https:// -``` - -If the authentication is successful, the authorization server sends back the access token, when it expires, scope, and type: - -```json -{ - "access_token": "ey...", - "scope": "...", - "expires_in": 86400, - "token_type": "Bearer" -} -``` +Access tokens expire according to the `expires_in` property of a successful authentication response. After this duration, in seconds, you must request a new access token. diff --git a/versioned_docs/version-8.5/apis-tools/zeebe-api/gateway-service.md b/versioned_docs/version-8.5/apis-tools/zeebe-api/gateway-service.md index a73017c6492..21c1f404168 100644 --- a/versioned_docs/version-8.5/apis-tools/zeebe-api/gateway-service.md +++ b/versioned_docs/version-8.5/apis-tools/zeebe-api/gateway-service.md @@ -214,7 +214,7 @@ Returned if: Returned if: -- The job was marked as failed. In that case, the related incident must be resolved before the job can be activated again and completed. +- The job was marked as failed. In that case, the related [incident](/components/concepts/incidents.md) must be resolved before the job can be activated again and completed. ## `CreateProcessInstance` RPC diff --git a/versioned_docs/version-8.5/components/best-practices/development/dealing-with-problems-and-exceptions.md b/versioned_docs/version-8.5/components/best-practices/development/dealing-with-problems-and-exceptions.md index 70aa273ec7f..9a6d2a4bcdf 100644 --- a/versioned_docs/version-8.5/components/best-practices/development/dealing-with-problems-and-exceptions.md +++ b/versioned_docs/version-8.5/components/best-practices/development/dealing-with-problems-and-exceptions.md @@ -30,7 +30,7 @@ Whenever the worker has finished whatever it needs to do (like invoking the REST - [`CompleteJob`](/apis-tools/zeebe-api/gateway-service.md#completejob-rpc): The service task went well, the process instance can move on. - [`FailJob `](/apis-tools/zeebe-api/gateway-service.md#failjob-rpc): The service task failed, and the workflow engine should handle this failure. There are two possibilities: - `remaining retries > 0`: The job is retried. - - `remaining retries <= 0`: An incident is raised and the job is not retried until the incident is resolved. + - `remaining retries <= 0`: An [incident](/components/concepts/incidents.md) is raised and the job is not retried until the incident is resolved. - [`ThrowError`](/apis-tools/zeebe-api/gateway-service.md#throwerror-rpc): A BPMN error is reported, which typically is handled on the BPMN level. As the glue code in the worker is external to the workflow engine, there is **no technical transaction spanning both components**. Technical transactions refer to ACID (atomic, consistent, isolated, durable) properties, mostly known from relational databases. diff --git a/versioned_docs/version-8.5/components/best-practices/development/writing-good-workers.md b/versioned_docs/version-8.5/components/best-practices/development/writing-good-workers.md index d557b08ae90..77a8117deb4 100644 --- a/versioned_docs/version-8.5/components/best-practices/development/writing-good-workers.md +++ b/versioned_docs/version-8.5/components/best-practices/development/writing-good-workers.md @@ -240,12 +240,12 @@ These observations yield the following recommendations: ### Node.js client -Using the [Node.js client](https://github.com/camunda/camunda-platform-get-started/tree/master/nodejs), your worker code will look like this, assuming that you use Axios to do rest calls (but of course any other library is fine as well): +Using the [Node.js client](https://github.com/camunda/camunda-8-js-sdk), your worker code will look like this, assuming that you use Axios to do rest calls (but of course any other library is fine as well): ```js zbc.createWorker({ taskType: "rest", - taskHandler: (job, _, worker) => { + taskHandler: (job) => { console.log("Invoke REST call..."); axios .get(PAYMENT_URL) @@ -264,7 +264,7 @@ zbc.createWorker({ This is **reactive code**. And a really interesting observation is that reactive programming is so deep in the JavaScript language that it is impossible to write blocking code, even code that looks blocking is still [executed in a non-blocking fashion](https://github.com/berndruecker/camunda-cloud-clients-parallel-job-execution/blob/main/results/nodejs-blocking.log). -Node.js code scales pretty well and there is no specific thread pool defined or necessary. The Camunda 8 Node.js client library also [uses reactive programming internally](https://github.com/camunda-community-hub/zeebe-client-node-js/blob/master/src/zb/ZBWorker.ts#L28). +Node.js code scales pretty well and there is no specific thread pool defined or necessary. The Camunda 8 Node.js client library also [uses reactive programming internally](https://github.com/camunda-community-hub/zeebe-client-node-js/blob/master/src/zb/ZBWorker.ts#L27). This makes the recommendation very straight-forward: diff --git a/versioned_docs/version-8.5/components/concepts/clusters.md b/versioned_docs/version-8.5/components/concepts/clusters.md index 05524405931..6a2ec3f3e3f 100644 --- a/versioned_docs/version-8.5/components/concepts/clusters.md +++ b/versioned_docs/version-8.5/components/concepts/clusters.md @@ -34,7 +34,7 @@ When your Free Trial plan expires, you are automatically transferred to the Free Free Trial `dev` (or untagged) clusters are automatically paused eight hours after a cluster is created or resumed from a paused state. Auto-pause occurs regardless of cluster usage. -You can resume a paused cluster at any time, which typically takes five to ten minutes to complete. See [resume your cluster](/components/console/manage-clusters/resume-cluster.md/). +You can resume a paused cluster at any time, which typically takes five to ten minutes to complete. See [resume your cluster](/components/console/manage-clusters/manage-cluster.md#resume-a-cluster). - Clusters tagged as `test`, `stage`, or `prod` do not auto-pause. - Paused clusters are automatically deleted after 30 consecutive paused days. You can change the tag to avoid cluster deletion. @@ -73,5 +73,5 @@ Additionally in the Starter Plan, the following applies to **development cluster - **Shorter history of processes and decisions**: Data retention in Operate, Optimize, and Tasklist is reduced to one day. For example, pending or historical process instances are deleted after one day as per the [fair usage limits of the Starter plan](https://camunda.com/legal/fair-usage-limits-for-starter-plan/). :::caution -**Cluster auto-pause** is not yet available and only applies to non-Enterprise clusters. Development clusters will be paused if they go unused for two hours. When a cluster is paused, not all functionality will be limited, including the execution of BPMN timers and BPMN message catch events. +**Cluster auto-pause** is not yet available and only applies to non-Enterprise clusters. Development clusters will be paused if they go unused for two hours. When a cluster is paused, not all functionality is limited. For example, you may still execute BPMN timers and BPMN message catch events. To resume your cluster, review [how to resume a cluster](/components/console/manage-clusters/manage-cluster.md#resume-a-cluster). ::: diff --git a/versioned_docs/version-8.5/components/concepts/encryption-at-rest.md b/versioned_docs/version-8.5/components/concepts/encryption-at-rest.md new file mode 100644 index 00000000000..22f38e0ea53 --- /dev/null +++ b/versioned_docs/version-8.5/components/concepts/encryption-at-rest.md @@ -0,0 +1,72 @@ +--- +id: encryption-at-rest +title: "Encryption at rest" +description: "Camunda 8 SaaS cluster data at rest is protected using Google Cloud Platform (GCP) encryption with a provider-managed encryption key." +keywords: + [ + "encryption", + "encryption at rest", + "encryption key", + "provider key", + "software key", + "hardware key", + ] +--- + +Camunda 8 SaaS only + +Camunda 8 SaaS cluster data is encrypted at rest to provide security and protection for your data. + +## Overview + +By default, Camunda 8 SaaS cluster data at rest is protected with a provider-managed encryption key using [Google Cloud Platform (GCP) encryption](https://cloud.google.com/docs/security/encryption/default-encryption). The encryption key is owned and managed by GCP. + +Enterprise customers requiring a higher level of protection can select a dedicated Camunda-managed software or hardware (HSM) encryption key when creating a new cluster. The encryption key is managed by Camunda using Google Cloud Key Management Service (KMS). + +- You can only select the encryption type when [creating a cluster](/components/console/manage-clusters/create-cluster.md). You cannot change the encryption type after cluster creation. +- You can configure encryption keys on a per-cluster basis so that each cluster has a dedicated encryption key. Encryption keys can be configured for all cluster versions. +- You can view cluster encryption key details in **Cluster Details** on the **Console Overview** tab. + +:::note +Backups use the default provider GCP encryption. +::: + +### Encryption types + +The following table summarizes the available types of cluster encryption at rest. + +| Encryption type | Managed by | Protection level | +| :-------------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Provider encryption key (default) | Google | Google uses a [FIPS 140-2](https://cloud.google.com/security/compliance/fips-140-2-validated) validated encryption module (certificate 4407) in our production environment. | +| Software encryption key | Camunda |

    • Google KMS [software](https://cloud.google.com/docs/security/key-management-deep-dive#software_backend_software_protection_level) protection level.

    • Cryptographic operations are performed in software.
    • Compliant with [FIPS 140-2 Level 1](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).

    | +| Hardware encryption key | Camunda |

    • Google KMS [hardware](https://cloud.google.com/docs/security/key-management-deep-dive#backend_hardware_protection_level) protection level.

    • Cryptographic operations are performed in a hardware security module (HSM).
    • Compliant with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation).

    | + +## Provider encryption key (default) + +By default, Camunda 8 SaaS cluster data at rest is protected using GCP encryption. + +- Provider encryption keys are owned and managed by GCP. +- Google uses a [FIPS 140-2](https://cloud.google.com/security/compliance/fips-140-2-validated) validated encryption module. + +:::info +Learn more about [Google default encryption at rest](https://cloud.google.com/docs/security/encryption/default-encryption) and default provider encryption settings. +::: + +## Camunda-managed software encryption key + +Camunda-managed software encryption keys use the Google KMS [software](https://cloud.google.com/docs/security/key-management-deep-dive#software_backend_software_protection_level) protection level to provide a higher level of protection than default provider encryption. + +- Requires an enterprise plan. +- Software encryption keys are managed by Camunda. +- Software encryption keys are compliant with [FIPS 140-2 Level 1](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation). +- Cryptographic operations are performed in software. +- Rotated with zero downtime for security and compliance. + +## Camunda-managed hardware encryption key + +Camunda-managed hardware encryption keys use the Google KMS [hardware](https://cloud.google.com/docs/security/key-management-deep-dive#backend_hardware_protection_level) protection level to provide a higher level of protection than both default provider encryption and Camunda-managed software encryption keys. + +- Requires an enterprise plan. +- Hardware encryption keys are managed by Camunda. +- Hardware encryption keys are compliant with [FIPS 140-2 Level 3](https://cloud.google.com/docs/security/key-management-deep-dive#fips_140-2_validation). +- Rotated with zero downtime for security and compliance. diff --git a/versioned_docs/version-8.5/components/concepts/job-workers.md b/versioned_docs/version-8.5/components/concepts/job-workers.md index 1e509b23a68..73e9c189e6d 100644 --- a/versioned_docs/version-8.5/components/concepts/job-workers.md +++ b/versioned_docs/version-8.5/components/concepts/job-workers.md @@ -65,7 +65,7 @@ After working on an activated job, a job worker informs Camunda 8 that the job h - When the job worker completes its work, it sends a `complete job` command along with any variables, which in turn is merged into the process instance. This is how the job worker exposes the results of its work. - If the job worker can not successfully complete its work, it sends a `fail job` command. Fail job commands include the number of remaining retries, which is set by the job worker. - If `remaining retries` is greater than zero, the job is retried and reassigned. - - If `remaining retries` is zero or negative, an incident is raised and the job is not retried until the incident is resolved. + - If `remaining retries` is zero or negative, an [incident](/components/concepts/incidents.md) is raised and the job is not retried until the incident is resolved. When failing a job it is possible to specify a `retry back off`. This back off allows waiting for a specified amount of time before retrying the job. This could be useful when a job worker communicates with an external system. If the external system is down, immediately retrying the job will not work. diff --git a/versioned_docs/version-8.5/components/concepts/process-instance-migration.md b/versioned_docs/version-8.5/components/concepts/process-instance-migration.md index 4aefaf1fc92..b91f35615bb 100644 --- a/versioned_docs/version-8.5/components/concepts/process-instance-migration.md +++ b/versioned_docs/version-8.5/components/concepts/process-instance-migration.md @@ -92,7 +92,7 @@ Simply cancel the service task instance, and add a new instance of the service t ## Correcting mistakes in a process instance -Process instance migration can also be used to correct mistakes that led to an incident in a process instance. +Process instance migration can also be used to correct mistakes that led to an [incident](/components/concepts/incidents.md) in a process instance. Let's consider an example. diff --git a/versioned_docs/version-8.5/components/concepts/resource-deletion.md b/versioned_docs/version-8.5/components/concepts/resource-deletion.md index 65a42eab45d..dfca210ff4e 100644 --- a/versioned_docs/version-8.5/components/concepts/resource-deletion.md +++ b/versioned_docs/version-8.5/components/concepts/resource-deletion.md @@ -54,7 +54,7 @@ new `latest` instead. ### Call activities A [call activity](/components/modeler/bpmn/call-activities/call-activities.md) references a process by id. It's -possible that all process definitions for this process id are deleted. In this case, Zeebe creates an incident on the +possible that all process definitions for this process id are deleted. In this case, Zeebe creates an [incident](/components/concepts/incidents.md) on the call activity, informing you that the process cannot be not found. ### Limitations diff --git a/versioned_docs/version-8.5/components/console/introduction-to-console.md b/versioned_docs/version-8.5/components/console/introduction-to-console.md index 082888e9cb9..4cad974a116 100644 --- a/versioned_docs/version-8.5/components/console/introduction-to-console.md +++ b/versioned_docs/version-8.5/components/console/introduction-to-console.md @@ -7,7 +7,7 @@ Camunda Console is the management application for the included products, such as Using Camunda Console, you can: -- [Create](./manage-clusters/create-cluster.md) and [delete](./manage-clusters/delete-cluster.md) clusters. +- [Create](./manage-clusters/create-cluster.md) and [delete](./manage-clusters/manage-cluster.md#delete-a-cluster) clusters. - [Manage API clients](./manage-clusters/manage-api-clients.md) to interact with [Zeebe](/components/zeebe/zeebe-overview.md) and [Tasklist](/components/tasklist/introduction-to-tasklist.md). - [Manage alerts](./manage-clusters/manage-alerts.md) to get notified when workflow errors occur. - [Manage IP allowlists](./manage-clusters/manage-ip-allowlists.md) to restrict access to clusters. diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/create-cluster-include.md b/versioned_docs/version-8.5/components/console/manage-clusters/create-cluster-include.md index 5dcb6bd513d..3ef88f19505 100644 --- a/versioned_docs/version-8.5/components/console/manage-clusters/create-cluster-include.md +++ b/versioned_docs/version-8.5/components/console/manage-clusters/create-cluster-include.md @@ -4,10 +4,18 @@ To deploy and run your process, you must create a cluster in Camunda 8. 1. To create a cluster, navigate to **Console**, click the **Clusters** tab, and click **Create new cluster**. -2. Name your cluster. For the purpose of this guide, we recommend using the **Stable** channel and the latest generation. Additionally, select your region. Click **Create cluster**. -3. Your cluster will take a few moments to create. Check the status on the **Clusters** page or by clicking into the cluster itself and looking at the **Applications** section. +1. Name your cluster. For the purpose of this guide, we recommend using the **Stable** channel and the latest generation. +1. Select your [region](/reference/regions.md). +1. Select your [encryption at rest protection level](/components/concepts/encryption-at-rest.md) (enterprise only). +1. Click **Create cluster**. +1. Your cluster will take a few moments to create. Check the status on the **Clusters** page or by clicking into the cluster itself and looking at the **Applications** section. -Even while the cluster shows a status **Creating**, you can still proceed to begin modeling. +:::note + +- If you haven't created a cluster yet, the **Clusters** page will be empty. +- Even while the cluster shows a status **Creating**, you can still proceed to begin modeling. + +::: ## Development clusters @@ -40,3 +48,7 @@ Users without **Admin** roles can deploy only on `dev`, `test`, or `stage` clust ![cluster-healthy](./img/cluster-overview-new-cluster-healthy.png) 3. After the cluster is created, click on the cluster name to visit the cluster detail page. + +:::note +**Cluster auto-pause** is not yet available and only applies to non-Enterprise clusters. Development clusters will be paused if they go unused for two hours. When a cluster is paused, not all functionality is limited. For example, you may still execute BPMN timers and BPMN message catch events. To resume your cluster, review [how to resume a cluster](/components/console/manage-clusters/manage-cluster.md#resume-a-cluster). +::: diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/create-cluster.md b/versioned_docs/version-8.5/components/console/manage-clusters/create-cluster.md index c288914ce2f..add62f2c17f 100644 --- a/versioned_docs/version-8.5/components/console/manage-clusters/create-cluster.md +++ b/versioned_docs/version-8.5/components/console/manage-clusters/create-cluster.md @@ -4,8 +4,6 @@ title: Create a cluster description: "Let's take a closer look at creating clusters and viewing their details." --- -If you haven't created a cluster yet, the **Clusters** page will be empty. - import CreateCluster from './create-cluster-include.md' diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/delete-cluster.md b/versioned_docs/version-8.5/components/console/manage-clusters/delete-cluster.md deleted file mode 100644 index 78e19573481..00000000000 --- a/versioned_docs/version-8.5/components/console/manage-clusters/delete-cluster.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: delete-cluster -title: Delete your cluster -description: "Follow these step-by-step instructions to remove your cluster permanently." ---- - -:::note -This action cannot be undone. -::: - -A cluster can be deleted at any time. To delete your cluster, navigate to the **Clusters** tab in the top navigation and click **Delete** to the far right of the cluster name. diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/manage-cluster.md b/versioned_docs/version-8.5/components/console/manage-clusters/manage-cluster.md new file mode 100644 index 00000000000..d1bfb84d2fe --- /dev/null +++ b/versioned_docs/version-8.5/components/console/manage-clusters/manage-cluster.md @@ -0,0 +1,72 @@ +--- +id: manage-cluster +title: Manage your cluster +description: "Follow these steps to rename, resume, update, or delete your cluster." +--- + +Read through the following sections to rename, resume, update, or delete your cluster. + +## Rename a cluster + +A cluster can be renamed at any time. To rename your cluster, follow the steps below: + +1. Open the cluster details by clicking on the cluster name. +2. Select the three vertical dots next to the cluster name near the top of the page to open the cluster's menu. +3. Click **Rename**. + +![cluster-rename](./img/cluster-rename.png) + +## Resume a cluster + +:::note +**Cluster auto-pause** is not yet available and only applies to non-Enterprise clusters. Development clusters will be paused if they go unused for two hours. When a cluster is paused, not all functionality is limited. For example, you may still execute BPMN timers and BPMN message catch events. To learn more about automatic cluster pausing on Free Trial plan clusters, see [auto-pause](/components/concepts/clusters.md#auto-pause). +::: + +You can resume your paused cluster during deployment, or from the **Console** at any time. + +### Resume during deployment + +During deployment, you can resume the selected cluster if it is paused. + +![Resume a paused cluster during deployment](./img/cluster-resume-deploy.png) + +1. Select your paused cluster during deployment. +1. Select **Resume** in the paused cluster notification. + +### Resume from Console + +You can resume your paused cluster from the **Console** at any time. + +![Resume a paused cluster from the Console](./img/cluster-resume-console.png) + +1. Navigate to **Console**, and select the **Clusters** tab. +1. The cluster **Status** shows “Paused” if a cluster is paused. Select the cluster that you want to resume. +1. On the cluster **Overview** tab, select **Resume cluster** in the **Status** row of the **Cluster Details**. + +## Update a cluster + +:::note +This action cannot be undone. Updated clusters cannot be reverted to the previous version. +::: + +Clusters can be updated to new versions of Camunda 8 manually or automatically. + +Clusters eligible for updates will show a button on the UI. + +At this time, updates do not trigger backups, however, manual backups can be initiated through the Console Backups tab. + +### Update a cluster manually + +When an update is available, an **Update** button will appear. This button is not available for clusters enrolled in [automatic updates](/reference/auto-updates.md). + +### Automated cluster updates + +You can decide if you want to have [automated updates](/reference/auto-updates.md) to new versions of Camunda 8 activated. You can also toggle this feature anytime later in the **Settings** tab of your cluster. + +## Delete a cluster + +:::note +This action cannot be undone. +::: + +A cluster can be deleted at any time. To delete your cluster, navigate to the **Clusters** tab in the top navigation and click **Delete** to the far right of the cluster name. diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/rename-cluster.md b/versioned_docs/version-8.5/components/console/manage-clusters/rename-cluster.md deleted file mode 100644 index acf57da70ab..00000000000 --- a/versioned_docs/version-8.5/components/console/manage-clusters/rename-cluster.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -id: rename-cluster -title: Rename your cluster -description: "Take these steps to rename your cluster." ---- - -A cluster can be renamed at any time. To rename your cluster, follow the steps below: - -1. Open the cluster details by clicking on the cluster name. -2. Select the three vertical dots next to the cluster name near the top of the page to open the cluster's menu. -3. Click **Rename**. - -![cluster-rename](./img/cluster-rename.png) diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/resume-cluster.md b/versioned_docs/version-8.5/components/console/manage-clusters/resume-cluster.md deleted file mode 100644 index c0b70362c31..00000000000 --- a/versioned_docs/version-8.5/components/console/manage-clusters/resume-cluster.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -id: resume-cluster -title: Resume your cluster -description: "You can resume your paused cluster during deployment, or from the Console at any time." ---- - -You can resume your paused cluster during deployment, or from the **Console** at any time. - -- Resuming a cluster typically takes five to ten minutes. -- To learn more about automatic cluster pausing on Free Trial plan clusters, see [auto-pause](/components/concepts/clusters.md#auto-pause). - -## Resume during deployment - -During deployment, you can resume the selected cluster if it is paused. - -![Resume a paused cluster during deployment](./img/cluster-resume-deploy.png) - -1. Select your paused cluster during deployment. -1. Select **Resume** in the paused cluster notification. - -## Resume from Console - -You can resume your paused cluster from the **Console** at any time. - -![Resume a paused cluster from the Console](./img/cluster-resume-console.png) - -1. Navigate to **Console**, and select the **Clusters** tab. -1. The cluster **Status** shows “Paused” if a cluster is paused. Select the cluster that you want to resume. -1. On the cluster **Overview** tab, select **Resume cluster** in the **Status** row of the **Cluster Details**. diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/settings.md b/versioned_docs/version-8.5/components/console/manage-clusters/settings.md index e16d4570014..3dfedeceed3 100644 --- a/versioned_docs/version-8.5/components/console/manage-clusters/settings.md +++ b/versioned_docs/version-8.5/components/console/manage-clusters/settings.md @@ -35,7 +35,7 @@ You can set the cluster to automatically update to newer versions of Camunda 8 w - Disable this setting if you do not want the cluster to automatically update. You must manually update the cluster. :::tip -For more information on updating clusters, see [update your cluster](/components/console/manage-clusters/update-cluster.md). +For more information on updating clusters, see [update your cluster](/components/console/manage-clusters/manage-cluster.md#update-a-cluster). ::: ## Enforce user task restrictions @@ -51,7 +51,7 @@ For more information on user task access restrictions, see [user task access res ## Delete this cluster -You can _permanently_ delete the selected cluster. See [delete your cluster](/components/console/manage-clusters/delete-cluster.md). +You can _permanently_ delete the selected cluster. See [delete your cluster](/components/console/manage-clusters/manage-cluster.md#delete-a-cluster). :::caution Deleting a cluster is permanent. You cannot reuse a cluster after it has been deleted. diff --git a/versioned_docs/version-8.5/components/console/manage-clusters/update-cluster.md b/versioned_docs/version-8.5/components/console/manage-clusters/update-cluster.md deleted file mode 100644 index 05d70761d89..00000000000 --- a/versioned_docs/version-8.5/components/console/manage-clusters/update-cluster.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -id: update-cluster -title: Update your cluster -description: "Gain access to the latest features and functionality by updating your cluster." ---- - -:::note -This action cannot be undone. Updated clusters cannot be reverted to the previous version. -::: - -Clusters can be updated to new versions of Camunda 8 manually or automatically. - -Clusters eligible for updates will show a button on the UI. - -At this time, updates do not trigger backups, however, manual backups can be initiated through the Console Backups tab. - -## Update a cluster manually - -When an update is available, an **Update** button will appear. This button is not available for clusters enrolled in [automatic updates](/reference/auto-updates.md). - -## Automated cluster updates - -You can decide if you want to have [automated updates](/reference/auto-updates.md) to new versions of Camunda 8 activated. You can also toggle this feature anytime later in the **Settings** tab of your cluster. diff --git a/versioned_docs/version-8.5/components/modeler/bpmn/error-events/error-events.md b/versioned_docs/version-8.5/components/modeler/bpmn/error-events/error-events.md index 7870c0f2d72..08dacec7a0c 100644 --- a/versioned_docs/version-8.5/components/modeler/bpmn/error-events/error-events.md +++ b/versioned_docs/version-8.5/components/modeler/bpmn/error-events/error-events.md @@ -59,7 +59,7 @@ event or error event subprocess that caught the error is activated. ## Unhandled errors -When an error is thrown and not caught, an **incident** (i.e. `Unhandled error event`) is raised to indicate the failure. The incident is attached to the corresponding element where the error was thrown (i.e. the task of the processed job or the error end event). +When an error is thrown and not caught, an [**incident**](/components/concepts/incidents.md) (for example, `Unhandled error event`) is raised to indicate the failure. The incident is attached to the corresponding element where the error was thrown (that is, the task of the processed job or the error end event). When you resolve the incident attached to a task, it ignores the error, re-enables the job, and allows it to be activated and completed by a job worker once again. diff --git a/versioned_docs/version-8.5/components/modeler/bpmn/exclusive-gateways/exclusive-gateways.md b/versioned_docs/version-8.5/components/modeler/bpmn/exclusive-gateways/exclusive-gateways.md index 1db5ad6dba2..e084bd3c5fa 100644 --- a/versioned_docs/version-8.5/components/modeler/bpmn/exclusive-gateways/exclusive-gateways.md +++ b/versioned_docs/version-8.5/components/modeler/bpmn/exclusive-gateways/exclusive-gateways.md @@ -12,7 +12,7 @@ If an exclusive gateway has multiple outgoing sequence flows, all sequence flows When an exclusive gateway is entered, the `conditionExpression` is evaluated. The process instance takes the first sequence flow where the condition is fulfilled. -If no condition is fulfilled, it takes the **default flow** of the gateway. If the gateway has no default flow, an incident is created. +If no condition is fulfilled, it takes the **default flow** of the gateway. If the gateway has no default flow, an [incident](/components/concepts/incidents.md) is created. An exclusive gateway can also be used to join multiple incoming flows together and improve the readability of the BPMN. A joining gateway has a pass-through semantic and doesn't merge the incoming concurrent flows like a parallel gateway. diff --git a/versioned_docs/version-8.5/components/modeler/bpmn/inclusive-gateways/inclusive-gateways.md b/versioned_docs/version-8.5/components/modeler/bpmn/inclusive-gateways/inclusive-gateways.md index bac2e804414..48424d12999 100644 --- a/versioned_docs/version-8.5/components/modeler/bpmn/inclusive-gateways/inclusive-gateways.md +++ b/versioned_docs/version-8.5/components/modeler/bpmn/inclusive-gateways/inclusive-gateways.md @@ -28,7 +28,7 @@ For example: Courses selected include `steak`, `pasta` and `salad`. ![An inclusive gateway has decided to take the steps to cook pasta, stir-fry steak, and prepare salad.](assets/inclusive-gateway-2.png) -If no condition is fulfilled, it takes the **default flow** of the gateway. Note that the default flow is not expected to have a condition, and is therefore not evaluated. If no condition is fulfilled and the gateway has no default flow, an incident is created. +If no condition is fulfilled, it takes the **default flow** of the gateway. Note that the default flow is not expected to have a condition, and is therefore not evaluated. If no condition is fulfilled and the gateway has no default flow, an [incident](/components/concepts/incidents.md) is created. For example: No courses selected then the default flow is taken. diff --git a/versioned_docs/version-8.5/components/modeler/bpmn/message-events/message-events.md b/versioned_docs/version-8.5/components/modeler/bpmn/message-events/message-events.md index c1614ad6272..9be8722db94 100644 --- a/versioned_docs/version-8.5/components/modeler/bpmn/message-events/message-events.md +++ b/versioned_docs/version-8.5/components/modeler/bpmn/message-events/message-events.md @@ -14,16 +14,29 @@ A process can have one or more message start events (besides other types of star When a process is deployed, it creates a message subscription for each message start event. Message subscriptions of the previous version of the process (based on the BPMN process id) are closed. +### Message correlation + When the message subscription is created, a message can be correlated to the start event if the message name matches. On correlating the message, a new process instance is created and the corresponding message start event is activated. Messages are **not** correlated if they were published before the process was deployed or if a new version of the process is deployed without a proper start event. -The `correlationKey` of a published message can be used to control the process instance creation. If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +The `correlationKey` of a published message can be used to control the process instance creation. -When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (i.e. TTL > 0), this message is correlated and a new instance of the latest version of the process is created. +- If an instance of this process is active (independently from its version) and it was triggered by a message with the same `correlationKey`, the message is **not** correlated and no new instance is created. If the message has a time-to-live (TTL) > 0, it is buffered. +- When the active process instance is completed or terminated and a message with the same `correlationKey` and a matching message name is buffered (that is, TTL > 0), this message is correlated and a new instance of the latest version of the process is created. If the `correlationKey` of a message is empty, it creates a new process instance and does not check if an instance is already active. +:::note + +You do not specify a `correlationKey` for a message start event in the BPMN model when designing a process. + +- When an application sends a message that is caught by a message start event, the application can specify a `correlationKey` in the message. +- If a message caught by a start event contains a `correlationKey` value, the created process is tagged with that `correlationKey` value. +- Follow-up messages are then checked against this `correlationKey` value (that is, is there an active process instance that was started by a message with the same `correlationKey`?). + +::: + ## Intermediate message catch events When an intermediate message catch event is entered, a corresponding message subscription is created. The process instance stops at this point and waits until the message is correlated. When a message is correlated, the catch event is completed and the process instance continues. diff --git a/versioned_docs/version-8.5/components/modeler/desktop-modeler/flags/flags.md b/versioned_docs/version-8.5/components/modeler/desktop-modeler/flags/flags.md index 353d6f25eb2..be36b267b3f 100644 --- a/versioned_docs/version-8.5/components/modeler/desktop-modeler/flags/flags.md +++ b/versioned_docs/version-8.5/components/modeler/desktop-modeler/flags/flags.md @@ -4,6 +4,9 @@ title: Flags description: "Flags allow you to control the availability of certain features within Desktop Modeler." --- +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + Flags allow you to control the availability of certain features within Desktop Modeler. Learn which flags [are available](#available-flags) and how to [configure them](#configuration). ## Configuration @@ -22,10 +25,39 @@ Place a `flags.json` file inside the `resources` folder of your local [`{USER_DA Pass flags via the command line when starting the application. + + + + +```plain +"Camunda Modeler.exe" --disable-plugins +``` + + + + + +```plain +camunda-modeler --disable-plugins ``` + + + + + +```plain camunda-modeler --disable-plugins ``` + + + Flags passed as command line arguments take precedence over those configured via a configuration file. ## Available flags diff --git a/versioned_docs/version-8.5/components/modeler/desktop-modeler/troubleshooting.md b/versioned_docs/version-8.5/components/modeler/desktop-modeler/troubleshooting.md index fc4e1a1ba3d..e738a5aaef7 100644 --- a/versioned_docs/version-8.5/components/modeler/desktop-modeler/troubleshooting.md +++ b/versioned_docs/version-8.5/components/modeler/desktop-modeler/troubleshooting.md @@ -138,10 +138,39 @@ SSL-Session: You can also start Desktop Modeler with gRPC logging turned on to get detailed [logging output](#how-to-obtain-desktop-modeler-logs) on communication to Zeebe: -```sh + + + + +```plain +set DEBUG=* && set ZEEBE_NODE_LOG_LEVEL=DEBUG && set GRPC_VERBOSITY=DEBUG && set GRPC_TRACE=all && "Camunda Modeler.exe" +``` + + + + + +```plain DEBUG=* ZEEBE_NODE_LOG_LEVEL=DEBUG GRPC_VERBOSITY=DEBUG GRPC_TRACE=all camunda-modeler ``` + + + + +```plain +DEBUG=* ZEEBE_NODE_LOG_LEVEL=DEBUG GRPC_VERBOSITY=DEBUG GRPC_TRACE=all camunda-modeler +``` + + + + ## Other questions? Head over to the [Modeler category on the forum](https://forum.camunda.io/c/modeler/6) to receive help from the community. diff --git a/versioned_docs/version-8.5/components/modeler/web-modeler/launch-web-modeler.md b/versioned_docs/version-8.5/components/modeler/web-modeler/launch-web-modeler.md index c0118d4f2be..818f394ed8d 100644 --- a/versioned_docs/version-8.5/components/modeler/web-modeler/launch-web-modeler.md +++ b/versioned_docs/version-8.5/components/modeler/web-modeler/launch-web-modeler.md @@ -14,7 +14,7 @@ To launch Web Modeler, follow the steps below: 2. Select **Create new project** to create a new project and store diagrams. ![web modeler empty home](img/web-modeler-new-user-home.png) 3. Name your diagram. You can go back and change the name any time by clicking on the project name and **Edit name**. -4. Select **Browse blueprints** to view blueprints for various use cases as a starting point for your first diagram. Open these blueprints by selecting **Use Blueprint**. Alternatively, click **Create new > BPMN diagram** to create a blank BPMN diagrams. +4. Select **Browse blueprints** to view blueprints for various use cases as a starting point for your first diagram. Open these blueprints by selecting **Use Blueprint**. Alternatively, click **Create new > BPMN diagram** to create a blank BPMN diagram. ![web modeler blueprint browsing](img/web-modeler-blueprint.png) 5. While browsing blueprints, you can also open the details of a specific blueprint by selecting **More details**. This opens a new tab in the [Camunda Marketplace](/components/modeler/web-modeler/camunda-marketplace.md). Here, you can have a closer look at the diagram, and open it in SaaS or Self-Managed. diff --git a/versioned_docs/version-8.5/reference/alpha-features.md b/versioned_docs/version-8.5/reference/alpha-features.md index bcb723daee4..8a65e9ee0fa 100644 --- a/versioned_docs/version-8.5/reference/alpha-features.md +++ b/versioned_docs/version-8.5/reference/alpha-features.md @@ -5,43 +5,49 @@ sidebar_label: Alpha features description: "Use alpha features to learn about upcoming changes, try them out, and share feedback." --- -Use alpha features to learn about upcoming changes, try them out, and share feedback. +You can use alpha features to learn about upcoming changes, try them out, and share feedback. -### Alpha +:::info +To understand the difference between an alpha feature and an alpha release, see [alpha features and releases](release-policy.md#alpha-features-and-releases). +::: + +## Alpha -Selected Camunda features and components are released as alpha versions. We release them in an early state for you to test and participate in development by sharing your feedback before they reach general availability (GA). +Selected Camunda features and components are released as **alpha** versions. We release these in an early state for you to test and participate in development by sharing your feedback before they reach [general availability (GA)](#general-availability-ga). -Characteristics of alpha features and components include: +Limitations of alpha features and components include: - Not for production use. - APIs, dependencies, and configuration are likely to change. - Not necessarily feature-complete. - Might lack full documentation. - No guaranteed updates to newer releases. -- Support based on SLAs agreed with you, but bugs are treated with the same priority as feature or help requests. +- Support based on SLAs agreed with you, but bugs are treated with the same priority as feature or help requests. See [Camunda Enterprise Support Guide](https://docs.camunda.org/enterprise/support/). - No maintenance service. - (SaaS) No availability targets. -- Released outside the standard [release policy](/reference/release-policy.md). +- Released outside the standard [release policy](release-policy.md). + +To learn more about using alpha features, see [enabling alpha features](/components/console/manage-organization/enable-alpha-features.md). :::note -While there is no maintenance service, customers can still provide feedback through designated support channels, depending on their SLAs. These channels include filing issues in the respective [GitHub repositories](https://github.com/camunda) and by submitting questions and suggestions by [contacting us](/contact). +- Alpha features can also be included in a minor version (stable) release. +- Although there is no maintenance service, customers can still provide feedback through designated support channels, depending on their SLAs. These channels include filing issues in the respective [GitHub repositories](https://github.com/camunda) and submitting questions and suggestions by [contacting us](/contact). ::: -Visit our documentation on [enabling alpha features](/components/console/manage-organization/enable-alpha-features.md) to learn more. - -### General availability (GA) +## General availability (GA) Once features and components are released and considered stable, they become generally available. -Characteristics include: +Stable features and components are: -- Allowed for production use. -- Fully documented and supported. +- Ready for production use for most users with minimal risk. +- Supported by [L1 Priority-level support](https://docs.camunda.org/enterprise/support/#priority-level) for production use. +- Fully documented. -:::note - -There are also alpha releases with **limited availability**, such as features that are only available to enterprise customers. +A release or component is considered stable if it has passed all verification and test stages and can be released to production. +:::note +Alpha releases can also have **limited availability**, such as features that are only available to enterprise customers. ::: diff --git a/versioned_docs/version-8.5/reference/announcements.md b/versioned_docs/version-8.5/reference/announcements.md index e4f95e7dca6..019b32e041a 100644 --- a/versioned_docs/version-8.5/reference/announcements.md +++ b/versioned_docs/version-8.5/reference/announcements.md @@ -13,7 +13,7 @@ End of maintenance: 14th of October 2025 ### Camunda 8 SaaS - Required cluster update :::caution -By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be [updated](/components/console/manage-clusters/update-cluster.md) to the following versions at a **minimum**: +By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be [updated](/components/console/manage-clusters/manage-cluster.md#update-a-cluster) to the following versions at a **minimum**: - **8.2+gen27** - **8.3+gen11** @@ -24,7 +24,7 @@ By **August 30th, 2024** all automation clusters in Camunda 8 SaaS must be [upda auth0 announced an End-Of-Life for one of the functionalities that is being utilized by previous automation clusters. The new versions are not using this functionality anymore. This update ensures your cluster will work seamlessly after auth0 deactivates the feature in production. -You minimally need to take the following [update](/components/console/manage-clusters/update-cluster.md) path: +You minimally need to take the following [update](/components/console/manage-clusters/manage-cluster.md#update-a-cluster) path: - 8.0.x -> 8.2+gen27 - 8.1.x -> 8.2+gen27 @@ -103,6 +103,12 @@ Timestamps which were previously serialized as `ISO8061` strings are now seriali Until a fix is delivered in 8.5.1, workarounds include not deserializing timestamp values from affected APIs, or deserializing them as integers. +### Identity Keycloak URL changes + +Identity now uses the Keycloak frontend URL instead of the backend URL. This change may affect you if you have blocked the Keycloak frontend URL from other services (including Camunda applications), and can potentially impact Identity's functionality. + +To avoid connectivity issues, ensure your Keycloak frontend URL is accessible by adjusting your network, firewall, or security settings as needed. This adjustment is crucial to maintain the integration with Keycloak and ensure compatibility. + ## Camunda 8.4 Release date: 9th of January 2024 diff --git a/versioned_docs/version-8.5/reference/dependencies.md b/versioned_docs/version-8.5/reference/dependencies.md index 4aaf57a110a..a96f03abfb5 100644 --- a/versioned_docs/version-8.5/reference/dependencies.md +++ b/versioned_docs/version-8.5/reference/dependencies.md @@ -2062,840 +2062,9 @@ Desktop Modeler is a desktop modeling application that builds upon a number of t -### Web Modeler Dependencies (webapp) +- **Dependencies:** SBOM CycloneDX files with up-to-date lists of third party libraries used and their licenses can be requested [on demand](mailto:dependency-request@camunda.com). +- **Source code:** Access to source code is provided [on demand](mailto:dependency-request@camunda.com). -- [@auth0/auth0-spa-js@2.1.3](https://github.com/auth0/auth0-spa-js) (MIT) -- [@babel/runtime@7.23.8](https://github.com/babel/babel) (MIT) -- [@bpmn-io/add-exporter@0.2.0](https://github.com/bpmn-io/add-exporter) (MIT) -- [@bpmn-io/align-to-origin@0.7.0](https://github.com/bpmn-io/align-to-origin) (MIT) -- [@bpmn-io/cm-theme@0.1.0-alpha.2](https://www.npmjs.com/package/@bpmn-io/cm-theme@0.1.0-alpha.2) (MIT) -- [@bpmn-io/diagram-js-ui@0.2.3](https://github.com/bpmn-io/diagram-js-ui) (MIT) -- [@bpmn-io/dmn-variable-resolver@0.4.0](https://www.npmjs.com/package/@bpmn-io/dmn-variable-resolver@0.4.0) (MIT) -- [@bpmn-io/draggle@4.0.0](https://github.com/bpmn-io/draggle) (MIT) -- [@bpmn-io/element-template-chooser@1.0.0](https://github.com/bpmn-io/element-template-chooser) (MIT) -- [@bpmn-io/element-template-icon-renderer@0.5.2](https://github.com/bpmn-io/element-template-icon-renderer) (MIT) -- [@bpmn-io/element-templates-validator@2.0.1](https://github.com/bpmn-io/element-templates-validator) (MIT) -- [@bpmn-io/extract-process-variables@0.8.0](https://github.com/bpmn-io/extract-process-variables) (MIT) -- [@bpmn-io/feel-editor@1.3.0](https://github.com/bpmn-io/feel-editor) (MIT) -- [@bpmn-io/feel-lint@1.2.0](https://github.com/bpmn-io/feel-linter) (MIT) -- [@bpmn-io/form-js-carbon-styles@1.8.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-editor@1.8.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-playground@1.8.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js-viewer@1.8.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-js@1.8.1](https://github.com/bpmn-io/form-js) (MIT\*) -- [@bpmn-io/form-variable-provider@1.3.0](https://github.com/bpmn-io/form-variable-provider) (MIT) -- [@bpmn-io/moddle-utils@0.2.1](https://github.com/bpmn-io/moddle-utils) (MIT) -- [@bpmn-io/properties-panel@3.18.2](https://github.com/bpmn-io/properties-panel) (MIT) -- [@bpmn-io/refactorings@0.1.0](https://www.npmjs.com/package/@bpmn-io/refactorings@0.1.0) (MIT) -- [@bpmn-io/replace-ids@0.2.0](https://github.com/bpmn-io/replace-ids) (MIT) -- [@bpmn-io/variable-resolver@1.2.2](https://www.npmjs.com/package/@bpmn-io/variable-resolver@1.2.2) (MIT) -- [@camunda/camunda-composite-components@0.6.0](https://github.com/camunda-cloud/camunda-composite-components) (Apache-2.0) -- [@camunda/element-templates-json-schema@0.17.2](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@camunda/example-data-properties-provider@1.2.0](https://www.npmjs.com/package/@camunda/example-data-properties-provider@1.2.0) (MIT) -- [@camunda/execution-platform@0.3.2](https://github.com/camunda/execution-platform) (MIT) -- [@camunda/form-js-assistant-module@0.5.0](https://github.com/camunda/form-js-assistant-module) (UNKNOWN) -- [@camunda/form-linting@0.16.0](https://www.npmjs.com/package/@camunda/form-linting@0.16.0) (MIT) -- [@camunda/form-playground@0.14.0](https://github.com/camunda/form-playground) (MIT) -- [@camunda/improved-canvas@1.3.1](https://github.com/camunda/improved-canvas) (MIT) -- [@camunda/linting@3.18.0](https://github.com/camunda/linting) (MIT) -- [@camunda/play@1.3.0](https://www.npmjs.com/package/@camunda/play@1.3.0) (Apache-2.0) -- [@camunda/zeebe-element-templates-json-schema@0.19.2](https://github.com/camunda/element-templates-json-schema) (MIT) -- [@carbon/colors@11.21.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/feature-flags@0.16.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/feature-flags@0.18.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/grid@11.22.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icon-helpers@10.46.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/icons-react@11.37.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/layout@11.21.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/motion@11.17.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/react@1.50.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/styles@1.53.1](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/telemetry@0.1.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/themes@11.33.1](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@carbon/type@11.26.0](https://github.com/carbon-design-system/carbon) (Apache-2.0) -- [@codemirror/autocomplete@6.12.0](https://github.com/codemirror/autocomplete) (MIT) -- [@codemirror/commands@6.3.3](https://github.com/codemirror/commands) (MIT) -- [@codemirror/lang-json@6.0.1](https://github.com/codemirror/lang-json) (MIT) -- [@codemirror/language@6.10.0](https://github.com/codemirror/language) (MIT) -- [@codemirror/lint@6.4.2](https://github.com/codemirror/lint) (MIT) -- [@codemirror/search@6.5.5](https://github.com/codemirror/search) (MIT) -- [@codemirror/state@6.4.0](https://github.com/codemirror/state) (MIT) -- [@codemirror/view@6.23.1](https://github.com/codemirror/view) (MIT) -- [@colors/colors@1.6.0](https://github.com/DABH/colors.js) (MIT) -- [@dabh/diagnostics@2.0.3](https://github.com/3rd-Eden/diagnostics) (MIT) -- [@emotion/is-prop-valid@1.2.1](https://github.com/emotion-js/emotion/tree/main/packages/is-prop-valid) (MIT) -- [@emotion/memoize@0.8.1](https://github.com/emotion-js/emotion/tree/main/packages/memoize) (MIT) -- [@emotion/unitless@0.8.0](https://github.com/emotion-js/emotion/tree/main/packages/unitless) (MIT) -- [@hapi/hoek@9.3.0](https://github.com/hapijs/hoek) (BSD-3-Clause) -- [@hapi/topo@5.1.0](https://github.com/hapijs/topo) (BSD-3-Clause) -- [@ibm/plex@6.0.0-next.6](https://github.com/ibm/plex) (OFL-1.1) -- [@ibm/telemetry-js@1.2.1](https://github.com/ibm-telemetry/telemetry-js) (Apache-2.0) -- [@lezer/common@1.2.1](https://github.com/lezer-parser/common) (MIT) -- [@lezer/highlight@1.2.0](https://github.com/lezer-parser/highlight) (MIT) -- [@lezer/json@1.0.2](https://github.com/lezer-parser/json) (MIT) -- [@lezer/lr@1.4.0](https://github.com/lezer-parser/lr) (MIT) -- [@lezer/markdown@1.2.0](https://github.com/lezer-parser/markdown) (MIT) -- [@monaco-editor/loader@1.4.0](https://github.com/suren-atoyan/monaco-loader) (MIT) -- [@monaco-editor/react@4.6.0](https://github.com/suren-atoyan/monaco-react) (MIT) -- [@sentry-internal/feedback@7.108.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry-internal/replay-canvas@7.108.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry-internal/tracing@7.108.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/browser@7.108.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/core@7.108.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/node@7.108.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/replay@7.108.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/types@7.108.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sentry/utils@7.108.0](https://github.com/getsentry/sentry-javascript) (MIT) -- [@sideway/address@4.1.5](https://github.com/sideway/address) (BSD-3-Clause) -- [@sideway/formula@3.0.1](https://github.com/sideway/formula) (BSD-3-Clause) -- [@sideway/pinpoint@2.0.0](https://github.com/sideway/pinpoint) (BSD-3-Clause) -- [@types/debug@4.1.12](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/hast@2.3.9](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/mdast@3.0.15](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/ms@0.7.34](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/node-fetch@2.6.11](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/node@20.11.6](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/offscreencanvas@2019.7.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/prop-types@15.7.11](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/raf@3.4.3](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/react@18.2.48](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/scheduler@0.16.8](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/stylis@4.2.0](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/triple-beam@1.3.5](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [@types/unist@2.0.10](https://github.com/DefinitelyTyped/DefinitelyTyped) (MIT) -- [abort-controller@3.0.0](https://github.com/mysticatea/abort-controller) (MIT) -- [accepts@1.3.8](https://github.com/jshttp/accepts) (MIT) -- [ansi-colors@4.1.3](https://github.com/doowb/ansi-colors) (MIT) -- [any-promise@1.3.0](https://github.com/kevinbeaty/any-promise) (MIT) -- [anymatch@3.1.3](https://github.com/micromatch/anymatch) (ISC) -- [array-move@3.0.1](https://github.com/sindresorhus/array-move) (MIT) -- [array-move@4.0.0](https://github.com/sindresorhus/array-move) (MIT) -- [async@3.2.5](https://github.com/caolan/async) (MIT) -- [asynckit@0.4.0](https://github.com/alexindigo/asynckit) (MIT) -- [atoa@1.0.0](https://github.com/bevacqua/atoa) (MIT) -- [axios@1.7.4](https://github.com/axios/axios) (MIT) -- [bail@2.0.2](https://github.com/wooorm/bail) (MIT) -- [big.js@6.2.1](https://github.com/MikeMcl/big.js) (MIT) -- [binary-extensions@2.2.0](https://github.com/sindresorhus/binary-extensions) (MIT) -- [bintrees@1.0.2](https://github.com/vadimg/js_bintrees) (MIT) -- [bpmn-js-color-picker@0.7.0](https://github.com/bpmn-io/bpmn-js-color-picker) (MIT) -- [bpmn-js-create-append-anything@0.5.1](https://github.com/bpmn-io/bpmn-js-create-append-anything) (MIT) -- [bpmn-js-element-templates@1.15.0](https://github.com/bpmn-io/bpmn-js-element-templates) (MIT) -- [bpmn-js-executable-fix@0.2.1](https://github.com/bpmn-io/bpmn-js-executable-fix) (MIT) -- [bpmn-js-properties-panel@5.14.0](https://github.com/bpmn-io/bpmn-js-properties-panel) (MIT) -- [bpmn-js-token-simulation@0.33.2](https://github.com/bpmn-io/bpmn-js-token-simulation) (MIT) -- [bpmn-js-tracking@0.4.0](https://github.com/bpmn-io/bpmn-js-tracking) (MIT) -- [bpmn-js@17.2.1](https://github.com/bpmn-io/bpmn-js) (MIT\*) -- [bpmn-moddle@8.1.0](https://github.com/bpmn-io/bpmn-moddle) (MIT) -- [bpmn-moddle@9.0.1](https://github.com/bpmn-io/bpmn-moddle) (MIT) -- [bpmnlint-plugin-camunda-compat@2.18.0](https://github.com/camunda/bpmnlint-plugin-camunda-compat) (MIT) -- [bpmnlint-utils@1.1.1](https://github.com/bpmn-io/bpmnlint-utils) (MIT) -- [bpmnlint@10.2.1](https://github.com/bpmn-io/bpmnlint) (MIT) -- [braces@3.0.3](https://github.com/micromatch/braces) (MIT) -- [buffer-from@1.1.2](https://github.com/LinusU/buffer-from) (MIT) -- [bytes@3.1.2](https://github.com/visionmedia/bytes.js) (MIT) -- [cache-content-type@1.0.1](https://github.com/node-modules/cache-content-type) (MIT) -- [call-bind@1.0.7](https://github.com/ljharb/call-bind) (MIT) -- [camelize@1.0.1](https://github.com/ljharb/camelize) (MIT) -- [camunda-bpmn-js-behaviors@1.3.0](https://github.com/camunda/camunda-bpmn-js-behaviors) (MIT) -- [camunda-bpmn-js@4.5.0](https://github.com/camunda/camunda-bpmn-js) (MIT) -- [camunda-bpmn-moddle@7.0.1](https://github.com/camunda/camunda-bpmn-moddle) (MIT) -- [camunda-dmn-js@2.2.0](https://github.com/camunda/camunda-dmn-js) (MIT) -- [camunda-dmn-moddle@1.3.0](https://github.com/camunda/camunda-dmn-moddle) (MIT) -- [canvg@4.0.1](https://github.com/canvg/canvg) (MIT) -- [character-entities@2.0.2](https://github.com/wooorm/character-entities) (MIT) -- [chokidar@3.5.3](https://github.com/paulmillr/chokidar) (MIT) -- [classnames@2.5.1](https://github.com/JedWatson/classnames) (MIT) -- [cli-table@0.3.11](https://github.com/Automattic/cli-table) (MIT\*) -- [clsx@2.1.0](https://github.com/lukeed/clsx) (MIT) -- [co-body@6.1.0](https://github.com/cojs/co-body) (MIT) -- [co@4.6.0](https://github.com/tj/co) (MIT) -- [codemirror@6.0.1](https://github.com/codemirror/basic-setup) (MIT) -- [color-convert@1.9.3](https://github.com/Qix-/color-convert) (MIT) -- [color-convert@2.0.1](https://github.com/Qix-/color-convert) (MIT) -- [color-name@1.1.3](https://github.com/dfcreative/color-name) (MIT) -- [color-name@1.1.4](https://github.com/colorjs/color-name) (MIT) -- [color-string@1.9.1](https://github.com/Qix-/color-string) (MIT) -- [color-support@1.1.3](https://github.com/isaacs/color-support) (ISC) -- [color@3.2.1](https://github.com/Qix-/color) (MIT) -- [color@4.2.3](https://github.com/Qix-/color) (MIT) -- [colors@1.0.3](https://github.com/Marak/colors.js) (MIT) -- [colorspace@1.1.4](https://github.com/3rd-Eden/colorspace) (MIT) -- [combined-stream@1.0.8](https://github.com/felixge/node-combined-stream) (MIT) -- [comma-separated-tokens@2.0.3](https://github.com/wooorm/comma-separated-tokens) (MIT) -- [component-event@0.1.4](https://github.com/component/event) (MIT\*) -- [component-event@0.2.1](https://github.com/component/event) (MIT) -- [component-props@1.1.1](https://github.com/component/props) (MIT\*) -- [component-xor@0.0.4](https://github.com/component/xor) (MIT) -- [compressible@2.0.18](https://github.com/jshttp/compressible) (MIT) -- [compute-scroll-into-view@3.1.0](https://github.com/scroll-into-view/compute-scroll-into-view) (MIT) -- [content-disposition@0.5.4](https://github.com/jshttp/content-disposition) (MIT) -- [content-type@1.0.5](https://github.com/jshttp/content-type) (MIT) -- [contra@1.9.4](https://github.com/bevacqua/contra) (MIT) -- [cookies@0.9.1](https://github.com/pillarjs/cookies) (MIT) -- [copy-to-clipboard@3.3.3](https://github.com/sudodoki/copy-to-clipboard) (MIT) -- [copy-to@2.0.1](https://github.com/node-modules/copy-to) (MIT) -- [core-js@3.36.1](https://github.com/zloirock/core-js) (MIT) -- [crelt@1.0.6](https://github.com/marijnh/crelt) (MIT) -- [crossvent@1.5.5](https://github.com/bevacqua/crossvent) (MIT) -- [crypto-js@4.2.0](https://github.com/brix/crypto-js) (MIT) -- [css-color-keywords@1.0.0](https://github.com/sonicdoe/css-color-keywords) (ISC) -- [css-to-react-native@3.2.0](https://github.com/styled-components/css-to-react-native) (MIT) -- [css.escape@1.5.1](https://github.com/mathiasbynens/CSS.escape) (MIT) -- [csstype@3.1.2](https://github.com/frenic/csstype) (MIT) -- [csstype@3.1.3](https://github.com/frenic/csstype) (MIT) -- [custom-event@1.0.1](https://github.com/webmodules/custom-event) (MIT) -- [debug@3.2.7](https://github.com/visionmedia/debug) (MIT) -- [debug@4.3.4](https://github.com/debug-js/debug) (MIT) -- [decode-named-character-reference@1.0.2](https://github.com/wooorm/decode-named-character-reference) (MIT) -- [deep-equal@1.0.1](https://github.com/substack/node-deep-equal) (MIT) -- [deep-object-diff@1.1.9](https://github.com/mattphillips/deep-object-diff) (MIT) -- [deepmerge@4.3.1](https://github.com/TehShrike/deepmerge) (MIT) -- [define-data-property@1.1.4](https://github.com/ljharb/define-data-property) (MIT) -- [delayed-stream@1.0.0](https://github.com/felixge/node-delayed-stream) (MIT) -- [delegates@1.0.0](https://github.com/visionmedia/node-delegates) (MIT) -- [depd@1.1.2](https://github.com/dougwilson/nodejs-depd) (MIT) -- [depd@2.0.0](https://github.com/dougwilson/nodejs-depd) (MIT) -- [dequal@2.0.3](https://github.com/lukeed/dequal) (MIT) -- [destroy@1.2.0](https://github.com/stream-utils/destroy) (MIT) -- [diagram-js-direct-editing@2.1.2](https://github.com/bpmn-io/diagram-js-direct-editing) (MIT) -- [diagram-js-grid@1.0.0](https://github.com/bpmn-io/diagram-js-grid) (MIT) -- [diagram-js-minimap@4.1.0](https://github.com/bpmn-io/diagram-js-minimap) (MIT) -- [diagram-js-origin@1.4.0](https://github.com/bpmn-io/diagram-js-origin) (MIT) -- [diagram-js@14.3.1](https://github.com/bpmn-io/diagram-js) (MIT) -- [didi@10.2.2](https://github.com/nikku/didi) (MIT) -- [diff@5.1.0](https://github.com/kpdecker/jsdiff) (BSD-3-Clause) -- [dmn-js-decision-table@16.1.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-drd@16.1.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-literal-expression@16.1.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js-properties-panel@3.3.0](https://github.com/bpmn-io/dmn-js-properties-panel) (MIT) -- [dmn-js-shared@16.1.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-js@16.1.0](https://github.com/bpmn-io/dmn-js) (MIT\*) -- [dmn-moddle@10.0.0](https://github.com/bpmn-io/dmn-moddle) (MIT) -- [dom-iterator@1.0.0](https://github.com/MatthewMueller/dom-iterator) (MIT) -- [domify@1.4.2](https://github.com/sindresorhus/domify) (MIT) -- [domify@2.0.0](https://github.com/sindresorhus/domify) (MIT) -- [dompurify@3.0.9](https://github.com/cure53/DOMPurify) ((MPL-2.0 OR Apache-2.0)) -- [downloadjs@1.4.7](https://github.com/rndme/download) (MIT) -- [downshift@8.3.1](https://github.com/downshift-js/downshift) (MIT) -- [ee-first@1.1.1](https://github.com/jonathanong/ee-first) (MIT) -- [enabled@2.0.0](https://github.com/3rd-Eden/enabled) (MIT) -- [encodeurl@1.0.2](https://github.com/pillarjs/encodeurl) (MIT) -- [es-define-property@1.0.0](https://github.com/ljharb/es-define-property) (MIT) -- [es-errors@1.3.0](https://github.com/ljharb/es-errors) (MIT) -- [es6-promise@3.3.1](https://github.com/stefanpenner/es6-promise) (MIT) -- [escape-html@1.0.3](https://github.com/component/escape-html) (MIT) -- [event-source-polyfill@1.0.31](https://github.com/Yaffle/EventSource) (MIT) -- [event-target-shim@5.0.1](https://github.com/mysticatea/event-target-shim) (MIT) -- [extend@3.0.2](https://github.com/justmoon/node-extend) (MIT) -- [fecha@4.2.3](https://github.com/taylorhakes/fecha) (MIT) -- [feelers@1.3.1](https://www.npmjs.com/package/feelers) (MIT) -- [feelin@3.0.1](https://github.com/nikku/feelin) (MIT) -- [file-drops@0.4.0](https://github.com/nikku/file-drops) (MIT) -- [fill-range@7.1.1](https://github.com/jonschlinkert/fill-range) (MIT) -- [flatpickr@4.6.13](https://github.com/chmln/flatpickr) (MIT) -- [flatpickr@4.6.9](https://github.com/chmln/flatpickr) (MIT) -- [fn.name@1.1.0](https://github.com/3rd-Eden/fn.name) (MIT) -- [focus-trap@7.5.4](https://github.com/focus-trap/focus-trap) (MIT) -- [follow-redirects@1.15.6](https://github.com/follow-redirects/follow-redirects) (MIT) -- [form-data@4.0.0](https://github.com/form-data/form-data) (MIT) -- [fresh@0.5.2](https://github.com/jshttp/fresh) (MIT) -- [fs-readdir-recursive@1.1.0](https://github.com/fs-utils/fs-readdir-recursive) (MIT) -- [function-bind@1.1.2](https://github.com/Raynos/function-bind) (MIT) -- [get-intrinsic@1.2.4](https://github.com/ljharb/get-intrinsic) (MIT) -- [glob-parent@5.1.2](https://github.com/gulpjs/glob-parent) (ISC) -- [globalyzer@0.1.0](https://github.com/terkelg/globalyzer) (MIT) -- [globrex@0.1.2](https://github.com/terkelg/globrex) (MIT) -- [gopd@1.0.1](https://github.com/ljharb/gopd) (MIT) -- [hammerjs@2.0.8](https://github.com/hammerjs/hammer.js) (MIT) -- [has-property-descriptors@1.0.2](https://github.com/inspect-js/has-property-descriptors) (MIT) -- [has-proto@1.0.3](https://github.com/inspect-js/has-proto) (MIT) -- [has-symbols@1.0.3](https://github.com/inspect-js/has-symbols) (MIT) -- [has-tostringtag@1.0.2](https://github.com/inspect-js/has-tostringtag) (MIT) -- [hasown@2.0.1](https://github.com/inspect-js/hasOwn) (MIT) -- [hast-util-whitespace@2.0.1](https://github.com/syntax-tree/hast-util-whitespace) (MIT) -- [helmet@6.2.0](https://github.com/helmetjs/helmet) (MIT) -- [history@4.10.1](https://github.com/ReactTraining/history) (MIT) -- [hoist-non-react-statics@3.3.2](https://github.com/mridgway/hoist-non-react-statics) (BSD-3-Clause) -- [htm@3.1.1](https://github.com/developit/htm) (Apache-2.0) -- [http-assert@1.5.0](https://github.com/jshttp/http-assert) (MIT) -- [http-errors@1.8.1](https://github.com/jshttp/http-errors) (MIT) -- [http-errors@2.0.0](https://github.com/jshttp/http-errors) (MIT) -- [iconv-lite@0.4.24](https://github.com/ashtuchkin/iconv-lite) (MIT) -- [ids@1.0.5](https://github.com/bpmn-io/ids) (MIT) -- [immutable@4.3.4](https://github.com/immutable-js/immutable-js) (MIT) -- [indexof@0.0.1](https://www.npmjs.com/package/indexof) (MIT\*) -- [inferno-shared@5.6.1](https://github.com/infernojs/inferno) (MIT) -- [inferno-vnode-flags@5.6.1](https://github.com/infernojs/inferno) (MIT) -- [inferno@5.6.2](https://github.com/infernojs/inferno) (MIT) -- [inflation@2.1.0](https://github.com/stream-utils/inflation) (MIT) -- [inherits-browser@0.1.0](https://github.com/nikku/inherits-browser) (ISC) -- [inherits@2.0.4](https://github.com/isaacs/inherits) (ISC) -- [inline-style-parser@0.1.1](https://github.com/remarkablemark/inline-style-parser) (MIT) -- [invariant@2.2.4](https://github.com/zertosh/invariant) (MIT) -- [is-arrayish@0.3.2](https://github.com/qix-/node-is-arrayish) (MIT) -- [is-base64@1.1.0](https://github.com/miguelmota/is-base64) (MIT) -- [is-binary-path@2.1.0](https://github.com/sindresorhus/is-binary-path) (MIT) -- [is-buffer@2.0.5](https://github.com/feross/is-buffer) (MIT) -- [is-extglob@2.1.1](https://github.com/jonschlinkert/is-extglob) (MIT) -- [is-generator-function@1.0.10](https://github.com/inspect-js/is-generator-function) (MIT) -- [is-glob@4.0.3](https://github.com/micromatch/is-glob) (MIT) -- [is-number@7.0.0](https://github.com/jonschlinkert/is-number) (MIT) -- [is-plain-obj@4.1.0](https://github.com/sindresorhus/is-plain-obj) (MIT) -- [is-stream@2.0.1](https://github.com/sindresorhus/is-stream) (MIT) -- [isarray@0.0.1](https://github.com/juliangruber/isarray) (MIT) -- [joi@17.12.2](https://github.com/hapijs/joi) (BSD-3-Clause) -- [jose@5.2.3](https://github.com/panva/jose) (MIT) -- [js-sha256@0.11.0](https://github.com/emn178/js-sha256) (MIT) -- [js-tokens@4.0.0](https://github.com/lydell/js-tokens) (MIT) -- [json-source-map@0.6.1](https://github.com/epoberezkin/json-source-map) (MIT) -- [jwt-decode@3.1.2](https://github.com/auth0/jwt-decode) (MIT) -- [jwt-decode@4.0.0](https://github.com/auth0/jwt-decode) (MIT) -- [keycode-js@3.1.0](https://github.com/kabirbaidhya/keycode-js) (MIT) -- [keygrip@1.1.0](https://github.com/crypto-utils/keygrip) (MIT) -- [kleur@4.1.5](https://github.com/lukeed/kleur) (MIT) -- [koa-better-http-proxy@0.2.10](https://github.com/nsimmons/koa-better-http-proxy) (MIT) -- [koa-bodyparser@4.4.1](https://github.com/koajs/bodyparser) (MIT) -- [koa-compose@4.1.0](https://github.com/koajs/compose) (MIT) -- [koa-compress@5.1.1](https://github.com/koajs/compress) (MIT) -- [koa-convert@2.0.0](https://github.com/gyson/koa-convert) (MIT) -- [koa-helmet@7.0.2](https://github.com/venables/koa-helmet) (MIT) -- [koa-is-json@1.0.0](https://github.com/koajs/is-json) (MIT) -- [koa-mount@4.0.0](https://github.com/koajs/mount) (MIT) -- [koa-router@12.0.1](https://github.com/koajs/router) (MIT) -- [koa-static-cache@5.1.4](https://github.com/koajs/static-cache) (MIT) -- [koa@2.15.2](https://github.com/koajs/koa) (MIT) -- [kuler@2.0.0](https://github.com/3rd-Eden/kuler) (MIT) -- [lang-feel@2.0.0](https://github.com/nikku/lang-feel) (MIT) -- [lezer-feel@1.2.8](https://github.com/nikku/lezer-feel) (MIT) -- [linkify-html@4.1.3](https://github.com/Hypercontext/linkifyjs) (MIT) -- [linkifyjs@4.1.3](https://github.com/Hypercontext/linkifyjs) (MIT) -- [lodash.debounce@4.0.8](https://github.com/lodash/lodash) (MIT) -- [lodash.findlast@4.6.0](https://github.com/lodash/lodash) (MIT) -- [lodash.isequal@4.5.0](https://github.com/lodash/lodash) (MIT) -- [lodash.omit@4.5.0](https://github.com/lodash/lodash) (MIT) -- [lodash.throttle@4.1.1](https://github.com/lodash/lodash) (MIT) -- [lodash@4.17.21](https://github.com/lodash/lodash) (MIT) -- [logform@2.6.0](https://github.com/winstonjs/logform) (MIT) -- [loose-envify@1.4.0](https://github.com/zertosh/loose-envify) (MIT) -- [lru-cache@6.0.0](https://github.com/isaacs/node-lru-cache) (ISC) -- [luxon@3.4.4](https://github.com/moment/luxon) (MIT) -- [marked@12.0.1](https://github.com/markedjs/marked) (MIT) -- [matches-selector@1.2.0](https://github.com/ForbesLindesay/matches-selector) (MIT) -- [mdast-util-definitions@5.1.2](https://github.com/syntax-tree/mdast-util-definitions) (MIT) -- [mdast-util-from-markdown@1.3.1](https://github.com/syntax-tree/mdast-util-from-markdown) (MIT) -- [mdast-util-to-hast@12.3.0](https://github.com/syntax-tree/mdast-util-to-hast) (MIT) -- [mdast-util-to-string@3.2.0](https://github.com/syntax-tree/mdast-util-to-string) (MIT) -- [media-typer@0.3.0](https://github.com/jshttp/media-typer) (MIT) -- [methods@1.1.2](https://github.com/jshttp/methods) (MIT) -- [micromark-core-commonmark@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-core-commonmark) (MIT) -- [micromark-factory-destination@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-destination) (MIT) -- [micromark-factory-label@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-label) (MIT) -- [micromark-factory-space@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-space) (MIT) -- [micromark-factory-title@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-title) (MIT) -- [micromark-factory-whitespace@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-factory-whitespace) (MIT) -- [micromark-util-character@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-character) (MIT) -- [micromark-util-chunked@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-chunked) (MIT) -- [micromark-util-classify-character@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-classify-character) (MIT) -- [micromark-util-combine-extensions@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-combine-extensions) (MIT) -- [micromark-util-decode-numeric-character-reference@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-numeric-character-reference) (MIT) -- [micromark-util-decode-string@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-decode-string) (MIT) -- [micromark-util-encode@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-encode) (MIT) -- [micromark-util-html-tag-name@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-html-tag-name) (MIT) -- [micromark-util-normalize-identifier@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-normalize-identifier) (MIT) -- [micromark-util-resolve-all@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-resolve-all) (MIT) -- [micromark-util-sanitize-uri@1.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-sanitize-uri) (MIT) -- [micromark-util-subtokenize@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-subtokenize) (MIT) -- [micromark-util-symbol@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-symbol) (MIT) -- [micromark-util-types@1.1.0](https://github.com/micromark/micromark/tree/main/packages/micromark-util-types) (MIT) -- [micromark@3.2.0](https://github.com/micromark/micromark/tree/main/packages/micromark) (MIT) -- [mime-db@1.52.0](https://github.com/jshttp/mime-db) (MIT) -- [mime-types@2.1.35](https://github.com/jshttp/mime-types) (MIT) -- [min-dash@3.8.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dash@4.2.1](https://github.com/bpmn-io/min-dash) (MIT) -- [min-dom@3.2.1](https://github.com/bpmn-io/min-dom) (MIT) -- [min-dom@4.1.0](https://github.com/bpmn-io/min-dom) (MIT) -- [min-dom@5.0.0](https://github.com/bpmn-io/min-dom) (MIT) -- [mitt@3.0.1](https://github.com/developit/mitt) (MIT) -- [mobx-react-lite@3.4.3](https://github.com/mobxjs/mobx) (MIT) -- [mobx-react@7.6.0](https://github.com/mobxjs/mobx) (MIT) -- [mobx@6.12.0](https://github.com/mobxjs/mobx) (MIT) -- [moddle-xml@10.1.0](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle-xml@11.0.0](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle-xml@9.0.6](https://github.com/bpmn-io/moddle-xml) (MIT) -- [moddle@5.0.4](https://github.com/bpmn-io/moddle) (MIT) -- [moddle@6.2.3](https://github.com/bpmn-io/moddle) (MIT) -- [moddle@7.0.0](https://github.com/bpmn-io/moddle) (MIT) -- [modeler-moddle@0.2.0](https://github.com/camunda/modeler-moddle) (MIT) -- [moment@2.30.1](https://github.com/moment/moment) (MIT) -- [monaco-editor@0.47.0](https://github.com/microsoft/monaco-editor) (MIT) -- [mri@1.2.0](https://github.com/lukeed/mri) (MIT) -- [ms@2.1.2](https://github.com/zeit/ms) (MIT) -- [mz@2.7.0](https://github.com/normalize/mz) (MIT) -- [nanoid@3.3.7](https://github.com/ai/nanoid) (MIT) -- [negotiator@0.6.3](https://github.com/jshttp/negotiator) (MIT) -- [node-fetch@2.7.0](https://github.com/bitinn/node-fetch) (MIT) -- [normalize-path@3.0.0](https://github.com/jonschlinkert/normalize-path) (MIT) -- [object-assign@4.1.1](https://github.com/sindresorhus/object-assign) (MIT) -- [object-inspect@1.13.1](https://github.com/inspect-js/object-inspect) (MIT) -- [object-refs@0.4.0](https://github.com/bpmn-io/object-refs) (MIT) -- [oidc-client-ts@2.4.0](https://github.com/authts/oidc-client-ts) (Apache-2.0) -- [on-finished@2.4.1](https://github.com/jshttp/on-finished) (MIT) -- [one-time@1.0.0](https://github.com/3rd-Eden/one-time) (MIT) -- [only@0.0.2](https://github.com/visionmedia/node-only) (MIT\*) -- [opencollective-postinstall@2.0.3](https://github.com/opencollective/opencollective-postinstall) (MIT) -- [parseurl@1.3.3](https://github.com/pillarjs/parseurl) (MIT) -- [path-intersection@3.0.0](https://github.com/bpmn-io/path-intersection) (MIT) -- [path-to-regexp@1.8.0](https://github.com/pillarjs/path-to-regexp) (MIT) -- [path-to-regexp@6.2.1](https://github.com/pillarjs/path-to-regexp) (MIT) -- [performance-now@2.1.0](https://github.com/braveg1rl/performance-now) (MIT) -- [picocolors@1.0.0](https://github.com/alexeyraspopov/picocolors) (ISC) -- [picomatch@2.3.1](https://github.com/micromatch/picomatch) (MIT) -- [pluralize@7.0.0](https://github.com/blakeembrey/pluralize) (MIT) -- [postcss-value-parser@4.2.0](https://github.com/TrySound/postcss-value-parser) (MIT) -- [postcss@8.4.31](https://github.com/postcss/postcss) (MIT) -- [preact-markup@2.1.1](https://github.com/developit/preact-markup) (MIT) -- [preact@10.15.1](https://github.com/preactjs/preact) (MIT) -- [prom-client@13.1.0](https://github.com/siimon/prom-client) (Apache-2.0) -- [prop-types@15.8.1](https://github.com/facebook/prop-types) (MIT) -- [property-information@6.4.1](https://github.com/wooorm/property-information) (MIT) -- [proxy-from-env@1.1.0](https://github.com/Rob--W/proxy-from-env) (MIT) -- [pusher-js@8.3.0](https://github.com/pusher/pusher-js) (MIT) -- [pusher@5.2.0](https://github.com/pusher/pusher-http-node) (MIT) -- [qs@6.11.2](https://github.com/ljharb/qs) (BSD-3-Clause) -- [raf@3.4.1](https://github.com/chrisdickinson/raf) (MIT) -- [randomcolor@0.6.2](https://github.com/davidmerfield/randomColor) (Custom: https://randomcolor.lllllllllllllllll.com) -- [raw-body@2.5.2](https://github.com/stream-utils/raw-body) (MIT) -- [react-dom@18.2.0](https://github.com/facebook/react) (MIT) -- [react-error-boundary@4.0.13](https://github.com/bvaughn/react-error-boundary) (MIT) -- [react-fast-compare@3.2.2](https://github.com/FormidableLabs/react-fast-compare) (MIT) -- [react-helmet-async@2.0.4](https://github.com/staylor/react-helmet-async) (Apache-2.0) -- [react-is@16.13.1](https://github.com/facebook/react) (MIT) -- [react-is@18.2.0](https://github.com/facebook/react) (MIT) -- [react-markdown@8.0.7](https://github.com/remarkjs/react-markdown) (MIT) -- [react-router-dom@5.3.4](https://github.com/remix-run/react-router) (MIT) -- [react-router@5.3.4](https://github.com/remix-run/react-router) (MIT) -- [react@18.2.0](https://github.com/facebook/react) (MIT) -- [readable-stream@3.6.2](https://github.com/nodejs/readable-stream) (MIT) -- [readdirp@3.6.0](https://github.com/paulmillr/readdirp) (MIT) -- [regenerator-runtime@0.14.1](https://github.com/facebook/regenerator/tree/main/packages/runtime) (MIT) -- [remark-parse@10.0.2](https://github.com/remarkjs/remark/tree/main/packages/remark-parse) (MIT) -- [remark-rehype@10.1.0](https://github.com/remarkjs/remark-rehype) (MIT) -- [resize-observer-polyfill@1.5.1](https://github.com/que-etc/resize-observer-polyfill) (MIT) -- [resolve-pathname@3.0.0](https://github.com/mjackson/resolve-pathname) (MIT) -- [rgbcolor@1.0.1](https://github.com/yetzt/node-rgbcolor) (MIT\*) -- [route-pattern@0.0.6](https://github.com/bjoerge/route-pattern) (MIT) -- [sade@1.8.1](https://github.com/lukeed/sade) (MIT) -- [safe-buffer@5.2.1](https://github.com/feross/safe-buffer) (MIT) -- [safe-stable-stringify@2.4.3](https://github.com/BridgeAR/safe-stable-stringify) (MIT) -- [safer-buffer@2.1.2](https://github.com/ChALkeR/safer-buffer) (MIT) -- [sass@1.72.0](https://github.com/sass/dart-sass) (MIT) -- [saxen@10.0.0](https://github.com/nikku/saxen) (MIT) -- [saxen@8.1.2](https://github.com/nikku/saxen) (MIT) -- [saxen@9.0.0](https://github.com/nikku/saxen) (MIT) -- [scheduler@0.23.0](https://github.com/facebook/react) (MIT) -- [selection-ranges@3.0.3](https://github.com/nikku/selection-ranges) (MIT) -- [selection-update@0.1.2](https://github.com/nikku/selection-update) (MIT) -- [semver-compare@1.0.0](https://github.com/substack/semver-compare) (MIT) -- [semver@7.6.0](https://github.com/npm/node-semver) (ISC) -- [set-function-length@1.2.1](https://github.com/ljharb/set-function-length) (MIT) -- [setprototypeof@1.2.0](https://github.com/wesleytodd/setprototypeof) (ISC) -- [shallowequal@1.1.0](https://github.com/dashed/shallowequal) (MIT) -- [side-channel@1.0.4](https://github.com/ljharb/side-channel) (MIT) -- [simple-swizzle@0.2.2](https://github.com/qix-/node-simple-swizzle) (MIT) -- [source-map-js@1.0.2](https://github.com/7rulnik/source-map-js) (BSD-3-Clause) -- [source-map-support@0.5.21](https://github.com/evanw/node-source-map-support) (MIT) -- [source-map@0.6.1](https://github.com/mozilla/source-map) (BSD-3-Clause) -- [space-separated-tokens@2.0.2](https://github.com/wooorm/space-separated-tokens) (MIT) -- [stack-trace@0.0.10](https://github.com/felixge/node-stack-trace) (MIT) -- [stackblur-canvas@2.6.0](https://github.com/flozz/StackBlur) (MIT) -- [state-local@1.0.7](https://github.com/suren-atoyan/state-local) (MIT) -- [statsig-js@4.50.1](https://github.com/statsig-io/js-client-sdk) (ISC) -- [statsig-react@1.37.0](https://github.com/statsig-io/react-sdk) (ISC) -- [statuses@1.5.0](https://github.com/jshttp/statuses) (MIT) -- [statuses@2.0.1](https://github.com/jshttp/statuses) (MIT) -- [stoppable@1.1.0](https://github.com/hunterloftis/stoppable) (MIT) -- [string_decoder@1.3.0](https://github.com/nodejs/string_decoder) (MIT) -- [style-mod@4.1.0](https://github.com/marijnh/style-mod) (MIT) -- [style-to-object@0.4.4](https://github.com/remarkablemark/style-to-object) (MIT) -- [styled-components@6.1.8](https://github.com/styled-components/styled-components) (MIT) -- [stylis@4.3.1](https://github.com/thysultan/stylis.js) (MIT) -- [svg-pathdata@6.0.3](https://github.com/nfroidure/svg-pathdata) (MIT) -- [tabbable@6.2.0](https://github.com/focus-trap/tabbable) (MIT) -- [table-js@9.1.0](https://github.com/bpmn-io/table-js) (MIT) -- [tdigest@0.1.2](https://github.com/welch/tdigest) (MIT) -- [text-hex@1.0.0](https://github.com/3rd-Eden/text-hex) (MIT) -- [thenify-all@1.6.0](https://github.com/thenables/thenify-all) (MIT) -- [thenify@3.3.1](https://github.com/thenables/thenify) (MIT) -- [ticky@1.0.1](https://github.com/bevacqua/ticky) (MIT) -- [tiny-glob@0.2.9](https://github.com/terkelg/tiny-glob) (MIT) -- [tiny-invariant@1.3.1](https://github.com/alexreardon/tiny-invariant) (MIT) -- [tiny-svg@3.0.1](https://github.com/bpmn-io/tiny-svg) (MIT) -- [tiny-warning@1.0.3](https://github.com/alexreardon/tiny-warning) (MIT) -- [to-regex-range@5.0.1](https://github.com/micromatch/to-regex-range) (MIT) -- [toggle-selection@1.0.6](https://github.com/sudodoki/toggle-selection) (MIT) -- [toidentifier@1.0.1](https://github.com/component/toidentifier) (MIT) -- [toml@3.0.0](https://github.com/BinaryMuse/toml-node) (MIT) -- [tr46@0.0.3](https://github.com/Sebmaster/tr46.js) (MIT) -- [trim-lines@3.0.1](https://github.com/wooorm/trim-lines) (MIT) -- [triple-beam@1.4.1](https://github.com/winstonjs/triple-beam) (MIT) -- [trough@2.1.0](https://github.com/wooorm/trough) (MIT) -- [tslib@2.5.0](https://github.com/Microsoft/tslib) (0BSD) -- [tslib@2.6.2](https://github.com/Microsoft/tslib) (0BSD) -- [tsscmp@1.0.6](https://github.com/suryagh/tsscmp) (MIT) -- [tweetnacl-util@0.15.1](https://github.com/dchest/tweetnacl-util-js) (Unlicense) -- [tweetnacl@1.0.3](https://github.com/dchest/tweetnacl-js) (Unlicense) -- [type-is@1.6.18](https://github.com/jshttp/type-is) (MIT) -- [undici-types@5.26.5](https://github.com/nodejs/undici) (MIT) -- [unified@10.1.2](https://github.com/unifiedjs/unified) (MIT) -- [unist-util-generated@2.0.1](https://github.com/syntax-tree/unist-util-generated) (MIT) -- [unist-util-is@5.2.1](https://github.com/syntax-tree/unist-util-is) (MIT) -- [unist-util-position@4.0.4](https://github.com/syntax-tree/unist-util-position) (MIT) -- [unist-util-stringify-position@3.0.3](https://github.com/syntax-tree/unist-util-stringify-position) (MIT) -- [unist-util-visit-parents@5.1.3](https://github.com/syntax-tree/unist-util-visit-parents) (MIT) -- [unist-util-visit@4.1.2](https://github.com/syntax-tree/unist-util-visit) (MIT) -- [unpipe@1.0.0](https://github.com/stream-utils/unpipe) (MIT) -- [use-resize-observer@6.1.0](https://github.com/ZeeCoder/use-resize-observer) (MIT) -- [util-deprecate@1.0.2](https://github.com/TooTallNate/util-deprecate) (MIT) -- [uuid@8.3.2](https://github.com/uuidjs/uuid) (MIT) -- [uuid@9.0.1](https://github.com/uuidjs/uuid) (MIT) -- [uvu@0.5.6](https://github.com/lukeed/uvu) (MIT) -- [value-equal@1.0.1](https://github.com/mjackson/value-equal) (MIT) -- [vary@1.1.2](https://github.com/jshttp/vary) (MIT) -- [vfile-message@3.1.4](https://github.com/vfile/vfile-message) (MIT) -- [vfile@5.3.7](https://github.com/vfile/vfile) (MIT) -- [w3c-keyname@2.2.8](https://github.com/marijnh/w3c-keyname) (MIT) -- [webidl-conversions@3.0.1](https://github.com/jsdom/webidl-conversions) (BSD-2-Clause) -- [whatwg-url@5.0.0](https://github.com/jsdom/whatwg-url) (MIT) -- [wicg-inert@3.1.2](https://github.com/WICG/inert) (W3C-20150513) -- [window-or-global@1.0.1](https://github.com/purposeindustries/window-or-global) (MIT) -- [winston-transport@4.7.0](https://github.com/winstonjs/winston-transport) (MIT) -- [winston@3.13.0](https://github.com/winstonjs/winston) (MIT) -- [yallist@4.0.0](https://github.com/isaacs/yallist) (ISC) -- [ylru@1.3.2](https://github.com/node-modules/ylru) (MIT) -- [zeebe-bpmn-moddle@1.1.0](https://github.com/camunda/zeebe-bpmn-moddle) (MIT) - -### Web Modeler Dependencies (restapi) - -- [ch.qos.logback:logback-classic@1.4.14](http://logback.qos.ch/logback-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback:logback-core@1.4.14](http://logback.qos.ch/logback-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-jackson@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-jackson) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-json-classic@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-classic) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [ch.qos.logback.contrib:logback-json-core@0.1.5](https://github.com/qos-ch/logback-contrib/wiki/logback-json-parent/logback-json-core) ([Eclipse Public License - v 1.0](http://www.eclipse.org/legal/epl-v10.html)) -- [com.auth0:auth0@1.45.1](https://github.com/auth0/auth0-java) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/auth0-java/master/LICENSE)) -- [com.auth0:java-jwt@4.4.0](https://github.com/auth0/java-jwt) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/java-jwt/master/LICENSE)) -- [com.auth0:jwks-rsa@0.22.1](https://github.com/auth0/jwks-rsa-java) ([The MIT License (MIT)](https://raw.githubusercontent.com/auth0/jwks-rsa-java/master/LICENSE)) -- [com.ethlo.time:itu@1.8.0](https://github.com/ethlo/itu) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml:classmate@1.6.0](https://github.com/FasterXML/java-classmate) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-annotations@2.15.4](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-core@2.15.4](https://github.com/FasterXML/jackson-core) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.core:jackson-databind@2.15.4](https://github.com/FasterXML/jackson) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-toml@2.15.4](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml@2.15.4](https://github.com/FasterXML/jackson-dataformats-text) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jdk8@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.datatype:jackson-datatype-jsr310@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.fasterxml.jackson.module:jackson-module-parameter-names@2.15.4](https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.github.stephenc.jcip:jcip-annotations@1.0-1](http://stephenc.github.com/jcip-annotations) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.android:annotations@4.1.1.4](http://source.android.com/) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0)) -- [com.google.api.grpc:proto-google-common-protos@2.36.0](https://github.com/googleapis/sdk-platform-java) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.code.findbugs:jsr305@3.0.2](http://findbugs.sourceforge.net/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.code.gson:gson@2.10.1](https://github.com/google/gson/gson) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.errorprone:error_prone_annotations@2.26.1](https://errorprone.info/error_prone_annotations) ([Apache 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:failureaccess@1.0.1](https://github.com/google/guava/failureaccess) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:guava@32.1.3-jre](https://github.com/google/guava) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.guava:listenablefuture@9999.0-empty-to-avoid-conflict-with-guava](https://github.com/google/guava/listenablefuture) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.j2objc:j2objc-annotations@2.8](https://github.com/google/j2objc/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.google.protobuf:protobuf-java@3.25.2](https://developers.google.com/protocol-buffers/protobuf-java/) ([BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause)) -- [com.networknt:json-schema-validator@1.4.0](https://github.com/networknt/json-schema-validator) ([Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [com.nimbusds:nimbus-jose-jwt@9.37.3](https://bitbucket.org/connect2id/nimbus-jose-jwt) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.pusher:pusher-http-java@1.3.3](http://github.com/pusher/pusher-http-java) ([MIT](https://raw.github.com/pusher/pusher-http-java/master/LICENCE.txt)) -- [com.squareup.okhttp3:logging-interceptor@4.12.0](https://square.github.io/okhttp/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.squareup.okio:okio@3.9.0](https://github.com/square/okio/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.squareup.okio:okio-jvm@3.9.0](https://github.com/square/okio/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.sun.activation:jakarta.activation@1.2.2](https://github.com/eclipse-ee4j/jaf/jakarta.activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [com.sun.istack:istack-commons-runtime@4.1.2](https://projects.eclipse.org/projects/ee4j/istack-commons/istack-commons-runtime) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [com.typesafe.netty:netty-reactive-streams@2.0.4](https://github.com/playframework/netty-reactive-streams/netty-reactive-streams) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [com.vdurmont:semver4j@3.1.0](https://github.com/vdurmont/semver4j) ([The MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [com.zaxxer:HikariCP@5.0.1](https://github.com/brettwooldridge/HikariCP) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [commons-codec:commons-codec@1.16.1](https://commons.apache.org/proper/commons-codec/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [commons-logging:commons-logging@1.2](http://commons.apache.org/proper/commons-logging/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.grpc:grpc-api@1.62.2](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-context@1.62.2](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-core@1.62.2](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-netty@1.62.2](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf@1.62.2](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-protobuf-lite@1.62.2](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-stub@1.62.2](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.grpc:grpc-util@1.62.2](https://github.com/grpc/grpc-java) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.micrometer:micrometer-commons@1.12.5](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-core@1.12.5](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-jakarta9@1.12.5](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-observation@1.12.5](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.micrometer:micrometer-registry-prometheus@1.12.5](https://github.com/micrometer-metrics/micrometer) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.netty:netty-buffer@4.1.109.Final](https://netty.io/netty-buffer/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec@4.1.109.Final](https://netty.io/netty-codec/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-dns@4.1.109.Final](https://netty.io/netty-codec-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http@4.1.109.Final](https://netty.io/netty-codec-http/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-http2@4.1.109.Final](https://netty.io/netty-codec-http2/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-codec-socks@4.1.109.Final](https://netty.io/netty-codec-socks/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-common@4.1.109.Final](https://netty.io/netty-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler@4.1.109.Final](https://netty.io/netty-handler/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-handler-proxy@4.1.109.Final](https://netty.io/netty-handler-proxy/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver@4.1.109.Final](https://netty.io/netty-resolver/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns@4.1.109.Final](https://netty.io/netty-resolver-dns/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-classes-macos@4.1.109.Final](https://netty.io/netty-resolver-dns-classes-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-resolver-dns-native-macos@4.1.109.Final](https://netty.io/netty-resolver-dns-native-macos/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport@4.1.109.Final](https://netty.io/netty-transport/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-epoll@4.1.109.Final](https://netty.io/netty-transport-classes-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-classes-kqueue@4.1.109.Final](https://netty.io/netty-transport-classes-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-epoll@4.1.109.Final](https://netty.io/netty-transport-native-epoll/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-kqueue@4.1.109.Final](https://netty.io/netty-transport-native-kqueue/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.netty:netty-transport-native-unix-common@4.1.109.Final](https://netty.io/netty-transport-native-unix-common/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [io.perfmark:perfmark-api@0.27.0](https://github.com/perfmark/perfmark) ([Apache 2.0](https://opensource.org/licenses/Apache-2.0)) -- [io.projectreactor:reactor-core@3.6.5](https://github.com/reactor/reactor-core) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-core@1.1.18](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.projectreactor.netty:reactor-netty-http@1.1.18](https://github.com/reactor/reactor-netty) ([The Apache Software License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient@0.16.0](http://github.com/prometheus/client_java/simpleclient) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_common@0.16.0](http://github.com/prometheus/client_java/simpleclient_common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_common@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_common) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_otel@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.prometheus:simpleclient_tracer_otel_agent@0.16.0](http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel_agent) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.smallrye:jandex@3.1.2](https://smallrye.io) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [io.swagger.core.v3:swagger-annotations-jakarta@2.2.21](https://github.com/swagger-api/swagger-core/modules/swagger-annotations-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-core-jakarta@2.2.21](https://github.com/swagger-api/swagger-core/modules/swagger-core-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.swagger.core.v3:swagger-models-jakarta@2.2.21](https://github.com/swagger-api/swagger-core/modules/swagger-models-jakarta) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)) -- [io.undertow:undertow-core@2.3.14.Final](http://www.jboss.org/undertow-parent/undertow-core) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-servlet@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-servlet) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [io.undertow:undertow-websockets-jsr@2.3.12.Final](http://www.jboss.org/undertow-parent/undertow-websockets-jsr) ([Apache License Version 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [jakarta.activation:jakarta.activation-api@2.1.3](https://github.com/jakartaee/jaf-api) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [jakarta.annotation:jakarta.annotation-api@2.1.1](https://projects.eclipse.org/projects/ee4j.ca) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.inject:jakarta.inject-api@2.0.1](https://github.com/eclipse-ee4j/injection-api) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [jakarta.persistence:jakarta.persistence-api@3.1.0](https://github.com/eclipse-ee4j/jpa-api) ([Eclipse Public License v. 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.servlet:jakarta.servlet-api@6.0.0](https://projects.eclipse.org/projects/ee4j.servlet) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.transaction:jakarta.transaction-api@2.0.1](https://projects.eclipse.org/projects/ee4j.jta) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [jakarta.validation:jakarta.validation-api@3.0.2](https://beanvalidation.org) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [jakarta.websocket:jakarta.websocket-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [jakarta.websocket:jakarta.websocket-client-api@2.1.1](https://projects.eclipse.org/projects/ee4j.websocket) ([Eclipse Public License v. 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [jakarta.xml.bind:jakarta.xml.bind-api@4.0.2](https://github.com/jakartaee/jaxb-api/jakarta.xml.bind-api) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [javax.cache:cache-api@1.1.1](https://github.com/jsr107/jsr107spec) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.bytebuddy:byte-buddy@1.14.13](https://bytebuddy.net/byte-buddy) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [net.jodah:failsafe@2.4.1](http://github.com/jhalterman/failsafe/) ([Apache License, Version 2.0](http://apache.org/licenses/LICENSE-2.0)) -- [org.agrona:agrona@1.20.0](https://github.com/real-logic/agrona) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.antlr:antlr4-runtime@4.13.0](https://www.antlr.org/antlr4-runtime/) ([BSD-3-Clause](https://www.antlr.org/license.html)) -- [org.apache.commons:commons-collections4@4.4](https://commons.apache.org/proper/commons-collections/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.commons:commons-lang3@3.13.0](https://commons.apache.org/proper/commons-lang/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents:httpclient@4.5.14](http://hc.apache.org/httpcomponents-client-ga) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents:httpcore@4.4.16](http://hc.apache.org/httpcomponents-core-ga) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents.client5:httpclient5@5.2.3](https://hc.apache.org/httpcomponents-client-5.0.x/5.2.3/httpclient5/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents.core5:httpcore5@5.2.4](https://hc.apache.org/httpcomponents-core-5.2.x/5.2.4/httpcore5/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.httpcomponents.core5:httpcore5-h2@5.2.4](https://hc.apache.org/httpcomponents-core-5.2.x/5.2.4/httpcore5-h2/) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-api@2.21.1](https://logging.apache.org/log4j/2.x/log4j/log4j-api/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.logging.log4j:log4j-to-slf4j@2.21.1](https://logging.apache.org/log4j/2.x/log4j/log4j-to-slf4j/) ([Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.apache.tomcat.embed:tomcat-embed-el@10.1.20](https://tomcat.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.aspectj:aspectjweaver@1.9.22](https://www.eclipse.org/aspectj/) ([Eclipse Public License - v 2.0](https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt)) -- [org.asynchttpclient:async-http-client@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.asynchttpclient:async-http-client-netty-utils@2.12.3](http://github.com/AsyncHttpClient/async-http-client/async-http-client-netty-utils) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-dmn-model@7.20.4-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-dmn-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.camunda.bpm.model:camunda-xml-model@7.20.4-ee](http://www.camunda.org/camunda-database-settings/camunda-model-apis/camunda-xml-model) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.checkerframework:checker-qual@3.42.0](https://checkerframework.org/) ([The MIT License](http://opensource.org/licenses/MIT)) -- [org.codehaus.mojo:animal-sniffer-annotations@1.23](https://www.mojohaus.org/animal-sniffer/animal-sniffer-annotations) ([MIT license](https://spdx.org/licenses/MIT.txt)) -- [org.eclipse.angus:angus-activation@2.0.2](https://github.com/eclipse-ee4j/angus-activation/angus-activation) ([EDL 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.eclipse.angus:jakarta.mail@2.0.3](http://eclipse-ee4j.github.io/angus-mail/jakarta.mail) ([EPL 2.0](http://www.eclipse.org/legal/epl-2.0)) -- [org.ehcache:ehcache@3.10.8](http://ehcache.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.flywaydb:flyway-core@9.22.3](https://flywaydb.org/flyway-core) ([Apache License, Version 2.0](https://flywaydb.org/licenses/flyway-community)) -- [org.freemarker:freemarker@2.3.32](https://freemarker.apache.org/) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.glassfish.jaxb:jaxb-core@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.glassfish.jaxb:jaxb-runtime@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.glassfish.jaxb:txw2@4.0.5](https://eclipse-ee4j.github.io/jaxb-ri/) ([Eclipse Distribution License - v 1.0](http://www.eclipse.org/org/documents/edl-v10.php)) -- [org.hdrhistogram:HdrHistogram@2.1.12](http://hdrhistogram.github.io/HdrHistogram/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) -- [org.hibernate.common:hibernate-commons-annotations@6.0.6.Final](http://hibernate.org) ([GNU Library General Public License v2.1 or later](http://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.orm:hibernate-core@6.4.4.Final](https://hibernate.org/orm) ([GNU Library General Public License v2.1 or later](https://www.opensource.org/licenses/LGPL-2.1)) -- [org.hibernate.validator:hibernate-validator@8.0.1.Final](http://hibernate.org/validator/hibernate-validator) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.logging:jboss-logging@3.5.3.Final](http://www.jboss.org) ([Apache License 2.0](https://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jboss.threads:jboss-threads@3.5.0.Final](http://www.jboss.org/jboss-threads) ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jboss.xnio:xnio-api@3.8.16.Final](http://www.jboss.org/xnio) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jboss.xnio:xnio-nio@3.8.16.Final](http://www.jboss.org) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.jetbrains:annotations@13.0](http://www.jetbrains.org) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib@1.9.23](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-jdk7@1.9.23](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jetbrains.kotlin:kotlin-stdlib-jdk8@1.9.23](https://kotlinlang.org/) ([The Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.jsoup:jsoup@1.17.2](https://jsoup.org/) ([The MIT License](https://jsoup.org/license)) -- [org.latencyutils:LatencyUtils@2.0.3](http://latencyutils.github.io/LatencyUtils/) ([Public Domain, per Creative Commons CC0](http://creativecommons.org/publicdomain/zero/1.0/)) -- [org.mapstruct:mapstruct@1.5.5.Final](https://mapstruct.org/mapstruct/) ([The Apache Software License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.openapitools:jackson-databind-nullable@0.2.6](https://github.com/OpenAPITools/jackson-databind-nullable) ([Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)) -- [org.postgresql:postgresql@42.7.3](https://jdbc.postgresql.org) ([BSD-2-Clause](https://jdbc.postgresql.org/about/license.html)) -- [org.reactivestreams:reactive-streams@1.0.4](http://www.reactive-streams.org/) ([MIT-0](https://spdx.org/licenses/MIT-0.html)) -- [org.slf4j:jul-to-slf4j@2.0.13](http://www.slf4j.org) ([MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [org.slf4j:slf4j-api@2.0.13](http://www.slf4j.org) ([MIT License](http://www.opensource.org/licenses/mit-license.php)) -- [org.springdoc:springdoc-openapi-starter-common@2.4.0](https://springdoc.org/springdoc-openapi-starter-common/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springdoc:springdoc-openapi-starter-webmvc-api@2.4.0](https://springdoc.org/springdoc-openapi-starter-webmvc-api/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springdoc:springdoc-openapi-starter-webmvc-ui@2.4.0](https://springdoc.org/springdoc-openapi-starter-webmvc-ui/) ([The Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework:spring-aop@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-aspects@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-beans@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-context-support@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-core@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-expression@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jcl@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-jdbc@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-orm@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-tx@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-web@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webflux@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework:spring-webmvc@6.1.6](https://github.com/spring-projects/spring-framework) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-actuator-autoconfigure@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-autoconfigure@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-actuator@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-aop@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-data-jpa@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-freemarker@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-jdbc@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-json@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-logging@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-mail@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-oauth2-resource-server@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-reactor-netty@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-security@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-undertow@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-validation@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.boot:spring-boot-starter-web@3.2.5](https://spring.io/projects/spring-boot) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-commons@3.2.5](https://spring.io/projects/spring-data) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.data:spring-data-jpa@3.2.5](https://projects.spring.io/spring-data-jpa) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.retry:spring-retry@2.0.5](https://www.springsource.org) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt)) -- [org.springframework.security:spring-security-config@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-core@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-crypto@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-data@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-core@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-jose@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-oauth2-resource-server@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.springframework.security:spring-security-web@6.2.4](https://spring.io/projects/spring-security) ([Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)) -- [org.webjars:swagger-ui@5.11.8](http://webjars.org) ([Apache 2.0](https://github.com/swagger-api/swagger-ui)) -- [org.wildfly.client:wildfly-client-config@1.0.1.Final](http://www.jboss.org/wildfly-client-config) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.wildfly.common:wildfly-common@1.5.4.Final](http://www.jboss.org/wildfly-common) ([Apache License 2.0](http://repository.jboss.org/licenses/apache-2.0.txt)) -- [org.yaml:snakeyaml@2.2](https://bitbucket.org/snakeyaml/snakeyaml) ([Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt)) -- [software.amazon.awssdk:annotations@2.25.16](https://aws.amazon.com/sdkforjava/core/annotations) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:apache-client@2.25.16](https://aws.amazon.com/sdkforjava/http-clients/apache-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:auth@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-core@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:aws-query-protocol@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:checksums@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:checksums-spi@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:endpoints-spi@2.25.16](https://aws.amazon.com/sdkforjava/core/endpoints-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth-aws@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-auth-spi@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:http-client-spi@2.25.16](https://aws.amazon.com/sdkforjava/http-client-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:identity-spi@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:json-utils@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:metrics-spi@2.25.16](https://aws.amazon.com/sdkforjava/core/metrics-spi) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:netty-nio-client@2.25.16](https://aws.amazon.com/sdkforjava/http-clients/netty-nio-client) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:profiles@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:protocol-core@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:rds@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:regions@2.25.16](https://aws.amazon.com/sdkforjava/core/regions) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sdk-core@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:sts@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:third-party-jackson-core@2.25.16](https://aws.amazon.com/sdkforjava) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.awssdk:utils@2.25.16](https://aws.amazon.com/sdkforjava/utils) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.eventstream:eventstream@1.0.1](https://github.com/awslabs/aws-eventstream-java) ([Apache License, Version 2.0](https://aws.amazon.com/apache2.0)) -- [software.amazon.jdbc:aws-advanced-jdbc-wrapper@2.3.5](https://github.com/awslabs/aws-advanced-jdbc-wrapper) ([Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)) - -### Web Modeler Dependencies (websockets) - -- [brick/math@0.12.1](https://github.com/brick/math.git) (MIT) -- [carbonphp/carbon-doctrine-types@3.2.0](https://github.com/CarbonPHP/carbon-doctrine-types.git) (MIT) -- [clue/redis-protocol@v0.3.2](https://github.com/clue/redis-protocol.git) (MIT) -- [clue/redis-react@v2.7.0](https://github.com/clue/reactphp-redis.git) (MIT) -- [dflydev/dot-access-data@v3.0.3](https://github.com/dflydev/dflydev-dot-access-data.git) (MIT) -- [doctrine/inflector@2.0.10](https://github.com/doctrine/inflector.git) (MIT) -- [doctrine/lexer@3.0.1](https://github.com/doctrine/lexer.git) (MIT) -- [dragonmantank/cron-expression@v3.3.3](https://github.com/dragonmantank/cron-expression.git) (MIT) -- [egulias/email-validator@4.0.2](https://github.com/egulias/EmailValidator.git) (MIT) -- [evenement/evenement@v3.0.2](https://github.com/igorw/evenement.git) (MIT) -- [fruitcake/php-cors@v1.3.0](https://github.com/fruitcake/php-cors.git) (MIT) -- [graham-campbell/result-type@v1.1.3](https://github.com/GrahamCampbell/Result-Type.git) (MIT) -- [guzzlehttp/guzzle@7.9.2](https://github.com/guzzle/guzzle.git) (MIT) -- [guzzlehttp/promises@2.0.3](https://github.com/guzzle/promises.git) (MIT) -- [guzzlehttp/psr7@2.7.0](https://github.com/guzzle/psr7.git) (MIT) -- [guzzlehttp/uri-template@v1.0.3](https://github.com/guzzle/uri-template.git) (MIT) -- [laravel/framework@v11.21.0](https://github.com/laravel/framework.git) (MIT) -- [laravel/prompts@v0.1.25](https://github.com/laravel/prompts.git) (MIT) -- [laravel/reverb@v1.2.0](https://github.com/laravel/reverb.git) (MIT) -- [laravel/serializable-closure@v1.3.4](https://github.com/laravel/serializable-closure.git) (MIT) -- [laravel/tinker@v2.9.0](https://github.com/laravel/tinker.git) (MIT) -- [league/commonmark@2.5.3](https://github.com/thephpleague/commonmark.git) (BSD-3-Clause) -- [league/config@v1.2.0](https://github.com/thephpleague/config.git) (BSD-3-Clause) -- [league/flysystem@3.28.0](https://github.com/thephpleague/flysystem.git) (MIT) -- [league/flysystem-local@3.28.0](https://github.com/thephpleague/flysystem-local.git) (MIT) -- [league/mime-type-detection@1.15.0](https://github.com/thephpleague/mime-type-detection.git) (MIT) -- [monolog/monolog@3.7.0](https://github.com/Seldaek/monolog.git) (MIT) -- [nesbot/carbon@3.8.0](https://github.com/briannesbitt/Carbon.git) (MIT) -- [nette/schema@v1.3.0](https://github.com/nette/schema.git) (BSD-3-Clause) -- [nette/utils@v4.0.5](https://github.com/nette/utils.git) (BSD-3-Clause) -- [nikic/php-parser@v5.0.2](https://github.com/nikic/PHP-Parser.git) (BSD-3-Clause) -- [nunomaduro/termwind@v2.0.1](https://github.com/nunomaduro/termwind.git) (MIT) -- [paragonie/random_compat@v9.99.100](https://github.com/paragonie/random_compat.git) (MIT) -- [paragonie/sodium_compat@v1.21.1](https://github.com/paragonie/sodium_compat.git) (ISC) -- [phpoption/phpoption@1.9.3](https://github.com/schmittjoh/php-option.git) (Apache-2.0) -- [psr/clock@1.0.0](https://github.com/php-fig/clock.git) (MIT) -- [psr/container@2.0.2](https://github.com/php-fig/container.git) (MIT) -- [psr/event-dispatcher@1.0.0](https://github.com/php-fig/event-dispatcher.git) (MIT) -- [psr/http-client@1.0.3](https://github.com/php-fig/http-client.git) (MIT) -- [psr/http-factory@1.1.0](https://github.com/php-fig/http-factory.git) (MIT) -- [psr/http-message@2.0](https://github.com/php-fig/http-message.git) (MIT) -- [psr/log@3.0.1](https://github.com/php-fig/log.git) (MIT) -- [psr/simple-cache@3.0.0](https://github.com/php-fig/simple-cache.git) (MIT) -- [psy/psysh@v0.12.3](https://github.com/bobthecow/psysh.git) (MIT) -- [pusher/pusher-php-server@7.2.4](https://github.com/pusher/pusher-http-php.git) (MIT) -- [ralouphie/getallheaders@3.0.3](https://github.com/ralouphie/getallheaders.git) (MIT) -- [ramsey/collection@2.0.0](https://github.com/ramsey/collection.git) (MIT) -- [ramsey/uuid@4.7.6](https://github.com/ramsey/uuid.git) (MIT) -- [ratchet/rfc6455@v0.3.1](https://github.com/ratchetphp/RFC6455.git) (MIT) -- [react/cache@v1.2.0](https://github.com/reactphp/cache.git) (MIT) -- [react/dns@v1.13.0](https://github.com/reactphp/dns.git) (MIT) -- [react/event-loop@v1.5.0](https://github.com/reactphp/event-loop.git) (MIT) -- [react/promise@v3.2.0](https://github.com/reactphp/promise.git) (MIT) -- [react/promise-timer@v1.11.0](https://github.com/reactphp/promise-timer.git) (MIT) -- [react/socket@v1.16.0](https://github.com/reactphp/socket.git) (MIT) -- [react/stream@v1.4.0](https://github.com/reactphp/stream.git) (MIT) -- [symfony/clock@v7.1.1](https://github.com/symfony/clock.git) (MIT) -- [symfony/console@v7.1.3](https://github.com/symfony/console.git) (MIT) -- [symfony/css-selector@v7.1.1](https://github.com/symfony/css-selector.git) (MIT) -- [symfony/deprecation-contracts@v3.5.0](https://github.com/symfony/deprecation-contracts.git) (MIT) -- [symfony/error-handler@v7.1.3](https://github.com/symfony/error-handler.git) (MIT) -- [symfony/event-dispatcher@v7.1.1](https://github.com/symfony/event-dispatcher.git) (MIT) -- [symfony/event-dispatcher-contracts@v3.5.0](https://github.com/symfony/event-dispatcher-contracts.git) (MIT) -- [symfony/finder@v7.1.3](https://github.com/symfony/finder.git) (MIT) -- [symfony/http-foundation@v7.1.3](https://github.com/symfony/http-foundation.git) (MIT) -- [symfony/http-kernel@v7.1.3](https://github.com/symfony/http-kernel.git) (MIT) -- [symfony/mailer@v7.1.2](https://github.com/symfony/mailer.git) (MIT) -- [symfony/mime@v7.1.2](https://github.com/symfony/mime.git) (MIT) -- [symfony/polyfill-ctype@v1.30.0](https://github.com/symfony/polyfill-ctype.git) (MIT) -- [symfony/polyfill-intl-grapheme@v1.30.0](https://github.com/symfony/polyfill-intl-grapheme.git) (MIT) -- [symfony/polyfill-intl-idn@v1.30.0](https://github.com/symfony/polyfill-intl-idn.git) (MIT) -- [symfony/polyfill-intl-normalizer@v1.30.0](https://github.com/symfony/polyfill-intl-normalizer.git) (MIT) -- [symfony/polyfill-mbstring@v1.30.0](https://github.com/symfony/polyfill-mbstring.git) (MIT) -- [symfony/polyfill-php72@v1.30.0](https://github.com/symfony/polyfill-php72.git) (MIT) -- [symfony/polyfill-php80@v1.30.0](https://github.com/symfony/polyfill-php80.git) (MIT) -- [symfony/polyfill-php83@v1.30.0](https://github.com/symfony/polyfill-php83.git) (MIT) -- [symfony/polyfill-uuid@v1.30.0](https://github.com/symfony/polyfill-uuid.git) (MIT) -- [symfony/process@v7.1.3](https://github.com/symfony/process.git) (MIT) -- [symfony/routing@v7.1.3](https://github.com/symfony/routing.git) (MIT) -- [symfony/service-contracts@v3.5.0](https://github.com/symfony/service-contracts.git) (MIT) -- [symfony/string@v7.1.3](https://github.com/symfony/string.git) (MIT) -- [symfony/translation@v7.1.3](https://github.com/symfony/translation.git) (MIT) -- [symfony/translation-contracts@v3.5.0](https://github.com/symfony/translation-contracts.git) (MIT) -- [symfony/uid@v7.1.1](https://github.com/symfony/uid.git) (MIT) -- [symfony/var-dumper@v7.1.3](https://github.com/symfony/var-dumper.git) (MIT) -- [tijsverkoyen/css-to-inline-styles@v2.2.7](https://github.com/tijsverkoyen/CssToInlineStyles.git) (BSD-3-Clause) -- [vlucas/phpdotenv@v5.6.1](https://github.com/vlucas/phpdotenv.git) (BSD-3-Clause) -- [voku/portable-ascii@2.0.1](https://github.com/voku/portable-ascii.git) (MIT) -- [webmozart/assert@1.11.0](https://github.com/webmozarts/assert.git) (MIT) diff --git a/versioned_docs/version-8.5/reference/img/channels.png b/versioned_docs/version-8.5/reference/img/channels.png new file mode 100644 index 00000000000..4964fadbba0 Binary files /dev/null and b/versioned_docs/version-8.5/reference/img/channels.png differ diff --git a/versioned_docs/version-8.5/reference/img/diagram-releases.png b/versioned_docs/version-8.5/reference/img/diagram-releases.png new file mode 100644 index 00000000000..f06ee971089 Binary files /dev/null and b/versioned_docs/version-8.5/reference/img/diagram-releases.png differ diff --git a/versioned_docs/version-8.5/reference/release-policy.md b/versioned_docs/version-8.5/reference/release-policy.md index 670429601b1..54568bad7fe 100644 --- a/versioned_docs/version-8.5/reference/release-policy.md +++ b/versioned_docs/version-8.5/reference/release-policy.md @@ -1,74 +1,118 @@ --- id: release-policy title: "Release policy" +description: "Learn more about Camunda releases, including alpha features and alpha releases." --- -Camunda 8 follows the [Camunda release policy](https://camunda.com/release-policy/) with some specific clarifications which can be found below. +Camunda 8 follows the [Camunda release policy](https://camunda.com/release-policy/) with the following specific clarifications. + +:::info +You can find deprecation and support announcements on the [Announcements](announcements.md) page. +::: + +![Stable and alpha channels when provisioning a cluster](./img/diagram-releases.png) + +## Alpha features and releases + +It is important to understand the different ways the term "alpha" is used in the context of Camunda releases and features. + +### Alpha feature + +Refers to a feature or component released as an alpha version, in an early state for you to test and participate in development by sharing your feedback before the feature reaches [general availability (GA)](alpha-features.md#general-availability-ga). Some alpha features require turning on for your cluster before you can use them. See [alpha features](alpha-features.md). + +### Alpha release + +Refers to a release made available between minor versions that allows you to preview an upcoming minor version and the alpha features included (for example, `8.5.0-alpha1`, `8.5.0-alpha2`, and so on). Camunda strives to release this type of release on a monthly basis. To learn more about the alpha features included in each alpha release, see [release notes](/reference/release-notes/release-notes.md). :::note -Interested in deprecation and support announcements? Read more on the [Announcements](announcements.md) page. +- An alpha release can also be made available where the entire version is an alpha with [alpha limitations](alpha-features.md#alpha). +- Additionally, "Alpha channel" refers to the channel you can use when provisioning a SaaS cluster. See [alpha channel](#alpha-channel). ::: -## Provisioning in SaaS +## SaaS provisioning + +In Camunda 8 SaaS we differentiate between components that are part of a Camunda 8 cluster (cluster components), and components outside the cluster (non-cluster components). -In our managed service, we differentiate between components that are part of a Camunda 8 cluster and components that are outside of the cluster. +### Cluster components -A cluster usually consists of: +A cluster typically consists of the following components: -- Zeebe -- Operate -- Tasklist -- Optimize +- [Zeebe](/components/zeebe/zeebe-overview.md) +- [Operate](/components/operate/operate-introduction.md) +- [Tasklist](/components/tasklist/introduction-to-tasklist.md) +- [Optimize]($optimize$/components/what-is-optimize) -For components **outside of the cluster**, we release new versions continuously and update customers to the latest version automatically whenever it is ready to be shipped. +You can provision cluster components using one of two channels, following the [Camunda release policy](https://camunda.com/release-policy/). -These components include: +![Stable and alpha channels when provisioning a cluster](./img/channels.png) -- Modeler (Web) -- Connectors -- Console +#### Stable channel -Admins can [enable alpha features](/components/console/manage-organization/enable-alpha-features.md) for components outside of the cluster in the organization settings screen. +You can use the **Stable** channel to access [general availability](alpha-features.md#general-availability-ga) features for cluster components. -For components inside a **cluster**, Camunda provides two channels for provisioning and follows the [Camunda release policy](https://camunda.com/release-policy/): +- Provides the latest feature and patch releases ready for most users at minimal risk. +- Releases follow semantic versioning and can be updated to the next minor or patch release without data loss. +- On the stable channel, all supported minor versions are made available for provisioning. -- **Stable**: General availability features for cluster components are available through the stable channel. This channel provides the latest feature and patch releases ready for most users at minimal risk. The releases follow semantic versioning and can be updated to the next minor or patch release without data loss. -- **Alpha**: Alpha features for cluster components are available through the alpha channel. This channel provides preview releases in preparation for the next stable release. They provide a short-term stability point to test new features and give feedback before they are released to the stable channel. Try these to ensure the upcoming release works with your infrastructure. These releases cannot be updated to a newer release, and therefore are not meant to be used in production. +#### Alpha channel -On the stable channel, the last three supported minor versions are made available for provisioning. +You can use the **Alpha** channel to access [alpha features](alpha-features.md) and patch releases for cluster components. -### New versions +- Provides alpha releases to preview and prepare for the next stable release. +- Alpha releases provide a short-term stability point to test new features and give feedback before they are released to the stable channel. Use an alpha release to test the upcoming minor release with your infrastructure. +- Alpha releases cannot be updated to a newer release, and so are not suitable for use in production. -Whenever a new Camunda 8 version is released, we do our best to provide the new version on our managed service at the same time. We add a notice to Console, recommending an update to the latest version. +### Non-cluster components + +Non-cluster components include: + +- [Modeler (Web)](/components/modeler/web-modeler/launch-web-modeler.md) +- [Connectors](/components/console/introduction-to-console.md) +- [Console](/components/console/introduction-to-console.md) + +Non-cluster component versions are released continuously. + +- Customers are automatically updated to the latest component version when it is ready for release. +- Admins can [enable alpha features](/components/console/manage-organization/enable-alpha-features.md) for non-cluster components in organization settings. + +### New Camunda 8 versions + +When a new Camunda 8 version is released, we try to provide the new version on our managed service at the same time. + +An **Update available** notification is shown in Console, recommending that you update to the latest version. ![Console with notice to update the cluster in Camunda 8 SaaS](img/update-console.png) -With the Camunda 8.5.0 release, the generation naming scheme in Camunda 8 SaaS will change and no longer include the patch version. +#### Generation names -The new naming scheme used for the Camunda 8.5 generations will be `Camunda .+gen`, where `N` is incremented with every atomic change to the component version set. +As of Camunda 8.5.0, the generation naming scheme in Camunda 8 SaaS changed to no longer include the patch version. -This was done to decouple the generation name from the particular patch level of the components it contains, as some component versions like Connectors are decoupled from other components. +- The naming scheme used for the Camunda 8.5 generations is `Camunda .+gen`, where `N` is incremented with every atomic change to the component version set. -You will learn about the particular component patch version changes in the update dialogue to the latest generation available. +- This decouples the generation name from the particular patch level of the components it contains, as some component versions such as Connectors are decoupled from other components. -#### Updates or restart for critical issues +- You can learn about the particular component patch version changes in the update dialogue to the latest generation available. -In our managed service, we reserve the right to force update or restart a cluster immediately and without notice in advance if there is a critical security or stability issue. +#### Update or restart for critical issues + +In our managed service, Camunda reserves the right to force update or restart a cluster immediately and without notice in advance if there is a critical security or stability issue. ## Self-Managed -Whenever a new Camunda 8 version is released, Camunda 8 Self-Managed enterprise customers will be notified via email. +When a new Camunda 8 version is released, Camunda 8 Self-Managed enterprise customers are notified via email. -If you are not an enterprise customer, you can stay up to date via [release blogs](https://camunda.com/blog/category/release-notes/), the [announcements page](/reference/announcements.md), or releases on [GitHub](https://github.com/camunda) and [Docker Hub](https://hub.docker.com/u/camunda). +:::info +Non-enterprise customers can stay up to date via [release blogs](https://camunda.com/blog/category/releases/), [announcements](announcements.md), or releases on [GitHub](https://github.com/camunda) and [Docker Hub](https://hub.docker.com/u/camunda). +::: ### Helm chart -Since the 8.4 release, [Camunda 8 Self-Managed Helm chart](https://artifacthub.io/packages/helm/camunda/camunda-platform) version is decoupled from the version of the application (e.g., the chart version is 9.0.0 and the application version is 8.4.x). +Since the 8.4 release, the [Camunda 8 Self-Managed Helm chart](https://artifacthub.io/packages/helm/camunda/camunda-platform) version is decoupled from the version of the application. For example, the chart version is 9.0.0 and the application version is 8.4.x. -For more details about the applications version included in the Helm chart, review the [full version matrix](https://helm.camunda.io/camunda-platform/version-matrix/). +To learn more about the applications version included in the Helm chart, see the [Camunda 8 Helm chart version matrix](https://helm.camunda.io/camunda-platform/version-matrix/). -### New versions +### New Camunda 8 versions -If you are running Camunda 8 Self-Managed, follow our [update guide](/self-managed/operational-guides/update-guide/introduction.md). +If you are running Camunda 8 Self-Managed, see the [update guide](/self-managed/operational-guides/update-guide/introduction.md) to learn how to update your Camunda 8 application or server installation to a newer version of Camunda 8. diff --git a/versioned_docs/version-8.5/self-managed/concepts/multi-region/dual-region.md b/versioned_docs/version-8.5/self-managed/concepts/multi-region/dual-region.md index 9189a983fba..f2ccd04d185 100644 --- a/versioned_docs/version-8.5/self-managed/concepts/multi-region/dual-region.md +++ b/versioned_docs/version-8.5/self-managed/concepts/multi-region/dual-region.md @@ -100,7 +100,6 @@ In the event of a total active region loss, the following data will be lost: - Zeebe **8.5+** - Zeebe Gateway **8.5+** - For the Helm chart installation method, two Kubernetes clusters are required - - OpenShift is not supported - Network - The regions (for example, two Kubernetes clusters) need to be able to connect to each other (for example, via VPC peering) - See an [example implementation](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md) of two VPC peered Kubernetes clusters based on AWS EKS. @@ -110,6 +109,10 @@ In the event of a total active region loss, the following data will be lost: - **26500** for communication to the Zeebe Gateway from client/workers - **26501** for the Zeebe brokers and Zeebe Gateway communication - **26502** for the Zeebe brokers and Zeebe Gateway communication + - Cluster communication: + - Kubernetes services in one cluster must be resolvable and reachable from the other cluster and vice-versa. This is essential for proper communication and functionality across regions: + - For AWS EKS setups, ensure DNS chaining is configured. Refer to the [Amazon Elastic Kubernetes Service (EKS) setup guide](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md). + - For OpenShift, [Submariner](https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.11/html/networking/networking#submariner) is recommended for handling multi-cluster networking. Specific implementation guides are not yet available. - Only specific combinations of Zeebe broker counts and replication factors are supported - `clusterSize` must be a multiple of **2** and a minimum of **4** to evenly distribute the brokers across the two regions. - `replicationFactor` must be **4** to ensure that the partitions are evenly distributed across the two regions. @@ -131,6 +134,9 @@ In the event of a total active region loss, the following data will be lost: - This is due to Optimize depending on Identity to work. - Connectors can be deployed alongside but ensure to understand idempotency based on [the described documentation](../../../components/connectors/use-connectors/inbound.md#creating-the-connector-event). - in a dual-region setup, you'll have two connector deployments and using message idempotency is of importance to not duplicate events. +- If you are running Connectors and have a process with an inbound connector deployed in a dual-region setup, consider the following: + - when you want to delete the process deployment, delete it via Operate (not zbctl), otherwise the inbound connector won't deregister. + - if you have multiple Operate instances running, then perform the delete operation in both instances. This is a [known limitation](https://github.com/camunda/camunda/issues/17762). - During the failback procedure, there’s a small chance that some data will be lost in Elasticsearch affecting Operate and Tasklist. - This **does not** affect the processing of process instances in any way. The impact is that some information about the affected instances might not be visible in Operate and Tasklist. - This is further explained in the [operational procedure](./../../operational-guides/multi-region/dual-region-ops.md?failback=step2#failback) during the relevant step. @@ -150,6 +156,12 @@ You should familiarize yourself with those before deciding to go for a dual-regi - Bursts of increased latency can already have an impact - Managing DNS and incoming traffic +### Upgrade considerations + +When upgrading a dual-region setup, it is crucial to follow a staged approach. Perform the upgrade in one region first before proceeding to the other. + +Simultaneously upgrading both regions can result in a loss of quorum for partitions, as two Zeebe brokers might be upgraded at the same time. To prevent this issue, it is recommended to upgrade one region at a time, ensuring that only one Zeebe broker is updated during each upgrade phase. + ## Region loss In a dual-region setup, a loss of a region will invariably affect Camunda 8, regardless of whether it's the active or passive region. diff --git a/versioned_docs/version-8.5/self-managed/console-deployment/configuration.md b/versioned_docs/version-8.5/self-managed/console-deployment/configuration.md index c70ee053b65..8ce2515c314 100644 --- a/versioned_docs/version-8.5/self-managed/console-deployment/configuration.md +++ b/versioned_docs/version-8.5/self-managed/console-deployment/configuration.md @@ -65,7 +65,7 @@ console: value: online ``` -## Montioring +## Monitoring To help understand how Console operates, we expose the following endpoints by default: diff --git a/versioned_docs/version-8.5/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md b/versioned_docs/version-8.5/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md index 1173b3be59e..835be739ecc 100644 --- a/versioned_docs/version-8.5/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md +++ b/versioned_docs/version-8.5/self-managed/identity/user-guide/configuration/connect-to-an-existing-keycloak.md @@ -18,6 +18,12 @@ Clients in Camunda 8 SaaS and applications in Camunda 8 Self-Managed provide a s ## Steps +:::caution Keycloak URLs +As of the 8.5.3 release, Identity uses the Keycloak frontend URL instead of the backend URL. This change may affect you if you have blocked the Keycloak frontend URL from other services (including Camunda applications), and can potentially impact Identity's functionality. + +To avoid connectivity issues, ensure your Keycloak frontend URL is accessible by adjusting your network, firewall, or security settings as needed. This adjustment is crucial to maintain the integration with Keycloak and ensure compatibility. +::: + To connect Identity to an existing Keycloak instance, take the following steps: 1. Log in to your Keycloak Admin Console. diff --git a/versioned_docs/version-8.5/self-managed/modeler/web-modeler/configuration/logging.md b/versioned_docs/version-8.5/self-managed/modeler/web-modeler/configuration/logging.md index b01e481934f..b39f3747821 100644 --- a/versioned_docs/version-8.5/self-managed/modeler/web-modeler/configuration/logging.md +++ b/versioned_docs/version-8.5/self-managed/modeler/web-modeler/configuration/logging.md @@ -24,6 +24,12 @@ for more information on how to customize the logback configuration for specific Enabling `DEBUG` logging for the `restapi` component can be useful for troubleshooting purposes, e.g. for [debugging Zeebe connection issues](../troubleshooting/troubleshoot-zeebe-connection.md#how-can-i-debug-log-grpc--zeebe-communication). +By default, Web Modeler's `restapi` component logs in JSON. For a more readable logging format, activate the Spring profile using the following: + +```properties +SPRING_PROFILES_INCLUDE=default-logging +``` + ## Logging configuration for the `webapp` component By default, the `webapp` component logs to the Docker container's standard output. diff --git a/versioned_docs/version-8.5/self-managed/operate-deployment/operate-configuration.md b/versioned_docs/version-8.5/self-managed/operate-deployment/operate-configuration.md index e259a033107..09132364ffd 100644 --- a/versioned_docs/version-8.5/self-managed/operate-deployment/operate-configuration.md +++ b/versioned_docs/version-8.5/self-managed/operate-deployment/operate-configuration.md @@ -152,7 +152,7 @@ camunda.operate: To connect to a secured (https) OpenSearch instance, you normally need to only set the URL protocol part to `https` instead of `http`. A secured OpenSearch instance also needs `username` and `password`. -To use AWS Credentials instead of basic auth when connecting to Amazon OpenSearch Services `awsEnabled` has to be set. +To use AWS credentials instead of basic auth when connecting to Amazon OpenSearch Services, `awsEnabled` must be set. The other SSL settings should only be used in case of connection problems; for example, in disabling host verification. @@ -172,7 +172,7 @@ Either set `host` and `port` (deprecated), or `url` (recommended). | camunda.operate.opensearch.ssl.certificatePath | Path to certificate used by OpenSearch | - | | camunda.operate.opensearch.ssl.selfSigned | Certificate was self-signed | false | | camunda.operate.opensearch.ssl.verifyHostname | Should the hostname be validated | false | -| camunda.operate.opensearch.awsEnabled | Should AWS Credentials be used | false | +| camunda.operate.opensearch.awsEnabled | Should AWS credentials be used | false | #### Settings for shards and replicas diff --git a/versioned_docs/version-8.5/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md b/versioned_docs/version-8.5/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md index 0d75606ffe3..2663d4f8429 100644 --- a/versioned_docs/version-8.5/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md +++ b/versioned_docs/version-8.5/self-managed/operational-guides/backup-restore/modeler-backup-and-restore.md @@ -37,7 +37,7 @@ After the database has been restored, you can start Web Modeler again. :::warning When restoring Web Modeler data from a backup, ensure that the ids of the users stored in your OIDC provider (e.g. Keycloak) do not change in between the backup and restore. -Otherwise, users may not be able to log in after the restore (see [Web Modeler's login troubleshooting guide](docs/self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md#unique-constraint-violation)). +Otherwise, users may not be able to log in after the restore (see [Web Modeler's login troubleshooting guide](self-managed/modeler/web-modeler/troubleshooting/troubleshoot-login.md#unique-constraint-violation)). ::: :::tip diff --git a/versioned_docs/version-8.5/self-managed/operational-guides/multi-region/dual-region-ops.md b/versioned_docs/version-8.5/self-managed/operational-guides/multi-region/dual-region-ops.md index f0df2244b3a..d5cf20e6fb0 100644 --- a/versioned_docs/version-8.5/self-managed/operational-guides/multi-region/dual-region-ops.md +++ b/versioned_docs/version-8.5/self-managed/operational-guides/multi-region/dual-region-ops.md @@ -82,7 +82,7 @@ For the **failback** procedure, your recreated region cannot contain any active ::: -The following procedures are building on top of the work done in the [AWS setup guide](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md#deploy-camunda-8-to-the-clusters) about deploying Camunda 8 to two Kubernetes clusters in different regions. We assume you have your own copy of the [c8-multi-region](https://github.com/camunda/c8-multi-region) repository and previously completed changes in the `camunda-values.yml` to adjust them to your setup. +The following procedures are building on top of the work done in the [AWS setup guide](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md#deploy-camunda-8-to-the-clusters) about deploying Camunda 8 to two Kubernetes clusters in different regions. We assume you have your own copy of the [c8-multi-region](https://github.com/camunda/c8-multi-region/tree/stable/8.5) repository and previously completed changes in the `camunda-values.yml` to adjust them to your setup. Ensure you have followed [deploy Camunda 8 to the clusters](/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md#deploy-camunda-8-to-the-clusters) to have Camunda 8 installed and configured for a dual-region setup. @@ -185,9 +185,9 @@ The newly deployed Zeebe brokers will be running in the failover mode. This will #### How to get there -In the case **Region 1** was lost: in the previously cloned repository [c8-multi-region](https://github.com/camunda/c8-multi-region), navigate to the folder [aws/dual-region/kubernetes/region0](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/kubernetes/region0/). This contains the example Helm values yaml `camunda-values-failover.yml` containing the required overlay for the **failover** mode. +In the case **Region 1** was lost: in the previously cloned repository [c8-multi-region](https://github.com/camunda/c8-multi-region/tree/stable/8.5), navigate to the folder [aws/dual-region/kubernetes/region0](https://github.com/camunda/c8-multi-region/tree/stable/8.5/aws/dual-region/kubernetes/region0/). This contains the example Helm values yaml `camunda-values-failover.yml` containing the required overlay for the **failover** mode. -In the case when your **Region 0** was lost, instead go to the folder [aws/dual-region/kubernetes/region1](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/kubernetes/region1/) for the `camunda-values-failover.yml` file. +In the case when your **Region 0** was lost, instead go to the folder [aws/dual-region/kubernetes/region1](https://github.com/camunda/c8-multi-region/tree/stable/8.5/aws/dual-region/kubernetes/region1/) for the `camunda-values-failover.yml` file. The chosen `camunda-values-failover.yml` requires adjustments before installing the Helm chart and the same has to be done for the base `camunda-values.yml` in `aws/dual-region/kubernetes`. @@ -195,7 +195,7 @@ The chosen `camunda-values-failover.yml` requires adjustments before installing - `ZEEBE_BROKER_EXPORTERS_ELASTICSEARCHREGION0_ARGS_URL` - `ZEEBE_BROKER_EXPORTERS_ELASTICSEARCHREGION1_ARGS_URL` -1. The bash script [generate_zeebe_helm_values.sh](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/scripts/generate_zeebe_helm_values.sh) in the repository folder `aws/dual-region/scripts/` helps generate those values. You only have to copy and replace them within the previously mentioned Helm values files. It will use the exported environment variables of the environment prerequisites for namespaces and regions. Additionally, you have to pass in whether your region 0 or 1 was lost. +1. The bash script [generate_zeebe_helm_values.sh](https://github.com/camunda/c8-multi-region/blob/stable/8.5/aws/dual-region/scripts/generate_zeebe_helm_values.sh) in the repository folder `aws/dual-region/scripts/` helps generate those values. You only have to copy and replace them within the previously mentioned Helm values files. It will use the exported environment variables of the environment prerequisites for namespaces and regions. Additionally, you have to pass in whether your region 0 or 1 was lost. ```bash ./generate_zeebe_helm_values.sh failover @@ -872,7 +872,7 @@ Your `camunda-values-failover.yml` and base `camunda-values.yml` require adjustm - `ZEEBE_BROKER_EXPORTERS_ELASTICSEARCHREGION0_ARGS_URL` - `ZEEBE_BROKER_EXPORTERS_ELASTICSEARCHREGION1_ARGS_URL` -1. The bash script [generate_zeebe_helm_values.sh](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/scripts/generate_zeebe_helm_values.sh) in the repository folder `aws/dual-region/scripts/` helps generate those values again. You only have to copy and replace them within the previously mentioned Helm values files. It will use the exported environment variables of the environment prerequisites for namespaces and regions. +1. The bash script [generate_zeebe_helm_values.sh](https://github.com/camunda/c8-multi-region/blob/stable/8.5/aws/dual-region/scripts/generate_zeebe_helm_values.sh) in the repository folder `aws/dual-region/scripts/` helps generate those values again. You only have to copy and replace them within the previously mentioned Helm values files. It will use the exported environment variables of the environment prerequisites for namespaces and regions. ```bash ./generate_zeebe_helm_values.sh failback diff --git a/versioned_docs/version-8.5/self-managed/operational-guides/update-guide/840-to-850.md b/versioned_docs/version-8.5/self-managed/operational-guides/update-guide/840-to-850.md index 864a994ddd5..b94830b187a 100644 --- a/versioned_docs/version-8.5/self-managed/operational-guides/update-guide/840-to-850.md +++ b/versioned_docs/version-8.5/self-managed/operational-guides/update-guide/840-to-850.md @@ -72,3 +72,9 @@ since the Zeebe user tasks are only experimental in `8.4`. If you need the data on migrated user task instances, you can reactivate them using [Process Instance Modification](/components/concepts/process-instance-modification.md). This results in a `UserTask:CANCELED` event for the existing user task and a new `UserTask:CREATED` event with the `candidateUsersList` and `candidateGroupsList` filled based on what is configured in the process model. ::: + +## Identity + +Identity now uses the Keycloak frontend URL instead of the backend URL. This change may affect you if you have blocked the Keycloak frontend URL from other services (including Camunda applications), and can potentially impact Identity's functionality. + +To avoid connectivity issues, ensure your Keycloak frontend URL is accessible by adjusting your network, firewall, or security settings as needed. This adjustment is crucial to maintain the integration with Keycloak and ensure compatibility. diff --git a/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md b/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md index c1def9c7131..05b89ab6721 100644 --- a/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md +++ b/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/dual-region.md @@ -53,13 +53,13 @@ There are two regions (`REGION_0` and `REGION_1`), each with its own Kubernetes To streamline the execution of the subsequent commands, it is recommended to export multiple environment variables within your terminal. Additionally, it is recommended to manifest those changes for future interactions with the dual-region setup. -1. Git clone or fork the repository [c8-multi-region](https://github.com/camunda/c8-multi-region): +1. Git clone or fork the repository [c8-multi-region](https://github.com/camunda/c8-multi-region/tree/stable/8.5): ```shell -git clone https://github.com/camunda/c8-multi-region.git +git clone -b stable/8.5 https://github.com/camunda/c8-multi-region.git ``` -2. The cloned repository and folder `aws/dual-region/scripts/` provides a helper script [export_environment_prerequisites.sh](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/scripts/export_environment_prerequisites.sh) to export various environment variables to ease the interaction with a dual-region setup. Consider permanently changing this file for future interactions. +2. The cloned repository and folder `aws/dual-region/scripts/` provides a helper script [export_environment_prerequisites.sh](https://github.com/camunda/c8-multi-region/blob/stable/8.5/aws/dual-region/scripts/export_environment_prerequisites.sh) to export various environment variables to ease the interaction with a dual-region setup. Consider permanently changing this file for future interactions. 3. You must adjust these environment variable values within the script to your needs. :::warning @@ -82,7 +82,7 @@ In addition to namespaces for Camunda installations, create the namespaces for f The dot is required to export those variables to your shell and not a spawned subshell. ```shell -https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/scripts/export_environment_prerequisites.sh +https://github.com/camunda/c8-multi-region/blob/stable/8.5/aws/dual-region/scripts/export_environment_prerequisites.sh ``` ## Installing Amazon EKS clusters with Terraform @@ -147,7 +147,7 @@ This file contains various variable definitions for both [local](https://develop ### Preparation -1. Adjust any values in the [variables.tf](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/terraform/variables.tf) file to your liking. For example, the target regions and their name or CIDR blocks of each cluster. +1. Adjust any values in the [variables.tf](https://github.com/camunda/c8-multi-region/blob/stable/8.5/aws/dual-region/terraform/variables.tf) file to your liking. For example, the target regions and their name or CIDR blocks of each cluster. 2. Make sure that any adjustments are reflected in your [environment prerequisites](#environment-prerequisites) to ease the [in-cluster setup](#in-cluster-setup). 3. Set up the authentication for the `AWS` provider. @@ -222,14 +222,14 @@ You are configuring the CoreDNS from the cluster in **Region 0** to resolve cert 1. Expose `kube-dns`, the in-cluster DNS resolver via an internal load-balancer in each cluster: ```shell -kubectl --context $CLUSTER_0 apply -f https://raw.githubusercontent.com/camunda/c8-multi-region/main/aws/dual-region/kubernetes/internal-dns-lb.yml -kubectl --context $CLUSTER_1 apply -f https://raw.githubusercontent.com/camunda/c8-multi-region/main/aws/dual-region/kubernetes/internal-dns-lb.yml +kubectl --context $CLUSTER_0 apply -f https://raw.githubusercontent.com/camunda/c8-multi-region/stable/8.5/aws/dual-region/kubernetes/internal-dns-lb.yml +kubectl --context $CLUSTER_1 apply -f https://raw.githubusercontent.com/camunda/c8-multi-region/stable/8.5/aws/dual-region/kubernetes/internal-dns-lb.yml ``` -2. Execute the script [generate_core_dns_entry.sh](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/scripts/generate_core_dns_entry.sh) with the parameter `legacy` in the folder `aws/dual-region/scripts/` of the repository to help you generate the CoreDNS config. Make sure that you have previously exported the [environment prerequisites](#environment-prerequisites) since the script builds on top of it. +2. Execute the script [generate_core_dns_entry.sh](https://github.com/camunda/c8-multi-region/blob/stable/8.5/aws/dual-region/scripts/generate_core_dns_entry.sh) in the folder `aws/dual-region/scripts/` of the repository to help you generate the CoreDNS config. Make sure that you have previously exported the [environment prerequisites](#environment-prerequisites) since the script builds on top of it. ```shell -./generate_core_dns_entry.sh legacy +./generate_core_dns_entry.sh ``` 3. The script will retrieve the IPs of the load balancer via the AWS CLI and return the required config change. @@ -244,7 +244,7 @@ For illustration purposes only. These values will not work in your environment. ::: ```shell -./generate_core_dns_entry.sh legacy +./generate_core_dns_entry.sh Please copy the following between ### Cluster 0 - Start ### and ### Cluster 0 - End ### and insert it at the end of your CoreDNS configmap in Cluster 0 @@ -361,9 +361,9 @@ kubectl --context $CLUSTER_1 logs -f deployment/coredns -n kube-system ### Test DNS chaining -The script [test_dns_chaining.sh](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/scripts/test_dns_chaining.sh) within the folder `aws/dual-region/scripts/` of the repository will help to test that the DNS chaining is working by using nginx pods and services to ping each other. +The script [test_dns_chaining.sh](https://github.com/camunda/c8-multi-region/blob/stable/8.5/aws/dual-region/scripts/test_dns_chaining.sh) within the folder `aws/dual-region/scripts/` of the repository will help to test that the DNS chaining is working by using nginx pods and services to ping each other. -1. Execute the [test_dns_chaining.sh](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/scripts/test_dns_chaining.sh). Make sure you have previously exported the [environment prerequisites](#environment-prerequisites) as the script builds on top of it. +1. Execute the [test_dns_chaining.sh](https://github.com/camunda/c8-multi-region/blob/stable/8.5/aws/dual-region/scripts/test_dns_chaining.sh). Make sure you have previously exported the [environment prerequisites](#environment-prerequisites) as the script builds on top of it. ```shell ./test_dns_chaining.sh @@ -386,7 +386,7 @@ export AWS_ACCESS_KEY_ES=$(terraform output -raw s3_aws_access_key) export AWS_SECRET_ACCESS_KEY_ES=$(terraform output -raw s3_aws_secret_access_key) ``` -2. From the folder `aws/dual-region/scripts` of the repository, execute the script [create_elasticsearch_secrets.sh](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/scripts/create_elasticsearch_secrets.sh). This will use the exported environment variables from **Step 1** to create the required secret within the Camunda namespaces. Those have previously been defined and exported via the [environment prerequisites](#environment-prerequisites). +2. From the folder `aws/dual-region/scripts` of the repository, execute the script [create_elasticsearch_secrets.sh](https://github.com/camunda/c8-multi-region/blob/stable/8.5/aws/dual-region/scripts/create_elasticsearch_secrets.sh). This will use the exported environment variables from **Step 1** to create the required secret within the Camunda namespaces. Those have previously been defined and exported via the [environment prerequisites](#environment-prerequisites). ```shell ./create_elasticsearch_secrets.sh @@ -460,7 +460,7 @@ The base `camunda-values.yml` in `aws/dual-region/kubernetes` requires adjustmen - `ZEEBE_BROKER_EXPORTERS_ELASTICSEARCHREGION0_ARGS_URL` - `ZEEBE_BROKER_EXPORTERS_ELASTICSEARCHREGION1_ARGS_URL` -1. The bash script [generate_zeebe_helm_values.sh](https://github.com/camunda/c8-multi-region/blob/main/aws/dual-region/scripts/generate_zeebe_helm_values.sh) in the repository folder `aws/dual-region/scripts/` helps generate those values. You only have to copy and replace them within the base `camunda-values.yml`. It will use the exported environment variables of the [environment prerequisites](#environment-prerequisites) for namespaces and regions. +1. The bash script [generate_zeebe_helm_values.sh](https://github.com/camunda/c8-multi-region/blob/stable/8.5/aws/dual-region/scripts/generate_zeebe_helm_values.sh) in the repository folder `aws/dual-region/scripts/` helps generate those values. You only have to copy and replace them within the base `camunda-values.yml`. It will use the exported environment variables of the [environment prerequisites](#environment-prerequisites) for namespaces and regions. ```shell ./generate_zeebe_helm_values.sh diff --git a/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/eksctl.md b/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/eksctl.md index 20fc930517f..9cda448d8d2 100644 --- a/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/eksctl.md +++ b/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/eksctl.md @@ -121,7 +121,7 @@ metadata: region: ${REGION:-eu-central-1} # e.g. eu-central-1 version: "1.28" availabilityZones: - - ${REGION:-eu-central-1}c # e.g. eu-central-1c + - ${REGION:-eu-central-1}c # e.g. eu-central-1c, the minimal is two distinct Availability Zones (AZs) within the region - ${REGION:-eu-central-1}b - ${REGION:-eu-central-1}a cloudWatch: @@ -319,7 +319,7 @@ export GROUP_ID=$(aws ec2 create-security-group \ ``` 4. The variable `GROUP_ID` contains the output (the value should look like this: `sg-1234567890`). -5. Create a security ingress rule to allow access to PostgreSQL. +5. Create a security Ingress rule to allow access to PostgreSQL. ```shell aws ec2 authorize-security-group-ingress \ diff --git a/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/irsa.md b/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/irsa.md index fafd4d4f073..1e0207fa6c2 100644 --- a/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/irsa.md +++ b/versioned_docs/version-8.5/self-managed/setup/deploy/amazon/amazon-eks/irsa.md @@ -4,6 +4,9 @@ title: "IAM roles for service accounts" description: "Learn how to configure IAM roles for service accounts (IRSA) within AWS to authenticate workloads." --- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + IAM roles for service accounts (IRSA) is a way within AWS to authenticate workloads in Amazon EKS (Kubernetes), for example, to execute signed requests against AWS services. This is a replacement for basic auth and is generally considered a [best practice by AWS](https://aws.github.io/aws-eks-best-practices/security/docs/iam/). The following considers the managed services by AWS and provided examples are in Terraform syntax. @@ -20,32 +23,70 @@ When using the Terraform provider of [AWS](https://registry.terraform.io/provide An AWS policy (later assigned to a role) is required to allow assuming a database user within a managed database. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.IAMPolicy.html) for policy details. -Create the policy via Terraform using the [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy). + + + +To create the AWS policy using Terraform, you can define it with the [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) resource. Here’s an example configuration: ```json resource "aws_iam_policy" "rds_policy" { name = "rds-policy" policy = jsonencode({ - "Version": "2012-10-17", - "Statement": [ + "Version": "2012-10-17", + "Statement": [ { - "Effect": "Allow", - "Action": [ - "rds-db:connect" - ], - "Resource": [ - "arn:aws:rds-db:region:account-id:dbuser:DbiResourceId/db-user-name" - ] + "Effect": "Allow", + "Action": [ + "rds-db:connect" + ], + "Resource": [ + "arn:aws:rds-db:::dbuser:/" + ] } - ] -}) + ] + }) } ``` +Replace ``, ``, ``, and `` with the appropriate values for your AWS environment. + + + + + +To create the AWS policy using the AWS CLI, use the `aws iam create-policy` command: + +```bash +aws iam create-policy \ + --policy-name rds-policy \ + --policy-document '{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "rds-db:connect" + ], + "Resource": [ + "arn:aws:rds-db:::dbuser:/" + ] + } + ] + }' +``` + +Replace ``, ``, ``, and `` with the appropriate values for your AWS environment. + + + + #### IAM to Kubernetes mapping -To assign the policy to a role for the IAM role to service account mapping in Amazon EKS, a Terraform module like [iam-role-for-service-accounts-eks](https://registry.terraform.io/modules/terraform-aws-modules/iam/aws/latest/submodules/iam-role-for-service-accounts-eks) is helpful. + + + +To assign the policy to a role for IAM role to service account mapping in Amazon EKS, use a Terraform module like [iam-role-for-service-accounts-eks](https://registry.terraform.io/modules/terraform-aws-modules/iam/aws/latest/submodules/iam-role-for-service-accounts-eks): ```json module "aurora_role" { @@ -58,40 +99,82 @@ module "aurora_role" { oidc_providers = { main = { - provider_arn = "arn:aws:iam::account-id:oidc-provider/oidc.eks.region.amazonaws.com/id/eks-id" - namespace_service_accounts = ["aurora-namespace:aurora-serviceaccount"] + provider_arn = "arn:aws:iam:::oidc-provider/oidc.eks..amazonaws.com/id/" + namespace_service_accounts = [":"] } } } ``` -These two Terraform snippets allow the service account `aurora-serviceaccount` within the `aurora-namespace` to assume the user `db-user-name` within the database `DbiResourceId`. -The output of the module `aurora_role` has the output `iam_role_arn` to annotate a service account to make use of the mapping. +This Terraform snippet creates a role that allows the service account `` within the `` to assume the user `` within the database ``. The output of the `aurora_role` module includes the `iam_role_arn`, which you need to annotate the service account. + + + + + +To assign the policy to a role using the AWS CLI, follow these steps: + +1. **Create the IAM role**: + +```bash +aws iam create-role \ + --role-name aurora-role \ + --assume-role-policy-document '{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Federated": "arn:aws:iam:::oidc-provider/oidc.eks..amazonaws.com/id/" + }, + "Action": "sts:AssumeRoleWithWebIdentity", + "Condition": { + "StringEquals": { + "oidc.eks..amazonaws.com/id/:sub": "system:serviceaccount::" + } + } + } + ] + }' +``` + +2. **Attach the policy to the role**: + +```bash +aws iam attach-role-policy \ + --role-name aurora-role \ + --policy-arn arn:aws:iam:::policy/rds-policy +``` + + + -Annotate the service account with the `iam_role_arn` output of the `aurora_role`. +Annotate the service account with the `iam_role_arn`: ```yaml apiVersion: v1 kind: ServiceAccount metadata: annotations: - eks.amazonaws.com/role-arn: arn:aws:iam::account-id:role/role-name - name: aurora-serviceaccount - namespace: aurora-namespace + eks.amazonaws.com/role-arn: arn:aws:iam:::role/aurora-role + name: + namespace: ``` +Replace ``, ``, ``, ``, ``, and `` with the appropriate values for your AWS environment. + #### Database configuration The setup required on the Aurora PostgreSQL side is to create the user and assign the required permissions to it. The following is an example when connected to the PostgreSQL database, and can also be realized by using a [Terraform PostgreSQL Provider](https://registry.terraform.io/providers/cyrilgdn/postgresql/latest/docs). See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.DBAccounts.html#UsingWithRDS.IAMDBAuth.DBAccounts.PostgreSQL) for reference concerning Aurora specific configurations. ```SQL # create user and grant rds_iam role, which requires the user to login via IAM authentication over password -CREATE USER "db-user-name"; -GRANT rds_iam TO "db-user-name"; +CREATE USER ""; +GRANT rds_iam TO ""; # create some database and grant the user all privileges to it CREATE DATABASE "some-db"; -GRANT ALL privileges on database "some-db" to "db-user-name"; +GRANT ALL privileges on database "some-db" to ""; ``` ### Keycloak @@ -178,7 +261,7 @@ identityKeycloak: ``` :::note -For additional details, refer to the [Camunda 8 Helm deployment documentation](self-managed/setup/install.md). +For additional details, refer to the [Camunda 8 Helm deployment documentation](/self-managed/setup/install.md). ::: ### Web Modeler @@ -254,7 +337,10 @@ Without `fine-grained access control`, anonymous access is enabled and would be An AWS policy, which later is assigned to a role, is required to allow general access to Amazon OpenSearch Service. See the [AWS documentation](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html) for the explanation of the policy. -Create the policy via Terraform using the [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy). + + + +To create an AWS policy for Amazon OpenSearch Service using Terraform, you can use the [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) resource. Here’s an example configuration: ```json resource "aws_iam_policy" "opensearch_policy" { @@ -266,39 +352,95 @@ resource "aws_iam_policy" "opensearch_policy" { { "Effect" : "Allow", "Action" : [ - "es:DescribeElasticsearchDomains", - "es:DescribeElasticsearchInstanceTypeLimits", - "es:DescribeReservedElasticsearchInstanceOfferings", - "es:DescribeReservedElasticsearchInstances", - "es:GetCompatibleElasticsearchVersions", - "es:ListDomainNames", - "es:ListElasticsearchInstanceTypes", - "es:ListElasticsearchVersions", - "es:DescribeElasticsearchDomain", - "es:DescribeElasticsearchDomainConfig", - "es:ESHttpGet", - "es:ESHttpHead", - "es:GetUpgradeHistory", - "es:GetUpgradeStatus", - "es:ListTags", - "es:AddTags", - "es:RemoveTags", - "es:ESHttpDelete", - "es:ESHttpPost", - "es:ESHttpPut" + "es:DescribeElasticsearchDomains", + "es:DescribeElasticsearchInstanceTypeLimits", + "es:DescribeReservedElasticsearchInstanceOfferings", + "es:DescribeReservedElasticsearchInstances", + "es:GetCompatibleElasticsearchVersions", + "es:ListDomainNames", + "es:ListElasticsearchInstanceTypes", + "es:ListElasticsearchVersions", + "es:DescribeElasticsearchDomain", + "es:DescribeElasticsearchDomainConfig", + "es:ESHttpGet", + "es:ESHttpHead", + "es:GetUpgradeHistory", + "es:GetUpgradeStatus", + "es:ListTags", + "es:AddTags", + "es:RemoveTags", + "es:ESHttpDelete", + "es:ESHttpPost", + "es:ESHttpPut" ], "Resource" : [ - "arn:aws:es:region:account-id:domain/test-domain/*" + "arn:aws:es:::domain//*" ] - } + } ] }) } ``` +Replace ``, ``, and `` with the appropriate values for your Amazon OpenSearch Service domain. + + + + + +To create an AWS policy for Amazon OpenSearch Service using the AWS CLI, use the `aws iam create-policy` command: + +```bash +aws iam create-policy \ + --policy-name opensearch_policy \ + --policy-document '{ + "Version" : "2012-10-17", + "Statement" : [ + { + "Effect" : "Allow", + "Action" : [ + "es:DescribeElasticsearchDomains", + "es:DescribeElasticsearchInstanceTypeLimits", + "es:DescribeReservedElasticsearchInstanceOfferings", + "es:DescribeReservedElasticsearchInstances", + "es:GetCompatibleElasticsearchVersions", + "es:ListDomainNames", + "es:ListElasticsearchInstanceTypes", + "es:ListElasticsearchVersions", + "es:DescribeElasticsearchDomain", + "es:DescribeElasticsearchDomainConfig", + "es:ESHttpGet", + "es:ESHttpHead", + "es:GetUpgradeHistory", + "es:GetUpgradeStatus", + "es:ListTags", + "es:AddTags", + "es:RemoveTags", + "es:ESHttpDelete", + "es:ESHttpPost", + "es:ESHttpPut" + ], + "Resource" : [ + "arn:aws:es:::domain//*" + ] + } + ] + }' +``` + +Replace ``, ``, and `` with the appropriate values for your Amazon OpenSearch Service domain. + + + + #### IAM to Kubernetes mapping -To assign the policy to a role for the IAM role to service account mapping in Amazon EKS, a Terraform module like [iam-role-for-service-accounts-eks](https://registry.terraform.io/modules/terraform-aws-modules/iam/aws/latest/submodules/iam-role-for-service-accounts-eks) is helpful: +To assign the policy to a role for the IAM role to service account mapping in Amazon EKS: + + + + +You can use a Terraform module like [iam-role-for-service-accounts-eks](https://registry.terraform.io/modules/terraform-aws-modules/iam/aws/latest/submodules/iam-role-for-service-accounts-eks): ```json module "opensearch_role" { @@ -311,29 +453,72 @@ module "opensearch_role" { oidc_providers = { main = { - provider_arn = "arn:aws:iam::account-id:oidc-provider/oidc.eks.region.amazonaws.com/id/eks-id" - namespace_service_accounts = ["opensearch-namespace:opensearch-serviceaccount"] + provider_arn = "arn:aws:iam:::oidc-provider/oidc.eks..amazonaws.com/id/" + namespace_service_accounts = [":"] } } } ``` -These two Terraform snippets will allow the service account `opensearch-serviceaccount` within the `opensearch-namespace` to generally access the Amazon OpenSearch Service for the `test-domain` cluster. +This Terraform configuration allows the service account `` within the namespace `` to access the Amazon OpenSearch Service for the cluster ``. The output of the `opensearch_role` module includes the `iam_role_arn` needed to annotate the service account. + +Annotate the service account with the `iam_role_arn` output. + + + + + +To assign the policy to a role using the AWS CLI, follow these steps: -The output of the module `opensearch_role` has the output `iam_role_arn` to annotate a service account to use the mapping. +1. **Create the IAM role**: -Annotate the service account with the `iam_role_arn` output of the `opensearch_role`. +```bash +aws iam create-role \ + --role-name opensearch-role \ + --assume-role-policy-document '{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Federated": "arn:aws:iam:::oidc-provider/oidc.eks..amazonaws.com/id/" + }, + "Action": "sts:AssumeRoleWithWebIdentity", + "Condition": { + "StringEquals": { + "oidc.eks..amazonaws.com/id/:sub": "system:serviceaccount::" + } + } + } + ] + }' +``` + +2. **Attach the policy to the role**: +```bash +aws iam attach-role-policy \ + --role-name opensearch-role \ + --policy-arn arn:aws:iam:::policy/opensearch_policy ``` + + + + +Annotate the service account with the `iam_role_arn`: + +```yaml apiVersion: v1 kind: ServiceAccount metadata: annotations: - eks.amazonaws.com/role-arn: arn:aws:iam::account-id:role/role-name - name: opensearch-serviceaccount - namespace: opensearch-namespace + eks.amazonaws.com/role-arn: arn:aws:iam:::role/opensearch-role + name: + namespace: ``` +Replace ``, ``, ``, and `` with the appropriate values for your Amazon OpenSearch Service and EKS setup. + This step is required to be repeated for Tasklist and Zeebe, to grant their service accounts access to OpenSearch. #### Database configuration @@ -346,7 +531,38 @@ There are different ways to configure the mapping within Amazon OpenSearch Servi - Via a [Terraform module](https://registry.terraform.io/modules/idealo/opensearch/aws/latest) in case your OpenSearch instance is exposed. - Via the [OpenSearch dashboard](https://opensearch.org/docs/latest/security/access-control/users-roles/). -- Via the REST API. + +
    + +Via the REST API + +To authorize the IAM role in OpenSearch for access, follow these steps: + +**_Note that this example uses basic authentication (username and password), which may not be the best practice for all scenarios, especially if fine-grained access control is enabled._** The endpoint used in this example is not exposed by default, so consult your OpenSearch documentation for specifics on enabling and securing this endpoint. + +Use the following `curl` command to update the OpenSearch internal database and authorize the IAM role for access. Replace placeholders with your specific values: + +```bash +curl -sS -u ":" \ + -X PATCH \ + "https:///_opendistro/_security/api/rolesmapping/all_access?pretty" \ + -H 'Content-Type: application/json' \ + -d' +[ + { + "op": "add", + "path": "/backend_roles", + "value": [""] + } +] +' +``` + +- Replace `` and `` with your OpenSearch domain admin credentials. +- Replace `` with your OpenSearch endpoint URL. +- Replace `` with the IAM role name created by Terraform, which is output by the `opensearch_role` module. + +
    The important part is assigning the `iam_role_arn` of the previously created `opensearch_role` to an internal role within Amazon OpenSearch Service. For example, `all_access` on the Amazon OpenSearch Service side is a good candidate, or if required, extra roles can be created with more restrictive access. diff --git a/versioned_docs/version-8.5/self-managed/setup/deploy/openshift/redhat-openshift.md b/versioned_docs/version-8.5/self-managed/setup/deploy/openshift/redhat-openshift.md index 8f413dee144..ff3654931f4 100644 --- a/versioned_docs/version-8.5/self-managed/setup/deploy/openshift/redhat-openshift.md +++ b/versioned_docs/version-8.5/self-managed/setup/deploy/openshift/redhat-openshift.md @@ -338,62 +338,36 @@ Additionally, the Zeebe Gateway should be configured to use an encrypted connect The actual configuration properties can be reviewed [in the Tasklist configuration documentation](/self-managed/tasklist-deployment/tasklist-configuration.md#zeebe-broker-connection). -1. For Connectors: +1. Configure Connectors: - :::note - - The following will no longer be required when [the Connectors component supports PKCS #1 and PKCS #8](https://github.com/camunda/connectors/issues/2806). - - ::: - - The Connectors component only accepts a `jks` (Java KeyStore) certificate. - If you have followed our previous recommendation of generating a TLS certificate using the OpenShift annotation, you will have a `PKCS #1` certificate the Connectors component will not accept. - - Below are a number of commands that convert the `PKCS #1` certificate generated by OpenShift to a `jks` format the Connectors component accepts: - - ```bash - # Grab OpenShift generated TLS certificate. - kubectl get secret -n camunda camunda-zeebe-gateway -o jsonpath="{.data['tls\.crt']}" | base64 --decode > tls.crt - # Grab OpenShift generated TLS key. - kubectl get secret -n camunda camunda-zeebe-gateway -o jsonpath="{.data['tls\.key']}" | base64 --decode > zeebe-key.key - # Convert Zeebe Gateway unencrypted TLS key to an encrypted key. You will be prompted to enter a password when running this command. Note down the password: - openssl pkcs8 -topk8 -inform PEM -outform PEM -in ./zeebe-key.key -out ./zeebe-encrypted-key-gen.pem -v2 des3 - # Convert PKCS #1 certificate to PKCS #12. Again, you will be prompted to enter the password. - openssl pkcs12 -export -in tls.crt -inkey zeebe-encrypted-key-gen.pem -out zeebe-p12-certificate.p12 -name "certificate" - # Convert PKCS #12 certificate to jks cert. - keytool -importkeystore -srckeystore zeebe-p12-certificate.p12 -srcstoretype pkcs12 -destkeystore keystore.jks - ``` - - Create a generic TLS secret from the `jks` file: - - ```bash - kubectl create secret generic keystore -n camunda --from-file keystore.jks - ``` - - Once the secret is created, follow the below example `values.yaml` config: +```yaml +connectors: + inbound: + mode: oauth + env: + - name: ZEEBE_CLIENT_BROKER_GATEWAY-ADDRESS + value: "camunda-zeebe-gateway.camunda.svc.cluster.local:26500" + - name: ZEEBE_CLIENT_SECURITY_PLAINTEXT + value: "false" + - name: CAMUNDA_CLIENT_ZEEBE_CACERTIFICATEPATH + value: /usr/local/certificates/tls.crt + extraVolumeMounts: + - name: certificate + mountPath: /usr/local/certificates/tls.crt + subPath: tls.crt + extraVolumes: + - name: certificate + secret: + secretName: camunda-platform-internal-service-certificate + items: + - key: tls.crt + path: tls.crt + defaultMode: 420 +``` - ```yaml - connectors: - inbound: - mode: oauth - env: - - name: ZEEBE_CLIENT_BROKER_GATEWAY-ADDRESS - value: "camunda-zeebe-gateway.camunda.svc.cluster.local:26500" - - name: ZEEBE_CLIENT_SECURITY_PLAINTEXT - value: "false" - - name: JAVA_TOOL_OPTIONS - value: "-Djavax.net.ssl.trustStore=/usr/local/certificates/keystore.jks -Djavax.net.ssl.trustStorePassword=changeit" - extraVolumeMounts: - - name: keystore - readOnly: true - mountPath: /usr/local/certificates - extraVolumes: - - name: keystore - secret: - secretName: keystore - ``` +The actual configuration properties can be reviewed [in the Connectors configuration documentation](/self-managed/connectors-deployment/connectors-configuration.md#zeebe-broker-connection). -1. Configure all other applications running inside the cluster and connecting to the Zeebe Gateway to also use TLS. +6. Configure all other applications running inside the cluster and connecting to the Zeebe Gateway to also use TLS. diff --git a/versioned_docs/version-8.5/self-managed/setup/deploy/other/docker.md b/versioned_docs/version-8.5/self-managed/setup/deploy/other/docker.md index 6efd21d1949..8860fb85a5c 100644 --- a/versioned_docs/version-8.5/self-managed/setup/deploy/other/docker.md +++ b/versioned_docs/version-8.5/self-managed/setup/deploy/other/docker.md @@ -20,7 +20,7 @@ The provided Docker images are supported for production usage only on Linux syst | Operate | [camunda/operate:latest](https://hub.docker.com/r/camunda/operate) | [Operate configuration](/self-managed/operate-deployment/operate-configuration.md) | | Tasklist | [camunda/tasklist:latest](https://hub.docker.com/r/camunda/tasklist) | [Tasklist configuration](/self-managed/tasklist-deployment/tasklist-configuration.md) | | Identity | [camunda/identity:latest](https://hub.docker.com/r/camunda/identity) | [Configuration variables](/self-managed/identity/deployment/configuration-variables.md) | -| Optimize | [camunda/optimize:latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start#available-environment-variables) | +| Optimize | [camunda/optimize:8-latest](https://hub.docker.com/r/camunda/optimize) | [Environment variables]($optimize$/self-managed/optimize-deployment/install-and-start#available-environment-variables) | | Connectors | [camunda/connectors:latest](https://hub.docker.com/r/camunda/connectors) | [Connectors configuration](/self-managed/connectors-deployment/connectors-configuration.md) | | Connectors Bundle | [camunda/connectors-bundle:latest](https://hub.docker.com/r/camunda/connectors-bundle) | [Connectors configuration](/self-managed/connectors-deployment/connectors-configuration.md) | @@ -140,7 +140,7 @@ Like for example this `docker-compose` configuration: ``` optimize: container_name: optimize - image: camunda/optimize:latest + image: camunda/optimize:8-latest ports: - 8090:8090 environment: diff --git a/versioned_docs/version-8.5/self-managed/setup/guides/air-gapped-installation.md b/versioned_docs/version-8.5/self-managed/setup/guides/air-gapped-installation.md index 13ebc999e51..7c2265e8365 100644 --- a/versioned_docs/version-8.5/self-managed/setup/guides/air-gapped-installation.md +++ b/versioned_docs/version-8.5/self-managed/setup/guides/air-gapped-installation.md @@ -134,50 +134,58 @@ helm repo update In a custom values file, it is possible to override the image repository and the image tag. ```yaml +global: + image: + registry: example.jfrog.io zeebe: image: - repository: example.jfrog.io/camunda/zeebe + repository: camunda/zeebe # e.g. work with the latest versions in development tag: latest zeebeGateway: image: - repository: example.jfrog.io/camunda/zeebe - tag: latest + repository: camunda/zeebe elasticsearch: - image: example.jfrog.io/elastic/elasticsearch - imageTag: 7.16.3 + image: + registry: example.jfrog.io + repository: bitnami/os-shell + sysctlImage: + registry: example.jfrog.io + repository: bitnami/elasticsearch identity: image: - repository: example.jfrog.io/camunda/identity + repository: camunda/identity ... identityKeycloak: image: - repository: example.jfrog.io/bitnami/keycloak + registry: example.jfrog.io + repository: bitnami/keycloak ... postgresql: image: - repository: example.jfrog.io/bitnami/postgres + registry: example.jfrog.io + repository: bitnami/postgresql + ... operate: image: - repository: example.jfrog.io/camunda/operate + repository: camunda/operate ... tasklist: image: - repository: example.jfrog.io/camunda/tasklist + repository: camunda/tasklist ... optimize: image: - repository: example.jfrog.io/camunda/optimize + repository: camunda/optimize ... connectors: image: - repository: example.jfrog.io/camunda/connectors-bundle + repository: camunda/connectors-bundle ... webModeler: image: # registry and tag will be used for all three Web Modeler images - registry: example.jfrog.io tag: latest restapi: image: @@ -191,7 +199,8 @@ webModeler: ... postgresql: image: - repository: example.jfrog.io/bitnami/postgres + registry: example.jfrog.io + repository: bitnami/postgresql ... ``` diff --git a/versioned_docs/version-8.5/self-managed/setup/guides/connect-to-an-oidc-provider.md b/versioned_docs/version-8.5/self-managed/setup/guides/connect-to-an-oidc-provider.md index 0b1a3c90699..110ba2923a5 100644 --- a/versioned_docs/version-8.5/self-managed/setup/guides/connect-to-an-oidc-provider.md +++ b/versioned_docs/version-8.5/self-managed/setup/guides/connect-to-an-oidc-provider.md @@ -95,9 +95,6 @@ global: clientId: clientApiAudience: publicApiAudience: - console: - clientId: - audience: ``` @@ -191,10 +188,6 @@ global: clientApiAudience: publicApiAudience: redirectUrl: - console: - clientId: - audience: - redirectUrl: connectors: clientId: existingSecret: @@ -247,6 +240,5 @@ It's also important to follow the [steps described here](https://learn.microsoft | Optimize | **Microsoft Entra ID:**
    `https:///api/authentication/callback`

    **Helm:**
    `https://` | There is a fallback if you use the existing ENV vars to configure your authentication provider, if you use a custom `yaml`, you need to update your properties to match the new values in this guide.

    When using an OIDC provider, the following features are not currently available: User permissions tab in collections, digests, `Alerts` tab in collections. | | Tasklist | **Microsoft Entra ID:**
    `https:///identity-callback`

    **Helm:**
    `https://` | | | Web Modeler | **Microsoft Entra ID:**
    `https:///login-callback`

    **Helm:**
    `https://` | Web Modeler requires two clients: one for the internal API, and one for the external/public API.

    Required configuration variables for webapp:
    `OAUTH2_CLIENT_ID=[client-id]`
    `OAUTH2_JWKS_URL=[provider-jwks-url]`
    `OAUTH2_TOKEN_AUDIENCE=[client-audience]`
    `OAUTH2_TOKEN_ISSUER=[provider-issuer]`
    `OAUTH2_TYPE=[provider-type]`

    Required configuration variables for restapi:
    `CAMUNDA_IDENTITY_BASEURL=[identity-base-url]`
    `CAMUNDA_IDENTITY_TYPE=[provider-type]`
    `CAMUNDA_MODELER_SECURITY_JWT_AUDIENCE_INTERNAL_API=[client-audience]`
    `CAMUNDA_MODELER_SECURITY_JWT_AUDIENCE_PUBLIC_API=[publicapi-audience]` (for security reasons, use a different value here than for `CAMUNDA_MODELER_SECURITY_JWT_AUDIENCE_INTERNAL_API`)
    `SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=[provider-issuer]` | -| Console | **Microsoft Entra ID:**
    `https://`

    **Helm:**
    `https://` | | | Zeebe | no redirect URI | Instead, include `tokenScope:" /.default "`. This refers to the Helm value `global.identity.auth.zeebe.tokenScope`, which should be set to the displayed value. | | Connectors | | Connectors act as a client in the OIDC flow.

    For outbound-only mode (when `CAMUNDA_CONNECTOR_POLLING_ENABLED` is `false`), only Zeebe client properties are required:
    `ZEEBE_CLIENT_ID=[client-id]`
    `ZEEBE_CLIENT_SECRET=[client-secret]`
    `ZEEBE_AUTHORIZATION_SERVER_URL=[provider-issuer]`
    `ZEEBE_TOKEN_AUDIENCE=[Zeebe audience]`
    `ZEEBE_TOKEN_SCOPE=[Zeebe scope]` (optional)

    For inbound mode, Operate client properties are required:
    `CAMUNDA_IDENTITY_TYPE=[provider-type]`
    `CAMUNDA_IDENTITY_AUDIENCE=[Operate audience]`
    `CAMUNDA_IDENTITY_CLIENT_ID=[client-id]`
    `CAMUNDA_IDENTITY_CLIENT_SECRET=[client-secret]`
    `CAMUNDA_IDENTITY_ISSUER_BACKEND_URL=[provider-issuer]` | diff --git a/versioned_docs/version-8.5/self-managed/setup/upgrade.md b/versioned_docs/version-8.5/self-managed/setup/upgrade.md index 3b3dddf8389..5989fb065e1 100644 --- a/versioned_docs/version-8.5/self-managed/setup/upgrade.md +++ b/versioned_docs/version-8.5/self-managed/setup/upgrade.md @@ -54,8 +54,6 @@ As of this Helm chart version, the image tags for all components are independent With this change, Camunda applications no longer require a unified patch version. For example, a given installation may use Zeebe version 8.5.1, and Operate version 8.5.2. Note that only the patch version can differ between components. -The key `global.image.tag` is deprecated and it will be removed in the Camunda 8.6 release. -

    Helm chart 10.0.2+

    The upgrade path for Camunda Helm Chart v9.x.x is v10.0.2+. diff --git a/versioned_docs/version-8.5/self-managed/tasklist-deployment/tasklist-configuration.md b/versioned_docs/version-8.5/self-managed/tasklist-deployment/tasklist-configuration.md index 3d08bd2ee36..257b40651eb 100644 --- a/versioned_docs/version-8.5/self-managed/tasklist-deployment/tasklist-configuration.md +++ b/versioned_docs/version-8.5/self-managed/tasklist-deployment/tasklist-configuration.md @@ -84,17 +84,17 @@ You may need to import the certificate into JVM runtime. For OpenSearch we also have similar configurations: -| Name | Description | Default value | -| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- | -| camunda.tasklist.opensearch.indexPrefix | Prefix for index names. | tasklist | -| camunda.tasklist.opensearch.clusterName | Clustername of OpenSearch. | opensearch | -| camunda.tasklist.opensearch.url | URL of OpenSearch REST API. | http://localhost:9200 | -| camunda.tasklist.opensearch.username | Username to access OpenSearch REST API. | - | -| camunda.tasklist.opensearch.password | Password to access OpenSearch REST API. | - | -| camunda.tasklist.opensearch.awsEnabled |

    Use basic authentication or AWS credentials to login.

    • Set to `false` to use basic authentication for OpenSearch, adhering to the global AWS OpenSearch configuration settings.

    • Set to `true` to login with AWS credentials.

    | false | -| camunda.tasklist.opensearch.ssl.certificatePath | Path to certificate used by OpenSearch. | - | -| camunda.tasklist.opensearch.ssl.selfSigned | Certificate was self-signed. | false | -| camunda.tasklist.opensearch.ssl.verifyHostname | Should the hostname be validated. | false | +| Name | Description | Default value | +| :---------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------- | +| camunda.tasklist.opensearch.indexPrefix | Prefix for index names. | tasklist | +| camunda.tasklist.opensearch.clusterName | Cluster name of OpenSearch. | opensearch | +| camunda.tasklist.opensearch.url | URL of OpenSearch REST API. | http://localhost:9200 | +| camunda.tasklist.opensearch.username | Username to access OpenSearch REST API. | - | +| camunda.tasklist.opensearch.password | Password to access OpenSearch REST API. | - | +| camunda.tasklist.opensearch.awsEnabled |

    Use basic authentication or AWS credentials to log in.

    • Set to `false` to use basic authentication for OpenSearch, adhering to the global AWS OpenSearch configuration settings.

    • Set to `true` to log in with AWS credentials.

    | false | +| camunda.tasklist.opensearch.ssl.certificatePath | Path to certificate used by OpenSearch. | - | +| camunda.tasklist.opensearch.ssl.selfSigned | Certificate was self-signed. | false | +| camunda.tasklist.opensearch.ssl.verifyHostname | Should the hostname be validated. | false | By default, Tasklist always tries to connect to Elasticsearch. To define the database to use, the configuration below is mandatory (if this configuration is missed, Elasticsearch is used as the selected database): diff --git a/versioned_docs/version-8.5/self-managed/zeebe-deployment/operations/metrics.md b/versioned_docs/version-8.5/self-managed/zeebe-deployment/operations/metrics.md index 2fb85021ede..a6369647eb4 100644 --- a/versioned_docs/version-8.5/self-managed/zeebe-deployment/operations/metrics.md +++ b/versioned_docs/version-8.5/self-managed/zeebe-deployment/operations/metrics.md @@ -4,11 +4,7 @@ title: "Metrics" keywords: ["backpressure", "back-pressure", "back pressure"] --- -When operating a distributed system like Zeebe, it is important to put proper monitoring in place. - -To facilitate this, Zeebe exposes an extensive set of metrics. - -Zeebe exposes metrics over an embedded HTTP server. +When operating a distributed system like Zeebe, it is important to put proper monitoring in place. To facilitate this, Zeebe exposes an extensive set of metrics over an embedded HTTP server. ## Types of metrics @@ -17,8 +13,7 @@ Zeebe exposes metrics over an embedded HTTP server. ## Metrics format -Zeebe exposes metrics directly in Prometheus text format. -Read details of the format in the [Prometheus documentation][prom-format]. +Zeebe exposes metrics directly in the [Prometheus text format][prom-format]. **Example:** @@ -30,13 +25,13 @@ zeebe_stream_processor_records_total{action="processed",partition="1",} 20320.0 zeebe_stream_processor_records_total{action="skipped",partition="1",} 2153.0 ``` -## Configuring metrics +## Enable additional metrics -Configure the HTTP server to export the metrics in the [configuration file](../configuration/configuration.md). +Metrics are exported by default. To enable execution metrics, set the `ZEEBE_BROKER_EXECUTION_METRICS_EXPORTER_ENABLED` environment variable to `true` in your Zeebe [configuration file](../configuration/configuration.md). -## Connecting Prometheus +## Connect Prometheus -As explained, Zeebe exposes the metrics over an HTTP server. The default port is `9600`. +Zeebe exposes the metrics over an HTTP server. The default port is `9600`. Add the following entry to your `prometheus.yml`: diff --git a/versioned_sidebars/version-8.2-sidebars.json b/versioned_sidebars/version-8.2-sidebars.json index e433aae127a..e088749d122 100644 --- a/versioned_sidebars/version-8.2-sidebars.json +++ b/versioned_sidebars/version-8.2-sidebars.json @@ -93,6 +93,7 @@ "components/concepts/workflow-patterns", "components/concepts/process-instance-modification", "components/concepts/data-retention", + "components/concepts/encryption-at-rest", "components/concepts/backups" ], "Console": [ diff --git a/versioned_sidebars/version-8.3-sidebars.json b/versioned_sidebars/version-8.3-sidebars.json index bb383bc366f..51c19e939cb 100644 --- a/versioned_sidebars/version-8.3-sidebars.json +++ b/versioned_sidebars/version-8.3-sidebars.json @@ -62,6 +62,7 @@ "components/concepts/workflow-patterns", "components/concepts/process-instance-modification", "components/concepts/data-retention", + "components/concepts/encryption-at-rest", "components/concepts/outbound-connectors-job-workers", "components/concepts/backups", "components/concepts/resource-deletion", diff --git a/versioned_sidebars/version-8.4-sidebars.json b/versioned_sidebars/version-8.4-sidebars.json index 86c819ecd5a..004f5cbf7a8 100644 --- a/versioned_sidebars/version-8.4-sidebars.json +++ b/versioned_sidebars/version-8.4-sidebars.json @@ -63,6 +63,7 @@ "components/concepts/process-instance-modification", "components/concepts/process-instance-migration", "components/concepts/data-retention", + "components/concepts/encryption-at-rest", "components/concepts/outbound-connectors-job-workers", "components/concepts/backups", "components/concepts/resource-deletion", diff --git a/versioned_sidebars/version-8.5-sidebars.json b/versioned_sidebars/version-8.5-sidebars.json index 230c3151867..0d84158e8ed 100644 --- a/versioned_sidebars/version-8.5-sidebars.json +++ b/versioned_sidebars/version-8.5-sidebars.json @@ -64,6 +64,7 @@ "components/concepts/process-instance-modification", "components/concepts/process-instance-migration", "components/concepts/data-retention", + "components/concepts/encryption-at-rest", "components/concepts/outbound-connectors-job-workers", "components/concepts/backups", "components/concepts/resource-deletion", @@ -94,10 +95,7 @@ { "Manage clusters": [ "components/console/manage-clusters/create-cluster", - "components/console/manage-clusters/rename-cluster", - "components/console/manage-clusters/resume-cluster", - "components/console/manage-clusters/update-cluster", - "components/console/manage-clusters/delete-cluster", + "components/console/manage-clusters/manage-cluster", "components/console/manage-clusters/manage-api-clients", "components/console/manage-clusters/manage-alerts", "components/console/manage-clusters/manage-ip-allowlists",