Exolynk v0.9.5
Posted 2024-08-01 08:00:00 ‐ 3 min read
This article shows the details of the release v0.9.5
Following a list of all changes which are included with the v0.9.5 release.
E-Mails
Exolynk supports sending emails OOTB. Finally 🎉.
They can be sent over an default system email account, which just works
out of the box for you. This email allows you to send notifications directly
to your users, but it's strongly forbids any kind of promotional mailings.
To send any kinds of mails from you own account, it's now possible to leverage an SMTP connection. These complete new features can be used
by any service within exolynk with the exo::be::Smtp
and exo::be::Email
endpoints.
Endpoints
It's now possible to create custom endpoint scripts, which can be called over the REST API. These endpoints handle incoming and outgoing data in an asynchronus way. This is a small example, which returns the request back the sender.
pub async fn main(req, res) {
res.set_header("content-type", "text/plain")?;
let reader = req.body()?;
let writer = res.body()?;
writer.copy(reader);
Ok(res)
}
This functionality can be combined with the new file APIs which use the same, Reader and Writer structures to handle any kind of data or files.
Secrets Manager
With this version it's possible to define Secrets inside the Exolynk settings. Secrets can only be set over the UI and never be read. The defined secrets are stored securly inside the database and can only be accessed within a Service as following:
let sm = exo::be::SecretsManager::new().await?;
assert_eq!(sm.get("secret"), Some("Password"));
This Method should be used to not leak passwords or other security relevant data via a Service. The SecretsManager allows to load the correct secret from the database and is not exposing the secret to everyone who has access to the Service code.
New Features:
- Sending emails with optional Exolynk theme #503
- Code autocompletion for scripting
- Added service hook
new_record
- Login loading spinner added
- Exchanged anyscale with deepinfra as AI provider #504
- Super Admin can change the Environment Ident #485
- Added script functions
base64::encode
&base64::decode
- Added a
exo::Reader
object to read data asynchronously - Added a
exo::Writer
object to write data asynchronously - Added
exo::fs::read_file
&exo::fs::read_file_preview
functions - Added
exo::fs::write_file
&exo::fs::write_file_preview
functions - Public pages don't need a special public user anymore
- Added Endpoint functionality to create custom REST functions
- Added the
exo::be::SecretsManager
for Services
Bug Fixes:
- Record access_rights can be updated as list
- User uuid is considered correctly for access_rights
- Homelayout is now shown at first login #502
- PNG files are now shown without error in file preview #506
- Dyn workflow names in Table better displayed