Skip to content

Version 3.0.0

We are very pleased to release this version of LiberaForms that includes; an improved code base, a new user interface, and many new features.


To mention a few..

User interface

The interface layout is completely new. We hope you like it!


  • Form management work flow has been redesigned
  • Forms can be styled
  • An API endpoint to GET form answers in json


  • Changes to answers are logged and can be compared
  • Anonymous users can edit their answers

Inline help

We've added a help icon to the interface that displays contextual help that corresponds to the page at hand.


  • One help page for each application page
  • A menu to browse the help


Alerts are displayed when users need to know or be reminded of something, for example:

  • Their assigned disk space is full
  • A form is being edited

Privacy statements

Version2 introduced the option to include a privacy policy to the forms.

Version3 takes this idea much further and makes privacy statements an integral part of configuring a form.

Users may manage statements as templates or create statements on-the-fly.

Statement wizard

Because most users do not have their own personalized Privacy policy text, or because many people to not know how to prepare one, LiberaForms includes a Wizard to help generate such texts.

Custom translations

Administrators can define which languages are available to translate parts of the application like:

  • The /index text
  • Invitation texts
  • Other information texts

Code base

There are now nearly three times as many tests than before covering 78% of the server code.

See the full changelog here


We sincerely thank NLnet for their support that has made this possible. ❤


Instructions to upgrade from versions 2.x.x to 3.0.0

We have tried to keep the upgrade path as simple as possible.

Backup your database and the /uploads directory first.

Install the new code

Stop LiberaForms and pull the new code

sudo supervisorctl stop liberaforms

git fetch origin tag v3.0.0 --no-tags
git checkout v3.0.0 -b v3.0.0

source venv/bin/activate
pip install --upgrade pip
pip install -r ./requirements.txt

.env variables


Add these new variables: FLASK_DEBUG, LOG_LEVEL, LOG_SERVER_PORT

See dotenv.example for an example file.

Upgrade the database

Upgrade the database schema to 6f0e2b9e9db3

flask db upgrade

After upgrading you can see your database schema version.

flask site get-versions


This configuration has changed.
Use this command to see the updated version.

flask config hint gunicorn

And edit your file


This configuration has changed. The supervisor now manages processes.

  1. The Gunicorn server
  2. An application log server

You need to update your /etc/supervisor/conf.d/ files.

Use this command to see the updated versions.

flask config hint supervisor

And start the two processes.

sudo supervisorctl start liberaforms
sudo supervisorctl start liberaforms-logs


We have tested this migration path however, things happen.

If you run into trouble, first try debugging. More info in the docs/ file.