Checkpoint release, new embed settings, improved datasource connectivity and more

Vihar Kurama
Posted by Vihar KuramaPublished on Feb 08, 2023
4 min read
Januarysmith

WHAT HAPPENED IN JANUARY

January was a wild ride with the release of exciting new features and upgrades in response to user requests, including improved embedding settings, a smoother drag-and-drop experience, and more. Let's check out the details.

MongoDB 5.0.12, Java11 → Java 17

We moved to v1.9.0 up from v1.8.x to bring MongoDB v5.0.14 and Java 17 to you. Upgrading to these major versions let us bump up our dependencies on Spring Boot and Spring Security.

Because we also migrated credentials to a new encryption format, you will have to go through this checkpoint release when you upgrade before you can be on the latest Appsmith release.

Due to the nature of this upgrade, reverting to a previous version is not recommended as it may pose the risk of corrupting the database.

Embed Appsmith apps from the Canvas

Appsmith apps can now be embedded into other apps and sites using UI-embedded controls.

Use triggers from said parent app or site to execute Actions in Appsmith.

  • An event listener called subscribeParentMessage lets you specify the domain from which your app will take triggers.

  • A counterpart listener called unsubscribeParentMessage will let you stop the app from taking triggers from that domain.

Remember dynamic Menu items from v1.8.12? They are now available on Menu Button columns on the Table. You can now use JavaScript to configure those menus for all rows with one swift line of code.

Small features, big impact 💪

Comment it out - Comment or uncomment away with ⌘ or Ctrl + / in any field that lets you write JavaScript.

A very easy to use counter - Input widget's step-up and -down arrows can now be hidden using a JavaScript-enabled toggle for times when a unit increase or decrease doesn't make sense.

Improved connectivity to datasources

  • Datasource connections, including Postgres and authenticated APIs, will only prompt to save changes made to the configuration.

  • Google Sheets connection changes require a choice between ‘save’ and ‘authorize’ or ‘don't save’ when returning without saving, with a helpful prompt provided.

  • When you make changes to your Google Sheets connection and go back without saving said changes, you will now be helpfully prompted to ‘save and authorize’ or ‘don't save’ those changes.

  • Password fields (password, client secret) indicate if a password is needed or if a previous password was saved when connecting to a datasource.

  • Queries can now access a MySQL datasource through five connections, eliminating the excuse to take a coffee break.

  • Postgres authentication now supports password-less trust authentication, but its use is at the user's risk.

Drag-and-drop is a drag no more.

Here's some highlights of our drag-and-drop improvements.

  • Widgets resize against the edges of the canvas if you keep pushing.

  • They do that when you bring them against the edge of a container, too.

  • Hold them there, and they start to push away the container or other widgets to reclaim their original size.

  • Push them into containers and it doesn't feel like you are trying to phase them through a wall.

appsmithctl gets two new powers. ⌨️

  • appsmitctl version will tell you the version of Appsmith you are running.

  • appsmitctl mongo-eval isn’t for you unless you are told to run it by our Support folks. No, seriously. Don’t run it if you don’t want data leaks.

Auto height goes 😏 → 😍. 🪜

We continue to make improvements to Auto-height For Widgets.

  • Min-max handles now display the row difference, allowing use without requiring precise cursor movements.

  • All new and existing JSONForms can turn on Auto-height, which is now on by default. Enjoy the ability to make forms dance to your tunes.

The List widget had to make its children dumber for Auto-height to work correctly, but now it is smart once again.

Watch Abhinav, the Lead Engineer, talk about how we continue to ship these improvements fast and go behind the scenes of the build ⬇️.

Source Code - How we built auto height for Widgets

Spring has come a little early. 🧹

  • Performance improvements are owed to smart logic for figuring out tooltips on a table’s cell when the contents of the cell don’t fit.

  • The Text widget now gets your ducks text in a row.

  • Pasting widgets on the canvas now follows the pointer accurately for placing the new widget.

  • More performance improvements in this version, this time with smart-optimizing how JS Toggles in widget props work behind the scenes and how many times we call the datasource schema in the Entity Explorer.

  • The RTE now gets some 🧡. Emojis are now available in the Rich Text Editor in the toolbar and the WYSIWYG space.

  • The Datepicker now shows up inside the Table and lends all its powers to datecolumns.

  • Remember JSONForms letting you access hidden data? The prop field is now called Show hidden fields in datato save you the pain of scrolling up and down in props.

#JustPublished things.