Skip to main content

· 47 min read
note

For older releases, consult the archive here.

Install / upgrade

A copy of the Exivity installer can be obtained on our website. Installing or upgrading to the latest release is a straightforward process, refer to the on-premises article for more information.

caution

Migration to PostgreSQL within the Exivity architecture As of version 3.0.0 Exivity stores, all global configuration data and reports results in PostgreSQL as opposed to SQLite. This is a mandatory and breaking change. Please refer to the version 3 upgrade guide for more information.

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 [email protected] for guidance.

info

As of version 3.5.0, Exivity uses the RabbitMQ message broker software for inter-component communication. By default, RabbitMQ will be installed automatically on the Exivity host. Alternatively, you may leverage a remote/dedicated RabbitMQ instance. Make sure to verify the system requirements in the installation guide before upgrading.

Release feed

You may register with the following JSON feed to obtain information about new releases.

Changelog

v3.8.4

September 20, 2022

Bug fixes

  • Fixed an issue with date offsets in workflows

    Date offsets are now correctly saved for workflow steps.

  • Fixed an issue with executing multiple workflow steps

    In version 3.8.3, not all workflow steps would execute in specific cases. This has now been resolved.

  • Fixed an API error when using include=dset parameter

    When loading reports with include=dset parameter, the include wasn't working. This has now been fixed.

v3.8.3

September 9, 2022

Note

The v2 API endpoint is currently in beta and subject to change.

New features

  • Changes extractors v2 endpoint

    The hash property has been removed and removed_at renamed to updated_at, according to spec.

  • Renamed report endpoint v2

    Renamed reports endpoint to reportdefinitions.

  • Changes licence endpoint v2

    The id replaces the hash attribute. The payload and message attribute have been removed.

  • New dataset and datasetdays endpoints v2

    Renamed dset to dataset and created new resource called datasetdays.

  • Changes transformers endpoint V2

    Removed hash property and renamed last_modified to updated_at, by spec.

Bug fixes

  • Increased maximum length of a variable to 16Kb

    The maximum length of data that can be held in a variable has been doubled to support larger data extracts using parslets.

  • Solved issue where search was broken for lists with categories

  • Fixed a bug where the report definition name could not be updated

    When updating the name of a Report Definition from the Status tab, the name was not actually updated. This is now fixed.

  • Fixed an issue with the breadcrumbs in the report summary screen

    When switching between selected accounts in the summary screen, the breadcrumbs didn't always reflect the currently selected account. This has been fixed.

  • Solved issue where dragging workflow steps became unpredictable

    When there were a large amount of steps it became hard to move them around. This has now been solved.

  • Fixed an issue with the message displayed when inheriting a rate from an ancestor

    When a sub-account inherits an account specific rate from one of its parents, the GUI now displays the correct rate.

  • Fixed a bug where all channels would be selected when selecting a notification channel for a user

    When selecting a notification channel for a user, all channels would be selected and the notification would collapse itself.

  • Fixed an issue that could cause a deadlock state for certain backend components

    In rare cases, specifically, if a system would go into sleep or hibernation mode, some of the backend components would not come back online. This has been resolved.

  • Atomic endpoint v2

    Atomic endpoint now allows metadata to be saved along with a service.

v3.7.0

August 17, 2022

New features

  • Added the ability to convert decimal values to IPv4 addresses in an Extractor

    It is now possible to convert a decimal value in USE to an IPv4 address using the decimal_to_ipv4 statement.

  • Reduced the amount of memory needed to run reports

    Running a report is a memory-intensive operation. Changes have been made to reduce the amount of memory required by more than 200Mb. Whereas these changes do not change the functionality in any way it means that Exivity is more tolerant of systems with limited resources.

Bug fixes

  • Improving notification subscription validation

    Adding validation for Notification Subscriptions, type WorkflowEnded filename. It now check that each entry in the array is valid regex.

  • Fixed an issue where the Deepest aggregation level label would appear unselected

    When creating a tiered rate the deepest aggregation level label was in certain cases not visible when selected.

  • Fixed a condition where it was not possible to manually create a service

  • Fixed incorrect behaviour of the scheduler when a workflow is deleted

    When workflows were deleted, it sometimes happened that the scheduler wasn't notified of it. Because of this, running of workflows was interrupted.

  • COGS/rate required error

    Resolved issue where a zero would not be displayed causing a required input error.

  • Fixed issue when sending heartbeats

    Backend components could get into a blocked state whereby heartbeat messages were not sent to the MQ stack.

  • Improve XML extraction

    Fixed the crash bug when a foreach loop is applied to an XML node that doesn't have any named children. You can now iterate over all the children of an XML object using a foreach loop. The ${loop_label.NAME} variable is now available in XML-related foreach loops

  • Sort accounts

    Sort accounts of all levels at rates screen.

  • Improved list performance GUI

    Improved performance for lists with lots of items.

  • Fixed an issue with selecting future dates on the rates screen

    Future dates that were previously greyed out and disabled may now be selected.

  • Fixed an issue with the date picker when selecting a single date on a Mac

    It is now possible to use the Command key (⌘) for selecting a single date when using a Mac.

