# Version 11.x

## Version 11.1.7

* Added support for connecting to a Database Server with enforced SSL.

## Version 11.1.6

* The booklet document language can now also be changed in finished cases
* Bugfixes
  * We fixed a bug that prevented users from starting or exporting cases if they contained deleted workflow states.

## Version 11.1.5

* Bugfixes
  * We fixed a bug that tenant cannot be deleted when the file storage has missing files.
  * Some changes in a case could cause database updates to happen before their objects have been created. We have implemented a fix to always first create objects and then update them.&#x20;

## Version 11.1.4

* Bugfixes
  * We fixed a bug that page numbers in group documents are not consecutive so when uploaded pages are not correctly matched and attached.

## Version 11.1.3

* Bugfixes
  * We fixed a bug that prevented users to always have the highest right of any of their roles.
  * Some users that are managed by LDAP were asked to change their password, even though the password is not managed by Atfinity. We made sure they are not asked anymore.

## Version 11.1.2

* We adapted our helm chart to support Ingress-Nginx Controller to prepare for Kubernetes 1.28
* Bugfixes
  * We made the order of roles, documents and instances in RuLa always predictable. Unpredictable orders could have caused infinite rule engine loops for some configurations.
  * Internal taxonomies of information could sometimes end up having keys that are too long. The system was changed to have a random key that never exceeds the maximum length.

## Version 11.1.1

* **Added `CASE.states_history`**. The states history outputs some statistics on how long a case was in a certain state, how often it entered it and which user moved it last to a certain state.&#x20;
* **Improved case loading performance**
* **Environment Constants** that will not be exported or imported and stay with the environment itself
* **Instance sorting** in a case can now be configured per process.&#x20;
* **Autocompletion for Constants**, so when typing `CONSTANTS.` you get a list of all constants you have defined before
* Add `USER_ROLES` and `USER_GROUPS` objects to access the permission model directly in RuLa
* Uploaded case documents can now also be deleted directly in the documents view
* Users can be prohibited from changing the name of a case
* When uploading a booklet, documents with missing pages can also be forced to be still attached
* Add `CASE.all_states`, which returns all the states the workflow of a case can be in
* More infos about the case are displayed in an info bubble:\
  &#x20;

  <figure><img src="https://1779597918-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MKsdT4MTNVRLMWXAn_s%2Fuploads%2Fuxq66cIpqZUCdenjELMF%2Fimage.png?alt=media&#x26;token=13271c7d-6149-492b-b843-963c6d062cdb" alt="" width="314"><figcaption><p>The new case info bubble</p></figcaption></figure>

## Version 11.1.0

* 👪 **Child and parent relationships**: This makes Atfinity even more powerful. Configure multi-level structures by declaring a company a child of a person, or make people employees by assigning them to a company
* 👾 **Variables in RuLa**: Write simpler rules by using variables and giving names to individual parts of your rules. If you want to check if a person is allowed to rent a car you can now do:

{% code lineNumbers="true" %}

```python
old_enough := p.age > 2
has_license := "driver_license" in p.licenses
old_enough and has_license
```

{% endcode %}

* 🪐 **Meta Documents**. Meta Documents contain information about other documents. Using these, you can e.g.
  * Create a document per needed proof and contain extra information per proof
  * Store when each uploaded document has been reviewed and by whom
  * Have a document with review defects (e.g. missing last name) and manual corrections
* **🏷️ Case Tags**: Add tags like #important to cases to further organise your teams work. Overviews can be filtered and sorted to just have tags
* **🔔 In-App Notifications**: In addition to getting notifications via email they will now also be displayed in the Atfinity app directly
* 📄 **More Document upload options**. If outdated documents are uploaded, users can overwrite this and still accept the document.
* Custom **好 Text Assets**: Allows to create text assets with a key and translations to all configured languages. These assets can then be used in RuLa and ADX
* **💬 Comment Improvements**:
  * Mention and notify other users in comments with e.g. @Thorben
  * Images in comments
  * Rich text formatting with a GUI editor
  * Edit comments after they have been written
