Rubber Dust
Lowcoder v2.4.6
After a fruitful summer full of hard work, we are pleased to present v2.4.6 of Lowcoder. Alongside many bug fixes and improvements, we have introduced a long list of fantastic new features!
New Features
New & Updated Translations
- Language Updates: Existing languages are updated based on English as the master file - by Deepl APIs help.
- New Languages Added: We now support Chinese, English, Italian, Spanish, Portuguese, German, and Russian. More languages will follow. The new Languages Italian, Spanish and Russian are fully auto-generated. It would be amazing if you can help us to correct the flaws, so the translation will increase it it's quality! Soon we will prepare a small App, that can help to achieve this for you.
Table Enhancements
- Summary Rows in Tables: You can now add up to three empty rows that are unconnected to the data source and fill them with summary calculations or status/progress displays (e.g., "SUM", "TAX", "TOTAL"). Data calculations can be performed for each column based on the bound table data object or other queries. (#1114)
- Improved Table Editing Experience: Editing data in tables is now more efficient. Users can activate edit mode with a single click or double-click (configurable by the App Creator) and navigate through cells using the tab key, which auto-activates edit mode. (#1114)
- New Record Edit Rows: App Creators can activate a new row type displayed at the end of the table to enable users to enter new records. The data is accessible as
table.toInsertRows
and can be bound to a different Data Query (e.g., INSERT). (#1114)
Timezone Support for Date and Time Components
- Timezone Selection: The App Editor can set a default timezone for Date, Date-Range, Time, and Time-Range components or allow users to select the corresponding timezone. The
time.timeZone
provides a JSON object with information about the user-selected timezone, andtime.formattedValue
includes the timezone name accordingly. (#1144, #1151, #1162)
Calendar Updates with Tab-Modal
- Enhanced Event Data Entry: Provides more fine-grained control for event data entry in the calendar.
- Improved Visuals for Past Events: Colors are now also applied to past events with a slight grey layer, making it visually clear that these events are in the past.
Kanban Component (Experimental)
- New Kanban Component: Introduced an experimental Kanban component, demonstrating the ability to place Lowcoder components inside the Kanban card display, opening up endless possibilities for its use.
Supabase SDK Integration
- Native Supabase SDK Support: App Creators can now fully use the Supabase Client SDK in their apps.
Scrollbar Control
- Enhanced Scrollbar Options: Added better scrollbar control (dynamic or static switch) to show/hide vertical and horizontal scrollbars independently for many components like Table and Container. (#1080)
Customizable HTTP Headers for OpenAPI Data Queries
- HTTP Header Customization: Added the ability to customize HTTP headers for OpenAPI-based Data Queries.
User Logout Function
- Programmatic User Logout: Added a user logout function (
utils.logoutUser()
), allowing App Creators to help thecurrentUser
log out via a JavaScript Query.
Modal Component Enhancement
- 'Open' Event for Modals: Added an 'open' event to the Modal component, so App Creators can now use event handlers when the Modal is opened by a user. (#1139)
FirebirdSQL Data Source
Private NPM Registry Support
- Private Component Repositories: Changed the Remote Components Repository mechanism to support private hosted repositories. App Creators and companies can now operate and use a private NPM repository for their individual component plugins, which also aids in component plugin development. (#1061)
Concurrent App Editing Display
- Optimistic Locking Strategy: Introduced a display to notify when another user is editing the app. If User A is editing an app and User B opens the same app, User B will receive a notice that User A is editing. After 3 minutes of inactivity from User A, the lock will be removed, and User B can proceed to edit the app. (#1113, #1163)
Improvements
App Rendering Optimization
- Minimized Re-rendering: Invested time to optimize and speed up app rendering, enhancing the overall experience for App Users. (#1147, #1159)
Unified Waiting Indicators
- Controllable Loading Indicators: Unified various waiting indicator types to now only show skeletons for all components. This helps to calm the visual impression of app loading states. Added the possibility to generally activate or deactivate the loading display for "App Loading" and "Data Query Loading" via Themes. (#1146)
Improved SMTP Server Support
- Fixed SMTP Server Issues: Resolved issues with the SMTP server to send password reset emails. (#1171)
Page Title Customization
- App Title in HTML Title Tag: Enabled the App Title (from App Metadata Settings) to be displayed in the HTML title tag, so it shows as the page title in browser tabs. (#1158, #1161)
Extension/Module Search
- Module Search Enhancement: Fixed the issue where users could not search in the Extensions/Module section for their modules by name. (#1154)
Reduced Branding in Password Reset Emails
- Neutral Email Templates: Reduced branding in the email template for password reset. Now it is fully neutral.
Option to Show/Hide Save/Cancel Buttons in Table Toolbar
- Toolbar Customization: Added an option to show or hide save/cancel buttons in the table toolbar. Exposed functions within the table to cancel changes. (#1129)
Dynamic/Conditional Styles
- Enhanced Styling Options: Allowed dynamic and conditional styles, and refactored logic for applying themes on each component. (#1105)
Upgrade Dependencies
- Ant Design Upgrade: Upgraded Ant Design to version 5.20.0. (#1102)
Scrollbar Control
- Show/Hide Scrollbars: Added a switch to show or hide scrollbars (vertical/horizontal independently) for components like Table and Container. (#1080)
Bug Fixes
- Fixed 'Blank Screen at Startup' Issue: Resolved the issue causing a blank screen at startup. (#1157)
- Fixed Cookie Expiration Error: Fixed 500 error when cookies expire. (#1079)
- Allow MongoDB SSL and SRV Configurations: Enabled SSL and SRV configurations for MongoDB data sources. (#1107)
- Refresh Token Issues: Fixed issues related to refresh tokens. (#1150, #1153)
- SMTP Class Not Found Error: Fixed SMTP issue where class not found error occurred. (#1171)
- LocalStorage Issue: Resolved the issue with LocalStorage. (#1157)
- Fixed Error When
dsl == null
: Resolved error that occurred whendsl
is null. (#1166)
Other Changes
- Docker Updates: Made updates to Docker configurations. (#1138)
- Helm Kubernetes Autoscaling API Update: Updated Helm Kubernetes autoscaling API version to v2. (#1165)
- Chore: Deploy to Elestio Button Updated: Updated the deploy to Elestio button. (#1118)
New Contributors
We welcome our new contributors who have made their first contributions in this release:
- @jamesandariese in #1096
- @kaiwalyakoparkar in #1118
- @mat02 in #1136
- @dokdo2013 in #1165
- @dragonpoo in #1168