Release Notes Archive
This topic contains older release notes only. The most recent release notes are here.
Year | Version |
---|---|
2021 | |
2020 | 3.4.0, 3.3.3, 3.3.2, 3.3.1, 3.3.0, 3.2.2, 3.2.1, 3.2.0, 3.1.4, 3.1.3, 3.1.2, 3.1.1, 3.1.0, 3.0.4, 3.0.3 |
2019 | 3.0.2, 3.0.1, 3.0.0, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.1, 2.2.0, 2.1.0 |
2018 | 2.0.0, 1.8.0, 1.7.0, 1.6.0, 1.5.0, 1.4.0, 1.3.0, 1.2.0, 1.1.0, 1.0.0 |
Version 3.7.1
16 November 2021
Fixed issue
This release fixes the Active Directory authentication for customer-hosted deployments.
Version 3.7.0
7 November 2021
New features in Studio Runner
Studio Runner now has the option to export your generated narrative to a Microsoft Word document. You can export to a new document or use an existing document or template with a bookmark that defines where to insert the narrative. We have released this as a beta feature, and we welcome feedback. See Studio Runner > Exporting to Word.
We have added a Copy to Clipboard button to the Studio Runner interface, making it easier to copy the generated narrative.
The pop-up dialog for selecting your data file was filtered to show JSON files only. We have updated this to show CSV files too, as Studio Runner accepts CSV files for table-based projects.
Other new features and enhancements
We've improved the Compose view by adding the option to duplicate a script. Either select a script and click the Duplicate button at the top of the scripts panel, or click the script’s triple-dot icon and select Duplicate from the menu.
We have changed the Function Builder dialog to provide quick links to our reference documentation. Clicking the question mark icon near the top of the dialog now takes you to the documentation for the selected function.
The Function Builder menu is now wide enough to display the full name of each function.
We have re-ordered the menu displayed when you right-click a folder while using the Project Portal in List Mode. Specifically, we've moved the New Project from Sample option up one level to make it quicker to access.
If your script contains a call to a function that takes a lambda expression — e.g.
map
orfilter
— and the lambda expression triggers a warning message, that warning now includes the script name, which it didn't before.We've added a Feedback button to the bottom bar in Studio so you can easily send us ideas and requests for improvements.
Fixed issues
We have fixed a bug that prevented the correct re-ordering of scripts after a script was edited. This problem occurred when the sort order for the scripts panel was set to Last Modified.
If you selected a locale from the parameter dropdown in the Function Builder and then selected a different locale, the text identifying the country and language was removed from the previously-selected locale in the dropdown list. This no longer occurs.
Selecting the Move To option in the Project Portal opens a navigable list of folders. Previously, this list could extend off the top or bottom of the screen, making some folders inaccessible. We have fixed this by making the list scrollable.
We have fixed a bug that caused the list of available functions in the Function Builder to be inadvertently cached, which resulted in some functions showing in the wrong project type.
If a collaborator tries to open a project that another user already has open, Studio should issue a warning message and return the collaborator to the Project Portal. This wasn't working because of a bug, which we have now fixed.
If the API endpoint is called with a request body file containing an invalid data section, it now fails with an appropriate error message. Previously, it generated a narrative using the project sample data.
Previously, a #value script containing a syntax error returned an internal server error when previewed. We've corrected this to ensure that the script returns a syntax warning instead.
Version 3.6.1
29 August 2021
Enhancements
This release enhances the anomalyDetectorContextual function. The result object for each anomaly now includes fields giving information about the change from the value prior to the anomaly.
Fixed issues
We have fixed an issue with the
anomalyDetectorContextual
function. The function did not perform count aggregation correctly when a group (e.g. Q1) within the selected granularity period (e.g. quarterly) contained just one value. It now aggregates correctly.
Version 3.6.0
1 August 2021
Statistics Functions
This release introduces five functions that perform advanced statistical analysis of your data. These functions, which are supported in the Function Builder, simplify complex tasks such as correlation analysis and anomaly detection.
pearsonCorrelation returns the Pearson correlation coefficient for two series of numbers.
rollingCorrelation performs a rolling correlation analysis for two series of numbers. A window is rolled over both series, position by position, and each segment under the window is analyzed to calculate its Pearson correlation coefficient.
anomalyDetectorOutliers uses Grubbs' test to detect anomalies (statistical outliers) in a series of numbers. You might use this function to find the high and low outliers in a series of sales figures.
anomalyDetectorContextual detects anomalies in a seasonal context using the selected level of time granularity. You might use this function to detect unusually high average sales for June or unusually low total profit for Q4.
anomalyDetectorExtremeValues detects subsets of contiguous values that are anomalous because all values in the subset are extremely high or extremely low. You might use this function to identify periods in which all monthly sales totals are extremely high.
These functions live in the new statistics group in the Function Builder menu. Also, we have moved four pre-existing math functions — frequency, percentile, standardDeviation, and variance — to the new group.
Release Projects for NLG Apps
You can now give a project a name and version number before releasing it for use as an NLG App. This feature is for developers who want to create an NLG app and make it available through an add-in built using Arria Connect. At present, the feature is available only to customers with a private-cloud or customer-hosted version of Studio. See Release Projects for NLG Apps for details.
Other new features and enhancements
The isNumber function now has an optional ACCEPT CURRENCY parameter. You can use this to control whether the function recognizes currency strings (e.g. '$500' or 'USD 500') as numbers.
The align attribute is now allowed for HTML tags in Studio.
We have made some minor security improvements.
Fixed issues
We have fixed an issue that sometimes caused login authentication to the Studio documentation site to fail.
If a column name in your CSV data contained a dot, the data values for that column would not appear in your project's Data view. This has been fixed.
The
groupByJson
function takes integer numbers as the inputs to its second and third parameters. If the number was formatted with a pattern giving it a decimal place (or was parsed from a string with a decimal place), the function would fail with a major warning. This no longer occurs.The
groupBy
functions no longer produce an erroneous error message when the selected aggregation type is mean() and all values in the aggregation column/field are null.The
initCap
function would fail when the input string began with an opening round bracket, a closing round bracket, or a backslash character. The function now succeeds with the initial character unchanged.Slicing a string element of a list produced by using
flattenLists
on a JSON array containing arrays of strings would trigger an internal server error. This has been fixed.If you used
flattenLists
on a JSON array of arrays, the function would return any string elements with quote marks around them. This no longer occurs.The
createAtlObject
function returns an error message when you input a key value of the wrong type. We have changed this message to make it clearer and more helpful.The NEW PASSWORD field displays a warning message when your password does not contain a number. Confusingly, this message had “[Object OBJECT]” appended to it. We have removed that part of the message.
It was possible to type a non-matching password in the NEW PASSWORD (AGAIN) field but still proceed and change the password. This is no longer possible.
Version 3.5.2
4 July 2021
Fixed issue
This release fixes an issue that produced an internal server error during periods of high concurrent use.
Version 3.5.1
30 May 2021
Fixed issue
This release fixes an issue with the Forgot your password? screen.
Version 3.5.0
23 May 2021
New ATL functions
There are five new ATL functions, each supported in the Function Builder dialog:
createAtlObject returns an ATL object created from the given keys and values.
addToAtlObject adds key–value pairs to an existing ATL object.
flattenLists takes a list of lists and concatenates the inner lists into one list.
getRandomInteger returns a random integer from between the given upper and lower bounds.
getRandomNumber returns a random decimal number from between the given upper and lower bounds.
Other new features and enhancements
You can now copy your project, update the copy separately, then import the updated version back into the original project. This allows you to update a project from a copy while retaining the original project’s API key and endpoint. See Settings > Versioning.
ATL now supports a Python-like syntactic method for slicing lists and strings. You can use this to create sublists and substrings, and to update lists. See ATL Guide > Slicing.
The inflectNoun function now handles most multi-word nouns.
The numToWords function now works on all formatted numbers, not just those formatted using an English-language locale.
The isNumber and asNumber functions now recognize currency expressions with a valid currency symbol (e.g. $) or an ISO currency code (e.g. USD) before or after the number.
The asNumber function now has an optional LOCALE parameter, allowing it to parse numeric strings that don't follow the English-language convention of using a period for the decimal separator and a comma for any thousand separators.
We have enhanced the chooseAtRandom function to prevent it from repeating the most recently used option. The function now has a 'dontRepeat' option, which you can select (or deselect) in your project settings.
Fixed issues
Using an ISO-4217 currency code in a call to the
currencyFormat
function produced an internal server error. We have fixed this to produce a major warning instead. ISO-4217 codes are no longer in use.If you typed a variable in full ATL — e.g. [[Country]] — while working in Marked Up View, the editor did not automatically add green underlining to highlight it as a variable.
We have fixed an issue with selecting Delete from a script’s three-dots context menu. The Confirm Delete modal appeared but clicking the OK button didn't delete the project.
If your script contained two lines separated by a line break, any space typed at the end of the first line immediately disappeared. This problem was introduced by a Chrome update.
Deleting a project snapshot and then creating a new one caused the deleted snapshot to reappear. This no longer occurs.
With most ATL functions that take a string parameter, the function should coerce any inputted non-string value to a string. However, with ATL objects, this was generating an internal object reference ID rather than a string form of the object.
Studio produced a “Something Went Wrong” error in scenarios where the “Issue marking up your script” warning was required instead. We have fixed this to return the correct warning.
We have fixed a script panel defect that caused closed folders to open when you created a #value script in another folder.
The inclusion of a double quote mark in a column name could cause syntax errors, even when there were no errors in the script. This issue affected "Describe Row in Context" projects only.
With private-cloud and customer-hosted installations, you can set an API data size limit for each project type as well as an overall maximum limit. Setting the project limit above the overall limit produced a “Payload too large” error, even when the file size was below both limits. We have fixed this to ensure the lesser of the two limits applies.
When Studio is used to convert a CSV data file to the API request format, certain characters are HTML encoded. We have fixed an issue where the encoded flag was not set to true.
When you complete an interactive NLG Assist tutorial, Studio should automatically delete the project from your project portal. Instead, it displayed a prompt to delete the project.
The NLG Assist tutorial “Using Language Functions” contained an unclear and misplaced instruction for changing the editor’s paste mode. We have updated the tutorial to correct this.
This release also includes security improvements. The following effects may be noticeable to users:
We have made security updates to prevent insertion of malicious JavaScript via HTML attributes. Consequently, if a project uses JavaScript in the src attribute of an iframe tag or the href attribute of an anchor tag (<a>), the JavaScript will no longer execute. Note that the HTML script tag for JavaScript is not permitted in Studio projects.
If a project contains HTML tags (apart from image tags) that load content from an external source — e.g. media content in a video tag or data node from an object tag — the content won't be loaded in Preview Mode or Studio Runner. However, the tags and attributes will still be in the project output.
Any HTML that is not a tag, text, or data node (e.g. an HTML comment) will be removed from the generated output.
If you export a table project’s sample data to a CSV file, any cell value beginning with '=', '@', '+', or '–' will appear with an apostrophe prefix in the output. The same applies to the CSV output from the Run Project facility inside Studio. This prevents insertion of potentially malicious functions into a CSV file that may then be opened in Excel.
Version 3.4.1
10 January 2021
This release fixes several bugs and adds a security fix for customer-hosted deployments.
1. Fixed issues
We have fixed an issue that occurred when directly previewing a user-defined function. When previewed directly, the script's parameters should have a value of null, but instead the first parameter was being given runtime evaluation options as a value.
The
filterRows
function allows you to apply a filter condition that refers to column names in your table. When a given column name contained a character that must be encoded internally (e.g. &, >, or /), the filter operation was failing with a message stating it could not find the column. This no longer occurs.We have corrected two issues with the
asJson
function, both of which occurred when converting an ATL object to a JSON object. First, it was failing to convert an object value that was itself a list of objects, instead producing an object reference string. Second, when used to convert an object that was a list of string values, it was returning a list in narrative form rather than an array of strings.
Version 3.4.0
13 December 2020
New features and enhancements
We have added a whitespace collapsing option to the postprocessing settings. When this option is enabled, Studio automatically removes duplicate whitespace from your project's output text. For example, if there are multiple spaces between two words, the postprocessing collapses them to a single space. It also removes any spaces inserted before a comma.
The
currencyFormat
function now returns a localized currency symbol when the selected currency is different from the locale currency but uses the same symbol. For example, it returns CA$ for the Canadian dollar when your locale is en_US (English, United States). This removes any ambiguity caused by $ also being the symbol for the US dollar.Previously, the autocomplete list in Code View returned a "no autocomplete matches" message when there were no matches for your typed text. Following feedback, we have removed the message.
We have made architectural changes to improve how NLG Apps (used via our integrations) are deployed and updated in a customer-hosted or private-cloud environment.
Fixed issues
When narrative generation produces too many warnings, the process is stopped with an error message. Previously, when running a "Describe Each Row" or "Describe Row in Context" project (both generate a narrative for each row), the whole report generation would fail with a misleading message about a circular reference. This no longer occurs. Instead, Studio continues with the narrative generation for the next row.
Further to the above, the count of warnings before narrative generation is stopped was being accumulated over the whole run of the project. This has been corrected to ensure the count is performed separately for each row.
If a user-defined function (UDF) returned a string that was then fed through another UDF and then input to the
joinStrings
function, any commas from the original string were lost. This no longer occurs.
Version 3.3.3
3 December 2020
Fixed issues
This release fixes a defect introduced in version 3.3.0. When a user-defined function gave a string as its end value, the returned value was not actually a string object and this meant it did not work with some ATL functions
Version 3.3.2
22 November 2020
Fixed issues
This release fixes a defect introduced in version 3.3.0. If you previewed a selected ATL block when the cursor was at one end of the block (thus highlighting the ATL brackets) the preview would display the ATL rather than the result of the ATL.
This release also includes security updates for customer-hosted deployments.
Version 3.3.1
15 November 2020
Fixed issues
This release fixes a defect in version 3.3.0. Deleting a script using its context menu (the ellipsis icon) could lead to the content of a remaining script being replaced with that of the deleted script.
Version 3.3.0
8 November 2020
Increased data limit
We have doubled the limit for data payloads when you run a published project through the API endpoint. The limit is now 20MB.
Clients with a private-cloud or customer-hosted deployment can further increase the limit for JSON projects up to 100MB.
Bracket matching in ATL View
ATL View now includes syntax highlighting for bracket matching. Clicking beside a bracket now highlights it along with its matching bracket and the highlight color indicates whether the brackets are matched correctly. This helps you detect and fix bracket-matching errors in your ATL or avoid making them in the first place.
For further detail: Bracket matching in ATL View.
Enhanced Code View
Code View displays your script’s underlying code. It shows HTML along with fixed text and ATL, which makes it useful for detecting anbacd removing hidden HTML copied into the script from other sources.
We have added these features to make Code View easier to use:
The code is now displayed on multiple lines rather than a single line.
Each section of code can be collapsed or expanded by clicking the arrow beside it.
You can now toggle between the usual light theme and a dark theme, which many people find easier for reading code.
There is syntax highlighting for bracket matching. This helps you detect and fix bracket-matching errors in your ATL or avoid making them in the first place.
You can now quickly locate and replace text using a Find and Replace tool. The keyboard shortcuts (e.g. Ctrl + F for Find) have been added to the Hot Keys list in the user menu.
An autocomplete list of functions and variables now appears when you type [[ or hit Ctrl + Space. The pop-up list filters as you type and allows you to quickly insert function and variable names into your script.
For further detail: Using Code View.
Other new features and enhancements
Studio now supports a greater number of locales and currency types. This expands the scope of numerous datetime and number formatting functions. For example, the
currencyFormat
function now offers a significantly wider choice of currencies.
Fixed issues
We have corrected a problem with the
groupByVarianceTable
function that led to incorrect results when the two input datasets contained different dimension values.Previously, when you rolled back to a snapshot, then deleted the snapshot, then tried to edit the script, you would wrongly get an error message and you would have to exit and re-enter the project to get past it. This no longer occurs.
When the result from the
columnNames
orrowNames
function is included in the output narrative, it should be printed as a text list and follow the project’s List Formatting settings. We have fixed an issue where the settings were being ignored.We have fixed the issue where a conditional statement comparing a table cell’s content against a string would not identify a match if the cell value included a forward slash, e.g. “Profit/Loss”.
When a script had two consecutive lines of ATL that were commented out and separated by a line break (<br> tag) rather than a paragraph break (<p> tag), the second commented-out line was still being executed. This problem has been fixed.
We have updated some parameter descriptions in the Function Builder to make them clearer and more accurate.
Previously, changes made in Code View were not saved if you previewed the script before exiting Code View. This has been fixed. You can now preview in Code View and see the changes you have just made
Version 3.2.2
30 August 2020
Fixed issues
This release fixes an issue with #value scripts. When a #value script returned a string that was the output of an ATL function, HTML-sensitive characters in the string were not being encoded to HTML entities as they should be.
Version 3.2.1
23 August 2020
Enhancements
This release implements improvements to Studio's authentication architecture for privately hosted customers.
Version 3.2.0
23 August 2020
New #value script
The new #value script — also known as a value function script — makes it easy to write pure ATL functions that return a value (a number, string, list, table region, etc.) while laying out your ATL in a clean and easily understood fashion.
These scripts are like the existing user-defined function scripts but with three key differences:
The script is declared using #value instead of #define.
The script body (after the parameter declaration) must consist of a single ATL block.
How you lay out your code within the ATL block has no bearing on the result. This means you can use paragraph breaks, indentation, etc. to make the code easier to follow, knowing it won't adversely affect how the output is displayed in the calling script. Only the result of the last statement in the block is returned.
Refer to our User-Defined Functions topic for more information. The section on #value scripts walks you through an example and includes a link to a downloadable example project.
New groupByVarianceTable function
Our new groupByVarianceTable
function analyzes variances between two measures, broken down by the given dimensions. The result is given as an ATL variance object to make it easy to access values in the result. The breakdown variances are given in turn as ATL variance objects with the same fields and are divided into drivers and offsets to their parent variance.
Refer to our groupByVarianceTable topic for more information. This includes a link to a downloadable example project.
Other new features and enhancements
You can now load up to 1MB of sample data into your project.
The Data view for JSON projects now has a Format JSON button. The data editor now formats your data in only two instances: when you click the new button, or when you click outside the editor pane. This makes the editor faster and prevents annoying auto-formatting while you're editing the data.
The Number and Currency settings have been expanded to include settings for the
percentage
,percentageChange
,percentageChangeAcrossSeries
functions. These allow you to set project-level defaults for the functions' optional parameters.We have upgraded our underlying backend software to achieve improved performance, and to allow easier deployment for customers with dedicated systems.
Fixed issues
We have fixed the issue where a short-form conditional statement wasn’t recognizing the end of conditional block if the last statement for the last condition didn’t have a terminating semicolon after it.
We have corrected the issue that caused some special characters to be wrongly encoded to HTML entities in the API output.
Previously, the Quick Start tutorial for “Describe Each Row” projects didn’t update the display menu to show the last step (publishing the project) had been completed. This has been fixed.
Version 3.1.4
28 June 2020
New features and enhancements
It is now possible to use the style attribute with the following table elements: <table>, <tr>, <th>, <td>, <thead>, <tfoot>, and <tbody>. This allows greater flexibility when styling HTML tables.
An extra (optional) parameter has been added to the
currencyFormat
function. This allows you to indicate that negative currency values should be colored red in the project output. A corresponding project setting has been added to the Number and Currency settings page.The most used locales, en_US and en_GB, have been moved to the top of the locales drop-down list offered in the Function Builder. The same has been done to the locales drop-down on the Number and Currency settings page.
Some performance improvements have been made with regard to opening projects and moving to the Variables view.
Fixed issues
Some parameter descriptions in the Function Builder have been updated to make them clearer and more accurate.
The timeout threshold has been increased for running published projects inside Studio with larger sample datasets (on the Publish > Run Project page).
We have fixed the issue that caused a list of numbers assigned to a user-defined variable to be treated as a list of strings.
We have fixed the issue where the expected changes from reverting to a previous snapshot were not visible until you exited the project and then re-opened it. Now, the changes from reverting to a previous snapshot should be immediately visible.
We have fixed the issue where deletion of a script folder (containing scripts) could result in a remaining script having its content replaced by the content of one the just-deleted scripts.
Previously, the 'last updated' time for each script would reflect the last edit in the project (i.e. the last edit in any script). This has been corrected so the 'last updated' time now reflects the last edit for each script individually.
We have fixed the misalignment of the project type icon in the top left corner of the user interface.
There was an issue with using a row name to retrieve rows or cells when the row name was a numerical value greater than 999. This has been fixed.
Previously, when adding ATL to the data source field for a user-defined variable (in the Variables view), any less than, greater than, and single quote characters were being encoded to HTML entities. This issue has been fixed.
Version 3.1.3
24 May 2020
Fixed issues
This release addresses minor configuration changes needed for private-cloud deployments.
Version 3.1.2
14 May 2020
Fixed issues
This release fixes a problem with JSON projects in version 3.1.0. An array of values from the data was being printed with JSON-style square brackets around the output. It is now printed as a list of values.
Version 3.1.1
23 April 2020
Fixed issues
This release fixes a known issue in 3.1.0 where Studio returned the endpoint URL for a published project without a port number. The endpoint URL now includes the port number 443 (e.g. https://app.studio.arria.com:443/alite_content_generation_webapp/text/LAXkO3YLVkV).
Version 3.1.0
19 April 2020
Number and currency formatting
This release introduces enhanced number and currency formatting that is more flexible and efficient to use. The project settings have been greatly expanded to allow control of default formatting at project level, and new functions have been added to allow formatting of individual numbers. The main features are:
A default number format pattern that controls the default formatting of all numbers in your project. This is initially set to display numbers to two decimal places with trailing zeros stripped, but you can change the pattern to your liking in the project settings.
A default locale, which is also an adjustable project setting. Use this to ensure the numbers in your project are, by default, formatted using the appropriate thousand and decimal separators for your region.
Four new formatting functions that allow you to override the project's number and currency settings and apply different formatting to individual numbers:
numberFormat
allows you to override your project's default number format pattern and locale. This function provides a wider range of formatting options than the oldformatNumber
function, which is now deprecated.currencyFormat
allows you to format a number as a currency expression (e.g. 12,345 as €12,345.00). It supports more formatting options and a much larger number of currencies than the oldcurrency
function, which is now deprecated.precision
allows you to display a number to a given precision (e.g. 12,345 as 12,300). This function provides a useful alternative to theround
function since it allows you change a number's display precision without changing its actual value.abbreviateNumber
allows you to abbreviate a large number with an appropriate suffix (e.g. 12,345 as 12.3K). You can abbreviate at the levels of thousands, millions, billions, and trillions. You can use the in-built suffixes or define your own.As usual, these functions can be combined to useful effect. For example, you can combine the
currencyFormat
andabbreviateNumber
functions to display 1,245,236.78 as $1.25 million.
Project settings are included for each new function. These allow you to set the default values for each function's optional parameters, which reduces the number of parameters you need to specify in individual function calls. In addition, project settings have been included for the pre-existing
round
function.Previously published projects are given settings that ensure number formatting works as it did prior to this release. This prevents the new features causing unwanted formatting changes in your published projects. The settings can be changed.
Enhanced Project Portal
Additions and improvements to the portal include:
A Deleted Projects view from where deleted projects can be restored or deleted permanently.
A search field for quickly locating projects and folders by name.
The ability to import a project directly into a folder using drag and drop or the folder's right-click menu.
The ability to move a project or folder using its right-click menu.
The ability to select multiple projects or folders using Shift-select.
The portal now remembers which folders you had open or closed (in list mode).
Improved ability to drag a project to a location beyond the top of the visible screen.
Other new features and enhancements
Projects with uploaded data now open in the Compose view.
When running a project in TEXT mode rather than HTML mode, it no longer breaks lines by default after 72 characters, though you can still set a line length if you wish. This applies to calling the project by API or from Studio Runner.
ATL objects now allow bracket notation, as well as dot notation, to reference key names. Importantly, this now allows dynamic key access using key names defined in variables.
The
contains
andindexOf
functions now accept 'null' as a search item parameter.
Fixed issues
We have fixed an issue with the
titleCase
function not capitalizing the first word in a quoted string.For some errors generated while running a project, the API was erroneously returning "Project contains a circular reference: Main -> Main". It now returns the correct error message.
We have corrected inconsistent behaviors in the
indexOf
function so that failure to find an item in the input list or string now returns -1 instead of an error.A script interpretation error in the Function Builder's preview mode no longer triggers a 'Something Went Wrong' error. It now produces the correct error message.
Script evaluation errors and syntax errors in the script preview no longer trigger a 'Something Went Wrong' error. Instead, the correct error message is produced.
The groupBy functions no longer ignore nulls in aggregation columns.
There was a minor problem with the Function Builder losing focus when scripts were sorted in a non-custom order. This has been fixed.
We have corrected the defect in the Function Builder that prevented the definition of a call to the
concat
function from being saved.We have fixed the issue in the portal where subfolders in a folder sometimes couldn't be seen after being moved there.
Adding script folders without renaming them could result in folders with duplicate names, which then triggered a 'Something Went Wrong' error. This problem has been resolved.
We have amended the
hasKey
function to be case-sensitive because keys in both JSON and ATL objects are case-sensitive.The cursor now stays in the script search field after you clear the search term.
We have fixed an issue with "Describe Each Row" projects where user-defined variables were not being recalculated for each row when the project was run with new data.
If a preview warning message included < or >, then the message was being truncated after it. This has been fixed.
We have fixed the issue in the script editor's Marked Up View that sometimes led to characters being dropped.
For various DateTime functions, we have corrected a typo in the Function Builder's description of the locale parameter.
There was a Conditional Builder defect that sometimes meant having a complex condition including both a 'less than' and 'greater than' comparison resulted in part of the condition being stripped out. This has been fixed.
Known issue
Studio now returns the endpoint URL for a published project without a port number. Though it works correctly when calling the API directly or using Studio Runner, the URL is no longer recognized as valid by our BI integrations. This triggers a validation error.
This is easily corrected: just add port 443 to the URL before configuring it in the BI integration. For example:
Without a port number: | https://app.studio.arria.com/alite_content_generation_webapp/text/LAXkO3YLVkV |
With port 443 added: | https://app.studio.arria.com:443/alite_content_generation_webapp/text/LAXkO3YLVkV |
Version 3.0.4
22 March 2020
New features and enhancements
This release adds architectural support for our upcoming new product Arria NLG for Excel, Arria's add-in for Microsoft Office. It does not include any changes to Studio user functionality.
Version 3.0.3
23 January 2020
Fixed issues
This release fixes two defects:
An issue that caused loss of a script folder after changing the sort order.
An issue that caused loss of script folders when exiting a project with script filtering in place.
Version 3.0.2
22 December 2019
Fixed issues
This release fixes two defects:
An issue with the bottom of the Project Portal listing being hidden behind the footer bar.
An issue with the login page if users are logged out of Studio by their computer going into sleep mode or by their Chrome tab being frozen.
Version 3.0.1
8 December 2019
Fixed issues
This release fixes a defect with scrollbars that was introduced by the latest version of Chrome (79).
The latest Chrome version also introduced a feature called tab freezing. If your Studio tab is frozen (because of inactivity) for over an hour, you will be logged out and you may have to refresh your Studio tab before you can log back in. We are working on a permanent fix for this.
Version 3.0.0
3 November 2019
New Project Portal
The new project portal replaces the old dashboard. The portal allows you to:
Organize your projects into folders.
Switch between the traditional tile view and a more compact list view that shows all folders and projects at once.
Import project files using drag and drop.
Use filtered views of your projects (including a Recent view).
Sort your projects and folders alphabetically or in order of last update.
Other new features and enhancements
Larger sample data files (up to 300KB) can be uploaded to a project, and previous limits on the number of rows and columns have been removed.
Studio Runner can now run projects with data files up to 6MB.
The
addToDateTime
andsubtractFromDateTime
functions now accept durations in units other than seconds. This includes durations containing multiple units (e.g. "1 year, 2 months and 3 days").Data columns in tabular data passed to the API call can now be in a different order than in the sample data (apart from the first one).
You can now sort your scripts by creation or modification date.
You can now create a script call by dragging and dropping a script from the scripts list directly into another script.
There are significant performance improvements when running published projects through the API.
We have improved the validation for the Content Line Length field in the Advanced Settings for Studio Runner.
The "Describe Each Row in Context" project type has been renamed "Describe Row in Context" to match the relevant sample project and reduce possible confusion with the "Describe Each Row" project type.
The Preview mode should now only show "Too Many Errors" when there are a hundred or more errors.
Fixed issues
We have fixed a problem with repeating snapshot numbers when more than a hundred snapshots exist.
We have corrected a timing issue with autosave that sometimes led to loss of script content.
Previously, rows returned by the
filterRows
function had columns in which all values were missing (i.e. these columns were being omitted from the result). This problem has been fixed.Previously, saving a "Describe a JSON Object" project that contained a dot inside a JSON key name triggered a repeating loop of errors. This has been corrected; now the looping no longer occurs and a helpful error message is displayed.
We have fixed a small issue in Marked Up View that made it possible to insert the cursor into the middle of a marked up variable or script name by clicking immediately below it.
The Function Builder no longer tries to preview before the function parameters have been entered.
The Function Builder no longer strips leading whitespace from parameter values.
Previously, subtracting a number from a time (not a date and time) triggered an internal service error. This bug has been fixed.
A minor correction has been made to the information message on the data upload screen for the Convert Data utility (on the Publish > API page).
We have fixed a validation issue in the
addToDateTime
andsubtractFromDateTime
functions for non-numeric durations, as well as an issue when the duration was a negative number of seconds.We have replaced a missing icon in the script editor's color picker.
On a page with more than one copy-to-clipboard button, clicking the second button would copy the correct text but also highlight the text for the first button. This has been corrected; now only the text for the clicked button is highlighted.
Version 2.4.3
23 September 2019
New features and enhancements
This release implements improvements to Studio's authentication architecture but does not include any changes to user functionality.
Version 2.4.2
11 August 2019
Fixed issues
The latest version of Chrome (76.0) caused a scrolling issue in Studio when the list of scripts displayed in the Compose view was longer than the page. This issue has been fixed.
Version 2.4.1
7 August 2019
Fixed issues
Copying and pasting text containing HTML symbols such as > or < or & into another editor such as Notepad no longer results in those symbols being replaced with the encoded HTML entities (e.g. > instead of >). The copied text is now reproduced verbatim.
When you select a word at the start of a line separated from the previous line by a break rather than a paragraph, typing over the selected word now works correctly. Previously, the cursor jumped to the start of the script.
When you enter a validation code after requesting a password reset, Chrome should no longer try to autofill the code entry box with your email address.
Version 2.4.0
2 August 2019
New features and enhancements
The new
groupByJsonObject
function allows grouping of JSON objects by one or more fields and then aggregation of the values for other fields. The output is the same as for the other groupBy functions, but it takes input data in the form of an array of objects rather than a table or an array of arrays.The new
sublist
function takes a list, table row, or table column of data and returns a sublist of the input data. The sublist’s start index and end index points are defined using the second and third parameters.The "Available Snapshots" section (in the Versioning tab within Settings) now displays snapshot times in the user's local time.
Syntax errors in unused scripts or variables are now displayed when previewing the Main script. This helps users to investigate the syntax errors that are preventing project publication.
Fixed issues
When searching backward for a sublist in a list, the
indexOf
function no longer stops searching when it finds the first instance of the first member of the sublist leading to false negatives.With the exception of
mode
, all functions with the "Ignore Nulls" parameter now treat an empty string in the same way as null: if "Ignore Nulls" is set to false, an empty string will be counted as an instance of 0 appearing in the input list.Comparing a number to an empty string no longer leads to an internal service error. Now, such a comparison returns false, as a number can never be equal to an empty string.
Previously, some scripts disappeared when multiple scripts were dragged from one folder to another within a script menu already sorted in ascending alphabetical order. This issue has been fixed.
The Insert Script drop-down list in the editor once again displays scripts at every level of the folder hierarchy rather than just the first two.
Previously, styling was not always applied to the first item in a script when that first item was a piece of marked-up ATL (such as a function or variable). This issue has been fixed.
Dragging the mouse outside of the Conditional Builder modal no longer closes the builder.
The Conditional Builder now shows the appropriate warning when incompatible types are compared to each other.
The Conditional Builder's focus no longer jumps back to Parameter A of Case 1 when additional cases are added.
The Function Builder and Conditional Builder can now be used in full-screen mode.
A more helpful error message is displayed when you attempt to publish a project with a user-defined function not matching its script name.
Previously, enabling automatic sentence capitalization (Settings) sometimes led to an internal server error. This issue has been fixed.
After entering invalid settings on the application configuration screen in Studio Runner and then clicking off the informational modal, the main Continue button no longer continues to display a spinner.
Version 2.3.1
4 July 2019
Fixed issues
This release provides an improvement to a performance issue introduced by a bug in the latest version of Chrome (75) where having a large amount of text in a script was causing a slowdown of typing performance in the script editor, with a noticeable delay in keystrokes being recognized.
Version 2.3.0
1 July 2019
New features and enhancements
New math functions
Two new functions—
groupByTable
andgroupByJson
— allow grouping of data rows or items by one or more columns or fields and then aggregation of their values for other columns or fields.The new
toReachThreshold
function takes a list, row or column of numbers and a threshold value. It then sums the numbers (starting from the beginning of the list, row or column) until the threshold is reached. It returns the number of items that had to be summed to reach the threshold.The new
variance
function calculates the variance for a given input list, row or column of numbers.The new
truncate
function truncates any number to its integer part.The new
mean
function replaces theaverageVal
function, which has been deprecated.
New dateTime functions
The arithmetic operators for addition (+) and subtraction (-) now work on DateTime objects and durations, allowing you to directly add or subtract a duration to a DateTime in an ATL expression, without needing to use a function.
The new
numberAsWeekday
andweekdayAsNumber
functions allow conversion of numbers into weekday names and vice versa. Both functions have a locale parameter that enables them to work for any language.The new
numberAsMonth
andmonthAsNumber
functions allow conversion of numbers into month names and vice versa. Both functions have a locale parameter that enables them to work for any language.The new
sortByMonth
function takes a list of month names and returns them in chronological order. The function's locale parameter enables it to work for any language.
New editor features
The editor now has a color picker for adding color to the text.
The editor now has a toggle button to choose whether to paste plain text or formatted text. This makes it easier to copy and paste text from other websites, including our documentation pages, without inserting unwanted formatting.
The buttons for inserting variables, conditionals, functions, scripts and synonyms are now underlined in the same color as they are shown in scripts.
When the name and parameter signature of a user-defined function coincides with that of a built-in function, a Minor Warning will now alert the user in the Preview and API output.
Fixed issues
Dragging the mouse outside of the Function Builder modal no longer closes the builder.
The Conditional Builder no longer attempts to produce a preview until all necessary fields are filled in.
Using the editor's Clear Formatting button in Marked Up View no longer erroneously removes ATL brackets.
Text alignment inserted using the editor’s styling buttons is now saved correctly. Note that this will not be reflected in an API output if the “text” option chosen is contentOutputFormat.
The "Open in new tab" option of the Insert Link dialog is now correctly stored in the HTML tag.
Copying and pasting no longer turns <br> tags into <p> tags.
Clicking on a top-level category in the Insert Function drop-down menu no longer closes the submenu for that category.
The script list no longer scrolls to the top when a script other than the one currently focused on is deleted.
A number of small UI issues have been cleaned up.
Version 2.2.1
3 June 2019
Fixed issues
The Data view
Exporting a project no longer formats the JSON file, which could make it too big to be re-imported.
Edits to tabular test data are now saved reliably.
Sometimes Studio would not detect malformed JSON data on import. This is now fixed.
The Variables view
It is now no longer possible to give a variable a reserved word as its name.
We removed a spurious warning and button to remove variables incorrectly deemed invalid.
Function Builder and Conditional Builder
Dragging the mouse outside of the Function Builder modal no longer closes the builder.
The Function Builder now shows a warning when the user clicks outside the modal with unsaved changes.
The Esc key can once again be used to close the Function Builder or Conditional Builder modals.
The Function Builder and the Conditional Builder now show the same errors as Preview.
When you open the Function Builder with ATL selected in a script, the builder now correctly prefills the function name and parameter fields. The builder’s behavior adapts to whether a function is chosen from the drop-down list or the builder is opened without choosing a specific function.
The Function Builder no longer assumes that the TIMEZONE parameter of the
getCurrentTime
function is required.The Function Builder now includes True and False options in the dropdown list for the Boolean parameters of the
parseDuration
andformatDateTime
functions.When you open the Function Builder by double-clicking on a marked-up function call, the function description is now displayed next to the function field in the builder.
Some of the function descriptions in the Function Builder have been cleaned up.
Angle brackets (< and >) in syntax error messages in the Conditional Builder were being displayed in HTML coding. This is now fixed.
Functions and ATL
Using the division operator (/) in a list item no longer prints numbers formatted with 40 decimals.
The
cell
function now correctly handles special HTML characters such as forward slash (/), greater than (>), less than (<), ampersand (&), double quote (") and single quote (') in row names.The
numToWords
function now uses the value specified by the user for the ZERO FORMAT parameter when “ordinal” is chosen for the TYPE parameter. Previously, the function always used “zeroth” in this instance.The
sortDateTimes
andsortDateTimesReverse
functions no longer convert string parameters into a list but rather return an error message.The
sortDateTimes
andsortDateTimesReverse
functions no longer convert list items that cannot be converted to DateTime objects into null.The
currency
function no longer accepts the empty string ("") or null for required numeric parameters.The
countryAdjective
function now returns a major warning for unknown country names.The error messages from
parseDateTime
andasDateTime
are now more helpful for diagnosing the cause of the error.
Editor
Text styling, such as bold or italics, on a marked-up block no longer gets lost by switching to ATL View when it is selected by mouse drag or keyboard.
Clicking on a marked-up function or variable sometimes inserted non-breaking spaces that then came out in the text when running the project via its API. This is now fixed.
When a new script is created, the editor pane now immediately opens that new script.
Sometimes problems with marking up ATL led to an incorrect error message and the user being directed back to the dashboard. Now, this leads to an automatic switch to ATL View.
Studio Runner
Now, when you open Studio Runner from your project’s Publish > API page, it prefills the configuration details with the project ID. For security reasons, you still need to enter the API key manually.
A number of inconsistencies with the Studio Runner UI have been corrected.
Customer-hosted deployment
An inaccurate error message, displayed when a user login is not in the correct LDAP group, has been corrected.
The login page used to briefly display irrelevant links before hiding them. This is now fixed.
Miscellaneous
For a number of screens, the cursor is now set where a user would normally start typing.
Refreshing the browser window on the User Account Details page now works correctly.
Navigating from the Publish or Settings views to the Variables view now works as expected.
A link to the privacy policy has been added to the Studio footer bar.
A number of broken documentation and information links have been fixed.
Some icons have been updated, particularly on the dashboard and in the script editor.
The font size for the 000 label in the currency settings has been adjusted.
Grammatical and spacing issues in the Table Fundamentals and JSON Fundamentals sample projects have been tidied up.
Version 2.2.0
15 April 2019
New features and enhancements
Additional functionality around script management:
Scripts are now searchable by content. Use the filter/search toggle to either filter by name or search by content.
The script list can now be sorted alphabetically in ascending or descending order.
The Insert Script menu now shows the custom folder structure of your script list.
Additional functionality around dates and times:
A number of functions to deal with time zones in datetime objects have been added — for example, see translateTimeZone, setTimeZone, and getTimeZone.
The new parseDuration function makes it possible to transform a duration expressed as text into an integer representing the number of seconds in that duration.
sortDateTimes and sortDateTimesReverse have been added to the functions that Studio offers for sorting lists of objects of different types.
A new getCurrentTime function returns the current system time as a datetime object. The inflexible
now
andtoda
functions have been deprecated.A number of functions to transform a duration expressed in seconds into other granularities have been added — for example, see asMinutes, asHours, asDays, etc.
The new formatDateTime function now supports formatting dates with an ordinal day number via the use of a special @ operator. For example, now 2019-04-08 can be expressed as '8th April 2019' by adding @ to the day component of the formatting pattern: 'd@ MMMM YYYY'.
Many new ATL functions have been added to Studio:
Standard statistical functions: mode, median, count, frequency, percentile, rank, and standardDeviation.
The countryAdjective function takes a country name and returns the adjective pertaining to this country. For example, it returns "Dutch" if the input country name is "Netherlands".
The countryDeterminer function takes a country name and returns the name prepended with “the” when appropriate, e.g. it turns "USA" into "the USA".
Two new functions — isNumber and isDateTime — make it easier to test for the type of a value.
The filterRows function now makes it easier to filter a table by the values of one or more columns.
Improvements to Studio Runner:
Studio Runner now accepts data files in the same CSV or JSON format as your project's sample data. This makes it even easier to manually call your published projects.
Studio Runner now allows setting of the advanced configuration options that are available when calling the API endpoint programmatically.
Some error messages in Studio Runner have been improved.
Improvements to privately hosted deployments of NLG Studio:
In privately hosted deployments using LDAP-compliant directory servers such as Active Directory, it is now possible to configure your Studio users in a group, from across multiple search bases.
The Run Project functionality is now available to privately hosted deployments.
Syntactic errors are now shown along with other warnings in the preview pane rather than preventing preview altogether. However, projects containing syntax errors can no longer be published (this is to avoid users being charged for running them).
The
decodeHtml
function has been improved to allow manual insertion of HTML <span> tags with a style attribute, for example making it possible to color small chunks of text, change the font, or add margins.On pop-up dialogs, pressing the Enter key now results in the same action as clicking the dialog's main button.
The group of sample projects available directly within Studio has been extended, and some minor updates have been made to the Table Fundamentals and JSON Fundamentals projects.
The warning and error messages around illegal script and folder names have been improved.
The list of illegal names for variables has been updated.
Studio now tells users when a new version is available with a prompt to refresh the browser to avoid glitches when an old frontend version is used with a new backend.
The Convert data service, on the Publish > API page, now accepts data files up to 2,000,000 bytes.
Fixed issues
It is now possible again to create a new variable directly from the parameter drop-down menu in the Function Builder and Conditional Builder.
A bug preventing changed variable definitions from being saved has been fixed.
A bug preventing the Conditional Builder from building or previewing conditionals using the isEmpty test has been fixed.
A bug preventing single variables or function calls being copied and pasted in mark-up mode has been fixed.
A problem with the filtering algorithm has been fixed making sure that matching items inside collapsed folders also get found.
Attempts to convert sample data with duplicate row or column names to API format now receive the appropriate error message.
Some error messages in Studio Runner have been improved.
A bug preventing the command sequence Ctrl/Cmd-A Ctrl/Cmd-V (i.e. overwriting the complete content of a script) from being undone has been fixed.
An issue preventing one user from opening a project that was already being edited by a collaborator has been fixed.
An issue in JSON projects has been resolved, whereby previously, saving a variable pointing to a leaf value reset the type to JSON instead of string or numeric.
Cancelling the regeneration or deactivation of a project’s API key no longer causes an unexpected error.
Editing JSON data such that it exceeds the size limit and then cancelling the warning dialog no longer leads to a “Something went wrong” error.
Selecting a piece of text then previewing it using the preview hot-key combination could result in the selected text being deleted. This has now been corrected.
Occasional problems with copying and pasting marked-up content in the editor have been fixed.
An issue with the privately hosted version of Studio intermittently showing wrong links on the login page has been corrected.
Version 2.1.0
21 January 2019
New features and enhancements
We now provide the Studio Runner web app at https://app.studio.arria.com/runner. It offers an easy way to send a data file in the correct format to your project’s API endpoint, then see the results on screen.
The text selection behavior in the editor using the cursor keys is now more intuitive.
Enhancements to the renaming behavior for scripts and folders.
The Dashboard now has a separate tab for the sample projects, which includes a link to the Studio samples website, where more sample projects can be downloaded. (https://samples.arria.com).
Fixed issues
We fixed an issue where no text could be generated for rows with an apostrophe in the row name.
An issue with characters typed after a marked-up ATL block being included into the mark-up has been fixed.
The preview error message for variables with a non-matching data type has been improved.
Toggling between the Code View and Marked Up View no longer corrupts the £ sign inside an ATL block.
An issue where newly typed text could get lost when switching to ATL View has been fixed.
Version 2.0.0
20 December 2018
New features and enhancements
Script management: NLG Studio now allows you to arrange your scripts in folders and to order them as you like. For larger projects, this makes it much easier to group your scripts in a way that makes them easy to find for both you and your collaborators.
Dates and times: We’ve introduced a new DATETIME type into Studio along with a range of functions to help you work with dates and times. This allows you to store dates or times in DATETIME variables, which can be used in comparisons, formatted as required in your narratives, or altered by adding or subtracting durations.
Convert data: A new Convert Data utility has been added to the Run Project page (under the Publish view) to automatically convert a data file into the correct format for your project’s API endpoint.
Hot keys: We’ve added shortcut key combinations to allow you to move quickly between different views of the project (Compose, Variables, etc.), the dashboard, and Preview — and to fire Preview again without having to close it first. See here.
Duplicate variable button: Quickly duplicate an existing variable using the button on the right-hand side in the Variables view.
HTML attributes added in Code View will now be preserved, making it possible to get, for example, text in different colors.
We’ve increased the timeout for Run Project, so it can now run more complex projects.
To satisfy the privacy requirements of many of our customers, we no longer store previous runs on the Run Project page and instead immediately offer a download of the results file.
Fixed issues
We’ve corrected a problem that prevented copy and paste from working on marked-up ATL.
An issue which sometimes reduced the size of the editor pane has been fixed.
We’ve fixed an issue where running the published project with new data would give an error if some column headers contained non-alphanumeric or underscore characters.
The Function Builder no longer adds trailing optional parameters left empty as empty strings in the ATL.
We also fixed a related issue where the
numToWords
function was edited in the Function Builder and the threshold parameter was left empty, then the wrong default value was being used.
Data columns with a “/” in the name caused a problem in Preview of a script containing that column variable. This is now fixed.
We’ve corrected a faulty link for the picture at the top of emails from Studio.
We’ve fixed an issue with the builders’ parameter drop-down lists sometimes initially offering postcode information gathered by Chrome rather than available variable names.
Version 1.8.0
15 November 2018
New features and enhancements
The amount of data that can be pasted into the Data view in a “Describe an Object” project is now limited to 200KB. This ensures that all projects exported from Studio can be successfully re-imported in line with the upload limits.
Column names longer than the fixed column width in the Data view of table projects can now be inspected via a tooltip.
The
tag
function now has a noConjunction option to allow lists without a connective before the last item.New project-level settings for list formatting make it possible to configure, for example, whether Oxford commas are used as the default for a particular project.
The project API endpoint now gives the option to generate plain text instead of HTML.
Better preview speeds for “Describe an Object” projects through a reduction in the expansion level of the data.
The selection behavior of the nested Insert Function menu has been enhanced.
Enhanced security through use of a captcha on sign-up and log-in pages.
The semantic version of Studio is now always visible at the bottom of the app.
The Preview screen no longer extends beyond the screen on small monitors.
Fixed issues
Variable re-mappings to new columns when importing new sample data now gets saved and re-mapping more than one variable no longer results in an error.
Unexpected behavior of the browser back button on the Settings and Publish pages as well as in the builders has been changed.
When a project is locked by another collaborator, the correct error message is now displayed.
A bug leading to spurious HTML elements appearing in a script has been fixed.
The “Save Variable?” dialog now successfully saves the variable when navigating away from the variable editor.
Refreshing the Import Project page no longer results in an indefinite wait loop.
Version 1.7.0
17 September 2018
New features and enhancements
On-premise installations of NLG Studio can now be configured to authenticate against directory servers such as Active Directory. This provides administrators with full user-management control for their on-premise Studio install.
We’ve made a few further tweaks to the import pages to make them more consistent with each other.
Fixed issues
Null values in JSON project sample data are now saved as a JSON null value, rather than being stored incorrectly as the string “null”.
A related issue caused a null data value to be converted to an empty array, and this is also fixed.
Corrected a UTF encoding issue with lex rules.
Project preview could occasionally hang due to a timing issue. This is now sorted.
When uploading a new CSV data file to Run Project, if data values were missing from the end of a data row, Studio displayed the wrong error message. This is now corrected.
Version 1.6.0
31 August 2018
New features and enhancements
The Preview and Publish buttons have switched places:
The Preview button is now in the top right corner. As this is the most used button in the app, this makes it stand out more from the navigation buttons in the left menu.
The new Publish tab in the left-hand navigation menu holds all functionality and information required to publish and run a project either via the API or in-app.
The Publish tab is now the only place where a project can be published or run: this functionality has been removed from the project cards on the dashboard.
Improvements to drag and drop on all the import pages.
New users can now request another validation token if their original one timed out after they signed up.
The performance of the a/an post-processor has been improved noticeable speeding up the generation of large texts.
The session time-out has been extended to 4 hours.
Improved error and warning messages around data and project upload and on the variable page,
The Function Builder help for the
list
function has been improved.
Fixed issues
Scripts inserted into ATL blocks no longer get enclosed in extra [[]] ATL brackets, which used to lead to invalid ATL.
When a project file is imported that doesn’t conform with the correct JSON format, Studio now gives an error message.
Single character strings no longer get converted to null when used in maths functions or comparisons expecting a number.
A problem with the a/an post-processor corrupting very long output texts has been fixed.
A few small problems with the NLG Assistant and documentation links have been fixed.
A bug in the Function Builder leading to occasional system errors has been removed.
Line breaks inside ATL blocks no longer break the mark-up and mark-up failures no longer trigger a system error.
A number of small UI issues have been fixed.
The
asTable
function has been removed from the “Describe Whole Table” and “Describe Each Row” project types.
Version 1.5.0
11 July 2018
New features and enhancements
Evaluation of variables in the Variables view now only happens once at the start of each project run rather than when the variables are called, which is much more efficient. So, if you reuse a complex expression in several places, your project will run much faster if you assign it to a variable and reference that in your scripts instead. Note: A variable using
chooseAtRandom
will therefore always return the same value rather than returning a different value each time it is referenced.Studio now supports the Unicode character sets for a much wider range of languages, so that letters such as umlauts, ß, ç, ø, and č no longer cause issues with saving or using Marked Up View, and ASCII punctuation characters including the ellipsis, em-dash, and en-dash no longer get stripped out of scripts.
We have tweaked the login page so that the Login button is initially enabled, for users who use browser auto-completion.
Fixed issues
Fixed an issue where switching between ATL View and Marked Up View in one scrip sometimes switched to the previously viewed script.
The
joinStrings
function no longer removes commas from any of its input strings.Fixed a problem where switching to Marked Up View caused the removal of ATL blocks containing only comments.
The NLG Assist agent will now be closed automatically when a user is logged out due to inactivity.
Version 1.4.0
18 June 2018
New features and enhancements
A new ATL-only function has been introduced — makeList — which allows you to create a data list of elements.
When adding a new variable in the Data View, the new variable dialogue now opens immediately, and at the top of the list of variables.
The Account Details page now allows you to add or edit the information about your company and job title.
We’ve made an improvement in the speed of importing large projects via drag and drop.
Fixed issues
Fixed an issue where angle brackets (< >) as part of the text inside a conditional statement, when opened in the Function Builder, would cause the preview at the bottom of the dialog window to fail.
Corrected an issue with validating a new account (after registration), when the validation was done in a Chrome incognito browser.
When a published project was run inside Studio using the Use Project button on the project dashboard card, the text “if the error persists” appeared on the screen while the project was successfully running. This has been removed.
Fixed an issue where long, unbroken strings of characters could extend out of the editor window without a scroll bar appearing.
Sorted a problem which meant that if a user imported a very large project, the project would sometimes not show in the dashboard until the page was refreshed.
Version 1.3.0
4 June 2018
New features and enhancements
This release introduces NLG Assist, a new in-app advice tool which will:
guide you through tutorials
link you to documentation and sample projects
show videos about NLG Studio and on NLG methodology
In NLG Studio, just click the question-mark button at the top right. Because this is a brand-new feature, you may need to refresh your browser in order to receive it.
Version 1.2.0
7 May 2018
New features and enhancements
A new editing font for Marked Up View makes scripts more legible.
ATL View now uses a fixed-width font to make it clearer for editing, particularly for small characters like punctuation marks.
The time taken to import large JSON data files and to then display in the data tab has been greatly reduced. To achieve this, the schema of the new data file is no longer compared against the schema of the existing data file (if any).
The response from the published project API now includes the word count for each generated report text.
New users are now asked for additional information upon sign-up for an account.
The scroll bar in the script editor now remembers its position for each individual script.
Fixed issues
Fixed an issue where the Publish Project button was sometimes enabled when no text could be generated.
Fixed an issue with the
rowNames
function where it returned the row names for the whole table rather than just the specified region.Corrected a case where tooltips were sometimes partially obscured.
Fixed a problem where validation of a new account sign-up could fail if performed in a new browser session.
Corrected a problem where, if you uploaded CSV data containing duplicate row names into a "Describe the Table" or "Describe Row in Context" project, the error message erroneously said there were duplicate column names.
Corrected the
min
andmax
functions to ignore empty cells instead of causing an error.Fixed a defect in the
endsWith
function, which didn’t work correctly for strings consisting of digits.Corrected a defect that allowed a new password to include certain characters, which were then not accepted by the sign-in page.
Corrected the success message that appears after publishing a project, to make it clear where to generate the API key.
Corrected a mistake where the second parameter for the
charAt
function was listed as 'Boolean' rather than 'Number' in the Function Builder.
Version 1.1.0
1 March 2018
New features and enhancements
Improved the error messages from syntax errors displayed in preview and the Function Builder.
Added the ability to define JSON type variables relative to other variables (rather than them always having to be defined from the root WholeJSON variable).
Added a help button linking from the Lex Rules page to the relevant documentation.
Added support for the optional parameters of the
indexOf
function when used with lists.
Fixed issues
Fixed an issue where problems with marking up a script could lead to the content of one script being overwritten with that of another.
Fixed an issue where batch upload for published “Describe Row in Context” projects was reporting errors for row keys not in the sample data.
Corrected an issue where the contains and
indexOf
functions could fail to find a sublist match after a partial match was detected.Fixed an issue with batch upload where uploading a sample data file with duplicate row keys gave the wrong error message.
Corrected an issue where the Conditional Builder was trimming any leading white space from the result text.
Corrected an issue where invoking the builder dialog on a conditional expression by double-clicking in Marked Up View sometimes resulted in HTML mark-up appearing in the parameter values.
Version 1.0.0
30 January 2018
New features and enhancements
Edit and preview Lex Rules. Users can now edit Lex Rule files they have imported into their project. Being able to edit Lex Rules within NLG Studio, then immediately see the results in Preview, greatly speeds up the development process. See Lex Rules View.
Re-name Lex Rules. Users can now re-name Lex Rule files they have imported into their project, allowing them to name them appropriately for the specific project. See Lex Rules View.
The
realise
function for use with Lex Rules can now handle any data. If the data is not a JSON object, it is handled as the value of a JSON object with the key “data”. See More on the realise Function.Increase in allowed length of variable names. The allowed length of variable names has been increased to 40 characters, making it easier for users to name different variables representing similar data that might need longer names to distinguish them. See Variables.
Automatic snapshots of published projects. When a user publishes a project, Studio now makes an automatic snapshot of that version of the project (named Published Version 1, Published Version 2, and so on). The user can restore to that version of the project or can delete the archived snapshot, just as with a manually created snapshot.
The
numToWords
andcountable
functions now have a parameter to allow the user to specify how a zero is dealt with. Zero, no, and none are provided as options in the Function Builder, or users can enter their own word. Zero is the default. This is useful for different constructions of sentences such as:There are no cats in the pet shop.
There are zero cats in the pet shop.
There are none.
The icon for shared projects now indicates whether the logged-in user is the project owner or a collaborator.
Fixed issues
Corrected an issue that could cause an error message if an automatic project save timed out, for example, due to network issues.
Extended the CSV import mechanism to allow importing data files that don’t have a closing line feed.
Corrected an effect where a project with a horizontal line at the end would preview but sometimes fail when run.
In the Function Builder, added two option values, true and false, for the
titleCase
andtrim
functions.The
percentageChangeAcrossSeries
function normally defaults to two decimal places (if not specified) but wasn’t doing so if there were three parameters.Fixed an issue in the
indexOf
function where the default for the offset parameter (set by the Function Builder to ”) was producing an error when run.Corrected a typo in the displayed options for large values on the default currency settings page. Instead of “K k thousand” and “B b billion”, the options were wrongly displayed as “K K thousand”and “B B billion”.
If a snapshot was created immediately after making changes to a project, and the auto-save had not completed due to slow network speeds, then the changes not yet saved were not included in the snapshot. This is now handled so that all changes to the project will be fully saved before the snapshot is made.