Appsmith 2021:
A year in review

Our mission at Appsmith is to help every developer quickly build the best internal tools

This year, we did a lot!

Sure, we introduced over 150 enhancements, including major features like JS Editor, Gitsync, and 30+ new widgets and variations, but in 2021, we also took a deep breath and focussed on the one thing that matters: Product Quality.

From being an idea or a prototype, we developed Appsmith into becoming a reliable and mature platform that companies and individual developers can trust. Here's to a great 2021, and an even better 2022!

168
Contributors
2k+
Community Members
1.14k
YouTube Subscribers
297
Community issues closed
Tips Icon
Get Appsmith tips, event invites & community updates
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

208

Appsmith
features released

20k

Apps built
with
appsmith

150+ Upgrades in One Year

New Datasources with Improved UX

SMTP plugin on Appsmith

We shipped an SMTP plugin that can be easily configured to send emails within applications.

Snowflake Integration

Appsmith applications now natively integrate with Snowflake

Redis Integration

Appsmith applications now natively integrate with Redis

ArangoDB Integration

Appsmith applications now natively integrate with ArangoDB

Amazon Redshift Integration

Appsmith applications now natively integrate with Amazon Redshift

Google Sheets Integration

Added dynamic inputs in URL to read/update at runtime and smart substitution to bind multi-line form inputs.

Amazon S3 Integration

Upload multiple files, auto detect instances, non-client certificate based SSL, supports S3 compliant alternatives. We've added a new list buckets query for the S3 data source.

Authentication Types on REST API

Added new options for configuring the authentication types for your APIs. This includes API Key based Auth, Bearer Token or combined configuration.

Updates to MongoDB datasource

Now create datasources without username/password and bind variables better via smart substitution and SRV support. MongoDB credentials are stored in the .env file during installations instead of docker-compose.yml.

New Add-ons to Firestore Datasource

We improved UX and added support for defining key paths for FieldValue.delete() and FieldValue.serverTimestamp() values. Descending ordering of documents. We also included server-side pagination, support for bindings with Where condition value, and multiple Where conditions.

Type Casting in Postgres Prepared Statements

Added support for explicit data type casting in Postgres Prepared Statements

Made UI Building Easy

Generate a CRUD app with one click

You can now create a CRUD application including all the UI and logic with just one click for SQL, S3, or Google Sheets data sources.

Improvements to Button Widget

We have included Google re-captcha API, new icons, and group button widgets.

Styling properties on Text Widget

We added new styling properties and conditional formatting using JS in the Text Widget.

Send Emails and Make Calls

Now send e-mails and make calls on Appsmith apps via the addition of mailto and tel properties in navigateTo function.

Reset Widget Global Function

Added a new function that resets data from the form context globally.

Improvements to Table Widget

We have added dynamic fields, dynamic row coloring, menu buttons, redirect URLs, multi-select rows, filtering options, and tables in the Rich Text Editor. You can also convert data to .xls and .csv, hide table headers for better UX.

New Divider Widget

We added a new Divider Widget to help with visually separating or compartmentalizing different parts of your application.

All-new Checkbox

Now configure multiple checkbox inputs in just one single widget.

Improved Date Picker Widget

MomentJS support, new validation, closeOnSelection property for smooth interaction and extended workflows

Improvements to Filepicker Widget

Added file name field to Filepicker's files property, and added text property for the file widgets.

New Document Viewer Widget

Added a new Document Viewer Widget. You can now display and read documents in various formats.

Mobile / Tablet viewport support

Appsmith pages now support more devices in the AppLayout Options for a better viewing experience from large tablets and mobile screens via a resizable canvas layout option.

New Hamburger Menu

We shipped a new Hamburger Menu widget to create menus in Appsmith apps. You can use these to customize them with different actions.

New iFrame Widget

Introduced the iFrame Widget. With this, you can embed pages, documents, and components within your Appsmith
applications.

Improvements to Image Widget

Now you can resize your images based on your preferences within the container using Object-fit property. We also added a feature to rotate images.

Improved List Widget

Enhanced S3 integration to return permanent URLs for List action. Now you can also iterate over a certain repetitive data and display them in a non-tabular fashion, with allowed spacing, customizable height, use modals and add multiple bindings.

Improvements to Input Widget

We added spell-check and currency data type to the Input Widget. We also introduced onSubmit, a new property to handle data on Forms.

