Developer release notes Q3 / 2023
The Q3 2023 release includes various features and enhancements that help you extend the FA Platform. Below are the highlights. For more in-depth descriptions of how you can take advantage of these new features, please refer to FA Developer guide.
Restrictions to GraphQL introspection queries
The GraphQL framework includes a feature that allows users to query information about available endpoints and parameters. This is done through special kinds of queries called introspection queries. Introspection queries are very useful because they allow you to browse GraphQL APIs in the GraphQL section of FA Developer app.
To enhance the security of the FA Platform, we now restrict access to these queries. Although introspection queries do not pose a direct security risk (the only thing such queries return is information about what kinds of APIs we have), it is considered best practice not to provide introspection capabilities unless there is a particularly compelling reason to do so. Our reason is that we need it for FA Developer App. Fortunately, we were able to compromise: introspection queries are still available but only for users who have access to the GraphQL section of FA Developer app.
Users without this access are no longer able to run queries containing introspection commands, meaning queries containing keywords like __schema
or __field
. We made one exception: we still allow querying __typename
because some common frontend development frameworks use it for things such as cache management.
Jsreport 3.13.0 upgrade, XML validation, and more
We updated our jsreport version from 3.9.0 to to 3.13.0 in this release. As per jsreport release notes, this addresses various issues like XLSX report generation.
Some of our jsreport developers have recently created XML reports and were hoping for a way to validate the XML report against its XSD schema. To help XML report developers do this, we packaged libxmljs2 into jsreport. Libxmljs2 is a powerful open-source JavaScript library for working with XML documents that allows you to validate your XML reports. Jsreport scripts can now use the libxmljs2 package.
Lastly, the dataset that a jsreport script receives now includes a new field called portfolioStatus
which can be ‘A’ for Active, ‘P’ for Passive, or ‘C’ for Closed.
Creation and modification date and time for portfolios, contacts, and securities
We now have created_date
and last_modified
columns in our database for contacts, portfolios, and securities. You can access this information using FA Back search views, GraphQL APIs, and queries. We already had corresponding columns available for transactions and trade orders in previous versions. Although we only made this information directly available in this release, we were able to retroactively populate the fields based on our audit logs which have been part of the FA Platform from the beginning.
Note that these columns are not indexed, so finding specific data created or modified within a given timeframe is slow, depending on the criteria and amount of data. If you need to quickly find data based on specific dates, please let us know.
Translation support for forms
You can now easily define translations for your flowable process forms in FA Developer app. For more information, please refer to Forms view in FA Developer app reference.