Bug fix: When using the Scheduling module in a longitudinal project containing more than one arm, in which either the Custom Record Label or Secondary Unique Field is being used, then it would mistakely display the Custom Record Label or Secondary Unique Field for only the records from the first arm. For all other arms, there would not be a value displayed for the Custom Record Label or Secondary Unique Field for a given record in that arm. (Ticket #790)
Change/bug fix: When editing the record ID field (i.e., first field in project) in the Online Designer when record auto-numbering has been enabled in the project, it would not allow you to set the validation as "Integer" even though "Integer" is technically a valid option when record auto-numbering is enabled. It will now allow you to set it as "Integer" but will display an error message if changed to any other validation type. In previous versions, the field validation for the record ID field could be changed via the data dictionary but not in the Online Designer. (Ticket #736)
Bug fix: For longitudinal projects that utilize surveys in which a survey is not designated for the first event in the project, when a user first navigates to the Participant List page (i.e., by clicking the "Participant List" tab), it would mistakenly not have the first option selected in the drop-down list of surveys in the Participant List. This might cause the user to think they are viewing the Participant List of a different survey if they are not paying close attention.
Improvement: It now does a better job of not removing "<>", "<=", or "<"+number in text, which in previous versions might mistakenly get removed on certain pages (e.g. field labels on forms/surveys) because they were assumed to be an illegal HTML tag.
Change: Some text was added below the big text box on the Email Users page in the Control Center to remind administrators that they are permitted to use HTML formatting in the body of their email message.
Bug fix: On certain rare occasions, such as when a user is assigned to a Data Access Group and records have been created via a data import of only the record ID field and no other fields, the Record Status Dashboard might mistakenly not display all the records that it should on the page.
Bug fix: Any users that were suspended from the system but still had a user-level expiration date set would mistakenly receive an email warning letting them know that their account would expire soon, which is confusing because their account had already been suspended. It now no longer sends the expiration warning email to suspended users.
Change: The font size of some of the text on the main login form was increased.
Bug fix: When viewing the Stats & Charts view of a report (excluding Report A and B), the fields would mistakenly not be displayed in the order in which they are defined in the report but instead would be displayed according to their order/placement as displayed on the project's instruments.
Bug fix: When adding new arms or renaming arms on the Define My Events page in a longitudinal project, certain non-Latin (UTF-8) characters would not save correctly in the arm name, thus resulting in a black question mark symbol for that character. (Ticket#825)
Bug fix: When viewing a PDF export of a survey or data entry form in which non-Latin (UTF-8) characters are used in a Slider field's field label or in its slider labels, the text would not display correctly in the PDF. (Ticket #683)
Bug fix: When creating a new instrument from scratch in the Online Designer, if a new instrument's name is very close to an existing instrument's name, in which the name is also very long (>50 characters), then there is a chance that when the instrument is being created it will get stuck in an infinite loop and never actually create the instrument.
Bug fix: When viewing the Stats & Charts page of a report that has filters and is in a longitudinal project, in which the record ID field is not a field in the report, it would mistakenly not display the charts on the page and would have incorrect counts for the descriptive stats for each field.
Change: The "Help & FAQ" page was updated.
Change/improvement: When using the Scheduling module in a project with multiple arms, if a user chooses to schedule an existing record by selecting the record from the drop-down on that page, it will now auto-select the arm in the arm drop-down based on the arm on which that record exists. If the record exists on multiple arms, it will auto-select the first arm on which it exists. This will prevent users from inadvertently scheduling a record on the wrong arm while also giving the user the flexibility to schedule the record on another arm, if they choose to do so, why changing the arm selection from the one that is auto-selected for them.
Change: When the recipient of a Send-It file loads the webpage to download their file, the password field now has the autocomplete="off" attribute to prevent web browsers from possibly auto-filling the password, if the browser had somehow stored it.
Bug fix: A change in PHP 5.6 for Mcrypt encryption/decryption would cause a few very minor things to fail internally for very specific configurations.
Bug fix: When adding a new filter field in a report, if the user then selected the operator drop-down or value drop-down for that filter field within 2 seconds of selecting the field used in the filter, it would mistakenly cause the drop-down selection to jump around to different options while being selected, which could be frustrating.
Bug fix: When using record auto-numbering in a longitudinal project, there is a chance that when two users are creating a record at the same time in which one user clicks the "Save and Continue" button on the form to create the record, they will mistakenly get locked out of that record until the other user saves their record and leaves the data entry form. It does not appear that data gets overwritten for the record nor that records get duplicated. It merely locks a user out of a record mistakenly when it should not.
Bug fix: The field validation type "Phone (U.S.)" was modified to be more inclusive of more area codes. Also, it was renamed to "Phone (North America)" since it actually applies to all of North America and not just the United States.
Change/improvement: When viewing the Survey Queue of a record in a longitudinal project, it now displays the event name in parentheses next to the survey title in each row. In previous versions, it did not display the event name, which could make it difficult to know which survey in the queue belonged to which event.
Change/improvement: When navigating to the Data Quality module in a project, the record drop-down list on that page now loads via AJAX after the page has been fully loaded. This makes the page load much faster for projects containing lots of records.
Bug fix: When viewing the Survey Queue of a record in which one or more of the completed surveys in the queue have the setting enabled to "allow respondents to return and modify completed responses", then if more than 5 surveys were completed in the queue, it would compact the rows of those surveys but would mistakenly not compact the "Edit response" buttons on those rows. So the buttons would display even those the row itself was hidden, which is confusing to the user.
Change/improvement: The Stata syntax file that is produced during data exports now explicitly defines the minimum version as Stata 12. This reduces the number of issues that might occur when loading REDCap data into Stata by setting the first line of the syntax file as "version 12".
Bug fix: When a user that is assigned to a Data Access Group is accessing a longitudinal project via the mobile web view, it would mistakenly display all the records for the project in the record drop-down list on the page when instead it should only display the records belonging to the user's DAG. If the user clicked any records not in their DAG, it would not allow them to access them, as expected.
Change: When uploading a data dictionary containing a Text field with a min or max validation range in which the validation type of the field is a "number_Xdp" validation, it will accept values for the min or max if it is a number even though it does not follow the validation rule explicitly (e.g., it will allow a min of 5.6 even though the validation requires 3 decimal places). This is done because Microsoft Excel often removes any trailing zeros after decimals when opening the data dictionary and re-saving it. So this serves as a workaround for Excel's undesirable behavior without compromising anything with regard to data quality.
Bug fix: When using the REDCap::getData() method in a plugin or hook and providing a value for the $filterLogic parameter in which no records in the project match that logic, then instead of returning an empty array as it should, it would mistakenly return an array of every event's default values with a blank/null as the array's key (i.e., with a blank record name).
Bug fix: When using the auto-start feature for a survey in the Survey Queue, it would mistakenly not trigger the redcap_survey_complete hook when the survey was completed before auto-starting the next survey in the queue.
Bug fix: When a plugin or hook calls the REDCap::getData method for a project having a Data Access Group whose unique group name is numerical, it would ignore that numerical-named DAG if passed in the method's $groups parameter, thus causing an incorrect data set to be returned. (Ticket #839)
Bug fix: The "email" field validation type was modified to be more inclusive so that it now allows for plus signs (+) in email addresses, which is allowable for certain email services.
Bug fix: Some language was mistakenly not abstracted (i.e., was hard-coded in English) in the "Return Code" popup on a survey's "Save & Return Later" page.
Bug fix: The JavaScript functions that enable Slider fields and reset their value were mistakenly employing branching logic prior to calculations when it should have been performing calculations first for calc fields.
Bug fix: A user with special knowledge of how the Data Access Group page in a project makes AJAX requests to load the DAG list on that page might be able to bypass certain user privileges, such as being able to remove or change their own DAG assignment. (Ticket #848)
Change: When the API crashes due to exceeding web server memory during a data export or import, it now returns a 500 error code with the message "REDCap ran out of server memory. The request cannot be processed. Please try importing/exporting a smaller amount of data." In previous versions, it would return different status codes, which could be confusing and not helpful for the user to troubleshoot the situation. (Ticket #847)
Bug fix: When using the method REDCap::getPDF() inside a REDCap hook, it would mistakenly force a PDF file download instead of returning the PDF content string. It would work as expected for plugins but would only fail for hooks.
Bug fix: If the REDCap web server is on PHP 5.5.0 or higher, then it would fail whenever a user attempted to submit a data collection instrument to the REDCap Shared Library.
Change: The file_import.php file inside the API Example ZIP file was updated to work with PHP 5.5.0 and higher.
Bug fix: When initially installing REDCap, the two template projects named "Longitudinal Database (1 arm)" and "Longitudinal Database (2 arms)" that are auto-created during the installation contain some fields whose field label does not match the variable name, which could be confusing. (Ticket #858)
Bug fix: For certain web server configurations, some REDCap installations are not able to use the PROMIS CATs functionality due to cURL not being able to verify the PROMIS server's SSL certificate. This is now more compatible to work for all server configurations. (Ticket #862)
Bug fix: If the extra UTF-8 PDF package for REDCap has not been installed on the web server, then when a user attempts to export a PDF of a form/survey containing Signature field images, it would throw a PHP fatal error. It now displays the text "[signature]" in the PDF in this case when it is not able to display the Signature image itself inside the PDF.
Change: For the REDCap cron job, the maximum execution time in PHP was increased from 20 minutes to 60 minutes to prevent some long cron jobs from timing out.
Bug fix: When a Table-based user resets their own password and is setting a new one, in which they attempt to enter a password that has fewer than 9 characters, which is the the minimum, it displays an error message that mistakenly says it must be "10 characters" at minimum when it should instead say "9 characters". (Ticket #875)
Bug fix: When clicking the "Erase all data" button on the Other Functionality page in a project, although it does make all files in the File Repository no longer accessible (i.e., "deleted"), as it should, it mistakenly does not set those files for deletion on the server after 30 days. So those files mistakenly never get removed from the back-end after 30 days but instead remain on the server indefinitely as permanently orphaned.
Bug fix: If the Participant List for a survey contains more than 50 participants, and a user goes to remove a participant, then after removing the participant, it would mistakenly reset the list back to the first page of participants rather than keeping it on the current page of participants. This would make it very difficult to remove many participants in some cases.
Change: The API method "Export Users" will now return two new attributes for each user: "mobile_app" and "mobile_app_download_data". If mobile_app's value is "1", then the user has privileges to use the REDCap Mobile App for that project. If "0", then not. If mobile_app_download_data's value is "1", then the user has the ability to download all records from the project to the mobile app, but if "0", then the user will not have the option in the app to download any records to the app.
Bug fix: When using survey invitation reminders for a PROMIS or Neuro-Qol CAT, when the survey is completed by the participant, it would mistakenly not delete any reminders that were still to be sent in the future. This would cause the participant to keep receiving the survey invitation reminders (if any had not been sent at that point) after they had completed the survey, which is confusing.
Bug fix: When using a survey confirmation email for a PROMIS or Neuro-Qol CAT, when the survey is completed by the participant, it would mistakenly not send the confirmation email to the participant.
Improvement/bug fix: If a survey's title is blank (has no text), then the row for this survey in the Survey Queue would show up as blank, which could be confusing to participants. This also occurs when in the Automated Survey Invitation setup popup, in which the survey's option shows up as blank in the drop-down list of surveys. In these cases, it now displays the instrument name in place of the title if the title is blank.
Bug fix: In certain cases when a user has been suspended after their user expiration has taken affect for their user account, it would mistakenly keep sending them an email each week to let them know that their account was just suspended.
Change: Replaced the "Detailed Overview" video
Bug fix: When using the Dynamic Data Pull (DDP) module in a project, under certain circumstances (e.g., a record was missing a value in REDCap for the external source's identifier field when data is being pulled via the cron job) a record would mistakenly get used endlessly by the cron job when fetching data from the source system, which could bog it down and overwhelm the DDP data web service that calls the source system.
Post-release fix: If the REDCap server is set to send its stats to the consortium "automatically" and fails to do so, then it would redirect to the user to the Control Center and keep reloading the page over and over again to no end.