1.4.79 - 2023-09-18 Added
rendering font option to
pdftk will render form fields to text using the
version of Arial, which has better support for Unicode characters.
Updated the collection of Material Icons.
Exception raised in certain circumstances when using
hide corner interface was used, on small screens the toggler
1.4.78 - 2023-09-16 Added
pen color modifier for the
file css class field modifier for
datatype: file and
datatype: files fields. This can be set to
None to disable the
Bootstrap File Input plugin for the file upload input element.
Errors with the Apache web server option (system upgrade required).
js show if when used in conjunction with
1.4.77 - 2023-09-10 Added
hide continue button and
disable continue button modifiers
offset option for the
grid field modifier for inserting
horizontal space before a field.
Error when calling
.privilege_access() on a
Error when using social logins.
1.4.76 - 2023-09-09 Added
grid field modifier for displaying fields side-by-side in a
tabular modifier for the
review block, which will cause the
items to be displayed in an HTML
abbreviate optional keyword parameter of the
Altered the CSS of
labels so that the text will not wrap under the bullet.
Configuration will not save if there are duplicate keys in the YAML.
KeyError when combining
1.4.75 - 2023-09-05
No changes, version advanced by accident.
1.4.74 - 2023-09-05 Fixed
1.4.73 - 2023-09-04 Added
gotenberg url Configuration directive, which allows for the
use of an external Gotenberg server for DOCX to PDF
The Docker environment variable
SUPERVISORLOGLEVEL, which can be
debug so that application log messages can be viewed with
docker logs (system upgrade required).
Additional fonts are installed in the operating system to support
a greater variety of languages (system upgrade required).
Upgraded pdftk and Pandoc (system upgrade required).
Disabled autocomplete on login and register pages.
DAFileList is now initialized with the
initialized and the
Issue with JSON representation of the question when fields were
generated by code.
When using Keycloak, logging out resulted in an error message due to
a change in the Keycloak code.
1.4.72 - 2023-08-23 Changed
referring to the “None of the above” and “All of the above”
checkboxes in a
datatype: checkboxes field can now be used in a
1.4.71 - 2023-08-22 Changed
favorite_fruit[aota] to refer to the “None of the above” and “All
of the above” checkboxes in a
datatype: checkboxes field.
Bug introduced in 1.4.70 relating to GitHub URLs.
1.4.70 - 2023-08-20 Changed
When installing a package with a GitHub URL, the
#egg=mypackagename feature of GitHub URLs is now respected, and
the name of the package will be extracted from
#egg instead of
from the GitHub repository name.
processes into a group called
main so that they shut down
simultaneously rather than sequentially.
js show if feature did not work correctly when an expression
reference two different fields.
auto terms and
terms features interfered with each other
when the same term was referenced in each.
Bug in locale-setting code.
The system for forcing the admin user to change their password when
the password is
password introduced unnecessary delay on page
The “Please wait while docassemble starts . . .” page would refresh
into an error rather than refresh into the default interview under
1.4.69 - 2023-08-15 Fixed
datatype: object and
datatype: object_radio fields. The
function has been modified so that it returns the
the selected object.
The combobox HTML did not set an
Markdown-to-HTML conversion in popover
help text was not
1.4.68 - 2023-08-10 Changed
ldap login feature now supports TLS and anonymous binding.
Error with exporting tables to Excel, caused by the upgrade of the
The way that locale-related functions actually worked did not match
the way they were documented; they have been fixed so that they
match the way they are documented. The
update_locale() function is
also now imported by default.
Bug with handling of non-required object fields that are not
1.4.67 - 2023-07-28 Changed
.delete() method of
DAGlobal will now exit silently if
called on a
DAGlobal object that has already been deleted.
1.4.66 - 2023-07-24 Changed
Upgraded dependencies. Packages that might require code changes
selenium (now at version 4) and
matplotlib (see the
“Generating a graph and inserting it into a document” recipe). Due
to incompatibilities with the latest version of
mdx_smartypants extension is no longer being used. Instead the
smarty extension is used. There are some differences
between the two extensions, such as the transformation of ellipses.
Adapted code so no error will be raised if docassemble tries to
create a directory where one already exists. A race condition of
some sort seemed to be causing such errors for some users.
1.4.65 - 2023-07-13 Fixed
navigation: horizontal feature was not functional.
1.4.64 - 2023-07-11 Fixed
Issue with the
NameError exception change in 1.4.63.
1.4.63 - 2023-07-02 Changed
NameError exception arises out of code in a module file,
docassemble will raise an exception instead of treating the
exception as a reference to an undefined variable. Fixed
Issue with using
default admin account to set a default API key if
an external Redis server is not being used (requires system
1.4.62 - 2023-06-21 Fixed
Issue with administrative interviews not appearing in the menu.
Issue with unchecked checkbox fields subject to a
show if not
being located for purposes of placing an error message.
Issue with failing to process false values of
1.4.61 - 2023-06-18 Fixed
Issues with the timing of
change event triggers on the combobox.
1.4.60 - 2023-06-17 Fixed
1.4.59 - 2023-06-12 Fixed
Adapted the fix made in 1.4.58 to work correctly with objects with
random instance names.
1.4.58 - 2023-06-10 Added
The optional keyword argument
The CSS of
signature screens was changed so that the compact mode
only takes effect if the screen is small and has a landscape
value() function (which is used by
reconsider() and the
reconsider modifier) did not raise the correct undefined variable
exceptions when the variable name included variable aliases. The
code was fixed so that the exceptions raised correspond with the
exceptions that would be raised if the expression was evaluated by
Python. It is possible that interview logic in existing interviews
may rely upon the quirks of the previous version of the code, so it
is important (as it always is) to test interviews before deploying
this version in production.
The JSON representation of a
question did not show fields that
were generated by
Error with the
rtf to docx file type.
instanceName of a
DAFileCollection object generated by an
attachments block was set to the literal
name without interpolation of variables.
1.4.57 - 2023-06-05 Fixed
Modified the change that 1.4.56 made to
reconsider() to work better with objects with random instance
1.4.56 - 2023-06-04 Added
hide corner interface option under
administrative interviews Configuration directive now accepts
items that add custom URLs to the menu.
reconsider() will now attempt to act on the
intrinsic name of the referenced variable rather than the literal
string passed to the function.
now available as Jinja2 filters.
getFields() were modified to work better with multiple choice
getField() now returns the
<fieldset> parent element
rather than the first input element.
val() will return an array of
answers for a checkbox or multiselect. Object-based fields use
instance names as values.
administrative interviews will now appear for users
who are not logged in if the permissions allow anonymous users to
see the item.
datatype: checkboxes field has
required: False, the “None
of the above” selection does not need to be selected.
1.4.55 - 2023-05-21 Fixed
Issue with the “Run” button in the variables sidebar in the
Playground, introduced by the upgrade of Flask in 1.4.52.
1.4.54 - 2023-05-21 Fixed
setup.py to require Python 3.10. Version 1.4.53 has been
deleted from PyPI so that users with Python 3.8 cannot upgrade past
1.4.53 - 2023-05-21 Added
delete keyword parameter to
importlib.resources instead of
1.4.52 - 2023-05-17 Changed
depends on will now invalidate dependencies.
Allow use of True and False as radio button values in
file document assembly.
1.4.51 - 2023-05-08 Fixed
Bug introduced in 1.4.48.
1.4.50 - 2023-05-08 Fixed
Bug introduced in 1.4.48.
1.4.49 - 2023-05-07 Changed
unoconv job will not be submitted while another
unoconv job is
1.4.48 - 2023-05-05 Fixed
Avoid exceptions based on invalid version names.
Issue with Playground variable parser.
1.4.47 - 2023-04-29 Changed
Names for keys in the dictionary returned by
all_variables(special='title') now correspond with the names used
to set the values (with backward compatibility).
Preserve capitalization when conjugating verbs.
Issue with file inputs not enabling and disabling.
Bug that caused wrong exception to be raised if DOCX to PDF
/restart_session endpoint when user not logged in.
1.4.46 - 2023-04-19 Changed
any as Jinja2 filters.
Issue with placement of server-side validation messages when a
custom data type has a
1.4.45 - 2023-04-14 Changed
Failure to convert DOCX to PDF will raise an Exception.
help is applied to a checkbox choice.
1.4.44 - 2023-04-09 Added
bearer authentication option for
sheets_service() method of
Google Fonts (system upgrade required).
Package versions in the Packages folder of the Playground must be
valid Python version numbers.
Upgraded Pandoc (system upgrade required).
Issue with rotation of
Accessibility problem with toggler in the sections interface.
1.4.43 - 2023-03-24 Added
navigation bar html option for administrative page screen parts.
Bug introduced in 1.4.42.
/api/resume_url when URL parameters are provided.
1.4.42 - 2023-03-19 Added
revoke() method of the object returned from
When listing choices in a multiple choice question, you can use
show if to conditionally include the choice in the list of
1.4.41 - 2023-03-14 Changed
check in feature now sends two additional action arguments,
_initial. These arguments are not reported by
action_arguments() but can be retrieved with
showifdef() functions now accept a
prior which can be set to
True in order to
correctly handle situations where the user has just clicked the Back
button and it is necessary to know the value that a variable had
prior to the user pressing the Back button. If
the set of interview answers that was just discarded will be
accessed first, and then the current interview answers will be
accessed. In situations where the user has not just pressed the Back
True has no effect.
states_list() functions now return
alphabetically sorted results.
states_list() returns an empty
dictionary when the
country_code is invalid.
When the second argument of
and the first argument is a dictionary of variable names and values,
the value of a dropdown field can be set to a dictionary with keys
choices will replace the options in the
dropdown for that field.
pikepdf and fixed issue with way it is called.
1.4.40 - 2023-03-07 Changed
analytics id subdirective of
google can refer to a list of
IDs, all of which will be configured.
state_name() function did not work with countries that lack
Cursor was not pointer over combobox drop-down items.
Better handling of radio buttons in PDF files.
/ characters in GitHub branch names.
Better method of calling
1.4.39 - 2023-02-22 Fixed
daPageLoad event trigger until after the setup of the
jQuery Validation Plugin.
1.4.38 - 2023-02-20 Fixed
Issue with SendGrid e-mail sending.
1.4.37 - 2023-02-17 Added
auto color scheme Configuration directive.
Issue with double quotation marks in variable names under
objects from file.
1.4.36 - 2023-02-08 Fixed
CSS issue on small screens.
1.4.35 - 2023-02-06 Fixed
Issue with package upgrading.
1.4.34 - 2023-02-06 Fixed
Small screen menu button had wrong color.
E-mail sending bug introduced in 1.4.33.
1.4.33 - 2023-02-05 Changed
Upgraded Bootstrap to version 5.3.
Added support for using
datatype: time and
data from code blocks can be used with an
objects modifier, which will cause the data structure to be
interpreted in the manner of
modifier is also supported.
continue button field can now be used with
buttons where one of
the items under
The Configuration directive
mail now accepts a list of
send_mail() now accepts a
Removed code that transformed
__ in Markdown.
Ensured that dropdown options are free of HTML.
Default values of object-based fields did not appear in all
editable: False option for
pdf template file now shows
better formatting of fields.
1.4.32 - 2023-01-28 Fixed
1.4.31 - 2023-01-28 Added
all of the above and
check others modifiers for checkbox
celery modules Configuration directive.
Recipe for calling background tasks from Flask endpoints.
When setting up two factor authentication with the authenticator
app, a code is shown in addition to a QR code.
The way that
objects from file works has changed; it is no longer
treated as a
mandatory block, but instead acts like an
block that is called upon when a variable is needed.
1.4.30 - 2023-01-23 Fixed
Scrolling issue when moving from one screen to another.
1.4.29 - 2023-01-20 Fixed
Follow-up fix to 1.4.28 change regarding unicode values in
js show if.
1.4.28 - 2023-01-19 Fixed
The “branch” drop-down on the Package Management page was not
working on production servers.
Follow-up fix to 1.4.26 change regarding unicode values in
1.4.27 - 2023-01-16 Changed
jQuery Validation Plugin settings were adapted to always apply
validation to hidden elements.
1.4.26 - 2023-01-15 Fixed
Removed dependency on
Issue with unicode values in
1.4.25 - 2023-01-05 Fixed
Rolling backup files on S3 were copied to the wrong directory during
objects from file blocks being run repeatedly if they
are not marked as
1.4.24 - 2022-12-30 Added
Option for using
show if in
pdf template file and image inclusion introduced in
.from_url() method of
1.4.23 - 2022-12-10 Added
The screen parts
continue button color,
resume button color,
help button color, and
back button color.
The question modifiers
continue button color and
labelauty nota under the
button colors Configuration directive.
Items in multiple choice lists, when expressed as a dictionary, can
now include keys
css class and
color. The HTML element for the
item will have the
css class as a CSS class. The
expected to be a Bootstrap color name. This will change the
background color of the HTML element, unless the element is an
<option> element. The
css class and
color keys have no effect
on combobox items.
action buttons can be modified with a
1.4.22 - 2022-12-08 Fixed
Error with the
.fix_up() method of
DAFile introduced in 1.4.21.
1.4.21 - 2022-12-07 Added
suppress autofill directive under
grid classes Configuration directive.
alert html and
alert container html Configuration
Bates numbering is more efficient.
section modifier now accepts Mako templating.
Overzealous matching of
DAContext variables in
Possibly remedied an inefficiency in labelauty.
Not all object types were allowed in
data from code.
1.4.20 - 2022-11-16 Fixed
Updated the CloudConvert API.
Fixed typo affecting
1.4.19 - 2022-11-13 Added
wide side by side directive under
Better example code for running Alembic from a package that uses
UI error on administrative screens on mobile.
Cancel button on Change Password page directed to the wrong place
show profile link: False is in the Configuration.
1.4.18 - 2022-11-06 Added
input type for defining variables that are populated
The YAML on the Configuration page can now be searched in its
entirety using the web browser’s search feature.
1.4.17 - 2022-11-03 Added
suppress login alerts Configuration directive.
Changed NGINX configuration so that requests for hostnames other
external hostname are redirected.
list collect behavior to prevent reaching circularity
limit when quantity of items is very large.
Issue with validation code on file fields with
1.4.16 - 2022-11-01 Fixed
Issue with alembic not running properly during restart.
1.4.15 - 2022-10-31 Fixed
authorized registration domains.
1.4.14 - 2022-10-25 Fixed
Additional fix to allow the use of
table prefix in
1.4.13 - 2022-10-24 Changed
include_internal option of
all_variables() now controls whether
nav variable is included in the output.
authorized registration domains Configuration directive now
applies to social login methods as well as username/password login.
Increased accessibility of the
datatype: combobox interface.
Problem with the exim4 mail configuration.
table prefix in
db was used.
1.4.12 - 2022-10-02 Added
mms attachments option in the
1.4.11 - 2022-10-01 Fixed
Issues with SMS interface.
1.4.10 - 2022-10-01 Added
signature pen thickness scaling factor Configuration
Upgraded Mako to version 1.2.2.
The field modifiers
label above field, and
floating label can now refer to Python expressions.
Upgraded Google OAuth.
Issue with exim4’s overinclusive
Error with images in Markdown to DOCX conversion.
temporary session when user is not logged in.
1.4.9 - 2022-09-10 Added
voices option of the
voice keyword parameter of the
auto login Configuration directive.
output_to keyword parameter of the
.convert_to() method of
output_to keyword parameter of the
.export() method of
output_to keyword parameter of
extract_pages() method of
If an attempt is made to access the contents of a
DAFile that is
not yet initialized, the
.initialized attribute will be
.initialize() method sets
True. Thus, if you have a
code block that calls
myfile, you can attach
myfile.initialized to the
code block and it will be called upon
if the interview logic requires the contents of
attachment that has a
name creates a
DAFile attributes will have their
alt_text set to
name followed by the file type in parentheses.
Dockerfile so that the server can start up even if
the internet is not available.
1.4.8 - 2022-08-25 Fixed
work but does not work anymore.
1.4.7 - 2022-08-24 Added
module whitelist and
module blacklist Configuration
user profile fields Configuration directive.
SQLObject methods were changed so that they will raise
exceptions if there is an unexpected error.
Upgraded jQuery Validation Plugin.
Fixes to multifactor authentication to make configuration easier.
1.4.6 - 2022-08-13 Fixed
Backwards-compatibility issue involving
is an important fix if you upgraded your system version from 1.3.x
1.4.5 - 2022-08-11 Fixed
Exception raised due to interaction of
1.4.4 - 2022-08-11 Fixed
Bug with default values that evaluate to the empty string.
1.4.3 - 2022-08-09 Fixed
Bug in User List interface.
1.4.2 - 2022-08-08 Fixed
Unicode characters in the
id of a
question were not sent to the
browser as Unicode.
1.4.1 - 2022-08-05 Changed
Problem with restarting the server when using a single-server
1.4.0 - 2022-07-31 Added
floating labels feature and the
floating label field
root owned Configuration directive.
Support in the Kubernetes implementation for using a read-only file
system where all Configuration changes and package updates take
place using Docker images and the only directories on the server
that are writable are directories for storing runtime information
(e.g. PID files) or log files.
ip address ban enabled Configuration directive.
old_password parameter for
set_user_info() and the API
endpoints for changing user information, so that the user’s
encrypted data can be migrated.
Support for server-side encryption when using S3.
In the Docker container, the operating system is upgraded to Ubuntu
22.04 LTS and Python is upgraded to 3.10.
aloe is no longer a required package. It has a dependency,
that is not compatible with Python 3.10. Instead,
behave is now a
Switched to the Azure CLI for managing files in Azure Blob Storage
from shell scripts.
A restart (e.g., saving the Configuration, installing a package)
will erase any IP address bans caused by failed login attempts.
The API endpoints for changing information about existing users now
PATCH as well as
Links in dropdown navigation menu for mobile devices were not
session parameter of
/api/resume_url was not working (it was
interview_list for cases where
query are used together.
Unnecessary transmittal of background task result to web browser
refresh option of
background_action() is used.
Migration of encrypted
DAStore objects when password is changed.
set_parts() function did not support all of the screen parts.
1.3.52 - 2022-07-08 Changed
1.3.51 - 2022-06-18 Changed
Upgraded jQuery to 3.6.0.
Fixed issue with comboboxes introduced in 1.3.50.
1.3.50 - 2022-06-11 Added
enable shared playgrounds Configuration directive.
Upgraded to Font Awesome 6.1.1.
In a list of fields in a
review screen item, the
command was not available.
1.3.49 - 2022-06-09 Added
Example interviews relating to inserting graphs and cards.
Changed the name of the
explanation() function to
logic_explanation(). NOTE THAT THIS IS A BREAKING CHANGE. However,
you are most likely not using the
explanation() function, so this
probably will not matter.
Cleared spurious syslog-ng error message.
Error getting the data format of a question when
debug is false.
1.3.48 - 2022-06-05 Fixed
Error with user profile screen.
1.3.47 - 2022-06-04 Fixed
Error parsing hostname from Redis URL.
Number of items not preserved when pressing Back button and arriving
list collect question.
1.3.46 - 2022-06-03 Added
allow log viewing (
forget_prior keyword parameter for
_forget_prior keyword parameter for
logoutpage Configuration directive.
allow changing password directive.
Upgraded to Bootstrap 5.2.
url_of('interview') functions now accept
i parameters, which will be interpreted as references
to interview files in the current package.
The HTML version of the error notification e-mail lacked some of the
information in the plain text version.
next parameter of
url_of() was not functional for
1.3.45 - 2022-05-27 Added
pip index url (
pip extra index urls
PIPEXTRAINDEXURLS) Configuration directives.
allow configuration editing (
Docker environment variables
DADEBUG (corresponding to
DAENABLEPLAYGROUND (corresponding to
insertion_order option for
API keys can now be passed in a header using the format
Authorization: Bearer H3PLMKJKIVATLDPWHJH3AGWEJPFU5GRT.
pathlib as a dependency.
allow updates is set to false, the
cannot be used to install or uninstall packages.
enable playground is set to false, the Playground-related APIs
yesnomaybe field is not
required and is
not answered, the variable will now be set to
None instead of
False. THIS MAY BE A BREAKING CHANGE FOR YOU if you relied on
variables being set to
False when the user did not provide a value
yesnomaybe field. The documentation for
required has always stated that the variable will be set to
if the user does not provide a value, so this change brings the code
into line with the documentation.
target_number is not an
int and an
docassemble.base.legal did not import all of
follow up were not recognized in all valid
block syntax forms.
to parameter of
send_sms() did not
DAList the same way as a
Under some circumstances, the navigation bar showed already-visited
sections as not visited.
error actions resulted in unnecessary contention for access to the
1.3.44 - 2022-05-16 Added
temp_url variant of
url_of(), which functions like the
/api/temp_url API endpoint.
login_url variant of
url_of(), which functions like the
/api/login_url API endpoint.
overwrite parameter for
A Jinja2 filter called
chain that concatenates lists or other
/auto_login endpoints return a blank page if the
User-Agent header indicates that the HTTP client is a bot.
Added a color conversion strategy to Ghostscript for PDF/A
1.3.43 - 2022-05-11 Changed
1.3.42 - 2022-05-10 Fixed
1.3.41 - 2022-05-09 Fixed
action buttons were not called using Ajax.
response() was not functional when called from an action via Ajax.
1.3.40 - 2022-05-05 Fixed
Logged-in user could not delete own interview session using
interview_list() without special permissions.
1.3.39 - 2022-04-30 Changed
all_variables(simplify=False, include_internal=False) now
The HTML now uses
aria-required="true" to indicate
interview_url() can now receive
session without also receiving
i will be set to the current filename without overwriting
create_session() and other functions for manipulating
other sessions could disrupt
_internal variables in some
url_ask() can now begin with an action.
Error in session deletion that caused sessions not to be deleted in
1.3.38 - 2022-04-28 Changed
permissions system can now give privileges to
(non-logged in) users.
Error with new Playground initialization.
1.3.37 - 2022-04-25 Fixed
Error with user registration.
1.3.36 - 2022-04-23 Fixed
Error with background tasks.
Minor user experience issues in Playground.
1.3.35 - 2022-04-20 Added
Recipe for creating appointment invitations.
Error with implicit instantiation of dictionary keys after certain
Issue with populating default values in
Error with obtaining API keys for non-
1.3.34 - 2022-04-19 Fixed
Error that interferes with package updates.
1.3.33 - 2022-04-19 Fixed
Error introduced in 1.3.32 with filenames on download.
1.3.32 - 2022-04-19 Added
Issue with CSS classes and
1.3.31 - 2022-04-13 Fixed
delete_all feature of
1.3.30 - 2022-04-10 Added
query option for
interview_list() and API endpoints like
Recipes for setting screen parts and watermarking Markdown-to-PDF
raw_result keyword parameter for
ocr_file_in_background() when used with Google Cloud Vision.
SQL tables now use a uniqueness constraint on primary key columns.
Errors with bookmarks in PDF templates will be ignored instead of
Problem with the processing of
metadata in the Markdown-to-PDF
__getattr__() causing objects to be created as a result
of testing for their existence.
1.3.29 - 2022-04-07 Added
The option for using Google Cloud Vision when using
new template markdown behavior: True is set in the
Configuration (which is now part of the default initial
template variables do not have the
filter automatically applied when they are used in a DOCX template
file. It is recommended that you add this to your Configuration,
and then modify your
docx template file templates that use
template variables, adding ` | markdown` if necessary.
Improved efficiency of system shutdown. (Requires a system upgrade.)
Problem with Let’s Encrypt certificates not renewing. (Requires a
single_worker.log file was missing from log rotation.
Erroneous exceptions could be raised if a
DAObject attribute name
_. Attributes can begin with
_ but they cannot begin
variables were not affected by
1.3.28 - 2022-03-26 Added
default language specifier in
Recipe for running reports.
Some functions did not work in
on change code.
UI issue with comboboxes.
1.3.27 - 2022-03-20 Changed
Favicons not present will not be referenced in HTML.
1.3.26 - 2022-03-19 Added
favicon tile color Configuration directive.
favicon version Configuration directive.
Favicon feature now uses the package version number when available.
Favicon feature now supports
Additional logging during server restart.
UI accessibility improvements.
Problem importing unclassified machine learning entries from JSON.
1.3.25 - 2022-03-16 Changed
complete_attribute can refer to a list of attributes.
Markdown-to-HTML conversion was not being applied to the
submit screen parts.
[TARGET ...] was not working in
Issues with the Training page.
1.3.24 - 2022-03-14 Added
custom datatypes to load directive under
process_objects parameter for
Support for importing and exporting
datetime.time objects in the JSON representation of objects.
input type: area text boxes are resizable in both dimensions.
show if and
labels above fields.
Issues with using SSL for external PostgreSQL and Redis connections.
1.3.23 - 2022-03-07 Changed
overlay_pdf() introduced in the last version.
1.3.22 - 2022-03-05 Added
permissions Configuration directive.
admin users to create API keys with limited permissions.
multi option of
/api/user_invite API endpoint.
api key option of
default admin account.
allow forgot password Configuration directive.
The Logs are now shown in a resizable
Safer implementation of
exit link and
For safety reasons,
url_of('exit') and similar URLs no longer
CustomDataType objects will only be inserted if
the interview uses the custom datatype.
URL of exit link was being set to
/interview in some
When server-side validation failed, the fields the user saw on the
next screen were not always populated with the user’s answers.
HTML typos in
Problem converting DOCX to PDF when
attachment filename contained
Inaccurate exceptions were sometimes raised when
IndexError exceptions arise during assembly of a DOCX file.
Fixes to Google geocoding for situations where the latitude and
longitude are undefined.
1.3.21 - 2022-02-05 Added
fax provider Configuration directive.
Option for faxing with Telnyx instead of ClickSend.
The server name of a
DAFile can be changed using
NLTK data files are downloaded during the building of the Docker
image, so that the initial boot process does not require an internet
1.3.20 - 2022-01-25 Fixed
Error with the
.convert_to() method of
Issue with display of modules in the Playground variables.
1.3.19 - 2022-01-17 Fixed
Issue with the sizing of images inside of
1.3.18 - 2022-01-15 Added
Support for using
md as one of the
valid formats in an
attachment when using
enable unoconv Configuration directive (requires system
upgrade). This provides a faster method for converting DOCX files to
raw: True was enabled for an
attachment, the file was not
included in e-mails sent from the user interface of the
raw: True was enabled for an
attachment, and the
DAFileCollection was passed to
assembled file was not included.
Fixed error from 1.3.17 relating to updating references.
1.3.17 - 2022-01-13 Changed
Environment variable for S3 region for use in shell scripts.
1.3.16 - 2022-01-08 Changed
Security updates to dependencies.
Better support for including a variety of image types in documents
by converting the image type to PNG or EPS as appropriate.
Problem with order of table model module loading.
1.3.15 - 2022-01-06 Added
TestContext object for testing
docassemble code from the
command line. The
.page_path() methods of
DAFile, for use
DAFile is a PDF.
size parameters for the
.url_for() method of
DAfile, for use when the
DAFile is a PDF.
authorized registration domains Configuration directive.
CSS error in active subsection headings.
Error with getting status of background tasks.
Error with videos included using
Some API keys would not authenticate.
Error with DAGoogleAPI.
1.3.14 - 2021-12-28 Fixed
Error in 1.3.11 related to Upgrade button.
1.3.13 - 2021-12-28 Fixed
Error in 1.3.11 related to oauth logins.
1.3.12 - 2021-12-27 Fixed
Error in 1.3.11 related to ClickSend.
1.3.11 - 2021-12-27 Changed
API keys can now only be viewed when initially obtained.
Code that runs when a module is loading now runs in a context where
admin user is logged in.
Bootstrap typo affecting alignment of dropdown menu.
Issue with machine learning sometimes returning no results when results exist.
1.3.10 - 2021-12-16 Changed
In the Playground, pressing buttons is disabled during Ajax
The Playground “Pull” process now uses SSH to clone repositories
when GitHub integration is enabled, unless a personal access token
is embedded in the URL.
CSS error resulting in certain validation errors being invisible on
1.3.9 - 2021-12-11 Added
/api/playground_pull endpoint for pulling a package into a
/api/config PATCH endpoint for updating specific Configuration
/api/restart endpoint for triggering a server restart.
/api/restart_status endpoint for monitoring the status of a
/api/config API endpoint now returns status code 200 on
success, not 204. The response contains a code that can be passed to
/api/restart_status to check on the status of the restart.
/api/playground POST and DELETE endpoints will now return
status code 200 instead of 204 if the server needs to restart. The
response contains a code that can be passed to
to check on the status of the restart.
NGINX configuration syntax.
Better error message if Celery is used inside of Celery.
Gave the single Celery process a unique name.
Adjust for situation where Ajax request fails without a response.
Fixed issue where GitHub SSH only worked during a Playground pull if
there was an active package.
Miscellaneous undefined variables in rarely-run code.
1.3.8 - 2021-12-05 Fixed
show if and
1.3.7 - 2021-12-04 Added
footer css class Configuration directive.
pip from 20.1.1 to 21.1. Previously,
pip had been
deliberately downgraded because the new resolver caused
hang. Hopefully that issue does not appear again.
docassemble-os Docker repository, which is a dependency of
this Docker repository, is now based on Ubuntu 21.10 rather than
Bug related to deleting Playground “projects” when S3 or Azure blob
storage is enabled.
Improved method for detecting variable names in Jinja2 files.
Increased threshold for detecting whether a server has become
unresponsive during the restart process.
1.3.6 - 2021-11-26 Fixed
Adjustments to behavior of
skip undefined with DOCX files.
Security update of
reportlab dependency; incorporated
docassemble.base because of conflicting dependency.
1.3.5 - 2021-11-13 Added
Data parameters for
css class field modifier.
Adjusted CSS to fix navigation bar and required field CSS issues on
Prevented the enter key from submitting the form in the Playground.
1.3.4 - 2021-11-11 Changed
Upgraded from Bootstrap 4 to Bootstrap 5. This changes the HTML and
CSS significantly, so you may need to adjust your customizations and
testing scripts. Bootstrap 5 is not necessarily more “attractive”
than Bootstrap 4, but it has better accessibility.
The Source tab is now represented by a “code” icon.
The administrative UI was adjusted for consistency.
Changed the appearance of help on field labels.
1.3.3 - 2021-11-07 Added
short logo screen part for specifying a different
navigation bar html screen part for adding HTML to the
_screen_size option for
action_menu_item() for hiding menu
items depending on the screen size.
max-width of the interview title in the navigation
bar to avoid problems with the navigation bar wrapping onto two
1.3.2 - 2021-11-06 Added
DABreadCrumbs class for displaying a breadcrumbs UI to the
user when the current question is the result of a nested action.
1.3.1 - 2021-11-05 Added
button colors Configuration directive for customizing the
Bootstrap colors of buttons.
label above field modifer that puts the label above the field
for a specific field, which is preferable to using
no label in
combination with a
login link style Configuration directive for enabling
separate “Sign up” and “Sign in” buttons in the upper right corner
instead of “Sign in or sign up to save answers.”
Changed the default color of
review screen edit buttons and the
“add another” button from Bootstrap
success (green) to
Added the Font Awesome pencil icon to
review screen edit buttons.
Substituted a different Font Awesome icon for the selected radio
button option so that it is not the same as the icon for a selected
Changed the left arrow icon in the “back to question” button so that
it matches the left arrow icon of “Back.”
Added a light grey background color behind
items to help differentiate the sections of a review screen.
question help button is used, the question-related help now
appears below the buttons, and the navigation bar help only
interview help (if present).
skip undefined option now works with
docx template file.
Inactive sections in the
sections sidebar are no longer
elements that screen readers may describe as clickable.
On reset, kill zombie LibreOffice processes that might prevent
DOCX-to-PDF conversion from succeeding on the server.
Changed order of backup to prioritize file storage over logs in case
shutdown process is terminated.
Problem with spinner staying on the screen after certain types of URL
Fix to the filename security adjustment in 1.2.105.
Additional bracket expressions now valid with Jinja2
The blockquote Markdown format now indented on right and
single-spaced when used the the Jinja2
Filename security in the Playground now allows reading existing
Playground files with names that contain spaces, although the
filename will be changed.
Issue with counting SQL results for non-admin developers.
check in actions were not aware of the current
Population of fields by address autocomplete did not trigger the
change event on the fields.
Added a check during startup to see if PostgreSQL primary key
sequences have been reset and if so set their values to the maximum
value id in the table.
Error getting JSON version of question involving
[BEGIN_CAPTION] in HTML mode now behaves like
that the columns are converted from Markdown and inserted in the
table as paragraphs.
Added descriptive log messages to
Traceback now included in API when error message is “failure to
Issue with package update screen being unresponsive under some
conditions due to HTTP timeout.
Issue with duplicative entries in
Default in multiple choice question not shown when selected value
Problem setting code-generated checkbox fields when
variables in effect.
1.2.99 - 2021-08-30 Changed
on_failure parameters of
DAWeb methods can
be set to
status_code in order to return the
undecoded response, decoded response, or status code of the HTTP
pdf_concatenate() function will no longer try to guess an
instanceName for the returned
1.2.98 - 2021-08-17 Added
Feature for using Jinja2 as a preprocessor to construct YAML.
DAGoogleAPI when the architecture is not
Adjusted use of
\xspace for new version of Pandoc.
If an inactive server in the cluster is detected during the restart
process, the server will be removed from the list of servers.
1.2.97 - 2021-08-13 Added
Feature for downloading the installed version of a package installed
by uploading a ZIP file or installing a Playground package.
No restoration from backup files is performed if system had an
unsafe shutdown (requires system upgrade).
Missing entries in system phrases file for e-mails sent from Flask.
1.2.96 - 2021-08-05 Fixed
Exception with phone verification.
Bad error message with OCR functions under certain circumstances.
1.2.95 - 2021-08-02 Added
API for managing Playground projects.
Exception raised from cron job.
Issue with newlines being converted to spaces when inline Markdown
added to DOCX.
Issue with numbering ordered lists with
1.2.94 - 2021-07-29 Fixed
[SKIPLINE] interfering with other formatting
_internal could not be set with
docassemble.webapp.createminio was not updated for the latest
version of the
1.2.93 - 2021-07-22 Fixed
www-data losing its shell.
1.2.92 - 2021-07-22 Fixed
www-data losing its shell.
1.2.91 - 2021-07-21 Changed
Re-ordering a list now triggers
inverse navbar Configuration directive now affects
Word-to-Markdown conversion now uses Pandoc’s
1.2.90 - 2021-07-12 Fixed
1.2.89 - 2021-07-11 Added
azure maps and
geocoder service Configuration directives.
Removed wait times and explicit application exit in LibreOffice PDF
PyPDF2 raised exception when another package tried to issue a
show if conditions did not always show the correct showing
and hiding when the screen first loaded.
Security issue with
next parameters in URLs.
1.2.88 - 2021-07-04 Changed
behind https load balancer is set, the IP address will be
X-Forwarded-For rather than from the
remote IP address.
DELETE endpoint of
/api/interviews did not delete sessions
owned by non-logged-in users.
refresh button generated a spurious warning in some
1.2.87 - 2021-06-27 Added
sv-words.yml file in the
data/sources folder of
docassemble.base with system phrases in Swedish.
1.2.86 - 2021-06-24 Fixed
.delta attribute of the output of
Syntax error introduced in 1.2.85.
1.2.85 - 2021-06-24 Added
backup file storage Configuration directive (requires system
docx template file in combination with
field code, the interview answers will be used for any variables
not defined in the
Issue with exceptions being triggered because keycloak OAuth
information not defined in the Configuration.
Non-string values in
field code raised exceptions.
1.2.84 - 2021-06-20 Fixed
Variable not marked as defined if defined by
code block triggered
by a different missing variable name.
Instance names not reset after reordering.
1.2.83 - 2021-06-16 Changed
depends on invalidation will now be triggered when a variable
is defined while invalidated.
Misplacement of buttons on desktop
signature page when
subquestion is lengthy.
1.2.82 - 2021-06-13 Added
Support for login using Keycloak.
API sessions could not follow action paths.
1.2.81 - 2021-06-07 Added
Support for additional file types in
1.2.80 - 2021-06-02 Added
DAFile and related
If a PDF file cannot be opened by
PyPDF2, an attempt will be made
to convert the file with
1.2.79 - 2021-06-01 Added
enabled() of the
.get_pdf_fields() so that it works with PDF files in
which the dimensions of a form field are object references.
1.2.78 - 2021-05-27 Fixed
depends on and
generic object variables.
Error with websockets.
1.2.77 - 2021-05-27 Added
current_filename attributes of
progress can go backward setting under
1.2.76 - 2021-05-24 Added
Support for using Azure Key Vault References in the Configuration.
Internet Explorer issue with Word sidebar.
Issue with Wizard and global variables.
1.2.75 - 2021-05-21 Changed
When specifying multiple choices using code containing dictionary
items, you can use the keys
value in a dictionary to
represent the label that appears on the screen and the value to
which the variable should be set.
Widths in percentage format (e.g.,
50%) are now valid when
inserting images into PDF files assembled from Markdown.
1.2.74 - 2021-05-17 Added
Support for using AWS Secrets Manager ARNs in the Configuration.
config from Configuration directive.
Issues with the Active checkbox and the Roles multiselect on the edit
user profile page.
Issue with SQL query for finding a user.
1.2.73 - 2021-05-15 Fixed
Issue with the “none of the above” option when
refers to a list.
1.2.72 - 2021-05-15 Fixed
1.2.71 - 2021-05-14 Changed
The Docker image now uses Debian
testing and Python 3.8.10 rather
buster and 3.8.6.
Issue with validation of Playground Packages form.
1.2.70 - 2021-05-13 Fixed
Trap potential error in SQL statement when querying admin users for
purposes of processing Modules in the Playground.
1.2.69 - 2021-05-13 Fixed
Issue with package system where duplicate entries in the package
list cause the upgrade process to raise an exception.
1.2.68 - 2021-05-13 Changed
Upgraded various dependencies, including
the new version of which allows images to be inserted into headers
and footers of DOCX files.
DO NOT ATTEMPT TO INSTALL 1.2.68 WITHOUT DOWNGRADING PIP FIRST. The
latest versions of
pip will stall indefinitely or use up all of
the memory in your system because of the way that
dependency resolution system works. To downgrade
pip, go to
Package Management, enter
pip==20.1.1 into the “Package on PyPI”
field, then click “Update.” Only then should you attempt to click
“Upgrade” to upgrade docassemble to 1.2.68.
interview_url() and related functions when
1.2.67 - 2021-05-08 Fixed
Possible fix to issue with
/interviews page and
(this turned out to have been caused by a third-party package that
some people were using).
1.2.66 - 2021-05-04 Fixed
Suppress Markdown deprecation warning.
1.2.65 - 2021-05-04 Fixed
A very serious security vulnerability was patched. Everyone should
upgrade to this version AS SOON AS POSSIBLE (upgrade to 1.2.66,
actually). Upgrade by going to Package Management and clicking
Upgrade. If you are on the 1.1.x series, you can upgrade to 1.1.113
with the Upgrade button or by entering
into the PyPI field. If you are using the
stable branch, you can
upgrade to 1.0.15.
1.2.64 - 2021-05-04 Added
popover trigger feature.
Added validation error on the edit user profile page when changing
e-mail address to an address that is a case-insensitive match to an
e-mail address that already exists.
1.2.63 - 2021-05-02 Changed
1.2.62 - 2021-05-01 Changed
Optimizations for the restart process.
1.2.61 - 2021-05-01 Added
resume_existing option for
1.2.60 - 2021-04-30 Added
multiselect data type.
1.2.59 - 2021-04-28 Fixed
1.2.58 - 2021-04-27 Fixed
list collect and checkboxes.
<fieldset> containing a question’s buttons now has the class
signature_of() method of the
SigningProcess class in the
signature recipe now has a width parameter.
1.2.57 - 2021-04-26 Added
authorize() method of
DAOAuth, which adds OAuth2
authorization headers to a
.geolocate() method has been renamed to
.geocode() and other
associated attributes have also been renamed. Backwards
compatibility will be maintained until the next minor version
attachment code specifier now accepts
help and operation of
1.2.56 - 2021-04-22 Fixed
Screen reader issue with lists.
DATemplate when used in the context of a DOCX
1.2.55 - 2021-04-20 Added
reload option for
Error with protecting PDFs with password.
1.2.54 - 2021-04-15 Changed
DASet methods will now return objects of the same
1.2.53 - 2021-04-12 Changed
The GitHub integration feature now sets the name of the SSH key to
appname followed by the user ID.
1.2.52 - 2021-04-11 Changed
Added mechanism in classes
Person, etc. for indicating what class
should be used for attributes that are objects.
Added support for QR codes when filling PDF files.
.address_block() method now supports the
show_country keyword parameters.
1.2.51 - 2021-04-07 Changed
Added optimizations for network usage on first page load (requires
1.2.50 - 2021-04-04 Changed
OCRing in background now uses one process per machine (requires
1.2.49 - 2021-04-03 Fixed
1.2.48 - 2021-03-31 Fixed
Error with SMS interface.
Better trapping of unicode errors in case of a YAML error.
1.2.47 - 2021-03-26 Fixed
Enter key on Playground Packages page.
Word wrap on buttons.
1.2.46 - 2021-03-24 Fixed
Error with reading zip files.
Error when the
complete_attribute is a
1.2.45 - 2021-03-19 Fixed
1.2.44 - 2021-03-16 Changed
possessify() function and the object methods that use it will
return a Unicode apostrophe when called from the context of a DOCX
1.2.43 - 2021-03-15 Added
italic functions as Jinja2 filters.
As soon as the container starts, a dummy web server begins listening
on port 80 (or
PORT). This web server turns off before NGINX
pip logs no longer saved to
1.2.42 - 2021-03-13 Changed
The optional second positional parameter of
noun_singular() can now be a list, dictionary, set, or tuple, in
which case the length is used.
aria-hidden="true" or CSS class
be ignored by the VoiceRSS screen reader.
reconsider() now accept generators as positional parameters.
send_email() will include names in
To, Cc, and Bcc if the names are defined.
fields question with no variable-setting fields or a
button field did not get marked as answered.
1.2.41 - 2021-03-09 Fixed
1.2.40 - 2021-03-08 Added
Support for the
PORT Docker environment variable, which defaults
to port 80.
1.2.39 - 2021-03-06 Fixed
1.2.38 - 2021-03-04 Fixed
Default value on combobox fields.
1.2.37 - 2021-03-03 Fixed
Default value on combobox fields.
1.2.36 - 2021-03-02 Fixed
Package install errors not being sent to screen.
1.2.35 - 2021-02-27 Added
.delitem() methods of
.getitem_fresh() methods of
restart option for
1.2.34 - 2021-02-25 Added
1.2.33 - 2021-02-20 Changed
password, autocomplete will be turned off.
content file in
.get_pdf_fields() raised exception when no fields present.
1.2.32 - 2021-02-17 Fixed
Issue with logging messages during post-update restart.
1.2.31 - 2021-02-16 Added
post option for
Deleting a package in the Playground will now delete the memory of
the last pull of that package.
1.2.30 - 2021-02-13 Fixed
False positive infinite loop detection with
1.2.29 - 2021-02-12 Fixed
Package Management issue with waiting for restart.
1.2.28 - 2021-02-09 Changed
In the question data,
been converted to a
title_case function now converts its parameter to a string.
Package Management issue with waiting for restart.
1.2.27 - 2021-02-05 Fixed
Restored default behavior of not converting to HTML in question
1.2.26 - 2021-02-04 Changed
variable_name to items under
attachments in the JSON
representation of a question.
Removed use of
1.2.25 - 2021-01-27 Added
region parameter under the
google Configuration directive,
for biasing the address autocomplete feature.
Unicode characters in PDF forms were altered if they were not part
1.2.24 - 2021-01-24 Not changed
The license. (Just in case you thought the 1/14/2021 @docassemble
Twitter thread about the dystopian MIT-SAFE License was real.)
from_url() method will now raise an exception if there is an
error retrieving the URL.
avconv Configuration directive is now called
Uploading a video no longer runs a conversion to
Option for connecting to a PostgreSQL database using SSL with
and other database configurations. A system update is required to
use this feature.
Problem writing error messages to the logs when Mailgun mail sending
instead of bytes.
Non-graceful failure on Google Drive configuration page when API for
obtaining a file listing raises an exception.
1.2.23 - 2021-01-07 Changed
Expanded the information available in the data view of a question.
Unicode passed in URL arguments is no longer escaped.
next parameter now contains the session ID upon attempting to
access a session in an interview with
depends on and
on change now can be used with generic object
and/or index variables even when the fields being changed do not
literally match the variable name specified in
depends on or
show if when there are two fields with the same name
visible on the screen at the same time.
1.2.22 - 2021-01-04 Changed
Expanded the information available in the data view of a question.
Issue with combobox update triggers.
DADict objects in
code for multiple choice lists.
1.2.21 - 2020-12-29 Changed
list collect feature will now show the
minimum_number is set.
1.2.20 - 2020-12-28 Fixed
generic object inheritance.
1.2.19 - 2020-12-26 Fixed
1.2.18 - 2020-12-22 Fixed
Adapted to new version of
1.2.17 - 2020-12-22 Changed
Different startup mechanism for
1.2.16 - 2020-12-15 Added
chain function from
Forced deletion of
1.2.15 - 2020-12-14 Fixed
Pinned dependencies of fork dependencies.
1.2.14 - 2020-12-09 Fixed
Problem with the way in which
pip was invoked, given new version
1.2.13 - 2020-12-09 Fixed
1.2.12 - 2020-12-09 Changed
Interview filenames with spaces in the Configuration were disregarded.
1.2.11 - 2020-12-07 Added
user can request developer account Configuration directive.
User information that non-privileged users are not allowed to edit
in Profile but that was set with code was overwritten when user
edited their user profile.
datereplace.js in recipe.
1.2.10 - 2020-12-05 Added
Additional items colorized in spreadsheet translations.
HTML stripped from fields with
Issue with server-side validation where multiple
have the same
1.2.9 - 2020-12-04 Fixed
1.2.8 - 2020-12-03 Changed
Different limiting mechanism for the nested use of
md_in_html extension of the
1.2.7 - 2020-12-02 Added
new window option to
Ajax error with xhr responses.
1.2.6 - 2020-12-01 Fixed
1.2.5 - 2020-11-30 Fixed
1.2.4 - 2020-11-29 Changed
setup.py file created by the Playground now sets the minimum
version of dependencies to the latest version on PyPI that is not
more recent than the version installed on the server.
Browser warning about Google Analytics cookies.
1.2.3 - 2020-11-29 Fixed
Upgraded to new version of Azure Blob Storage API.
1.2.2 - 2020-11-29 Fixed
Reverted Azure Blob Storage API version.
1.2.1 - 2020-11-28 Fixed
Error on Package Management page.
1.2.0 - 2020-11-28 Changed
Upgraded Python to version 3.8 and upgraded dependencies. These
changes require a system upgrade. See
https://docassemble.org/docs/docker.html#upgrading for instructions
on how to perform a system upgrade. Because Python changed between
version 3.6 and and 3.8, you should test your code carefully to make
sure it still works in Python 3.8.
Among other upgrades, Bootstrap has been upgraded to version 4.5.3.
If you are using Bootstrap themes, you may wish to upgrade your
Issue with user privileges.
The Upgrade button has been restored but it is non-functional.
Important security vulnerability.
Upgrading through Package Management is turned off because the
upgrade to 1.2.0 requires a system upgrade.
Some Jinja2 filters did not work correctly.
The API can now be used to set variables to class names.
sort Jinja2 filter did not work correctly.
suppress error notificiations Configuration directive.
Error message if file upload will exceed
maximum content length.
Google Drive synchronization did not work with shortcuts to folders.
inline_markdown filters now respect the
start attributes of
Upgraded LibreOffice (system upgrade required for this change).
change_numbering keyword parameter to
.make_ocr_pdf_in_background() method can now handle mixed file
Markdown internal anchor links now work in the web interface.
German translations of country names.
functions now pass output through the
word() translation system.
language modifier for an attachment did not work with
template file attachments.
temporary session specifier under
country_name() functions will now pass
country names through the
word() translation system.
The local PostgreSQL database was being created with the default
encoding, which did not allow UTF-8 strings to be saved in
attachment that uses a different language than the current
language did not restore the correct language after an exception.
parameter when short URL is in use.
Translation of phrases on registration page.
1.1.99 - 2020-11-12 Changed
Different logic for whether hyperlinks open in the same tab or a
1.1.98 - 2020-11-12 Fixed
1.1.97 - 2020-11-10 Added
1.1.96 - 2020-11-08 Added
lang URL parameter for non-interview screens.
1.1.95 - 2020-11-06 Fixed
Unnecessary incrementing of PyPI version.
Recent installations (since June 25, 2020, possibly) contained a
Debian security update that disabled ImageMagick’s ability to inject
signature images onto PDFs. Running
docker stop and
start is required to enable the PDF signature image feature.
1.1.94 - 2020-11-03 Added
set_object_type() method of
variable attribute of the return value of
reset_geolocation() method of
Address and the
keyword parameter of the
map Jinja2 filter looked up dictionary items instead of
Could not mix a Python-based
if or vice-versa.
1.1.93 - 2020-10-27 Fixed
Markdown in popover field help.
1.1.92 - 2020-10-24 Added
terms, you can specify that text other than the term
name should be displayed using
auto terms, you can use
definition to indicate that multiple terms are associated with a
1.1.91 - 2020-10-24 Fixed
Bug in GitHub configuration.
1.1.90 - 2020-10-20 Changed
Enabled a variety of functions to operate as Jinja2 filters.
Corrected operation of
selectattr Jinja2 filter.
1.1.89 - 2020-10-19 Added
bates_number() methods of
count() methods of
1.1.88 - 2020-10-16 Added
required privileges for initiating specifier under
The JSON format of questions now includes analytics information.
delete_variables feature of
/api/session did not work when
passing the request in JSON format.
1.1.87 - 2020-10-14 Fixed
False error messages on package update screen.
1.1.86 - 2020-10-13 Changed
Monitor disabled when
checkin interval is zero.
Potential OAuth2 issue with Google Drive.
1.1.85 - 2020-10-12 Added
table css class screen part.
show_as_markdown() method for
_inline option for
Ability to list multiple files under
docx template file.
Ability to set the
post screen parts directly on a
js enable if, and
js disable if
1.1.84 - 2020-10-07 Fixed
1.1.83 - 2020-10-07 Fixed
cross site domains was not being used by CORS for web sockets.
1.1.82 - 2020-10-06 Fixed
1.1.81 - 2020-10-05 Fixed
Tweak to focusing on first element.
1.1.80 - 2020-10-04 Added
middle_initial() method of
First input element on the screen is focused only if visible in the
[FILE ...] can now be used with images declared in
Issue with floating point/integer numbers and input validation.
1.1.79 - 2020-09-28 Fixed
Problem with using
[TARGET] inside of
1.1.78 - 2020-09-25 Fixed
code and generic objects/iterators.
1.1.77 - 2020-09-22 Fixed
Issue with fix in the previous version regarding group-level file permissions.
1.1.76 - 2020-09-22 Added
question_id attribute of
Issue with group-level file permissions.
1.1.75 - 2020-09-20 Fixed
show if and
js show if when multiple fields with the
same name are on the screen.
Issues with server-side validation not recreating values on the
screen on error.
1.1.74 - 2020-09-18 Changed
url_args without causing a change to the
not cause a new step to be created.
An empty string
max was not being ignored.
1.1.73 - 2020-09-13 Changed
use_word keyword attribute to
can be used to force a textual representation of any number.
1.1.72 - 2020-09-10 Fixed
new_session from URLs formed with
1.1.71 - 2020-09-07 Fixed
Better support for iterables in
comma_list() and other places.
Markdown table alignment in Bootstrap.
1.1.70 - 2020-09-05 Added
reply_to option for
The current section name is now the label of the
navigation: dropdown button.
The breakpoint for the mobile signature view is now Bootstrap
Multiple choice fields with empty choices were being set to
show if deselecting the field.
1.1.69 - 2020-09-02 Added
current option for
1.1.68 - 2020-09-02 Fixed
Improper verb conjugation for non-English languages.
1.1.67 - 2020-09-01 Fixed
Issue with two POST requests being sent during inline file uploads.
1.1.66 - 2020-08-30 Added
small screen navigation option under
email body, and
address default options for customizing the functionality of the
attachment code interface.
The horizontal section interface is no longer hidden on small
The vertical section interface becomes the horizontal section
interface on small screens.
The default body of the e-mail that the user can send from an
attachment code interface is now translated using the
Your document, %s, is attached. and
Your documents, %s, are
1.1.65 - 2020-08-28 Added
style keyword parameter for
/start/ path for starting an interview now transforms into
/run instead of
/interview. It also has a second form for
referring to the package name and filename (without using
The Playground “Share” link did not update correctly based on the
interview being run.
1.1.64 - 2020-08-26 Fixed
Issue with relative image URLs when embedding in a
1.1.63 - 2020-08-25 Added
corner back button label screen part.
progress modifier did not behave as described in the documentation.
1.1.62 - 2020-08-23 Added
include attachment notice,
include download tab,
manual attachment list for tweaking the display of attached
Step advanced when session started with URL parameters.
The signature screen scrolled at submission.
next parameter was forgotten when using social login methods.
reconsider modifier did not work with iterator variables.
1.1.61 - 2020-08-20 Fixed
1.1.60 - 2020-08-19 Changed
Playground Packages page now reports local date and time of a commit.
Issue with two file fields or two fields with a
validate that have
the same variable name and one is hidden by
1.1.59 - 2020-08-18 Fixed
Cron problem introduced in 1.1.56.
1.1.58 - 2020-08-16 Fixed
Backwards-compatibility issue related to
DAEmpty introduced in 1.1.54.
1.1.57 - 2020-08-16 Fixed
Backwards-compatibility issue related to
DAEmpty introduced in 1.1.54.
1.1.56 - 2020-08-16 Added
user_local objects in the
When the API is in use,
interface() will return
review blocks were not compatible with iterator variables.
combobox fields not working right in
list collect mode.
address autocomplete did not initialize when the address was
hidden by a
Submission blocked when an empty non-required file upload field was
present in an embedded interview.
1.1.55 - 2020-08-06 Added
package attribute of the output of
make_copy keyword parameter for
overwrite keyword parameter for
overwrite parameter for the
/api/session POST endpoint.
persistent option for the
/api/session/action POST endpoint.
Recipe for passing variables from one session to a newly created
1.1.54 - 2020-08-04 Added
attr_name() method of the
dry_run keyword parameter for
str keyword parameter when initializing a
New recipe for gathering multiple signatures; uses a modular
Missing control for
capitalize in some language functions.
SendGrid fails when subject line is empty string.
once_temporary keyword parameters for
interview_url_action() were not working.
Problem with running interviews in a different tab in Playground on
1.1.53 - 2020-07-29 Fixed
Error in Docassemble-Flask-User dependency.
1.1.52 - 2020-07-29 Fixed
Moved evaluation of section information to post-assembly when
getting question data.
1.1.51 - 2020-07-28 Added
footer screen part.
autoterms are now included in JSON question data.
signature blocks did not support
continue button field.
System message translation system had gaps due to the integration
with Flask-User’s translation system not working as intended.
Inconsistent behavior of
force_ask() depending on whether an item
was listed first or not.
1.1.50 - 2020-07-21 Added
Feature for viewing names in an interview and the YAML blocks
associated with them.
.copy() method for
init() method of the
DAFileCollection class did not accept
Fully qualified image URLs now work in e-mail HTML.
1.1.49 - 2020-07-07 Fixed
Additional input validation on parameters passed to APIs.
1.1.48 - 2020-07-06 Fixed
/api/user_info API endpoint and the
now do case insensitive searches for e-mail addresses.
1.1.47 - 2020-07-05 Added
1.1.46 - 2020-07-05 Fixed
1.1.45 - 2020-07-05 Fixed
Error in table creation module.
1.1.44 - 2020-07-05 Changed
interview_list() function, when called without an
now uses pagination and returns a tuple instead of a list. Note
that this change is not backwards-compatible, so you will need to
change any code that you have that calls
get_user_list() function now uses pagination and returns a
tuple instead of a list. Note that this change is not
backwards-compatible, so you will need to change any code that you
have that calls
/api/user_list GET endpoints
of the API now use pagination and return a dictionary, not a list.
Note that this change is not backwards-compatible, so you will need
to change any code that you have that uses these APIs.
text_type names from
docassemble.base.util. Note that if you have used any of these,
this change may break your code.
persistent optional keyword parameter for
mark_task_as_performed() and related functions.
task_persistent optional keyword parameter for
send_sms(), and the
Issue with encryption in functions launched during the loading of
the first page of an interview session.
Issue with multi-server configurations and the order in which
container software is updated that can result in some containers
unable to start.
1.1.43 - 2020-06-30 Changed
complete_elements() method now returns a
DAList. Note that
this may break existing code that uses
get a plain list of the complete elements, use
Spanish ordinal numbers removed.
Upgraded jQuery and jQuery Validation Plugin.
Possible fix to iframe reloading issue.
1.1.42 - 2020-06-25 Added
Jinja2 filter was converting Python built-in types to strings.
1.1.41 - 2020-06-22 Fixed
1.1.40 - 2020-06-19 Added
field metadata, and the
send question data
country keyword parameter for
field keyword parameter for
1.1.39 - 2020-06-17 Fixed
1.1.38 - 2020-06-11 Added
add another label option for
manual_line_breaks Jinja2 filter.
.all_false() and related
DADict methods reflect Python
notions of true and false values rather than literal equivalence of
the values to
Sessions that were created using the API will now appear immediately
in My Interviews.
1.1.37 - 2020-06-10 Fixed
Attempt to force reinstall of pdfminer.six.
1.1.36 - 2020-06-10 Fixed
Another attempt to force uninstall of pdfminer3k.
1.1.35 - 2020-06-08 Fixed
Force uninstall of pdfminer3k.
1.1.34 - 2020-06-08 Fixed
1.1.33 - 2020-06-04 Changed
help can be added to
Support for icons in terms.
1.1.32 - 2020-05-30 Fixed
1.1.31 - 2020-05-29 Fixed
Issue with nested question file inclusion change in 1.1.30.
1.1.30 - 2020-05-29 Fixed
Issue with screen reader and labels containing HTML codes.
Issue with nested question file inclusion.
1.1.29 - 2020-05-27 Fixed
Issue with checkbox validation text when the “none of the above”
choice contained HTML.
admin users from changing other users’ information
with the API.
1.1.28 - 2020-05-21 Added
skip undefined option for
pdf template file
Issue with nested
datatype: object fields in a
disable others referring to a list in a
1.1.27 - 2020-05-19 Fixed
js show if and
1.1.26 - 2020-05-17 Fixed
under text when
attachment is used.
Error when reading certain types of PDF files.
1.1.25 - 2020-05-07 Added
if_started keyword parameter for the
ask_number on a
target_number is defined, removing an item using the table editing
interface will decrease
target_number by one.
1.1.24 - 2020-05-04 Fixed
Unicode problem with JSON sent from the browser.
1.1.23 - 2020-05-03 Added
fields that contains a single multiple choice
field where the choices are empty is not skipped if the
continue button field.
The branch and commit are shown in the Packages page of the
Playground when GitHub integration is enabled and the package has a
known presence on GitHub.
Upgraded Font Awesome to 5.13.0.
Infinite loop when a list is gathered and
object_type is set to a
class for which the textual representation or
pre-defined and a set number of items are to be gathered.
sql ping feature was not fully implemented.
1.1.22 - 2020-04-30 Changed
When a item is added to or removed from a group, the
attribute is updated even if
there_are_any was not previously
Package update problem due to
pip freeze changing behavior in
1.1.21 - 2020-04-30 Fixed
PDF export value issue where two export values are present in the
PDF for a checkbox field.
1.1.20 - 2020-04-30 Changed
Upgraded LibreOffice to version 6.4.
review screens shown as part of the interview logic were being
treated as actions.
1.1.19 - 2020-04-29 Changed
help accompanies a
yesno field, it will be available as a
popup accessed from an icon.
GitHub issue when committing to a new branch.
Exception when trying to edit a non-existent user.
disable others and
uncheck others features did not work
correctly in a
1.1.18 - 2020-04-28 Changed
checkbox export value feature is no longer documented because
PDF field filling now inspects the PDF for the export value.
address autocomplete feature was not compatible with
1.1.17 - 2020-04-27 Added
hyperlink style option for an
Sendgrid API e-mails to multiple “To” recipients only reached the
1.1.16 - 2020-04-26 Added
Test script screenshot mechanism.
Subfolder paths now allowed in URLs for static files.
1.1.15 - 2020-04-23 Added
default date min and
default date max options under
1.1.14 - 2020-04-22 Changed
The GitHub button on the Playground Packages page will now respect
the GitHub repository that was pulled and will make an initial
commit when the repository exists on GitHub but is empty.
1.1.13 - 2020-04-21 Added
title url and
title url opens in other window screen parts.
A “retry” button on the error screen.
Auto-focus on page load will only be given to an element in the first non-
Pressing enter key on the list collect screen clicked a hidden
Changes in 1.1.11 blocked certain types of uploads.
1.1.12 - 2020-04-20 Fixed
Fields with an object-based
datatype did not work when
collect was used.
Error with exporting tables to Excel.
1.1.11 - 2020-04-19 Added
Ability to download files by specifying a
filename parameter to
GET requests to
use_word keyword argument to
always include editable files specifier for omitting the
checkbox in the attachment UI.
nginx ssl protocols Configuration directive.
use https or
behind https load balancer are enabled, a
Strict-Transport-Security header is returned.
allow embedding is not set to
Content-Security-Policy will block iframes. If
is set to
cross site domains is set, the list of
domains will be used for the
More than one
address autocomplete can now be used on a screen.
Disconnecting from GitHub integration failed if the existing
integration no longer functioned.
1.1.10 - 2020-04-15 Added
mailgun_variables option for
When more than one file with the same name is added to a ZIP file,
the files are renamed to avoid name collision.
1.1.9 - 2020-04-14 Fixed
1.1.8 - 2020-04-13 Fixed
code is used to generate
fields and manually entered
Jinja2 index error converted to attribute error.
Incorrect focus when first fields have
1.1.7 - 2020-04-13 Fixed
Error with serving files through
1.1.6 - 2020-04-12 Added
social Configuration directive for meta tags.
social specifier under
metadata for meta tags.
allow robots Configuration directive.
1.1.5 - 2020-04-09 Added
required modifier for the
Error message about blank signature not showing.
1.1.4 - 2020-04-08 Changed
DAEmpty now accepts index assignments.
new_session during an interview now preserves
url_args and the
referring_url(), consistent with the behavior
1.1.3 - 2020-04-06 Added
use_familiar attribute of the
familiar() method of the
Issue with too many flash messages on CSRF error.
Issue with multiple DOCX documents and subdocuments.
1.1.2 - 2020-04-04 Fixed
Issue with file names and
1.1.1 - 2020-04-04 Added
attachment keyword parameter for
_attachment keyword parameter for
Securing of uploaded filenames less strict.
1.0.14 - 2021-05-05 Fixed
Missing file in setup.py.
1.0.13 - 2021-05-04 Fixed
Suppress Markdown deprecation warning.
1.0.12 - 2021-05-04 Fixed
Important security vulnerability.
1.0.11 - 2020-04-15 Fixed
Error when code is used to generate fields and manually entered
Jinja2 index error converted to attribute error.
Incorrect focus when first fields have
1.0.10 - 2020-04-12 Fixed
Removed 302 redirects.
Mako filter error.
Inline upload error.
1.0.9 - 2020-04-06 Fixed
Issue with too many flash messages on CSRF error.
Issue with multiple DOCX documents and subdocuments.
1.0.8 - 2020-04-05 Added
DASQLPING Docker environment variable
1.0.7 - 2020-04-05 Fixed
Display of available version on Package Management page.
1.0.6 - 2020-04-04 Added
stable version Configuration directive.
1.0.5 - 2020-04-02 Fixed
Apache initial certbot run used wrong syntax.
Synchronizing local updates to files inside projects on OneDrive failed.
1.0.4 - 2020-03-31 Fixed
disable others is used inside of a
show if or
1.0.3 - 2020-03-30 Fixed
sql ping workaround for SQL connections being cut off.
1.0.2 - 2020-03-25 Fixed
Fixed issue with incomplete pull request by dependabot.
1.0.1 - 2020-03-25 Fixed
Deprecated use of access token in URL parameter when retrieving
branch listing from GitHub API when repository reference uses an
1.0.0 - 2020-03-22 Added
show_country keyword parameter for the
.block() methods of the
international keyword parameter for the
.block() method of
Switched to a different versioning system. The
stable branch on
GitHub will be version 1.0. Patch versions within version 1.0
(1.0.1, 1.0.2, etc.) will be for bug fixes and security upgrades
master branch on GitHub will be version 1.1. Patch
versions within version 1.1 will include bug fixes as well as
omit_default_country parameter of the
Address class is deprecated.
restrict input variables and attachment e-mailing and
pip show inefficiency unnecessarily slowed down initial start up
auto open option for the
pages() method for Twilio fax status.
The caret next to automatically closed subsections in the section
navigation bar defaulted to the wrong setting.
received() method of the fax send status did not correctly
True when the fax was in
Error message when clicking the back button under certain
Deleting an item in a table now undefines
there_is_another when it is
bootstrap theme in the Configuration will apply to interviews
bootstrap theme in
features is not set.
Errors in global CSS and JS Configuration directives not intercepted
bootstrap theme and other Configuration directives that
require Flask URL formation.
More flexible handling of
default values with
allow embedding Configuration directive now accepts the value
'Lax', which is the default.
LibreOffice Word to PDF conversion no longer reduces image
Log server in multi-server mode accessed on wrong port.
URL parameters stripped when redirecting to login when
anonymous access is
If the database is PostgreSQL, the Alembic table alteration
introduced in 0.5.97 for MySQL compatibility purposes is no longer
applied by default because it might take too much time on a server
with a large SQL database. The discrepancy between the SQLAlchemy
column type specification (varchar) and the actual PostgreSQL column
types (text) is harmless. If your SQL database is not large, you
force text to varchar upgrade: True in your Configuration
before upgrading to force the column type alteration to take place
during the upgrade. After upgrading to 0.5.105+, you can remove
force text to varchar upgrade from the Configuration. This is
only applicable if upgrading from 0.5.96 or before; if you already
upgraded to 0.5.97 - 0.5.104, then the alteration has already taken
bleach due to security vulnerability.
user auto delete Configuration directive.
allow embedding Configuration directive, which if
SameSite flag in cookies to
SameSite flag is now set to
Strict in cookies by default.
For the old behavior, set
allow embedding: True in the
Playground syntax highlighting now highlights Python code as Python
interview_menu() function did not accept parameters.
.data_type_guess() method of
.keys() method of
Issue with default values after input validation fails and two
fields set the same variable.
0.5.99 - 2020-02-19 Added
When item under
edit in a
table has no question associated with
it, an error was raised only if the item was first.
0.5.98 - 2020-02-18 Fixed
/playgroundstatic file links to fail.
0.5.97 - 2020-02-17 Added
forget prior option for
Calls to subprocesses now have timeouts.
Database columns used as indices changed from text to variable character.
0.5.96 - 2020-02-15 Changed
depends on no longer implies
0.5.95 - 2020-02-14 Added
show incomplete and
not available label options for
gathering_started() method of groups.
0.5.94 - 2020-02-13 Added
allow external auth with admin accounts Configuration
The url parameter feature of
0.5.93 - 2020-02-13 Changed
code blocks with
event work with
depends on now.
Playground folders have download buttons now.
json are now available inside the interview namespace.
0.5.92 - 2020-02-11 Added
session error redirect url Configuration directive.
as_noun() on a group with one item will return the
noun_singular() of the applicable noun.
0.5.91 - 2020-02-07 Added
/api/interview_data API endpoint.
Interview cache not cleared after Playground pull.
0.5.90 - 2020-02-06 Added
convert_to method of
depends on extended to additional block types.
0.5.89 - 2020-02-04 Changed
Backend health monitor HTTP server moved to port 8082 from port
0.5.88 - 2020-02-03 Added
response_code option for
sendgrid api key Configuration directive for sending e-mail
using the SendGrid API.
question with a Continue button that sets a variable to
review screen with a Continue button instead of a Resume
button, can be indicated with
continue button field instead of
0.5.87 - 2020-02-02 Fixed
Overwriting of README in Playground Packages when README.md is in
a first level subfolder.
Fields hidden by
show if that uses
code could prevent the
display of a
0.5.86 - 2020-01-31 Added
default_for class method and
is_object attribute of
area should now be expressed as
area. For backwards compatibility,
datatype: area still works.
/api/file introduced in 0.5.85.
0.5.85 - 2020-01-28 Added
CSS classes on HTML elements related to attachments.
Missing static file in existing package generated exception instead
of a 404 error.
0.5.84 - 2020-01-27 Added
restrict input variables Configuration directive.
allowed to set question modifier.
PDF image overlays failed with any image that contained a density in
0.5.83 - 2020-01-26 Added
Input validation features for
Ability to use
DAOAuth without being logged in.
0.5.82 - 2020-01-23 Added
Warnings in the logs if unrecognized keys used in interview YAML
disable others feature interfered with the
show if feature.
0.5.81 - 2020-01-22 Added
allow updates Configuration directive and
Docker environment variable.
Google Drive issue with files reporting no size.
Erroneous reference to text_type.
0.5.80 - 2020-01-20 Fixed
Variables with iterators or generic object references could not be
set through the API or
0.5.79 - 2020-01-18 Added
convert_file API endpoint.
Incorrect tab order in Playground Pull.
0.5.78 - 2020-01-14 Added
depends on modifier.
on change block.
.invalidate_attr() method of
invalidate option in a
0.5.77 - 2020-01-12 Added
Ability to convert DOCX to PDF using CloudConvert.
cloudconvert secret Configuration directive.
0.5.76 - 2020-01-08 Fixed
Playground variables sidebar did not always switch to the most
Restart process used IP address and port that may not be available
0.5.75 - 2020-01-07 Added
datetime format, and
Line breaking issue with
0.5.74 - 2020-01-06 Fixed
Error when checkbox values are not strings.
0.5.73 - 2020-01-05 Fixed
Error in watchdog process launch.
UI bug in list collect.
0.5.72 - 2020-01-05 Added
admin full width Configuration directive.
wrap lines in playground Configuration directive.
Moved Download button to below the editor in the Playground.
Not safe to concatenate a
DAList and a
0.5.71 - 2020-01-05 Changed
Discontinued support for Python 2.7.
0.5.70 - 2019-12-30 Added
fr-words.yml translation file in
Errors when building the Dockerfile on the ARM architecture.
0.5.69 - 2019-12-24 Added
.privilege_access() methods of
allow users, and
attachments and field modifiers for
User could not access a private and persistent file after the
deletion of the session in which the file was created.
js show if and
0.5.68 - 2019-12-21 Fixed
JQuery Validation Plugin message for integer and step input
validation was not customizable.
Dependency was incompatible with Python 3.5.
0.5.67 - 2019-12-19 Added
help generator and
image generator field modifiers.
code was used with
content file and the code
returned a list.
Backup of Redis database when password is used.
0.5.66 - 2019-12-19 Fixed
Issue with Redis and passwords.
0.5.65 - 2019-12-19 Added
The Configuration page now reports the underlying Python version.
PATCH endpoints for API-related API calls only accepted URL
step specifier for
datatype: range fields was not effective.
re_run_logic() function did not re-run from the start of the
interview logic in all situations.
redis directive in the Configuration did not support
A checkbox with the empty string as the value triggered an error.
0.5.64 - 2019-12-15 Fixed
Back button after
url_args are set repeated the setting of the
resume interview after login feature did not work correctly
with the default menu.
0.5.63 - 2019-12-14 Added
API endpoints for managing API keys.
0.5.62 - 2019-12-12 Fixed
default interview was ignored if a
Error in package listing when installing from GitHub.
0.5.61 - 2019-12-11 Fixed
subtitle screen part was not updated correctly by
In the Playground, the “Share” link was not updated when the
“Variables, etc.” file name changed.
0.5.60 - 2019-12-09 Fixed
0.5.59 - 2019-12-09 Fixed
0.5.58 - 2019-12-09 Fixed
Modules included in YAML files with relative references were loading
from the main YAML file’s package, not in the package of the YAML
file containing the
0.5.57 - 2019-12-09 Changed
Different way of finding GitHub e-mail address.
0.5.56 - 2019-12-08 Added
action buttons specifier for
0.5.55 - 2019-12-06 Fixed
Styling of Font Awesome icons inside buttons.
Some variables in Variables, etc. inappropriately flagged as undefined.
0.5.54 - 2019-12-05 Added
confirm registration Configuration directive.
CSRF errors pop up in a “flash” box.
Cron jobs run with nice 19 (system upgrade required for this
Messages from Flask-User are now translated through the
docassemble system phrase translation system. Fixed
Styling of Font Awesome icons inside buttons.
0.5.53 - 2019-12-03 Added
SQLObjectRelationship classes in
.filter() class methods of
_session attribute of
The option to opt out of module pre-loading by adding
# do not
pre-load to a line at the top of the module file.
message parameter of
.add_action() has been renamed to
label (backwards-compatibility is maintained).
.get_session() method of
SQLObject has been removed in favor
0.5.52 - 2019-11-29 Fixed
Bug in package update script.
0.5.51 - 2019-11-28 Changed
pt-words.yml file has been renamed to
you are using this file, you will need to change your
HTML codes non-printable in dropdown lists.
0.5.50 - 2019-11-26 Added
inline_markdown Jinja2 filter.
Problem with XLSX translation file colorization.
0.5.49 - 2019-11-24 Fixed
Python 2.7 bug introduced in 0.5.47.
0.5.48 - 2019-11-24 Added
external keyword parameter for the
Access to files is now granted to users across sessions, whether the
session was active in the browser’s session or not. Previously,
access was restricted based on sessions that had been active in the
.url_for() method when used with
temporary=True now implies
external=True, which means that the URL returned includes the
protocol and hostname. Use
external=False to preserve the old
A superscripted question mark icon is now shown in the green text
help is added to a field.
When committing to GitHub from the Playground Packages screen, you
can choose to also publish on PyPI and install the package on the
When publishing to PyPI from the Playground Packages screen, you can
choose to also install the package on the server.
0.5.47 - 2019-11-24 Added
interview delete days by filename Configuration directive.
review button color and
review button icon options under
sleep option for
Cron job inefficiencies.
check in and
list collect at the
admin user signs in with a social login.
input type: ajax in
list collect did not allow adding
Ampersands in Jinja2 code were converted to
0.5.46 - 2019-11-21 Fixed
Possible race condition in
0.5.45 - 2019-11-20 Added
backup directive under
Problem converting some types of interview answers to JSON.
0.5.44 - 2019-11-20 Fixed
Cron job was overtaxing the SQL server.
does_verb() used the wrong tense.
0.5.43 - 2019-11-18 Added
Ability to pass keyword parameters to the
show() method of a
Problem with object storage cache invalidation.
0.5.42 - 2019-11-17 Fixed
Problem unpickling from 2.7.
0.5.41 - 2019-11-16 Fixed
Problem with the Playground API using the Templates folder.
Playground API did not support projects other than the default
HTML typo that was introduced in 0.5.40.
Problem unpickling from 2.7.
0.5.40 - 2019-11-15 Added
button style Configuration directive.
disable analytics option under
The LDAP login feature was not compatible with the new version of
0.5.39 - 2019-11-13 Changed
Multi-server syslog system improved.
objects_from_file() now accepts
DAFile and related objects.
DAStore being used with the API.
Logrotate not rotating all files.
0.5.38 - 2019-11-11 Changed
Testing scripts now support the
aloe package as an alternative to
Web sockets logs not sent to syslog.
REDIS not overridden when
ENVIRONMENT_TAKES_PRECEDENCE is true.
Reverted change made in 0.5.37 regarding HTML codes.
0.5.37 - 2019-11-09 Added
Method of initializing admin e-mail and password through volume
collect statistics Configuration directive.
External PostgreSQL database created if it does not exist.
mod_wsgi caused problems when upgrading.
HTML codes non-printable in dropdown lists.
Potential problem with too-short RabbitMQ heartbeat.
0.5.36 - 2019-11-04 Fixed
Exceptions raised by syslog calls were not trapped.
Problems with restarting server in multi-server configuration.
0.5.35 - 2019-10-31 Changed
The “remember me” feature removed.
Deleted or renamed playground modules not culled from Python
Content of new file in Playground lost if filename blank.
session parameter added to result of
0.5.34 - 2019-10-30 Fixed
Erroneous dependency on
0.5.33 - 2019-10-30 Changed
All Python dependencies have version numbers explicitly indicated.
Backend server health check tests for completion of initialization.
websockets ip Configuration directive no longer defaults to localhost.
Better handling of Markdown when passing values to a DOCX file
Ordinal functions now accept arbitrary keyword arguments.
Some phrases for translation not detected.
verbatim() function did not escape formatting characters in
0.5.32 - 2019-10-25 Added
ENVIRONMENT_TAKES_PRECEDENCE Docker environment variable.
use minio Configuration directive.
account_type as a response from `get_user_info().
Improved backup and logging in multi-server configuration.
admin can upgrade or downgrade packages.
subtitle did not work with
Certain PDF fields raised error.
Not all language functions were compatible with keyword parameters.
Manual newlines in Markdown not converted to line breaks.
Double quotes in HTML input element values not properly escaped.
0.5.31 - 2019-10-13 Added
Ability to use
content file specifiers of
labels above fields is used, the input element will now be
wrapped in a
<div> with CSS class
Server-side validation errors are now scrolled to when the screen
Broken link to variables and values on error page.
0.5.30 - 2019-10-11 Fixed
Free disk space indicator not compatible with Python 2.7.
0.5.29 - 2019-10-11 Added
Ability to download all log files as a ZIP file.
Free disk space indicator on Configuration page.
Problem with Google Drive Sync and zero-byte files.
0.5.28 - 2019-10-10 Fixed
Problem with NGINX and
0.5.27 - 2019-10-10 Fixed
Problem with session deletion.
0.5.26 - 2019-10-09 Changed
Limited data retrieved by Google address autocomplete feature.
NGINX configuration omitted
0.5.25 - 2019-10-09 Changed
Configuration page now shows a listing of errors in the
Configuration, if there are any.
Error with URLs to cloud-hosted files.
0.5.24 - 2019-10-08 Fixed
Error with Run button in Playground.
Erroneous space in the CSS class names of some fieldsets.
Error with non-cloud temporary URLs.
0.5.23 - 2019-10-08 Added
Additional cache invalidation headers.
0.5.22 - 2019-10-08 Added
use cloud urls directive in the Configuration.
Miscellaneous problems with ajax field type.
Syntax with Let’s Encrypt renewal not compatible with all
Problem with obtaining JSON version of
js show if
is in use.
Unnecessary saving of interview answers with the wrong encryption.
0.5.21 - 2019-10-04 Fixed
Error when Playground project name matched name of a Playground
0.5.20 - 2019-10-04 Fixed
Problem with office task pane.
Problem with YAML in field scanner in utilities.
endpoint url option.
0.5.19 - 2019-10-02 Fixed
Problem with background tasks and uploads.
0.5.18 - 2019-10-02 Added
Projects system in the Playground.
0.5.17 - 2019-09-26 Added
An option for assembling text files by setting
raw: True under
0.5.16 - 2019-09-25 Added
Thumbnail generation bug.
Image icon problems.
External URLs calculated inconsistently.
0.5.15 - 2019-09-23 Added
css class screen part.
allow anonymous access Configuration directive.
0.5.14 - 2019-09-23 Fixed
Markdown of single-column
tables not recognized.
0.5.13 - 2019-09-22 Added
use_objects option for
use objects option for
objects from file.
objects_from_file() function and the
objects from file block
now support JSON files as well as YAML files.
Transitional error related to session upgrade.
0.5.12 - 2019-09-21 Changed
Users can run multiple sessions in different browser tabs.
i URL parameter is required for any endpoint that uses the
DAEmpty class now supports comparison operators.
IndexErrors appeared under some circumstances when using actions.
Live Help bug.
0.5.11 - 2019-09-16 Fixed
Problem with checkbox object initialization inside of
Error when trying to inspect functions to get usage information for
the Playground sidebar.
Renewal of Let’s Encrypt included obsolete domains.
0.5.10 - 2019-09-15 Added
symbol keyword parameter of
currency_symbol keyword parameter of
disable others when
allow non-idempotent questions
reconsider under certain circumstances.
command() used immediately after a file upload.
Error when exporting dates in a table to Excel.
0.5.9 - 2019-09-12 Fixed
NoneType error when using
Error when non-base64 dictionary keys happened to be valid base64.
0.5.8 - 2019-09-11 Added
delattr method of the
Different behavior when
allow non-idempotent questions is set to
Unpickling errors in
user_interviews() not trapped appropriately.
0.5.7 - 2019-09-10 Changed
functions are renamed to
Aliases are in place for backwards-compatibility.
Widths of images inserted into DOCX files now support centimeters
and twips as units.
continue button field can now be used with other types of
questions that set variables, rather than just
Unpickling errors in
user_interviews() not trapped.
0.5.6 - 2019-09-08 Added
flash() function to clear existing
Error when displaying the JSON form of certain
Error when using
Value objects in the
choices of a
0.5.5 - 2019-09-07 Added
require gathered specifier for tables.
.pop() on a
DAList no longer triggers list gathering.
Every module file installed in the
docassemble namespace that
contains a class definition will be loaded when the server starts or
Erroneous message about starting new interview was appearing on
Default values not appearing for some
datatype: object fields.
Unpickle errors when modules that contain classes are not loaded.
Tooltips not showing up on sliders.
0.5.4 - 2019-09-05 Fixed
maximum content length was being superseded by a NGINX content
Word add-in bug.
0.5.3 - 2019-09-04 Added
exit url specifier under
0.5.2 - 2019-09-03 Fixed
0.5.1 - 2019-09-02 Fixed
get_question_data() and related functions raised exception.
Let’s Encrypt renewal error.
0.5.0 - 2019-09-02 Added
advance_progress_meter option for the
/api/session POST API
DAWEBSERVER Docker environment variable and the
S3ENDPOINTURL Docker environment variable and the
url Configuration directive under
Upgrade Docker OS to Debian buster.
Upgrade Python from 3.5 to 3.6.
The default web browser under Docker is now NGINX.
The Docker image now builds in two parts. The jhpyle/docassemble-os
image is the base image for jhpyle/docassemble.
functions use the current user’s decryption key by default.
0.4.80 - 2019-08-22 Fixed
__version__ in Python 2.7 raised Unicode error.
Back button after action in URL repeated the action.
progress value was missing from the JSON representation of the
0.4.79 - 2019-08-21 Added
input type called
paragraphs Jinja2 filter.
__version__ variable is now defined in packages generated from
the Playground packages folder.
UTM parameters are retained if an
analytics id is defined under
google in the Configuration, or a
segment id directive is
defined in the Configuration.
The Playground packages folder GitHub commit process now uses
merge to merge changes, which means it might fail if a commit would
The Playground packages folder now allows for committing to a new
Incorrect behavior during initial visit to
interview uses unique sessions.
Interview advanced a step despite
validation code raising an
0.4.78 - 2019-08-15 Added
labels above fields.
sessions are unique and
0.4.77 - 2019-08-14 Added
enable playground Configuration directive.
The behavior of the
label option of
list collect no longer
prints text before
2., etc. Now the
label supplies the
whole label for the item, and it can include the number by way of
the index variable.
list collect feature raised an exception when the field
definition included Mako substitution.
Non-required upload fields were creating zero-byte files on some
0.4.76 - 2019-08-12 Changed
The syslog-ng server is now started after the web server.
Unhelpful error message when there was an interview parsing error.
DAStaticFile objects not being included in DOCX files correctly.
0.4.75 - 2019-08-12 Added
administrative interviews Configuration directive
sessions are unique,
required privileges for listing, and
hidden specifiers under
words system no longer uses code names like
required privileges specifier under
metadata now prevents
users without a valid privilege from starting the interview. The
required privileges for listing now controls whether the interview
is listed under
Passing an asterisk in a list to Flask-CORS resulted in a regular
Not all Flask packages accept integers as the
0.4.74 - 2019-08-09 Fixed
undefine() function did not always find the interview
0.4.73 - 2019-08-09 Added
Support for noun pluralizing and verb conjugation in Spanish,
French, Italian, German, and Dutch.
Additional methods for
The output of the
interview_menu() function, the
endpoint, and the
/list?json=1 endpoint now include interview
undefine() function now accepts multiple variables names.
DAObjects that are attributes of
DAList items had their
instanceNames rewritten when the parent list was altered.
When an object that was already defined was edited using
datatype: object or
datatype: object_radio, the default
value was not showing.
The office add-in was not using the best method to determine the
full URL of the server.
0.4.72 - 2019-08-07 Fixed
Translation of metadata titles not compatible with
Language not set when e-mailing assembled document in the
0.4.71 - 2019-08-06 Changed
API for making user accounts inactive now supports permanent
API for setting variables now supports initializing
Multiple choice options specified with code can be specified with
lists of tuples.
Missing system phrase used in input validation.
0.4.70 - 2019-08-03 Added
Account deletion options.
Options in the user profile for controlling which repositories will
be considered when the Playground packages folder looks for and
commits to GitHub repositories.
session lifetime seconds,
admin can delete account,
user can delete account, and
delete account deletes shared.
In tables, ordered dictionaries will use their built-in order.
Base64 padding removed from field names.
Poppler upgrade interfered with width of images in popups.
0.4.69 - 2019-07-29 Fixed
Unnecessary file cache invalidation affected Playground performance
when using cloud storage.
Incorrect method of setting Debian timezone.
0.4.68 - 2019-07-28 Added
/api/package_update_status API endpoints.
session parameters of
hook_after_gather() methods of
Bug in the
complete_elements() method of
Incomplete support for editing lists that have
0.4.67 - 2019-07-25 Added
confirm option for table editing.
The “Select…” option on a dropdown is omitted when the field is
required and a default value is selected.
keys() method of
DADict was removed when
keys included in
The language did not switch unless it did not match the default
Restart buttons did not work from
0.4.66 - 2019-07-23 Changed
Allow sending multiple invite e-mails at once.
Canceling phone live help availability failed.
The 404 error from
/interview did not use the 404 template.
0.4.65 - 2019-07-19 Fixed
Erasing phone number in Monitor raised an error.
OneDrive synchronization error.
0.4.64 - 2019-07-17 Changed
Error during initialize process possibly caused by stderr being made
File upload previews shown twice under certain circumstances due to
0.4.63 - 2019-07-16 Added
Unpickleable object added to the document cache in the internal
0.4.62 - 2019-07-14 Added
once_temporary options to the
interview_url() and related functions.
Too many monitor connections led to SQL error.
Some functions did not work in actions.
0.4.61 - 2019-07-10 Added
Restored pre-0.4.55 behavior allowing Mako in multiple choice
0.4.60 - 2019-07-09 Changed
More robust Docker scripts.
0.4.59 - 2019-07-05 Changed
Changes manually made to
/etc/apache2/sites-available files while
the container is running will now be backed up upon shutdown and
restored upon startup.
0.4.58 - 2019-07-05 Changed
CORS headers now handled by Flask rather than Apache.
cross site domain Configuration directive is renamed to
site domains and the value must be a list.
CROSSSITEDOMAIN Docker environment variable.
More frequent deletion of temporary files.
0.4.57 - 2019-07-01 Added
Problems with Google sign-in on Python 3.
0.4.56 - 2019-06-29 Added
initializeObject method of
datatype: checkboxes items.
Error when using
0.4.55 - 2019-06-28 Added
Mako no longer allowed in non-label items of
backup days is
0, no daily backups will be done.
dialects enabled under
0.4.54 - 2019-06-26 Added
language map directive under the
languages under the
voicerss Configuration directive to
dialects (with backwards compatibility).
list collect on empty non-object list did not show the first item.
Wrong protection on some cells in translation spreadsheets.
nan values appeared in translation spreadsheets.
Terms with capital letters were not being translated.
System terms were not appearing in translation YAML when Google
Cloud Translation API was not configured.
0.4.53 - 2019-06-26 Added
Ampersand correction for DOCX now happens in Jinja2 even if pipe
hint was missing from the data representation of a field.
html were missing from the data representation of a
field when not standalone.
Group editing did not work with non-object lists and dictionaries.
message() screens did not work.
0.4.52 - 2019-06-18 Added
Potential error in Playground sidebar if the same variable name is
used for two different types of object.
json URL parameter is not an integer.
0.4.51 - 2019-06-13 Changed
initial option for
update on start.
Using a different mechanism for restarting servers after a software
LibreOffice failing when multiple instances of LibreOffice run
0.4.50 - 2019-06-12 Added
update on start Configuration directive.
websockets ip, and
include_docx_template() function now includes images, shapes,
styles, footnotes, etc. from the sub-document.
Problem with websockets on servers with a
root other than
/api/session POST API endpoint will now convert dates to
DADateTime objects, unless the
raw parameter is
Triple spacing in RTF documents.
Flask route ambiguity with
0.4.49 - 2019-06-08 Changed
Revised the CSS classes for error messages.
Word add-in did not work for servers with a
root other than
0.4.48 - 2019-06-06 Added
.is_encrypted() method of
DAFile and other file objects.
Dependency problems when
docassemble.base was used without
Errors in the
DAFileCollection version of
.startsWith() methods, which are
not universally supported.
0.4.47 - 2019-05-31 Added
'link' style buttons with
Some types of
fields gave errors with
0.4.46 - 2019-05-30 Fixed
Recursion error with
A CSS class was called
vspace instead of
Multiple choice options not included in translation spreadsheets.
0.4.45 - 2019-05-27 Added
Made modifications to facilitate embedding interviews in a
in another site.
Errors from OneDrive integration.
Error reading fields from PDF.
Inserting certain types of images into RTF files resulted in a fatal
error rather than a non-fatal error.
0.4.44 - 2019-05-21 Added
sort_elements() methods for
auto terms are now compatible with the
Files in the Playground will be served from server rather than block
static_image() did not work with unqualified file names.
Some initial blocks were not included in side-by-side translation
Orphaned translations did not receive syntax highlighting in
Indented Mako was not receiving syntax highlighting in translation
Translations containing emojis were being truncated in translation
0.4.43 - 2019-05-16 Added
tag parameter for
DAContext object and the
use objects option for the
data from code blocks.
HTML error when
hide standard menu is in use.
0.4.42 - 2019-05-11 Changed
Many CSS classes and IDs renamed and given the
Errors with SMS interface.
DAList were not allowed in
0.4.41 - 2019-05-02 Added
get_docx_variables() method of
DAFile and other file
ProxyFix settings for Docker containers behind reverse proxies.
0.4.40 - 2019-04-29 Fixed
0.4.39 - 2019-04-29 Fixed
Variables could not be converted to JSON where
None used as
Compile errors due to unused non-Python-3-compliant code in copy of
Playground package description formatted as text area, which
resulted in newlines that caused problems when uploading to GitHub.
0.4.38 - 2019-04-25 Added
get_pdf_fields() method of
DAFile and other file objects.
playground examples directive in the Configuration.
new markdown to docx directive in the Configuration.
Style of chat messages updated; content of message from the monitor
is now contained in the notification received by the end user while
looking at a question.
Python 3.5 error in utility function for Azure Blob Storage.
0.4.37 - 2019-04-23 Fixed
Error affecting Python 2.7.
0.4.36 - 2019-04-23 Changed
Syntax highlighting and word wrap for interview phrase translation files.
New style for chat messages.
PAM failure in cron on Amazon Linux.
0.4.35 - 2019-04-20 Added
translations block and the interview phrase translation file
0.4.34 - 2019-04-16 Changed
0.4.33 - 2019-04-16 Added
XSENDFILE Docker environment variable.
API will now process JSON as well as form-data.
xsendfile will be set to
False in the initial
BEHINDHTTPSLOADBALANCER is true.
New version of ProxyFix not called with arguments for processing
0.4.32 - 2019-04-15 Added
as_df() method of a table.
segment id, and
ga id specifiers.
log format Configuration directive.
Error when reading log files in multiple server configuration in
0.4.31 - 2019-04-07 Fixed
0.4.30 - 2019-04-07 Added
editable mimetypes and
editable extensions configuration
worker.log no longer exempt from backup.
The Redis database now backed up to rolling backup.
Relaxed some restrictions on multiple developers working on same
package in their Playgrounds.
write() method of
Problem with creating packages when author not defined.
debug mode not in effect.
0.4.29 - 2019-03-28 Added
.size_in_bytes() method for
Python3 could not write to S3.
0.4.28 - 2019-03-28 Added
Swagger-generated setup.py files in ZIP files could not be parsed.
Error with gender set to “other”
0.4.27 - 2019-03-27 Added
list collect feature for allowing users to add multiple items
DAList on one screen.
GitHub error with packages that have dependency packages with null
0.4.26 - 2019-03-25 Fixed
Enter key caused browsers to press the
question back button.
Newest version of
textstat not compatible with Python 2.7.
0.4.25 - 2019-03-22 Changed
When using Google Drive Sync, deleting file from Playground now
permanently deletes file from Google Drive, rather than send it to
KeyError during initial GitHub repository creation.
Exception could be raised if docstring in a dependency module was
Methods not appearing in Playground sidebar in Python 3.
File uploads failing in Internet Explorer.
0.4.24 - 2019-03-21 Added
maximum content length configuration directive.
image upload type configuration directive, feature, and field
A long interview title could cause wrapping in the navigation bar on
0.4.23 - 2019-03-19 Added
progress bar multiplier and
progress bar method features.
Embedded blocks can use generic objects and iterators.
Help buttons are now “info” color instead of “secondary” color.
Error when uploading files through the API.
Error resulting from
add_action() under some circumstances.
0.4.22 - 2019-03-17 Fixed
0.4.21 - 2019-03-16 Added
Excessive memory usage while looking for cron tasks.
Could not upload more than one module file to Playground at the same time.
Playground Wizard errors.
0.4.20 - 2019-03-13 Added
id_tag option to
Field number in error messages.
Removed redirects after non-standard URL parameters.
add_action() button behaves more consistently with
new_window option to
action_button_html() can be used to set
target of the hyperlink.
0.4.19 - 2019-03-10 Added
allow non-idempotent questions specifier in
removed and replaced with a Configuration directive.
allow non-idempotent questions Configuration directive is set
False by default in the default Configuration. This will
affect new servers but not existing servers.
The API validation
Referer constraint checks against the
there is no
0.4.18 - 2019-03-09 Added
Fullscreen option for code editing.
Python 3 errors during GitHub integration process.
0.4.17 - 2019-03-08 Added
python packages Configuration directive and the
PYTHONPACKAGES Docker environment variable.
Error when updating references in .docx file.
object_type_repr error raised from Jinja2.
filter() returning zero elements from non-empty list caused
uncheck others fields had wrong CSS after unchecking.
Thumbnails for .docx files.
Blanking of dates in Firefox on blur.
0.4.16 - 2019-03-04 Fixed
Playground packages copied to wrong location on Python 3.
0.4.15 - 2019-03-04 Fixed
LuaLaTeX was not properly being detected.
0.4.14 - 2019-03-04 Fixed
LibreOffice initialization encountered circularity.
0.4.13 - 2019-03-03 Changed
none of the above specifier can be used with
docassemble.base.util is now loaded by default.
Switched to LuaLaTeX for better Cyrillic support. Requires server restart.
0.4.12 - 2019-03-01 Added
allow reordering specifier in
Unicode problem reading S3 keys as strings.
0.4.11 - 2019-02-28 Added
error action specifier in
0.4.10 - 2019-02-27 Added
tagged pdf option for
docx template file document assembly.
pdf/a options now create PDF/A documents directly with
comma_and_list() now work with a wider
variety of iterables.
0.4.9 - 2019-02-25 Added
Support for sending text messages using WhatsApp using
Non-required file upload variables will be set to
None instead of
Unicode error during package upgrade when
pip show returns bytes
that cannot be decoded as UTF-8.
0.4.8 - 2019-02-24 Changed
Upgraded Font Awesome to 5.7.2.
0.4.7 - 2019-02-23 Fixed
Unicode problem with user names.
Unicode problem with OCR.
SQL concurrency problem with row updates.
instanceName on file uploads.
0.4.6 - 2019-02-19 Changed
error help metadata specifier now accepts a dictionary of
language codes and messages.
verbose error messages configuration directive.
Unicode problem with Markdown documents.
Deep copy error with
0.4.5 - 2019-02-18 Changed
Group gathering with
ask_number=True will use the value of
there_are_any if it is defined and set to false.
When editing list using a table, completeness of elements will be
Back button embedded in question is now “link” style.
content_as_html() methods of objects
generated from a
hide navbar feature.
js_target URL parameter for embedding the
interview into an element on another web site. The
gathered_and_complete() method of the
Error logging in with Auth0 in Python 3.
comma_and_list() function was not Unicode-friendly.
Method of adjusting encryption of interviews in session after
logging in was inefficient.
API verification not working in Python 3.
Screen reader in Python 3.
Playground commit not pushing to organizational repositories.
0.4.4 - 2019-02-15 Added
convertapi secret configuration directive.
API endpoints for listing and deleting Playground files.
JSON serialization with unusual dict keys.
Screen scrolling problem in Playground folders.
0.4.3 - 2019-02-13 Added
PY2 names, imported from the
allow non-idempotent questions specifier in
post screen part is now positioned below the
part on small screens.
The screen parts feature was not fully implemented and documented.
required privileges feature was not fully implemented.
Editing yourself through
/userlist would disable yourself.
Error with text-to-speech cache.
Non-required file upload variables were being set to
instead of being ignored.
0.4.2 - 2019-02-10 Added
Additional SQL indexes.
default screen parts block.
required privileges specifier in
set_title() function was renamed to
set_parts() and now
supports setting any screen part.
Error with OCR.
Error with screen reader.
The current section when showing a
nav in a question was not
Wrong formatting of subsections in sections sidebar under some
0.4.1 - 2019-02-04 Added
Placeholder CSS classes for customization.
Support for alternative Redis ports and database offsets.
0.4.0 - 2019-02-04 Added
DAPYTHONVERSION Docker environment variable.
The system is now compatible with Python 3.5.
subdivision_type() algorithm was improved.
The update script failed under some circumstances due to a SQL
0.3.36 - 2019-01-24 Fixed
Not all login methods were redirecting the user back to the
interview when they should have.
0.3.35 - 2019-01-22 Added
resume interview after login configuration directive.
/api/session API endpoint and the
function now accept the
event_list parameter and can get past
More robust code injection detection mechanism.
Unicode error with certain Spanish numbers.
0.3.34 - 2019-01-20 Added
Customizability of standard validation messages using the
messages field modifier or the
default validation messages block.
.geolocate() method to populate attributes of
using a single-string address.
Options for setting
.alt_text attribute on
.get_alt_text() methods of file objects.
template password option for
pdf template file (new
Upgraded Pandoc to version 2.5.1 (new
docker run required).
UI changes for keyboard navigation of sections.
Empty documents generated by Markdown were resulting in zero byte
PDFs rather than one-page blank PDFs from Pandoc.
The field names on some types of PDF files were not being identified
correctly on the Utilities screen.
0.3.33 - 2019-01-16 Changed
API calls can be authenticated with an
X-API-Key cookie or HTTP
API responses contain CORS-friendly HTTP headers.
JSON error when running
XML error when assembling DOCX files.
0.3.32 - 2019-01-16 Changed
UI and HTML changes for accessibility.
Timing of initialization of Google autocomplete fields resulted in
OneDrive synchronization errors due to changes in the Microsoft Graph API.
0.3.31 - 2019-01-14 Changed
Additional information added to data representation of question.
HTML more standards-compliant for accessibility.
Package update process was not detecting missing packages.
The watchdog’s process terminations were causing unnecessary
internal server errors under high system load, mistaking a busy
Apache process for an out-of-control Apache process. The threshold
has been adjusted. The change will only take effect after a
docker start. Alternatively,
docker exec into the
container and run
supervisorctl restart watchdog.
0.3.30 - 2019-01-05 Added
/api/login_url API endpoint.
/api/user_info API endpoint.
/api/user/new API endpoint will now create a random password
if a password is not provided.
/api/user/new API endpoint used
email when the correct
0.3.29 - 2019-01-03 Added
question_name option for the POST method of the
API endpoint and the
Unicode error from
0.3.28 - 2018-12-31 Added
accept specifier for
datatype: file fields.
0.3.27 - 2018-12-24 Changed
Table edit attribute names treated as “follow up” actions.
0.3.26 - 2018-12-21 Changed
reconsider() to 0.3.24 version.
0.3.25 - 2018-12-20 Changed
Exception raised if unsafe filename used for a
Problem with caching of stand-alone
0.3.24 - 2018-12-17 Added
inline keyword parameter for the
describe() method of the output of
The result of
date_difference() when reduced to text now runs the
describe() method instead of stating the number of days.
space_to_underscore() function now uses
werkzeug.secure_filename() and replaces more than just non-ASCII
characters and spaces.
.export() method of tables.
0.3.23 - 2018-12-15 Added
Error from Playground sidebar for interviews using
0.3.22 - 2018-12-14 Added
Insertion of PDF files into DOCX files.
Links in Playground sidebar to source code on GitHub.
Data representation of a question now includes plain attachment file
Not all thread local variables were reset before request.
Unicode error when exporting README.
Azure Blob storage missing content type.
0.3.21 - 2018-12-10 Added
object labeler option in
0.3.20 - 2018-12-08 Added
exclude_privileges keyword parameter of the
last_access_time() function and related functions.
/api/user_list API method and the
now return a user’s privileges under a dictionary key called
privileges. Previously the key
roles was used.
has_key() methods of
DADict did not work.
templates on a screen using iterators did not work
Browser back button sometimes required two clicks to go back one
Unhelpful error when uploading invalid file type to Wizard.
Temporary PDF files accumulating in
0.3.19 - 2018-12-02 Added
Protections against adding non-modules to Modules folder.
Keep memory of visited sections when the available sections change.
/user/register while being signed in
will now redirect to the
auto resume interview, if any.
0.3.18 - 2018-11-30 Fixed
Unicode error in text to speech engine.
0.3.17 - 2018-11-30 Added
.show(editable=False) option for tables.
include_dict option for
formatted_unit() method for
Icons on the User List page highlighting users with special
Admin users cannot take away their own admin privilege.
Admin users cannot disable their own accounts.
Validation error messages in admin pages were black when they should
have been red.
.add_action() method for
pandas erroneously requires a
nanosecond attribute in dates.
instanceName guessing in the context of a function.
0.3.16 - 2018-11-26 Added
export() method of tables.
0.3.15 - 2018-11-26 Added
0.3.14 - 2018-11-25 Added
.filter() method of the
mmdc() function for generating diagrams and flowcharts with
mermaid. Requires system upgrade.
0.3.13 - 2018-11-23 Added
“Sync and Run” button in the Playground.
0.3.12 - 2018-11-22 Fixed
value() using a variable as an iterator.
0.3.11 - 2018-11-15 Added
/api/playground file upload feature.
0.3.10 - 2018-11-13 Added
page after login feature.
0.3.9 - 2018-11-10 Added
allow sms, and
two factor authentication.
progressive option for
0.3.8 - 2018-11-04 Added
backup days configuration directive.
word() function did not work on words with non-ASCII
Empty fields question skipping did not work where variable was
attribute of a non-existent object.
Interviews that changed the language changed the language of the Playground.
0.3.7 - 2018-10-28 Fixed
0.3.6 - 2018-10-28 Changed
Validation is now applied in required fields so that spaces alone
cannot bypass validation.
Color of pressed button now “secondary” rather than “success” and
colors of non-pressed buttons now “light” instead of “secondary.”
Problem with editing lists where the
complete_attribute is not
defined by a
No proper error message when a non-text string is used as a variable
Problems with locking-related changes from 0.3.5.
Admin users were allowed to give
admin privilege to users with
Python error in cron.py.
0.3.5 - 2018-10-23 Added
delete_url_only parameters to the
url_only parameter to the
message parameter to
add_action() is now passed through
Removed the new feature from 0.3.3 where interview answers are saved
Different method of locking while copying playground modules.
Percent signs in
number fields may have avoided validation.
Database access for chat log not protected by locking.
0.3.4 - 2018-10-20 Fixed
Links not appearing in the inline navigation bar.
Toggle button not present in the vertical navigation bar.
0.3.3 - 2018-10-19 Added
The ability to set a
read only attribute on a
table to indicate
that some rows cannot be deleted or edited.
Editing a table will cause the definition of the
attribute, if any, to be recomputed after the
edit attributes are
Interview answers saved before a
Background task callbacks that raise exceptions will no longer save
Dependencies not being properly scanned from
Review screen resume button that set variable had unicode instead of
boolean data type.
Text was not scanned for emojis unless
images were defined or the
default icons directive was set.
get() method of
DADict did not work.
Random errors where dictionary cannot be retrieved (potential fix).
minimum_number feature introduced in 0.3.2 did not work on
tables based on
Elements could not be added through
add_action() when the list was
rows directive of a table resulted in an error if the
expression used a compound operator (e.g.,
Changes to fields made by remote user not reflected in observer window.
Back button did not work when remote controlling.
Updated deprecated pandas code in the machine learning module.
0.3.2 - 2018-10-13 Changed
table with a
DADict now sets
row_index to the key and
row_item to the value, and
DADicts can be edited using tables.
No delete buttons on a
table when deletion would cause the number
of items to fall below
edit option on a
table can now use reference indices as well
message for the
add_action() method on a group is
“Add an item” if the group is empty.
Clicking on a navigable section header empties the action queue,
ensuring that clicking “Resume” puts the user back in the interview,
rather than the screen they saw before they clicked the header.
delete buttons option when using
edit on a
only_if_empty option on the
slice method of the
re_gather attribute of groups to
follow up option in a
preloaded modules configuration directive.
URL for restarting interview session conflicted with another URL
when user logged in.
tables could not appear inside of
review blocks because they
were always undefined.
Navigable section headers not styled correctly.
One of two processes simultaneously loading the playground modules at
same time could encounter an empty directory.
Screen loads through
url_action_perform() did not show the
Some thread variables were not reset between requests.
The OCR background function did not work, so rolled back celery and
kombu to 4.1.0.
0.3.1 - 2018-10-02 Changed
When a variable is force-asked or the goal of an action and a
question is not found, no error will be raised. This facilitates
the use of optional follow-up questions in a
Aliased template variables generated pickle errors.
0.3.0 - 2018-09-28 Changed
Upgraded OS from Debian stretch from Debian jessie. Upgraded pandoc
to version 2.3. LibreOffice upgraded to version in
stretch-backports. A system upgrade is required to realize these
minlength on a
datatype: checkboxes field turns off the
“None of the above” item.
LibreOffice upgraded to version in jessie-backports.
exit_logout under buttons,
Logging in with e-mail and password where e-mail already used for a
social login generated an exception.
.copy_into() method of
DAFile now accepts
DAFileCollection objects as
the argument, as well as the direct file path of the other file.
Problem with converting to PDF after
update references for some
tables of contents.
.from_url() methods now update PDF and
image information after the file contents change.
Additional test interviews.
html can now be used to insert text in the right
column, along side a field.
maxlength modifiers did not work on
insert_docx_template() function was not intercepting all
parameters of class
DAObject and passing them as objects.
Too many line breaks in .docx address block.
Static file videos did not work.
Static file videos were static width.
0.2.99 - 2018-09-19 Added
back button and
back button label modifiers.
show login directive in interview
0.2.98 - 2018-09-18 Fixed
Error in Word manifest XML file.
0.2.97 - 2018-09-18 Added
Playground “Variables, etc.” for the Word task pane.
It is no longer necessary to remove curly quotes from .docx Jinja2
code. They will be converted to straight quotes before processing.
choices list could not contain a list of numeric, boolean,
DAStaticFiles could not be inserted into .docx templates.
0.2.96 - 2018-09-12 Added
Integration between Microsoft OneDrive and the Playground.
debug directive inside
Upgraded Font Awesome to 5.3.1.
0.2.95 - 2018-09-08 Added
update references setting on
0.2.94 - 2018-09-05 Added
redact() function and
redact option on
table blocks now become
objects rather than
DATemplate objects. Their contents are
evaluated at the time they are reduced to text, not at the time they
currency() and other functions when used from a
template file where undefined variables did not raise exceptions.
create_new_interview() function caused unnecessary 4 second delay.
user privileges could not access API key management.
interview_url() function was returning a URL based on how the
current request was made, rather than the actual URL for getting to
0.2.93 - 2018-08-31 Fixed
DATemplate variables with string indices.
0.2.92 - 2018-08-27 Added
show progress bar percentage feature.
background_response() function can be called using
background_response('refresh') to refresh the user’s screen.
0.2.91 - 2018-08-25 Added
fields version of
background_response() could not set radio
0.2.90 - 2018-08-23 Fixed
Problem with checkboxes inside a
0.2.89 - 2018-08-20 Changed
variables_as_json() function now accepts
a keyword parameter.
variables_as_json() function now produces pretty-printed JSON
Only ordinary users will see flash messages about switching to a
Template and static file deletion in Playground.
Setting the instance name of items that are already in a list.
Non-mandatory questions were being marked as answered in the
0.2.88 - 2018-08-20 Fixed
The recent version of WTForms is incompatible; set to 2.1.
simplify parameter of
get_session_variables() was fixed to
0.2.87 - 2018-08-19 Changed
Moved interview HTML into a
<div> to provide compatibility with
0.2.86 - 2018-08-17 Added
js show if and
js hide if field modifiers.
continue button field feature.
Upgraded Font Awesome to 5.2.0.
DALists added together will yield a
zip_file() returned an empty archive when given a
0.2.85 - 2018-08-15 Fixed
Problem with screen reader flagging help text with Markdown
formatting as a defined term.
Problem with Internet Explorer passing through commas in numeric
0.2.84 - 2018-08-13 Changed
Word processing files and text files can now be included in
documents in the same way that images can.
DAFileCollection to text no longer attempts to show all
versions in the collection, but only includes one.
0.2.83 - 2018-08-11 Changed
Playground UI highlights most recently edited files.
0.2.82 - 2018-08-08 Changed
Some exceptions raised by Jinja2 will now be accompanied by a
snippet of document context.
Initial support for Travis CI deployment.
Setting of text fields to
None when the value is the string
Vertical alignment of section labels in horizontal mode.
User text causing Pandoc to enter LaTeX math mode.
Reconstruction of certain types of bookmarks after adding signature
Addresses that normalize without a street address.
0.2.81 - 2018-07-31 Changed
Interviews are now served from
/interview rather than
change is backward-compatible.
Error notification e-mails will no longer include the interview
variables as a JSON file unless
error notification variables is
set to true in the Configuration.
Non-mandatory blocks no longer get tracked in the internal
dictionary as having been answered.
root redirect url Configuration directive.
include_internal parameter of
mandatory is used on a block that does not support the
Missing unique IDs for API calls.
HTML typo in Logs page.
0.2.80 - 2018-07-24 Added
/me resource with information about the user.
JSON returned by API and
/vars is now pretty-printed.
Referencing a non-existent section no longer triggers an error.
0.2.79 - 2018-07-21 Changed
append method to the
DAList class now accepts an optional
Any package name starting with
demo was being blocked
allow demo was not set to
0.2.78 - 2018-07-17 Added
index() method of the
File uploads are now at the top of the screen in Playground folders.
datatype: checkboxes and
0.2.77 - 2018-07-13 Fixed
post HTML was missing on signature pages.
value() function was not working properly.
0.2.76 - 2018-07-11 Fixed
Possible fix for “group by” SQL error in
0.2.75 - 2018-07-11 Added
step option for
datatype: number and
datatype: number are no longer limited to two decimal
The “exit” command was logging the user out.
0.2.74 - 2018-07-11 Added
error help configuration and metadata directives.
.copy_deep() methods of
Error e-mails now attempt to attach the interview variables as a
Error in cron about missing
Auth0 login was erroneously enabled by default.
0.2.73 - 2018-07-07 Added
set_instance_name option for use with
skip undefined option for
block() method of
Address now includes the word “Unit”
before the unit, if the unit exists.
On iOS mobile devices, an
<optgroup> is now added to
Vertical spacing between buttons in the Actions column of a table.
Templates with variable names containing iterators were not being
Default date values were not displayed in
0.2.72 - 2018-06-27 Fixed
Error message when publishing to PyPI.
Unicode error in YAML dump.
0.2.71 - 2018-06-21 Added
set options inside of a
To indicate that a multiple-choice under
fields should use
pulldown, or a
input type instead of
datatype can then be set to something else, like
number. This change is backwards compatible.
Removed sublocality from normalized addresses.
values look like numbers.
delete_all function did not delete all interviews.
defined function did not work well with lists and dictionaries
in the process of being gathered.
0.2.70 - 2018-06-14 Changed
force_ask() and calls to actions now result in more
persistent variable seeking.
Improved editing of lists.
show if with
show if with a value of
0.2.69 - 2018-06-12 Fixed
Section headers with hyperlinks.
Google Drive with a large number of files.
0.2.68 - 2018-06-10 Fixed
Problems with Google Drive timestamps when cloud storage in use.
Invalid use of echo in Dockerfile.
0.2.67 - 2018-06-09 Changed
When a non-text field is not required, and the user does not provide
a value, the variable will be set to
Required field markers show differently in some contexts.
Additional log messages for Google Drive.
New Debian dependencies
Problems with Google Drive initial set-up.
0.2.66 - 2018-06-07 Changed
Code editing boxes are now sized relative to screen size.
0.2.65 - 2018-06-06 Added
Better error handling after uploads.
Better error handling during software updates.
0.2.64 - 2018-05-31 Added
Feature for uploading files through dataurls to the Template Folder
of the Playground.
Comboboxes now accept free text input.
PDF bookmarks restored after inserting images.
0.2.63 - 2018-05-25 Added
error notification email configuration option.
Error with PDF fields and signature overlay.
0.2.62 - 2018-05-23 Added
JSON interface to the “Variables, etc.” and list of Playground
Error during invitation and registration.
0.2.61 - 2018-05-19 Changed
disable others directive now accepts a list of fields.
Most natural language functions now accept an optional keyword
subdivisionfirst database fields have longer
Additional system phrases are translatable.
0.2.60 - 2018-05-15 Fixed
Error on registration page.
0.2.59 - 2018-05-15 Added
Horizontal navigation bar option.
Option for disabling the
pip cache when installing a package.
validation_error() function and the
interview_list() function now returns
PDF assembly resulted in a missing AcroForm error in some circumstances.
PyPI publishing code used out-of-date upload URL.
Deleting session in multi-user interview deleted sessions for all
Visiting registration page while logged in did not redirect to My
An inappropriate error was raised about
validate input validation
functions for certain input types and values.
0.2.58 - 2018-05-08 Added
Version number on the Package Management page.
Problem with checkboxes inside of
CSS problem with the “required” asterisk.
0.2.57 - 2018-05-07 Added
num_pages() method on
On the mobile
signature page, the “Clear” button is replaced with
a “Back” button.
validate code now works on document uploads.
question back button was missing from the buttons on the
Problem with spacing of the
question back button next to other
0.2.56 - 2018-05-07 Changed
max field modifiers on
datatype: date fields now
accept a wider range of date formats.
0.2.55 - 2018-05-06 Changed
DACloudStorage object can now be initialized to use
Configuration directives other than
max field modifiers now work with
slurp() method for
Support for editing HTML and other text file formats in the Static
Files folder of the Playground.
List of branches in pull-down cut off at a certain length.
Live Help had problems with encryption.
Missing help button on
0.2.54 - 2018-05-05 Fixed
0.2.53 - 2018-05-02 Changed
Social logins now populate first and last name in the user profile.
all_variables() function now has an optional keyword argument
special that returns information about an interview that is not
stored in the variables.
long_description in setup.py files.
Update button in
/updatepackage reverted package to
Unicode problem in
0.2.52 - 2018-05-01 Fixed
The setup.py file for
docassemble.webapp did not depend on
particular versions of
0.2.51 - 2018-05-01 Changed
advocate privilege grants access to see user information using
interview_list() function and
/api/interviews API now act
upon interviews of anonymous users.
Questions not centered on screen when navigation bar in use but empty.
Google Places API populating
subpremise and leaving
0.2.50 - 2018-04-28 Changed
Upgraded user interface from Bootstrap 3.3 to Bootstrap 4.0.0.
Headless Chrome now used by default in
show dispatch link Configuration directive.
Exception triggered by importation of word translation files with
indefinite_article() function used “a” for any capitalized
Issue where Chrome extensions interfered with file uploads.
0.2.49 - 2018-04-15 Fixed
Use of deprecated flag when calling
0.2.48 - 2018-04-14 Changed
Address methods no longer require
.city to be defined.
Address object and the
address autocomplete feature now
use more of the possible address components of addresses returned by
the Google APIs.
Bug in code for getting temporary URLs to cloud storage.
0.2.47 - 2018-04-12 Fixed
Problem with quoting glossary terms in HTML.
0.2.46 - 2018-04-11 Fixed
0.2.45 - 2018-04-11 Fixed
Identification of names of ZIP files uploaded through Package Management.
Exception raised by Unicode non-breaking spaces in interview files.
0.2.44 - 2018-03-31 Added
analytics id subdirective of the
google Configuration directive.
show ifs are supported.
Exception caused by mandatory
review blocks without an
0.2.43 - 2018-03-28 Changed
Exception caused by ampersands in docx template field values.
Exception caused by unicode in parameters passed to
Place Autocomplete returning
undefined for some address components.
0.2.42 - 2018-03-25 Added
allow downloading modifier.
right question part.
allow emailing modifier now accepts Python code.
Margins in navigation bar.
0.2.41 - 2018-03-24 Added
delete_variables option for the POST operation of the
Less stringent input sanitation so that Playground files with
parentheses can be deleted.
Labels inside buttons will now wrap.
Escaping of anchor text in
0.2.40 - 2018-03-19 Added
.complete_elements() method of
Removed any dependency on
0.2.39 - 2018-03-15 Changed
review block can now be used with
field instead of
Temporarily removed warning about
Issue with pressing enter causing two screens to submit.
0.2.38 - 2018-03-14 Added
show interviews link configuration directive.
The user profile link in the menu will always be shown if the user
Different formatting of user list.
Author name and e-mail in “Packages” folder of Playground.
show if not recognizing
False value of checkbox
0.2.37 - 2018-03-10 Added
Example for appending a row to a Google Sheet.
scale option for the
include_docx_template() function accepts keyword parameters.
This has the effect of including Jinja2
set commands at the
beginning of the included sub-document.
0.2.36 - 2018-03-08 Added
DALink object type, which allows hyperlinks to be inserted
into .docx files.
showifdef() functions can now be configured to
return a default value other than the empty string.
Cron jobs and environment variables. This requires a system reset.
0.2.35 - 2018-03-06 Changed
Replaced Package Management with the former “Update a Package.”
0.2.34 - 2018-03-06 Added
main page pre,
main page submit, and
main page post
post metadata items.
Pressing enter has effect of pressing Continue, even on pages
without input elements.
0.2.33 - 2018-03-04 Fixed
Problem with using Upgrade button.
0.2.32 - 2018-03-04 Added
ldap login configuration directive. Using this feature will
require a system upgrade (running a new instance), as the
libldap2-dev Debian packages are required
dependencies of the
python-ldap Python module.
0.2.31 - 2018-03-02 Added
use font awesome and
CSS support for Material Icons.
question help button feature.
label the help tab.
Reference to non-existent image file during image preloading.
Error when reviving SMS session for which answers had been deleted.
SMS interface bugs related to signatures and attachments.
0.2.30 - 2018-02-27 Changed
SVG instead of PNG for images in checkboxes and radio buttons.
Page layout when side navigation bar in use.
Slow submit time when many checkboxes are used.
0.2.29 - 2018-02-25 Added
question back button and
navigation back button.
raw global css and
Main content block for page is now centered on desktop.
Problem with calling background action from code triggered by the API.
Problem with including a table while gathering the rows of the table.
0.2.28 - 2018-02-08 Added
enable remember me configuration directive.
repr() of a
DASet is the
its elements, and
repr() triggers the gathering process.
.salutation() method of the
Individual object now uses the
exclude on a manual list of choices.
Lack of curly quote in “I don’t know” buttons.
0.2.27 - 2018-01-31 Added
package protection configuration option.
last_access_time() now returns the last access time as a
datetime object with a time zone; previously the object was “naive”
with respect to time zone.
Problem with branch name of new GitHub repository.
as_datetime() converting times to midnight when the
argument is already a datetime object.
noyeswide checkbox fields.
0.2.26 - 2018-01-29 Fixed
format_date() was acting like
0.2.25 - 2018-01-29 Changed
Tweaks to the
Unicode error on interview page after interview decryption failure.
Problem with list gathering and
0.2.24 - 2018-01-28 Fixed
Problem with missing uid in background tasks.
0.2.23 - 2018-01-28 Added
datatypes for fields.
/api/session/back API and the
/api/user/<user_id>/privileges APIs, and
.as_serializable() method of the
/api/session POST API now returns the current question, unless the
question data value is set to
/api/session POST API now accepts file uploads.
Changed the name “roles” to the name “privileges” in the
set_user_info() function can now be used to change user
datatype: date will now set a variable of type
DADateTime, rather than a plain text variable.
today() now returns a
DADateTime object if it is called
show if and
hide if functionality now
animates the showing and hiding of fields.
0.2.22 - 2018-01-23 Added
allow demo for allowing demonstration
interviews in production mode.
Ability to send e-mail using the Mailgun API instead of SMTP.
decimal places option for automatically formatting floating
point numbers passed to DOCX and PDF forms using
checkin interval configuration directive is set to
browser will not “check in” at all.
/api/session/question API encounters an undefined
variable for which a definition is not available, it will no longer
return an error code, but will return a success code and indicate
what variable was not defined.
Invalid HTML in navigation bar.
Removed unnecessary invalidation of interview cache.
Problem with address autocomplete when variable name contains a bracket.
0.2.21 - 2018-01-19 Added
An API interface.
user_interviews() was reporting the wrong
google maps api key when an
api key alone was set under
google in the Configuration.
Problem with formatting of chat log after going back into a session.
0.2.20 - 2018-01-14 Added
send_fax() function for sending faxes using Twilio.
include_docx_template() function for including .docx content
within a .docx file.
0.2.19 - 2018-01-12 Added
Ability to run
interview_list() on all users. Additional keys
email are included in results.
Integrated the Place Autocomplete feature from the Google Places API.
Bug in YAML parser triggered sometimes by fields with blank labels.
Newline to space error in docx templates that affected Word but not LibreOffice.
0.2.18 - 2018-01-06 Added
Typo in HTML when
camera and other HTML5 upload datatypes were used.
0.2.17 - 2018-01-04 Changed
Better features in background actions for handling exceptions.
0.2.16 - 2018-01-01 Fixed
Problems with cron jobs, including an error in the documentation;
the variable is not
0.2.15 - 2018-01-01 Changed
Calculation Order of the template file will be reproduced in the
resulting PDF file.
Calculation Order of the first file will be reproduced in the
resulting PDF file.
Problem with using specific person as sender of an e-mail.
0.2.14 - 2017-12-27 Added
Customizable 404 error message.
all_true() methods for the
Typo in password complexity error message.
0.2.13 - 2017-12-24 Added
Ability to change the
password complexity requirements in the
Ability to control whether registering users must retype their
0.2.12 - 2017-12-24 Fixed
for attributes of
<label> elements were mislabeled when a
show if defined the same variable.
0.2.11 - 2017-12-18 Fixed
Problem with validating fields inside
0.2.10 - 2017-12-15 Fixed
Problem recognizing string indices in code.
0.2.9 - 2017-12-15 Fixed
Problem with dictionaries inside of dictionaries.
Some of the administrative page customizations did not work.
0.2.8 - 2017-12-14 Fixed
Inserting images into PDFs using
0.2.7 - 2017-12-13 Added
into administrative pages.
0.2.6 - 2017-12-12 Fixed
GitHub pagination problem with
0.2.5 - 2017-12-12 Changed
global css and
Curly quote conversion is re-enabled.
Password protection on generated PDF files.
variable names containing generic object or
iterator references can now be used with
Error when uploading Zip file to Playground packages folder.
Problem setting boolean character of yesno variables that are
specified using brackets.
Problem with referring to
get_url_from_file_reference() outside of
0.2.4 - 2017-12-06 Changed
Automatically remove newlines from e-mail subject lines
PDF thumbnails now have the filename as the “title.”
Background tasks no longer try to process responses if exception
Ability to set
exit link and
exit label in metadata and
Error when pulling “master” branches of GitHub packages into the
Flash message showing when interview YAML file changes and “allow
login” is False.
0.2.3 - 2017-12-04 Changed
Turned off automatic curly quote conversion until Unicode error
in textstat can be fixed.
0.2.2 - 2017-12-04 Added
Pulling and pushing using GitHub branches.
.failed() method on result of background task.
0.2.1 - 2017-11-30 Changed
The hard-coded limit on JSON nesting depth, which was mentioned
in the 0.2.0 changes, has been changed from 6 to 20.
Apache could not start unless Docker container started with a
GitHub push using GitHub integration failed because of an SSH
0.2.0 - 2017-11-29 Added
logo option of
variables_as_json() functions now
contain a limitation on nesting depth. The limit is hard-coded at
6 levels, after which values will be “null.” This is to prevent
exceptions being triggered by circular references.
Setting Google Drive Synchronization folder to “Do not link” will
now erase the connection between the OAuth app and the user.
When populating PDF checkboxes, passing
None to the checkbox or to
noyes() functions will result in the box not
Apache web server variables are now reset after a restart (e.g.,
after the Configuration is changed.
When pulling the contents of a
docassemble extension package
into the Playground, it will now remember the GitHub URL or PyPI
package name so that when you go to Pull again, you will not need to
retype. This works even if you have not enabled GitHub integration. Fixed
PDF checkbox inconsistencies.
Git pull into Playground packages without integration generated an
When datatype is object and variable existed, it would try to reduce
the object to text in order to see if it should be highlighted as a
pre-selected default value.
0.1.99 - 2017-11-23 Added
Option for changing the UID and GID of www-data within the Docker
container, so that
/usr/share/docassemble/files can be mounted as
a Docker volume and the Playground files can be edited.
Multiple choice questions in
fields will set boolean
False if those are the only options.
Additional headers are set to enable cross-site resource sharing
if the CROSSSITEDOMAIN variable is set.
Apache configuration files in Docker are configured differently;
existing site configuration files will not be overwritten and
configuration options are now implemented as Apache variables.
DAList objects now work with the
+ operator; a regular list can
be added to a
DAList but not the other way around.
uncheck others feature triggered an error if it was not the
0.1.98 - 2017-11-20 Changed
Going to “/exit” will now log out the user, if the user is logged
&json=1 for JSON responses, the
logout, which works like
exit but also logs the user out.
Default values in object choices.
0.1.97 - 2017-11-14 Fixed
Problem with Playground interviews not being decrypted.
0.1.96 - 2017-11-12 Fixed
JSON conversion problem when using
0.1.95 - 2017-11-12 Fixed
Bug in 0.1.94 regarding detection of variable names.
0.1.94 - 2017-11-12 Fixed
Improved detection of variable names in code.
0.1.93 - 2017-11-10 Changed
Individual class no longer initializes the
expense attributes, but there are
objects blocks in
basic-questions.yml that will initialize these attributes.
Organization class no longer initializes the
offices is provided as a keyword parameter
during object construction.
Interview tags system and the
0.1.92 - 2017-11-09 Added
checkbox export value option when using
pdf template file.
The Markdown to HTML converter now uses the Attribute Lists extension.
server_capabilities() function now has a
When the server is not in
debug mode, users must be logged in as
with administrator or developer privileges to run interviews in
docassemble.demo. In the SMS interface,
interviews in these packages are always inoperable unless the server
server_capabilities() was not recognizing the
0.1.91 - 2017-11-07 Changed
Exceptions triggered during code block execution will now show the
line, not just indicate the line number.
server_capabilities() function is now imported by default and
it reports additional features.
interview_list() function now returns interview metadata.
cross site domain configuration directive and
CROSSSITEDOMAIN environment variable, for enabling APIs to be
Azure blob storage fixes.
0.1.90 - 2017-11-05 Changed
New features in the
session list interview and
dispatch interview configuration
0.1.89 - 2017-11-04 Added
Ability to use
Thread unsafe language setting.
0.1.88 - 2017-11-02 Fixed
object_name() raised an exception.
Including MP4 videos did not work when OGG not provided.
0.1.87 - 2017-11-02 Fixed
docx template file combined with
code resulted in error
due to recent change that attempted to provide better error
0.1.86 - 2017-11-01 Added
button icon size,
button icon units, and
button size configuration options.
Clicking the back button when looking at question help will return
the user to the question.
Width of images in .docx files.
0.1.85 - 2017-10-29 Added
google maps api key in the
google section of the
A Google API key is now required for using
0.1.84 - 2017-10-29 Fixed
UI issues when switching between help and questions tabs.
pop() method to
Machine learning errors when entries are blank.
0.1.83 - 2017-10-26 Added
fields option for
check in events can use the
background_response() to communicate results to the browser.
0.1.82 - 2017-10-26 Added
pdf_concatenate() function converts word processing files.
complete_attribute, list gathering will not
first seek a textual representation of the object.
Inclusion of images in RTF when a width not specified.
undefine() no longer raise exceptions
when passed constants or internal Python names.
Errors in list gathering.
0.1.81 - 2017-10-25 Changed
Google Drive synchronization is now handled as a background task so
that it will not be interrupted by a web browser timeout.
Uploads embedded in docx template files.
0.1.80 - 2017-10-23 Added
Interview title functionality in the
metadata initial block.
Image URLs to PDF page images with S3/Azure Blob Storage.
0.1.79 - 2017-10-23 Fixed
PDF page retrieval index error.
File permissions issue in S3 that prevents server restart. S3 users
must upgrade the Docker image.
Incorrect timestamps when downloading from persistent cloud storage.
0.1.78 - 2017-10-22 Changed
When using S3 or Azure Blob Storage, the files will now be cached
on the server file system and updated when they change.
When using the Playground and S3 or Azure Blob Storage is in use,
and there are more than ten decorations, no preview images will be
shown in “Variables, etc.”
The values of
SavedFile objects will be cached in memory for the
duration of a web request, so that when you create a new
SavedFile, attributes will be set from memory.
The first argument to a
MachineLearner object will no longer be
used as a literal
group_id. Rather, an argument
'fruit' it will
be converted into a group_id of the form
You can still set a literal
group_id using the keyword parameter
initial_file is given to a
MachineLearner object, two
different formats can be used: an array, or a dictionary of arrays.
If a dictionary of arrays, the keys will be checked and if the key
group_id (with the part before the final
colon, if any, removed), the array corresponding to that key will be
Playground wizard not including pdf and docx template files in package.
Playground wizard not including static files in package.
Playground wizard pickle error when using S3 or Azure blob storage.
Bug where key ‘sought’ not found.
0.1.77 - 2017-10-20 Added
Missing dependencies for
0.1.76 - 2017-10-20 Added
RandomForestMachineLearner for machine learning with numeric and
code to specify fields in docx template.
0.1.75 - 2017-10-18 Added
inline width field modifier for embedded fields.
get_data() methods for
DAFile initialize function now handles keyword arguments as
0.1.74 - 2017-10-15 Added
Validation errors for embedded fill-in-the-blanks elements now
appear under the fields.
Embedded radio buttons and checkboxes now use standard HTML
Embedded currency fields use standard text to represent the currency
0.1.73 - 2017-10-15 Changed
Referring to a non-existent DAList item after the list has been
gathered will now generate an exception.
Brought back gradients on buttons, which had been removed in 0.1.72.
0.1.72 - 2017-10-14 Added
bootstrap theme and
inverse navbar features and configuration
specified package now use the package of the features block.
Logout now deletes cookies.
0.1.71 - 2017-10-11 Changed
currency() now returns
'' on non-numeric input.
AWS secret access codes with slashes.
Recognition of iterators with constant integers.
0.1.70 - 2017-10-10 Added
Lettuce tests in directory
Playground variable detection now shows attributes.
Playground variable detection now adjusts for temporary Mako variables.
split() function now splits on newlines.
Playground no longer loads each example interview into memory.
Template file Google Drive deletion.
Problem with pickling result of
Scanning for variable names involving patterns like
0.1.69 - 2017-10-05 Added
.using() for adding parameters to object definitions.
Backups only kept now for 14 days. Container upgrade necessary.
Use of iterators and generic objects in
Azure cron backup. Container upgrade necessary.
0.1.68 - 2017-10-05 Added
Interview cache invalidation now handled through thread local
variables and a redis counter, rather than by modification times on
YAML files. This may avoid potential problems with Google Drive
Google Drive sync now has a page that tells the user not to stop the
Error on URL redirection.
Playground package page asking for GitHub sign-in after expiration
History on error page restored.
0.1.67 - 2017-10-02 Added
Warnings in the Playground when use of a particular file name would
overwrite an existing file.
Fields in a PDF fill-in form can be specified as a list of dictionaries.
maximum image size in effect, files that got converted to PNG
by the browser still had original file extensions.
Typo introduced in 0.1.65 affecting the processing of lists of
choices in multiple-choice questions.
0.1.66 - 2017-10-01 Fixed
Problem with empty upload fields.
0.1.65 - 2017-09-30 Changed
More consistent behavior in multiple choice listings.
When a multiple choice question’s choices are determined by code,
the image can be an uploaded file.
scan for variables modifier.
has_been_gathered() method on groups.
More expansive error messages in debug mode.
Errors if variable names in
question blocks are invalid.
Layout problem when sections and progress meter both turned on.
0.1.64 - 2017-09-26 Fixed
Gathering of Asset items.
0.1.63 - 2017-09-26 Added
Example of editing a list after it has been gathered.
Embedded fields where the variable names contain iterators.
Lists instanceNames adjusting after removal of a list element.
0.1.62 - 2017-09-24 Changed
Fields can now be embedded in
Multiple choice type
datatype: combobox for
Mandatory multiple-choices questions with embedded code blocks.
DADict objects in choices lists.
0.1.61 - 2017-09-23 Changed
After back button is pressed, defaults will be populated on fields
that accept defaults.
DAFileCollection so that it can be used like a
Checkbox defaults specified as
DADict objects not recognized.
0.1.60 - 2017-09-21 Changed
Added a new type of infinite loop detection.
0.1.59 - 2017-09-21 Changed
Added a different type of infinite loop detection.
0.1.58 - 2017-09-19 Added
Multiple choice type
Code example for
YouTube video widths not responsive.
0.1.57 - 2017-09-19 Fixed
Bug that affected some file-related operations.
Detection of infinite loops.
0.1.56 - 2017-09-17 Changed
The way that the
objects block gets executed has changed. It no
longer executes as a mandatory block unless it is marked as
In addition, the way that questions are asked has changed
accordingly. If any fields that would be set by the question have
docassemble will try to ensure that the underlying
variable is already defined, which may trigger a process of defining
the variable. This will ensure that objects mentioned in object
blocks will be created before they are necessary. These new changes enable the use of iterator variables like
Problem with deletion of keys on S3.
Problem with response() on second and subsequent screens.
0.1.55 - 2017-09-16 Added
precedence modifiers and the
order initial block.
The JSON interface.
0.1.54 - 2017-09-16 Fixed
Upgraded from boto to boto3.
Fixed issues with documents and cloud storage.
0.1.53 - 2017-09-15 Fixed
Problem with docassemble.base as a dependency in extension packages.
0.1.52 - 2017-09-15 Fixed
Problem with assembled documents on cloud storage.
0.1.51 - 2017-09-14 Added
JSON version of information on each screen.
Problem with signatures in pdf fill documents.
0.1.50 - 2017-09-10 Added
maximum image size to reduce size of uploaded images
in the browser before uploading.
cache documents for disabling document caching.
E-mailing of assembled documents.
0.1.49 - 2017-09-07 Added
Additional document caching feature.
Problem with caching of certain document types.
0.1.48 - 2017-09-06 Added
go full screen that limits behavior to mobile only.
Caching of assembled documents. Clicking on assembled documents
will now open them in a new browser tab rather than offering them
as attachment downloads.
In Google Drive synchronization, .tmp and .gdoc files are now
Spinner did not appear on signature pages.
Date validation forcing input even when date not required.
Images included in terms not appearing unless fully qualified.
0.1.47 - 2017-09-04 Added
referring_url() for accessing the original “referer” URL.
go full screen for breaking out of iframes.
Support in Docker for MySQL connections.
Error accessing machine learning training area.
Undefined mimetype error with e-mail receiving feature.
“Next will be” message in SMS interface skipped
0.1.46 - 2017-09-02 Added
Multiple choice questions where list of selections is empty.
SMS interface for multiple choice questions where list of
selections is empty.
0.1.45 - 2017-08-31 Added
password login, which will hide the
username and password fields on the login screen.
Better error messages when packages fail to install.
Better error messages in
worker.log when background processes
do not complete.
0.1.44 - 2017-08-30 Changed
object_checkboxes will now create the variable if it does not
Control mode submitting clicks twice in some circumstances.
Voice call forwarding.
Duplicate checkbox validation error message.
send_email() did not e-mail .docx files when given
Inconsistency in handling of nested questions.
0.1.43 - 2017-08-27 Fixed
Extraneous call to checkin for chat log.
Clicking elements in control mode in live chat.
Problems with db table prefixes.
Adjusted to changes in flask-user.
Downgraded to Debian jessie because there was a problem with corrupt
0.1.42 - 2017-08-24 Added
set_attributes() method for
DAFileList in order to
allow uploaded files to be used across interview sessions and not be
deleted when the session in which the file was uploaded is deleted.
url_for() method for
Hyperlinks to actions (e.g., created through
action_menu_item()) are now carried out through Ajax.
Compatibility of UI elements with ‘control’ live help feature.
Extraneous “Menu” entry in mobile menu when custom menu used.
0.1.41 - 2017-08-23 Added
require referer that allows users who use
referer blockers to use
.show() method for
DATemplate objects, for interchangability
with images in
valid types was set to
docx template file
was in use.
Typo in HTML of monitor page.
Auto-updating of version numbers in package listing.
Updating of package table so that core packages are retrieved from
pip, not GitHub.
0.1.40 - 2017-08-23 Changed
Upgraded from Debian jessie to Debian stretch
Ability to specify filenames in
attachment blocks using
Error when GIFs inserted into RTF file.
0.1.39 - 2017-08-20 Added
Page where administrator can add users manually without going
through invitation process.
Non-ASCII characters in PDF field defaults no longer stripped out
when scanning through utilities.
0.1.38 - 2017-08-16 Fixed
Bug in Alembic upgrade process
0.1.37 - 2017-08-16 Changed
datatype: checkboxes now have a “None of the above”
option by default, and input validation ensures that something is
none of the above field modifer configures it.
After registration, users will bypass the “Interviews” screen and
go right back to their interview, if they have started an interview.
uncheck others when
noyeswide. Enables a yes/no
field to act as a “None of the above” option.
“Upgrade docassemble” button on the “Update a package” page.
Automatic login after registration was not working, so users had to
enter username and password information twice.
Improved CSS for when name of interview on mobile is too long to fit
in navigation bar.
Non-ASCII characters in PDF fields when scanning through utilities
no longer cause an error.
Fixed problem introduced in 0.1.22 where interview data would be
destroyed when switching back to an interview during the same session.
0.1.36 - 2017-08-13 Fixed
Small typo that made 0.1.35 unusable.
0.1.35 - 2017-08-13 Added
Support for help text next to choices in a multiple choice list.
Database upgrades now handled by alembic by default. See the ‘use
alembic’ configuration directive.
Extension packages no longer depend on the docassemble.base or
docassemble.webapp packages. As a result, installation of an
extension package will no longer trigger a total software update.
If you want to upgrade docassemble, upgrade docassemble.webapp.
Note that packages created in earlier versions will still have these
dependencies until they are regenerated in the Playground. You can
install_requires in the setup.py file.
Bug fixes to SMS interface.
0.1.34 - 2017-08-10 Fixed
DADicts a few weeks ago but the auto-gathering
system on them was not turned off; it is turned off now.
0.1.33 - 2017-08-09 Fixed
Backwards compatibility for interviews started before
nav added as
a variable in the user dictionary.
Extension packages now depend on
docassemble.webapp so that when a
package is updated, all of docassemble is updated, not just
0.1.32 - 2017-08-08 Changed
force_ask() can ask a series of questions.
Configuration directives for customization of start page and
0.1.31 - 2017-08-07 Changed
Review page buttons now Ajax.
Screen reverts to review page after field edit.
Problem with PDF/A due to old version of pdfx.
0.1.30 - 2017-08-07 Added
Navigation bar option.
Problem with files when user logged in.
0.1.29 - 2017-08-03 Added
Input validation with Python code.
0.1.28 - 2017-08-01 Fixed
DADict object now defines ask_object_type by default
using combined with
0.1.27 - 2017-07-31 Added
mlarea data types and training system.
Better error message in Playground when interview has a syntax error.
Problem with temporary files introduced in 0.1.23 that was causing
PDF fill-in to fail.
0.1.26 - 2017-07-25 Fixed
0.1.25 - 2017-07-24 Changed
0.1.24 - 2017-07-24 Fixed
0.1.23 - 2017-07-23 Changed
Additional deletion of temporary files through cron job.
Improved performance by optimizing markdown and regex.
Newer version of labelauty, with modifications to include benefits
of older version, for compatibility with IE/Edge.
0.1.22 - 2017-07-22 Added
new_object_type option for groups.
The default for the
debug configuration directive is now
disable others field modifier can now be used on a field with
the same variable name as that of another field on the same page.
Term definition Markdown is now converted to HTML.
Fixed bug with code blocks using iterators.
Fixed problem with document attachments affecting data storage and
multiple application servers.
Playground run now resets page counter.
0.1.21 - 2017-07-14 Changed
Checkboxes now create
DADict objects rather than
all_false() methods for DADict.
Fixed bug when user invitation e-mail fails to send.
Error message when code and question blocks are combined.
0.1.20 - 2017-07-10 Fixed
Fixed another bug in edit user profile page.
0.1.19 - 2017-07-10 Fixed
Fixed bug in edit user profile page.
0.1.18 - 2017-06-28 Added
Pull package into Playground with PyPI.
initial directive now accepts code, just like
Error page now returns 404 instead of 501 when user tries to access
an interview file that does not exist.
Added MANIFEST.in so that README.md is included when packages are
bundled using setup.py.
Uploading files to Playground now checks to make sure the file is
YAML and is readable.
0.1.17 - 2017-06-24 Changed
Updated the required system version to 0.1.17.
If you updated the Python packages to 0.1.15 or 1.1.16 without
updating the system, you may have experienced an error. Now, if
changes to the Python packages alter the necessary PostgreSQL
columns or tables, those columns and tables will be changed upon
reboot after the updating of the Python packages, and will not have
to wait until an upgrade of the system.
Fixed reference in Dockerfile to non-existent file.
0.1.16 - 2017-06-24 Added
Changed PyPI username and passwords from a configuration setting to
a user setting.
More stable transition when transitioning server from non-cloud data
storate to cloud data storage
month_of() now uses defined language/locale rather than system
Executables that run as root no longer writable by www-data.
Turned off auto-start on sync supervisor process.
0.1.15 - 2017-06-18 Added
SMS option for two-factor authentication.
Option for requiring confirmation of user e-mail addresses.
Problem with apt-get update at start of Dockerfile.
0.1.14 - 2017-06-17 Changed
Renamed configuration directives from “second factor” to “two factor.”
0.1.13 - 2017-06-17 Added
0.1.12 - 2017-06-06 Changed
To facilitate GitHub workflow, attempted to preserve timestamps on
filenames in Zip files.
0.1.11 - 2017-06-04 Changed
Increased font size for better mobile experience.
0.1.10 - 2017-06-03 Changed
Look and feel of signature pages now match regular interface on
0.1.9 - 2017-06-02 Fixed
Various bugs from previous version.
0.1.8 - 2017-06-01 Fixed
Bug with Google Drive integration.
0.1.7 - 2017-06-01 Fixed
Bug with server-side encryption.
0.1.6 - 2017-05-30 Added
Google Drive integration.
0.1.5 - 2017-05-28 Fixed
Bug with logins in the middle of interviews.
0.1.4 - 2017-05-27 Changed
New algorithm for generic variables and index variables.
[Unreleased] - 2017-05-26
PDF fill-in files now editable.
Started using bumpversion.
Started a changelog.