Geolocation APIs

New JS APIs for geolocation are now available. This allows you to build location aware apps.

Improved Modal Widget

We have added an onClose property to the close icon on the Modal widget; now, you can create any action after the modal is closed.

New Rating Widget

We added a new widget for ratings. This widget allows you to perform a quick rating operation on something!

Updates to Select Widget

We’ve added a new property to the Select widget that can hide the filter options.

New Multi-select Widget

Having multi-select and single-select dropdowns in a single widget was limiting a few properties. Now, we have them
as two independent widgets, all with a feature-rich experience.

New Tree-select Widget

Captures user inputs from a specified list of permitted options. Each option can have child options associated with it.

New Stat Box Widget

We added a fully customizable Stat Box Widget to display numerical information.

New Switch Widget

Now you can handle boolean values and options through our New Switch Widget.

New Switch Group Widget

A new Switch Group Widget has been added. With this you can handle radio buttons to include multiple options.

Updates to Tabs Widget

Added functionality to show/hide a tab from tab property pane controls.

More styles to widgets

We have added more style properties to the container widget, you can now update backgrounds, borders, and shadows.

Access Profile Data

Now add your profile data on your Appsmith apps using our profile data APIs.  

Import Export Applications

You can now create an application on one instance and import/export to another instance.

Improvements to Charts Widget

We added support to integrate Fusion Charts on Appsmith. You can configure actions to be executed on your chart data.

Grouping Widgets

Move, select, delete multiple widgets by grouping them using simple shortcuts. Copy paste multiple widgets using crtl/cmd + c, crtl/cmd + v.

Synchronous storeValue function

We made the storeValue function calls synchronous. You can now access those values directly while running queries.

Copy to Clipboard

Now copy any data to clipboard, including widgets and queries.

Reset Values on Form when Submit

Added a new option to reset input widgets' value(s) on submit on forms and inputs.

selectedOptionLabel in Dropdown Widget

Added a new selectedOptionLabel property in dropdown widget to access the active value.

New shortcuts to run Queries

Added new shortcuts. You can now use cmd + return or ctrl + enter to run APIs and DB Queries on Appsmith.

Widget selection actions

You can now use cmd/meta/shift + drag to select or unselect widgets on the canvas. If you want more control, you can do the same from the entity explorer using shift + click to select nodes (widgets with nested options).

Real-time Commenting

Use real-time commenting (yes, just like Figma!) to communicate directly, provide feedback, and collaborate, while working on internal tools

Made Data Query Experience Seamless

Prepared Statements

For MySQL, MS SQL and Postgres, we added support for explicit data type casting in Postgres. Additionally, you can activate this under the request params section.

Intelligent JSON Substitution

We have added new JSON intelligent substitution has been added for REST API Plugin for auto-formatting JSON.

Parallel Tasks During On-page Load Actions

To increase performance of Appsmith applications, you can now schedule parallel tasks during on-page load actions.

Query Count

See the results count, while running an API or DB Query, helping you know the total objects available for binding.

Support Multipart/form-data for REST APIs

Added functionality to support multipart/form-data to Appsmith's API pane section. You can now select the tab Form-Data in the data types under Body; Appsmith will send a multipart form data request to the backend API.

Expose API Response Headers

We now expose API response headers and response status to our programmatic interface. You can now handle API responses in more scenarios.

Execution Timeouts for PostgreSQL / MS SQL

We have added support for execution timeouts for PostgreSQL and MsSQL actions.

New Functions to Run Queries Periodically

You can now run APIs or DB queries periodically using setInterval and clearInterval JS functions.

Form-based Queries in MongoDB

We have added support for form-based queries in the MongoDB integration.

Merge Multiple Update Commands

You can now merge multiple update commands into a single command in the MongoDB Form.

Show Common Headers from data sources

Reusing a saved data source now displays the common headers from the data source in the API pane.

Dynamic Plugin Editor Forms

We upgraded all the plugin editor forms to be dynamic. You can now see the evaluated value of the mustache expression.

Ensured Your Data is Safe

Restricited App Viewing access

Allowed app-viewers to invite others as app-viewers. Users with only view access do not need to reach out to their
developers to share apps any more.

Ability to Update Maximum Response size

Modify the maximum response size for plugins on self-hosted instances by adding the environment variable APPSMITH_PLUGIN_MAX_RESPONSE_SIZE_MB. Currently, this only works for the PostgreSQL plugin.