v3.6.9

June 16, 2022

Bug fixes

  • Fixed an issue with 'option noquote'

    When importing a file containing a non-escaped quote in a data field, the import statement would fail with an error when option noquote was in effect. This has now been fixed.

  • Fixed an issue when creating a new report

    Resolved issue where creating a new report definition would generate an invalid error, stating it requires a dset while a dset had already been assigned.

v3.6.8

June 10, 2022

New features

  • Added the ability to sort a DSET in a Transformer script

    There is now a sort statement in Transformer scripts that can be used to sort a DSET in either ascending or descending order by one or multiple columns.

  • Added 'dequote' statement to Transformers

    The new dequote statement can be used to remove quotes surrounding column names and values.

Bug fixes

  • Fixed an issue that could show an incorrect account during PDF export

    Resolved issue where account filter wasn't properly applied to the PDF export of the summary report.

  • Fixed an issue with missing labels in the summary report export

    Resolved styling issue that made labels invisible for the summary export.

  • LDAP users can be created without a password

    Local users require a password. The creation of new users required a password, that matched the configured password policy. LDAP users do not require a password stored in our database. This is because our system always verifies the password with the LDAP system, and never stores the LDAP password. If an admin user wanted to create and configure a new LDAP user before they logged into our system, this was not possible as the empty password would fail the password validation. This change now allows LDAP users to be created without a password, while still validating local users. If the user source changes to a local user, a password will be required.

  • Fixed an issue with RabbitMQ connection for backend components

    In certain cases, a connection issue could occur towards RabbitMQ from several of the backend components (chronos, griffon and merlin). This has now been resolved.

v3.6.7

May 11, 2022

Bug fixes

  • Hidden navigation links

    Resolved an issue where navigation links were unintentionally hidden

v3.6.6

May 9, 2022

Bug fixes

  • Fixed an issue when creating a new budget revision

    Not all budget items were copied over for new budget revision. This has been resolved now.

  • Fixed an issue when switching reports from the rates screen

    Switching reports while on the rates screen could cause an error. This has been resolved now.

  • Fixed an issue with Adjustment policies

    Previously the adjustment policies screen would become inaccessable.

  • SQL errors during report generation should now cause workflows to fail

    Previously, when running a report if a SQL error occurred while writing the report data to the database then the workflow would still complete with a success status. This has now been changed and the workflow will fail.

v3.6.5

April 26, 2022

New features

  • Improved API functionality for PATCH requests

    Previously, PATCH requests would return an error if the 'name' attribute was supplied in a request. Now, as long as the value hasn't changed, it is possible to supply this field in a valid request.

  • Removed unused API routing

    There were some unused API routes that could lead to confusion for customers. We have removed these to simplify the API.

Bug fixes

  • Fixed an issue where multiple 'services' blocks are used in the same Transformer

    If a transformer script contained multiple 'services' statement blocks, and if any except for the last of them didn't see any new services to create then an internal error would be logged and the job would fail. This has now been fixed.

  • Fixed an issue with inherited rates for manual service subscriptions

    If an account was inheriting a custom rate set for a service at a parent (or higher) level of the account structure then subscriptions for that service would be charged at the global rate. This has now been fixed.

  • Fixed an informational message when creating an Adjustment for Service Categories

    Resolved an issue where the user wasn't shown a warning when selecting a category that included a service with a charge type that is not supported for adjustments.

v3.6.4

April 1, 2022 🐸

Bug fixes

  • Fixed a time-out issue for long-running jobs with newer RabbitMQ releases When the system was using a RabbitMQ server version higher than 3.8.15, it was timing out for long-running processes before they were finished in the background. This is now fixed and all processes are ending without being timed out.
  • Fixed a rare issue with quantity adjustments With certain combinations of quantity and price adjustments, it could be that if the last quantity adjustment resulted in a negative quantity then no compensation to bring the final quantity up to zero would be applied. This has now been fixed.

v3.6.3

March 17, 2022

Bug fixes

  • Solved an issue when creating global rate revisions through a Transformer Transcript was considering rate revisions to be the same when they were different by approximately 0.001 or more, therefore new revisions weren't being created. This comparison should now detect differences greater than 0.00000001 and will create new rate revisions accordingly.

v3.6.2

March 9, 2022

Bug fixes

  • Fixed an issue with non-escaped quotes when importing data into a Transformer When importing data into a Transformer, if option noquote is enabled then non-escaped quotes will no longer cause the import to fail.
  • Fixed a memory leak in the 'match' statement in Extractor scripts When using the 'match' statement many times in a loop, memory consumption would increase significantly. This issue has now been fixed.
  • Fixed an issue when displaying services in the rates screen When services from different datasets were linked to the same service category, all services in that category would show up in the rates screen, regardless of the dataset/report they belong to. This has now been resolved to honour the dataset a service belong to.

v3.6.1

February 21, 2022

Bug fixes

  • Fixes issue with incorrect status for workflow runs When a workflow run was interrupted during execution, the status of the run could not be read by the API.

v3.6.0

February 16, 2022

