Developer release notes Q4 / 2024
The 2024 Q4 release features a number of API improvements, a new option to use UUIDs in custom Camel routes, a jsreport version upgrade, and new security headers for HTTPS traffic.
API change highlights
We introduced a new endpoint “importContracts” for creating and modifying contracts in FA. It works similarly to how our file-based contract import works.
We added a new endpoint for producing an investment plan for a portfolio based on its strategy and security groups. This API mirrors FA Back’s calculations when rebalancing portfolios based on their strategies.
In this release, we added new fields to various objects, such as Status, Open date and Close date for accounts, Strategy from portfolio (a new portfolio attribute), and various fields related to amortizing bonds. These fields are now also available via GraphQL API.
We added new context queries for positions and purchase lots for fetching FX-converted values and linked transactions.
We added a new endpoint for searching for accounts based on their status and open or close date.
We added a new context query for finding security’s asset types, or its asset type for a specific asset group.
UUIDs in custom Camel routes
You can now generate and use random UUIDs in your customized camel routes. You can do this by calling a “uuidGenerator” processor, which generates a random UUID into a header with the key “uuid”. After generating the header with the processor, you can use it, for example, in Camel’s “simple” expressions.
Here’s a simple example route that shows how this works. It picks up a file from a test directory, splits the file based on instances of the “§” character and writes the resulting files to a new folder, so that each split file contains a unique UUID in its file name:
<routes xmlns="http://camel.apache.org/schema/spring"> <route id="splitFileRoute"> <from uri="file:{{back.writable.dir}}/uuid/in?move=.history&readLock=changed&readLockCheckInterval=5000"/> <convertBodyTo type="java.lang.String" /> <split> <tokenize token="§" /> <!-- Generate a UUID and add it as a header --> <process ref="uuidGenerator"/> <to uri="file:{{back.writable.dir}}/uuid/out/split?fileName=split-${header.uuid}.txt" /> </split> </route> </routes>
Jsreport version upgrade
We upgraded our jsreport version from 4.1.0 to 4.6.0, and now bundle it with the @jsreport/jsreport-unoconv library. This library allows you to work with OpenoOffice/LibreOffice supported formats within jsreport. For more information about the changes, please refer to jsreport release notes.
HTTPS security headers
To strengthen the overall security of our platform, we introduced security headers for HTTPS traffic against the FA Platform. One of the new headers we are adding is a content security policy header, which now defaults to content-security-policy: "frame-src 'self'; frame-ancestors 'self'; object-src 'none';
. This setting can be overridden per environment. You may need to override this setting, for example, if you want to embed externally hosted elements into a customized FA Client Portal that runs in the FA Platform. In this case, inform FA customer support, and we adjust these settings for you.