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 9 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 editorstate 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 value Opens a code editor to define code in various languages (CSS, HTML, JavaScript, JSON, etc.). The code is stored in a document on disk. create document function Creates a document in the given storage. 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. 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. 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 request 2fa sms function request a 2fa code for the user 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 discordinteractionconnection Get channel from a Discord interaction get channel discordconnection Get channel based on channel ID 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 discordinteractionconnection Get user from a Discord interaction get user discordconnection Get user based on user ID 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.