New features

  • Rate tiers The charge engine and reports now support tiered rates (beta feature)
  • Improved API documentation The API documentation has been overhaled, with more information and new examples added. Hopefully this will make using the API easier for users.
  • Signed backend components Backend executables are now code signed to avoid false-positive hits from A/V scanners.
  • SAML Token added to garbage collector For SAML users, a new SAML Token table has been added to the system. To make sure this doesn't grow to large over time, removing expired tokens has been added to the garbage collector.
  • Add key selector to resources at rate screen At the rate screen, added the possibility to select key as label and filter for services and accounts.
  • Added Extractor support for uppercase and lowercase of values\ Following is now possible in order to change casing of values in an Extractor: uppercase var_name | {buffer_name}lowercase var_name | {buffer_name}
  • Adding "last day" as possible charge model to services It is now possible to have a service charged on the last day of a month. The "last day" charge_model has been added to services to allow this.\ Please not that this applies to monthly services only.
  • Improve service validation on charge_model attribute The charge_model validation has been improved. Now the interval will be validated with the charge model.

Bug fixes

  • Fixed an issue which could cause workflows with a "Publish Report" or "Evaluate Budget" step to fail
  • Fixed incorrect payload sent to the IdP server when logging out using the SAML2 SLO endpoint The payload sent to the IdP server did not contain the correct NameID data needed to link the session to the user logging out. This was causing the logout process to fail in some situations.
  • Reset password redirect Resolved issue where a user could be redirected away from the reset password page.
  • Long JSON parslets are no longer truncated at a short length than they should be When expanding a JSON parslet, the maximum length of the resulting data is truncated at a shorter length the maximum allowable length of 8095 characters. This has now been fixed such that up to 8095 characters can be retrieved by a parslet.
  • Negative uplifts and adjustments for instances Fixed an issue where negative uplifts/adjustments were not visible under the instances report of summary.
  • Resolved an issue where an optional webhook notification input field was treated as required.
  • Recurring subscriptions end date bug When creating a recurring subscription, an error was shown if no end date was supplied. Recurring subscriptions should not require an end date. This has now been fixed.
  • Update resources relationship missing data exception When updating a resource's relationship with missing data attributes, an exception was thrown. This shouldn't be required. Now this will now only happen if the data is null.
  • Fixed an issue when using the word 'subroutine' in a 'print' statement Previously, a 'print' statement that had the word 'subroutine' as one of its arguments would cause the script to fail to execute. This has now been fixed.
  • Improve validation by enforcing maximum adjustment numbers For a given Account and given Service, no more than 16 Adjustments policies are allowed to be active at the same time. Validation has now been added for this.
  • Fixed an installer issue when using remote RabbitMQ server Previously the interactive installer would write an invalid/incomplete config.json when providing a remote RabbitMQ server. This has now been resolved.

v3.5.7

December 01, 2021

Bug fixes

  • Fixed an issue when installing RabbitMQ locally When using the interactive installer and installing RabbitMQ locally, the installer would store invalid values for the RabbitMQ configuration. This has now been resolved.
  • Fixed an issue when system returns from hibernation If a Windows system that is running the "Exivity Backend Service" would return from hibernation mode, the service (merlin.exe) would not recover and remain in a broken state. This has been resolved.
  • Fixed an issue with the Transformer editor Resolved a corner case whereby the editor could break when using Transformer editor code snippets.

v3.5.6

November 22, 2021

Bug fixes

  • Adjustment type Fixed an issue where the type of adjustment was always shown as premium.

v3.5.5

November 19, 2021

New features

  • The name of the EXIVITY_AGGR_COUNT column created by the 'aggregate' statement is now configurable

    The 'aggregate' statement now supports an optional parameter (called 'counter_column') which allows you to specify the name of the column into which the aggregation counters will be written. Please refer to the 'aggregate' documentation for more details.

  • Transformer scripts will now log a warning if no RDF files were updated or created

    When running a Transformer script that does not create or update an RDF file using the 'finish' statement, a warning will be written to the log to that effect.

  • The 'terminate' statement in a Transformer will now accept 'with error' as optional parameters

    The statement 'terminate with error' is now supported by Transformer scripts and will cause the processing of the current day to abruptly end. A message will be written to the logfile to the effect that the error was explicitly requested and the task will terminate. If the 'continue' option is enabled, processing will resume on the next day in the range (if a range was specified) else the workflow will exit.

