### Added
- Localization and internationalization support. First language supported,
es-ES. There are still a few areas that need polishing, but the bulk of the
translation is done.
- Boolean field in the action-in to request the questions to be shuffled when
shown to the learners as some surveys suggest (Issue #48)
- Function to restrict the values in a column based on the current values.
Useful to manage future updates
- New folder containing a catalogue of surveys and its corresponding plugins
(if applicable)
- Added capacity to retain/forget key columns in the upload/merge steps
(Issue #55)
- Dashboard now available from the table views (and subviews)
- Script to create users in bulk with a CSV file.
- Functionality to send email now includes CC and BCC fields (Issue #57)
- Possibility to "unmark" a column as key when uploading in CSV (Issue #55)
- Preview screen now shows the value of those variables used when computing
the personalised message (Issue #47)
### Changed
- Changed configuration scripts to take the environment file name from the
environment variable ENV_FILENAME (if it exists).
- Additional parameters in the configuration that are taken from the ENV_FILE
- Show questions in Action In editor in the same order in which they are in the
workflow
- Configuration of Summernote now precludes the use of drag and drop (Issue #63)
- Preview screen for emails now includes the total number of emails (Issue #64)
### Fixed
- Row dashboard now takes into account the subset of data considered in a view.
- Emails are now sent asynchronously through a queue (Issue #45)
- Subject line for emails is now properly processed in the preview it if
contains variables like a template (Issue #54)
- Fixed incorrect number comparison when providing a range (Issue #49)
- Text in the personalised messages is now processed to remove newlines that
break the processing (Issue #44)
- Action out editor no longer allows drag & drop (Issue #25)
- Bug when evaluating a condition with the operand "doesn't begin with" (Issue
#68)
- Bug when receiving a large volume of tracking requests (Issue #67)