Control Sign-Ups on Self-hosted Instances

Added an ability to disable uninvited sign-ups via environment variable for self-hosted instances.

Created a Better Native IDE Experience for Coding & Debugging

Full-fledged JS Editor

You asked and we delivered! Appsmith now ships with a full-fledged JS Editor. No more writing code in a cramped space.

Smarter Debugger

We made the debugger smarter! Now, while building applications, the debugger shows errors for individual
widgets with the concerned properties.

Undo-redo on the Entire Appsmith Editor

You can now undo and redo your changes across the entire Appsmith editor, not just the UI.

Support for non-ASCII characters

When non-ASCII characters are copied or used while writing JS, the evaluation breaks, we fixed this issue by
replacing the quotes with ASCII quotes when typing.

View Applications by Last Edits/Accessed

We have added a new feature that shows information about the last edit on the application. Recently accessed apps show up first.

Slash Commands

We introduced Slash Commands as a quicker and simpler way to bind widgets to a data source. Now you can trigger
commands by typing ""/,"" which can be utilized anywhere outside a dynamic binding.

Docked Property Pane

Appsmith IDE just got a lot better because of your requests. The property pane for widgets is now docked to the right side.

Improved Onboarding

Shipped a much-improved experience for new users trying Appsmith for the first time.

Better Linting Experience

We improved JS code linting to support optional chaining, null coalescing, and even trigger functions.

Improvements to the Omnibar

You can start using global search via cmd/ctrl + k shortcut and get access to the docs, widgets, code snippets. This new feature also accepts special characters to enable search for code snippets. Based on your search term, this feature will highlight relevant words on the canvas and error messages in the debugger.

Version Control with Gitsync

With version control, now you can commit changes, create new branches to test or review your changes in isolation, and then merge those changes to deploy.

New Page Properties

Rename, reorder, duplicate, and delete pages all in one place. Just click on the application name and select the page option from the dropdown to configure the pages inside.

New Auto-Complete

Shipped a new auto-complete feature in action forms for all integrations and plugins.

Widget Error Heads-up

If a widget has an error, you’ll see it next to the widget name, in the editing mode.

Get Latest Updates

We now have a a new feature to display updates and release notes on all-environments, so as to users can upgrade to latest release. Especially useful for self hosted users.

Widget Suggestions and Snipping Mode

As soon as you run your query, you'll see all the relevant widgets that you can use and directly add them to the page when selected.

Configure entities on property pane

You can now configure the incoming entities and outgoing entities on the widget property-pane.

New Toast Message

A toast message will show up when an action is intelligently set to execute on page load.

New JS Snippets

Ever wondered what code to write while transforming data inside Appsmith? We got you covered with some handy JS Snippets for common use-cases.

Leave Organizations

Added an option to leave organisations so that you can look at what's important and maintain a clutter-free dashboard.

Open Pages in New Windows

Added support for navigateTo function to open page or any links in a new window.

Overhaul of API Page Design

We have put in a new API Pane Design in place for a rich developer UX.

Made Deploying Appsmith Effortless

Faster Build Time

Updated the Maven dependencies to reduce build time and Jar Size of S3; it's 80% faster now! Added build support on Appsmith for Maven v3.8.

Custom SSL Certificates on Deployments

With this upgrade, Appsmith deployments support using custom SSL certificates instead of the ones generated by LetsEncrypt.

Kubernetes Health-check Monitoring

Added health check monitoring for the Appsmith server in Kubernetes installations.

Ansible Playbooks to Deploy Appsmith

If you prefer infrastructure-as-code, this ones' for you. We have added Ansible playbooks to deploy Appsmith on your servers.

Upgrades to AWS AMI deployment

Our AWS AMI now uses the new Docker image and is easier to setup and use.

Helm Charts

Helm charts are now added for Appsmith deployments on Kubernetes.

Appsmith Docker support for ARM architecture

Appsmith Docker images now work on ARM architectures. This is especially useful for Apple's new M1 Macbook users.

Try CloudHost it Yourself

We integrate with everything.

Plug into any datasource quickly and seamlessly. Today we integrate into all major databases and APIs, be it REST or GraphQL, to help you build you application.

See all integrations

Committed to Empowering Everyone

We have been working hard to create an exhaustive repository of learning resources and material like tutorials, guides, and templates to learn how to make the most of Appsmith.