Bug fixes

  • Fixed an issue when executing quoted scripts from a workflow

    When a script (i.e. Powershell) was quoted in a workflow step, the workflow would not execute the script. This has now been resolved.

  • Fixed an installer issue

    When installing RabbitMQ into a program path that contains spaces, RabbitMQ could fail to install the service. This has now been resolved.

  • Increased the number of API handlers

    This release now runs 18 concurrent API processes running on a node with the API service installed to allow a higher number of parallel requests to the REST API.

  • Fixed an issue with report level labels

    Fixed an issue where report labels weren't updated.

  • Fixed an issue with the Adjustments

    Resolved an issue where details in some cases weren't reflected in the form of the Adjustments screen.

  • Fixed issue with archiving old log files

    In some cases, collecting old log files resulted in archiving some files that were already archived before.

  • Fixed issue with updating an extractor

    When an extractor was updated with NULL arguments, the request was incorrectly considered invalid.

  • Fixed an issue when creating budgets

    Resolved an issue where there was unexpected behavior when creating a multi-level budget in the GUI

  • DEBUG level logs no longer contain the value of parameters provided to subroutines

    The values of parameters passed to subroutines are no longer included in DEBUG level logfiles as such values could potentially contain sensitive data

  • Fixed an issue when viewing proximity log

    Solved an issue where certain log types caused the log screen to fail.

  • Fixes issue with some users not being able to change password

    Some users with view_report permissions only were not able to change their password. This issue has now been fixed.

  • Log message could contain metadata

    Logs entries can contain 'context' to help debugging. This is usually one JSON string. Some log entries could contain multiple contents, which was unexpected. Now if this occurs, these contexts are merged into one JSON string.

  • Fixed an issue when clicking arrow list

    Solved issue where a list could disappear when clicking the arrow in a dropdown list in the GUI

  • Fixed an issue with the report level filter

    Resolved an issue where a default report level wasn't selected when selecting a new report in the GUI

  • Clarified the log entry written if an extractor script has an unmatched double quote on the last line

    In cases where the last line of an extractor script has an unmatched double-quote, and that last line is also not terminated with a carriage return, then an internal error would be generated. The result is correct (the script will not execute) but the error has now been changed to clearly indicate the exact nature of the problem.

  • Fixed an issue related to sorting of datasets

    Resolved an issue with the date sort of datasets in the GUI

v3.5.4

September 15, 2021

caution

Release Candidate - available to selected users only

New features

  • Added more information to audit logs when deleting services The audit log now contains the service key when a service is deleted. Previously it recorded the event,\ but did not include specific information about the service itself.

  • Added Filtering on workflow-step type The feature allows users to filter workflow steps by type.

  • The installer has now valid code signing applied

    As of this version, the Exivity installer will be signed using the Exivity code signing certificate in order to increase the security of the distributed installer package.

Bug fixes

  • Increased the number of API handlers This release now runs 18 concurrent API processes running on a node with the API service installed to allow a higher number of parallel requests to the REST API.
  • Fixed an issue with overwriting a Lookup table Solved an issue where saving a lookup could lead to unexpected behavior
  • Fixed an issue with user notification subscriptions Solved an issue where it was not possible to save a notification as a user
  • Fixed an issue when exporting the Consolidated Summary report Solved an issue where the consolidated export was only exporting the first account
  • Fixed a security issue related to User Access Control Solved an issue where the cache was not properly cleared and as such, the user could view invalidated data.
  • Fixed an issue with sorting service names in the summary report Services in the summary were sorted on ServiceName instead of Service Description. This has now been resolved.
  • Fixed an issue where a certain type of invalid XML parslet would cause an extractor crash\ In rare cases, using an XML parslet to extract an attribute value could cause a crash. This has now been fixed.
  • Fixed missing budget filter "service" bug When a user selected the "service" filter in a budget, this data was not stored correctly. This fixes this issue.
  • Fixed an issue with auto-completion There was an issue where auto-completion of example blocks in the Extractor/Transformer editor would not support "tabbing-through" function parameters. This has now been resolved. Additionally, an issue was fixed where the "rename" function would autocomplete wrongly to "convert".
  • Fixes issue with links generated from singular form of the resource type Links for relationships inside responses were generated using the singular form of the resource.
  • Fixes issue with incorrect links generated inside responses When a response contained a "link" attribute, it was incorrectly generated.
  • Better handling of hash and whitespace characters in quoted strings within extractor scripts\ Previously, a hash symbol at the start of a word in a quoted string literal would be treated as the start of a comment, causing the string to be truncated and an "Unmatched quote" error generated. Additionally, quoted strings containing multiple consecutive whitespace characters would be modified during execution such that they were replaced with a single space. These issues have both been fixed.

v3.5.3

August 27, 2021

caution

Release Candidate - available to selected users only

Bug fixes

  • Fixed an issue with the ordering of headings in the Transformer Preview ****There was an issue where the Transformer Preview would sort the headings in reversed order. This has now been resolved.
  • Fixed an issue when creating a Transformer from a template ****When creating a transformer from a template, after creation the GUI would show a "leave the page" popup. This has been resolved.
  • Fixed an issue when creating an Extractor from a template When creating an Extractor from a template, after creation the screen would not switch to the Variables tab. This has now been resolved.
  • Resolved issue where the user couldn't set alt_interval The user couldn't save a subscription that used alternative intervals because of invalid values. This is now solved.

v3.5.1

August 18, 2021

caution

Release Candidate - available to selected users only

