## Release 26.05

### v1.8.4

#### Engagements

- Added `emailSubscriptions` field to Engagement. This field links subscriptions to users, and is required on update.

#### Analysis Source

- Added `presetHeaderRowIndex` to Analysis Source. This field enables explicit header row declaration, which enables the overriding the automatic header detection algorithm.

#### Connections

- Added `name` field to Connections. This required field provides a user-readable name for the external data source connection.

#### Validation Strictness

- Increased validation across multiple entities (Engagement, Analysis Source, File Manager, Filters):
  - String fields that accept values now require at least one non-blank character.
  - Array fields that accept collections now require at least one element.
  - Some existing payloads containing empty strings or empty arrays may now fail validation.

## Release 26.03

### v1.8.3

#### Admin reports

- Adds new `POST /admin-reports/analysis-overview-report/run` endpoint – The Analysis overview report lists analyses and the associated risk score results.

#### Connections

- Adds a new set of entities for managing external data source connections (such as Databricks), allowing users to connect to external databases, test connectivity, discover available tables, and retrieve data for use in MindBridge.
  - Adds a new `POST /connections` endpoint, which creates a new connection.
  - Adds a new `GET /connections/{connectionId}` endpoint, which returns a connection identified by its ID.
  - Adds a new `POST /connections/query` endpoint, which queries connections based on a provided filter.
  - Adds a new `DELETE /connections/{connectionId}` endpoint, which deletes a connection identified by its ID.
  - Adds a new `POST /connections/{connectionId}/test` endpoint, which tests connectivity for a connection.
  - Adds a new `POST /connections/{connectionId}/tables` endpoint, which discovers available tables from a connection.
  - Adds a new `POST /connections/{connectionId}/get-data` endpoint, which retrieves data from a specific table in a connection.

#### Databricks Authorization

- Adds a new entity for managing Databricks connection credentials and authentication configuration.
  - Adds a new `POST /databricks-auth` endpoint, which creates a new Databricks authorization.
  - Adds a new `GET /databricks-auth/{authorizationId}` endpoint, which returns a Databricks authorization identified by its ID.
  - Adds a new `PUT /databricks-auth` endpoint, which updates a Databricks authorization.
  - Adds a new `DELETE /databricks-auth/{authorizationId}` endpoint, which deletes a Databricks authorization identified by its ID.
  - Adds a new `POST /databricks-auth/query` endpoint, which queries Databricks authorizations based on a provided filter.

#### Connection Test Results

- Adds a new read-only entity for viewing the results of connection test operations.
  - Adds a new `GET /connection-test-results/{connectionTestResultId}` endpoint, which returns a connection test result identified by its ID.
  - Adds a new `POST /connection-test-results/query` endpoint, which queries connection test results based on a provided filter.

#### Connection Tables Results

- Adds a new read-only entity for viewing the results of table discovery operations on connections.
  - Adds a new `GET /connection-tables-results/{connectionTablesResultId}` endpoint, which returns a connection tables result identified by its ID.
  - Adds a new `POST /connection-tables-results/query` endpoint, which queries connection tables results based on a provided filter.

#### Connection Tables

- Adds a new read-only entity for viewing individual tables discovered from a connection.
  - Adds a new `GET /connection-tables/{connectionTableId}` endpoint, which returns a connection table identified by its ID.
  - Adds a new `POST /connection-tables/query` endpoint, which queries connection tables based on a provided filter.

#### Connection Data Sources

- Adds a new entity for registering specific tables from a connection for use in MindBridge.
  - Adds a new `POST /connection-data-source` endpoint, which creates a new connection data source.
  - Adds a new `GET /connection-data-source/{connectionDataSourceId}` endpoint, which returns a connection data source identified by its ID.
  - Adds a new `POST /connection-data-source/query` endpoint, which queries connection data sources based on a provided filter.
  - Adds a new `DELETE /connection-data-source/{connectionDataSourceId}` endpoint, which deletes a connection data source identified by its ID.
  - Adds a new `POST /connection-data-source/{connectionDataSourceId}/get-data` endpoint, which retrieves data from a connection data source.

#### File Manager

- Adds a new `POST /file-manager/import-from-data-table` endpoint, which creates a new file manager file by exporting data from a data table as a CSV file.

## Release 25.11

### v1.8.2

#### General validation

- Several changes were made to make validation more strict, and remove invalid or impossible combinations.
  - Many required fields now require at least one nonblank character or entry be submitted to be valid.
  - Many types cleaned up to only accept one type of value, instead of a large list of types.
  - Many fields restricted to be integers or strings as appropriate.
  - Discriminators added to better restrict types, instead of being overly permissive.
  - Defaults added to many types, especially when there is only one valid type, making it optional in those cases.

#### Analysis

- Optional `reportingPeriodConfigurationId` field added. If not included, the analysis uses a standard reporting period.

#### Analysis source

- New workflow states have been added: `SCANNING_TRANSACTION_COMBINATIONS`, `PARSING_ICEBERG`, `PREPARING_ICEBERG`.

#### Data Tables

- For data table exports larger than 2 million rows, sorting is disabled to improve performance.

#### File manager

- Adds new `POST /file-manager/create-from-chunked-file` endpoint, which completes a chunked file import, given by its ID in the message body, and creates a file manager file entity.
- Deprecated `POST /file-manager/import-from-chunked-file/{chunked-file-id}`, due to using nonstandard path parameters.

#### Filter group condition

- Added required `conditions` property, listing the entries within the condition group.

#### Libraries

- Allow analysis types to be added or removed from in-use libraries.

#### Reporting periods

- Adds new `POST /reporting-period-config` endpoint, which creates a reporting period configuration.
- Adds new `GET /reporting-period-config` endpoint, which reads an existing reporting period template entity, identified by its ID.
- Adds new `DELETE /reporting-period-config/{reportingPeriodConfigurationId}` endpoint to delete an existing configuration, identified by its ID.
- Adds new `POST /reporting-period-config/query` endpoint, which queries existing configuration on id, type, name, or originalName.
- Added `reportingPeriodConfigurationId` property to the Analysis and Engagement model. This can replace `accountingPeriod`, but one of the two are required.
- `reporting-period-config` permissions added.

#### Run activity report request

- `PROCEDURE_INSTANCE` added as item type.
- Correctly report errors when required `start` and `end` fields are not present.

#### Saved filters

- Changes to types, restricting acceptable values, such as removing `BETWEEN` as a valid monetaryValueType for Filter Monetary Value Condition, but being the only valid type for Filter Monetary Range Condition.

#### Webhooks

- Added field `role` to the user.invited and user.role webhook payloads.
- Adds webhook payload information for more types to the OpenAPI specification describing how to receive and authenticate webhook payloads sent by MindBridge.
- Webhooks can no longer be EXPIRED.
