The information below includes a log of all changes made to CommCare.
Table of Contents
October - December 2023
- The issue with saving a form as incomplete on Web Apps and encountering a hang when accessing incomplete forms has been resolved. Users can now navigate to incomplete forms without experiencing any webpage delays.
- The alignment issue with user input boxes for numeric and text questions, where they were displaying lower than other items in the row, has been successfully resolved on Web Apps. Users can now input data more efficiently with all questions vertically aligned.
- The background colour of nested group question headers has been updated, transitioning from a darker to lighter shade and now featuring shades of CommCare Blue. Additionally, the ">" symbol has been changed to white for improved contrast.
- Consistent with other sections of CommCare, the 'Find Data by ID' functionality will now treat soft deleted cases and forms as if they were permanently deleted, resulting in a 'Could not find case/form' error message.
- The issue affecting project spaces with user names mistaken for dates, causing failures in "date formatting" and preventing access to applications, has been successfully resolved. Users with such names can now access applications without any hindrance.
- Previously in Web Apps, labels at the top level of the form were shown within a border, contrasting with those in groups lacking a border. Additionally, in collapsible sections, label text misalignment occurred with other question text. The issue is now resolved, with top-level form labels no longer having borders, and labels within collapsible sections displaying proper alignment with other question labels.
- To enhance user experience, when individuals click on an invitation they've already accepted, they will now be seamlessly redirected without encountering a red error message indicating the invitation has been used up. The redirection will occur unless the user is logged in as a different invitee.
- We have improved the UI on Web Apps by removing question type text, adjusting the control height for questions, tweaking the size and color of input text, and reducing padding between questions. These changes aim to enhance the overall visual appeal and user experience.
July - September 2023
- When viewing a case list on Web Apps, you can now click the "scroll to bottom" button which takes you to the bottom of the case list on that page.
- Added a hamburger menu for case list results. The print view is modified to only show case list results and not maps or the search sidebar (in the case of Split Screen Case Search).
- A new project setting is added to display a warning message on the mobile worker location edit page about locations that own cases and only have one assigned mobile worker. Note that the setting is disabled by default. The user will be notified of this setting on the Organization Levels page when they have an organization level that can own cases.
- The Application Error Report feature has been made available for projects on the Enterprise plan.
- Fixed a bug within the conditional alerts & case updates rule, where the rule/alert always fires when the "ANY" option is chosen for the rule.
- On the Data Dictionary admin page, users attempting to input a case property name or case property group name that already exists for the case type will now be met with a error message “A case property/group with this name already exists.” (Note: Data Dictionary is available for those on the Advanced and Enterprise Plans)
- Users are able to deprecate and restore case types in the Data Dictionary. (Note: Data Dictionary is available for those on the Advanced and Enterprise Plans)
- Added a validation for attachments that comes through App Preview just as they are validated coming from Web Apps or Mobile.
- In Web Apps, language selection has been added to the hamburger menu.
- In Web Apps, UI improvements have been made to backgrounds, borders, and buttons.
- Updates to error messages to provide more accurate information.
April - June 2023
- Users now have the ability to set Form Forwarders to only forward specific forms. Forms are identified by their XMLNS. This change preserves current behaviour: If no forms are specified, all form submissions are forwarded.
- Implemented a UI change in the case history table, replacing "System" in the "User Type" column. This change adds more specific names for system updates.
- The Export Case Data menu has been modified to include a percentage indicator of the progress made when populating tables for the Bulk Case Export.
- Users now have the ability to bulk import all case types concurrently.
- Users are now able to prepare a bulk case export which includes every case type in a project space by selecting “Any Application” & “All Case Types” when preparing the export. However, if the project has more than 30 case types or 20 applications, then the user will be unable to create a bulk case export config, and will be met with an error message.
- It is now possible to assign user location based on domain during the creation of a new mobile worker.
- The process of viewing repeat record attempts has been updated.
Instead of the ellipsis, there's a new "Responses" button. When clicked, this button gathers and showcases each attempt in its own row below the original repeat record entry. - 2FA is disabled for a newly created account on HQ unless the new user is a part of an active domain.
- Implemented a restriction on uploaded files to be less than 15MB as a logo under Project Settings.
- Icons have been added to the bulk action buttons to improve the UI.
- Enhanced Privacy and Security for filtered URLs on case list and case list explorer pages.
- UI improvements were made to the Case List Explorer.
- Errors for DHIS2 have been improved to include a diagnosis message.
- In addition to text, App Preview Help will now allow images, audio, and video.
- Filters for Export Case Data have been changed so that all case types are available at the domain level. Previously, it was necessary to select an App first.
- In Case Tiles, a message will be shown when the case list is empty.
January - March 2023
- Fixed 500 error when bulk archiving forms in Manage Forms.
- Fixed form print layout in the UI.
- Fixed bug that discarded manually entered dates with two-digit year format.
- Fixed the previously
null
"next" URL in the web user API. - Implemented bulk case reassignment.
- This passes report-filters as a request.POST to the newrender_as=bulk endpoint
, which utilizes the report's query and results to obtain the list of cases that require reassignment. - Created Django migration for deleted apps.
- Removed advanced query search functionality.
- Removes the advanced query search function from the Mobile Workers page's search bar, as well as from other places where it was not intended (web app's mobile worker search, app builder's app build search, web user search, drop-down menus for certain reports, etc.). - Fixed a bug reported that resulted in inconsistent Download and Email Reports permission display.
Added
last_used
property to HQApiKey.- Implemented support for range for form attachment downloads.
- Added conditional case update status to app summary.
- Updated the copy for the repeater deletion pop-up.
- Added form session ID to URL in webapps.
- Accessibility: Added label for tabular checkboxes in apps.
- Change communication sent out: The Incomplete Forms setting default is
off
and incomplete forms are hidden unless the setting is enabled.
- Updated text for the button on the modal to delete repeater configuration.
- Implemented a UI change to Mobile Worker Bulk Download.
- Added email address validation in email messaging content.
- Implemented a change to prevent the creation of a
commcare-user
case when a mobile worker is deleted. - The repeater name was made configurable.
- Enabled Incomplete Forms in all production domains.
- Updated SQLRepeater model to allow names to be 255 characters.
- Updated the UI to display the date format to the user.
- Implemented a one-time email notice when the mobile worker count exceeds 90% or 100% of the domain's plan's limit.
- Implemented Release Mode toggle on the application release page.
- Removed the
_entered convention
wrap functions.
August - December 2023
- Completed the final component (the migration) to the "save only edited form fields".
- Improved broadcast functionality to allow receivers outside of the group to receive broadcasts.
- Enhanced location APIs and included them in the v0.6 API release, providing a more comprehensive and user-friendly solution with simplified development processes.
- Upgraded django-compressor from 2.4 to 4.1
- Implemented "date and time picker" improvements in forms and case search.
- Implemented visibility and editability of the "default mobile user role" in the role list, along with displaying it in the user edit view for Mobile Users.
- Updated SMS processing to consistently utilize the latest released version of an app instead of the latest development version.
- Resolved the issue where the custom timeout for user inactivity on a domain was not functioning correctly on the conditional alerts page.
- Added a case_id filter to the forms API, enabling the retrieval of forms that are associated with a specific case.
- Deprecated the programmatic use of Data Forwarding APIs (API 6) for viewing, creating, and updating data forwarding configurations in Commcare, encouraging users to utilize the user interface for configuring data forwarders instead. See this announcement.
- Implemented better defaults for new roles in Commcare, including disabling certain permissions by default and introducing the "Mobile App Access" permission that is disabled for new roles except for "Mobile Worker Default," thereby removing the need for feature flags and domain settings related to mobile endpoint access.
- Improved the error handling of the validator to address an issue where user data import would halt and display a generic error message when encountering a specific user entry by identifying the cause of the problem and determining that the validator was unnecessary, resulting in successful loading of user rows and displaying information about the loaded and unloaded users.
- Standardized page titles and their styles across different pages under the Data tab, resolving discrepancies and ensuring consistency.
- Enhanced the print and PDF layout of forms, addressing issues such as extra spacing and overlapping text to improve the overall output quality for end-users.
- Removed help text from the search bar and discontinued support for query functionality in the mobile worker search widget.
- Implemented the multiple alert banners feature, enabling the display of multiple maintenance alert banners simultaneously.
- Implemented the ability for users to deactivate or reactivate API keys through a new button in the key management table.
- Deprecated and removed the legacy functionality of editing forms using web apps.
- Adjusted the app manager intro content to no longer appear when importing or copying an app, ensuring that the hints and help content are only displayed for users who are new to HQ and require guidance on initial actions.
- Implemented the use of select2 for dropdown menus in the EOF (End of Form) navigation configuration and form linking, improving the user experience by providing enhanced dropdown functionality, particularly for long lists of menus and forms.
- Enhanced visibility of UCR rebuilds by adding a warning message to the 'Edit Data Source' page, ensuring users are notified of the rebuild status regardless of the toggle settings and providing additional information alongside the existing 'Preview Data' functionality.
- Implemented a check to verify the existence of a relationship between cases on DHIS2 before attempting to create it, preventing potential conflicts and improving log cleanliness by avoiding unnecessary error messages.
- Resolved the issue where certain Repeaters' edit pages were inaccessible.
Fixed a bug that caused existing form links to not be displayed in the user interface by adding a unique identifier (uniqueId) to form links when preparing the context for the view, ensuring consistency between the view context and the available links list.
Enhanced the query efficiency of the populate_repeater_names management command by joining the connection_settings when fetching repeaters, resulting in improved performance and optimization of the command.
- Implemented the hiding of the "Incomplete Forms" icon on the "home" screen of web apps when all apps for a user have the "Incomplete Forms" feature disabled, providing a cleaner interface and removing unnecessary visual elements for users without access to incomplete forms functionality.
- Made a minor update to the incomplete forms setting logic by adding a properties check, resolving a JavaScript error that occurred for an app with an empty profile, ensuring proper functionality in an edge-case scenario where apps are initially created with empty profiles that are later populated with settings changes.
July - September 2022
- Disabled horizontal resizing for all text areas across CommCare HQ.
- Updated case update rules to allow users to submit system forms with a name for display.
- Logged transient bounced invites as Delivered. If you send a domain invite to a web user whose email account has a vacation autoresponder on, it'll show up as "bounced", even though it does get delivered. This changes that to show "delivered."
- Disabled horizontal resizing in webapp and app preview.
- Fixed bug in bulk upload mobile workers password validation.
- Disabled submit button when password fails validation. Before when web user accepts the invitation and try to create an account or when mobile user receives sms invitation and try to confirm account: they're able to submit even if their password failed password validation. After changes, the button will be disabled until they pass the validation.
- Added enforcement for a minimum password length for all web and mobile users when "require strong password" turned on in Project Settings - Privacy and Security. The default value is 8.
- Fixed pagination on the API key page.
- Added better error handling for DHIS2 config pages that accept JSON. Previously, any syntax errors caused the form to throw the entire JSON dictionary back to the user without specifying the problem and where it had occurred. It'll now show the row, context, and suggested changes to make the input JSON valid.
- Added better error messaging when reverting to a bad build. Previously, it would show a 500 page with a success message. Now it will correctly load the releases page with better messaging.
- Updated case import to pass through CaseBlockError messages. Before: all case block errors showed an "unknown reasons" message, now it displays a more specific message.
- Changed redirect when a report is deleted, so users now get redirected to the saved reports page.
April - June 2022
- Added county, postcode and district fields to broadcast objects.
- Pass query data to Formplayer debugger endpoint to improve the web apps/app preview debugger when used in conjunction with case search.
Made the "Loadtest users" feature avaiable for Pro Plan subscriptions and higher. This change adds some guard rails:
- Loadtest users are unable to sync payloads over 500,000 cases
- The "loadtest factor" field is moved from the mobile worker's Basic Info form, to under the "Actions" tab, where it is less likely to cause confusion for users just trying to create a normal mobile worker.
- Loadtest users are like demo users, in that their form submissions are ignored and they are unable to sync from a mobile device.
Improved error message when build fails due to missing instances. Added form name and module name to the message.
- Upgraded the datepicker widget in web apps to match HQ. The widget handles both dates and times. Also added a single date to the case search format options.
- Added the ability for Enterprise Admins to manage SSO Test Users to make it possible for onboarding SSO in production. Use Test Users for better onboarding in production.
- Added OData report functionality to the enterprise portal. Enterprise admins can export odata feeds reports across all project spaces from the enterprise dashboard.
- Added an appearance attribute,
12-hour
, to support a 12-hour clock in web apps. - Auto Update Rules: Added AND/OR text dependent on whether ALL/ANY is selected. This updates the "AND" text next to criteria on auto-update rules to say "OR" if the user selects the new ANY option for auto-update rules. The text will change instantly as a user switches the toggle.
- Improved report filtering related to system forms for user and app filter.
Fixed CommCare trial signup issue when ad blocker is enabled.
- Added case search accessibility, so case search heading and search field labels will be read when tabbing, and the text inputs will be read with a more specific description.
- Updated form data page to show proper XMLNS used to identify particular forms in reports.
Fixed case search error to allow searching for multiple values on a date range field where one is a date range and the other is blank.
Improved performance of collapsible groups in web apps.
January - March 2022
Multi Environment Release Management for smaller-scale projects to link multiple projects made available.
- Added support to pull longitude and latitude coordinates into a form using the geocoder widget.
- Feature discoverability for Case Sharing through notifications tab added.
A bug fix for application case summary when using advanced modules.
A bug fix to allow location-assigned admin (or any role that has the "access_all_locations" permission for that matter) web users to see the complete list of web users when downloading the web users, and not just the web users that are assigned to the location(s) the currently logged-in web user is assigned to.
- When a user navigates to the My Saved Reports page, an additional section will be shown below the "My Saved Reports" section, namely "Shared saved reports" (the sections are modeled after the "My Scheduled Reports" sectioning).
A new column was added to the "Scheduled Messaging Events" report that says what number of attempts this will be.
Fixed bug in web apps from getting an error when doesn't have a role. The fix makes the role dropdown on the page required for web users.
- Enforced password policy, so until a user inputs a strong password, the 'Submit' button is disabled. The change is applied in:
- 'Change My Password' in Account Settings
- Reset Password via the 'Forgot Password' page
- 'Reset Password for Mobile Worker' in 'Mobile Workers' under 'Users'
- Added view to play form attachment audio in the browser. This adds a new link to view form attachment on web browsers using the usual domain login page in case a user needs to login, instead of an inbuilt browser prompt, for a better experience for mobile users.
- Added status embed code in to Commcare HQ. This change will allow users to be notified when we are facing any issues or if we are planning maintenance. This change simply allows a box to show up on the bottom left corner of the tab with a message to inform the user.
Added google reCAPTCHA to the password reset request page.
Updated invitation flow to create users as non-admin.
- Added check for role column and adjusted tests so that roles are only clear when intended
October - December 2021
CommCare HQ
For ‘Release Management’ users must be admin in both domains to link domains.
Bug fix in Web Apps where changes in the choices for lookup table questions cause the selections to get cleared. With this change the selections are preserved when the options change.
CommCare HQ
SMS user registration alerts to allow admins to add a list of emails that will be alerted whenever a new mobile worker is registered via SMS.
Require edit data and API permission for the new ‘Submission API’ endpoint.
CommCare HQ
Added feature so app builders can create a tabular structure for checkbox questions, by using the same Question List Group and Appearance Attribute settings as they do for non-checkbox multiple-choice questions.
This updates the error message for display conditions when you use #user but haven't yet used usercase in your domain. This change adds a button to the error message to let you immediately turn on user case.
CommCare HQ
Fix bug where date range ‘Case Search’ fields were clearing the user input after clicking ‘Apply’ on the first try under ‘Case Search’ page.
CommCare HQ
Data Preview is only visible to screen readers when expanded and the buttons can be cycled through and are accessible.
When Web Apps access is disabled for a user a clearer “The functionality is disabled” message is displayed.
Added sorting to user role dropdowns for mobile workers who will be entering data using Web Apps
CommCare HQ
- Added functionality to allow users to select the IDs from a dropdown list to avoid possible errors when typing in the IDs manually. Previously users using custom actions or filters had to manually type in the IDs for the filters or actions.
- In situations where applications have Parent / Extension or Host / Extension relationships, it was not clear that the Parent Case recipient option for conditional alerts did not include these extending relationships. Added functionality when the "Case's Parent Case" option is selected from the list, a warning message is shown.
- Added catch for missing multimedia when copying app. This prevent the "Import App" page from erroring out when importing an app and HQ can't find its multimedia, as when the app is being copied from a different server.
- Changed the label for invited web users whose invitation does not reach them are marked as "Blocked" to "Undeliverable", with tooltip helper-text to explain why the invitation is marked so.
- Added bulk delete action "My Scheduled Reports". Also added pagination for both the main scheduled reports and others' scheduled reports list.
2021
July - September
CommCare HQ
- Created new edit messaging permission to help admins to give roles access to only Messaging, only Data, neither, or both.
CommCare HQ
- Improved screen reader support for adding repeat group elements. When a repeat group is added keyboard focus is applied to the newly created repeat group. Previously focus remained on the Add new repeat button and repeat groups rendered above were skipped for screen readers.
- Shift validation step to reduce build times. Perform app validation on the app copy instead of the app itself when creating a build. This will help improve performance of creating a build.
CommCare HQ
- Prevent creating roles with duplicate names per domain.
- Send identifier to Telerivit to link cases with delivered status. When a message is sent via the Telerivet BE and is delivered, the message status will say 'Delivered'.
CommCare HQ
- Added smart link navigation for display only forms mode. Adding a session endpoint to a menu will now not let you make a build. Previously, you could create a build but the endpoint wouldn't work.
CommCare HQ
This sets the form auth context, username and user ID to allow better tracking of case claim requests. Added more auth details to case claim forms. Case claim forms now display the correct user information in reports.
Multiple choice answers are grouped together under questions to make element hierarchy more clear to screen reader users. The same is done for groups of related questions.
Added links to descendant locations in location page. Each individual location should have a hierarchical UI similar to that on the Organization Structure page, with the root node being the current location.
CommCare HQ
Webapps accessibility enhancements where multiple choice answers are grouped together under questions to make element hierarchy more clear to screen reader users.
The same is done for groups of related questions.
2. Updated web apps question error button text & icon. This changes the icon and updates button text to say "Next Error" instead of "Next Question."
CommCare HQ
Added download and email reports permissions under roles and permissions to allow role to download and email report data if box is checked.
Updated web apps error navigation to not happen until submit. This will cause the jump to errors feature in web apps to not show the button until the first time the user tries to submit the form.
CommCare HQ
Added checks to prevent deactivated mobile workers from showing up in the reassignment list. Case reassignment will no longer display deactivated mobile workers.
Updated the Messaging Event API to more closely match the Messaging History and detail reports.
2021
April - June
CommCare HQ
Single Sign On (SSO) into CommCare with Azure AD general release. Read more about it here.
Added JSON file upload button replacing raw JSON text field to copy apps between projects or servers. Read more about it here
CommCare HQ
Added better error handling for the "Forward Cases To Another Commcare Project" data forwarding type.
The form was not processed and should not be retried
The form was not processed and should not be retried
The form was not FULLY processed and may be retried
201: message nature = "submit_error"
422: message nature = "processing_failure"
422: message nature = anything else
Added markdown formatting to the case list views.
Added Data Export Tool (DET) schema downloads from any export by generating DET config files. Read more about it here.
CommCare HQ
Added the ability to bulk upload web users on the web user page.
Added permission check for sms settings tab so only admin users can see access the SMS page.
CommCare HQ
UI updates to jump to errored questions in webapps.
Added display properties to messaging events API.
Added ability to copy case search config from one module to another.
Web Apps accessibility improvements - made apps and menus keyboard navigable. For users without a screen reader, this change enables keyboard navigation of webapps using the Tab and Enter keys.
CommCare HQ
Messages with no actual message content won’t be sent.
CommCare HQ
Added a multi-select dropdown to webapps.
CommCare HQ
Added a popup when editing a conditional alert to signal that you are going to alert cases, possibly a lot of cases.
Added location fields to web user download.
Improved time conversions in HQ, including overriding the project space timezone if the user's project space membership is set.
Added the Ethiopian date picker for use in webapps.
Allow the translation for a new repeat to happen within an inner group.
2021
January - March
CommCare HQ
- Updates to Web Apps now allows users to 'go to page' and modify the number of rows displayed in a case list.
- Added Web apps translation for 'Add New Repeat'.
CommCare HQ
- Web Apps Accessibility: Improved the accessibility of webapps for users utilizing screen readers. Specifically, it now allows you to hear items listed in a dropdown list.
- Added Lookup Tables support to the Application API.
- Previously notification messages in webapps were skipped for end of form navigation workflows.
CommCare HQ
- Previously, the Work Activity Reports we were showing Form Completion Time instead of Form Submission Time in the Last Form Submission column. Fixed that to show Form Submission time.
CommCare HQ
- While downloading the mobile workers, the count that we were showing was for only active users, but the downloaded users also contained inactive users. This resulted in the premature generation of a report download link. When the user used to click on the link it would result in 404.
- Bug fix to Data Export tool: Fixes issue where case close dates weren't properly mapped in commcare-generated DET config files.
CommCare Mobile
- We deprecated support of Linking to External Files. Please refer here for more info.
CommCare HQ
- Support for referencing the owner_id of a case using easy references. Previously, you had to manually add in the reference through the xpath expression for it to work as expected.
- Improvements to Under Reports -> Monitor Workers -> Worker Activity Times, which fixes the axis displaying the day of the week so that it shows as expected.
CommCare HQ
- Support for viewing application API in browsers.
- Support for two new-fields called `host_case_id` and `host_case_type` in Case Importer Excel. This allows creation of extension cases similar to how child-cases can be created.
CommCare HQ
Improved Case List pagination UX for Web Apps.