Videos: Tutorials, Features, Live Demos and more!

See All Videos

Collaborations & Events

Partner With Us

We Love Building in Public

Design
We take user experience and design seriously. We encourage community members to share their thoughts on new UI/UX enhancements.

See Our Figma!

Features
Our road mapping sessions are public and involve participation from the community, helping us prioritise and improve our product roadmap.

See How!

Contributions
We're a developer centric project. We welcome contributions that help make Appsmith bug-free and improve the experience of our users.

Contribute!

JS Objects! 😱THIS IS SO GOOD!!! ❤️ 🎉 🎉 🎉@appsmith-team Thank You!

pmioduszewski

pmioduszewski

@pmioduszewski

After my second day using Appsmith, but a few years using OutSystems & Mendix, I just wanted to say "Great Job". You are building an awesome product. Keep it up

Geoff Nunan

Geoff Nunan

@GeoffNunan

Using a headless CMS, I wanted a frontend. Appsmith actually does what I was thinking.

Arunmozhi

Arunmozhi

@tecoholic

THANK YOU for pushing out a fix for the log4j vulnerability so quickly.  Of all the vendors we deal with, you were the first.  Kudos.   It is a nasty issue ugh.

David Bamboo

David Bamboo

@davidbamboo

I was playing around with Appsmith today and I'm super impressed by not only how feature-rich and easy it is, but also how FAST it is!

Vybhav Ramachandran

Vybhav Ramachandran

@vybhavram

JS Objects! 😱THIS IS SO GOOD!!! ❤️ 🎉 🎉 🎉@appsmith-team Thank You!

pmioduszewski

pmioduszewski

@pmioduszewski

After my second day using Appsmith, but a few years using OutSystems & Mendix, I just wanted to say "Great Job". You are building an awesome product. Keep it up

Geoff Nunan

Geoff Nunan

@GeoffNunan

Using a headless CMS, I wanted a frontend. Appsmith actually does what I was thinking.

Arunmozhi

Arunmozhi

@tecoholic

THANK YOU for pushing out a fix for the log4j vulnerability so quickly.  Of all the vendors we deal with, you were the first.  Kudos.   It is a nasty issue ugh.

David Bamboo

David Bamboo

@davidbamboo

I was playing around with Appsmith today and I'm super impressed by not only how feature-rich and easy it is, but also how FAST it is!

Vybhav Ramachandran

Vybhav Ramachandran

@vybhavram

It’s great. Has capabilities like inbuilt JS, Queries, APIs, Great UI. Wasn't expecting it to be this good. Appsmith will be a force to reckon with.

Jot Sarup Singh

Jot Sarup Singh

@jot_sss

Ability to quickly build, but yet, have the power to customize using the knowledge of code. Love what you’re doing with Appsmith.

Bargava

Bargava

@bargava

Appsmith can connect to a database or API to show data in charts and tables while Bubble can't do that. You can also self-host Appsmith.

Sourav Karmakar

Sourav Karmakar

@thesplusk

I've just looked into Appsmith and it seems like a fantastic solution!

Codechoir

Codechoir

Hacker News

We've starting using Appsmith at @FyleHQ and are loving it!

Siva Narayanan

Siva Narayanan

@k2_181

It’s great. Has capabilities like inbuilt JS, Queries, APIs, Great UI. Wasn't expecting it to be this good. Appsmith will be a force to reckon with.

Jot Sarup Singh

Jot Sarup Singh

@jot_sss

Ability to quickly build, but yet, have the power to customize using the knowledge of code. Love what you’re doing with Appsmith.

Bargava

Bargava

@bargava

Appsmith can connect to a database or API to show data in charts and tables while Bubble can't do that. You can also self-host Appsmith.

Sourav Karmakar

Sourav Karmakar

@thesplusk

I've just looked into Appsmith and it seems like a fantastic solution!

Codechoir

Codechoir

Hacker News

We've starting using Appsmith at @FyleHQ and are loving it!

Siva Narayanan

Siva Narayanan

@k2_181
Tips Icon
Get Appsmith tips, event invites &
community updates
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

To our amazing contributors from all over the world, your commitment and enthusiasm keep us going. You know, we love you back with the same intensity!

To the Appsmith staff, you have been phenomenal. Can’t wait to build more amazing things together in 2022!

Try CloudHost it Yourself