* **Proof Previews:** Most proof types can be previewed in the application directly without downloading them
* **Assignee rules**: Assign people to work on cases based on rules
* **Splitting Booklet by ontologies**. Booklets can already be split by different documents, however, the same document can be required to be filled out by multiple people. This creates a single booklet by instance, so, for example, for each person in a case
* **Case Manager Overview improvements**, highlights:
  * Filtering for information columns
  * Sorting for information columns
  * Improved speed
  * Much better full-text search
* **Configuration Export Robustness**: We changed the matching of items like document and information from the configures key to a created UUID. This means changing the key will no longer result in a deletion and creation of a document or information
* **ADX templates**: Now you can create even more powerful ADX systems by creating ADX templates and reusing them in ADX document
* **Process Designer improvements**:
  * Moving information up and down affects the layout a lot less now
  * Information can be "locked" in place. They will then not move left or right to fill space
  * Move a whole category to a different tab
  * Move a whole category up or down
  * Add line breaks inside categories
  * Information on the tabs have links to the information detail view
* Set **default values for information**
* **Case Manager Overview Configuration Improvements**, highlights:
  * Configurable Access Rights
  * New Tag Filter
  * New State Filter
  * Configurable Sorting
  * Configurable Icon
  * Different titles for the navigation element of a parent overview
