Skip to content

Version 4.7.0

This version comes with a mix of new features and fixes.

New features

Form languages

Form Editors can now select the language used for the 'Send' button, messages, and notifications from LiberaForms.

The form's language can be set on a form to form basis, and the default is set on the user's settings page.

This feature already includes five new languages, Bulgarian, Dutch, Italian, Chinese (traditional) and Eesti keel

A Satisfaction form field

This new field includes options to display Stars Hearts and Emojis with a choice of colours.

Field conditions may also be configured using this field.

Anti-spam

Forms now come with two anti-spam measures. Both can be enabled/disabled on the form's options page.

Rate-limiting

  • Users must take at least 20 seconds (by default) to answer a form
  • When the form is answered sooner, the user is required to wait a little (the remaining seconds)
  • Sysadmins may change the default or disabled this feature in the .env file. See dotenv.example

Honeypots

Hidden fields designed to trick bots.

GDPR wizard

Now also available in Dutch. Thank you @zandbelt!

Fixes

Amongst the numerous fixes and tweaks:

Maps

When a form's Answer edition option was enabled, there was no way for a user to return and edit a map field.

Also, empty map marker popups were displayed when no popup fields had been defined. And popups also displayed the labels of deleted fields, which definitely should not be the case.

All fixed now.

Webhooks

We've added the server's hostname to the JSON object, but more importantly..

The JSON object posted on Answer deleted has changed.

The answer_id type is now a list. We have done this because an Editor may delete all the form's answers in bulk. Please check your webook's configuration for an example.

If you are using this webhook you will need to modify the consumer.

Thanks

Thanks to @zandbelt for nudging us to get the new form language feature done, and to the people who submitted new translations.

Thanks to @kapis for fixing the map field.

And thank you @nlnet for supporting development.

Enjoy!

Upgrades

Various python and javascript libraries have be upgraded.

At long last LiberaForms is running the latest version of Flask!

Upgrade from v4.*.*

Important

LiberaForms now requires Python 3.10 or greater.

Please check your version and install if necessary before continuing.

source ./venv/bin/activate && python --version

See the notes below.

Stop LiberaForms

sudo supervisorctl stop liberaforms
sudo supervisorctl stop liberaforms-logs

Fetch version 4.7.0

git fetch origin tag v4.7.0 --no-tags
git checkout v4.7.0 -b v4.7.0
cat VERSION.txt

Uninstall Flask-Session2 and upgrade python packages

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

Upgrade the database schema to 37fa6876e080

You have a backup of your database, right?

flask db upgrade

See the installed versions

flask site get-versions

Restart the supervisor processes.

sudo supervisorctl start liberaforms-logs
sudo supervisorctl start liberaforms

Installing python

LiberaForms now requires Python 3.10 or greater. Please check your version and install if necessary.

source ./venv/bin/activate && python --version

If you need to upgrade:

  1. Follow the upgrading Python instructions.
  2. Then continue with the LiberaForms upgrade instructions above.

Sorry about the extra work.