Skip to main content

Release Notes

Check here for details of our releases (both historic and upcoming)

Upcoming Release in December 2022

Smart Data on Types

We add the ability to define smart timeseries and curves on a type. All objects that directly implement the type will have those smart data objects dynamically added.

Release History

October 2022
#### User Tasks User tasks are manual tasks assigned to users either by other users or by processes such as data quality. Tasks can be: * Emailed * Pushed to JIRA

More Statistics Functions

We will be adding for statistical functions for Timeseries and Curves.

October 2022

More Statistics Functions

We have added a few more functions that can be used in your ODSL scripts:

  • csum - Cumulative Sum
  • cmax - Cumulative Maximum
  • cmin - Cumulative Minimum
  • cave - Cumulative Average

Calendar improvements

Improvements to the Intraday calendars:

  • Add timezone
  • Add a flag to indicate that it is an intraday calendar

Bulk updates and deletes

Add support for performing bulk updates and deletes

September 2022

Added community version

Added FREE community version of the ODSL VSCode editor.

Quality Checks on Objects

Added support for defining constraints (checks) on an object type, and also defaults for null values

Aggregation Framework in the ODSL Language

Added language support for defining aggregations and aggregation stages.

August 2022

Custom MongoDB Collections

We have added support for clients to connect to your own MongoDB clusters and use the tools directly on the collections holding your own data.

July 2022

Data Packages

Data packages are pre-defined processes that users can deploy to their own environment to load data from providers into their private database. These data providers do not provide data that we can freely distribute, therefore the client has to load the data into their own private environment.


Events are a thing that has happened at a point in time, similar to an observation in a TimeSeries only with a lot more information. Example events are:

  • An order placed with a broker, exchange etc.
  • A trade made with a broker, exchange etc.
  • A planned or unplanned outage (REMIT Urgent Market Message)
June 2022

Curve Change Values

Added a 'change' value to show the absolute change of all tenors in a curve from the previous built curve

Region support in ODSL code

Allow users to create regions in ODSL code to break a script up into smaller sections. These regions can be folded and run/debugged independently

May 2022

Date Rule Grammar

Added support for using dynamic dates such as T-1W (go back 1 week)

Support for unit conversion custom factors

You can now add properties on TimeSeries or Curves to provide absolute conversion factors to a specified unit

April 2022

Smart Curve Caching Improvements

Added support for caching options, you can now choose from:

  • Never cache
  • Cache on demand
  • Cache when any dependencies are updated
  • Cache based on a cron schedule
March 2022

Curve Calendar Enhancements

Various minor improvements

  • Use of holiday calendars for absolute movement of expiry calendars
  • Add support for timezone offsets when using hourly period codes

Add support for TOP in FIND command

Allows you to return a small sample of items when using the find command in ODSL

February 2022

Smart TimeSeries

The exciting introduction of Smart TimeSeries allowing you to create on-demand TimeSeries using a formula/expression.

Portal Smart Curves and TimeSeries

A new Smart Data section in the portal to 'play around' with Smart Curves and TimeSeries and save them to the Database.

Excel Add-in

Initial release of the Excel Add-in which will allow you to:

Gas Days

A new calendar supporting Gas Day hourly data aggregation and reporting.

January 2022

Smart Curves

The exciting introduction of Smart Curves allowing you to create on-demand curves without using a Curve Builder.

Custom Period Codes

Support for custom, one-off and special period codes for use on contracts on Curves. See documentation

December 2021

Command Line Interface

Initial release of the CLI which will allow you to run scripts locally and initiate interactive sessions

November 2021

New account management option in the Portal

This is the place to go to manage your OpenDataDSL account:

  • Edit your personal details and upload an image
  • Edit your company details and configuration settings
  • Accounting information such as cost analysis, invoices and payments
  • Support - raise a support ticket, data or enhancement request

TimeSeries Scaling

Added support for rescaling TimeSeries for both aggregation to a lower frequency and distribution to a higher frequency. See the documentation here

October 2021

Improvement to calendar holiday rules

Added support for options on the following rule types:

New pause command

Add added a new command pause allowing you to pause execution of a script.


pause number ('second'|'seconds'|'minute'|'minutes'|'hour'|'hours')
September 2021

Added support for using XSLTs in the XML Service

You can now use an XSLT transformer when reading XML data, e.g.

xdata = ${xml:xml,"xslt="+xslt}

Added new email target for queues

You can now emails using a subscription - see here for more information

A few minor enhancements

  • Added daylightSavings function to test if the passed in date is a DST changeover day