Bug fixes

  • Fixed an installer error for the workflow migration script PHP environment errors could show up in the installer log during the execution of the workflow migration script. This has been resolved
  • Added cleanup steps to uninstaller to remove PSQL and RabbitMQ traces
  • Hidden scrollbar preview Resolved issue where the scrollbar wasn't visible in a Transcript Preview.
  • Fixed an issue with environments and global variables in Transformer scripts Attempting to use different environments, and the global variables within them, in a transformer script may have caused an error and the script to fail. This has now been fixed.
  • Workflow status Resolved an issue where the GUI could crash because of an invalid status state

v3.5.0

July 26, 2021

caution

Release Candidate - available to selected users only

New features

  • Implemented account lockout strategy User accounts will now get locked out for 15 minutes after 5 consecutive failed login attempts.
  • Account names are now set by the latest date seen Previously, when preparing reports account names were set based on the last data to be processed, even if that data was older than that used to originally set the account name. Now, when accounts are being synchronised during the report preparation process, names will only be updated if the data being processed is newer than that which was used to last set or update the name.
  • Increased calculation precision in Transformer scripts The precision of calculations in Transformer scripts has been increased to 14 decimal places.
  • Added new log files to the log rotation policy Log files generated by the Notification component and by the new Scheduler component are included in the log rotation policy.
  • Added the option to run a workflow for a date range When running a workflow manually, you can now choose to run it for a date range, not only for a single date. When running against a date range the steps are executed individually for each day in that range.
  • Redesign of the Data Pipelines > Workflows screen Complete overhaul of the Workflows page, improving the configuration user experience for individual steps and making it easier to review associated step logs.
  • Added a cascading DELETE parameter to the API API now supports a new cascade: boolean query parameter. This parameter, if true, will allow the severing of non-nullable relationships and will remove the related record afterwards. This new parameter specifically applies to the workflowstep and workflowschedule endpoints.
  • Data aware report filters Report filters only show entities available in the selected reporting date range
  • Highly available scheduler The scheduler has been rewritten to support the new message bus architecture and has the ability to run on multiple nodes at the same time.
  • Creating a new report now requires the "all accounts" permission Only users that have access to all accounts will be able to create new reports. This avoids situations where a user could previously create a new report that was not visible after creation.
  • API support for changing user login method It is now possible to change an existing users authentication method to local, LDAP or SAML2. Currently this is only supported by invoking the the REST API.
  • Changed behaviour of logout when Single Sign-On is configured Exivity now allows the logout endpoint (SLO endpoint) to remain unconfigured, in which case the user will be logged out only from the application, not from the entire Single Sign-On environment.
  • Budget notification
  • Summary report notification Users can now choose to receive a pre-defined report in either CSV or PDF format through a notification
  • File available notification
  • Admin managed notifications Admin users and users with the manage_users permissions now have the ability to add notification channels and subscriptions to other users. This allows admin users to grant users subscriptions to notification types they would otherwise not have.
  • Minimum commitment and Adjustments included in cost summary subtotals Details of minimum commitments and adjustments are now included in the cost summary subtotals for service categories.
  • Webhook notification channel Allow webhooks as notification channel, forwarding the original event as JSON payload to a custom webhook URL
  • Implement internal communications between components using RabbitMQ message broker This allows for improved multi-node setups

Bug fixes

  • Fixed an issue with manually created accounts When creating accounts manually in the GUI, on occasion an account could be created which did not fit correctly into the account hierarchy. This has now been fixed.
  • Fixed and issue with updating account names When preparing a report, it could be that some account names were not updated when they should have been. This has now been fixed.
  • Fixed saving service resources including 'budgetitems' relationship When saving a service resource including the budgetitems relationship, an error was returned. This has been fixed and the relationship between service and budgetitems works both ways.
  • Fixed an issue with some combinations of HTTP methods in extractors In extractor scripts, making an HTTP DELETE request could cause subsequent HTTP calls to continue to use the DELETE method even if another method was specified. This has now been fixed.
  • Added the 'notificationsubscription' relationship for a user entity When requesting a user entity, the notificationsubscription relationship can now be included in the response.
  • Audit screen freeze Fixed an issue where the audit screen could become unresponsive
  • Fix Publish Report notification The clear option for the account field now works.
  • Fix state update adjustments Fixed an issue where a field wouldn't be updated when commuting to the next resource.
  • Subscription inherited rates Fixed some incorrect behavior with rate inheritance on the subscription management screen
  • Removed the limit of CSV files that could be open at once in extractor scripts Previously, a maximum of 16 CSV files could be open for writing in extractor scripts. This limit has now been removed and any number of CSV files can be open simultaneously
  • Fix decimal inputs Fixed an issue where an input would not accept a decimal value with leading zero.
  • Lookup file Fixed an issue where switching between lookup files wouldnt cause the screen to be updated
  • Show manually created service Solved an issue where manually created services where not visible before a browser refresh
  • Disclaimer modal Fixed an issue where the disclaimer had to be dismissed twice
  • Fixed an issue with compound MSSQL statements in extractors where the first statement is not a SELECT Usually, SQL statements executed in an extractor script are based around some form of SELECT. However in some cases more complex compound statements are required. Previously, a statement using a temporary table in MS SQL server, such as ... CREATE TABLE #jos(Name char(20)) INSERT INTO #jos (teller) VALUES ('2') SELECT * FROM #jos; ... would not return any results, as the INSERT statement returns an empty result set. Extractors now ignore empty result sets in such statements and return the first result set that is not empty (assuming there is any data returned by the query at all).
  • Fixed an issue with transformer scripts when importing data with non-escaped quotes Importing data with non-escaped quotes could sometimes cause Transformer scripts to fail. This has now been fixed.
  • Fixed types for returned attributes When accessing various endpoints, id attributes were returned as integers instead of strings. This was fixed to comply with JSON:API specifications.
  • Fixed incorrect display of date fields in slack notifications When a slack notification was sent, the date of the notification was wrongly set to sometime in the future
  • Fixed incorrect display of extra HTML tags in emails When emails are sent, some HTML tags were shown as text in the email body
  • Fixed an issue with encoding of double quotes when exporting account data as CSV
  • Fixed long delay when displaying a large number of budgets when including reports
  • Fixed an issue with displaying workflow start date in dashboard Previously the start date of a workflow was displayed incorrectly in the Workflow dashboard widget
  • Fixed an issue with creating adjustments There was a problem where the GUI did not allow the creating of adjustments that had a non-integar amount. This has now been fixed.
  • Fixed a divide-by-zero error on reports In corner cases where the final chargeable quantity for all line-items on a report is 0, a divide-by-zero error would occur. This has now been fixed.
  • Fixed the description of the 'Budget' permission This permission only provides access to the Budget report. In the previous version, the description of this group permission contained false information.
  • Fixed an issue when configuring a Budget for a leaf node If a leaf node in the budget structure has the distribution set to even or account, the Budget engine generated a false warning that an amount for the node is left undistributed. This has now been resolved.

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 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' 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.

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

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

