PyUp Safety actively tracks 268,179 Python packages for vulnerabilities and notifies you when to upgrade.
Fixed - Markdown in popover field help.
Added - The `update_terms()` function. Changed - When using `terms`, you can specify that text other than the term name should be displayed using `|`. - When specifying `terms` and `auto terms`, you can use `phrases` and `definition` to indicate that multiple terms are associated with a single definition.
Fixed - Bug in GitHub configuration.
Changed - Enabled a variety of functions to operate as Jinja2 filters. Fixed - Corrected operation of `selectattr` Jinja2 filter.
Added - The `make_ocr_pdf()` and `make_ocr_pdf_in_background()`, and `bates_number()` methods of `DAFile` and `DAFileList`. - The `reverse()`, `insert()`, and `count()` methods of `DAList`.
Added - The `required privileges for initiating` specifier under `metadata`. Changed - The JSON format of questions now includes analytics information. Fixed - The `delete_variables` feature of `/api/session` did not work when passing the request in JSON format.
Fixed - False error messages on package update screen.
Changed - Monitor disabled when `checkin interval` is zero. Fixed - Potential OAuth2 issue with Google Drive.
Added - The `table css class` screen part. - The `show_as_markdown()` method for `template`s. - The `_inline` option for `include_docx_template()`. - Ability to list multiple files under `docx template file`. - Ability to set the `pre` and `post` screen parts directly on a `question`. - The `enable if`, `disable if`, `js enable if`, and `js disable if` field modifiers.
Fixed - GitHub commit issue.
Fixed - `cross site domains` was not being used by CORS for web sockets.
Fixed - GitHub commit error.
Fixed - Tweak to focusing on first element.
Added - The `middle_initial()` method of `Name`. Changed - First input element on the screen is focused only if visible in the viewport. - `[FILE ...]` can now be used with images declared in `images` or `image sets`. Fixed - Issue with floating point/integer numbers and input validation.
Fixed - Problem with using `[TARGET]` inside of `right`.
Fixed - Issue with `get_info()`. - Issue with `show if` `code` and generic objects/iterators.
Fixed - Issue with fix in the previous version regarding group-level file permissions.
Added - The `question_id` attribute of `user_info()`. Fixed - Issue with group-level file permissions.
Fixed - Issues with `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.
Changed - Setting `url_args` without causing a change to the `url_args` does not cause a new step to be created. Fixed - An empty string `min` or `max` was not being ignored. - Issue with `generic object`.
Changed - The `use_word` keyword attribute to `nice_number()` and `ordinal()` can be used to force a textual representation of any number.
Fixed - Removal of `new_session` from URLs formed with `interview_url()`.
Fixed - Better support for iterables in `comma_list()` and other places. - Markdown table alignment in Bootstrap. - Upgraded Pillow.
Added - The `reply_to` option for `send_email()`. Changed - The current section name is now the label of the `small screen navigation: dropdown` button. - The breakpoint for the mobile signature view is now Bootstrap `xs`. Fixed - Multiple choice fields with empty choices were being set to `None` despite `code`-based `show if` deselecting the field.
Added - The `/api/stash_data` and `/api/retrieve_stashed_data` endpoints. - The `stash_data()` and `retrieve_stashed_data()` functions. - The `current` option for `referring_url()`.
Fixed - Improper verb conjugation for non-English languages.
Fixed - Issue with two POST requests being sent during inline file uploads.
Added - The `small screen navigation` option under `features`. - The `email template`, `email subject`, `email body`, and `email address default` options for customizing the functionality of the `attachment`/`attachment code` interface. Changed - The horizontal section interface is no longer hidden on small screens. - 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`/`attachment code` interface is now translated using the phrases `Your document, %s, is attached.` and `Your documents, %s, are attached.`.
Added - The `style` keyword parameter for `interview_url()`. Changed - The `/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 `dispatch`). Fixed - The Playground "Share" link did not update correctly based on the interview being run.
Fixed - Issue with relative image URLs when embedding in a `<div>`.
Added - The `corner back button label` screen part. Changed - Upgraded bootstrap-fileupload. Fixed - The `progress` modifier did not behave as described in the documentation.
Added - The modifiers `include attachment notice`, `include download tab`, and `manual attachment list` for tweaking the display of attached documents. Fixed - Step advanced when session started with URL parameters. - The signature screen scrolled at submission. - The `next` parameter was forgotten when using social login methods. - The `reconsider` modifier did not work with iterator variables.
Changed - Playground Packages page now reports local date and time of a commit. Fixed - Issue with two file fields or two fields with a `validate` that have the same variable name and one is hidden by `show if`.
Fixed - Cron problem introduced in 1.1.56.
Fixed - Backwards-compatibility issue related to `DAEmpty` introduced in 1.1.54.
Fixed - Backwards-compatibility issue related to `DAEmpty` introduced in 1.1.54.
Added - The `session_local`, `device_local`, and `user_local` objects in the interview answers. - The `require login` `metadata` directive. Changed - When the API is in use, `interface()` will return `'api'`. Fixed - `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 `show if`. - Submission blocked when an empty non-required file upload field was present in an embedded interview.
Added - The `create_session()` function. - The `package` attribute of the output of `user_info()`. - The `make_copy` keyword parameter for `all_variables()`. - The `overwrite` keyword parameter for `set_session_variables()`. - The `overwrite` parameter for the `/api/session` POST endpoint. - The `persistent` option for the `/api/session/action` POST endpoint. - Recipe for passing variables from one session to a newly created other session.
Added - The `attr_name()` method of the `DAObject` class. - The `dry_run` keyword parameter for `send_email()` and `send_sms()`. Changed - The `str` keyword parameter when initializing a `DAEmpty` object. - New recipe for gathering multiple signatures; uses a modular approach. Fixed - Missing control for `capitalize` in some language functions. - SendGrid fails when subject line is empty string. - The `temporary` and `once_temporary` keyword parameters for `interview_url_action()` were not working. - Problem with running interviews in a different tab in Playground on Chrome.
Fixed - Error in Docassemble-Flask-User dependency.
Fixed - Moved evaluation of section information to post-assembly when getting question data.
Added - The `footer` screen part. - `terms` and `autoterms` are now included in JSON question data. Fixed - `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.
Added - Feature for viewing names in an interview and the YAML blocks associated with them. Fixed - Missing `.copy()` method for `DAList`. - The `init()` method of the `DAFileCollection` class did not accept arbitrary parameters. - Fully qualified image URLs now work in e-mail HTML.
Fixed - Additional input validation on parameters passed to APIs.
Fixed - The `/api/user_info` API endpoint and the `get_user_info()` function now do case insensitive searches for e-mail addresses.
Added - The `store_variables_snapshot()` function.
Fixed - Error in restart module.
Fixed - Error in table creation module.
Changed - The `interview_list()` function, when called without an `action`, 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 `interview_list()`. - The `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 `interview_list()`. - The `/api/interviews`, `/api/user/interviews`, `/api/user/<user_id>/interviews`, and `/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. - Removed the `PY2`, `string_types`, and `text_type` names from `docassemble.base.util`. Note that if you have used any of these, this change may break your code. Added - The `persistent` optional keyword parameter for `mark_task_as_performed()` and related functions. - The `task_persistent` optional keyword parameter for `send_email()`, `send_sms()`, and the `DAWeb` methods. Fixed - 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.
Changed - The `complete_elements()` method now returns a `DAList`. Note that this may break existing code that uses `complete_elements()`. To get a plain list of the complete elements, use `complete_elements().elements`. - Spanish ordinal numbers removed. - Upgraded jQuery and jQuery Validation Plugin. Fixed - Possible fix to iframe reloading issue.
Fixed - Bug in `recursive_eval_textobject()`.
Added - `question metadata`, `field metadata`, and the `send question data` option under `features`. - The `country` keyword parameter for `.sms_number()`. - The `field` keyword parameter for `validation_error()`.
Fixed - Issue with `interview_url_action()` and `force_ask()`. - Upgraded `docxtpl` and `docx`.
Added - The `add another label` option for `list collect`. - The `manual_line_breaks` Jinja2 filter. Changed - The `.all_false()` and related `DADict` methods reflect Python notions of true and false values rather than literal equivalence of the values to `True` or `False`. - Sessions that were created using the API will now appear immediately in My Interviews.
Fixed - Attempt to force reinstall of pdfminer.six.
Fixed - Another attempt to force uninstall of pdfminer3k.
Fixed - Force uninstall of pdfminer3k.
Fixed - Error with `objects_from_file()`.
Changed - `help` can be added to `note` and `html` fields. Fixed - Support for icons in terms.
Fixed - Issue with `objects_from_file()`.
Fixed - Issue with nested question file inclusion change in 1.1.30.
Fixed - Issue with screen reader and labels containing HTML codes. - Issue with nested question file inclusion.
Fixed - Issue with `set_save_status()`. - Issue with checkbox validation text when the "none of the above" choice contained HTML. - Bug prevented `admin` users from changing other users' information with the API.
Added - The `skip undefined` option for `pdf template file` Fixed - Issue with nested `datatype: object` fields in a `list collect`. - Issue with `disable others` referring to a list in a `list collect`.
Fixed - Issue with `js show if` and `list collect`.
Fixed - Duplicative `under` text when `attachment` is used. - Error when reading certain types of PDF files.
Added - The `if_started` keyword parameter for the `number_gathered()` method. Changed - If `ask_number` on a `DAList` or `DADict` is `True` and `target_number` is defined, removing an item using the table editing interface will decrease `target_number` by one.
Fixed - Unicode problem with JSON sent from the browser.
Changed - When a item is added to or removed from a group, the `there_are_any` attribute is updated even if `there_are_any` was not previously defined. Fixed - Package update problem due to `pip freeze` changing behavior in version 20.1.
Fixed - PDF export value issue where two export values are present in the PDF for a checkbox field.
Changed - Upgraded LibreOffice to version 6.4. Fixed - `review` screens shown as part of the interview logic were being treated as actions.
Changed - If `help` accompanies a `yesno` field, it will be available as a popup accessed from an icon. Fixed - GitHub issue when committing to a new branch. - Exception when trying to edit a non-existent user. - Bug in `comma_and_list()`. - The `disable others` and `uncheck others` features did not work correctly in a `list collect`.
Changed - The `checkbox export value` feature is no longer documented because PDF field filling now inspects the PDF for the export value. Fixed - The `address autocomplete` feature was not compatible with `show if`.
Added - The `hyperlink style` option for an `attachment`. Fixed - Sendgrid API e-mails to multiple "To" recipients only reached the first recipient.
Added - Test script screenshot mechanism. Changed - Subfolder paths now allowed in URLs for static files. Fixed - S3 file sync problem.
Added - The `default date min` and `default date max` options under `features`.
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.
Added - The `title url` and `title url opens in other window` screen parts. - A "retry" button on the error screen. Changed - Auto-focus on page load will only be given to an element in the first non-`note`, non-`html` field. Fixed - Pressing enter key on the list collect screen clicked a hidden button. - Changes in 1.1.11 blocked certain types of uploads.
Fixed - Fields with an object-based `datatype` did not work when `list collect` was used. - Error with exporting tables to Excel.
Added - Ability to download files by specifying a `filename` parameter to GET requests to `/api/playground`. - The `use_word` keyword argument to `ordinal()`. - The `always include editable files` specifier for omitting the checkbox in the attachment UI. - The `nginx ssl protocols` Configuration directive. Changed - If `use https` or `behind https load balancer` are enabled, a `Strict-Transport-Security` header is returned. - If `allow embedding` is not set to `True`, the `X-Frame-Options` and `Content-Security-Policy` will block iframes. If `allow embedding` is set to `True` and `cross site domains` is set, the list of domains will be used for the `Content-Security-Policy` header. - More than one `address autocomplete` can now be used on a screen. Fixed - Disconnecting from GitHub integration failed if the existing integration no longer functioned.
Added - The `mailgun_variables` option for `send_email()`. - The `docx_concatenate()` function. Changed - When more than one file with the same name is added to a ZIP file, the files are renamed to avoid name collision.
Fixed - Typo in `Address.on_one_line()`.
Fixed - Error when `code` is used to generate `fields` and manually entered fields follow. - Jinja2 index error converted to attribute error. - Incorrect focus when first fields have `hide if`.
Fixed - Error with serving files through `/uploadedfile/<number>`.
Added - The `social` Configuration directive for meta tags. - The `social` specifier under `metadata` for meta tags. - The `allow robots` Configuration directive. - Czech translation.
Added - The `required` modifier for the `signature` block. Fixed - Error message about blank signature not showing.
Changed - `DAEmpty` now accepts index assignments. - Obtaining a `new_session` during an interview now preserves `url_args` and the `referring_url()`, consistent with the behavior of `restart`.
Added - The `use_familiar` attribute of the `Individual` class. - The `familiar()` method of the `Name` class. Fixed - Issue with too many flash messages on CSRF error. - Issue with multiple DOCX documents and subdocuments.
Fixed - Issue with file names and `.url_for()`.
Added - The `attachment` keyword parameter for `.url_for()`. - The `_attachment` keyword parameter for `url_of()`. Changed - Securing of uploaded filenames less strict.
Fixed - Typo in `Address.on_one_line()`. - Error when code is used to generate fields and manually entered fields follow. - Jinja2 index error converted to attribute error. - Incorrect focus when first fields have `hide if`.
Fixed - Removed 302 redirects. - Mako filter error. - Inline upload error.
Fixed - Issue with too many flash messages on CSRF error. - Issue with multiple DOCX documents and subdocuments.
Added - The `DASQLPING` Docker environment variable
Fixed - Display of available version on Package Management page.
Added - The `stable version` Configuration directive.
Fixed - Apache initial certbot run used wrong syntax. - Synchronizing local updates to files inside projects on OneDrive failed.
Fixed - Error when `disable others` is used inside of a `show if` or `js show if`.
Fixed - `update_ordinal_numbers()` and `update_ordinal_function` missing from `docassemble.base.util`. - `sql ping` workaround for SQL connections being cut off.
Fixed - Fixed issue with incomplete pull request by dependabot.
Fixed - Deprecated use of access token in URL parameter when retrieving branch listing from GitHub API when repository reference uses an `oauth-basic` URL.
Added - The `show_country` keyword parameter for the `.on_one_line()` and `.block()` methods of the `Address` class. - The `international` keyword parameter for the `.block()` method of the `Address` class. - The `assemble_docx()` function. Changed - 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 only. The `master` branch on GitHub will be version 1.1. Patch versions within version 1.1 will include bug fixes as well as feature enhancements. - The `omit_default_country` parameter of the `.on_one_line()` method of the `Address` class is deprecated. Fixed - Bug with `restrict input variables` and attachment e-mailing and downloading. - `pip show` inefficiency unnecessarily slowed down initial start up time.
Added - The `auto open` option for the `sections` block. - The `pages()` method for Twilio fax status. Fixed - The caret next to automatically closed subsections in the section navigation bar defaulted to the wrong setting. - The `received()` method of the fax send status did not correctly respond `True` when the fax was in `'delivered'` status. - Error message when clicking the back button under certain circumstances.
Changed - Deleting an item in a table now undefines `there_is_another` when it is `True`. Fixed - The `bootstrap theme` in the Configuration will apply to interviews if `bootstrap theme` in `features` is not set. - Errors in global CSS and JS Configuration directives not intercepted and logged.
Fixed - Issue with `bootstrap theme` and other Configuration directives that require Flask URL formation.
Changed - More flexible handling of `default` values with `datatype: date`. - The `allow embedding` Configuration directive now accepts the value `'Lax'`, which is the default.
Changed - LibreOffice Word to PDF conversion no longer reduces image resolution. Fixed - Log server in multi-server mode accessed on wrong port. - URL parameters stripped when redirecting to login when `allow anonymous access` is `False`.
Changed - 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 can set `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 place. Fixed - Upgraded `bleach` due to security vulnerability.
0.5.104 not secure
Fixed - Error with `allow embedding`.
0.5.103 not secure
Fixed - Error with `DAContext` variables.
0.5.102 not secure
Added - The `user auto delete` Configuration directive. - The `allow embedding` Configuration directive, which if `True` sets the `SameSite` flag in cookies to `None`. Changed - The `SameSite` flag is now set to `Strict` in cookies by default. For the old behavior, set `allow embedding: True` in the Configuration.
0.5.101 not secure
Changed - Playground syntax highlighting now highlights Python code as Python code. Fixed - The `interview_menu()` function did not accept parameters.
0.5.100 not secure
Added - The `.data_type_guess()` method of `DACatchAll`. - The `.keys()` method of `DAStore`. Fixed - Issue with default values after input validation fails and two fields set the same variable.
0.5.99 not secure
Added - Catchall questions. Fixed - 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 not secure
Fixed - Typo causing `/playgroundstatic` file links to fail.
0.5.97 not secure
Added - The `forget prior` option for `action buttons`. Changed - Calls to subprocesses now have timeouts. - Database columns used as indices changed from text to variable character. Fixed - Bug with table export.
0.5.96 not secure
Changed - `depends on` no longer implies `need`.
0.5.95 not secure
Added - The `show incomplete` and `not available label` options for `table` blocks. - The `gathering_started()` method of groups.
0.5.94 not secure
Added - The `allow external auth with admin accounts` Configuration directive. - The url parameter feature of `url_of()`.
0.5.93 not secure
Changed - `code` blocks with `event` work with `depends on` now. - Playground folders have download buttons now. - `re` and `json` are now available inside the interview namespace. Fixed - Let's Encrypt issue.
0.5.92 not secure
Added - The `add_separators()` function. - The `session error redirect url` Configuration directive. Changed - Calling `as_noun()` on a group with one item will return the `noun_singular()` of the applicable noun.
0.5.91 not secure
Added - The `/api/interview_data` API endpoint. Fixed - Interview cache not cleared after Playground pull.
0.5.90 not secure
Added - The `convert_to` method of `DAFile`. Changed - Functionality of `depends on` extended to additional block types.
0.5.89 not secure
Changed - Backend health monitor HTTP server moved to port 8082 from port 8080.
0.5.88 not secure
Added - The `response_code` option for `response()` and `json_response()`. - The `sendgrid api key` Configuration directive for sending e-mail using the SendGrid API. Changed - A `question` with a Continue button that sets a variable to `True`, or a `review` screen with a Continue button instead of a Resume button, can be indicated with `continue button field` instead of `field`.
0.5.87 not secure
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 `question`.
0.5.86 not secure
Added - The `default_for` class method and `is_object` attribute of `CustomDataType`. Changed - The `datatype` of `area` should now be expressed as `input type: area`. For backwards compatibility, `datatype: area` still works. Fixed - Bug in `/api/file` introduced in 0.5.85.
0.5.85 not secure
Added - CSS classes on HTML elements related to attachments. Fixed - Missing static file in existing package generated exception instead of a 404 error.
0.5.84 not secure
Added - The `restrict input variables` Configuration directive. - The `allowed to set` question modifier. Fixed - PDF image overlays failed with any image that contained a density in the metadata.
0.5.83 not secure
0.5.82 not secure
Added - Warnings in the logs if unrecognized keys used in interview YAML dictionaries. Fixed - The `disable others` feature interfered with the `show if` feature.
0.5.81 not secure
Added - The `allow updates` Configuration directive and `DAALLOWUPDATES` Docker environment variable. Fixed - Google Drive issue with files reporting no size. - Erroneous reference to text_type.
0.5.80 not secure
Fixed - Variables with iterators or generic object references could not be set through the API or `set_session_variables()`.
0.5.79 not secure
Added - The `convert_file` API endpoint. Fixed - Incorrect tab order in Playground Pull.
0.5.78 not secure
Added - The `depends on` modifier. - The `on change` block. - The `invalidate()` function. - The `.invalidate_attr()` method of `DAObject`. - The `invalidate` option in a `review` block.
0.5.77 not secure
Added - Ability to convert DOCX to PDF using CloudConvert. - The `cloudconvert secret` Configuration directive.
0.5.76 not secure
Fixed - Playground variables sidebar did not always switch to the most recently-run interview. - Restart process used IP address and port that may not be available internally.
0.5.75 not secure
Added - The `date format`, `datetime format`, and `time format` interview-wide defaults. Fixed - Line breaking issue with `terms` and `auto terms`.
0.5.74 not secure
Fixed - Error when checkbox values are not strings.
0.5.73 not secure
Fixed - Error in watchdog process launch. - UI bug in list collect.
0.5.72 not secure
Added - The `admin full width` Configuration directive. - The `wrap lines in playground` Configuration directive. Changed - Moved Download button to below the editor in the Playground. Fixed - Bug in `legal.py`. - Not safe to concatenate a `DAList` and a `DAEmpty`.
0.5.71 not secure
Changed - Discontinued support for Python 2.7.
0.5.70 not secure
Added - The `phone_number_formatted()` function. - The `fr-words.yml` translation file in `docassemble.base`. Fixed - Errors when building the Dockerfile on the ARM architecture.
0.5.69 not secure
Added - The `.user_access()` and `.privilege_access()` methods of `DAFile`. - The `persistent`, `private`, `allow users`, and `allow privileges` specifiers for `attachments` and field modifiers for `datatype: file` fields. Fixed - User could not access a private and persistent file after the deletion of the session in which the file was created. - Issue with `js show if` and `list collect`.
0.5.68 not secure
Fixed - JQuery Validation Plugin message for integer and step input validation was not customizable. - Dependency was incompatible with Python 3.5.
0.5.67 not secure
Added - The `help generator` and `image generator` field modifiers. Fixed - Error when `code` was used with `content file` and the code returned a list. - Backup of Redis database when password is used.
0.5.66 not secure
Fixed - Issue with Redis and passwords.
0.5.65 not secure
Added - The `DAWeb` object. - The Configuration page now reports the underlying Python version. Fixed - The `PATCH` endpoints for API-related API calls only accepted URL parameters. - The `step` specifier for `datatype: range` fields was not effective. - The `re_run_logic()` function did not re-run from the start of the interview logic in all situations. - The `redis` directive in the Configuration did not support passwords. - A checkbox with the empty string as the value triggered an error.
0.5.64 not secure
Fixed - Back button after `url_args` are set repeated the setting of the `url_args`. - The `resume interview after login` feature did not work correctly with the default menu.
0.5.63 not secure
Added - API endpoints for managing API keys.
0.5.62 not secure
0.5.61 not secure
Fixed - The `subtitle` screen part was not updated correctly by `set_parts()`. - In the Playground, the "Share" link was not updated when the "Variables, etc." file name changed.
0.5.60 not secure
Fixed - Issue with `supersedes`.
0.5.59 not secure
Fixed - Issue with `supersedes`.
0.5.58 not secure
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 `modules` or `imports` block.
0.5.57 not secure
Changed - Different way of finding GitHub e-mail address. Fixed - Cron issues.
0.5.56 not secure
Added - The `action buttons` specifier for `question`s.
0.5.55 not secure
Fixed - Styling of Font Awesome icons inside buttons. - Some variables in Variables, etc. inappropriately flagged as undefined.
0.5.54 not secure
Added - The `confirm registration` Configuration directive. Changed - CSRF errors pop up in a "flash" box. - Cron jobs run with nice 19 (system upgrade required for this change). - 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 not secure
Added - The `hook_on_remove()` method. - The `SQLObjectList`, `SQLRelationshipList`, `StandardRelationshipList`, and `SQLObjectRelationship` classes in `docassemble.base.sql`. - The `.any()`, `all()`, and `.filter()` class methods of `SQLObject`. - The `.has_child()`, `.add_child()`, `.get_child()`, `.del_child()`, `.has_parent()`, `.add_parent()`, `.get_parent()`, and `.del_parent()` methods of `SQLObject`. - The `_session` attribute of `SQLObject`. - 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. Changed - The `message` parameter of `.add_action()` has been renamed to `label` (backwards-compatibility is maintained). - The `.get_session()` method of `SQLObject` has been removed in favor of the `._session` attribute.
0.5.52 not secure
Fixed - Bug in package update script.
0.5.51 not secure
Changed - The `pt-words.yml` file has been renamed to `pt-br-words.yml`. If you are using this file, you will need to change your `words` configuration. Fixed - HTML codes non-printable in dropdown lists.
0.5.50 not secure
Added - The `inline_markdown` Jinja2 filter. Fixed - Problem with XLSX translation file colorization.
0.5.49 not secure
Fixed - Python 2.7 bug introduced in 0.5.47.
0.5.48 not secure
Added - The `external` keyword parameter for the `.url_for()` method. Changed - 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 browser's session. - 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 behavior. - A superscripted question mark icon is now shown in the green text when `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 server. - When publishing to PyPI from the Playground Packages screen, you can choose to also install the package on the server.
0.5.47 not secure
0.5.46 not secure
Fixed - Possible race condition in `interview_list()`.
0.5.45 not secure
Added - The `backup` directive under `db`. Fixed - Problem converting some types of interview answers to JSON.
0.5.44 not secure
Fixed - Cron job was overtaxing the SQL server. - `does_verb()` used the wrong tense.
0.5.43 not secure
Added - Ability to pass keyword parameters to the `show()` method of a template. Fixed - Problem with object storage cache invalidation.
0.5.42 not secure
Fixed - Problem unpickling from 2.7.
0.5.41 not secure
Fixed - Problem with the Playground API using the Templates folder. - Playground API did not support projects other than the default project. - HTML typo that was introduced in 0.5.40. - Problem unpickling from 2.7.
0.5.40 not secure
Added - The `button style` Configuration directive. - The `disable analytics` option under `features`. Fixed - The LDAP login feature was not compatible with the new version of the `python-ldap` package.
0.5.39 not secure
Changed - Multi-server syslog system improved. - `objects_from_file()` now accepts `DAFile` and related objects. Fixed - Problem with `DAStore` being used with the API. - Logrotate not rotating all files.
0.5.38 not secure
Changed - Testing scripts now support the `aloe` package as an alternative to `lettuce`. Fixed - Web sockets logs not sent to syslog. - `RABBITMQ` and `REDIS` not overridden when `ENVIRONMENT_TAKES_PRECEDENCE` is true. - Reverted change made in 0.5.37 regarding HTML codes.
0.5.37 not secure
Added - Method of initializing admin e-mail and password through volume mount. - The `collect statistics` Configuration directive. Changed - External PostgreSQL database created if it does not exist. Fixed - Dependency on `mod_wsgi` caused problems when upgrading. - HTML codes non-printable in dropdown lists. - Potential problem with too-short RabbitMQ heartbeat.
0.5.36 not secure
Fixed - Exceptions raised by syslog calls were not trapped. - Problems with restarting server in multi-server configuration.
0.5.35 not secure
Changed - The "remember me" feature removed. Fixed - Deleted or renamed playground modules not culled from Python installation. - Content of new file in Playground lost if filename blank. - Erroneous `session` parameter added to result of `interview_url_action()` if `i` specified.
0.5.34 not secure
Fixed - Erroneous dependency on `pkg-resources` in `docassemble.base` for Python 2.7.
0.5.33 not secure
Changed - All Python dependencies have version numbers explicitly indicated. - Backend server health check tests for completion of initialization. - The `websockets ip` Configuration directive no longer defaults to localhost. Fixed - Better handling of Markdown when passing values to a DOCX file directly. - Ordinal functions now accept arbitrary keyword arguments. - Some phrases for translation not detected. - The `verbatim()` function did not escape formatting characters in some circumstances.
0.5.32 not secure
Added - `ENVIRONMENT_TAKES_PRECEDENCE` Docker environment variable. - The `use minio` Configuration directive. - Added `account_type` as a response from `get_user_info(). Changed - Improved backup and logging in multi-server configuration. - Any `admin` can upgrade or downgrade packages. Fixed - The `subtitle` did not work with `set_parts()`. - 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 not secure
Added - Ability to use `code` in `content file` specifiers of `template`s and `attachment`s. Changed - When `labels above fields` is used, the input element will now be wrapped in a `<div>` with CSS class `dafieldpart`. - Server-side validation errors are now scrolled to when the screen loads. Fixed - Broken link to variables and values on error page.
0.5.30 not secure
Fixed - Free disk space indicator not compatible with Python 2.7.
0.5.29 not secure
Added - Ability to download all log files as a ZIP file. - Free disk space indicator on Configuration page. Fixed - Problem with Google Drive Sync and zero-byte files.
0.5.28 not secure
Fixed - Problem with NGINX and `POSTURLROOT`.
0.5.27 not secure
Fixed - Problem with session deletion.
0.5.26 not secure
Changed - Limited data retrieved by Google address autocomplete feature. Fixed - NGINX configuration omitted `POSTURLROOT`.
0.5.25 not secure
Changed - Configuration page now shows a listing of errors in the Configuration, if there are any. Fixed - Error with URLs to cloud-hosted files.
0.5.24 not secure
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 not secure
Added - Additional cache invalidation headers.
0.5.22 not secure
Added - The `/api/fields` endpoint. - The `use cloud urls` directive in the Configuration. Fixed - Miscellaneous problems with ajax field type. - Syntax with Let's Encrypt renewal not compatible with all configuration types. - Problem with obtaining JSON version of `question` where `js show if` is in use. - Unnecessary saving of interview answers with the wrong encryption.
0.5.21 not secure
Fixed - Error when Playground project name matched name of a Playground package.
0.5.20 not secure
Fixed - Problem with office task pane. - Problem with YAML in field scanner in utilities. - Problem with `endpoint url` option.
0.5.19 not secure
Fixed - Problem with background tasks and uploads.
0.5.18 not secure
Added - Projects system in the Playground. - The `verbatim()` function.
0.5.17 not secure
Added - An option for assembling text files by setting `raw: True` under `attachment`.
0.5.16 not secure
Added - Custom `datatype` feature. Fixed - Session-related bug. - Thumbnail generation bug. - Image icon problems. - External URLs calculated inconsistently.
0.5.15 not secure
Added - The `css class` screen part. - The `allow anonymous access` Configuration directive. Fixed - Session-related bug.
0.5.14 not secure
Fixed - Markdown of single-column `table`s not recognized.
0.5.13 not secure
Added - The `use_objects` option for `objects_from_file()` - The `use objects` option for `objects from file`. Changed - The `objects_from_file()` function and the `objects from file` block now support JSON files as well as YAML files. Fixed - Transitional error related to session upgrade.
0.5.12 not secure
Changed - Users can run multiple sessions in different browser tabs. - The `i` URL parameter is required for any endpoint that uses the current sesion. - The `DAEmpty` class now supports comparison operators. Fixed - IndexErrors appeared under some circumstances when using actions. - Live Help bug.
0.5.11 not secure
Fixed - Problem with checkbox object initialization inside of `DADict`. - 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 not secure
Added - The `symbol` keyword parameter of `currency()`. - The `currency_symbol` keyword parameter of `set_locale()`. Fixed - Problem with `disable others` when `allow non-idempotent questions` was `False`. - Problem with `reconsider` under certain circumstances. - Error when `command()` used immediately after a file upload. - Error when exporting dates in a table to Excel.
0.5.9 not secure
Fixed - `NoneType` error when using `data` with `use objects`. - Error when non-base64 dictionary keys happened to be valid base64.
0.5.8 not secure
Added - The `delattr` method of the `DAObject` class. Changed - Different behavior when `allow non-idempotent questions` is set to `False`. Fixed - Unpickling errors in `user_interviews()` not trapped appropriately.
0.5.7 not secure
0.5.6 not secure
0.5.5 not secure
Added - The `require gathered` specifier for tables. Changed - Running `.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 restarts. Fixed - Erroneous message about starting new interview was appearing on restart. - 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 not secure
Fixed - The `maximum content length` was being superseded by a NGINX content length limiter. - Word add-in bug.
0.5.3 not secure
Added - The `exit url` specifier under `metadata`.
0.5.2 not secure
Fixed - S3 error.
0.5.1 not secure
Fixed - `get_question_data()` and related functions raised exception. - Let's Encrypt renewal error.
0.5.0 not secure
Added - The `advance_progress_meter` option for the `/api/session` POST API endpoint. - The `DAWEBSERVER` Docker environment variable and the `web server` Configuration directive. - The `S3ENDPOINTURL` Docker environment variable and the `endpoint url` Configuration directive under `s3`. Changed - 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. - The `get_session_variables()` and `set_session_variables()` functions use the current user's decryption key by default.
0.4.80 not secure
Fixed - Setting of `__version__` in Python 2.7 raised Unicode error. - Back button after action in URL repeated the action. - The `progress` value was missing from the JSON representation of the question.
0.4.79 not secure
Added - The `SQLObject` class. - The `input type` called `ajax`. - The `paragraphs` Jinja2 filter. Changed - The `__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 `git merge` to merge changes, which means it might fail if a commit would overwrite changes. - The Playground packages folder now allows for committing to a new remote branch. Fixed - Incorrect behavior during initial visit to `/interview` when interview uses unique sessions. - Interview advanced a step despite `validation code` raising an exception.
0.4.78 not secure
Added - The `features` option `labels above fields`. Fixed - Errors with `sessions are unique` and `required privileges`.
0.4.77 not secure
Added - The `enable playground` Configuration directive. Changed - The behavior of the `label` option of `list collect` no longer prints text before `1.`, `2.`, etc. Now the `label` supplies the whole label for the item, and it can include the number by way of the index variable. Fixed - The `list collect` feature raised an exception when the field definition included Mako substitution. - Non-required upload fields were creating zero-byte files on some servers.
0.4.76 not secure
Changed - The syslog-ng server is now started after the web server. Fixed - Unhelpful error message when there was an interview parsing error. - `DAStaticFile` objects not being included in DOCX files correctly.
0.4.75 not secure
Added - The `administrative interviews` Configuration directive - The `sessions are unique`, `required privileges for listing`, and `hidden` specifiers under `metadata`. Changed - The `words` system no longer uses code names like `pdf_message` and `save_as_multiple`. - The `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 `/list`. Fixed - Passing an asterisk in a list to Flask-CORS resulted in a regular expression error. - Not all Flask packages accept integers as the `PERMANENT_SESSION_LIFETIME`.
0.4.74 not secure
Fixed - The `undefine()` function did not always find the interview answers.
0.4.73 not secure
Added - Support for noun pluralizing and verb conjugation in Spanish, French, Italian, German, and Dutch. - Additional methods for `DAOAuth` objects. Changed - The output of the `interview_menu()` function, the `/api/list` endpoint, and the `/list?json=1` endpoint now include interview metadata. - The `undefine()` function now accepts multiple variables names. Fixed - `DAObject`s that are attributes of `DAList` items had their `instanceName`s rewritten when the parent list was altered. - When an object that was already defined was edited using `fields` with `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 not secure
0.4.71 not secure
Changed - API for making user accounts inactive now supports permanent deletion. - API for setting variables now supports initializing `DAObject`s. - Multiple choice options specified with code can be specified with lists of tuples. Fixed - Missing system phrase used in input validation.
0.4.70 not secure
0.4.69 not secure
Fixed - Unnecessary file cache invalidation affected Playground performance when using cloud storage. - Incorrect method of setting Debian timezone.
0.4.68 not secure
Added - The `/api/resume_url`, `/api/temp_url`, `/api/config`, `/api/package`, and `/api/package_update_status` API endpoints. - The `expire` and `session` parameters of `/api/login_url`. - The `hook_on_gather()` and `hook_after_gather()` methods of `DAList`, `DADict`, and `DASet`. Fixed - Bug in the `complete_elements()` method of `DADict`. - Incomplete support for editing lists that have `auto_gather` turned off.
0.4.67 not secure
Added - The `confirm` option for table editing. Changed - The "Select..." option on a dropdown is omitted when the field is required and a default value is selected. Fixed - The `keys()` method of `DADict` was removed when `keys` included in constructor. - The language did not switch unless it did not match the default language. - Restart buttons did not work from `event` screens.
0.4.66 not secure
Changed - Allow sending multiple invite e-mails at once. Fixed - Canceling phone live help availability failed. - The 404 error from `/interview` did not use the 404 template.
0.4.65 not secure
Fixed - Erasing phone number in Monitor raised an error. - OneDrive synchronization error.
0.4.64 not secure
0.4.63 not secure
Added - The `/resume` endpoint. Fixed - Unpickleable object added to the document cache in the internal variables.
0.4.62 not secure
Added - The `temporary` and `once_temporary` options to the `interview_url()` and related functions. Fixed - Too many monitor connections led to SQL error. - Some functions did not work in actions.
0.4.61 not secure
Added - The `set_status()` and `get_status()` functions. Changed - Disabled `pip` cache. - Restored pre-0.4.55 behavior allowing Mako in multiple choice values.
0.4.60 not secure
Changed - More robust Docker scripts. Fixed - Error with cloud cache.
0.4.59 not secure
0.4.58 not secure
Changed - CORS headers now handled by Flask rather than Apache. - The `cross site domain` Configuration directive is renamed to `cross site domains` and the value must be a list. - Removed the `CROSSSITEDOMAIN` Docker environment variable. - More frequent deletion of temporary files.
0.4.57 not secure
Added - The `explain()`, `clear_explanations()`, and `explanation()` functions. Fixed - Problems with Google sign-in on Python 3.
0.4.56 not secure
Added - The `initializeObject` method of `DAList`. Fixed - Error gathering `DAList` of `datatype: checkboxes` items. - Error when using `default` and `list collect`. - Errors with `DAStore`.
0.4.55 not secure
Added - The `DAStore` object. Changed - Mako no longer allowed in non-label items of `choices` or `buttons`. - If `backup days` is `0`, no daily backups will be done. Fixed - Error when `dialects` enabled under `voicerss`.
0.4.54 not secure
Added - The `language map` directive under the `voicerss` Configuration directive. Changed - Renamed `languages` under the `voicerss` Configuration directive to `dialects` (with backwards compatibility). Fixed - `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 not secure
Added - Jinja2 filters `markdown` and `RichText`. Changed - Ampersand correction for DOCX now happens in Jinja2 even if pipe already used. Fixed - The `hint` was missing from the data representation of a field. - The `note` and `html` were missing from the data representation of a field when not standalone. - Group editing did not work with non-object lists and dictionaries. - Buttons on `message()` screens did not work.
0.4.52 not secure
0.4.51 not secure
Changed - Added the `initial` option for `update on start`. - Using a different mechanism for restarting servers after a software update. Fixed - LibreOffice failing when multiple instances of LibreOffice run simultaneously.
0.4.50 not secure
Added - The `update on start` Configuration directive. - The `expose websockets`, `websockets ip`, and `websockets port` Configuration directives. Changed - The `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 `/`. - The `/api/session` POST API endpoint will now convert dates to `DADateTime` objects, unless the `raw` parameter is `1`. Fixed - Triple spacing in RTF documents. - Flask route ambiguity with `/api/user/new`.
0.4.49 not secure
Changed - Revised the CSS classes for error messages. Fixed - Word add-in did not work for servers with a `root` other than `/`.
0.4.48 not secure
0.4.47 not secure
Added - Option for `'link'` style buttons with `action_button_html()`. Fixed - Some types of `fields` gave errors with `list collect`. - Error re `UserModel`.
0.4.46 not secure
Fixed - Recursion error with `capitalize()` function. - A CSS class was called `vspace` instead of `davspace`. - Multiple choice options not included in translation spreadsheets.
0.4.45 not secure
0.4.44 not secure
0.4.43 not secure
Added - The `tag` parameter for `/list`, `/api/list`, and `interview_menu()`. - The `DAContext` object and the `use objects` option for the `data` and `data from code` blocks. Fixed - HTML error when `hide standard menu` is in use.
0.4.42 not secure
Changed - Many CSS classes and IDs renamed and given the `da` prefix. Fixed - Errors with SMS interface. - Subclasses of `DAList` were not allowed in `list collect`. - Inefficiency with `last_access_time()`.
0.4.41 not secure
Added - The `get_docx_variables()` method of `DAFile` and other file objects. Fixed - ProxyFix settings for Docker containers behind reverse proxies.
0.4.40 not secure
Fixed - Python 2.7 error.
0.4.39 not secure
Fixed - Variables could not be converted to JSON where `None` used as dictionary key. - Compile errors due to unused non-Python-3-compliant code in copy of rtfng. - Playground package description formatted as text area, which resulted in newlines that caused problems when uploading to GitHub.
0.4.38 not secure
Added - The `single_to_double_newlines()` function. - The `get_pdf_fields()` method of `DAFile` and other file objects. - The `playground examples` directive in the Configuration. - The `new markdown to docx` directive in the Configuration. Changed - 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. Fixed - Python 3.5 error in utility function for Azure Blob Storage.
0.4.37 not secure
Fixed - Error affecting Python 2.7.
0.4.36 not secure
0.4.35 not secure
Added - The `translations` block and the interview phrase translation file download utility.
0.4.34 not secure
Changed - Downgraded s3cmd.
0.4.33 not secure
Added - `XSENDFILE` Docker environment variable. Changed - API will now process JSON as well as form-data. - By default, `xsendfile` will be set to `False` in the initial Configuration if `BEHINDHTTPSLOADBALANCER` is true. Fixed - New version of ProxyFix not called with arguments for processing HTTP scheme.
0.4.32 not secure
Added - The `as_df()` method of a table. - The `segment`, `segment id`, and `ga id` specifiers. - The `log format` Configuration directive. - German translations. Changed - Upgraded s3cmd. Fixed - Error when reading log files in multiple server configuration in Python 3.
0.4.31 not secure
Fixed - Errors with `read_qr()`.
0.4.30 not secure
Added - The `editable mimetypes` and `editable extensions` configuration directives. Changed - The `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. Fixed - Problem with `write()` method of `DAFile`. - Problem with creating packages when author not defined. - Problem with `source_code` when `debug` mode not in effect.
0.4.29 not secure
Added - The `.size_in_bytes()` method for `DAFile`. Fixed - Python3 could not write to S3.
0.4.28 not secure
Added - Portuguese translations. Fixed - Swagger-generated setup.py files in ZIP files could not be parsed. - Error with gender set to "other"
0.4.27 not secure
Added - The `list collect` feature for allowing users to add multiple items of `DAList` on one screen. Fixed - GitHub error with packages that have dependency packages with null attributes.
0.4.26 not secure
Fixed - Enter key caused browsers to press the `question back button`. - Newest version of `textstat` not compatible with Python 2.7.
0.4.25 not secure
Changed - When using Google Drive Sync, deleting file from Playground now permanently deletes file from Google Drive, rather than send it to the Trash. Fixed - KeyError during initial GitHub repository creation. - Exception could be raised if docstring in a dependency module was bytes. - Methods not appearing in Playground sidebar in Python 3. - File uploads failing in Internet Explorer.
0.4.24 not secure
Added - The `maximum content length` configuration directive. - The `image upload type` configuration directive, feature, and field specifier. Fixed - Error in `log` service. - A long interview title could cause wrapping in the navigation bar on mobile.
0.4.23 not secure
Added - The `progress bar multiplier` and `progress bar method` features. Changed - Embedded blocks can use generic objects and iterators. - Help buttons are now "info" color instead of "secondary" color. Fixed - Error when uploading files through the API. - Error resulting from `add_action()` under some circumstances.
0.4.22 not secure
Fixed - Section setting error.
0.4.21 not secure
Added - The `nav.hide()`, `nav.unhide()`, and `nav.visible()` methods. Fixed - 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 not secure
0.4.19 not secure
Added - The `only sets` modifier. Changed - The `allow non-idempotent questions` specifier in `metadata` was removed and replaced with a Configuration directive. - The `allow non-idempotent questions` Configuration directive is set to `False` by default in the default Configuration. This will affect new servers but not existing servers. - The API validation `Referer` constraint checks against the `Origin` if there is no `Referer`.
0.4.18 not secure
Added - Fullscreen option for code editing. Fixed - Python 3 errors during GitHub integration process.
0.4.17 not secure
Added - The `python packages` Configuration directive and the `PYTHONPACKAGES` Docker environment variable. Fixed - Error when updating references in .docx file. - `object_type_repr` error raised from Jinja2. - `filter()` returning zero elements from non-empty list caused re-gathering. - Dueling `uncheck others` fields had wrong CSS after unchecking. - Thumbnails for .docx files. - Blanking of dates in Firefox on blur.
0.4.16 not secure
Fixed - Playground packages copied to wrong location on Python 3.
0.4.15 not secure
Fixed - LuaLaTeX was not properly being detected.
0.4.14 not secure
Fixed - LibreOffice initialization encountered circularity.
0.4.13 not secure
Changed - The `none of the above` specifier can be used with `datatype: object_radio`. - The `docassemble.base.util` is now loaded by default. - Switched to LuaLaTeX for better Cyrillic support. Requires server restart.
0.4.12 not secure
Added - The `allow reordering` specifier in `table`. Fixed - Unicode problem reading S3 keys as strings.
0.4.11 not secure
Added - The `error action` specifier in `metadata`.
0.4.10 not secure
Added - The `tagged pdf` option for `docx template file` document assembly. Changed - The `pdf/a` options now create PDF/A documents directly with LibreOffice. - The `comma_list()` and `comma_and_list()` now work with a wider variety of iterables.
0.4.9 not secure
0.4.8 not secure
Changed - Upgraded Font Awesome to 5.7.2.
0.4.7 not secure
Fixed - Unicode problem with user names. - Unicode problem with OCR. - SQL concurrency problem with row updates. - The `instanceName` on file uploads.
0.4.6 not secure
Changed - The `error help` metadata specifier now accepts a dictionary of language codes and messages. Added - The `verbose error messages` configuration directive. Fixed - Unicode problem with Markdown documents. - Deep copy error with `get_question_data()`.
0.4.5 not secure
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 re-evaluated. - Back button embedded in question is now "link" style. Added - The `subject_as_html()` and `content_as_html()` methods of objects generated from a `template`. - The `hide navbar` feature. - The `js_target` URL parameter for embedding the **docassemble** interview into an element on another web site. - The `gathered_and_complete()` method of the `DAList` and `DADict`. Fixed - Error logging in with Auth0 in Python 3. - The `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 not secure
Added - The `convertapi secret` configuration directive. - API endpoints for listing and deleting Playground files. Fixed - JSON serialization with unusual dict keys. - Screen scrolling problem in Playground folders.
0.4.3 not secure
Added - The `string_types` and `PY2` names, imported from the `six` package. - The `allow non-idempotent questions` specifier in `metadata`. Changed - The `post` screen part is now positioned below the `right` screen part on small screens. Fixed - The screen parts feature was not fully implemented and documented. - The `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 `'None'` instead of being ignored.
0.4.2 not secure
Added - Additional SQL indexes. - The `default screen parts` block. - The `required privileges` specifier in `metadata`. Changed - The `set_title()` function was renamed to `set_parts()` and now supports setting any screen part. Fixed - Error with OCR. - Error with screen reader. - Error with `concatenate_files()`. - The current section when showing a `nav` in a question was not always current. - Wrong formatting of subsections in sections sidebar under some circumstances.
0.4.1 not secure
Added - Placeholder CSS classes for customization. - Support for alternative Redis ports and database offsets.
0.4.0 not secure
Added - The `DAPYTHONVERSION` Docker environment variable. - The `text_type()` function. Changed - The system is now compatible with Python 3.5. - The `subdivision_type()` algorithm was improved. Fixed - The update script failed under some circumstances due to a SQL error.
0.3.36 not secure
Fixed - Not all login methods were redirecting the user back to the interview when they should have.
0.3.35 not secure
Added - The `resume interview after login` configuration directive. Changed - The `/api/session` API endpoint and the `set_session_variables()` function now accept the `event_list` parameter and can get past `force_ask()` diversions. - More robust code injection detection mechanism. Fixed - Unicode error with certain Spanish numbers.
0.3.34 not secure
Added - Customizability of standard validation messages using the `validation messages` field modifier or the `default validation messages` block. - Option to `.geolocate()` method to populate attributes of `Address` using a single-string address. - Options for setting `alt_text` using `[FILE]`, `[QR]`, `.show()`, and the `.alt_text` attribute on `DAFile` or `DAStaticFile`. - The `.set_alt_text()` and `.get_alt_text()` methods of file objects. - The `template password` option for `pdf template file` (new `docker run` required). Changed - Upgraded Pandoc to version 2.5.1 (new `docker run` required). - UI changes for keyboard navigation of sections. Fixed - 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 not secure
Changed - API calls can be authenticated with an `X-API-Key` cookie or HTTP header. - API responses contain CORS-friendly HTTP headers. Fixed - JSON error when running `ocr_file_in_background()`. - XML error when assembling DOCX files.
0.3.32 not secure
0.3.31 not secure
Changed - Additional information added to data representation of question. - HTML more standards-compliant for accessibility. Fixed - 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 stop` and `docker start`. Alternatively, `docker exec` into the container and run `supervisorctl restart watchdog`.
0.3.30 not secure
Added - The `/api/login_url` API endpoint. - The `/api/user_info` API endpoint. Changed - The `/api/user/new` API endpoint will now create a random password if a password is not provided. Fixed - The `/api/user/new` API endpoint used `email` when the correct parameter is `username`.
0.3.29 not secure
Added - The `question_name` option for the POST method of the `/api/session` API endpoint and the `set_session_variables()` function. Fixed - Unicode error from `/api/secret`.
0.3.28 not secure
Added - The `accept` specifier for `datatype: file` fields. - The `create_user()` function. - The `/api/user/new` endpoint.
0.3.27 not secure
Changed - Table edit attribute names treated as "follow up" actions.
0.3.26 not secure
Changed - Reverted `reconsider()` to 0.3.24 version.
0.3.25 not secure
Changed - Exception raised if unsafe filename used for a `DAFile`. Fixed - Problem with caching of stand-alone `attachment` blocks.
0.3.24 not secure
Added - The `inline` keyword parameter for the `url_for()` method. - The `describe()` method of the output of `date_difference()`. Changed - The result of `date_difference()` when reduced to text now runs the `describe()` method instead of stating the number of days. - The `space_to_underscore()` function now uses `werkzeug.secure_filename()` and replaces more than just non-ASCII characters and spaces. Fixed - Error in `.export()` method of tables.
0.3.23 not secure
Added - The `get_question_data()` function. Fixed - Error from Playground sidebar for interviews using `imports`.
0.3.22 not secure
Added - Insertion of PDF files into DOCX files. - Links in Playground sidebar to source code on GitHub. Changed - Data representation of a question now includes plain attachment file numbers. Fixed - Not all thread local variables were reset before request. - Unicode error when exporting README. - Azure Blob storage missing content type.
0.3.21 not secure
Added - The `object labeler` option in `fields`.
0.3.20 not secure
Added - The `exclude_privileges` keyword parameter of the `last_access_time()` function and related functions. Changed - The `/api/user_list` API method and the `get_user_list()` function now return a user's privileges under a dictionary key called `privileges`. Previously the key `roles` was used. Fixed - The `update()` and `has_key()` methods of `DADict` did not work. - Multiple `template`s on a screen using iterators did not work correctly. - Browser back button sometimes required two clicks to go back one step. - Unhelpful error when uploading invalid file type to Wizard. - Temporary PDF files accumulating in `/tmp`.
0.3.19 not secure
Added - The `DAOrderedDict` class. Changed - Protections against adding non-modules to Modules folder. - Keep memory of visited sections when the available sections change. Fixed - Visiting `/user/sign-in` or `/user/register` while being signed in will now redirect to the `auto resume interview`, if any.
0.3.18 not secure
Fixed - Unicode error in text to speech engine.
0.3.17 not secure
Added - The `.show(editable=False)` option for tables. - The `include_dict` option for `interview_list()`. - The `formatted_unit()` method for `Address`. Changed - Icons on the User List page highlighting users with special privileges. - Admin users cannot take away their own admin privilege. - Admin users cannot disable their own accounts. Fixed - Validation error messages in admin pages were black when they should have been red. - Typo in `.add_action()` method for `DADict()`. - Error during `.export()` because `pandas` erroneously requires a nanosecond attribute in dates. - Error in `instanceName` guessing in the context of a function.
0.3.16 not secure
Added - The `export()` method of tables.
0.3.15 not secure
Added - The `overlay_pdf()` function.
0.3.14 not secure
Added - The `.filter()` method of the `DAList` class. - The `mmdc()` function for generating diagrams and flowcharts with mermaid. Requires system upgrade.
0.3.13 not secure
Added - "Sync and Run" button in the Playground.
0.3.12 not secure
Fixed - Problem with `value()` using a variable as an iterator.
0.3.11 not secure
Added - The `/api/playground` file upload feature.
0.3.10 not secure
Added - The `page after login` feature.
0.3.9 not secure
Added - The `allow for`, `required for`, `allow sms`, and `allow app` options of `two factor authentication`. - The `progressive` option for `sections`.
0.3.8 not secure
Added - The `backup days` configuration directive. Fixed - The `word()` function did not work on words with non-ASCII characters. - 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 not secure
Fixed - Error importing `textstat`.
0.3.6 not secure
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." Fixed - Problem with editing lists where the `complete_attribute` is not defined by a `code` block. - No proper error message when a non-text string is used as a variable name in `fields`. - Problems with locking-related changes from 0.3.5. - Admin users were allowed to give `admin` privilege to users with social logins. - Python error in cron.py.
0.3.5 not secure
Added - The `edit_url_only` and `delete_url_only` parameters to the `item_actions()` methods. - The `url_only` parameter to the `add_action()` method. - The `url_ask()` and `action_button_html()` functions. Changed - A `message` parameter to `add_action()` is now passed through `word()`. - Removed the new feature from 0.3.3 where interview answers are saved before a `leave`. - Different method of locking while copying playground modules. Fixed - Percent signs in `number` fields may have avoided validation. - Database access for chat log not protected by locking.
0.3.4 not secure
Fixed - Links not appearing in the inline navigation bar. - Toggle button not present in the vertical navigation bar.
0.3.3 not secure
Added - The ability to set a `read only` attribute on a `table` to indicate that some rows cannot be deleted or edited. Changed - Editing a table will cause the definition of the `complete_element` attribute, if any, to be recomputed after the `edit` attributes are sought. - Interview answers saved before a `leave`. - Background task callbacks that raise exceptions will no longer save interview answers. Fixed - Dependencies not being properly scanned from `setup.py` files. - 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. - The `get()` method of `DADict` did not work. - Random errors where dictionary cannot be retrieved (potential fix). - The `minimum_number` feature introduced in 0.3.2 did not work on `table`s based on `DADict` objects. - Elements could not be added through `add_action()` when the list was empty. - The `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 not secure
Changed - Using `table` with a `DADict` now sets `row_index` to the key and `row_item` to the value, and `DADict`s can be edited using tables. - No delete buttons on a `table` when deletion would cause the number of items to fall below `minimum_number`. - The `edit` option on a `table` can now use reference indices as well as attributes. - The default `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. Added - The `delete buttons` option when using `edit` on a `table`. - The `only_if_empty` option on the `reset_gathered()` method. - The `slice` method of the `DADict` class. - The `re_gather` attribute of groups to `basic-questions.yml`. - The `follow up` option in a `review` block `fields`. - The `reconsider()` function. - The `preloaded modules` configuration directive. - The `action_button_html()` function. Fixed - URL for restarting interview session conflicted with another URL when user logged in. - `table`s 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 spinner. - 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 not secure
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 `review` block. Fixed - Aliased template variables generated pickle errors.
0.3.0 not secure
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 changes. - Setting a `minlength` on a `datatype: checkboxes` field turns off the "None of the above" item.
0.2.102 not secure
Changed - LibreOffice upgraded to version in jessie-backports. Added - Options for `new_session` and `exit_logout` under buttons, `command()`, and `url_of()`. Fixed - Logging in with e-mail and password where e-mail already used for a social login generated an exception.
0.2.101 not secure
Changed - The `.copy_into()` method of `DAFile` now accepts `DAFile`, `DAStaticFile`, `DAFileList`, and `DAFileCollection` objects as the argument, as well as the direct file path of the other file. Fixed - Problem with converting to PDF after `update references` for some tables of contents. - The `.copy_into()` and `.from_url()` methods now update PDF and image information after the file contents change.
0.2.100 not secure
Added - The `forget_result_of()` and `re_run_logic()` functions. - Additional test interviews. Changed - `note` and `html` can now be used to insert text in the right column, along side a field. Fixed - The `minlength` and `maxlength` modifiers did not work on `checkboxes`. - The `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 not secure
Added - The `back button` and `back button label` modifiers. - The `show login` directive in interview `metadata`.
0.2.98 not secure
Fixed - Error in Word manifest XML file.
0.2.97 not secure
0.2.96 not secure
Added - Integration between Microsoft OneDrive and the Playground. - The `debug` directive inside `features`. Changed - Upgraded Font Awesome to 5.3.1.
0.2.95 not secure
Added - The `update references` setting on `attachment`s.
0.2.94 not secure
Added - The `redact()` function and `redact` option on `attachment`s. Changed - The `template` and `table` blocks now become `DALazyTemplate` objects rather than `DATemplate` objects. Their contents are evaluated at the time they are reduced to text, not at the time they are created. Fixed - Problem with `currency()` and other functions when used from a `docx template file` where undefined variables did not raise exceptions. - The `create_new_interview()` function caused unnecessary 4 second delay. - Users with `user` privileges could not access API key management. - The `interview_url()` function was returning a URL based on how the current request was made, rather than the actual URL for getting to an interview.
0.2.93 not secure
Fixed - Problem with `DATemplate` variables with string indices.
0.2.92 not secure
Added - The `show progress bar percentage` feature. Changed - The `background_response()` function can be called using `background_response('refresh')` to refresh the user's screen.
0.2.91 not secure
0.2.90 not secure
Fixed - Problem with checkboxes inside a `show if`.
0.2.89 not secure
Changed - The `variables_as_json()` function now accepts `include_internal` as a keyword parameter. - The `variables_as_json()` function now produces pretty-printed JSON output. - Only ordinary users will see flash messages about switching to a different interview. Fixed - 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 internal dictionary.
0.2.88 not secure
Fixed - The recent version of WTForms is incompatible; set to 2.1. - The `simplify` parameter of `get_session_variables()` was fixed to `True`.
0.2.87 not secure
Changed - Moved interview HTML into a `<div>` to provide compatibility with add-ons.
0.2.86 not secure
0.2.85 not secure
Fixed - Problem with screen reader flagging help text with Markdown formatting as a defined term. - Problem with Internet Explorer passing through commas in numeric values.
0.2.84 not secure
Changed - Word processing files and text files can now be included in documents in the same way that images can. - Reducing a `DAFileCollection` to text no longer attempts to show all versions in the collection, but only includes one.
0.2.83 not secure
Changed - Playground UI highlights most recently edited files. Fixed - Writing to `DAFile`s.
0.2.82 not secure
Changed - Some exceptions raised by Jinja2 will now be accompanied by a snippet of document context. Added - Initial support for Travis CI deployment. - Method `.slurp()` for `DAFileList`. Fixed - Setting of text fields to `None` when the value is the string `"None"`. - 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 to PDF. - Addresses that normalize without a street address.
0.2.81 not secure
Changed - Interviews are now served from `/interview` rather than `/`. This 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. Added - The `root redirect url` Configuration directive. - The `include_internal` parameter of `all_variables()`. - Warning if `mandatory` is used on a block that does not support the `mandatory` modifier. Fixed - Missing unique IDs for API calls. - HTML typo in Logs page.
0.2.80 not secure
Added - The `/me` resource with information about the user. Changed - JSON returned by API and `/vars` is now pretty-printed. - Referencing a non-existent section no longer triggers an error.
0.2.79 not secure
Changed - The `append` method to the `DAList` class now accepts an optional keyword argument `set_instance_name`. Fixed - Any package name starting with `base` or `demo` was being blocked when `allow demo` was not set to `False`.
0.2.78 not secure
Added - The `index()` method of the `DAList` class. Changed - File uploads are now at the top of the screen in Playground folders. Fixed - Problem with `datatype: checkboxes` and `show if`.
0.2.77 not secure
Fixed - The `post` HTML was missing on signature pages. - The `value()` function was not working properly.
0.2.76 not secure
Fixed - Possible fix for "group by" SQL error in `user_interviews()`.
0.2.75 not secure
Added - The `step` option for `datatype: number` and `datatype: currency`. Changed - Fields with `datatype: number` are no longer limited to two decimal places. Fixed - The "exit" command was logging the user out.
0.2.74 not secure
Added - The `error help` configuration and metadata directives. - The `.copy_shallow()` and `.copy_deep()` methods of `DAObject`s. Changed - Error e-mails now attempt to attach the interview variables as a JSON file. Fixed - Error in cron about missing `session_uid`. - Auth0 login was erroneously enabled by default.
0.2.73 not secure
0.2.72 not secure
Fixed - Error message when publishing to PyPI. - Unicode error in YAML dump.
0.2.71 not secure
0.2.70 not secure
Changed - Calls to `force_ask()` and calls to actions now result in more persistent variable seeking. - Improved editing of lists. Fixed - Using `show if` with `datatype: file`. - Using `show if` with a value of `0`.
0.2.69 not secure
Fixed - Section headers with hyperlinks. - Google Drive with a large number of files.
0.2.68 not secure
Fixed - Problems with Google Drive timestamps when cloud storage in use. - Invalid use of echo in Dockerfile.
0.2.67 not secure
Changed - When a non-text field is not required, and the user does not provide a value, the variable will be set to `None`. - Required field markers show differently in some contexts. - Additional log messages for Google Drive. Added - New Debian dependencies `ttf-mscorefonts-installer`, `fonts-ebgaramond-extra`, `ttf-liberation`, and `fonts-liberation` in Docker. Fixed - Problems with Google Drive initial set-up.
0.2.66 not secure
Changed - Code editing boxes are now sized relative to screen size.
0.2.65 not secure
Added - Login via Auth0. Fixed - Better error handling after uploads. - Better error handling during software updates.
0.2.64 not secure
Added - Feature for uploading files through dataurls to the Template Folder of the Playground. Changed - Comboboxes now accept free text input. Fixed - PDF bookmarks restored after inserting images.
0.2.63 not secure
Added - The `error notification email` configuration option. Fixed - Error with PDF fields and signature overlay.
0.2.62 not secure
Added - JSON interface to the "Variables, etc." and list of Playground files. Fixed - Error during invitation and registration.
0.2.61 not secure
Changed - The `disable others` directive now accepts a list of fields. - Most natural language functions now accept an optional keyword parameter `language`. - The `country` and `subdivisionfirst` database fields have longer allowable lengths. - Additional system phrases are translatable.
0.2.60 not secure
Fixed - Error on registration page.
0.2.59 not secure
Added - Horizontal navigation bar option. - Option for disabling the `pip` cache when installing a package. - The `validation_error()` function and the `DAValidationError` error type. Changed - The `interview_list()` function now returns `temp_user_id`. Fixed - 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 users. - Visiting registration page while logged in did not redirect to My Interviews page. - An inappropriate error was raised about `validate` input validation functions for certain input types and values.
0.2.58 not secure
Added - Version number on the Package Management page. Fixed - Problem with checkboxes inside of `show if`. - CSS problem with the "required" asterisk.
0.2.57 not secure
Added - The `validation_error()` function. - The `num_pages()` method on `DAFile`, `DAFileList`, and `DAFileCollection` objects. Changed - On the mobile `signature` page, the "Clear" button is replaced with a "Back" button. - Python `validate` code now works on document uploads. Fixed - The `question back button` was missing from the buttons on the desktop `signature` page. - Problem with spacing of the `question back button` next to other buttons.
0.2.56 not secure
Changed - The `min` and `max` field modifiers on `datatype: date` fields now accept a wider range of date formats.
0.2.55 not secure
Changed - The `DACloudStorage` object can now be initialized to use Configuration directives other than `s3` and `azure`. - The `min` and `max` field modifiers now work with `datatype: date`. Added - The `slurp()` method for `DAStaticFile` objects. - Support for editing HTML and other text file formats in the Static Files folder of the Playground. Fixed - List of branches in pull-down cut off at a certain length. - Live Help had problems with encryption. - Missing help button on `field` with `choices`.
0.2.54 not secure
Fixed - Bug in `set_info()`.
0.2.53 not secure
Changed - Social logins now populate first and last name in the user profile. - The `all_variables()` function now has an optional keyword argument `special` that returns information about an interview that is not stored in the variables. Added - Support for `long_description` in setup.py files. Fixed - Update button in `/updatepackage` reverted package to `master` branch. - Unicode problem in `/logs`.
0.2.52 not secure
Fixed - The setup.py file for `docassemble.webapp` did not depend on particular versions of `docassemble.base` and `docassemble`.
0.2.51 not secure
Changed - The `advocate` privilege grants access to see user information using the API. - The `interview_list()` function and `/api/interviews` API now act upon interviews of anonymous users. Fixed - Questions not centered on screen when navigation bar in use but empty. - Google Places API populating `unit` with `subpremise` and leaving `city` blank.
0.2.50 not secure
Changed - Upgraded user interface from Bootstrap 3.3 to Bootstrap 4.0.0. - Headless Chrome now used by default in `lettuce` tests. Added - The `show dispatch link` Configuration directive. Fixed - Exception triggered by importation of word translation files with YAML errors. - The `indefinite_article()` function used "a" for any capitalized word. - Issue where Chrome extensions interfered with file uploads.
0.2.49 not secure
Fixed - Use of deprecated flag when calling `pip`.
0.2.48 not secure
Changed - The `Address` methods no longer require `.city` to be defined. - The `Address` object and the `address autocomplete` feature now use more of the possible address components of addresses returned by the Google APIs. Fixed - Bug in code for getting temporary URLs to cloud storage.
0.2.47 not secure
Fixed - Problem with quoting glossary terms in HTML.
0.2.46 not secure
Fixed - Bug in new `show if` code.
0.2.45 not secure
0.2.44 not secure
Added - The `analytics id` subdirective of the `google` Configuration directive. Changed - Nested `show if`s are supported. Fixed - Exception caused by mandatory `review` blocks without an `event`, `field`, or `sets`.
0.2.43 not secure
0.2.42 not secure
Added - The `zip_file()` function. - The `allow downloading` modifier. - The `centered` feature. - The `right` question part. Changed - The `allow emailing` modifier now accepts Python code. - Margins in navigation bar. Fixed - Version of `Flask-User`.
0.2.41 not secure
Added - The `DACloudStorage` and `DAGoogleAPI` objects. - The `/api/file/<file_number>` API. - The `delete_variables` option for the POST operation of the `/api/session` API. Changed - Less stringent input sanitation so that Playground files with parentheses can be deleted. - Labels inside buttons will now wrap. Fixed - Escaping of anchor text in `DALink`s.
0.2.40 not secure
Added - The `.complete_elements()` method of `DAList` and `DADict`. Fixed - Removed any dependency on `import pip`.
0.2.39 not secure
Changed - The `review` block can now be used with `field` instead of `event`. - Temporarily removed warning about `content file`. Fixed - Issue with pressing enter causing two screens to submit.
0.2.38 not secure
Added - The `show interviews link` configuration directive. Changed - The user profile link in the menu will always be shown if the user has `admin` privileges. - Different formatting of user list. - Author name and e-mail in "Packages" folder of Playground. Fixed - Problem with `show if` not recognizing `False` value of checkbox yes/no field.
0.2.37 not secure
Added - Example for `user_logged_in()`. - Example for appending a row to a Google Sheet. - The `scale` option for the `range` datatype. Changed - 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. Fixed - Error when registering.
0.2.36 not secure
Added - The `DALink` object type, which allows hyperlinks to be inserted into .docx files. Changed - The `showif()` and `showifdef()` functions can now be configured to return a default value other than the empty string. Fixed - Cron jobs and environment variables. This requires a system reset.
0.2.35 not secure
Changed - Replaced Package Management with the former "Update a Package." Fixed - Issues with unicode.
0.2.34 not secure
Added - The `main page pre`, `main page submit`, and `main page post` configuration directives. - The `pre`, `submit`, and `post` metadata items. Changed - Pressing enter has effect of pressing Continue, even on pages without input elements. Fixed - Issues with unicode.
0.2.33 not secure
Fixed - Problem with using Upgrade button.
0.2.32 not secure
Added - The `ldap login` configuration directive. Using this feature will require a system upgrade (running a new instance), as the `libsasl2-dev` `libldap2-dev` Debian packages are required dependencies of the `python-ldap` Python module.
0.2.31 not secure
Added - Configuration directives `use font awesome` and `default icons`. - CSS support for Material Icons. - The `question help button` feature. - Ability to `label` the help tab. Fixed - 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 not secure
Changed - SVG instead of PNG for images in checkboxes and radio buttons. Fixed - Page layout when side navigation bar in use. - Slow submit time when many checkboxes are used.
0.2.29 not secure
0.2.28 not secure
0.2.27 not secure
Added - The `start_time()` function. - The `package protection` configuration option. Changed - The `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. Fixed - Problem with branch name of new GitHub repository. - Problem with `as_datetime()` converting times to midnight when the argument is already a datetime object. - Problem with `noyes` and `noyeswide` checkbox fields.
0.2.26 not secure
Fixed - Problem where `format_date()` was acting like `format_datetime()`.
0.2.25 not secure
Changed - Tweaks to the `interview_url()` function. Fixed - Unicode error on interview page after interview decryption failure. - Problem with list gathering and `.there_is_another`.
0.2.24 not secure
Fixed - Problem with missing uid in background tasks.
0.2.23 not secure
0.2.22 not secure
Added - Configuration directive `allow demo` for allowing demonstration interviews in production mode. - Ability to send e-mail using the Mailgun API instead of SMTP. - The `decimal places` option for automatically formatting floating point numbers passed to DOCX and PDF forms using `field code`, `code`, or `field variables`. Changed - If the `checkin interval` configuration directive is set to `0`, the browser will not "check in" at all. - When the `/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. Fixed - Invalid HTML in navigation bar. - Removed unnecessary invalidation of interview cache. - Problem with address autocomplete when variable name contains a bracket.
0.2.21 not secure
Added - The `get_chat_log()` function. - An API interface. - Administrative functions. Fixed - Result of `user_interviews()` was reporting the wrong `utc_modtime`. - Error with `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 not secure
Added - The `send_fax()` function for sending faxes using Twilio. - The `include_docx_template()` function for including .docx content within a .docx file.
0.2.19 not secure
Added - Ability to run `interview_list()` on all users. Additional keys `user_id` and `email` are included in results. - Integrated the Place Autocomplete feature from the Google Places API. Fixed - 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 not secure
Added - The `user` and `environment` datatypes. Fixed - Typo in HTML when `camera` and other HTML5 upload datatypes were used.
0.2.17 not secure
Changed - Better features in background actions for handling exceptions. Added - The `background_error_action()` function.
0.2.16 not secure
Fixed - Problems with cron jobs, including an error in the documentation; the variable is not `use_cron`, but `allow_cron`.
0.2.15 not secure
0.2.14 not secure
Added - Customizable 404 error message. - The `any_true()` and `all_true()` methods for the `DADict` object. Fixed - Typo in password complexity error message.
0.2.13 not secure
Added - Ability to change the `password complexity` requirements in the Configuration. - Ability to control whether registering users must retype their passwords.
0.2.12 not secure
Fixed - The `for` attributes of `<label>` elements were mislabeled when a field with `show if` defined the same variable.
0.2.11 not secure
Fixed - Problem with validating fields inside `show if`.
0.2.10 not secure
Fixed - Problem recognizing string indices in code.
0.2.9 not secure
Fixed - Problem with dictionaries inside of dictionaries. - Some of the administrative page customizations did not work.
0.2.8 not secure
Fixed - Inserting images into PDFs using `field code`.
0.2.7 not secure
0.2.6 not secure
Fixed - GitHub pagination problem with `links_from_header`.
0.2.5 not secure
0.2.4 not secure
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 triggered. Added - Ability to set `exit link` and `exit label` in metadata and `set_title()`. Fixed - Error when pulling "master" branches of GitHub packages into the Playground. - Flash message showing when interview YAML file changes and "allow login" is False.
0.2.3 not secure
Changed - Turned off automatic curly quote conversion until Unicode error in textstat can be fixed.
0.2.2 not secure
Added - Pulling and pushing using GitHub branches. - The `.failed()` method on result of background task.
0.2.1 not secure
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. Fixed - Apache could not start unless Docker container started with a `DAHOSTNAME`. - GitHub push using GitHub integration failed because of an SSH issue.
0.2.0 not secure
Added - The `logo` option of `set_title()` and `metadata`. Changed - The `all_variables()` and `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 the `yesno()` or `noyes()` functions will result in the box not being checked. - 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 error message. - 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 not secure
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. Changed - Multiple choice questions in `fields` will set boolean `True` or `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. Fixed - The `uncheck others` feature triggered an error if it was not the last field.
0.1.98 not secure
Changed - Going to "/exit" will now log out the user, if the user is logged in. - When using `&json=1` for JSON responses, the `interface()` function will return `'json'`. Added - Action for `logout`, which works like `exit` but also logs the user out. Fixed - Default values in object choices.
0.1.97 not secure
0.1.96 not secure
Fixed - JSON conversion problem when using `/interviews?json=1`.
0.1.95 not secure
Fixed - Bug in 0.1.94 regarding detection of variable names.
0.1.94 not secure
Fixed - Improved detection of variable names in code.
0.1.93 not secure
Changed - The `Individual` class no longer initializes the `child`, `income`, `asset`, and `expense` attributes, but there are `objects` blocks in basic-questions.yml that will initialize these attributes. - The `Organization` class no longer initializes the `office` attribute, unless `offices` is provided as a keyword parameter during object construction. Added - Interview tags system and the `session_tags()` function.
0.1.92 not secure
Added - The `checkbox export value` option when using `pdf template file`. Changed - The Markdown to HTML converter now uses the Attribute Lists extension. - The `server_capabilities()` function now has a `google_maps` item. - When the server is not in `debug` mode, users must be logged in as with administrator or developer privileges to run interviews in `docassemble.base` and `docassemble.demo`. In the SMS interface, interviews in these packages are always inoperable unless the server is in `debug` mode. Fixed - The `server_capabilities()` was not recognizing the `enable` settings.
0.1.91 not secure
Changed - Exceptions triggered during code block execution will now show the line, not just indicate the line number. - The `server_capabilities()` function is now imported by default and it reports additional features. - The `interview_list()` function now returns interview metadata. Added - Dynamically-generated `fields` items. - The `cross site domain` configuration directive and `CROSSSITEDOMAIN` environment variable, for enabling APIs to be used. Fixed - Azure blob storage fixes.
0.1.90 not secure
Changed - New features in the `Address.geolocate()` method. Added - The `Address.normalize()` method. - The `session list interview` and `dispatch interview` configuration directives.
0.1.89 not secure
Added - Ability to use `json=1` with `/user/sign-in`, `/list`, and `/interviews` pages. - `interview_list()` and `interview_menu()` functions. - Twitter login. Fixed - Thread unsafe language setting.
0.1.88 not secure
Fixed - `object_name()` raised an exception. - Including MP4 videos did not work when OGG not provided.
0.1.87 not secure
Fixed - `docx template file` combined with `code` resulted in error due to recent change that attempted to provide better error messages.
0.1.86 not secure
Added - `decoration size`, `decoration units`, `button icon size`, `button icon units`, and `button size` configuration options. - `encode_name()` and `decode_name()`. Changed - Clicking the back button when looking at question help will return the user to the question. Fixed - Width of images in .docx files.
0.1.85 not secure
Added - Option for `google maps api key` in the `google` section of the configuration. Changed - A Google API key is now required for using `map_of()`.
0.1.84 not secure
Fixed - UI issues when switching between help and questions tabs. - Added `pop()` method to `DAList`. - Machine learning errors when entries are blank.
0.1.83 not secure
0.1.82 not secure
0.1.81 not secure
Changed - Google Drive synchronization is now handled as a background task so that it will not be interrupted by a web browser timeout. Fixed - Uploads embedded in docx template files.
0.1.80 not secure
Added - The `set_title()` function. Changed - Interview title functionality in the `metadata` initial block. Fixed - Image URLs to PDF page images with S3/Azure Blob Storage.
0.1.79 not secure
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 not secure
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 `docassemble.packagename:data/sources/ml-interviewname.json:fruit`. You can still set a literal `group_id` using the keyword parameter `group_id`. - When an `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 matches the `group_id` (with the part before the final colon, if any, removed), the array corresponding to that key will be used. Fixed - 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 not secure
Added - The `pdf_concatenate()` function. Fixed - Missing dependencies for `RandomForestMachineLearner`.
0.1.76 not secure
Added - `RandomForestMachineLearner` for machine learning with numeric and categorical values. - Context for `SyntaxError`s. Fixed - `code` to specify fields in docx template. - S3 problems.
0.1.75 not secure
Added - `inline width` field modifier for embedded fields. - `DAStaticFile` object. - `set_data()` and `get_data()` methods for `DARedis`. Fixed - `DAFile` initialize function now handles keyword arguments as advertised.
0.1.74 not secure
Added - `data` block. Changed - Validation errors for embedded fill-in-the-blanks elements now appear under the fields. - Embedded radio buttons and checkboxes now use standard HTML input elements. - Embedded currency fields use standard text to represent the currency symbol.
0.1.73 not secure
Changed - Referring to a non-existent DAList item after the list has been gathered will now generate an exception. Fixed - Brought back gradients on buttons, which had been removed in 0.1.72.
0.1.72 not secure
0.1.71 not secure
Changed - `currency()` now returns `''` on non-numeric input. Fixed - AWS secret access codes with slashes. - Recognition of iterators with constant integers.
0.1.70 not secure
Added - Method `item()` for `DAList` and `DADict`. - Lettuce tests in directory `tests`. Changed - Playground variable detection now shows attributes. - Playground variable detection now adjusts for temporary Mako variables. - The `split()` function now splits on newlines. - Playground no longer loads each example interview into memory. Fixed - Template file Google Drive deletion. - Problem with pickling result of `.using()`. - Scanning for variable names involving patterns like `[i][j]`.
0.1.69 not secure
Added - Class method `.using()` for adding parameters to object definitions. Changed - Backups only kept now for 14 days. Container upgrade necessary. Fixed - Use of iterators and generic objects in `if` modifiers. - Azure cron backup. Container upgrade necessary.
0.1.68 not secure
Added - `if` modifier. Changed - 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 sync. - Google Drive sync now has a page that tells the user not to stop the web browser. Fixed - Error on URL redirection. - Playground package page asking for GitHub sign-in after expiration of credentials. - History on error page restored.
0.1.67 not secure
Added - Warnings in the Playground when use of a particular file name would overwrite an existing file. - Functions `yesno`, `split`, `showif`, `showifdef`, and `phone_number_part`. Changed - Fields in a PDF fill-in form can be specified as a list of dictionaries. Fixed - When `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 not secure
Fixed - Problem with empty upload fields.
0.1.65 not secure
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. Added - The `if` modifier. - The `scan for variables` modifier. - The `dispatch` function. - The `has_been_gathered()` method on groups. - More expansive error messages in debug mode. Fixed - Errors if variable names in `question` blocks are invalid. - Error in `date_difference()`. - Layout problem when sections and progress meter both turned on.
0.1.64 not secure
Fixed - Gathering of Asset items.
0.1.63 not secure
Added - Example of editing a list after it has been gathered. Fixed - Embedded fields where the variable names contain iterators. - Lists instanceNames adjusting after removal of a list element.
0.1.62 not secure
Changed - Fields can now be embedded in `note` text. Added - Multiple choice type `combobox` and `datatype: combobox` for `fields`. Fixed - Mandatory multiple-choices questions with embedded code blocks. - `DAList` and `DADict` objects in choices lists.
0.1.61 not secure
Changed - After back button is pressed, defaults will be populated on fields that accept defaults. Added - Methods on `DAFileCollection` so that it can be used like a `DAFile`. - `run_python_module()` function. Fixed - Checkbox defaults specified as `DADict` objects not recognized.
0.1.60 not secure
Changed - Added a new type of infinite loop detection.
0.1.59 not secure
Changed - Added a different type of infinite loop detection.
0.1.58 not secure
0.1.57 not secure
Fixed - Bug that affected some file-related operations. - Detection of infinite loops.
0.1.56 not secure
Changed - The way that the `objects` block gets executed has changed. It no longer executes as a mandatory block unless it is marked as mandatory. - In addition, the way that questions are asked has changed accordingly. If any fields that would be set by the question have attributes, **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 `i` in `objects` blocks. Fixed - Problem with deletion of keys on S3. - Problem with response() on second and subsequent screens.
0.1.55 not secure
Added - The `id` and `precedence` modifiers and the `order` initial block. - The JSON interface.
0.1.54 not secure
Fixed - Upgraded from boto to boto3. - Fixed issues with documents and cloud storage.
0.1.53 not secure
Fixed - Problem with docassemble.base as a dependency in extension packages.
0.1.52 not secure
Fixed - Problem with assembled documents on cloud storage.
0.1.51 not secure
Added - JSON version of information on each screen. Fixed - Problem with signatures in pdf fill documents.
0.1.50 not secure
Added - Options for `maximum image size` to reduce size of uploaded images in the browser before uploading. - Interview feature `cache documents` for disabling document caching. Fixed - E-mailing of assembled documents.
0.1.49 not secure
Added - Additional document caching feature. Fixed - Problem with caching of certain document types.
0.1.48 not secure
Added - Option for `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. Changed - In Google Drive synchronization, .tmp and .gdoc files are now ignored. Fixed - 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 not secure
Added - Function `referring_url()` for accessing the original "referer" URL. - Feature `go full screen` for breaking out of iframes. - Support in Docker for MySQL connections. Fixed - Error accessing machine learning training area. - Undefined mimetype error with e-mail receiving feature. - "Next will be" message in SMS interface skipped `note` and `html`.
0.1.46 not secure
Added - Methods `.true_values()` and `.false_values()` for `DADict`. Fixed - Multiple choice questions where list of selections is empty. - SMS interface for multiple choice questions where list of selections is empty.
0.1.45 not secure
Added - Configuration directive `password login`, which will hide the username and password fields on the login screen. Fixed - Better error messages when packages fail to install. - Better error messages in `worker.log` when background processes do not complete.
0.1.44 not secure
Changed - Datatype `object_checkboxes` will now create the variable if it does not exist. Fixed - 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 DAFileCollection objects. - Inconsistency in handling of nested questions.
0.1.43 not secure
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 HTTP responses.
0.1.42 not secure
Added - set_attributes() method for `DAFile` and `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 `DAFileList`. Changed - Hyperlinks to actions (e.g., created through `url_action()` or `action_menu_item()`) are now carried out through Ajax. Fixed - Compatibility of UI elements with 'control' live help feature. - Extraneous "Menu" entry in mobile menu when custom menu used.
0.1.41 not secure
Added - Configuration directive `require referer` that allows users who use referer blockers to use **docassemble**. - `.show()` method for `DATemplate` objects, for interchangability with images in `DAFile` objects. Fixed - Error when `valid types` was set to `pdf` when `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 not secure
Changed - Upgraded from Debian jessie to Debian stretch Added - Ability to specify filenames in `attachment` blocks using `code`. Fixed - Error when GIFs inserted into RTF file.
0.1.39 not secure
Added - Page where administrator can add users manually without going through invitation process. Fixed - Non-ASCII characters in PDF field defaults no longer stripped out when scanning through utilities.
0.1.38 not secure
Fixed - Bug in Alembic upgrade process
0.1.37 not secure
Changed - Fields with `datatype: checkboxes` now have a "None of the above" option by default, and input validation ensures that something is checked. The `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. Added - Option in `fields` called `uncheck others` when `datatype` is `yesno`, `noyes`, `yesnowide`, or `noyeswide`. Enables a yes/no field to act as a "None of the above" option. - "Upgrade docassemble" button on the "Update a package" page. Fixed - 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 not secure
Fixed - Small typo that made 0.1.35 unusable.
0.1.35 not secure
Added - Support for help text next to choices in a multiple choice list. Changed - 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 always edit `install_requires` in the setup.py file. Fixed - Bug fixes to SMS interface.
0.1.34 not secure
Fixed - Checkboxes became `DADict`s a few weeks ago but the auto-gathering system on them was not turned off; it is turned off now.
0.1.33 not secure
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 `docassemble.base`.
0.1.32 not secure
0.1.31 not secure
Changed - Review page buttons now Ajax. - Screen reverts to review page after field edit. Fixed - Problem with PDF/A due to old version of pdfx.
0.1.30 not secure
Added - PDF/A support. - Navigation bar option. Fixed - Problem with files when user logged in.
0.1.29 not secure
0.1.28 not secure
Fixed - DADict object now defines ask_object_type by default - Bug with `using` combined with `ml`.
0.1.27 not secure
Added - `ml` and `mlarea` data types and training system. Fixed - 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 not secure
Fixed - Minor git issue again.
0.1.25 not secure
Changed - Back button style. Fixed - labelauty issue.
0.1.24 not secure
Fixed - Minor git issue.
0.1.23 not secure
Changed - Additional deletion of temporary files through cron job. Fixed - 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 not secure
Added - `read_qr()` function. - `new_object_type` option for groups. Changed - The default for the `debug` configuration directive is now `True`. Fixed - The `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 not secure
Changed - Checkboxes now create `DADict` objects rather than `dict` objects. Added - `all_true()` and `all_false()` methods for DADict. Fixed - Fixed bug when user invitation e-mail fails to send. - Error message when code and question blocks are combined.
0.1.20 not secure
Fixed - Fixed another bug in edit user profile page.
Fixed - Fixed bug in edit user profile page.
0.1.18 not secure
Added - Pull package into Playground with PyPI. Changed - `initial` directive now accepts code, just like `mandatory`. - Error page now returns 404 instead of 501 when user tries to access an interview file that does not exist. Fixed - 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 not secure
Changed - Updated the required system version to 0.1.17. Fixed - 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 not secure
Added - GitHub integration. - `dow_of()` function. Changed - Changed PyPI username and passwords from a configuration setting to a user setting. Fixed - 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 locale when `word_of` is `True`. - Executables that run as root no longer writable by www-data. - Turned off auto-start on sync supervisor process.
0.1.15 not secure
Added - SMS option for two-factor authentication. - Option for requiring confirmation of user e-mail addresses. Fixed - Problem with apt-get update at start of Dockerfile.
0.1.14 not secure
Changed - Renamed configuration directives from "second factor" to "two factor."
0.1.13 not secure
Added - Two-factor authentication. - Phone login.
0.1.12 not secure
Changed - To facilitate GitHub workflow, attempted to preserve timestamps on filenames in Zip files.
0.1.11 not secure
Changed - Increased font size for better mobile experience.
0.1.10 not secure
Changed - Look and feel of signature pages now match regular interface on larger screens,
0.1.9 not secure
Fixed - Various bugs from previous version.
0.1.8 not secure
Fixed - Bug with Google Drive integration.
0.1.7 not secure
Fixed - Bug with server-side encryption.
0.1.6 not secure
Added - Google Drive integration.
0.1.5 not secure
Fixed - Bug with logins in the middle of interviews.
0.1.4 not secure
Changed - New algorithm for generic variables and index variables. Added - Additional examples. [Unreleased] - 2017-05-26 Changed - PDF fill-in files now editable. - Started using bumpversion. - Started a changelog.