August 2021

Getting ready for the soft launch!

We are putting the finishing touches on the Web Portal that will allow us to start welcoming prospective clients to start using it. Designing the screens that will get you started

July 2021

Added support for real-time events

We completed the first stage of the real-time API allowing for a more responsive experience in the GUI and the more collaboration opportunities in other applications

June 2021

Curve configurations in the web portal

We have added the capability of creating and editing curve configurations in the web portal:

Added unit REST API

Added support for getting a list of units of measure symbols and details

ODSL grammar updates

Added support for manually triggering configured subscriptions

trigger subscriptionname for date

Added logout command to log your user account out and clear the user cache


Added support for referencing tenors in a curve

tenor = curve["M01"]

Improvements to CRON configuration for processes

We have added support for the following special characters in cron expressions for processes:

  • '-' for a range of values in all fields

    • 22 13-15 ? * MON-FRI *
  • '/' for increments in the MINUTE, HOUR, DOM and MONTH fields

    • 0/15 13 ? * FRI-SUN *
    • 0 0/4 ? * FRI-SUN *
    • 0 0 1/5 * FRI-SUN *
    • 0 0 5 1/3 FRI-SUN *
  • 'W' for nearest weekday - this will fire on a Friday if the DOM falls on a Saturday or a Monday if the DOM falls on a Sunday

    • 0 0 15W 1 ? *
  • '#' for week of month as DOW#week number

    • 0 0 ? 1 6#3 *
    • 0 0 ? 1 6#1,6#3 *
  • 'L' for last DOM or DOW

    • 0 0 L 1 ? *
    • 0 0 * 1 L *
May 2021

REST API improvements

We added a _search query parameter to allow for text searching of objects. Simply pass in a search expression to get results based on values in the fields: _id, name, description and classification.

Base Object Type

We defined a base object type that all types derive from which contain the following fields:

  • name
  • description
  • classification
  • geolocation

Objects and Data in the web portal

Charts in the web portal

Links allow you to view related data and information

April 2021

Curve Building Support

We added support for creating your own forward curves using logic created in OpenDataDSL scripts. You can create an object of type #CurveConfig with 1 or more inputs and 1 or more outputs and save to the new CURVE service, example configuration:

MY_CURVE = object as #CurveConfig
name = "My Curve"
expiryCalendar = "REOMHENG"
buildScript = "simplecurve"
inputs\[0\] = object as #CurveConfigInput
key = "PRIMARY"
required = true
outputs\[0\] = object as #CurveConfigOutput
name = "CURVE"
code = "multiplyByFactor(PRIMARY, factor)"
factor = 1.5
currency = "EUR"
units = "MWH"
expiryCalendar = "REOMHENG"
save ${curve:MY_CURVE}
March 2021

Data aggregation support

Added the ability to filter, group and aggregate any data using ODSL and the REST services, e.g.

summary = aggregate ${exec}
match service="ETL"
group _id="$status", qty=count()
sort qty desc

Add range support for time-series

Add _range query option to specify a date range for time-series retrieval. Add 3 methods:

  • last(n) - last n observations
  • from(d) - from date d to the latest
  • between(d1, d2) - between 2 dates, d1 and d2
February 2021

Object and data storage

Improvements to the way objects and data is stored to allow greater query flexibility. Users can now query across all types of objects.

Custom save and delete reasons

Added the ability to define a ‘reason’ on all save and delete methods. This reason is placed in the audit log and the saved object (if versioned)

Search object properties and return data

Added the ability to query object properties, but return data entities using the profile command, e.g.

// Fetch all data for all ECB_FX currencies data = find profile SPOT from ${currency:public} where source == "ECB_FX"

Process Executions in the web portal

Added the ability to view process executions in the web portal:

January 2021


Add ability for users to create custom database indexes to improve query performance.


Add ability for users to create and manage their own queues. Each queue can either be consumed by the loader process or can be left open to be consumed on-premises - see more here


Geospatial queries

Add ability to add geometric shapes as a data property on objects and support geospatial queries on data, such as finding all objects within a radius of a point or within a polygon - see more here


Add consistent versioning of data in the following services:

  • Types
  • Objects - definable by object type
  • Transformers
  • Extractors
  • Calendars
  • Actions
  • Workflows
  • Scripts
  • Processes


Add audit records for all create, update and delete actions on all services

Queue Management

Allow users to add new queues and configure automatic data loading into proprietary ODSL database

Maths Functions

  • Simple regression
  • Basic descriptive statistics (min, max, mean etc)