Exolynk v0.7.2
Posted 2024-01-16 12:00:00 ‐ 3 min read
This article shows the details of the release v0.7.2
The Exolynk release v0.7.2 implements some new features and bug fixes in relation to the big changes introduced with the prior version.
Push Notifications
Exolynk can now send push notifications to your browser / device. This works realiable on Firefox and Chrome, just accept the question if the app is allowed to send notifications. For mac & ios you need to add the exolynk app as app to your home screen / command bar. After that you will also receive push notifications.
The push notifications can be sent by any service over the exo::db::push_notification();
function. This can be really helpfull to notify users about important changes.
Language JSON format
The value of an language variable was serialized & deserialized with the following format until now: {"typ":"language","langs":[["en","Car"],["de","Auto"]]}
. This is problemeatic, because the language keys and the corresponding translations are stored within 2 different arrays. This structure can't be understood by our make connector, because it's a bad practice. With this release the JSON structure is changing to this format: {"typ":"language","langs":{"en":"Car","de":"Auto"}}
. This new structure will be applied for all internal storage formats and also all external API endpoints. If you work with the old format, your integration will fail with this update and need to be adopted.
Furthermore this change disables binary messages for the internal websocket communication and uses json based communication. This will unfortunatelly lead to bigger messages which get transferred. With the next version, the platform will return back to binary messages. This version also resets all login keys at every start to make the upgrade as semless as possible. This bevaior will also be removed with the next version.
Server Configurations
To higher the security of the application following changes have been introduced:
- The private encryption key of the session variables needs to be defined by the configuration
session_private_key
and requires a private key with at least 100 characters - The private encryption key for the webpush messages need to be defined with
vapid_private_key
in a base64 encoded format. You can generate keys on this website.
Following a list of all changes which are included with the v0.7.2 release.
Breaking Changes:
- The server needs a
session_private_key
variable with a encryption - Web Push notifications support needs a
vapid_private_key
server configuration #255 - Change of language value json format #389
New Features:
- With the detail setting
menu_workflows
it's possible to name comma seperated workflow ident's which will be shown in the main menu #374 - Added new
exo::ui::UrlQuery
struct to receive url query parameters. This allows to use custom query values #374 - New
exo::dom::Dom
functionsget_node_by_id
andset_node_by_id
to better manipulate the dom before rendering #374 - New script function
new_row_top
for Table variables added
Bug Fixes:
- Code which is deactivated will not be executed anymore #386
- Search filter selection is not breaking anymore #387
- A click on a button inside the main menu, will always close the menu
- Printing the page is done with the correct layout again #385