RUAL Core v14.0.3
Our platform operates on software, commonly known as core. This software can be run either locally within the cloud environment of Enterprise Customers or within our AWS cluster.
Modified or newly introduced blocks
In this release 11 blocks have been modified and 18 new blocks were introduced. You'll find a complete list of blocks at the bottom of this page.
Two-Factor Authentication API Deprecated
All /api/v1/twofactorauth/* endpoints have been deprecated and replaced with new _system/security endpoints. The legacy endpoints will be removed in a future release. Please update your applications to use the new security endpoints listed below.
Auth Token Property Deprecated
The .agent property in auth tokens has been deprecated and replaced with .device.
The new .device property provides enhanced device identification data and improved future compatibility. Read more about the new device property.
Two-Factor Authentication API Migration
The following legacy endpoints have been deprecated and replaced:
GET /twofactorauth/qr→GET _system/security/methods/qrPOST /twofactorauth/qr→POST _system/security/methods/qrDELETE /twofactorauth/:guid→DELETE _system/security/methods/:guidGET /twofactorauth→GET _system/security/methodsPUT /twofactorauth/default/:guid→POST _system/security/methods/defaultGET /twofactorauth/sms/:phone→POST _system/security/methods/smsPOST /twofactorauth→POST _system/security/methods
New Features & Components
Blueprint Actions:
- Introduce
array_filter_typesfor filtering arrays by value types. - Introduce
value_validate_valuesfor validating multiple values. - Introduce
object_field_to_mutationsfor converting object fields to mutations. - Introduce
mutations_from_objectfor creating mutations from objects. - Introduce
array_merge_by_fieldfor merging arrays based on a field. - Introduce
googlejwtconnection_custom_postfor custom Google JWT POST requests. - Introduce
value_ip_geolocatefor IP address geolocation lookups. - Introduce
file_pdf_analyzefor comprehensive PDF document analysis. - Introduce
user_has_twofactorto check if current user has 2FA enabled. - Add code editor block for blueprint actions.
State UI:
- Introduce
state_datatable_pushfor pushing data to datatables. - Introduce
stateevents_onmouseenterandstateevents_onmouseleavemouse event handlers. - Add onChange event support to
state_advanced_datatable. - Add events to
state_input_price. - Add additional pins to
state_button_contentandstate_button. - Improve
state_autocomplete_single_fieldloading prefill behavior. - Improve
statedatatablefilter_query_dynamicfunctionality. - Add rows per page to query for
state_advanced_datatable. - Move onclick from row to checkbox column for
state_advanced_datatable. - Make whole td clickable for radio state input.
APIs & Services:
- Introduce User Groups System CRUD APIs for managing user groups.
- Add refresh token authentication support.
- Add IP to /info endpoint and email service detection.
- Add options in pin to
floridayconnection_custom_get.
Security Improvements
Security Enhancements:
- Improve IP attack checker with whitelist and threat blocking levels.
- Improve 2FA API security and SMS verification.
- Improve threat blocking with IP geolocation analytics.
- Fix WebSocket security vulnerabilities.
- Improve user-agent parser bot detection.
- Improve token expiration handling and fix critical renewal bugs.
- Add fallbacks to group scope checks.
- Fix 2FA SMS domain, timezone, and configuration handling.
Performance & Technical Improvements
Performance Optimizations:
- Optimize
mutations_difference_from_objectblock. - Improve ElasticSearch query performance and fix waitForESQueue race conditions.
- Improve PDF conversion performance.
- Fix Chrome profile collisions for browser automation.
Block Enhancements:
- Add border skip option to
file_pdf_color. - Add quick mode to
file_pdf_color. - Add custom headers support to
function_download_file. - Add missing action type definitions for array blocks.
- Add take over pin to condition blocks.
- Improve device check for
user_is_on_mobile. - Extend store options for storage blocks.
- Add support for include removed in custom datatable queries.
- Add skip removed to
function_remove_documents.
Infrastructure:
- Add configurable max timeout for webhook trigger blocks.
- Change max timeout setting location for HTTP blocks.
- Improve blueprint editing logs and change tracking.
Bug Fixes
Critical Fixes:
- Fix autocomplete not removing close function.
- Fix duplicate IPs in IP ban handling.
- Fix empty body handling in requests.
- Fix routing errors.
- Fix PLACEHOLDER references in custom React components.
- Improve 2FA SMS handling and configuration.
UI Fixes:
- Improve week selector of deprecated
component_datatablemodal. - Move
state_advanced_datatablefilter improvements.
Deprecations
Deprecated Features:
- Deprecate Discord action types and clean up legacy code.
- Remove blueprint deployment logic.
Blocks introduced
code editorvalue
Opens a code editor to define code in various languages (CSS, HTML, JavaScript, JSON, etc.). The code is stored in a document on disk.
code editor state
Opens a code editor to define code in various languages (CSS, HTML, JavaScript, JSON, etc.). The code is stored in a document on disk.
custom get floridayconnection
Executes a custom GET request.
custom post googlejwtconnection
Make custom requests to any Google API
filter types array
Returns an array of all items matching the selected type
from object mutations
generates an array of mutations from an object
geolocation from ip value
Retrieves location data (city, region, country, coordinates) from IPv4/IPv6 address using a geo database
has 2fa user
Returns true if the current user has 2FA enabled and outputs the enabled methods.
merge by field array
will return the merged array matching using the match_key.
multiple stateevents
Combines multiple state events
on mouse enter stateevents
Triggers the event everytime the mouseenter event has been registered on the UI for the connected element
on mouse leave stateevents
Triggers the event everytime the mouseleave event has been registered on the UI for the connected element
push to datatable state
Sends a state update to the datatable to refresh their data.
repeating event schedule
function will rerun by the giving date
selected fields to mutations object
Gets the selected fields from the given object and returns a fresh mutations from it.
validate against whitelist value
Validates input against a whitelist of safe values, returning the input if safe or a fallback if not
validate hex color condition
Validates the given HEX color
validate value length condition
Validates a value against length checks, maximum length check is optional
Blocks modified
advanced datatablestate
A pre-styled advanced table showing data using advanced tooling
difference to mutations mutations
generates an array of mutations representing the differences between two objects.
download function
download a custom file from a given endpoint
dynamic query filter statedatatablefilter
Creates a dynamic filter using a query
is alphanumeric condition
Validates that a value contains only alphanumeric characters, spaces, and asterisks
pdf color file
Retrieves the color from the PDF.
pdf to image file
Converts the given PDF to image files.
query filter statedatatablefilter
null
request 2fa sms function
request a 2fa code for the user
send webhook discordconnection
Send a message using the Discord Webhook URL.
validate username condition
Validates username format - allows letters, numbers, underscores, hyphens, and dots only
Blocks deprecated
action rowdiscordcomponentconnection
Create a Discord action row component
add guild member role discordconnection
Add role to guild member
add reaction discordconnection
Add reaction to a message
add thread member discordconnection
Add member to a thread
ban guild member discordconnection
Ban guild member
button discordcomponentconnection
Create a Discord button component
create guild channel discordconnection
Create guild channel
create guild role discordconnection
Create guild role based on guild ID
create invite discordconnection
Create an invite for a channel
create thread discordconnection
Create a thread in a channel
defer discordinteractionconnection
Defer a Discord interaction
defer reply discordinteractionconnection
Defers the reply to this interaction.
defer update discordinteractionconnection
Defers update to this interaction.
delete guild channel discordconnection
Delete guild channel
delete guild role discordconnection
Delete guild role based on guild ID and role ID
delete invite discordconnection
Delete an invite
delete message discordconnection
Delete a message based on channel ID and message ID
edit message discordconnection
Edit a message based on channel ID and message ID
edit reply discordinteractionconnection
Edits the reply to this interaction.
follow up discordinteractionconnection
Follow up to this interaction.
followup discordinteractionconnection
Send followup message to a Discord interaction
get channel discordconnection
Get channel based on channel ID
get channel discordinteractionconnection
Get channel from a Discord interaction
get guild discordconnection
Get guild based on guild ID
get guild discordinteractionconnection
Get guild from a Discord interaction
get guild channels discordconnection
Get all channels in a guild
get guild member discordconnection
Get guild member based on guild ID and user ID
get guild members discordconnection
Get all members in a guild
get guild roles discordconnection
Get all roles in a guild
get invite discordconnection
Get invite information
get member discordinteractionconnection
Get member from a Discord interaction
get message discordconnection
Get message based on channel ID and message ID
get message history discordconnection
Get message history from a channel
get options discordinteractionconnection
Get options from a Discord interaction
get role discordconnection
Get role based on role ID
get user discordconnection
Get user based on user ID
get user discordinteractionconnection
Get user from a Discord interaction
get values discordinteractionconnection
Get the values of an interaction.
join thread discordconnection
Join a thread
kick guild member discordconnection
Kick guild member
leave thread discordconnection
Leave a thread
modal discordcomponentconnection
Create a Discord modal component
modify guild member discordconnection
Modify guild member properties
multiple discordcomponentconnection
Combine multiple
pin message discordconnection
Pin a message in a channel
remove guild member role discordconnection
Remove role from guild member
remove reaction discordconnection
Remove reaction from a message
remove thread member discordconnection
Remove member from a thread
reply discordinteractionconnection
Reply to a Discord interaction
select menu discordcomponentconnection
Create a Discord select menu component
send dm discordconnection
Send a direct message to a user
send message discordconnection
Send a message in an selected channel based on the Discord connection.
set activity discordconnection
Set bot activity/status
unban guild member discordconnection
Unban guild member
unpin message discordconnection
Unpin a message in a channel
update discordinteractionconnection
Update this interaction.