# Releases

## Install / upgrade

A copy of the Exivity installer can be obtained [on our website](https://exivity.com/download). Installing or upgrading to the latest release is a straight-forward process, refer to the [on-premises article](/3.4.3/getting-started/installation/on-premises.md) for more information.

{% hint style="warning" %}
**Migration to PostgreSQL within the Exivity architecture**\
As of version 3.0.0 Exivity stores all global configuration data and report results in PostgreSQL as opposed to SQLite. This is a mandatory and breaking change. Please refer to the [version 3 upgrade guide](https://docs.exivity.com/getting-started/releases/upgrading-to-version-3) for more information.
{% endhint %}

{% hint style="info" %}
As of version 3.2.1, **quantity** **adjustments** are applied first and before any **charge** related **adjustments**.  This may potentially affect your billing records. If you were depending on mixing **charge** and **quantity** adjustments, please reach out to <support@exivity.com> for guidance.
{% endhint %}

### Release feed

You may register with the following [JSON feed](https://q769kjeh.api.sanity.io/v1/data/query/production?query=*%5B_type%20%3D%3D%20%27release%27%5D%7B%0A%20%20_createdAt%2C%0A%20%20version%2C%0A%20%20changelog%2C%0A%20%20file%20%7B%0A%20%20%09%22sha1hash%22%3A%20asset-%3Esha1hash%2C%0A%20%20%20%20%22url%22%3A%20asset-%3Eurl%20%2B%20%22%3Fdl%22%0A%20%20%7D%0A%7D%20%7C%20order\(_createdAt%20desc\)) to obtain information about new releases.

## Changelog

### v3.4.3

*March 22, 2021*

**New features**

* **Usage data generation based on consumption start/stop events**\
  Added functionality to produce usage data from consumption start/stop/update events, including the consumption which spans several days. See [event\_to\_usage statement description](https://docs.exivity.com/data-pipelines/transform/language/event_to_usage) in Transform documentation for details.

### v3.4.2

*February 24, 2021*

**Bug fixes**

* **Fixed an issue with SAML user account access provisioning**\
  Previously, user account access provisioning would grant access to a matching account, including all its child accounts. With this release, the SAML user account access provisioning only grants a user access to the first matching account (i.e. with the lowest depth) in the account hierarchy.
* **Fixed an issue where reports could become invalid for certain user account permission configurations**
* **Revolved a race condition related to preparing a report**\
  On rare occasions the actions of multiple users administering accounts and reports simultaneously could result in duplicate charges in reports. This has now been fixed.
* **Fixed a rare cosmetic issue when updating rates in ETL**\
  When executing a '[services](https://docs.exivity.com/data-pipelines/transform/language/services)' statement in a Transformer, if there was an existing service rate revision with a different rate for the same effective date as a new revision then an error containing the text "incorrect binary data format" would be logged. This issue was cosmetic, but has now been fixed.
* **Fixed a very rare issue with minimum commit**\
  Resolved an issue whereby it was possible on extremely rare occasions for the minimum commit calculations applied to one service to be incorrectly applied also to other services in a report. &#x20;

### v3.4.1

*December 08, 2020*

**Bug fixes**

* **Fixed an issue with PDF export of the summary report**\
  In certain environments, the PDF export feature was broken. This issue has now been resolved.
* **Default SAML user group re-applied when a user logs in**\
  An issue has been resolved which caused the default user group to be re-applied when existing users were logging in through a SAML Identity Provider.

### v3.4.0

*November 17, 2020*

**New features**

* **Executing a Reports now requires a valid license**

**Bug fixes**

* **Fixed a minor issue with the calendar widget**
* **Fixed a minor issue with the SAML SLS endpoint**
* **Fixed an issue with custom rates and subscriptions** &#x20;

  Sometimes a subscription would not reflect changes in custom rates for a service. This has now been fixed.

### v3.3.0

*November 02, 2020*

{% hint style="warning" %}
Due to security considerations, starting with this release, each user is bound to the logon provider set in the source attribute. E.g. if a user has their source set to 'local', they can't log in with the SAML2 or LDAP SSO provider.
{% endhint %}

**New features**

* **Improved user provisioning (beta)**\
  Added options to provision user attributes from a SAML Identity Provider/AD response. It's possible to provision the users display name, username and email address.
* **Added claims based account access provisioning (beta)**\
  Added options to provision users permission levels using attributes from a SAML Identity Provider/AD. It's possible to provision both the usergroup and user account access (by matching either the account key or metadata value to a SAML/AD response attribute).

**Bug fixes**

* **Change to log filenames for extractors and transformers**\
  When scheduling extractors and transformers with workflows, the selected environment is now part of the log filename to distinguish their log files when they are running at the same time.
* **Fixed opening curly brace detection**\
  When opening curly brace wasn't preceded by space, sometimes it wasn't properly processed. It has been fixed
* **Improved error message on lookups screen**\
  Fixed an issue where a user might get a confusing error message when saving a lookup file.
* **Fixes initializing directories in home directory**\
  There was a bug when the home directories were initially created and two directories were wrongly created in the /home directory.
* **Improved support for UTF-8 in usernames**

### v3.2.7

*October 09, 2020*

**New features**

* **Added support for the Safari web browser** &#x20;

  Exivity now supports the Safari web browser
* **Added ability to set custom escape character in Transformer Previewer**\
  Added a dropdown to the transformer previewer where the client can select which escape character to use during Transformer preview mode

**Bug fixes**

* **Fixed an issue with the Dataset Manager**\
  Resolved regression issues regarding the display of RDF dates
* **Fixed an issue with report filters**\
  There was a bug if a user accidentally submits a string instead of a number on filtering 'parent\_account\_id' with report. This is now being fixed
* **Fixed an issue with displaying workflow start times in the workflow list**\
  The time column of the workflow list omitted the hour at which the workflow would run for daily and monthly workflows
* **Resolve global variables in "uri" statement**\
  In some statements (i.e. `uri`) global variables weren't properly resolved. This has now been fixed
* **Fixed an issue with COGS charges for services with an average monthly charge model**\
  COGS charges for monthly services that used the average charge model could be slightly lower than they should be, as the COGS rate for the first day seen was not factored into the rate averaging. This has now been fixed
* **Fixed an issue when managing rates**\
  An *aggregation\_level* error could occur when updating rates. This has now been resolved.

### v3.2.5

*September 30, 2020*

**Bug fixes**

* **Improved error message when creating invalid revision**\
  When creating a duplicate rate revision for the same effective date, an appropriate error message is now shown
* **Improved error message for LDAP**\
  Added a more meaningful message when unable to connect to an LDAP server
* **Service Category names must be unique**\
  It was possible to have duplicate service category names. This could lead to confusion and has now been resolved. The Service Category name must now be unique
* **Resolved a timezone offset issue for Workflows**\
  Resolved an issue where timezones were incorrectly applied when creating workflows
* **Resolved an issue with the Reports menu**\
  Fixed an issue where the report screen would crash after selecting multiple reports

### v3.2.4

*September 9, 2020*

**Bug fixes**

* **Increased the boundaries of some USE arithmetical operations** &#x20;

  The operators +=, -=, \*= and /= were limited to a 32-bit range and this could cause an overflow in certain real-world applications. The range has now been increased to match that of the other arithmentical operations which is based on the range of a 64-bit floating point value: 1.7E +/- 308 (up to 15 digits).
* **Fixed an issue where the CSV export of the instance report could fail**\
  The CSV export of the instance report did not work when the usage column was included and some of the instances did not have any usage data
* **One-off subscriptions should ignore the charge\_day field**\
  Only recurring subscriptions require the "charge day" field, but it was required for all subscriptions. This has now been fixed
* **Fixed a decimal precision issue with the timeline graph**\
  The Y-axis of the timeline sometimes displayed long floats. To resolve this the precision has been fixed to two decimals
* **Fix for "space" as thousand separator**\
  It is possible to select different symbols as a thousand separator for large numbers shown to users. One of the options, space (" "), was not saving correctly. This has now been resolved
* **Fix error handling transformer**\
  Fixed an issue where it was possible that a failed transformer error was not processed properly which prevented the transformer from giving the user feedback
* **Added index to speed-up report preparation**\
  During report preparation, Edify executes several queries to the `adj_lookup` table. An index has been adding to this table to improve performance

### v3.2.1

*September 1, 2020*

* **Quantity and Charge Adjustment are now handled in strict order**\
  As of this release, quantity adjustments are applied first and before any charge related adjustments. This in turn enables the ordering of individual adjustment policies.
* **Implemented translations settings&#x20;*****(Beta)***\
  Implemented an automatic translation feature for Dutch, German, and French. This can be configured on a system or user level. Currently, this is released as a beta feature.
* **Delete old Nginx log files**\
  Old Nginx log files will now be deleted by the garbage collector. This will help reduce disk space.
* **Improve user error page**\
  Updated the error page to improve user experience. Customer logo will now be shown here, if it has been set.
* **Adjustment API endpoint will now accept order** \
  In the past, there was no way to reorder adjustments. Users had to delete and recreate them to do this. This has now been solved. The order field now takes in an order number. If this is not used, the current functionality will still work, using the creating date instead.
* **Reports can now include adjustment name**\
  The adjustment name can now be added to a report. This is useful for report users that do not have access to view the whole adjustment.
* **Support in UI for changing the order in which Adjustments are applied**\
  Since it is possible to create multiple Adjustments for a single account, they may affect each other. It is therefore desirable to have the ability to control the order in which they are applied. As of this version, it is possible to change the order in which Adjustments are applied.

**Bug fixes**

* **Fixed an issue when partial preparing manual services**\
  When partial prepare kicks in, it previously skipped manual services. This has now been resolve.
* **Fixed SAML ACS invalid schema error**\
  Some users were experiencing an Invalid Schema bug when accessing the `/v1/auth/saml/acs` endpoint. This has now been fixed.
* **Fixes "Nginx Log File" not found error**\
  The location of some log files could not be found. This has been resolved.
* **Improved `invalid token` handling**\
  Changed how this error is logged. It will now be treated as a notice instead of a warning.
* **Fixed an issue with running transformers** &#x20;

  In release 3.2.0 there was a problem running transformers from the GUI. This has now been fixed.

### v3.1.5

*July 21, 2020*

**Bug fixes**

* **Premature validation warning** &#x20;

  Resolved an issue where a user could get a premature validation error for certain input fields.
* **Fixed an issue with the budget report** &#x20;

  With certain budget configurations, the budget report would display a message instead of the report even if the budget configuration was valid. This has now been resolved.
* **Improved user message when execution time is exceeded**

  Improved the message when the execution time of an Extractor, Transformer or Report is being exceeded
* **Fixed an issue with budget leaf account distribution** \
  When configuring a budget for a budget leaf, the distribution setting will be forced to be of the type "shared"
* **Fixed an issue when deleting services** \
  Previously it wasn't possible to delete a service if it still had any associated rates. This behavior has now been corrected so that services including its relationships will be deleted
* **Fixed an issue with the Garbage collector exits code** \
  The Garbage collector would previously always return an exit code of 259 when invoked manually. This has been resolved
* **Fixed an issue where subscriptions could show up on more than one report** \
  In some cases, a subscription (created for an account associated with a specific report) could be shown when a different report was run. This has now been fixed
* **Fixed graph image export**\
  When exporting a graph chart (i.e. Pie, Bar, Line) in any of the reports (Accounts, Services Instances) the file download would not start. This has now been resolved
* **Restored indicators for account access list**\
  Pencil-like indicators will inform the user where nested accounts have been selected. This functionality was unintentionally removed from the user management screen but has been placed back
* **Horizon performance improvements** \
  Implemented two seperate changes to improve Horizon budget execution performance. (1) budget gets validated only once after a budget configuration change and (2) added a new database index to improve database query execution
* **Always show decimal values** \
  Resolved an issue where some values would be displayed using their scientific notation
* **Resolved issue when deleting services** \
  Fixed an issue where the user would get an error when making multiple delete requests for services

### v3.1.2

*July 3, 2020*

**New features**

* **Ability to skip database backup when updating**\
  When updating the software, the user can now skip the PostgreSQL database backup to improve update speed

**Bug fixes**

* **Fixed an issue with the webproxy.conf proxy\_pass URL**

  When updating the software, the proxy\_pass URL for the webproxy.conf NGINX configuration was always reverted back to <https://127.0.0.1:8002>. This has now been resolved

### v3.1.1

*June 28, 2020*

{% hint style="warning" %}
**Fixed charges no longer available**\
As of version 3.1.0, we're removing [fixed charges ](/3.4.3/getting-started/introduction/services-introduction.md#service-attributes)(or: interval-based charges) because of the limited amount of use cases and low customer adoption with this feature. In case you are an Exivity customer and are still using this service parameter, please reach out to <support@exivity.com> so we can provide you with alternative solutions.
{% endhint %}

**New features**

* **Improved auditing when managing accounts manually**\
  Added a number of new audit points when performing manual account management
* **Auditing token creation correctly logs client IP address when API is behind a proxy server**
* **Updating user profile information now requires providing the current password**
* **Implemented current password validation**\
  A user is now required to enter his/her current password before any changes to its profile are applied
* **Added logging audit entries for metadata, service subscriptions, and budgets**

**Bug fixes**

* **Fixed an issue where some users could select budgets even if it would not contain any details**
* **Fixed an issue which sometimes caused the workflows screen to load for a long time**\
  A resource-intensive operation that ran whenever the workflow page is visited got removed
* **getCUPRs function ported to PSQL**\
  getCUPRs function was changed from using SQLite global DB to PSQL global DB
* **Mitigated a potential security issue (internal reference EXVT-3773)**
* **Fixed an issue were sometimes log files would appear malformed in the Transformer run tab**
* **Reverted the way a user deletes an RDF**
* **Fixed form behavior in rates screen**
* **Fixed "other" option behavior at services**
* **Fix report filter**\
  When switching reports, some of the filters were not reset and appeared unused while they actually held a value not related to the currently selected report. This made the reports appear empty. This has been resolved.
* **When the API runs out of memory (possible for very large reports) it will respond with a descriptive message**
* **Incorrect display of minimum\_commit\_delta\_charge and minimum\_commit\_delta\_quantity**\
  When a minimum commit quantity was set for a service rate revision, the resulting charges could show up incorrectly by having the quantity and minimum commit delta swapped on the reports

### v3.0.5

*May 26, 2020*

**Bug fixes**

* **Fixed issue at /lookups where in specific cases an error was undefined**
* **Fixed issue where user was shown an incorrect validation warning** When providing a number with more then one decimal, the user interface would show an error message. This has been resolved.
* **Added cache check in partial preparation** There was an issue that partial preparation code didn't check for cache table presence before analysis, which caused execution errors, and it has been fixed.
* **Fixed `escape` option behaviour in 'import'** There was an error that '\\"' sequence was always treated as escaped quoted even when 'escape' option switched off (default), it has been fixed.
* **Rate revision date never changes** Transcript was trying to change rate revision date when it detects an attempt to create new revision with the same attributes but earlier date, which conflicted with database constraint, so it was removed in order to avoid execution errors.
* **Fixed issue where line breaks were not shown** When providing an address for the summary report with multiple new lines, only the first would be shown. This has been resolved.
* **Fixed undefined tool tip at workflows** The was a column which showed a tool tip with undefined as value. This has been resolved.
* **Select a single date for transformer run** After introduction of a new calendar, the single date selection was missing. This has now been resolved.
* **Services and categories at subscriptions are now alphabetically sorted**
* **Fixed an issue where dataset columns were missing** After repreparing a report, the columns associated with a dataset were not visible. This has been resolved.
* **Fixed visibility newly created dataset** When running a transcript, newly created datasets were only visible after refresh. This has been resolved.
* **Show red underline when incorrect value for textarea input**
* **Show correct validation values when saving environment**

  When saving an environment, we will now show the correct error messages for missing values.

### v3.0.4

*April 30, 2020*

**New features**

* **New feature: Subscriptions** \
  When Beta features are enabled, users can now create one-off and recurring daily, monthly or yearly [subscriptions](/3.4.3/services/subscriptions.md) for services for which a metered data source is not available.
* **New feature: Workflows widget**\
  When Beta features are enabled, a new Workflow traffic-light widget will be shown on the main Dashboard page.
* **New feature: Global Variables**\
  When Beta features are enabled, users can now manage [Global Variables](/3.4.3/administration/settings/global-variables.md) under System Administration. This enables users to decouple Extractor and Transformer variable values from scripts thus supporting different values on a per Exivity instance basis without changing underlying scripts.
* **New feature: Metadata for Services**\
  Metadata can now be added to all services just like with accounts. Define a [metadata ](/3.4.3/data-pipelines/metadata.md)definition first, then attach the definition to a dataset in Data pipelines > [Datasets](/3.4.3/data-pipelines/datasets.md). All services in this dataset will now use this set of metadata fields. Metadata information itself can be added and modified in Services > Overview and is available in the services reports.
* **Increased rounding of set to match calculate statement**\
  The Transformer [set](/3.4.3/data-pipelines/transform/language/set.md) and [calculate](/3.4.3/data-pipelines/transform/language/calculate.md) statemets now have had their rounding precision increased to 12 decimal places.
* **Added more information to the summary report**\
  The summary report now contains the following additional columns: service\_key, account keys (between 1 and 5 inclusive depending on the report), start\_date, end\_date. These columns are also included in CSV exports.
* **Improved quoting in exported CSVs**\
  To avoid potential complications with Excel, any cell values in CSVs exported from Exivity that are not numbers and begin with any of the characters =,+,- or @ are now preceded with a single quote.
* **A new setting has been added to allow users to stay logged in.**\
  If disabled (default), users need to log in each time they open Exivity in their browser.
* **Administrators can now set the token lifetime.**\
  When the token lifetime expires, users need to log in again.
* **Added ability for users to log out of all devices.**
* **Mitigated a potential security issue (internal reference EXVT-3457)**
* **Mitigated a potential security issue (internal reference: EXVT-3455)**
* **Mitigated a potential security issue (internal reference EXVT-3270)**
* **Implemented a new charge model for monthly services**\
  The charge for a monthly services may now be based on the usage of a specific day in the month.
* **Improvements in report performance**\
  Reports are now pre-loaded in the database which speeds up report loading times in the GUI.
* **Added support for LDAP authentication**\
  LDAP authentication was available as beta feature already, and is now generally available. A guide will be added to our documentation soon. Configuration options are available in the Settings screen (Single sign-on tab).

**Bug fixes**

* **Fixed an issue with manage\_metadata\_definitions**\
  Granting the "Manage Metadata" permission is now possible when creating a security group
* **Fixed an edge case for incorrect net value on accounts table**\
  Whenever cogs or charge had 0 as value the net value wouldn't be displayed correctly on the details table of the accounts report.
* **Fixed an issue when creating a manual service** Manual per unit cogs type services will not require cogs column
* **Fixed invalid format issue metadata lists** Previously empty lines we're persisted as list option. Options are now trimmed and validated before persisting.
* **The API now requires additional attributes for certain service types**
* **Fixed a small issue with the metadata selector in the report management screen**
* **Removed toolbar from PDF export**\
  The Summary report PDF export included the toolbar on the top of every page of the PDF document. This has now been removed.
* **Fixed an Extractor XML parsing issue**\
  USE could previously fail when iterating over an empty XML node inside a foreach loop. This has now been resolved.
* **Fixed modified display issue in Accounts Overview**\
  When switching from Account Name to Account Key in the Accounts Overview screen, the modified state / pencil icon disappeared previously. This has now been resolved.
* **Fixed an issue when scrolling in the Accounts Overview**\
  When having a large amount of Accounts in a report definition, the Accounts Overview screen could generate cosmetic glitches when scrolling
* **Fixed a Transformer issue with skip\_corrupted\_records**\
  When import option `skip_corrupted_records` was set, import could fail if last column in the record is missing closing quote. This has been resolved.
* **Fixed a Transformer issue with aggregate**\
  When using the aggregate max function, Transcript could pick the wrong value.
* **Fixed a false warning about invalid COGS type in the logfile**\
  When preparing reports, in some cases a lot of warnings would appear in the logfile that state:\
  `Invalid cogs_type (0) in database for service ID nnn`\
  where "nnn" is a service ID. This was a false warning and could be ignored but looked concerning and could lead to larger logfiles.\
  This issue has now been fixed.
* **Removed "remainder" option from lowest level accounts when setting budgets**\
  When a budget is set for an account at the deepest report level, the "remainder" option is no longer shown, as there are no sibling accounts to share the budget with.
* **Fixed an issue where (harmless) SQL errors could be logged when deleting services**\
  When deleting services, SQL errors could be present in the logfile for days where reports that reference those services had not been prepared. This has now been fixed.

Older release notes can be found [here](/3.4.3/getting-started/releases/archive.md).


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://olddocs.exivity.io/3.4.3/getting-started/releases.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

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