I am thrilled to announce that Saltcorn version 1.0.0 has finally been released! I have been working on this for four and a half years, and we have users who have been using the platform for almost as long. More than anything though I am looking forward to working on the next feature set! I want to thank the many people who have supported the project, both companies that took a leap of faith and adopted Saltcorn to run their core operations, to the people who are contributing on OpenCollective, creating and releasing their own plugin modules, or contributing by finding bugs and filing reports.
If you have landed here wondering what all the fuss is about, Saltcorn is an open source no code database builder for web and mobile applications. Using point-and-click, drag-and-drop you can create database tables, create views of the data in the tables and create pages. Saltcorn tries to be (1) all in one: one application platform for front end, back end, any end, giving you a single source of truth and a unified authorization scheme, but also (2) extensible: a structured module system allows modules to provide views of individual fields (field views), composable views single or multiple rows (view patterns), actions, virtual table providers, event sources and much more! Everything is tied together through the relational structure of your database and the design scales well - we have applications with hundreds of tables and 500+ views.
New in 1.0
Saltcorn 1.0 tried to be mostly a bug fix release and we did squash a lot of bugs. A few new features snuck in:
List group by: Lists can now be grouped by a formula.
Large table support: we have at least one application with a volume that makes row counts very slow. We introduced some support for count approximations to make this feasible. The admin's grid data editor still does not work well for large tables, this will be fixed in 1.2. in the meantime use views to edit data when you have large volumes. In addition we now added a backup setting for using the system zip, which, if installed, is faster and does not block the system
Additional help topics, including field settings, snapshots, table settings
Action namespaces: with a large number of actions it becomes difficult to find what you are looking for. We have now split the list of actions that can be chosen into namespaces related to the category of functionality.
Set day and time of weekly events: the previous version introduced the ability to set the time at which daily events were run. Now you can also set the time and day of the week on which weekly events are run. This is great if you need to email your boss a report every Friday at 11:00 a.m.
Files can now be selected by the user using a pop-up modal that allows you to navigate the available folders.
The upgrade system introduced support for stable versioning, so you can choose the npm tag you deploy from to switch between stable and
early release versions.
1.0 Maintenance Branch
Going forward we will maintain a stable branch called 1.0.x on GitHub, with releases tagged on npm as stable-1.0.x. Releases will also be tagged as latest on npm until the next stable release 1.2 is released.
In addition to security updates, the 1.0.x will receive bug fixes, but only if these are unlikely to disrupt any existing applications. New features on this branch will be minimal.
1.2 Development
The main github branch and the npm tag next, with version numbers 1.1 (odd minor version numbers indicating development releases) will be where we are developing the next set of features. Some of these have already been merged! Here are some of the things we are targeting for 1.2 (the next stable release):
Builder updates: modules can supply icons, text styling is not mutually exclusive, add better support for printing (already implemented). Animations and better action and column editing UI.
Workflows: real workflows which can pass data between steps and pause for form input.
Capacitor-based mobile builder: Capacitor.js is more modern than Cordova which we are currently using. It will also give us access to more platforms.
LetsEncrypt for tenants. Currently it is difficult to deploy a HTTPS-secured multitenant server without buying a wildcard certificate. In the next release tenants can also acquire certificates with LetsEncrypt.
Tightening some authorization checks such as the role to run a view when embedded in another view, and other security improvements. This may break some applications and you will have to adjust your permission settings.