* [External Data Source Queries](https://docs.atfinity.io/api/external-data-sources) can now also contain case information. You can configure this directly next to the data source
* In addition to sending a whole booklet, you can now also just **send single documents** with the rule action "Send Email"
* Adapt the content of the notification email templates of your tenant
* More **login policies**:
  * Enforce regular password changes
  * More password policy options, e.g. no duplicated characters
  * Configurable session duration
* Rules and scheduled rules can now be sorted
* The ID-Prefix of cases can be configures, so instead of CSE-45 it can also be BUG-45 or LOAN-45
* Configure whether you want a sidecar file for Hyperarchive export or not
* New Notification for case owners when an explanation comment has been provided
* New Notification when users get a reply to a comment
* Show labels in addition to keys for Sub-taxonomies
* Make `CASE.last_transition_by` and `CASE.last_transition_by_name` available in RuLa
* Translations for texts can be edited directly in context, e.g. you can edit the translations for all languages of the display name directly in the information detail view
* As always the release also contains various **security fixes**, so for onsite clients we recommend updating as soon as possible.
* Administrators can clear all caches directly in the user interface
* Taxonomy keys have been changed to be SCREAMING\_SNAKE\_CASE for consistency

{% hint style="info" %}

#### API Changes

* *Retrieve Case, Create Case, Create Case With Predefined Objects, Change Field (*&#x69;nstance and information\_ke&#x79;*), Change Field (*&#x63;ase\_field\_ke&#x79;*), Change multiple fields, Change Case Owner* and *Transition Case*
  * in `data.booklets[i].documents` the item `id` instead of the `document_id` are used
  * `data.booklets[i].documents[i]` have additional fields: `instance_id` and `parent_booklet_id`
  * `data.documents[i]` have additional field `is_meta`, `preview`
  * `data.fields[i]` have additional field `needed_document_id`
  * `data.instances[i]` have additional fields: `children`, `parents`, `has_potential_children` and `has_potential_parents`
  * `data.proofs[i]` have additional field `preview`
  * `data.ontologies[i]` have the additional field `key`&#x20;
  * `data.outcome_ontology` has the additional field `key`&#x20;
  * `data.roles[i]` have the additional field `key`
  * `data` has additional fields `tags` and `issue_comments`
* *List Cases, List Instances of a Specific Ontology* and *List Some Cases*
  * Will no longer return the `meta.columns` and `meta.quick_filters` fields
  * `data[i]` have additional fields `process` and `tags`
* *Retrieve Instance, Change Instance Owner, Lock / Unlock Instance* and *Force Update Instance Values*
  * `data.fields[i]` have the additional field `needed_document_id`
  * `data.cases[i]` have the additional field `assignee`
    {% endhint %}

{% hint style="info" %}
**Configuration Notes**

These are the steps required to keep your environments in sync after the update:

1. All Environment Configurations should be in sync before the update. Meaning that Prod Configuration is exported and imported into the rest of the environments.
2. No Configuration Changes should be made until all environments are updated to the new version
3. After the update, the Prod Configuration should be exported and imported into the rest of the environments.
4. Resolve any conflicts and Put Live
   {% endhint %}

### Version 11.0.6

* Added support for processing PFDs generated by DocuSign

### Version 11.0.5

* Fixed a bug that ignored detecting Group Documents when Uploading a Booklet

### Version 11.0.4

* Fixed a bug that already pre-existing QR-Codes on forms could cause the upload detection to not work properly

### Version 11.0.3

* Some of our IDs in the case manager were 64-bit integers. We have refactored this to always be 32-bit integers for legacy integrations to not break.

### Version 11.0.2

* Also enable users to download **editable ADX documents**, where not provided information is rendered as fields in the PDF
* **Customisable Case Identifier**, so instead of CSE-1234 use a custom case identifier like ONB-1234
* **Upload and attach pdfs directly** to a needed document in the case manager. This also ignored the QR Code matching and allows you to upload and attach pdfs that would not match.&#x20;

### Version 11.0.1

* [REPLACE](https://docs.atfinity.io/rule-language/operators/string-operators/replace) for RuLa to replace parts of a string with something else, e.g. `replace('hello thorben', 'thorben', 'world')` to output `hello world`.
* To format dates in ADX now `format_date`, `format_date_time` and `format_date_speaking` are available.
* New ADX tag `<keepTogether>` to delay page breaks if possible.
* **Bugfixes**
  * ADX rendering can crash some functions when information values are unknown

## Version 11.0.0

* Introducing our new **Process Designer**:
  * The layout of the case manager for a certain process can now directly be design within that process. For this, you can just add all the potential information you want to as in a process and then arrange them into tabs and categories.&#x20;
  * As they are no longer needed with this, we have also removed information categories and tabs in the navigation.
* Introducing **ADX**:
  * The Atfinity Document XML is a new type of documents you can use in your configurations. As the name suggests, ADX documents are described in an XML like format and support Jinja2 templating to fill them up with information from a case. The flexible XML syntax to describe a PDF and the power of Jinja2 make this an ideal option of a Smart Document is not enough.
* Proofs are now available within rules. With the expression `p.proofs` or `p.proofs_by_key` you can access all the proofs associated with the instance `p`. Adding such a reference to a box on a document prints the proof on the document.
* In addition to pre-defined booklets, users can now also select documents and proofs to combine into a custom booklet and download as a pdf. &#x20;
* Our avaloq integration can now also push data and documents to an SFTP Server. This also supports encryption with GnuPG.
* Documents can now be marked as *hidden* or *disabled*:
  * *Hidden documents* will not appear in process, but will still cause the process to ask for all the information mentioned in the document.
  * *Disabled documents* are fully ignored. They are a convenient way to ignore the document without deleting it.&#x20;
* The display name is now shown in in Ontology -> Information and Role -> Information overviews.
* Added support for italic and bold italic fonts in generated pdfs (for all document types).
* Section that have no fields will now trigger a warning in the configuration area.
* Newly created rules are now automatically added to the currently active process.
* In configuration -> Information the *values to show* and *values to disable* now show both key and value.&#x20;
* Added a "piggybank" icon to use for ontologies.
* Information of type "unit" has the unit set to read only if there is only one option.
* By default, new processes now are shown on the dashboard.
* **Bugfixes**
  * Clicking on the comments tab in the case manager does not open the "All" subtab.
  * When uploading a booklet documents from other booklets appear as not matches.
  * When uploading a booklet with missing pages, documents are still matched.
  * Uploaded booklet results display icons of different sizes.

{% hint style="info" %}
**API changes**: Following fields were changed in the response with details of a case:

* `field.category_id` is changed to `field.categories` and contains a list of IDs instead of a single ID
* `field.ordering` is changed to `field.ordering_by_category` and it now contains a map of field ordering by category ID
* `field.fixed_column_position` is removed
* `field.spans_two_columns` is removed
* `field.position_by_category` is added and it represents a map of positions of a field by category ID. Possible values for each position are: `flexible`, `both_columns`, `left` and `right`.&#x20;
  {% endhint %}