v3.3.0

November 02, 2020

caution

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.

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

    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

    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 (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

    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

    Resolved an issue where a user could get a premature validation error for certain input fields.

  • Fixed an issue with the budget report

    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

caution

Fixed charges no longer available As of version 3.1.0, we're removing fixed charges (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 [email protected] so we can provide you with alternative solutions.

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 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 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 definition first, then attach the definition to a dataset in Data pipelines > Datasets. 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 and calculate 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.

· 9 min read
note

Please ensure to read and understand all subjects that are mentioned here. Implement the suggested changes (where applicable) before upgrading to version 3 to avoid unexpected behavior.

danger

Upgrading to a v3.x.x will require upgrading to version v2.10.x first. The installer will verify this and displays a warning when this requirement is not satisfied.

PostgreSQL

The biggest single change is the use of a new database engine powering all application states, audit logs and processed report data. Upgrading to this new database engine is transparent and the installer will take care of installing the database server as part of the regular installation process. After or during the upgrade, it is possible to leverage an external database server.

Windows Services

In version 2.x.x there were only two Exivity Services installed:

Windows Services with Exivity version 2.x.x

With Exivity version 3.0.0 up to version 3.4.3, assuming all components are installed on a single host system, there was a total of 4 different services:

Windows Services with Exivity version 3.0.0 and =< 3.4.3

As of version 3.5.0, the following Exivity services are to be considered when all components are deployed on a single host, there will be 7 different services:

Windows Services with Exivity version 3.5.0 and higher

In case you were using a service account in Exivity version 2.x.x for the Exivity Scheduling Service and the Exivity Web Service, you will have to reconfigure this service account for both services, as well as the Exivity API Service. In most cases, the Exivity Database Service may continue to run un the Local System account.

caution

In case your current Exivity version 2.x.x installation runs inside an Active/Passive Windows Cluster, you will need to re-register the Cluster Roles for the Exivity Scheduling Service. Additionally, a new Cluster Role should be created for the Exivity Database Service, in case you decide to not use an external database host.

Default TCP ports

In v2.x.x, the default port for the Exivity GUI was 8001 and 8002 for the Proximity API. Both services were already available through port 443 (the default port used for HTTPS traffic, which means clients don't have to explicitly specify the port) and in v3.x.x this will be used by default:

Default using port 443 for both UI and API

This is achieved by shipping a web proxy configuration for Nginx, which routes all requests starting with /v1/ to port 8002 and all other requests to port 8001. The recommended configuration is to not expose port 8001 to the public and only accept incoming traffic on port 443. Port 8002 may still be opened to external hosts, typically in a configuration where the Web and API/Backend components are deployed as separate hosts. In such a scenario it is advisable to allow communication from the Web node towards the API/Backend node on port 8002.

Default Security Settings

As of Exivity version 3, more strict security settings are applied by default. These can be found under Administration > Settings. One important item which should be considered when upgrading a multi-node environment is the use of CORS. It is required to list all possible front end UI nodes in the CORS origins field:

Administering security settings

Multiple hosts including https:// may be added while separating each URL using a , (comma) symbol. Wildcards may also be used as part of the hostname to match multiple URLs in one go such as: https://*.cors.exivity.io. An overview of all current security policies can be found here.

Transformer changes

@FILE_EXISTS and @FILE_EMPTY

The @FILE_EXISTS and @FILE_EMPTY functions in Transcript have been modified in a manner that may require changes to scripts that use them.

Previously, it would only check for files in the system and exported folders within the Exivity home directory, and if a specified path + filename did not start with system/ or exported/ then these would be prepended automatically before the check was done.

This behaviour has been changed in the following ways in v3.x.x:

  • Any path + filename within the Exivity home directory can now be checked
  • path + filenames are now accepted and treated as being relative to the Exivity home directory
  • The folders system/ and exported/ are no longer automatically prepended

Consider a file somefile.csv in the %EXIVITY_HOME_PATH%/exported folder. Previously with version 2.x.x a user could check for the existence of this file using the following example:

v2: FILE_EXISTS statement auto-prepends exported / system

In version 3 it is required to include the entire path relative to the %EXIVITY_HOME_PATH% :

v3: Path must be relative to %EXIVITY_HOME_PATH%

caution

This change may require modifications to existing Transformer scripts. This is because the system and exported will no longer be automatically prepended.

Extractor changes

HTTP server certificate validation

The default behaviour of the HTTP subsystem in USE was changed to fully validate server SSL certificates, which may cause some USE scripts to fail. This typically applies to data Extractors, which are connecting to on-premises data sources that use self-signed SSL certificates. In version 2.x.x, the default behavior was to ignore these certificate errors. You can identify these errors in your Extractor logs:

Identifying Certificate Errors in the Extractor logs

It is highly recommended to use valid SSL certificates, properly signed by a trusted CA (Certificate Authority). However, it is still possible to switch certificate validation off by specifying set http_secure no in an Extractor script before executing an HTTP request.

caution

The above will apply to all of your Data Extractors where you are connecting to (most likely internal) data sources which are using self-signed certificates. Make sure to apply this change before upgrading to v3 to avoid any data extraction errors.

Extractor & Transformer Schedules

In version 2.x.x it was still possible to schedule an Extractor or Transformer from the editor screen. This feature is removed from version 3.x.x. In case you still have schedules that are configured through this interface, you should Unschedule these and create an appropriate Workflow **** instead.

Example v2.x.x Schedule which will be removed in version 3.x.x

GUI changes

There are some minor changes in the GUI that are not backwards-compatible:

  • We removed the Excel export options from the reports. They were using the CSV format under the hood (i.e. they never actually produced valid Excel worksheets). In the future, we plan to implement proper Excel export formats for the reports, including a full summary report Excel export.
  • Removed functionality that would take a custom API port from the #port=xxx location hash parameter on the login screen. Specifying a custom API port (and hostname) is still possible by setting up a config.json file on your system.

Changes to data processing for reports

Due to changes to the processing of reports, when making changes to either services, rates or adjustments, associated reports should be prepared. In v2.x.x this was already required when making changes to services or rates. Since v3.x.x this will be also required when making changes to adjustments. We've planned further improvements to make this more transparent (i.e. handling the preparation of reports automatically in the background).

API changes

Normalised date/time data in responses

Some endpoints were returning dates and timestamps in different formats. This has been normalised in such a way that all responses use the same serialization for dates and timestamps:

  • A date is always represented as ISO-8601 string: "yyyy-mm-dd", e.g. "2020-01-29"
  • A date/time is always represented as ISO-8601 string in UTC: "yyyy-mm-ddThh:mm:ssZ", e.g. "2020-01-29T11:26:52Z". Note that the Z suffix denotes the UTC time standard.

This affects the responses (attributes) for the following group of API endpoints:

  • /v1/audit
    • created_at
  • /v1/budgetrevisions
    • effective_from
  • /v1/dsets
    • earliest_rdf
    • latest_rdf
    • rdf_detail.created
    • rdf_detail.updated
  • /v1/extractors
    • last_modified
  • /v1/log
    • created
    • lines.date
  • /v1/reports
    • data_status.first_date
    • data_status.last_date
    • data_status.status.date
  • /v1/services
    • created_at
    • updated_at
  • /v1/transformers
    • last_modified
  • /v1/workflows
    • created_at
    • updated_at
  • /v1/workflowschedules
    • start_time
    • next_run

Changed functionality

/v1/reports/{id}/run endpoint

  • The JSON format in the response is simplified. See examples below.

This is an example response from v2.x.x:

{
"report": [
{
"meta": {
// ...
},
"error": false,
"data": [
{
// ...
}
]
}
]
}

This is an example response from v3.x.x:

{
"report": [
{
// ...
}
]
}

Remove deprecated functionality

/v1/usergroups endpoint

Removed deprecated permission aliases.

  • upload_files (use manage_files instead)
  • manage_configuration (use manage_settings instead)
  • manage_system (use manage_settings instead)

/v1/reports/{id}/run endpoint

Functionality deprecated in v2.x.x has been removed. If you were relying on any of the following functionality, please use the suggested replacement instead:

  • The pdf/invoice option for the format query parameter has been removed. Please use pdf/summary instead.
  • The invoice_options query parameter has been removed in favour of summary_options.

/v1/configuration endpoint

  • Configuration keys prefixed with INVOICE_ are replaced by respective keys prefixed with SUMMARY_.

/v1/workflowsteplogs endpoint

Also relevant to other endpoints including workflowsteplogs .

  • Removed the last_log attribute. Include the last log by specifying the query parameters include=steplogs&related[steplogs][limit]=1&related[steplogs][sort]=-start_ts.
  • Removed the timestamp attribute. Use start_timestamp instead.
  • Removed the message attribute. Use a combination of status and output instead.

/v1/file endpoint

Only applicable to POST requests to this endpoint.

  • The filename in the response from this endpoint will no longer include the import/ prefix to better align for other requests in this endpoint. See the example below:
{
- "filename": "/import/generic/2020/01/31_uploaded_001.txt"
+ "filename": "/generic/2020/01/31_uploaded_001.txt"
}

/v1/usergroups endpoint

The following permissions have been removed in favour of their new counterparts:

  • UPLOAD_FILES has become MANAGE_FILES
  • MANAGE_CONFIGURATION has become MANAGE_SETTINGS
  • MANAGE_SYSTEM has become MANAGE_SETTINGS

· 4 min read

This page lists known issues with the latest version of Exivity. All isues that are resolved and released are mentioned under the Releases section.

Stacking of Quantity and Charge Adjustments Policies can cause negative charges

Affected versions

All versions of Exivity

Description

When creating two Absolute Discount Adjustment Policies, where both Policies apply to the same Account, Service and date Period, there is a chance of generating negative charges for the services where both Adjustment Policies apply to as can be seen in the following screenshot:

Workaround

The current workaround is to avoid stacking multiple Absolute Adjustments for each unique Account + Service combination. Instead, try to combine them within a single Adjustment Policy

Status

This issue is currently being resolved (internal reference: EXVT-<TBD>) and will be included with the release after version 3.5.7.

Installing or Upgrading to version 3.5.6 populates invalid RabbitMQ settings

Affected versions

Exivity versions 3.5.0 till 3.5.6

Description

When installing or upgrading to version 3.5.0 - 3.5.6, when installing RabbitMQ on the local system, the initial configuration values are incorrectly populated:

Workaround

To work around this issue, you may uncheck the checkbox Install Local RabbitMQ Engine and then check the same checkbox again. The values will now be correctly populated.

In case you have already executed the upgrade progress and your system is broken, you will need to change the config.json to align the mq settings:

"mq": {
"servers": [
{
"host": "localhost",
"port": 5672,
"secure": false
}
],
"user": "guest",
"password": "guest",
"vhost": "/",
"nodeID": "TR2021",
"redialPeriod": 5
}

Status

This issue is currently being resolved (internal reference: EXVT-5042) and will be included with the 3.5.7 release.

Discount Adjustments are created as Premium

Affected versions

Exivity versions 3.5.0 till 3.5.5

Description

When a new Adjusmtent Discount policy is created, it will be created as a Premium policy instead. To confirm this behavior, when refreshing the screen they will show up as Premium:

Workaround

In order to create a discount policy in version 3.5.5, use the API interface to create one.

Status

This issue is resolved with the 3.5.6 release.

Installer upgrade generates an error: Error opening file for writing

Affected versions

Exivity versions 3.5.0 and higher

Description

When running the installer, an error could popup where the installer is unable to update certain files such as the erlsrv.exe executable:

Resolution

This issue occurs when Windows or a 3rd party application locks this file. This can happen with certain monitoring and anti-virus software. In the example given above, the solution would be temproraly stopping the Windows Event Log service, as shown in the screenshot below:

After stopping the service, click the Retry button in the installer.

Relative quantity discounts can cause negative charges with prorated monthly services

Affected versions

All version of Exivity

Description

When configuring a prorated monthly service, and then applying a relative quantity discount (adjustment), in certain cases the total charge can be less than 0 resulting in a credit. Although this might be an unusual configuration and might not always happen, it is important to be aware of this behavior.

Status

This issue is pending. (internal reference: EXVT-1337)

Exivity Backend Service does not start / access to merlin.exe has been denied

Affected versions

Exivity version 3.5.0 and higher

Description

Some Anti-Virus software vendors (specifically: McAfee and APEX) incorrectly flag the Exivity binary merlin.exe as a backdoor/trojan horse. As a result, the Exivity Backend Service might not be able to start as shown in the example below:

Backend Service might not be able tostart

The Windows event viewer may display the following error (depending on your A/V vendor):

A/V software may deny access to merlin.exe

Resolution

Response by certain A/V vendors:

[merlin.exe] is detected by [a coupe of] AV's as a BackDoor as it's functionality is very similar and malware authors can use this to their own advantage to compromise systems and gather sensitive system information.

We also understand that [merlin.exe] can be used for legitimate purposes and therefore we will change the classification of the sample submitted to PUP. This way will be able to exclude detection through our scanner configuration but at the same time we are still protecting our customers who may be not be aware of this software running on their systems.

Hence if you want to allow this application in your environment kindly exclude it by detection name.


· One min read

Welcome to the Documentation Blog. Here you will find information about:

  • our latest releases;
  • security announcements;
  • the archive