Version 9.1.0 - (released 5/30/2019)



Version 9.2.1 - (released 7/12/2019)BUG FIXES & OTHER CHANGES:Bug fix: The Smart Variable [user-email] was mistakenly not working. (Ticket #66937)Version 9.2.0 - (released 7/12/2019)NEW FEATURES, BUG FIXES, & OTHER CHANGES:10 new Smart Variables[project-id] - The Project ID (i.e., PID) of the current REDCap project.[user-fullname] -The current user's first and last name (as listed on their My Profile page).[user-email] - The current user's primary email address (as listed on their My Profile page).[redcap-base-url] - The base web address for the REDCap installation.[redcap-version] - The current REDCap version number of the REDCap installation.[redcap-version-url] - The base web address of the current REDCap version directory for the REDCap installation.[survey-base-url] - The base web address for surveys for the REDCap installation.[instrument-name] - The unique instrument name of the current survey or data entry form. It will return a blank value if not in an instrument context.[instrument-label] - The instrument label of the current survey or data entry form. It will return a blank value if not in an instrument context.[survey-title] - The survey title of the instrument specified by the 'instrument' parameter (if provided). If the 'instrument' parameter is not provided, the current survey instrument will be used, else it will return a blank value if not in an instrument/survey context.4 new Action Tags@NOW_SERVER - Loads the REDCap server's date+time into a blank Text field - similar to the @TODAY tag but additionally includes the time portion. If the field has validation, the value will adjust to match the date format. NOTE: The time used will be the REDCap server's local time, which might be different from the user's local time if in another timezone. Also, do not use this tag on fields with branching logic because it will always prompt the user to erase the value, so look at using @HIDDEN instead if you wish to hide the field.@TODAY_SERVER - Loads the REDCap server's date into a blank Text field - similar to the @NOW tag but without the time portion. If the field has validation, the value will adjust to match the date format. Also, do not use this tag on fields with branching logic because it will always prompt the user to erase the value, so look at using @HIDDEN instead if you wish to hide the field.@NOW_UTC - Loads the current UTC/GMT date+time into a blank Text field - similar to the @TODAY tag but additionally includes the time portion. If the field has validation, the value will adjust to match the date format. NOTE: The time used will be the current UTC/GMT time, which might be different from the user's local time if in another timezone. Also, do not use this tag on fields with branching logic because it will always prompt the user to erase the value, so look at using @HIDDEN instead if you wish to hide the field.@TODAY_UTC - Loads the current UTC/GMT date into a blank Text field - similar to the @NOW tag but without the time portion. If the field has validation, the value will adjust to match the date format. Also, do not use this tag on fields with branching logic because it will always prompt the user to erase the value, so look at using @HIDDEN instead if you wish to hide the field.Improvement: The email sent to the REDCap administrator that contains a link to the page for reviewing production project changes now includes the project ID (PID) in the email subject to allow admins to track emails for projects more easily and not get them confused with one another. (Ticket #48141)Bug fix: If the rich text editor in the Online Designer was used to style the field label of the record ID field, this styling would not be reflected when the record ID field label is displayed at the top of the data entry forms but instead the HTML would mistakenly be removed from the field label on the page. This would also occur if the record ID's field label was styled manually with HTML (i.e., not using the rich text editor). Note: On other pages throughout a project, any HTML in the record ID's field label is intentionally removed. (Ticket #66237)Bug fixes and updates for the External Module FrameworkBug fix: The Bootstrap version change in REDCap 9.1.1 mistakenly caused tabs to no longer function on the login page when using the "AAF (Australian Access Federation) & Table-based" authentication method. (Ticket #66411)Bug fix: If a user utilizes an HTML tag for styling a REDCap Messenger conversation or tags a user in a conversation, then it would mistakenly display raw/uninterpreted HTML in the Messenger conversation window. (Ticket #66433)Bug fix: When exporting a PDF containing data of an instrument or survey, if any radio button fields displayed in the PDF have a multiple choice option with "0" as the raw/coded value, then that radio button choice would always be marked as "selected" in the PDF, even if it is not truly selected on the webpage (i.e., is not the real value). (Ticket #66394)Bug fix: When viewing the popup of repeating events (but not repeating instruments) for a record on the Record Status Dashboard after clicking the "stack" status icon for a given record/event/instrument, it would mistakenly not display the piped version of the Custom Event Label (if defined) for each event displayed in the table in the popup. This has always worked when viewing a list of repeating instruments that have a Custom Repeating Instrument Label, but was not working if it was a repeating event that had a Custom Event Label. (Ticket #14382)Bug fix: If a data quality rule's logic contains fields from a repeating instrument or repeating event, in which neither an instance number nor an X-instance Smart Variable is not appended to those fields in the logic, then if the "real-time execution" option is enabled for the data quality rule and if a user submits the repeating instrument/event on which those fields are located, it might mistakenly return a false positive for a discrepancy existing, even if the logic does not evaluate as TRUE for the current repeating instance. (Ticket #66244)Bug fix: The icon/link that users can click to navigate to the REDCap Messenger informational page was mistakenly not visible in the Messenger left-hand panel. It should have been displayed to the left of the "Create new conversation" button. It has been fixed so that it is visible now.Bug fix: The rich text editor for field labels and section headers in the Online Designer was mistakenly being enabled by default for new fields being created. It was actually intended that it should be disabled by default for new fields, but could always be enabled manually by the user, if desired. (Ticket #66422)Bug fix: If a report has report logic containing fields from a repeating instrument or repeating event, the report might mistakenly return an extra row (which is mostly gray-colored since it pertains to a non-repeating row of data) if instance 1 of the record evaluates as TRUE for the report logic. This only appears to occur if the "Show data for all events or repeating instruments for each record returned" option is checked in Step 3 of editing the report. (Ticket #64767)Bug fix: When setting up the Survey Login feature in the Online Designer, the drop-down lists displaying fields that can be selected as login fields would mistakenly display HTML tags in the drop-down labels if the fields contained any HTML in their field label (whether using the rich text editor or manually-entered HTML). The HTML now no longer displays in the drop-down. (Ticket #66607)Bug fix: If an alert is set to be triggered "Using conditional logic during a data import or data entry" and also has the "ensure logic is still true" option enabled and is set to "Send immediately", then if the conditional logic has become true and has already sent the initial notification, it would mistakenly keep sending a new notification every time the record is saved while the conditional logic is still true. Instead it should only send it once (per repeating instance).Bug fix: If a project that is using randomization has branching logic defined for the randomization field and/or strata fields, in which a record is randomized on the data entry form and then (without reloading the page) a field is modified on the form which then causes the randomization/strata fields to be hidden, those fields would mistakenly be hidden and their values would be erased. This could cause major issues in the project for future randomizations. This behavior not occur if the page is reloaded after randomization has occurred. The randomization/strata fields should never be hidden by branching logic after randomization has occurred. (Ticket #66652)Bug fix: When viewing the Record Home Page in a longitudinal project that has both repeating instruments and repeating events, if the record being viewed contains multiple instances of a repeating event, then the "+" button in the main table for any repeating instrument might mistakenly navigate to an incorrect repeating instance of that instrument, such as skipping some instance numbers. This does not affect the quality of data in any way, but it can cause repeating instances to sometimes be incorrectly numbered for repeating instruments. (Ticket #62960)Bug fix: If an alert is set to "Send at exact date/time", it might mistakenly not send the very first notification if it is set to send multiple times as a recurring notification. However, it would still correctly send all recurring notifications after the first one (whether or not the first one sent).Version 9.1.2 - (released 6/27/2019)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature: Rich text editor for field labels and section headersFor any field on an instrument in the Online Designer, users may optionally utilize the rich text editor for styling field labels or section headers with many text-formatting options. The rich text editor allows users to change the color of text (including background color), create tables, add text of varying sizes, bullet lists, and more. For any field labels that were originally created without the rich text editor, users may optionally enable the rich text editor for any field by clicking the 'Use the Rich Text Editor' checkbox. It may also be disabled afterward at any time just the same. Rich text is enabled by default for any new fields being created via the Online Designer.Note: The PDF export of surveys/instruments will *not* reflect all the styling of the rich text editor, so keep in mind that line breaks and paragraphs should be represented well in PDFs, but other text-formatting options, such as large text, bullet points, and colors are not able to be translated into the PDF export of the instrument. This is a current limitation in REDCap.Improvement:?For "Clinical Data Mart" projects, a new option was added on the Project Setup page to enable a process that will auto-fetch all clinical data twice a day (based on Data Mart configuration) using a cron job. Similar to the other project-level Data Mart options on Project Setup, this option can only be enabled or disabled by a REDCap administrator. This feature will be useful in cases where new data is being entered into the EHR, after which that data needs to be imported into the project without having a person manually fetch the data for each record one at a time.Medium security fixes:?Cross-Site Scripting (XSS) vulnerabilities were discovered on several pages, in which a malicious user could potentially exploit them by manipulating user inputs in various locations throughout the application.Minor security fix:?A Cross-Site Scripting (XSS) vulnerability was discovered on the Data Import Tool page, in which a malicious user could potentially exploit it by manipulating the CSV data import file in a very specific way and then uploading it on the page.Minor security fix:?A Cross-Site Scripting (XSS) vulnerability was discovered on the page that displays the error message whenever any REDCap page fails the Cross-Site Request Forgery (CSRF) check, in which a malicious user could potentially exploit it by manipulating the HTTP referrer being sent to the webpage.Change/improvement: Added the security headers "X-XSS-Protection" and "X-Content-Type-Options" to provide more protection for each web request made to REDCap.Change: A new setting has been added called “Can REDCap server access the web (make outbound HTTP calls)?” on the General Configuration page in the Control Center. This setting can be set to "No" if the REDCap server has no connectivity to the World Wide Web. This helps prevent some REDCap pages from becoming very slow to load because they are making background requests to external websites.Bug fix: When using the Survey Queue in a project that has multiple arms, the queue might mistakenly display the surveys for a survey participant in an incorrect order. (Ticket #64506)Bug fix: For certain projects, enabling an instrument as a survey in the Online Designer might display the error message "An error occurred. Please try again.", but if the page is reloaded, it will show that the survey was actually created successfully.Bug fix: When a survey participant is completing a survey with the e-Consent Framework enabled, in which the participant is using a mobile device (iOS or specific Android software/hardware), the last survey page would mistakenly only display the first page of the inline PDF (if more than one page) when it should instead display all pages of the PDF. (Ticket #46978)Bug fix: When logic with fields from repeating instruments is used for a custom Record Status Dashboard filter, in specific complex cases the dashboard might mistakenly not display all the records that match that filter logic. (Ticket #65198)Bug fix: Some field labels, section headers, or custom event labels that contain certain number patterns, such as a number followed by a colon, might not get displayed correctly, in which odd characters and semi-colons might get mistakenly inserted before or after them in the block of text. (Ticket #64880)Bug fix: If a user uploads a file for a File Upload field or a Signature field on a data entry form, and the user then leaves the page without clicking the Save button, it would correctly upload the file but would mistakenly not trigger any Automated Survey Invitations or Alerts that have logic that references that field.Bug fix: When choosing to "Copy" an instrument via the "Choose action" drop-down on the Online Designer, if the instrument was enabled as a survey and contained any stop actions, those stop actions would mistakenly not get copied to the new instrument. (Ticket #62275)Bug fix: When using the @DEFAULT action tag on a multi-page survey, in which a survey field's value is being set using a field value from a previous page in the survey, then the action tag would mistakenly not function at all if the "Require a Reason" feature had been enabled for the project. (Ticket #54083)Bug fix: In the Online Designer, when creating a new matrix of fields immediately above a section header, it would mistakenly delete that section header below when saving the new matrix. (Ticket #62559)Change: On the Clinical Data Pull’s project list page (seen after launching REDCap inside an EHR), it now displays a link “View EHR patient identifier keys” that (when clicked) displays all possible EHR patient identifier strings for the institution’s EHR. This is to aid in setup of CDP and/or Clinical Data Mart since this value must be entered on the configuration page for Clinical Data Interoperability Services to be able to work properly for most EHR vendors.Bug fix: When viewing the Stats & Charts page for a project with repeating instruments or repeating events, in which the report being viewed has filter logic containing fields from a repeating instrument/event, it might mistakenly include non-relevant data in some bar charts or scatter plots on the page. (Ticket #60147)Bug fix: When clicking the "Survey Queue" option at the top right of a survey page, the survey queue would be displayed as too wide and would be off the page and not viewable if the respondent was viewing the survey on a mobile device. (Ticket #62318)Version 9.1.1 - (released 6/21/2019)BUG FIXES & OTHER CHANGES:Medium security fix:?A Cross-Site Scripting (XSS) vulnerability was discovered on many pages, in which a malicious user could potentially exploit it by manipulating the query string of an HTTP request.Minor security fix:?Updated the Bootstrap and jQuery libraries, which were outdated and contained minor security vulnerabilities.Improvement:?The file attachment option for data queries in the Data Resolution Workflow popup can now be disabled at the system level for all projects. This option is located on the "File Upload Settings" page in the Control Center as "Allow file attachments to be uploaded for data queries in the Data Resolution Workflow?". If set to "Disabled", it will merely not display the "Upload document" option for an open data query in the Data Resolution Workflow popup on a data entry form.Improvement:?For "Clinical Data Mart" projects, users may now download and upload the Data Mart configuration as a CSV file on the "Clinical Data Mart" page. This CSV file may be used to create a new revision of the Data Mart configuration.Bug fix: If an alert is set to be triggered when completing an instrument with any form status, it would mistakenly not get triggered if any Required Fields on the instrument were left blank. (Ticket #64639)Change: Removed unnecessary "error_log" statements throughout the code. (Ticket #64858)Bug fix: If an Automated Survey Invitation has a large lapse of time set for the units of days, hours, or minutes in Step 3 of the ASI setup, it could mistakenly cause survey invitations not to be scheduled appropriately (Ticket #65074)Bug fix: In the API Playground, the dynamically-generated code at the bottom of the page might mistakenly not escape apostrophes that are used in an API parameter value, thus outputting code that would cause an error rather than running successfully for the given programming language.Bug fix: If a report has a report filter than references a field in a repeating event or repeating instrument, on certain occasions it might mistakenly not filter correctly and thus not return the correct results in the report. (Ticket #65481)Bug fix: When testing the validity of an external URL for REDCap to make requests to (e.g., when adding a Data Entry Trigger), the test might mistakenly not be accurate with regard to whether the URL is valid. (Ticket #65521)Bug fix: The table of logged events on the project Logging page might mistakenly cause the username to overflow in the table row if the username is long.Bug fix: If a survey or data entry form contains a matrix with many fields, in which the height of the matrix is bigger than the height of the user's web browser window, the matrix headers might mistakenly not float at the top of the page (thus staying always visible as the page is scrolled) if some of the fields in the matrix are being hidden by branching logic.Bug fix: When attempting to upload a CSV import file for Automated Survey Invitations on the Online Designer, it would fail with no error message and would instead display an empty pop-up box to the user. (Ticket #65037)Bug fix: When a user is typing text into a biomedical ontology auto-search field on a survey or data entry form, it would mistakenly log each keystroke for the field in REDCap's redcap_log_view database table, which could cause the user's IP address to get banned in REDCap, thus locking them out temporarily. (Ticket #42552)Bug fix: When an alert is set to be sent when logic becomes true during data import or data entry, even though the alert is set to send just once, it might mistakenly keep sending every time a record is uploaded during a data import.Bug fix: When modifying an existing alert to send "just once" when it previously was set to send "multiple times", it would mistakenly not save that setting correctly if the number of minutes/hours/days for "multiple times" is not set to "0". (Ticket #64668)Bug fix: In certain cases, calc fields on multi-page surveys might inadvertently get skipped and thus not calculated if all questions on that page are being hidden by either branching logic or by the @HIDDEN or @HIDDEN-SURVEY action tag. This might cause data entry workflow issues (e.g., fields being skipped mistakenly) if some fields on that page have branching logic that is triggered by a hidden calc field on that page.Bug fix: When clicking the Records or Fields table header on the My Projects page's list of projects, it would mistakenly not sort the column correctly if any numbers contained a non-numeric character, such as a comma or decimal. (Ticket #64861)Bug fix: When attempting to upload a CSV import file for Automated Survey Invitations on the Online Designer, it would fail with an error message if the email subject and email body were not provided in the import file. This would cause issues in certain use cases, such as when using Twilio telephony services, that do not require and email subject or body. So the subject and body are now no long required as part of the import file. (Ticket #65037)Bug fix: If a user does not have Edit Access privileges for a specific report, then it would mistakenly display the Edit Report button at the top of the report and also the report's "Stats & Charts" page. However, if they clicked the button, it would not let them edit the report but would merely take them back to the "My Reports & Exports" page. (Ticket #65724)Bug fix: When clicking an option in the "Copy existing choices" popup in the Online Designer, it might mistakenly replace the ">" and "<" signs with their HTML character code when copying the choices into the Choices textbox inside the Edit Field popup. (Ticket #64268)Version 9.1.0 - (released 5/30/2019)BUG FIXES & OTHER CHANGES:New feature: Clinical Data MartThe Data Mart module can pull clinical data from the EHR in bulk (i.e., dozens or hundreds of patients at once), as compared with the Clinical Data Pull (CDP) that pulls patient data from the EHR just one patient at a time. Both Data Mart and CDP utilize REDCap’s “Clinical Data Interoperability Services” infrastructure, which can interface with any EHR system that has FHIR web services enabled. If CDP has already been set up and enabled in REDCap, then enabling Data Mart is very simple and requires no further setup other than enabling it on the CDIS page in the Control Center.OverviewTo use the Data Mart feature and create a Data Mart project, a user must be given explicit permissions for this by a REDCap administrator on the Browse Users page in the Control Center. Once they have been given permissions, they can navigate to the Create New Project page in REDCap to see a new option to create a Clinical Data Mart project. Note: If they have not yet launched the REDCap window from inside their EHR, it will inform them that they must first do so before proceeding. This must be done because launching the REDCap window inside the EHR, which is always the first step before a user can use either CDP or Data Mart. When creating the Data Mart project, the user defines the data pull configuration when creating the project - e.g., chooses specific MRNs, date range, and data fields from the EHR.Once the project has been created, the whole structure of the project (i.e., the fields and forms) will be pre-defined. To begin pulling clinical data from the EHR, the user must navigate to the Clinical Data Mart page using the link on the left-hand project menu. On that page, they may request changes to their existing Data Mart configuration (if they wish to add new MRNs, new fields, or modify the date range) and/or pull data from the EHR using the “Fetch clinical data” button near the top of the page. By default, users will only be able to pull data just one time and will not be able to modify the Data Mart configuration after initially being set when the project is created. However, an administrator can change these settings (see below) on the Project Setup page so that they may pull data as often as they wish or to allow them to make configuration changes when needed.Field mapping is not required for Data Mart projects since the project structure/instruments are pre-defined when the project is created. Demographics is created as a single data collection form, and the following forms are created as repeating instruments: Vital Signs, Labs, Allergies, Medications, and Problem List. Each data value on the repeating instruments are represented as a separate repeating instance of the form.User permissionsA user's REDCap account must be given Data Mart privileges by a REDCap administrator on the Browse Users page in the Control Center, after which the user will be able to create a Data Mart project and pull EHR data. (Note: This is not a project-level user right but a REDCap user account privilege.) Also, there is no optional User Access Web Service as there is with CDP to further control user access for pulling data.In order to pull data from the EHR, users must have access to the EHR and must have launched at least one patient in the REDCap window inside the EHR user interface.Users with Project Setup/Design rights in a Data Mart project will be able to request changes to the data pull configuration (if needed and if the project-level setting has been enabled).For more details about Data Mart and CDP, see the information on the CDIS page in the Control Center in v9.1.0 (including the downloadable Overview PDF), which is also available here:? using the Clinical Data Pull module, it now displays the patient's MRN inside the adjudication popup dialog. This makes it easier to confirm that a user is looking at the correct patient's data.Improvement:?When using the Clinical Data Pull module, the process of determining which FHIR access token is the best to use and still viable for a given user/patient has been much improved to reduce common token errors that have occurred in previous versions.Bug fix: When creating a Custom Record Status Dashboard that has filter logic, in which the logic contains Smart Variables and also the logic references fields in repeating instruments or repeating events, the dashboard might mistakenly not display the correct records. (Ticket #64045)Bug fix: If an Alert is set to be triggered when an instrument is saved and also has conditional logic, in which the instrument is a repeating instrument or is on a repeating event and also the logic references a field within that repeating instance, then the Alert would mistakenly not get triggered (unless using a [X-instance] Smart Variable for all repeating fields in the logic).Bug fix: If data values are being piped onto a form/survey (into field labels, etc.) in a longitudinal project, in which the values are being piped from another event (e.g., [other_event][field:checked]) and also the piping fields have colons in them (e.g., [field:value], [field:checked]), it might mistakenly cause the data not to get piped but would stay blank on the page.Fixes and updates for the External Module framework, including a fix for module icons not displaying correctly on the left-hand project menu.Bug fix: When using the PDF Auto-Archive for a survey in a project that has the project-level setting "Character encoding for exported files" set to "Chinese (UTF-8)" on the "Edit a Project's Settings" page in the Control Center, the Auto-Archive version of the PDF will mistakenly have unusually wide spacing for some text in the PDF, whereas PDFs of the survey downloaded from the data entry form will have typical spacing.Version 9.0.3 - (released 5/24/2019)BUG FIXES & OTHER CHANGES:Major bug fix:?Users are not able to create new projects (or request new projects be created) if they are using any version of Internet Explorer. Bug emerged in REDCap 9.0.2. (Ticket #64135)Medium security fix:?A Cross-Site Scripting (XSS) vulnerability was discovered on many pages, in which a malicious user could potentially exploit it by adding specific user-defined HTML that gets displayed on certain webpages throughout the application (e.g., in field labels on instruments; in survey instructions).Improvement:?Added support for Traditional Chinese in exported PDFs. Previous versions only supported Simplified Chinese in exported PDFs of instruments/surveys if the project encoding was set to “Chinese (UTF-8)”. Now on the “Edit a Project’s Settings” page and “Default Project Settings” page in the Control Center, it lists both “Simplified Chinese (UTF-8)” and “Traditional Chinese (UTF-8)” in the “Character encoding for exported files” option. Note: The only difference between the two Chinese encoding options are the fonts embedded inside exported PDFs; it does not affect other exported file types, such as CSV files.Improvement:?On the Alerts & Notifications page, the email "From" address is now displayed in the right-hand Email box for each alert.Bug fix: The field mapping page for Clinical Data Pull (CDP) and Dynamical Data Pull (DDP) Custom would mistakenly not load the field table correctly if attempting to map new source fields for the project.Bug fix: When moving a project to production while deleting all records or when erasing all records in a project, any records that have received an Alert or have an Alert scheduled will mistakenly still be shown on the Alerts & Notifications page afterward. (Ticket #63257)Change: For Alerts & Notifications, in Step 2B ("send it how many times?"), the "Just once" option now has more clarifying text for longitudinal projects or projects with repeating instruments/events to explain that that the alert will be triggered at a per-event and per-repeating-instance level.Bug fix: When suspending or unsuspending a user on the Browse Users page in the Control Center, the user search feature above will mistakenly no longer perform auto-complete functionality when typing in that text box (unless the page is refreshed). (Ticket #64071)Change: Improved accessibility on survey pages for users with visual impairments using screen readersBug fix: When running a Data Quality rule or performing a data import of fields used in a calculation, the resulting calculations that get saved might be incorrect if the project is longitudinal and if Smart Variables are used in the rule's logic. (Ticket #63606)Bug fix: When running Data Quality rule H or performing a data import of fields used in a calculation, the resulting calculations that get saved might be incorrect if the project is longitudinal and if Smart Variables are used in the calculation. (Ticket #63156)Bug fix: When an Automated Survey Invitation has conditional logic that references fields on multiple events, including an event that does not yet have any data saved for it, then the ASI might mistakenly not get triggered appropriately if the project is both longitudinal and also has either repeating events or repeating instruments. (Ticket #59942)Bug fix: If an MDY- or DMY-formatted date/datetime field is piped into the choice label of a drop-down field, then the date value might get scrambled and not formatted correctly when displaying the date inside the drop-down label on a form or survey. (Ticket #64223)Bug fix: If users are not allowed to create/copy projects but must request them be created/copied, then when an administrator is approving a "Copy Project" request in which some users are in user roles in the project but the requester has chosen not to copy the user roles into the new project, then it could cause the newly created project to have a "ghost" role (with no apparent name) that is still attached (in certain regards) to the old project. For example, if a user in the "ghost" role had an API token in both the new and original project, then when using the token to make API requests in the new project, it might mistakenly think that the token belongs to the old project instead. (Ticket #63667)Bug fix: An example link on the "Help & FAQ" page was mistakenly linking to the wrong example website.Version 9.0.2 - (released 5/17/2019)BUG FIXES & OTHER CHANGES:Improvement:?Force e-Consent signature fields to be erased when modifying responses - The e-Consent Framework setup on the Survey Settings page has a new option to allow users to specify up to five signature fields in the current survey, in which it will force all signature field values to be erased in the survey if the participant clicks Previous Page button while on the certification page (i.e., the last page of the survey). In many situations when using e-Consent, it is required that if the participant completes all the survey responses and gets to the certification page but then decides to go back to modify some responses, the field (or multiple fields) where they supplied their signature must first be erased, thus forcing them to re-sign the survey before they complete it. This new e-Consent Framework option helps to comply with this particular situation. Note: Only freeform text fields, signature fields, and number fields may be used as e-consent signature fields here, and those fields must be Required fields.Improvement:?Custom message for e-Consent Framework settings - In the e-Consent Framework section on the Modules/Services Configuration page in the Control Center, an administrator may define custom text (including HTML styling), in which that custom text will be displayed at the bottom of the e-Consent Framework section on the Survey Settings page in every project. This may be utilized for informing users of some information surrounding the use of the e-Consent Framework at the local institution, for example.Bug fix: Some Email Alerts might mistakenly not migrate into Alerts & Notifications in certain situations due to a query failing during the conversion process.Bug fix: In the Alerts & Notifications module, if an alert is set to be triggered by conditional logic only, it might mistakenly keep sending notifications whenever a form/survey is submitted so long as the condition is true, even when it is set to only send just one time.Bug fix: In the Alerts & Notifications module, if an alert was migrated from the Email Alerts module, in which the alert's "Email From" address did not correspond to any email address belonging to a user in the project, then it would mistakenly set it to a blank value when re-saving the alert, thus causing the email not to send or to send with an incorrect From address.Bug fix: In the Alerts & Notifications module, if an alert's email text is modified as HTML, in which an IMG tag is manually added that references an image URL on the current REDCap server, it would mistakenly get converted to a relative URL (i.e., the beginning of the URL would be removed). (Ticket #63664)Bug fix: In the Alerts & Notifications module, if an alert has one or more static attachment files, and the REDCap installation is not using "Local" file storage for uploaded files (as seen at the top of the File Upload Settings page in the Control Center), then while it would successfully send the notification, it would mistakenly not attach the attachments to the email notification that is sent. (Ticket #63664)Bug fix: The Clinical Data Pull (CDP) would not function successfully on Cerner systems because part of REDCap’s OAuth2 authorization process for FHIR only worked for Epic.Bug fix: Icon not positioned correctly on the General Configuration page in the Control Center. (Ticket #63566)Bug fix: If a user navigates to the Codebook page in a project and does not have "Project Setup & Design" user privileges in the project, it would mistakenly display the tabs for the "Online Designer" and "Data Dictionary" pages near the top of the Codebook page. Bug emerged in 9.0.0. (Ticket #63573)Bug fix: If using MySQL 8 for the REDCap database, the Calendar page in a project might mistakenly not display any calendar events on the page. (Ticket #63434)Bug fix: In certain situations, the External Module framework might mistakenly call a function twice on the Data Comparison Tool page, thus causing the page to crash fatally and preventing it from loading in certain projects.Bug fix: The Clinical Data Pull (CDP) would not function successfully on Cerner systems because FHIR requests for pulling labs and vitals were mistakenly not utilizing the correct format for LOINC codes passed in the request's query string.Bug fix: If a survey has the PDF Auto-Archiver enabled (with or without the e-Consent Framework enabled), when the survey is completed, it would mistakenly log the action as a Data Export action as if a user has manually downloaded the PDF. It should not log this event and is confusing to users.Bug fix: When using the Twilio telephony services for surveys, in which a telephone/number field has been designated as the "phone number field for survey invitations", it would mistakenly not display the record name on the Survey Invitation Log to prevent users from viewing it *unless* the Designated Email Field was enabled for the project or if a Participant Identifier had been entered in the Participant List. (Ticket #49955)Bug fix: When viewing a non-saved instance of a repeating event on a data entry form, the form status icons on the left-hand menu might mistakenly show the cumulative status of all the existing saved instances of the repeating event when instead it should display a gray stack icon since the current form-event-instance has not yet been saved. (Ticket #63956)Bug fix: When using the "Quick Add" dialog while editing a new or existing report on the "Data Exports, Reports, and Stats" page, unchecking the checkbox next to a field or clicking the "Deselect All" link for an instrument would mistakenly not remove the field from the underlying report on the page. (Bug emerged in REDCap 9.0.1.)Bug fix: When opening the "Set up Survey Queue" popup in the Online Designer, if the project contained many records (e.g., 1000+) and also many surveys, then the popup might not be able to open at all.Bug fix: When a survey participant partially completes a public survey and then returns to the survey to complete it later, it would mistakenly say "Response is only partial and is not complete" in the PDF if a user downloads the response as a PDF from the data entry form. (Ticket #62831)Version 9.0.1 - (released 5/10/2019)BUG FIXES & OTHER CHANGES:Change: Replaced many of the older icons in the user interface with Font Awesome icons, especially on the left-hand project menu and left-hand Control Center menu.Change: Consolidated the two project pages “Record Locking Customization” and “E-signature and Locking Mgmt” into a single two-tabbed page named”Customize & Manage Locking/E-signatures”. Note: If user only has access to one of these pages, they will simply not see the other page/tab.Bug fix: When enabling the Clinical Data Pull (CDP) module in a project, it would mistakenly say "Enable DDP on FHIR" in the Logging. It should instead say "Enable the Clinical Data Pull (CDP) module" in the Logging since that module was renamed and is no longer called "DDP on FHIR".Bug fix: The FHIR web service requests made by the Clinical Data Pull module would mistakenly make calls to the FHIR "Observation" endpoint using a format that was not compatible with some Epic installations. This was modified to a slightly more compatible format. (Ticket #63080)Bug fix: In the Alerts & Notifications module, it was mistakenly not allowing users to use Signature fields in the Message Attachment section of an alert.Bug fix: In the Alerts & Notifications module, for alerts set to trigger when saving a specific form or survey with conditional logic set, in which the alert is set to repeat after initially being sent, then if the "ensure logic is still true" option has been checked and a recurring notification has already been scheduled for a record, it would mistakenly not remove the recurring notification when the logic becomes false. And this only occurs if an initial notification has already been sent for that record for that alert.Bug fix: In the Alerts & Notifications module, whenever an alert is created or modified, the Logging page might get too wide when displaying the details of this event.Bug fix: In the Alerts & Notifications module, the Logging page might mistakenly display logged events when Alerts are created or modified when selecting a record from the "filter by record" drop-down.Bug fix: After being triggered, if an Alert is set to be scheduled after a delay (rather than sending immediately) and is set to only send one time, the Notification Log page would mistakenly display the record multiple times, all with the same time. Also, the Notification Log's "end time" might mistakenly get forcibly set to the current time and prevent users from viewing notifications that are scheduled to be sent in the future. (Ticket #63087)Bug fix: When clicking the form status stack icon on the Record Home Page or Record Status Dashboard for a repeating instrument/event, the popup displaying all the repeating instances would sometimes not be positioned correctly on the page and might be too narrow.Bug fix: When using the @DEFAULT action tag in a repeating survey, it might mistakenly think that the current survey has data and thus would prevent the action tag from operating, even when no data exists for that survey on that repeating instance.Bug fix: When importing data (via the Data Import Tool or API import) for a repeating event, if the field "redcap_repeat_instance" is not included as a field in the imported data set, instead of returning an error message, it would mistakenly allow the data to get imported. While this causes no problems for the first imported batch of data, any subsequent imports would mistakenly get piled on top of the existing data in the database (rather than updating the existing values), thus causing duplicate/multiple rows of data to pile up in the database for a given record/event/field, which could have various negative consequences, such as making some project pages very slow. Now it will instead return an error message if data for a repeating event is being imported in which the field "redcap_repeat_instance" is not included as a field in the imported data set. (Ticket #63128)Version 9.0.0 - (released 5/3/2019)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature: Alerts & NotificationsThe Alerts & Notifications feature allows you to construct alerts and send customized email notifications. These notifications may be sent to one or more recipients and can be triggered or scheduled when a form/survey is saved and/or based on conditional logic whenever data is saved or imported. When adding/editing an alert, you will need to 1) set how the alert gets triggered, 2) define when the notification should be sent (including how many times), and 3) specify the recipient, sender, message text, and other settings for the notification. For the message, you may utilize customized options such as rich text, the piping of field variables (including Smart Variables), and uploading multiple file attachments. While similar in many respects to Automated Survey Invitations, Alerts & Notifications allow for greater complexity and have more capabilities. For example, alerts apply to both data entry forms and surveys, and they also allow for more options regarding who can be the recipient of a notification (project users, survey participants, etc.).System-level permission settings – On the “Modules/Services Configuration” page in the Control Center (at bottom of page), administrators may adjust the settings that determine if normal users are able to use email field variables in an alert’s To/CC/BCC field and/or use email addresses entered manually as freeform text into an alert’s To/CC/BCC field. These settings will be determined based on the comfort level and/or policy of the local REDCap institution. By default, REDCap will allow normal users to use email fields and freeform text emails (i.e., both are enabled by default), but this can be easily changed immediately after installation or upgrading. Additionally, if Yes is chosen for allowing freeform emails to be entered, the admin may limit those emails to a specific whitelist of email domain names (e.g.,?,?mmc.edu) to provide some additional restriction there.Converting existing Email Alerts into Alerts & Notifications – If your REDCap installation currently has the Email Alerts external module installed and is being used in projects, there will be an option (a green button) at the top left of the Email Alerts configuration page to convert all the Email Alerts in a given project into Alerts & Notifications. This is an opt-in setting, and must be done for each project one at a time. It will present a dialog popup with information so that the user understands that there are some differences between EA and A&N, but overall, everything will be able to be converted, although the alerts might look slightly different afterward as A&N’s. Once the Email Alerts are converted, the Email Alerts module will be automatically disabled for the project, and the user will be redirected to the A&N page. Note: The conversion instructions notes that if (for whatever reason) the A&N’s are not behaving like the user anticipated, they can easily revert back to using Email Alerts again by 1) deactivating all the A&N’s that were created from the conversion, and 2) have an administrator re-enable the Email Alerts module.Improvement:?The rich text editors on the Survey Settings page have now been updated to a newer version of the TinyMCE package. (Note: IE9 and IE10 will still use the older version of the rich text editor because they are not compatible with the newer one.)Improvement:?New records can now be created directly from the Record Status Dashboard. If record auto-numbering is enabled, it will display an “Add new record” button, otherwise it will display a text field for users to enter a new record name to create.Improvement:?Links to the Online Designer, Data Dictionary Upload page, and Codebook were added to the left-hand project menu for easier navigation. Also, a new section “Project Home and Design” was added on the left-hand menu to contain all these links, as well as the Project Home and Project Setup page links.Change: The Quick Tasks box on the Project Home page was removed since all the pages listed inside it are now located on the left-hand project menu, thus making the Quick Tasks box redundant.Bug fix: Certain types of HTML tags in a field label might cause parsing issues when exporting to stats packages, especially SAS. To prevent this, all HTML tags will now be removed from field labels as they are included in the stats package syntax files. (Ticket #57751)Bug fix: When calling the "Export Records" API method, if any invalid values were passed in the API request parameters "events", "fields", or "forms", it would often ignore the incorrect value and would mistakenly not return an error. Additionally, in this scenario it might mistakenly return all events, all fields, or all forms, respectively, rather than limiting the data returned to only the valid values in those filter parameters. (Ticket #54273)Bug fix: If a production project is in Draft Mode, and a matrix field's label has been modified *and* the field has data saved for one or more records, this is now considered a critical issue during the production change approval process because of specific cases where changing a matrix field's label can change its meaning and thus negate the existing data - much more so than with regular non-matrix fields. (Ticket #60834)Bug fix: If a repeating instrument is enabled as a repeating survey, and then later the instrument is set to no longer be repeating via the "repeatable instruments" dialog on the Project Setup page, it would mistakenly still display the repeating survey icon (i.e., green circle arrow) next to the instrument in the Online Designer. (Ticket #60869)Bug fix: If running a REDCap server with PHP 7.3, then the PDF Auto-Archiver would fail, as well as attempts to add PDF attachments to confirmation emails when surveys are completed. In all cases, it would crash with an HTTP 500 sever error. (Ticket #55868)Bug fix: Some Smart Variables, especially those related to repeating instance, would mistakenly not pipe correctly inside survey instruction text and survey completion text.Version 8.11.11 - (released 4/26/2019)BUG FIXES & OTHER CHANGES:Bug fixes and updates for External Module frameworkBug fix: If hyperlinks exist inside multiple choice labels on a survey that has Enhanced Choices enabled, the hyperlinks might mistakenly not be displayed in the correct color (depending on the survey design settings) and thus might not be readable.Bug fix: For multi-page surveys having fields with branching logic, in very specific situations some pages of the survey might mistakenly get skipped over. (Ticket #62299)Bug fix: When a hook or External Module is using REDCap::saveData() on a project page and importing data into another project, it may mistakenly change the global variable $Proj to point to the other project, thus causing possible issues on the page after the REDCap::saveData() method has been called.Bug fix: When importing data for a repeating instrument or event (via API or Data Imort Tool), it would mistakenly be possible to import a non-integer number value (e.g., 2.1, 5.44) for the redcap_repeat_instance field.Bug fix: The Action Tag @NONEOFTHEABOVE fails to work if it references a choice not wrapped in quotes and is also followed by other text in the Field Annotation - e.g., ""@NONEOFTHEABOVE=0 @INSTANCETABLE_HIDE". (Ticket #61939)Bug fix: When using the Twilio telephony services for surveys, in which a telephone/number field has been designated as the "phone number field for survey invitations", it would mistakenly not display the record name on the Survey Invitation Log to prevent users from viewing it. Since a field's value is being used, the response is already de-anonymized (i.e., a user can connect the participant in the Participant List to a specific record), thus it should not hide the record name in the Survey Invitation Log. (Ticket #49955)Version 8.11.10 - (released 4/19/2019)BUG FIXES & OTHER CHANGES:Minor security fix:?A Cross-Site Scripting (XSS) vulnerability was discovered on the Data Import Tool page, in which a malicious user could potentially exploit it by manipulating data values for a specific field being imported in the CSV data file.Change: The Data History Widget on data entry pages now displays the "seconds" component of the "Date/Time of Change" timestamp for when the data value was added/modified. This allows users to view the logging items with greater granularity for when data changes are made in narrow windows of time.Bug fixes and updates for the External Module frameworkBug fix: On the Online Designer, when using the "Test logic with a record" feature for the Advanced Branching Logic Syntax in the "Add/Edit Branching Logic" popup or the "Test calculation with a record" for a Calculation in the "Add/Edit New Field" popup, it would mistakenly say that there was an error in the syntax every time if the project is longitudinal. (Ticket #54822)Bug fix: On the Survey Settings page, if a survey has the e-Consent Framework enabled, and then an administrator disables the e-Consent Framework for all projects in the system (via the Modules/Services Configuration page in the Control Center), then the Survey Settings page would mistakenly still display the e-Consent Framework options. (Ticket #62075)Bug fix: When the Double Data Entry module is enabled in a project, and the current user is DDE person #1 or #2, it would not display the form status icons with the correct color on the Record Status Dashboard but would instead mistakenly always display them as gray status icons. This bug emerged in the previous version. (Ticket #62212)Bug fix: The Clinical Data Pull (CDP) would not function successfully on Cerner systems because part of REDCap’s OAuth2 authorization process for FHIR only worked for Epic.Bug fix: When using Google reCAPTCHA for surveys, if the REDCap server was not able to communicate with the Google server (even temporarily), it would effectively prevent participants from ever reaching the survey. It now goes ahead and allows the participant to take the survey without succesfully passing the reCAPTCHA if the Google server does not respond back within 5 seconds. (Ticket #61969)Bug fix: When using Google reCAPTCHA for surveys, the REDCap footer text was mistakenly not being displayed on the reCAPTCHA page, and the style/locations of the survey title and logo were slightly incorrect on the reCAPTCHA page. (Ticket #61969)Version 8.11.9 - (released 4/12/2019)BUG FIXES & OTHER CHANGES:Major bug fix:?The DateDiff+Today/Now cron job would sometimes crash due to a fatal PHP error caused when processing the [survey-link] Smart Variable in the message of an Automated Survey Invitation. This would occur only under very specific conditions, and it would result in many projects/records not having their ASI datediff logic being processed, thus the ASI's survey invitations would not get successfully scheduled in these cases and might cause invitations from other unrelated projects not to get scheduled either. (Ticket #61346, #61213)Major bug fix:?When a project is using a public survey that has "Save & Return Later" enabled with "Allow respondents to return without needing a return code" enabled, then if a participant clicks the "Save & Return Later" button on the public survey and leaves the survey open on the "Your survey responses were saved!" page while another participant partially or fully completes the survey, and then if the original participant clicks the "Continue Survey Now" button on the "Your survey responses were saved!" page, then the original participant will mistakenly create a brand new record/response whenever they submit survey page again after returning. (Ticket #61764)Improvement: Added links to "select all" or "deselect all" for the checkbox options on the "Copy Project" page.Bug fix: When viewing the Field Comment Log popup on a data entry form, if the username in the User column is very long, it would mistakenly not wrap in the table but instead would overflow into the next column. Note: This was only partially fixed in a previous version. (Ticket #60923)Bug fix: The page footer on project pages would sometimes not be displayed at the very bottom of the page if the left-hand menu was taller than the right side of the page.Bug fix: In a project that has sent many survey invitations (e.g., >50,000), it could cause both the Public Survey Link page and the Participant List page to load very slowly and in some cases never fully load at all.Bug fix: When using the Clinical Data Pull, it would mistakenly make a POST request (instead of a GET request) to the Conformance Statement (metadata) endpoint. This would only cause issues with certain EHRs/configurations. (Ticket #61549)Bug fix: For some pages in REDCap, the PHP constant "PAGE" might mistakenly get set as "/index.php" rather than "index.php", which could cause problems for existing External Modules or hooks that must utilize the value of PAGE to determine the current location. This has now been changed so that any slashes at the beginning of PAGE will be trimmed off before it gets defined. (Ticket #61776)Bug fix: When exporting data in CSV Labels format for projects whose language is set to a language other than the default English, it would mistakenly always display *all* the choice labels for checkbox fields in the export file, rather than outputting the choice labels for only the checkbox options that had been selected for that field. (Ticket #60620)Change: Added note about e-Consent feature on the REDCap Home Page.Bug fix: When the Double Data Entry module is enabled in a project, and the current user is DDE person #1 or #2, it would not display the form status icons with the correct color on the left-hand menu when viewing a record but would instead mistakenly always display them as gray status icons. (Ticket #57484)Change: More explanatory info was added on the Survey Settings page for Question Numbering, Question Display Format, and Response Limit.Bug fix: The DateDiff+Today/Now cron job would mistakenly get run for projects that had been deleted in the past 30 days. It now ignores any projects that have been deleted by a user.Bug fix: When using the e-Consent Framework for a survey, the resulting PDF of the consent survey would mistakenly not obey the project-level PDF Customization setting to show or hide the REDCap logo/URL under specific conditions. This would vary depending on if certain settings were set for the e-Consent Framework, such as having first/last name fields defined or consent version. (Ticket #58221)Bug fix: When using the e-Consent Framework for a survey, if custom PDF header text is set under the project-level PDF Customization settings, it would mistakenly not get displayed on the resulting PDF of the consent survey.Version 8.11.8 - (released 4/4/2019)BUG FIXES & OTHER CHANGES:Minor security fix:?If a malicious user is able to find the URL endpoint at which REDCap Messenger's message history can be downloaded as a CSV file for a given conservation, they could potentially exploit it by manipulating the query string of the HTTP request, which might allow them to download other users' conversations to which they do not have access.Minor security fix:?If the hook functions file (as defined on the General Configuration page in the Control Center) begins with "http" or "ftp", then REDCap will not attempt to call/include that path.Major bug fix:?When using Smart Variables in the conditional logic of an Automated Survey Invitation, in which the logic also contains a datediff function using "today" or "now" as a parameter in the function, it would often cause the ASI cron job to not correctly parse the logic and thus not schedule the invitations at the correct time, or it might mistakenly cause the cron job to crash unexpectedly without finishing scheduling all other ASIs for other surveys.Bug fix: When using branching logic or a calculation that contains a X-event-name or X-instance Smart Variable connected, in which it references an event or instance that does not exist (e.g., [previous-event-name] while on the first event), it would not fail gracefully but would mistakenly display an error message saying that the logic/calculation is incorrect.Bug fix: When completing an Adaptive survey or Auto Scoring survey from the REDCap Shared Library, the "redcap_survey_complete" hook would mistakenly not pass a value for the "record" and "response_id" parameters in the hook. (Ticket #60668)Bug fix: If the Clinical Data Pull feature is enabled for a project, it would still mistakenly display "DDP" (instead of "CDP") in a couple places in the project (Record Status Dashboard, Logging page).Bug fixes and updates for External Modules frameworkBug fix: If a multi-page survey contains a matrix of fields, in which those fields are used in branching logic or in a calculation on another page on that survey, it would mistakenly display the matrix fields on the survey page containing the fields that reference them in their logic/calc. (Ticket #61134)Bug fix: A single LOINC lab was mistakenly missing from the field mapping page for Clinical Data Pull.Bug fix: If a multi-page survey contains a page in which every field on the page is a Descriptive field and also has branching logic, it would mistakenly always skip the page regardless of whether all the fields were hidden by branching logic.Bug fix: When the redcap_survey_identifier field is displayed in a report or data export, it would mistakenly only display the participant identifier value on the first event of a given record and would not display it if the first instrument was a repeating instrument. It now always displays the participant identifier value in the redcap_survey_identifier column of a report/export for every row/item for a given record. (Ticket #59811)Bug fix: The FHIR web service requests made by the Clinical Data Pull module would mistakenly make calls to the FHIR "Observation" endpoint using a slightly incorrect format according to HL7's FHIR standards. This does not appear to affect CDP when interfacing with Epic but when interfacing with other EHR vendors (notably Cerner). (Ticket #61150)Bug fix: The code for generating the Survey Queue setup table was mistakenly referencing variables that had not been defined. However, this did not affect anything. (Ticket #61030)Bug fix: If the setting "Auto-suspend users after period of inactivity" is enabled, and some users who are suspended have not had any activity within the designated period of inactivity, then if the user has a sponsor and the user's sponsor puts in a request to have them unsuspended, the user would mistakenly get re-suspended within a day. (Ticket #58909)Bug fix: If a normal user is copying a project and is also in a User Role, it would mistakenly not give them their current role's privileges in the new project but instead would give them the privileges that they had before being put into a role in the copied project. (Note: The user will always be removed from the user role in the new project and will always be given User Rights and Project Setup/Design Privileges.) (Ticket #55767)Bug fix: If an administrator is viewing the table of users on the Browse Users page, if they check the checkbox next to a user and then click the "Fetch for selected" link (under "Time of latest password reset"), it would display an erroneous error message about no users being selected if all the selected users are suspended. It should instead work for all table-based users regardless of whether the users are suspended or not. (Ticket #60625)Change: The form status field on a data entry form has a blank drop-down option which serves no purpose. The blank option has been removed. (Ticket #60849)Bug fix: When exporting an Project XML file containing data from a project, if any multiple choice option labels contain ASCII control codes, it would mistakenly prevent the data from being restored completely in the new REDCap project being created. (Ticket #34968)Change: The Configuration Check page in the Control Center now ensures that the REDCap server can communicate with the Google reCAPTCHA API service, if enabled. (Ticket #60764)Bug fix: The plugin/module method named "REDCap::evaluateLogic" might mistakenly not interpret logic correctly it it contains checkbox fields and if the project is classic/non-longitudinal. (Ticket #60998)Bug fix: The upgrade page would attempt to display a non-existent icon in a button on the page. (Ticket #60560)Bug fix: Fixed a page layout issue that occurred at specific page widths. (Ticket #60317)Version 8.11.7 - (released 3/24/2019)BUG FIXES & OTHER CHANGES:Medium security fix:?A Cross-Site Scripting (XSS) vulnerability was discovered on many pages, in which a malicious user could potentially exploit it by manipulating the query string of an HTTP request.Major bug fix:?When the Clinical Data Pull (CDP) is enabled on a project, if extra data is imported from the EHR for several patients at one time via the cron job (after a user has already pulled some patient data from the EHR for those patients), in certain cases it might mistakenly not clear out data from another patient whose data is being fetched and thus inadvertently add one patient’s data to another patient.Bug fix: Some data exports were not getting correctly logged as "Data Export" on the project logging page, specifically when downloading PDFs with data and downloading an "exported data file" or an "exported syntax file". It now lists "Data Export" as the proper Action for these events and also displays them when filtering the logging page by event="Data Export". (Ticket #59278)Bug fix: When updating the value of the Secondary Unique Field or the designated survey email field for a project that is either longitudinal or has repeating events/forms, it would mistakenly not log the value change across all events/instances as it should since a new value for those fields gets propagated to every event/instance in the project to keep them all in sync. They now all get logged as separate logged events, which allows the value to always appear in the Data History widget on the data entry page. (Ticket #59586)Bug fix: When performing piping of a field with the Smart Variable [X-instance] appended to the field variable, it would sometimes mistakenly not perform the piping at all. (Ticket #59671)Bug fix: When performing piping of the Smart Variable survey-time-completed or survey-date-completed with the parameter ":value" appended to the end of it, it would mistakenly throw an error on a survey or data entry form if it was being used in branching logic or in a calculated field. (Ticket #59885)Version 8.11.6 - (released 3/15/2019)BUG FIXES & OTHER CHANGES:Minor security fix:?A Cross-Site Scripting (XSS) vulnerability was discovered on certain pages, in which a malicious user could potentially exploit it by manipulating the query string of an HTTP request.Bug fix: Incorrect text was displayed in the Edit User popup on the User Rights page that mistakenly referenced "Clinical Data Pull" instead of "DDP" in projects with DDP Custom enabled.Change: Support was added to External Module framework to support return values for hooks. Specifically, the hook redcap_custom_verify_username was modified so that if it returns result “status” of “1” or TRUE, it will display a green message box containing the return “message”, whereas if return “status” is “0” or FALSE, it will display a red message box containing the return “message”.Bug fix: If a survey that has Survey Auto-Continue enabled is a repeating instrument and is then followed by another survey that is a repeating instrument, then if respondent completes the first survey, it will mistakenly take them to repeating instance #2 of the following survey, thus skipping over instance #1.Bug fix: Fixed typo in Clinical Data Pull error message. (Ticket #59005)Bug fix: When launching patients in the EHR embedded window for the Clinical Data Pull, in certain situations, especially if the user does not have access to all the FHIR end-points (often due to a limitation in their EHR privileges), it might mistakenly cause the FHIR access token in the database to get removed for that user for that patient, thus resulting in an error message to the user stating that there are no available access tokens that can be used.Bug fix: When using the Data Resolution Workflow, the Resolve Issues page might mistakenly display negative counts for certain data query statuses.Bug fix: When importing data where the field "redcap_repeat_instance" has a numerical value but the current event/form in the data (i.e., CSV row) does not exist on a repeating instrument or repeating event, it would mistakenly allow the data to be imported, but the imported data would immediately be orphaned since that data would not be accessible in the user interface. It now gives an error for this situation. This issue was supposedly fixed in the previous version (and the version before that), but mistakenly it would sometimes display a false positive for this issue and return the error under legitimate circumstances, specifically when only checkbox fields were being imported (not including the record ID field, event name, or repeat fields). (Ticket #57699)Fixes and updates for the External Module FrameworkBug fix: When viewing the REDCap login page on a mobile device (device width <575 pixels), it would mistakenly display a "Go to My Projects" button on the page. (Ticket #59494)Bug fix: When using the Data Resolution Workflow in a project and opening a data query on a field on a data entry form, the floating Save button that appears next to the field when the field is selected was mistakenly not being displayed in the correct location on the page if the field, specifically when navigating from a link on the Resolve Issues page for a radio button field. (Ticket #59373)Bug fix: When using the "Test logic with a record" feature when setting up an Automated Survey Invitation, on certain occasions it might return an incorrect response. (Ticket #59030).Bug fix: The HTML character code " " might mistakenly get displayed in the text of PDFs downloaded for an instrument but only if downloading the blank PDF (without data). (Ticket #58790)Bug fix: When using the Randomization module with strata fields, in which one or more strata fields exist as part of a matrix of fields, it would mistakenly cause a JavaScript error to occur on the data entry form where the strata fields are located, thus preventing the form from being saved successfully. (Ticket #59639)Bug fix: The field count for projects on the My Projects page was mistakenly not including Descriptive fields. This could be confusing for users. It now includes all fields in the field count now. (Ticket #60004)Bug fix: When performing piping of a field with the Smart Variable [next-event-name], [previous-event-name], or [event-name] prepended to the field variable, it would sometimes mistakenly not perform the piping at all. (Ticket #44559)Version 8.11.5 - (released 2/21/2019)BUG FIXES & OTHER CHANGES:Bug fix: When there exist a lot of branching logic and several matrices of fields together on a survey page or data entry form, the page will scroll very slowly for the user. Bug emerged in REDCap 8.11.0. This issue was improved upon in the previous version but still existed for instruments with many hundred fields or more. (Ticket #58443)Bug fix: When downloading the CSV file of Automated Survey Invitations on the Online Designer, the file's filename might mistakenly begin and end with an apostrophe, thus preventing it from being opened correctly on the user's computer. (Ticket #58445)Bug fix: If a matrix of fields exists on a data entry form, then the matrix's floating headers might mistakenly get partially obscured by the floating box of Save buttons that appear at the top right of the page. (Ticket #58484)Bug fix: When importing data where the field "redcap_repeat_instance" has a numerical value but the current event/form in the data (i.e., CSV row) does not exist on a repeating instrument or repeating event, it would mistakenly allow the data to be imported, but the imported data would immediately be orphaned since that data would not be accessible in the user interface. It now gives an error for this situation. This issue was supposedly fixed in the previous version, but mistakenly in the previous version it would sometimes display a false positive for this issue and return the error under legitimate circumstances. (Ticket #57699)Bug fix: The example Java code generated by the API Playground for the "Export Records" API method contained an error. (Ticket #58488)Bug fix: Some specific PROMIS assessments that are downloading from the REDCap Shared Library as part of a battery might be mistakenly labeled as "Auto-scoring" or "Adaptive" in the Online Designer after being downloaded when such instruments are actually neither "Auto-scoring" nor "Adaptive". (Ticket #58488)Bug fix: If using the Survey Auto-Continue feature to continue to a survey that is a repeating survey instrument, if any repeating instances have already been created for that repeating survey, then after completing the first survey, it would mistakenly say that the repeating survey has already been completed. It should instead advance the respondent to the next available repeating instance of the repeating survey so that a new repeating instance can be added via survey. (Ticket #58624)Bug fix: When exporting an Project XML file containing data from a project, if any text field values contain ASCII control codes, it would mistakenly prevent the data from being restored completely in the new REDCap project being created. (Ticket #34968)Bug fix: Fixed a typo in the Twilio configuration instructions. (Ticket #58731)Bug fix: When downloading the Project XML file (metadata only) for a project, it might mistakenly begin and end the XML filename with an apostrophe.Version 8.11.4 - (released 2/15/2019)BUG FIXES & OTHER CHANGES:Text changes: The “DDP on FHIR” feature was renamed “Clinical Data Interoperability Services”. The main (and currently only) feature under the “Clinical Data Interoperability Services” umbrella of services is the “Clinical Data Pull” (CDP). Other services will be added in future versions of REDCap, such as “Clinical Data Mart”.Bug fix: After the initial schedule is generated for a record on the Scheduling page, if the user modifies one of the dates in the schedule so that it is the same as the maximum date or minimum date (if a min/max is set for an event), then on certain occasions it would mistakenly display a popup saying that the new date is out of range when in fact it is not.Bug fix: When there exist a lot of branching logic and several matrices of fields together on a survey page or data entry form, the page will inevitably get slower and slower as more and more branching logic gets triggered on the page during data entry. This could eventually cause the page to ultimately become unresponsive in certain situations. Bug emerged in REDCap 8.11.0. (Ticket #58019)Bug fix: Several project pages might appear too narrow for specific screen sizes. Bug emerged in REDCap 8.11.2.Bug fix: Updated an outdated item on the Help & FAQ page regarding how often the ASI cron job runs (Ticket #58205).Bug fix: When using the @DEFAULT action tag to have a date/datetime field reference itself from a previous repeating instance on a repeating instrument, it would mistakenly not pipe in the value correctly on the first instance of that instrument, thus mangling it with a value of "[]" or "00-00-0000" or other non-sensical value. (Ticket #17157)Bug fix: When using the Data Resolution Workflow in a project and opening a data query on a field on a data entry form, the floating Save button that appears next to the field when the field is selected was mistakenly not being displayed in the correct location on the page. (Ticket #57905)Bug fix: For specific server configurations and project sizes, the project Logging page might take an exorbitant amount of time to load when initially loading the page. (Ticket #58251)Bug fix: When importing data where the field "redcap_repeat_instance" has a numerical value but the current event/form in the data (i.e., CSV row) does not exist on a repeating instrument or repeating event, it would mistakenly allow the data to be imported, but the imported data would immediately be orphaned since that data would not be accessible in the user interface. It now gives an error for this situation. (Ticket #57699)Bug fix: When calling the API method "Export Survey Participants" while utilizing the designated survey email field in the project, it would mistakenly omit the values for the participant's email address or record name in the API response. (Ticket #58349)Bug fix: When calling the API Method "Export Records" with the "format" parameter set to "odm", it would mistakenly not include all files from File Upload and Signature fields, which are expected to be base64-encoded inside the ItemDataBase64Binary tags in the resulting XML. (Ticket #54301)Bug fix: On the To-Do List page in the Control Center, if an administrator clicks the icon to add a comment to a To-Do List item, the "Submit" button in the resulting popup displayed would not be sized or positioned correctly. (Ticket #54301)Version 8.11.3 - (released 1/31/2019)BUG FIXES & OTHER CHANGES:Improvement:?When copying a project, there are now separate options for copying users and/or user roles. In previous versions, these were combined as a single choice "Copy users and roles", but now users may decide to copy one or the other. (Ticket #36687)Bug fix: If an individual project was set to "Offline" status by an administrator, any survey invitations in that project that had been scheduled to send would mistakenly still send. Invitations should not be sent out unless the project is in "Online" status. (Ticket #57045)Change: If the current date or current timestamp is used in the REDCap upgrade script with regard to storing the date of the upgrade and when setting the send-time of system notifications via Messenger, it will now use the database's date and time at the time of the SQL script execution instead of the hard-coded values generated by the web server on the Upgrade page. (Ticket #57079)Bug fix: If upgrading from 8.11.0 or 8.11.1 to 8.11.2, it would mistakenly provide some SQL to fix database errors after completing the upgrade. (Ticket #57103)Bug fix: Many API requests would mistakenly return a "503" HTTP status code error on certain errors when it should instead return a "400" error.Bug fix: When downloading a PROMIS Battery from the REDCap Shared Library, it would mistakenly not display the battery survey pages according to the PROMIS guidelines, in which the battery title should be displayed on every page (not the title of each individual assessment) and that the survey instructions are only seen on the first assessment of the battery. This will only affect batteries that will be downloaded in the future from the Shared Library. Also, although these particular title and instructions settings will be set when a battery is downloaded, it will always be possible for a user to modify the title and/or instructions afterward, if they wish (though it is not preferred).Bug fix: When a participant completes a PROMIS adaptive survey or PROMIS auto-scoring survey that finishes after only one question, it might mistakenly not save the survey completion time of the survey response.Change: Added a link to the Codebook page on the Data Import Tool instructions to allow users to more easily find the raw coded values for multiple choices fields that they wish to import.Change: The output of the REDCap Cron Job now displays the current server time on which each job completed. The timestamp is listed in parentheses after the word "done!" for each job.Bug fix: The last column in the Participant List table might not be displayed fully. (Ticket #57184)Bug fix: Under certain conditions, REDCap Messenger's "System Notifications" section would mistakenly not display the messages for that section in the Messenger panel. (Ticket #57247)Bug fix: When selecting to view Report B on the "Data Exports, Reports, and Stats" page for a longitudinal project, if the report is displayed as a multi-page report and specific events have been selected as a filter by the user, then if the user selects another report page to view using the page drop-down selector, it would mistakenly lose the event filter for the report (because the "events" parameter would not get included in the URL) and thus would display rows from every event on the page. (Ticket #57254)Bug fix: For certain server configurations, when REDCap is creating a cache of a project's record list in a database table (as an invisible, back-end process to the user), it might mistakenly doubly UTF8-encode some record names, resulting in a database query error, thus causing the record list caching process to constantly fail and possibly display an outdated list of records in the user interface (e.g., Record Status Dashboard). (Ticket #56523)Change: The "Survey Settings" page in the Online Designer now gives slightly more emphasis to the "e-Consent Framework" feature to make it easier for users to find it on the page.Bug fix: If a Custom Record Status Dashboard has filter logic that references fields from a repeating instrument, it might mistakenly return an empty set, thus resulting in a dashboard with no records displayed, when it is known that some records should be displayed. Bug emerged in REDCap 8.11.2 (Standard). (Ticket #57234)Bug fix: The lab field "Ketones Ur-mCnc" (LOINC 49779-2) was mistakenly missing from the DDP on FHIR list of mappable fields.Bug fix: The cron job "AutomatedSurveyInvitationsDatediffChecker2" might mistakenly crash if SQL fields are piped into the email subject or email message of Automated Survey Invitations that contain datediff + today or now in the ASI conditional logic. (Ticket #57356)Change: When a user clicks the "Help & FAQ" link on a project's left-hand menu, it will now load the "Help & FAQ" page in a new window to prevent the user from losing their current page context in the project as they view the "Help & FAQ" page.Bug fix: When editing the project title, purpose, etc. in the Modify Project Settings popup on a project's Project Setup page, if Research is selected for Purpose, then the fields for entering the Name of the P.I. would mistakenly not wrap together, thus leaving the last name field on a row by itself. (Ticket #57417)Bug fix: When exporting Report B (i.e., without creating a new report from the selections of Report B) on the "Data Exports, Reports, and Stats" page, if a specific instrument is not selected but "All instruments" are left selected, it might mistakenly not list any fields in the resulting stats package syntax file (for R, SAS, Stata, SPSS), thus preventing the exported data from loading properly in the stats package.Bug fix: On the Cron Jobs page in the Control Center, the suggested command to set up the REDCap cron job on a Windows server was mistakenly not escaping paths that contained a space in them. This has been fixed to present the correct command. (Ticket #57426)Version 8.11.2 - (released 1/24/2019)BUG FIXES & OTHER CHANGES:Major bug fix:?When a project is using a public survey that has "Save & Return Later" enabled with "Allow respondents to return without needing a return code" enabled, then if a participant clicks the "Save & Return Later" button on the public survey and leaves the survey open on the "Your survey responses were saved!" page while another participant partially or fully completes the survey, and then if the original participant clicks the "Continue Survey Now" button on the "Your survey responses were saved!" page, then the original participant will mistakenly have the other participant's response loaded for them on the survey page.Change/improvement: When using the e-Consent Framework, a new option was added to the Survey Settings page: "Allow e-Consent responses to be edited by users?". If left unchecked (default), then users will not be able to edit a completed e-Consent response (although it can be locked or e-signed by a user with locking/e-signature privileges). If the setting is checked, then users will be able to modify the survey response so long as they have "Edit survey responses" privileges for that survey instrument. Note: If the e-Consent survey response is modified after being completed, this will not affect the e-Consent PDF file that was stored in the File Repository.Change/improvement: In the popup dialog for moving a project to production, it now displays the number of records in the project to help the user decide if they wish to keep all data or have all records deleted when moving to production.Bug fix: When using REDCap::getData() in a module, plugin, or hook, in which some filter logic is passed as a parameter and is expected to return an empty result set (because there are no matches for the filter logic), it might instead mistakenly return results with blank values for all fields being returned (with the exception of the record ID field and pseudo-fields, such as redcap_event_name), even though those fields might actually have non-blank values. (Ticket #56806)Bug fix: When a user selects to display "ALL" records on the Record Status Dashboard in a project containing a large amount of records, if the page ends up crashing due to too many records being displayed, then the user would mistakenly never be able to view the Record Status Dashboard again without it crashing (because it remembers to show all records the next time the page is visited). (Ticket #56662)Bug fix: If a calc field utilizes Smart Variables in its calculation, and a user performs a data import or executes Data Quality rule H, then other calculated fields in the project might have their value mistakenly set as the calculated result of the other calc field, thus overwriting the correct value of that other calc field. This is rare but can occur in specific situations depending on the structure of the project and the order of the calc fields involved. (Ticket #56731)Bug fix: The Google reCAPTCHA box on the Public Survey Link page might cause the "Link Actions" and "Link Customizations" sections to be misaligned on the page for some non-English languages. (Ticket #56868)Bug fix: If the Data Resolution Workflow is enabled in a project, then incorrect language is displayed inside the "Data Quality rules were violated!" popup on a data entry form whenever a Data Quality rule has "real time execution" enabled.Bug fix: When viewing the Field Comment Log popup on a data entry form, if the username in the User column is very long, it would mistakenly not wrap in the table but instead would overflow into the next column.Bug fix: When a user attempts to access a REDCap project that has been set to "Offline" on the "Edit a Project's Settings" page by an administrator, it would mistakenly display the default system-offline message rather than the project-offline message. (Ticket #56938)Bug fix: Certain project pages might not display correctly on tablets (causing the main right-hand window to display below the left-hand menu), especially if the project's language is set to a non-English language. (Ticket #56872)Version 8.11.1 - (released 1/23/2019)BUG FIXES, & OTHER CHANGES:Bug fix: If running REDCap on PHP 5.5, the Online Designer page would mistakenly not load. Bug emerged in REDCap 8.11.0. (Ticket #56859)Version 8.11.0 - (released 1/22/2019)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature: Microsoft Azure Quick Start?– Method for quickly deploying a full, production-ready REDCap server environment on Microsoft Azure Cloud Platform. This includes a completely automated way for deploying the server infrastructure as well as a fully automated installation of REDCap. For details, see the top of the page?(Note: The REDCap “Easy Upgrade” feature does not yet work with Azure but is expected to in a later REDCap version).New feature: The "Survey Link Lookup" external module was integrated into REDCapThis feature allows administrators to take a survey URL and find and navigate to the corresponding project, survey, record and data entry form. The Survey Link Lookup page is located under the “Projects” section on the left-hand menu in the Control Center.If this external module was already enabled on the REDCap installation, it will automatically be disabled during the upgrade process to prevent any possible conflicts.New feature: The "REDCaptcha" external module was integrated into REDCapThis feature allows users to utilize the Google reCAPTCHA functionality to help protect public surveys from abuse from “bots”, which are automated software programs that might enter trash data into surveys. The feature must first be enabled at the system level on the Modules/Services Configuration page in the Control Center since it requires an administrator generate a new Google API pair of keys that will be used for this functionality. Once the site key and secret key are set, users will then be able to choose to enable the Google reCAPTCHA functionality on the Public Survey page in their project, after which the public survey will display the reCAPTCHA checkbox and “I’m not a robot” text on a survey page prior to allowing the participant to view the public survey. This feature is not employed on any private survey links because those are unique to a record and thus would never be made publicly available like a public survey link would.Note: A survey participant will never have to pass the reCAPTCHA test more than once per day on a given device/computer.Additional note: If this external module was already enabled on the REDCap installation, it will NOT automatically be disabled during the upgrade process. Thus you may consider disabling the module after the upgrade if you wish the utilize this new integrated feature.? New feature: The "Sticky Matrix Header" external module was integrated into REDCap.?This feature will cause matrix headers to float and stick to the top of a page on either a survey or data entry form so that the matrix headers are always visible, which is helpful for matrices with many rows. If this external module was already enabled on the REDCap installation, it will automatically be disabled during the upgrade process to prevent any possible conflicts.? New feature: The "Codebook Concertina" external module was integrated into REDCap.?This feature will display Expand and Collapse buttons for each instrument listed on the Codebook page in a project. If this external module was already enabled on the REDCap installation, it will automatically be disabled during the upgrade process to prevent any possible conflicts.? Minor security fix:?A Cross-Site Scripting (XSS) vulnerability was discovered on certain pages, in which a malicious user could potentially exploit it by manipulating the query string of an HTTP request.? Improvement:?When enabling an instrument as a survey or editing an existing survey's survey settings, it now displays a "Save Changes" button at the top of the page (next to the Cancel button) so that the user does not necessarily have to scroll all the way to the bottom to submit the page.? Change: PHP 5.5 is now the minimum required PHP version.?In previous versions, the minimum required PHP version was PHP 5.3.? Change/improvement:?When viewing a survey response on a data entry form that had been completed using the E-consent Framework, users with Record Locking privileges will now be able to Lock and E-sign the instrument. Previously in all versions of REDCap version 8.10.X, the entire instrument was read-only, including the Locking and E-signature options. (Ticket #54874)? Improvement:?If a URL is included in a message posted on REDCap Messenger (including those sent via General Notifications from an administrator), the URL will be displayed as a clickable link to the user in the Messenger panel.? Change/improvement:?The Custom Record Label and Secondary Unique Field values are now displayed with the record name in the table on the "PDF Survey Archive" tab in the File Repository if the "PDF Auto-Archiver" is enabled for one or more surveys in a project. In previous versions, it did not display them next to the record name.? Change: For projects in production, the settings on the Record Locking Customization page can now be edited by any user that has "Record Locking Customization" privileges in the project. In previous versions, only REDCap administrators could modify this page's settings while in production. This change will alleviate the burden of administrators for many production projects needing to make changes on this page.? Bug fix: In server environments with PHP error reporting enabled, it would display a deprecation notice regarding the constructor of several PHP classes. (Ticket #55557)? Bug fix: When viewing an individual user on the Browse Users page in the Control Center, if the user is a Table-based authentication user and their secondary or tertiary email address has not yet been verified, then it would mistakenly not display the buttons to auto-verify the address or re-send the verification email to the user. This only occurs if the user is a Table-based user.? Bug fix: When a form or survey is submitted, in which there do not exist any fields on the instrument that are used in a calculated field anywhere in the project, then it would mistakenly trigger the calculation of all calc fields in the project. It should instead only trigger calculations if a field being submitted is used in a calculation. (Ticket #55192)? Bug fix: The "Export Survey Participants" API method would mistakenly not include some participants in the resulting API response if those participants had not first been viewed by a user either on the Participant List page or on the data entry form for the survey instrument that was passed as a parameter in the API request. Once a user had viewed the data entry form or Participant List for that instrument, the participants would then appear in the API export. (Ticket #55517)? Bug fix: When creating a project and selecting the option to upload a REDCap Project XML file, if the user fails to upload an XML file and then clicks the "Create Project" button, it would mistakenly create an empty project. It should instead give a warning to the user to upload an XML file and prevent the user from submitting the page. (Ticket #55731)? Bug fix: When a user makes a request to an administrator that a project be copied, it would mistakenly not check off some of the checkboxes on the Copy Project page when the administrator loads the page via the link in the email or via the To-Do List. This includes the following options: All report folders, All data quality rules, All project bookmarks, and All custom record status dashboards. (Ticket #55751)? Bug fix: When attempting to rename a record to "0" on the Record Home Page, it would fail and return an error message to a user. (Ticket #55723)? Bug fix: When using the Smart Variables form-link, form-url, survey-link, or survey-url to create links/URLs either to or from a repeating instrument or repeating event, it might mistakenly add the instance number of the current context to the URL when instead it should evaluate whether or not the instance number makes sense to be added to the target URL. (Ticket #54776)? Bug fix: When using Twilio telephony services for surveys, U.S. phone numbers having the area code "463" would mistakenly not work for SMS or voice calls unless the number has a "1" prepended to it. (Ticket #55668)? Change: The System Statistics page in the Control Center would load very slowly for large installations, especially if they had DDP Custom or DDP on FHIR enabled. The page has been reconfigured to fetch all DDP-related stats asynchronously.? Bug fix: When adding/editing/deleting a Report Folder or assigning/unassigning a report to a Report Folder and then closing and re-opening the Report Folder popup, the user would mistakenly no longer be able to perform any actions inside that popup (as if its elements were locked). (Ticket #55878)? Bug fix: When a user enters an incorrect password on the login page, it might mistakenly cause some of the custom login text (if any) to become disproportionally enlarged. (Ticket #55945)? Bug fix: When creating/editing a record on a data entry form, in which the record name contains a forward slash or back slash, it may cause a Data Quality rule with Real Time Execution not to get triggered correctly or cause the Required Field popup alert not to display correctly. (Ticket #56093)? Bug fix: If a participant partially completes a survey using the "Save & Return Later" feature, in which there is no email address associated with that participant (either via the participant list or via the designated survey email invitation field), then the page that gets displayed immediately after clicking the "Save & Return Later" button might mistakenly display the text "You have just been sent an email containing a link for continuing the survey" for a moment and then suddenly disappear, which could be confusing.? Bug fix: When inline images are used for Descriptive fields on a survey or form, then if the user is viewing the page on a mobile device and the image's native width is smaller than the width of the page, it would mistakenly not resize it correctly and would make it too small on the page. It now makes the image wider on the page for better viewing of it.? Bug fix: When printing a page in the Control Center, the left-hand menu would mistakenly not be removed from the print-out when using Firefox. (Ticket #56340)? Bug fix: The "Announcement text to display at top of Home page and My Projects page" would mistakenly not get displayed at the top on the REDCap Home Page if the "Additionally display text on login page?" option is set to "No". (Ticket #56618)? Bug fix: If the biomedical ontology auto-suggest functionality is disabled as the system level, it would mistakenly prevent users on the Online Designer from setting a min or max limit for a Text field in the "Add Field"/"Edit Field" popup. (Ticket #56499)? Bug fix: When entering a number- or integer-validated text field on a form or survey on an Android device, it would mistakenly open the full keyboard when typing in the field rather than displaying a more appropriate number-centric keyboard. (Ticket #56447)? Bug fix: When entering a number-validated text field on a form or survey on an iOS device, it would mistakenly open the full keyboard when typing in the field rather than displaying a more appropriate number-centric keyboard.? Bug fix: "event_id" was mistakenly not listed as a reserved field name to prevent users from using it as a field's variable name. (Ticket #56627)? Bug fix: When an administrator is approving a "Move project to production" request on the To-Do List page, the To-Do List popup would mistakenly not automatically close after the request was approved or if the admin clicked Cancel to close the request. (Ticket #56457)? Bug fix: When using the @MAXCHECKED action tag for a checkbox field, if a user clicked on the checkbox’s label (rather than on the checkbox itself), it would appear to keep the checkbox unchecked if the @MAXCHECKED limit has been reached, but it would mistakenly save the checkbox as checked. (Ticket #56658)? Bug fix: For specific screen widths, the nav items at the top of the page on the Home page, My Projects page, etc. would mistakenly not be visible.? Bug fix: When performing a data import in projects with repeating instruments or repeating events, the "redcap_repeat_instance" field could mistakenly be imported with a value of "0", which should never be allowed because it must always be an integer larger than "0". (Ticket #28842)? Bug fix: If a required field is changed to be a Descriptive field, it would still mistakenly display the "must provide value" text below the Descriptive field's label on a survey page or data entry form. (Ticket #56719)? Bug fix: After selecting the "Export Reports" API method in the API Playground, the "Report ID" drop-down list would mistakenly not get rendered correctly, thus preventing users from utilizing it on that page. (Ticket #56707)? Bug fix: When using the survey-link or survey-url Smart Variable in the email message for an Automated Survey Invitation, in which the instrument name is appended to the Smart Variable (e.g. [survey-link:survey_2]), then if the appended instrument name is different from the survey instrument for the current ASI, it would mistakenly replace the Smart Variable with the link to the current ASI survey rather than with the explictly specified one. (Ticket #55400)? Bug fix: When using the first-event-name or last-event-name Smart Variable in branching logic or in a calculated field, in certain cases it might not get interpreted correctly, thus mistakenly resulting in a branching logic error message on a survey page or data entry form. (Ticket #56583)? Bug fix: When setting the conditional logic for an Automated Survey Invitation in a longitudinal project, if any fields are prepended with the Smart Variable [event-name], it would cause the ASI not to send the invitation if step 2 had the "Ensure logic is still true before sending invitation?" option selected while Step 3 was set to "Send immediately". (Ticket #55919)? Bug fix: When setting the conditional logic for an Automated Survey Invitation in a longitudinal project, if any fields are prepended with the Smart Variable [event-name] and the user selected a record from the "Test logic with a record" drop-down, it would mistakenly return "False" even when the condition is actually True.? Bug fix: When setting the branching logic for a field in the "Add/Edit Branching Logic" popup on the Online Designer, if a user selected a record from the "Test logic with a record" drop-down, it would mistakenly return "False" even when the condition is actually True. (Ticket #56623)? Bug fix: When a repeating instrument is being used as a survey and is being displayed in the Survey Queue, then it may mistakenly display the text "All surveys in your queue have been completed" on the Survey Queue if only 6 surveys have been completed in the queue (including all instances of the repeating survey), which could be confusing to respondents who might want to keep taking the repeating survey. Since a repeating survey is by definition open-ended and can be taken over and over again without end, the Survey Queue should never state "All surveys in your queue have been completed" if the queue contains at least one repeating survey. (Ticket #56540)Version 8.10.1 - (released 12/20/2018)BUG FIXES & OTHER CHANGES:Improvement:?New options added to Secondary Unique Field functionality - In the "Additional Customizations" popup on the Project Setup page, users may now choose to optionally display the Secondary Unique Field's value in conjunction to displaying a record name on various project pages (in previous versions it was always displayed regardless). If left unchecked, the uniqueness of the value will still be checked during data entry or import, but the Secondary Unique Field's value will not be displayed next to the record name anywhere (e.g., in record lists, record status dashboards, reports). A second option has also been added that dictates whether or not the field label of the Secondary Unique Field will be displayed next to the value (if the value is set to be displayed next to a record name).Improvement:?The External Modules Framework now has a new "Update All" button in the Control Center to allow administrators to easily upgrade all their installed modules to the latest version of each module with a single button click.Change/improvement:?The "Help & FAQ" page was updated with new content.Change/improvement:?Super API Tokens can now be used for the "Export REDCap Version" API method. In previous versions, only project-level API tokens could be used for this method. This will allow users to be able to obtain the REDCap version number outside the context of a project.Change: Dashes/hyphens can now be used as the raw coded value for multiple choice fields.Bug fix: When clicking the "Close Survey" button after completing a survey, in certain cases REDCap will not be able to close the tab, and certain browsers might mistakenly redirect the user to the page where survey access codes are typically entered. (Ticket #54305)Bug fix: The "Test URL" buttons have been removed from the "DDP on FHIR" page in the Control Center because they did not work most of the time, thus giving administrators the impression that the URL entered was incorrect.Bug fix: When accessing REDCap using DDP on FHIR while in an EHR-embedded window, if the session ended and the user logged back in, it would mistakenly not remember that the user is inside the embedded window and would thus not hide all appropriate elements from the user interface that it should.Bug fix: For DDP on FHIR, the coded multiple choice options for sex, race, and ethnicity were not complete and, in some cases, incorrect for certain EHR configurations. During the upgrade process, these choice options for existing DDP on FHIR projects will have both their data and metadata translated into the new options. The field sex will now have options M, F, and UNK, while ethnicity and race will be replaced by a long list of LOINC codes to represent them properly.Change: The "email" field was removed from the "DDP on FHIR" field mappings list due to potential privacy issues related to the possibility of users obtaining patient email addresses.Bug fix: When the system is performing the back-end process of caching a record list in a project, if a record name contained a special character, it might cause the record list caching process to silently fail. This would go unnoticed, with the exception of viewing a specific Data Access Group's records, in which it would mistakenly display all records in the project rather than just the records assigned to that DAG.Bug fix: When an administrator is viewing the "API Tokens" page in the Control Center or the "Manage All Project Tokens" tab on a project's API page, the "Last Used" column for a given user might mistakenly display "Never" instead of the last time the user made an API request for the project. This appears to occur due to a case sensitivity issue with the username, in which the case of the user seen on the Browse Users page in the Control center does not exactly match the case of the username with which the user logged in or with which the user is listed on the project's User Rights page. (Ticket #54748)Bug fix: The auto-logout warning displayed to the user after a period of inactivity on a page would mistakenly display the wrong text after their session has officially expired. Once expired, it would mistakenly say "You will be automatically logged out of REDCap in 30 SECONDS due to inactivity..." when instead it should say "Due to inactivity, your REDCap session has expired...". It was displaying the 30-second warning twice. (Ticket #54746)Bug fix: When using the "Preview" and "Test email" functionality when composing a survey invitation in a multi-arm project, if any fields are being piped into the email, in which the field being piped is prepended with the unique event name of an event from an arm other than specifically Arm 1, then it mistakenly would not replace the field with the text "PIPED DATA" as expected but would instead replace it with "______". (Ticket #54559)Bug fix: When creating a new record in a non-longitudinal/classic project that only contains one data collection instrument, if the user clicks the Cancel button on the data entry form before saving/creating the record, it would mistakenly just reload that form rather than redirecting the user back to the "Add/Edit Records" page. (Ticket #54752)Bug fix: When calling the API Method "Export Project XML", it might mistakenly not include all files from File Upload and Signature fields even though the exportFiles parameter had been set to TRUE (assuming that returnMetadataOnly=FALSE). (Ticket #54301)Bug fix: When calling the API Method "Importing Repeating Instruments and Events" for a classic/non-longitudinal project, it would mistakenly return an error stating that the event name was not included in the request. The event name is actually not required when using this method for classic/non-longitudinal projects.Change: General updates and fixes for the External Modules Framework.Bug fix: When viewing a record on a data entry form in a project that contains one or more repeating instruments, it would mistakenly only display the number of repeating instances of a form on the left-hand instrument menu if the user was currently viewing any form that had been set as a repeating instrument. It should always display the number of repeating instances next to each repeating instrument on the left-hand menu for a given record. (Ticket #54846)Bug fix: When viewing a record on a data entry form in a project that contains one or more repeating instruments, for all repeating instruments displayed on the left-hand instrument menu, it would mistakenly display the form status stack icon representing the status color of the first instance of the repeating instrument rather than displaying an icon representing all the instances (e.g., red stack icon representing all instances having "complete" status, blue stack icon representing mixed status types). This excludes the icon displayed for the currently selected form/instance, which was correctly displaying the form status icon of the currently viewed repeating instance. (Ticket #54846)Bug fix: When using the data search feature on the "Add/Edit Records" page in a project, in which no results are returned from a given search, in some cases the "Searching..." text might mistakenly still be displayed afterward (instead of the text being hidden), thus incorrectly implying that the search has not yet finished. This could be confusing and mislead the user. (Ticket #54818)Bug fix: When using an SQL field that contains a comma in the results for the data values that are returned from the SQL query, after selecting and saving an option with a data value that contains a comma, it will save the value correctly but in certain cases may mistakenly cause the value to not get pre-selected when a user returns later to the form, which could cause a blank value to mistakenly overwrite the saved value unbeknownst to the user if the form is saved again. (Ticket #54988)Bug fix: If a project's metadata is exported via the Project XML file, in which a multiple choice field contains an HTML break tag (<br>) in its choice option label, then if a new project is created from the XML file, it might mistakenly add extra choices to that field if any text exists after the HTML break tag for a given choice. (Ticket #55122)Bug fix: The "record" column in the table on the Survey Invitation Log page would mistakenly not wrap the record name and thus would truncate longer record names displayed in that column.Version 8.10.0 - (released 12/6/2018)BUG FIXES & OTHER CHANGES:New API method: “Import Repeating Instruments and Events”?– Allows users to import a list of the repeated instruments and repeating events for a project as a means of setting which instruments and events should be repeatable.New feature: Many project components added to the Project XML file?– When downloading the Project XML of metadata or metadata+data on the Project Setup->Other Functionality page, it now provides checkboxes to allow users to incorporate the project components listed below in the XML file. This means that all these things will be easily transferable now when exporting/importing the Project XML to create a new project on the same REDCap server or on a different REDCap server. Note: The server on which a project is being created using a Project XML file must also be on REDCap 8.10.0 or higher in order for these components to be added, otherwise it will simply ignore these components when creating the new project.Data Access Groups (including DAG assignments for records if data is included in the XML file)Data Quality RulesUser RolesSurveys and survey settings (including a survey logo, if used)Automated Survey InvitationsSurvey QueueReportsReport FoldersRecord Status DashboardsDDP Field Mappings (for DDP Custom and DDP on FHIR) – administrator must still enable DDP in the project manuallyChange: Survey responses that were completed using the e-Consent Framework will no longer be editable (this includes no editing on data entry forms, surveys, Data Import Tool, API, and Mobile App). In previous versions, completed e-consent surveys were editable.Bug fix: After adding fields to a report via the "Quick Add" dialog popup on the "Data Exports, Reports, and Stats" page, those new fields would mistakenly not be draggable afterward if the user wishes to move a field to another position in the report.Bug fix: For certain server configurations related to PHP’s decoding of HTML entities, the Survey Settings page might not be able to properly store or display the survey instructions text or the survey completion text if they contain certain non-Latin characters.Bug fix: Users would mistakenly be allowed to use the @DEFAULT action tag for Signature fields and File Upload fields. This can cause synchronicity issues of a single file being associated with multiple fields, and thus should not be allowed. It will now ignore the @DEFAULT action tag if used for such fields.Bug fix: When viewing the Draft Mode production changes page in a project, if the project had been initialized in the REDCap Mobile App, then it would mistakenly give the warning "Please note that they *may* be affected by these changes and may not be able to successfully imported their data from the app afterward..." even though no current users have Mobile App user privileges anymore. It should only be displaying the warning if at least one person in the project still has Mobile App privileges and has initialized the project in the app at some point in the past.Bug fix: When exporting data via the "Export Records" API method with type="eav" and providing Filter Logic as a parameter in the API request in which no records should be returned based on that filter logic, it would mistakenly return all records instead.Change: When granting a user access to a project via the User Rights page, in which the "notify user via email" checkbox is checked, it now includes a link directly to the project in the resulting email to the user, whereas previous versions only included a link to the main REDCap home page.Version 8.9.3 - (released 11/28/2018)BUG FIXES & OTHER CHANGES:New feature: AWS Quick Start?– Method for quickly deploying a full, production-ready REDCap server environment on AWS (Amazon Web Services) CloudFormation. This includes a completely automated way for deploying the server infrastructure as well as a fully automated installation of REDCap, including the ability to utilize the REDCap “Easy Upgrade” feature. For details, see the top of the page? features relating to Data Privacy (e.g., GDPR)?– The new settings listed below are available on the “Edit a Project’s Settings” page for a given project. Thus these must be enabled by a REDCap administrator on a per-project basis(optional)?Delete a record's logging activity when deleting the record?- If enabled, this will delete all the data values and actions logged for the given record being deleted as seen on the Project Logging page. Note: For multi-arm longitudinal projects, this feature will delete the record's logging for the given record only in the current arm. This feature can be used to aid in compliance with GDPR or similar regulations that require 'right to erasure'.(optional)?Auto-delete all Data Export Files in the File Repository that were created more than X days ago?– To enable this setting, an administrator may set a value from 1 to 999 to set the number of days after which all Data Export files will get automatically deleted from the project’s File Repository. This feature can be used to aid in compliance with GDPR or similar regulations that require 'right to erasure'. NOTE: This will only delete files under the Data Export Files tab. No other types of files in the File Repository will be deleted.(optional)?Custom footer text for survey pages?- Custom text may be provided (including HTML-formatted text) that will be displayed either via a modal dialog or inline at the bottom of all survey pages in the project. This could potentially be used for display a data privacy statement or other similar things that should be displayed on the same page where data is collected. Note: This is only display on survey pages.Change/improvement:?When composing a survey invitation on the Participants List page or via Survey Options on a data entry form, the "From"/sender drop-down list now displays all the email addresses (primary, secondary, and tertiary) of all users in the project, which is how the setup dialog for Automated Survey Invitations has always behaved. In previous versions, these two places would only allow the user to choose from the current user's email addresses as the "From"/sender address. This provides more flexibility, and establishes greater consistency between all the interfaces for scheduling survey invitations.Major bug fix:?If a slider field on a data entry form has a value set, and then the user clicks the balloon icon next to any field to open the Field Comment Log popup, it would mistakenly set the slider value to 50, sometimes unbeknownst to the user. This does not occur on survey pages but only data entry forms. (Ticket #53371)Improvement: If a REDCap cron job fails to complete (often due to a fatal PHP error), it will now send an email to the REDCap Administrator (using the email address listed on the General Configuration page in the Control Center) to inform them of this error. The email will note which cron job failed and when, as well as the details of the PHP error itself. This should help some folks troubleshoot issues if this ever occurs. (Ticket #19260)Bug fix: If a user is viewing a project's Record Status Dashboard in which some records has been assigned to Data Access Groups, then under certain rare conditions (e.g., users bookmarking a link to the RSD after a DAG has been deleted in the project) users might not see all the records on the RSD anymore, which could be confusing. (Ticket #53335)Version 8.9.2 - (released 11/16/2018)BUG FIXES & OTHER CHANGES:Improvement:?A new search utility was added to the top of the “Help & FAQ” page to make finding keywords easier on the page. It allows for multiple word matches and also “exact phrase” matching. When performing the search, all matching questions/answers will be displayed on the page with the keywords being highlighted while non-matching questions/answers will be hidden on the page.Improvement:?The DDP field mapping page (for both DDP Custom and DDP on FHIR) now has a CSV import/export capability that allows users to easily import an existing DDP mapping rather than having to set the field mapping manually via point-and-click. This will save users a lot of time for those who wish to test the same mapping in multiple projects and/or on multiple REDCap installations.Improvement:?A new "Filter by event" option was added to the Logging page: "Record deleted (only)". This allows users to display only the logged events in which a record was deleted in the project.Bug fix: Certain web browsers (e.g., Chrome) would mistakenly be allowed to pre-fill Notes fields on a survey page or data entry form, which might also cause other fields on the page (such as Text fields or Radio button fields) to have values inserted into them as well.Bug fix: Under certain conditions when a field on a survey/form is using the @DEFAULT action tag, and the survey/form has already been saved at least once (i.e., does not have gray form status icon), it might mistakenly display the red bar on the right side of the field as if the value has changed even though it has not.Change: Upgrading the Font Awesome library to version 5.5Change: More debugging information was added to DDP on FHIR’s adjudication popup to provide more information to REDCap administrators in the event that a FHIR access token fails to pull data from the EHR.Bug fix: When downloading certain PROMIS Adaptive or Auto-Scoring instruments from the REDCap Shared Library, viewing a completed survey response on its data entry form might mistakenly display a popup error due to malformed branching logic, specifically for the T-Score field.Bug fix: If a user has "De-Identified" or "Remove all tagged Identifier fields" privileges and then exports a PDF of a form with saved data, then any multiple choice fields that are tagged as an Identifier field would still have all their choices displayed, although it would not display which choice was selected, which is confusing because it appears as if the field has a blank value rather than having its value redacted due to user privileges. In this situation, it now no longer displays the field choices but instead says "[*DATA REMOVED*] so that the user understands that the saved value was removed from the PDF.Change: Added a small note on the DDP mapping page (for both DDP Custom and DDP on FHIR) that the MRN field cannot exist on a repeating instrument/event. This message is only displayed when repeating instruments/events exist in the project.Change: Data Quality rules A and B have always ignored checkbox fields. But since a checkbox field can be set as "required", in which it produces an error message if no checkbox option is checked, then DQ rule A and B appear to be inconsistent with regard to whether a checkbox field can truly be empty/blank. To make these consistent when interpreting the missingness of checkbox fields, DQ rules A and B will no longer ignore checkboxes but will return discrepancies for a checkbox if it has no options checked. (Ticket #53120)Bug fix: The FHIR scope "patient/Patient.read" was missing when "DDP on FHIR" makes calls to the EHR. This caused "DDP on FHIR" not to function for some EHRs, such as Cerner. (Ticket #53285)Bug fix: When using "DDP Custom" or "DDP on FHIR" in which a value already exists in REDCap for a mapped DDP field but a blank value exists (i.e., is missing) for the field in the EHR/source system, it would mistakenly prompt the user to overwrite the existing value with the blank/missing value. Missing values from the EHR/source system should instead just be ignored. (Ticket #53258)Bug fix: When exporting the PDF of saved data (all records) on the Other Export Options tab on the "Data Exports, Reports, and Stats", if any data is being piped into a field note, field label, etc., it would mistakenly pipe the values from the first record into the text of all the subsequent records in the PDF.Bug fix: Certain popup alert boxes would mistakenly not get displayed in the proper place on the page. This includes the "Value removed!" alert for matrix ranking, the "Cannot select choice!" alert when using @MAXCHECKED on a checkbox field, and all field auto-suggest boxes that are displayed when typing into a text box for ASI conditional logic, Data Quality rule logic, advanced filters for reports, etc.Version 8.9.1 - (released 11/9/2018)BUG FIXES & OTHER CHANGES:Improvement:?When copying a project, a new checkbox has been added to the Copy Project page to copy "all report folders". In the previous version, it would always copy all reports and report folders if the "all reports" option was checked, but now it allows reports to be copied without copying report folders, if need be.Major bug fix:?Only for certain versions of Internet Explorer, if a user with lock/unlock privileges enters a data entry form that is already locked, then clicks the Unlock button at the bottom of the form, enters some data, and then clicks the Lock checkbox to lock the form again, it would submit the form immediately after checking the Lock checkbox, thus locking the form again, but it would mistakenly not save any of the data that had been entered on the form prior to being locked again.Change:?Users that do not have "Project Design and Setup" privileges will no longer be able to navigate to or view the Project Setup page in a given project. Since such users cannot effectively perform any actions on the Project Setup page (i.e., everything on the page is disabled), it does not make much sense for them to be able to access it at all. (Ticket #52327)Bug fix: When downloading multiple Adaptive or Auto-Scoring instruments from the REDCap Shared Library into the same project, the T-Score field and Std Error field would conflict and thus cause those fields on the subsequent instruments to be renamed, in which it would append random alphanumeric characters to the variable names. This would make it difficult to have the same variable names consistently if all the same instruments were downloaded in different projects.Bug fix: If a user enters a value for a datetime field on a form or survey and then immediately removes the value, they would mistakenly be presented with a validation error message, which should not occur. This could cause the user to be stuck in an infinite loop on the page, in which the prompt keeps appearing, thus causing the user to have to reload the page and possibly lose any data entered. (Ticket #52024)Bug fix: If using the Data Resolution Workflow in a project, and a user views an open query, it would mistakenly display data values for all fields in the query, even if the user has "No Access" user privileges to that field's data entry form. In this case, it now redacts the data value and instead displays a message stating that the field's value cannot be displayed because the user does not have view access. (Ticket #49956)Bug fix: If the REDCap installation has the "Survey Base URL" set on the "General Configuration" page in the Control Center, then if a survey participant is viewing a Survey Queue for a record and then clicks the "Begin Survey" button for a given survey, it would mistakenly send the participant to the the wrong URL, in which it would be using the default "REDCap Base URL" instead of the "Survey Base URL". (Ticket #52502)Bug fix: If viewing the Record Status Dashboard in a project where only one arm exists, but the arm is not arm "1" but another number, then clicking the record name link in the dashboard table will mistakenly take the user to the first arm, where the record does not exist. (Ticket #52575)Bug fix: If a multi-arm longitudinal project has surveys using Automated Survey Invitations on multiple arms, in which at least one of the ASI's condition logic references a field/event on another arm, then if that ASI condition becomes true for a given record, it would mistakenly schedule the survey invitation even if the record does not exist on that arm. The record must exist on a given arm before a survey invitation can be scheduled for that arm for that record. (Ticket #52174)Bug fix: On the Control Center's System Statistics page, the "Data values pulled from source system via DDP" count for both DDP Custom and DDP on FHIR would mistakenly inflate the true count. This was caused by mistakenly counting temporal values multiple times in longitudinal projects or in projects with repeating instruments/events if the same value was imported into multiple events/instances for a given record. This often depends on the window of time (i.e., day offset) being used, in which a larger day offset value would pull in more duplicate values.Change: The alert that is displayed on a survey page or data entry form that notifies the user that an unvalidated text field begins or ends with extra spaces has been disabled so that it no longer notifies users when this occurs. This is due to reports of general annoyance by several users at the feature. This feature may possibly be re-added in the future and modified to be more user friendly, but for now it has been disabled for all projects indefinitely.Bug fix: When using "DDP on FHIR" in a project that does not have any demographics fields mapped on the DDP Field Mapping page, then if a patient is launched inside the REDCap window from within the EHR user interface, and the user chooses to add the patient to a project, then it would return a strange JSON-encoded message and would mistakenly take the user to the wrong page if they clicked "View patient in project" immediately after creating the record.Bug fix: When using "DDP on FHIR" with the setting "Convert source system timestamps from GMT to local server time?" set to "Yes" on the "DDP on FHIR" setup page in the Control Center, it might sometimes mistakenly not pull in some temporal data (e.g., labs, vitals) when the data value's date of service is close to the edge of the window of time in which REDCap is querying from the EHR. For example, if a lab field's associated date field has a value of 2018-11-06, and the DDP Adjudication window has a +-3 day offset value set, which should search for all values from 2018-11-03 to 2018-11-09 (including those days), then some values saved on 2018-11-03 or on 2018-11-09 might not get returned from the EHR. This bug is the result of the data being stored in GMT/UTC time in the EHR while REDCap is querying the EHR using the local time.Bug fix: When using Google Authenticator as a Two-Factor Authentication option, and an Account Manager (as opposed to an Administrator) clicks the "Send Google Authenticator instructions via email" button for a user on the Browse Users page in the Control Center, it would mistakenly fail and give an error message. This only occurs if the user clicking the button is an Account Manager. (Ticket #52597)Change/improvement: When importing data via the Data Import Tool, if a CSV data file is re-uploaded on the second page after the initial attempt (e.g., due to errors displayed after the first attempt), it now hides all the error messages on the page after clicking the Upload File button to re-upload the file. Thus it resets the page so that the user does not get confused thinking that the previous errors apply to the current upload if the re-upload process takes a while. (Ticket #52518)Change/improvement: When importing data via the Data Import Tool and an error is detected in the data file, the header text of the error message has been changed slightly to prevent confusion so that users more clearly understand that the file was not fully uploaded. (Ticket #52519)Bug fix: If a user clicks the "Show plots only" or "Show plots & stats" button on the "Stats & Charts" page in a project, it will mistakenly display the "Download image" button for fields on the page that do not have a graph displayed, in which clicking the button for such fields would cause it to download an unopenable/unviewable PNG file. (Ticket #51565)Bug fix: If a field on a repeating event or repeating instrument has branching logic, in which fields in the logic exist on that same repeating event/instrument, then the field might mistakenly not get displayed in the PDF export with saved data.Bug fix: If REDCap is set up to connect to the MySQL database via SSL, it would mistakenly not display the "REDCap server is offline!" message to users if the database connection failed. Additionally, for installations not using an SSL database connection, the "REDCap server is offline!" message would be inconsistent in its text being displayed depending on whether the user was on the REDCap Home Page/My Projects page as opposed to accessing a page in which "/redcap_vX.X.X/" appears in the URL (where X.X.X is your current version). (Ticket #51758)Bug fix: If a user's account was suspended due to inactivity and afterward an administrator unsuspended the user using the green "Unsuspend User" button on the Browse Users page under the "View User List By Criteria" tab (as opposed to unsuspending a single user when viewing the user account under the "User Search" tab on that page), then if the cron job that suspends users due to activity gets run before the user logs in to REDCap the next time, the cron job would mistakenly suspend them again. (Ticket #52768)Bug fix: Users that do not have "Add/Edit/Organize Reports" privileges in a project would mistakenly see the "Organize" link on the left-hand menu that would allow one to create Report Folders. It should not display the link for users with such user rights. (Ticket #52801)Bug fix: If a participant is returning to a multi-page survey that has the "Save & Return Later" option enabled, and the survey exists on a repeating event or is a repeating instrument, then if the current survey page being opened by the participant is not the first repeating instance of the survey but is a later repeating instance, then it might mistakenly start the participant on the wrong page of the survey to which they are returning. It normally should take them to the page containing the last question having data. (Ticket #50898)Change: On the "Add/Edit Records" page for projects in development status, the notice that real data should not be entered into a project while in development has been moved more to the top of the page to make it more prominent as a reminder to users.Version 8.9.0 - (released 11/2/2018)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature: Report Folders?- Reports can now be organized into folders in any given project. If a user has "Add/Edit Reports" privileges, they will see an "Organize" link on the left-hand project menu above the project’s reports. They will be able to create folders and then assign their reports to a folder, after which the project's reports will be displayed in collapsible groups on the left-hand menu.New feature: “Edit Access” for reports?- In addition to setting "View Access" when creating or editing a report, users can now set the report's "Edit Access" (under Step 1) to control who in the project can edit, copy, or delete the report. This setting will be very useful if one wishes to prevent certain users from modifying or deleting particular reports.New feature: Report search?- A new search feature exists on the left-hand menu to allow users to search within the title of that project’s reports to help them navigate to a report very quickly.Improvement:?The Browse Users page in the Control Center now displays a "Can create projects?" column in the user table to indicate if the user has privileges to create or copy a project on their own. This is only available if users in the system are allowed to create/copy projects (as opposed to requesting them be created by an admin).Minor security fix:?A Cross-Site Scripting (XSS) vulnerability was discovered on certain pages, in which a malicious user could potentially exploit it by manipulating the query string of an HTTP request.Minor security fix:?An SQL Injection vulnerability was found on surveys pages and data entry pages in which a malicious user could potentially exploit it by manipulating the query string of an HTTP request.Major bug fix:?If a user has "De-identified" or "Remove all tagged Identifier fields" data export user privileges in a project, and then the user downloads a PDF of a data entry form with saved data, in which the form is a repeating instrument or repeating event, it would mistakenly not remove the appropriate data from the PDF as required according to their user privileges. (Ticket #52190)Change: Changed the text "Manage Survey Participants" to "Survey Distribution Tools", which more clearly describes the pages in that section.Bug fix: Users using certain browsers (e.g., Firefox) on the "Create New Report" or "Edit Existing Report" page would mistakenly be unable to place their mouse cursor into the input fields in Step 2 on that page, thus preventing them from adding new fields to the report using the auto-complete functionality. (Ticket #52055)Bug fix: When performing a data import (either via API or via Data Import Tool) in which the first instrument of a record is locked, it would mistakenly prevent the data import from completing, thus resulting in an error, even if the user is not attempting to update values on the first instrument.Bug fix: Uploading, editing, or deleting a file in the File Repository of a project would fail if the project's language was set to anything other than the default "English" language. Bug emerged in REDCap 8.7.0. (Ticket #51457)Bug fix: The data dictionary import process would fail if any calculated fields in the data dictionary contained Smart Variables in their calculation. (Ticket #51346)Bug fix: If using a custom record label in a longitudinal project, in which the custom record label references a field that exists on an event that is not the first event of the current arm, then it might not display the custom record label at all. (Ticket #50733)Bug fix: Some cron jobs were mistakenly shifting by a minute or two each day with regard to the time they should be run by the system. They will now be run at the exact minute they are expected to based on their previous run time + their defined frequency to run.Bug fix: When using DDP on FHIR to add a patient to a project from inside the EHR interface, in certain cases the add-patient process would fail and simply return a dialog saying "ERROR".Bug fix: If a report in a project is created, copied, reordered, or deleted, then on occasion it may mistakenly cause many (or all) of the existing reports to be reordered in a seemingly random fashion. (Ticket #42809)Bug fix: When using the Publication Matching module, if REDCap is upgraded to a newer version after an email has been sent to a PI regarding a possible publication match, then the link in the email would not redirect to the correct webpage properly. (Ticket #52023)Bug fix: If custom Homepage Announcement text is set for the system and the current user is sponsor of a user, then the custom text would mistakenly not stretch as wide as the My Projects table. (Ticket #51782)Bug fix: If a field on a repeating event/form has a specific repeating instance number that is referenced in a calc field or branching logic (e.g., [weight][2] > 150), then even if the specific repeating instance of the event/form exists, it will throw an error on the data entry form or survey page if the field itself does not have a value saved for the repeating instance that is explicitly referenced.Bug fix: When using certain non-English languages for the translated text in a project, the title/hover-over text for the repeating survey icon in the Online Designer would mistakenly get truncated. (Ticket #52126)Bug fix: When piping data from a repeating event/instrument onto another instrument or event, especially a non-repeating instrument/event, then the PDF download of that instrument with saved data might mistakenly not pipe the data into the labels in the PDF.Bug fix: In a multi-arm project using the Scheduling module, opening a record from the Calendar page and then clicking "view schedule" from the calendar popup would load the "View or Edit Schedule" page but might mistakenly not pre-select the record in the record drop-down list on that page.Bug fix: When viewing the Browse Projects page in the Control Center, any projects that have been deleted in the past 30 days but have not yet been removed from the system would have a missing status icon on the far right of the projects table. It should instead be displaying a red cross icon for the status.Bug fix: The plugin/hook/module method REDCap::getReport now more strictly checks the value of the third parameter ($exportAsLabels) to ensure it is a boolean. (Ticket #52382)Bug fix: When using a bookmarked link of a page in the Plugins, Hooks, and External Modules documentation after REDCap is upgraded to a newer version, then the bookmark would not redirect to the correct webpage properly. (Ticket #51824)Change: Added extra admin-specific error message in DDP on FHIR when a FHIR access token fails. This is to help troubleshoot access token issues.Bug fix: If a conversation in Messenger is attached to a project, it would mistakenly display the HTML <br> tag when hovering over the conversation title. (Ticket #52308)Bug fix: If certain Smart Variables (e.g., [survey-queue-link]) are used in the email text of an Automated Survey Invitation, which also uses datediff with "today" or "now" as a datediff parameter, then it would prevent the ASI+datediff cron job from fully running. Note: This would only affect a small percentage of the total invitations being sent out. (Ticket #51081)Version 8.8.2 - (released 10/17/2018)BUG FIXES & OTHER CHANGES:Change: If a user loads a data entry form without a record in context, in which it displays the Incomplete/Complete Records drop-downs for choosing a record (this page can only be navigated to by clicking the "Show data collection instruments" link on the left-hand project menu and then selecting a form), if the project exceeds 25,000 records, it will truncate the drop-downs so that they only display the last 25,000 records ("last"=those at the end when viewing an ordered list of all records). This is to improve performance by preventing the page from having to output so much HTML to the client.Change: Added suggested change to the REDCap install page regarding the sample MySQL script for creating a new MySQL user. (Ticket #51144)Bug fix: If text has been set for the Home Page setting "Announcement text to display at top of Home page and My Projects page" and the setting "Additionally display text on login page?" is set to "No" (which is a new feature in v8.8.1), then it would mistakenly display the custom Home Page text below the login form when a user is logging in, even though it is not supposed to. Bug emerged in REDCap 8.8.1. (Ticket #50889)Bug fix: The table listing all the user rights/roles on the User Rights page in a project would mistakenly not display the last column or two of the table. (Ticket #50876)Bug fix: When using the Twilio Telephony Services for surveys and setting up an Automated Survey Invitation in which the Invitation Type is "SMS Invitation (contains survey link)", it would mistakenly add the survey link twice to the SMS message. And in the version of REDCap just prior to this one, it was mistakenly adding the survey link if it was not included in the SMS message for the ASI, which should not occur because the instructions state that the survey link will not be automatically added to the SMS when using the "SMS Invitation (contains survey link)" invitation type. So if using "SMS Invitation (contains survey link)" invitation type, it will not add the survey link unless the [survey-url] Smart Variable is used in the SMS message for the ASI. (Ticket #50596)Bug fix: If a field exists on a repeating instrument, and a value is being imported for that field (via Data Import Tool or API) in which no value is provided for the redcap_repeat_instrument field for that row of data, it would mistakenly allow the data to be imported without errors, and that data might become orphaned and be inaccessible on certain pages (e.g., Record Home Page, Record Status Dashboard) after the import has completed.Bug fix: In certain cases, the left-hand project menu might display the link "View/Edit Records" when instead it should always display the "Add/Edit Records" unless the user does not have "Create Record" privileges.Bug fix: When clicking the pencil icon on the Online Designer, it would mistakenly not open the "Add Field"/"Edit Field" dialog if the user was using Internet Explorer. Bug emerged in REDCap 8.8.1 (Standard). (Ticket #51359)Bug fix: For certain SFTP server configurations, the system-level feature "e-Consent Framework: PDF External Storage Settings" might mistakenly not save files successfully to the SFTP server.Version 8.8.1 - (released 10/5/2018)IMPROVEMENTS, BUG FIXES & OTHER CHANGES:Improvement:?REDCap admins may now, if they wish, prevent normal users from contacting admins in REDCap Messenger. This option can be enabled under the "REDCap Messenger" section on the "Modules/Services Configuration" page in the Control Center. If set to "prevent users from messaging admins", then users will not be able to add any REDCap admins to any new or existing conversation in Messenger. However, admins will still be able to add normal users and other admins to a new or existing conversation.Improvement:?The "Sponsor Dashboard" and the Control Center's "Browse Users" page now have a new action button: "Re-send account creation email". This new action is only available for REDCap installations with either "Table-based" or "LDAP & Table-based" authentication. Clicking the button will send the user the same email (which includes the link to set their password) that was sent to them when their Table-based account was created. This will often be used in case the user did not receive the original email (for whatever reason).Improvement:?Under the "PDF Customization Options" section in the Additional Customizations popup on the Project Setup page, a new option has been added: "Display or hide the Secondary Unique Field value (if enabled) at the top right corner of the PDF". This option will be useful, for example, when sending the PDF to a survey participant, in which the Secondary Unique Field value should not be known or viewable to the participant.Improvement:?When selecting a color for an item under "Custom survey theme options" on the Survey Settings page, the color-picker now allows users to provide the Hex color code (e.g., #0b5394) to choose the color of the item. (Ticket #8321)Change/improvement:?The option "Announcement text to display at top of Home page and My Projects page" on the "Home Page Configuration" page in the Control Center now has an extra option that says "Additionally display text on login page?", which will give admins the ability to opt out of displaying that text on the login page, which it currently does by default. (Ticket #21796)Major bug fix:?If importing new records into a project via Data Import Tool or API Import Records, it would mistakenly not update the record count in the project to reflect the new records that were added.Major bug fix:?If a user in a Data Access Group is creating a new record and uploading a file for a File Upload field on a form or survey prior to clicking the Save button, which would create the record, it will correctly assign that record to the user's DAG, but that record might mistakenly not show up for the users in that DAG when viewing a report, Record Status Dashboard, Add/Edit Records page, or other pages that display a list of records. This issue would usually correct itself after 3 days.Bug fix: If a user attempts to create a new record on the Add/Edit Records page, in which the record contains a tab character (via copy-and-pasting the record name from elsewhere), it would mistakenly not inform the user that tab characters are not permitted in record names and would simply remove them when loading the Record Home Page for that new record. (Ticket #50347)Bug fix: If a user adds Custom Event Labels for a longitudinal project, and then converts the project to classic/non-longitudinal format, the Custom Event Label for the first event would mistakenly still appear on the Record Home Page. Custom Event Labels should only appear when a project is longitudinal. (Ticket #49885)Change: The language has been abstracted to allow for translation for the popup that appears on data entry forms and survey pages when a user leaves spaces at the beginning or end of a text box's value. (Ticket #37401)Bug fix: The notification in the Control Center that informs REDCap admins that a new External Module update is available would mistakenly display versions of modules that were not compatible with the current REDCap version. However, if the admin clicked the blue button to visit the REDCap Repo and then returned back to REDCap afterward, it would temporarily resolve this issue. (Ticket #49957)Bug fix: If a user creates a thread in REDCap Messenger that is connected to a project, and then navigates into a different project, in which the Messenger panel is initially closed while in that project, then when the background AJAX call for Messenger runs after being on a page for 60 seconds, it would mistakenly cause a JavaScript error and might cause some functionality of Messenger not to work correctly. (Ticket #24930)Bug fix: The plugin/hook/module method named REDCap::evaluateLogic might not interpret the event context correctly depending on the value passed as the $event parameter. (Ticket #49420)Bug fix: Fixed issue related to performance boost from REDCap 8.7.2 that caused some very large projects to be extremely slow on certain pages temporarily if multiple users were using the project simultaneously.Bug fix: In a longitudinal project that is in production, if a user attempts to un-designate an instrument for an event on the "Designate Instruments for My Events" page, specifically using the CSV file upload option, it would mistakenly allow the user to do so, even though only REDCap admins should be able to un-designate instruments for events while in production. (Ticket #48290)Bug fix: When using a date or datetime field with DMY or MDY format as the record ID field, it would mistakenly not save the record name correctly when trying to create the record, but instead it would mangle the date format. (Ticket #49373)Bug fix: If branching logic or a calculation on a repeating instrument or repeating event utilizes the Smart Variable "current-instance" (e.g., [yesno_var][current-instance]*1), then when viewing the first repeating instance of that instrument/event, it would mistakenly not perform the branching logic or calculation correctly if the value for that field in the logic/calc changes while on that page. (Ticket #50094)Change: When viewing the “Add New Field”/”Edit Field” popup in the Online Designer, it will now ask the user to choose the ontology service that they wish to use (it did not do this in previous versions), even though there is just one to choose. After choosing “BioPortal Ontology Service”, it will then display all the ontologies available for BioPortal, as it has done in the past. This extra step was added to allow for more custom ontology services to be added in the future. But for now, BioPortal is the only service currently available by default in REDCap.Bug fix: When using the Twilio Telephony Services for surveys and setting up an Automated Survey Invitation in which the Invitation Type is "SMS Invitation (contains survey link)", it would mistakenly add the survey link twice to the SMS message. (Ticket #50596)Bug fix: When downloading a PROMIS Battery from the REDCap Shared Library, it would mistakenly enable the Survey Auto-Continue option for all instruments in the battery when instead it should enable it for all except for the last one.Bug fix: When running Data Quality rule F, in which some fields being evaluated exist on a repeating instrument, it might mistakenly display them in the list of discrepancies when in fact it is a false positive. (Ticket #49640)Bug fix: Calculated fields would sometimes hit a precision limit in JavaScript and mistakenly return a blank value for the calc field rather than the correct numerical result, which might need to be displayed in scientific (exponential) notation. (Ticket #50578)Bug fix: When using LDAP or LDAP & Table-based authentication, it was mistakenly not allowing users to be assigned to a user role in a project if the username contained a space. (Ticket #50791Version 8.8.0 - (released 9/30/2018)IMPROVEMENTS, BUG FIXES, & OTHER CHANGES:New feature: PROMIS Batteries?– 15 batteries of instruments are now available in the REDCap Shared Library. A battery is a set of instruments that can be downloaded from the Shared Library as a bundle, in which they are meant to all be taken together one after another within a single battery. When downloading from the Shared Library, the survey auto-continue feature will be enabled for these instruments to allow a participant to automatically continue from one to another to simulate the battery functionality.Improvement:?A project's Record ID field can now be used as a Live Filter in any given report, thus allowing users to easily view the report for a single record.Bug fix: When hitting the Enter button while inside a date or datetime field that triggers calculations or branching logic on the same page of a form or survey, it might mistakenly display erroneous error prompts stating that something is syntactically incorrect with the calculation or branching logic, which is not the case.Bug fix: When piping a value from a date or datetime field into the @DEFAULT action tag of another date/datetime field that has either MDY or DMY date format, the value would mistakenly get mangled and thus be incorrect when the page initially loads. (Ticket #17157)Bug fix: When uploading a file for a File Upload field, under certain conditions it might mistakenly cause multiple rows to be added to the redcap_data database table for that record. (Ticket #50178)Bug fix: Fixed issue related to performance boost from REDCap 8.7.2 that caused some very large projects to be extremely slow on certain pages temporarily if multiple users were using the project simultaneously.Bug fix: If records exist in an arm in a multi-arm project, and then that arm is deleted, those records in that now-deleted arm might mistakenly appear on certain pages, such as the Record Status Dashboard or Add/Edit Records page. (Ticket #50353)Bug fix: When using DDP on FHIR and opening a record on the Record Home Page while viewing it inside the EHR, a JavaScript error might mistakenly occur, thus sometimes preventing the DDP adjudication dialog from opening.Bug fix: When creating a new Table-based user in the Control Center, in which the user's attributes contain special/non-Latin characters, then depending on the server's MySQL collation_connection, it might not save the user's attributes correctly in the database but may instead mistakenly garble them. This bug was supposedly fixed in REDCap 8.7.3 but was mistakenly not. (Ticket #48983)Bug fix: When mapping an EHR field on the DDP mapping page in a longitudinal project using DDP on FHIR, and clicking the "Copy mapping to other event" for a given field, it might mistakenly also copy the category header that immediately follows that field, which makes the page look confusing to the user.Version 8.7.4 - (released 9/20/2018)BUG FIXES & OTHER CHANGES:Major bug fix:?If a user has data export privileges of "De-identified" or "Remove all tagged Identifier fields", and then the user exports a report in which every field in the report gets removed due to their export privileges, then it would mistakenly export data for *all* the fields in the entire project. (Ticket #48976)Major bug fix:?If a user attempted to put a production project into Draft Mode on the Online Designer page, it would fail and merely reload the page. (Ticket #49866)Bug fix: The projects table on the Browse Project page in the Control Center was cut off on the right side. (Ticket #49773)Change: Added the HTML tags <map> and <area> to the list of allowed tags that can be used in user-defined text (e.g., field labels, survey instructions). (Ticket #49526)Bug fix: If a field was using @DEFAULT, @NOW, or @TODAY action tags, and that field was also being piped into text somewhere on that same page, then the field values would mistakenly not get piped when the page initially loads. (Ticket #49839)Version 8.7.3 - (released 9/19/2018)IMPROVEMENTS, BUG FIXES, & OTHER CHANGES:New options for Data ExportsImprovement:?When exporting a report, a new “Data formatting options” section appears in the export dialog to allow users to choose the CSV delimiter character to be used in CSV Raw Data and CSV Labels exports. Options include comma (default), tab, semi-colon, pipe, and caret. This is useful in certain cases when the resulting data file needs to have another delimiter, such as a tab, for example. In addition, the two API methods “Export Records” and “Export Reports” have a new analogous parameter “csvDelimiter” that will set the CSV delimiter character if using “csv” as the format in the API request. See the API documentation for full details. (Ticket #30939)Improvement:?When exporting a report, a new “Data formatting options” section appears in the export dialog to allow users to optionally force all numbers into a specified decimal format. It will default to “Use fields’ native decimal format”, but provides the choices “Use period/full stop” and “Use comma” as the decimal character for all numbers. This will allow projects that have fields with period/full stop decimals (calc fields, number validated fields) and those with comma decimals (comma-as-decimal validated fields) to all be exported in the same uniform number format, thus providing greater consistency in the data being exported. In addition, the two API methods “Export Records” and “Export Reports” have a new analogous parameter “decimalCharacter” that will set specified decimal format for all numbers in the API request. See the API documentation for full details. (Ticket #30939, #34597)Improvement:?New optional parameters added to the API Export Records method to filter data returned based on when a record was created or modifieddateRangeBegin – To return only records that have been created or modified *after* a given date/time, provide a timestamp in the format YYYY-MM-DD HH:MM:SS (e.g., '2017-01-01 00:00:00' for January 1, 2017 at midnight server time). If not specified, it will assume no begin time.dateRangeEnd – To return only records that have been created or modified *before* a given date/time, provide a timestamp in the format YYYY-MM-DD HH:MM:SS (e.g., '2017-01-01 00:00:00' for January 1, 2017 at midnight server time). If not specified, it will use the current server time.Improvement:?The Record Status Dashboard will now remember the user's last selection for the "page number" drop-down and the "records per page" drop-down, so that when they return to the dashboard in that project in the future, it will already have their last selections pre-selected for those two drop-downs. Note: It already remembers the user's last selection for "dashboard displayed" and "data access group". (Ticket #48913)Improvement/change:?When a user copies a project via the "Copy the project" button on the Other Functionality page, it now logs the PID (project_id) and project title of the new project in the copied project, and it now also logs the PID and project title of the originating project in the newly created project. So now it should be much easier for users to see if someone copied a project, and if so, determine which project is the one that had been created from the original. (Ticket #47208, #42783)Improvement:?Two new parameters "exportAsLabels" and "exportCsvHeadersAsLabels" were added to the plugin/module method named REDCap::getReport. These allow developers to designate whether to output data as raw values vs labels, as well as choose to export CSV headers as labels rather than as variable names (for CSV outputFormat only). (Ticket #49173)Improvement:?If one or more External Modules are enabled in a project, it now allows the user to choose if they want to copy over the module configuration settings when copying the project. In previous versions, it would always copy the settings without asking, even though the modules were disabled by default. So now users have a choice.Bug fix: After completing a data import in a project with thousands or tens of thousands of records, many project pages would sometimes become unresponsive for quite a while.Bug fix: When viewing the To-Do List in the Control Center, some requests might mistakenly still show up in the request counts even though the requester's account has been deleted from the REDCap system. (Ticket #48846)Bug fix: Certain database queries that check to make sure that a project's reports are in the correct order were getting run more than necessary, which would sometimes cause certain pages in a project to run slowly.Bug fix: For large screens, project pages might mistakenly have an empty column of whitespace on the far right. (Ticket #49155)Bug fix: The External Module framework methods setDAG() and addAutoNumberedRecord() were not updating the record list cache table, thus causing some record lists (e.g., Record Status Dashboard) to become out of sync with the data in the redcap_data database table. Bug emerged in REDCap 8.7.2 Standard. (Ticket #49215)Bug fix: After editing the branching logic of a field in the Online Designer, it would mistakenly chop off the first character in the branching logic when displaying it in red text on the page for the field. (Ticket #49098)Bug fix: When using DDP on FHIR to add a patient to a project, in some cases it would navigate to an incorrect non-existing record named "Undefined" in the REDCap project after clicking "View patient in project" button after creating the record via DDP on FHIR.Bug fix: When using DDP on FHIR, some LOINC codes related to Multiple Sclerosis were mistakenly missing from the DDP field mapping page.Bug fix: When creating a new Table-based user in the Control Center, in which the user's attributes contain special/non-Latin characters, then depending on the server's MySQL collation_connection, it might not save the user's attributes correctly in the database but may instead mistakenly garble them. (Ticket #48983)Bug fix: The To-Do List page in the Control Center would mistakenly display with the action buttons overlapping the previous column in the table. (Ticket #49096)Change: When a REDCap administrator enables or disables either the DDP on FHIR module or the DDP Custom module, it now explicitly states this on the Logging page, whereas previous versions merely logged the action generically as "Modify project settings".Bug fix: When using DDP on FHIR, the information page/popup that describes how to use DDP to users was mistakenly missing the specific codings required for the three demography fields "sex", "race", and "ethnicity". The required multiple choice codings for those fields are now listed in the DDP on FHIR informational page that is accessible on the DDP on FHIR Control Center page and via the popup on a project's Project Setup page.Bug fix: When launching multiple patients using DDP on FHIR inside the EHR interface (i.e., multiple tabs during same session), if the user returned to an older tab/patient during the same session, it might mistakenly confuse it with the latest patient that was loaded, thus losing that tab's proper context for the patient and causing confusion for the user.Bug fix: If using MySQL 8.0 as the database, in certain cases the Control Control might erroneously display the "Database structure is incorrect" warning even though nothing is wrong with the database tables. (Ticket #49580)Bug fix: If using certain non-English languages as the system language, the login page might mistakenly truncate the "Username:" or "Password:" labels. (Ticket #48547)Bug fix: When exporting a project's Project XML file, for certain server configurations, it would cause the XML file to have all linefeeds removed from Section Headers and Field Labels. Note: This fix will not fix any Project XML files that have already been generated but will fix this issue for any XML files generated in the future. (Ticket #48719)Bug fix: If there exists piping, calculations, or conditional logic using the Smart Variables first-event-name or last-event-name that happens to be prepended to a checkbox field, in which a checkbox choice is explicitly specified inside parentheses, it would mistakenly return a list of all the checked-off checkbox labels instead of the checked-off status for the specified choice. (Ticket #49378)Bug fix: When a user attempts to place a production project into draft mode, it might mistakenly just reload the same page with no changes, thus preventing the project from being put in draft mode. (Ticket #6346)Fixes and updates for External Modules FrameworkBug fix: If an External Module was using the API endpoint for assets (non-PHP pages), it would mistakenly enforce authentication on those assets, which would cause issues for certain authentication types, such as Shibboleth.Version 8.7.2 - (released 9/7/2018)IMPROVEMENTS, BUG FIXES, & OTHER CHANGES:Improvement: Performance boost?– Certain pages in projects with thousands or more records should now load much faster in most cases. This includes the Record Status Dashboard, various pages utilizing Data Access Groups, and certain reports. Reports A and B should especially see significantly faster loading (excluding when viewing “all” pages in report A or B).Improvements related to viewing or creating reportsNew report option that will combine checkbox options into a single column of only the checked-off options. Previously, any checkbox fields in a report would have their choices represented as separate columns in the report, but with this new setting, they can now all be represented as a single column with comma-delimited values and comma-delimited labels. Note: If data is exported to a stats package on a report using this option, checkbox fields will be represented as text fields in the stats package’s syntax file that gets generated by REDCap.Report description – Users may now optionally set a description for a report, in which the description gets displayed as text below the report title on the report page. This allows users to provide instructions or explanatory text for the report. Note: HTML may be used in the description to add links or to style the text.Change: When exporting a report, it now includes the report’s title as part of the resulting export files’ file name. This should make it easier to distinguish different exported data sets if a user is exporting several reports for a given project.Improvement/bug fix: In previous versions it was very difficult (and sometimes impossible) to create reports with lots of fields in projects that contained >1000 total fields. In some cases, it would cause the Create Report page to be very sluggish or even to crash in some cases. This should no longer happen, and users should be able to easily create reports with thousands of fields, if they wish, with no problem.Improvement: If using "Local" file storage for uploaded files, inline image attachments for Descriptive fields and also survey logos will load on the page with their proper width and height already set, which should cause shifting/disturbance on the page due to the images loading slightly later than the page itself.Bug fix: When setting the value of the Rate Limiter on the General Configuration page in the Control Center, it would display a soft validation error if a value was entered that was less than 60. It should instead allow all integers to be entered with a minimum possible value of "0".Bug fix: If a POST request to REDCap exceeds the maximum number of POST parameters according to the max_input_vars setting in the PHP.INI configuration file, it might truncate the parameters sent and mistakenly not display an error message, thus only saving part of the data submitted without informing the user of such. It now properly returns an error message to let the user knows if this ever occurs. This includes API requests. (Ticket #47117)Bug fix: Updated some outdated text on the "Administrators & Acct Managers" page in the Control Center. (Ticket #47531)Change: When exporting a data dictionary, it will now automatically prepend the Field Annotation column with a single space character if the value begins with an "@" sign. This is to prevent issues when loading the data dictionary into Microsoft Excel, which uses "@" to denote the beginning of an equation. When the data dictionary is re-uploaded back into REDCap, the extra space will be subsequently removed to maintain the integrity of the initial value in the data dictionary as it was exported.Bug fix: If a record in a project has some survey invitations scheduled, and then the record is renamed, its associated invitations would mistakenly get disassociated from the record, thus causing the invitations not to get delivered. (Ticket #47887)Bug fix: When using the "DDP on FHIR" module and launching a REDCap window inside an EHR interface, if the user navigates inside a REDCap project in that window, it would mistakenly display the left-hand project menu when it should instead keep the menu invisible in that window. Bug emerged in REDCap 8.7.0.Bug fix: If a user placed their cursor into any text input field and clicked their Backspace button on their keyboard, it would cause a JavaScript error. In most cases, this would go unnoticed; however, some browsers might display a popup alerting the user of this error, which could confuse the user.Bug fix: Drop-down fields using the auto-complete option would react very slowly when typing text into them if the number of drop-down options was very large (>1000). For larger drop-down fields, it now requires more characters (based on the drop-down size) to be initially typed before it begins performing the auto-complete functionality. For example, if the drop-down contains more than 200 options, it requires at least 1 character to be entered before auto-complete is activated, and if it contains more than 500 options, then requires 2 characters (and so on, up to 4 characters max). Bug emerged in REDCap 8.7.0 (related to jQuery 3).Bug fix: The Repeating Instruments tables displayed at the bottom of the Record Home page would mistakenly be displayed vertically rather than horizontally. Bug emerged in REDCap 8.7.0.Bug fix: Minor aesthetic styling fixes due to Bootstrap 4 issues. This additionally includes reports not printing correctly in Firefox. (Ticket #47920)Bug fix: When viewing the "Copy existing choices" popup when adding/editing a field in the Online Designer, many of the choices might mistakenly overlap each other, thus making some impossible to read.Bug fix: The REDCap cron job was mistakenly being counted toward "Page Hits" as displayed on the Control Center's Activity Graphs page. (Ticket #46074)Bug fix: When using the e-Consent Framework in a project, in which a record has an e-Consent PDF file associated with it and a user deletes the record, it would mistakenly not delete the record's e-Consent entry. This would cause problems if another record was created later using the same record name, in which it would prevent the saving of that new record's e-Consent file. (Ticket #38660)Change: Minor changes made to login process for AAF authentication.Change: When exporting data to SPSS, date and datetime fields are now represented as A500 and text fields as A1000 in the SPSS syntax file, whereas previously they were all represented as A30000, which could cause very slow processing when loading the data into SPSS. (Ticket #37115)Bug fix: When using "Japanese (Shift JIS)" for a project's "character encoding for exported files" setting, and the project's PDF Customization setting has the PDF header text (e.g., Confidential) in Kanji/Japanese, then the PDF header text would mistakenly not display correctly in the PDF. (Ticket #48035)Bug fix: LDAP allows for spaces to be used in usernames, and even though REDCap users could successfully log into REDCap while having a space in their username, REDCap would not allow such users to be added to projects, in which it would display an error message stating "User names can only contain letters, numbers, underscores hyphens and periods". If using "LDAP or "LDAP & Table" authentication, it will now allow users to be added to a project via the User Rights page even if their username contains a space. (Ticket #48169)Bug fix: When using literal date or datetime values inside a datediff() function in the "Add/Edit Branching Logic" popup in the Online Designer and testing the logic against a record, it might mistakenly state the field should be hidden when instead it should be shown (or vice versa). Related, if using literal dates inside a datediff() function in the branching logic of a field, and a user goes to export a PDF with saved data of that field's instrument for an existing record, the field might mistakenly be hidden in the PDF when instead it should be shown (or vice versa). (Ticket #47717)Bug fix: When using "Japanese (Shift JIS)" for a project's "character encoding for exported files" setting, the Kanji text might not display correctly if the PDF is opened on certain devices. The remedy this, the internal font in the PDF has been changed from Gothic to Kozmin. (Ticket #48035)Bug fix: When using a Stop Action on a checkbox on a survey, in which the "Enhanced checkbox and radio button" option is enabled for the survey, then if a participant triggers the Stop Action but chooses to "Continue survey" (rather than ending the survey), it would mistakenly not uncheck the checkbox choice they had selected. (Ticket #48273)Bug fix: Using an X-instance Smart Variable that is appended to a variable or Smart Variable containing a parameter with a colon (e.g., [mycheckbox:checked][last-instance]) might mistakenly not be parsed correctly, thus possibly returning an incorrect value. (Ticket #48251)Bug fix: When the record ID field in a project has field validation, and the Scheduling page is being used in a longitudinal project to create a new record (assuming record auto-numbering is not enabled), the Scheduling page would mistakenly not employ the field validation if a record name was entered in an incorrect format. This only occurs for certain field validation types. (Ticket #46643)Bug fix: When using the Smart Variables "previous-event-name" or "next-event-name" in a calculated field while viewing the first or last event, respectively, it would mistakenly display the error prompt stating that there was an error in the calculation. Instead, it now silently replaces those with a blank value (wrapped in quotes) in the equation to prevent an error from occurring in order to force a blank value to be returned. (Ticket #48631, 48669)Bug fix: When using the X-event-name Smart Variables as prepended to a field variable, in which the variable name contains a number, it might not parse the Smart Variable correctly, thus causing it to replace it with a blank value or the value from the wrong event. (Ticket #48576)Bug fix: If PHP's Multi-Byte String extension is not enabled on the web server, then REDCap might throw a fatal PHP error when attempting to send an email. (Ticket #48757)Bug fix: Some data entry forms, especially for records that have repeating instruments with many repeating instances saved (i.e., hundreds or more), would load very slowly, sometimes causing the page to time out and never fully load. They should now load much faster. (Ticket #40634)Bug fix: When calling the method REDCap::getPDF inside a hook in a project, in which the current user does not have full data export privileges, the method would mistakenly fail to output the PDF. The method should work regardless of the user's project-level rights. (Ticket #48756)Version 8.7.1 - (released 8/15/2018)BUG FIXES & OTHER CHANGES:Major bug fix:?Calculations that exist on a repeating instrument or repeating event might mistakenly not get calculated when importing data via API or Data Import Tool or when executing Data Quality rule H.Bug fix: When cross-event branching logic is used on a field in a longitudinal project, in which some events being referenced in the logic do not contain any data for a given record, in some cases the PDF export of an instrument would mistakenly not correctly determine if the field should be hidden or not in the PDF, and thus it might hide the field when it should display it (or vice versa). This bug only affects the PDF. (Ticket #42206)Bug fix: The action of creating or modifying a Custom Record Status Dashboard was mistakenly not getting logged on the project Logging page.Bug fix: The default browser behavior of navigating back to the previous page after a user clicks their keyboard's Backspace button was mistakenly occurring in "search" input type fields, which are predominate in External Modules and their configuration pages.Bug fix: An error message on the Data Import Tool had incorrect text. (Ticket #47040)Bug fix: In longitudinal projects in production, the "select all" and "deselect all" links on the "Designate Instruments for My Events" page would mistakenly allow the user to select/deselect already-designated instruments. Instead it should only allow the user to select/deselect instruments that are not yet designated. (Ticket #47020)Bug fix: Small SQL issue caused if upgrading to 8.7.0 from an earlier version. (Ticket #47020)Bug fix: In a longitudinal project that has multiple arms and is also using the Double Data Entry module, the Record Status Dashboard would mistakenly not display any form status icons on the page for a user that is Double Data Entry person 1 or 2.Bug fix: Minor alignment or placement issues for elements on certain pages (due to introduction of Bootstrap 4), such as the position of the main project window on iPads and also the placement of "Upcoming Calendar Events" table at the bottom of the Project Home page. (Ticket #47074, #47230)Various fixes and updates for the External Modules frameworkVersion 8.7.0 - (released 8/9/2018)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature:?Integration with?Microsoft Azure Blob Storage?for file storage - see the File Upload Settings page in the Control Center to set up file storage on Azure Blob Storage.Improvement: A "Copy existing choices" link was added to the "Add Matrix of Fields" popup on the Online Designer page (just like the same link in the "Add New Field" popup on that same page) to copy the choices from an existing multiple choices field to that matrix of fields. (Ticket #46680)Change/improvement: The JS/CSS front-end libraries jQuery and Bootstrap have been upgraded to jQuery 3 and Bootstrap 4.Change: Added a new check on the Configuration Check page that detects if the current MySQL user (or the MySQL user used for Easy Upgrade) has CREATE table privileges but does not have either ALTER or DROP table privileges. If the user has CREATE but not ALTER and DROP privileges, then it would cause REDCap to mistakenly create many database tables with names beginning with "redcap_ztemp", which are created as temporary tables when testing the MySQL user's privileges.Change: When exporting data in CSV format (raw data or labels) on the "My Reports & Exports" page, it now maintains all double quotes in free-form text, whereas previous versions would replace all double quotes with single quotes in a CSV export. Note: When exporting to stats packages, it will still replace double quotes with single quotes for compatibility purposes.Bug fix: When using the E-signature feature at the bottom of a data entry form, if the username is in an incorrect case or has trailing spaces, it would mistakenly fail during the initial E-signature login. It should instead be trimming the username of any whitespace at the beginning or end, and should be evaluating the username as case insensitive since this is how the regular login behaves.Bug fix: If an external module has its configuration permissions set to "Require module-specific user privilege" on the External Modules page in the Control Center, and a user has been given the rights to configure the module in a project, then if a REDCap administrator opened the User Rights page in the project to edit that user's module rights and unchecked every module and saved it, the user would mistakenly still have access to the modules to which they previously had access. This only occurs when all modules are unchecked on the User Rights page. (Ticket #44112)Bug fix: When using a logo on a survey and also using the "Save & Return Later" feature, if a respondent chose to return to a survey, then upon loading the survey page to enter their return code, a JavaScript error would occur on the page. (Ticket #46143)Change/improvement: Elements on survey pages have been modified to work better for accessibility purposes, such as with screen readers.Change: Some language was hard-coded in previous versions. The following things have now had their text abstracted so that they is now translatable: the buttons for uploading/deleting files in the File Repository, the "Generate Schedule" button on the Schedule page, and the "Auto Logout Warning" popup. (Ticket #26708)Various fixes and updates for the External Modules frameworkBug fix: If any projects used Twilio telephony services for surveys and had an Automated Survey Invitation set to use the "Participant's Preference" as the delivery method, then new invitations scheduled by the ASI might mistakenly not include a survey link if an individual participant's preference is "Email Invitation". (Ticket #42868)Change: The footer of survey pages now says "Powered by REDCap", whereas previous versions have "REDCap X.X.X - ? 20XX Vanderbilt University". For non-survey pages, the footer will remain the same.Bug fix: When executing a custom Data Quality rule that contains a single variable in the logic, extra discrepancies might mistakenly be returned in some cases, especially if the project is longitudinal and/or contains repeating instruments/events. (Ticket #45695)Bug fix: When piping the Smart Variable [previous-event-name] or [next-event-name] when it is prepended to a variable name, it might mistakenly replace it incorrectly by replacing just the Smart Variable (but not the field variable) with six underscore characters or with nothing (depending on the context). (Ticket #46001)Bug fix: The PHP LogicTester class mistakenly contained some debugging code that prints SQL out on the page. (Ticket #46864)Version 8.6.5 - (released 8/3/2018)BUG FIXES & OTHER CHANGES:Major bug fix:?When upgrading from a REDCap version lower than 8.4.0 to version 8.4.0 or higher, if any projects used Twilio telephony services for surveys and had an Automated Survey Invitation set to use the "Participant's Preference" for the delivery method, then new invitations scheduled by the ASI might not include a survey link (when needed) upon being scheduled. (Ticket #42868)Bug fix: When using Twilio telephony services for surveys and having it make voice calls to participants, each voice call would mistakenly have an unnecessarily long pause at the beginning of the call.Bug fix: When importing data values for a repeating event via Data Import Tool or via API but not including the form status field in the imported data set for any of the instruments on which the imported fields are located, those repeating instances on the repeating event might get orphaned in some user interfaces, such as in the Record Status Dashboard, and thus do not become visible until the user attempts to create a new instance through the user interface and then saves the form. (Ticket #46285)Bug fix: AAF Authentication was mistakenly being excluded during CSRF token check.Bug fix: When piping the Smart Variable [event-name] when it is prepended to a variable name, it might mistakenly replace it incorrectly by replacing it with the current event name without square brackets around it. (Ticket #46001)Bug fix: In certain cases Smart Variables were not getting evaluated correctly when used inside the conditional logic of Automated Survey Invitations, thus causing invitations not to get scheduled appropriately. (Ticket #44104)Bug fix: On the Project Modifications page, when clicking the Compare button to view the differences between old and new choices of a multiple choice field, it would mistakenly always display "0" for the record count for every choice, even if some records do have that choice saved. This issue appears to only occur in specific versions of PHP. (Ticket #25851)Bug fix: In a report or via the API, if the user is requesting specific records and also specific events to be returned, if there is no data for those events for those records, then it would mistakenly return empty "ghost" rows as if data does exist on those events, which is confusing. (Ticket #46342)Version 8.6.4 - (released 7/30/2018)BUG FIXES & OTHER CHANGES:Bug fix: The upgrade or install pages would fail to load if running PHP 5.3 or 5.4, thus preventing the administrator from upgrading or installing REDCap. This bug emerged in REDCap 8.6.2, and it exists in both 8.6.2 and 8.6.3.Version 8.6.3 - (released 7/30/2018)BUG FIXES & OTHER CHANGES:Critical security fix:?An SQL Injection vulnerability was found on several pages that could be potentially exploited by manipulating the URL query string of an HTTP request by a malicious user, including non-REDCap users through publicly available URL end-points that do not enforce authentication. It appears very unlikely that this vulnerability could be used to extract information from a REDCap database. But if enough knowledge is known about REDCap internally, it might be possible for an outsider to upload files into random projects in REDCap; however, there is no evidence that those same files could be executed or downloaded, and thus the files would essentially be orphaned (would not be accessible through the user interface in any way) and would simply take up unnecessary space on the file server. This bug appears to exist in every version of REDCap since version 4.0.0.Major bug fix:?On survey pages, data entry forms, and other pages where conditional logic and calcs are evaluated, those pages may take an exorbitant amount of time to load (and in some cases may never successfully load at all). This appears to only affect certain Windows server environments.Version 8.6.2 - (released 7/18/2018)BUG FIXES & OTHER CHANGES:Change/improvement: Better regional support for AWS S3 file storageIf using Amazon Web Services (AWS) S3 for file storage in REDCap, you may now use many of the newer regions/endpoints around the world. The previous S3 library in REDCap would only work for certain regions of the world, whereas now it works for all available AWS regions.The S3 configuration options on the File Upload Settings page in the Control Center now require a “region” to be provided (or else “us-east-1” is used by default). This refers to the region name (e.g., ap-northeast-2) and NOT the endpoint URL. Previous versions of REDCap required providing the endpoint URL. If you had already set an endpoint URL for this in REDCap, then during the upgrade, REDCap will automatically translate the endpoint URL into a region name for you so that everything will continue to work normally.Note: Because of this change, PHP 5.5.0 or higher is now required for using AWS S3 file storage in REDCap.Change/improvement:?When displaying the filename of an uploaded file on a File Upload field on a form or survey, if the filename is very long (>34 characters in length), it now truncates the filename with an ellipsis closer to the middle of the filename rather than at the end. This allows the file extension to be visible, whereas in previous versions it was impossible to tell what type of file it is without downloading it if the filename was long.Change:?When viewing a partially completed or fully completed survey response on a data entry form, the text color and background color of the red box near the top of the page have been changed to reflect the state of the response more accurately (i.e., it is no longer displayed as a red box, which often evokes a sense of there being an error). If the response is partially completed, it is displayed as an orange box, whereas if it is fully completed, it is displayed as a green box. The box color is thus consistent with the color instrument status icons used.Major bug fix:?On some occasions, DDP on FHIR was mistakenly not parsing all the data being received from the EHR, thus some clinical data values from the EHR were not being stored in REDCap.Bug fix: When using the biomedical ontology search for a text field on a form or survey, it was mistakenly including Semantic Types Ontology (STY). It now excludes Semantic Types Ontology from biomedical ontology search unless field validation is STY. (Ticket #44910)Bug fix: In REDCap Messenger, it might display that there are unread messages for the user to read even though there are none.Bug fix: When a survey has "Save & Return Later" enabled, and a respondent clicks the "Start Over" button upon returning to the survey, the survey page mistakenly does not display the survey instructions at the beginning of the survey. (Ticket #44838)Bug fix: The record drop-down list displayed in the Online Designer both in the "Add/Edit Branching Logic" popup and also in the "Add/Edit Field" popup for calc fields would mistakenly not display the Custom Record Label and Secondary Unique Field labels.Bug fix: The record drop-down list displayed in the Online Designer both in the "Add/Edit Branching Logic" popup and also in the "Add/Edit Field" popup for calc fields would be too long for projects with large amounts of records, which could cause the page to load very slowly or not load at all. To remedy this, the record drop-down list now only displays the first 200 records.Bug fix: If using AWS S3 for file storage and a user attempts to copy a project that contains files for File Upload fields, files for Signature fields, or attachments for Descriptive fields, then none of those files would get copied to the new project from the original project. (Bug emerged in REDCap 8.6.1.)Change: Small change to "Easy Upgrade" instructions for easier setupChange: The database tables "redcap_surveys_response_users" and "redcap_surveys_response_values" were removed because they were never really used for anything, so they were taking up lots of database space unnecessarily.Change: When viewing a partially completed or fully completed survey response on a data entry form, the process of displaying the number of contributors to the response in the red box near the top of the page was resulting in very slow page loads in many circumstances. To provide a better user experience for this, it now displays a "View all contributors" link instead, which can be clicked to reveal the users who have contributed to that response.Bug fix: The rendering of the Participant List was unnecessarily slow due to some incorrect queries that were pulling information not needed. This fix should make the Participant List load much faster, especially for larger projects with thousands of records.Bug fix: In the "Compose Survey Invitations" popup on the Participant List page, the "Previously Sent Email" drop-down list displayed under "Load message box with text from a previous email?" would mistakenly load email text containing static, unique survey links from previously sent invitations (which could cause major issues if used verbatim for new invitations) when instead it should have been loading the invitation text containing the Smart Variable [survey-url] in place of the static survey link.Change: Very small wording change to the certification text on the certify page when using the e-Consent Framework on a survey.Change: On the "Edit a Project's Settings" page in the Control Center, it now does not display the drop-down list of projects if viewing the settings of a specific project, but instead provides a link to "Select another project", which will then display the drop-down list. This helps the page load faster if there are many (>10,000) projects that exist in the REDCap system.Change/improvement: The REDCap Shared Library can now be disabled (if desired) at the project level by an administrator on the "Edit a Project's Settings" page in the Control Center. If disabled for a given project, all Shared Library buttons and all references to the Shared Library will no longer appear in the project.Version 8.6.1 - (released 7/11/2018)IMPROVEMENTS, BUG FIXES, & OTHER CHANGES:Improvement:?Smart Variables are now able to be utilized in Data Quality rule logic. Note: In many cases, Smart Variables in the logic may cause Data Quality rules to take much longer to complete, which is due to the fact that the logic has to be re-evaluated for *every* item being processed by the DQ rule, whereas normally the logic only needs to be evaluated just once at the beginning of when the DQ rule is executed.Improvement:?Data Quality rule H (i.e., "Incorrect values for calculated fields") and auto-calcs (i.e., the process of calc fields being triggered by data imports or cross-form/cross-event calculations) can now handle Smart Variables that are used inside calculated field equations. In previous versions, such calc fields could only successfully run while on a data entry form or survey page.Bug fix: When creating/editing an Automated Survey Invitation and in Step 3 setting the option "Send after lapse of time" that would result in a send time occurring in the year 2038 or afterward, it would mistakenly set the send time to be 1/1/1970 or 12/31/1969 instead. (Ticket #44459)Change: The file install.php is no longer included in the list of replacement non-versioned files, which are provided in case the non-versioned files in REDCap ever change in the future. Since install.php is only used during the install process, there is no need for it to stay updated afterward.Change/improvement: When using the Easy Upgrade module, links to the LTS changelog and Standard Release changelog pages on the REDCap Community site are now included inside the box that lists new versions that are available.Change/improvement: The MySQL setting "SQL_SAFE_UPDATES" is now automatically set to be disabled for the database connection used by REDCap and also has been set as disabled in the REDCap upgrade SQL script that is output by the Upgrade Module. This is done in order to prevent some MySQL clients from mistakenly enabling safe updates, which might cause some queries not to get executed successfully during an upgrade, and to prevent issues with REDCap running on database servers that might have safe updates enabled by default in the MySQL configuration file.Improvement: A Data Access Group can no longer be deleted if one or more records are still assigned to it. If a user attempts to delete a DAG that contains records, it will prevent such and display an error message.Bug fix: When using the Smart Variables [form-link] and [record-name] inside the email subject or email message of an Automated Survey Invitation, it would mistakenly not pipe the record name into the form link URL for [form-link] and would mistakenly replace [record-name] with "______" instead of the real record name. (Ticket #44549, #44550)Bug fix: The "DDP on FHIR" page that gets displayed inside the EHR user interface was mistakenly missing a link to the "DDP on FHIR" information page that provides all the information about that module.Bug fix: If a slider field exists on an instrument that is currently locked, the user would mistakenly still be able to modify the slider position and value. Note: This would not affect the slider's value at all since the instrument could not be saved until it was unlocked. So at most, this could cause confusion. (Ticket #44608)Updates and fixes for the External Module FrameworkBug fix: In a calculated field or in branching logic that has cross-event logic while referencing a field that exists on a repeating instrument from another event, it would mistakenly assume instance #1's value to always be blank/null for that field and thus cause the logic or calculation to come to an incorrect result. (Ticket #44474)Bug fix: If a suspended user gets unsuspended by an administrator either via the Browser Users page in the Control Center or via a Sponsor Dashboard request, the user would mistakenly get suspended again within the next day if they did not log into REDCap soon after being unsuspended.Bug fix: If a sponsor had made a request to an administrator via an action in the Sponsor Dashboard, if the administrator was using a link in the email to process requests (as opposed to using the To-Do List), the administrator might mistakenly try to process the same request twice, which could cause issues. Now if an administrator attempts to process an already-processed request, it will display an error message letting them know that it has already been processed and therefore cannot be processed again.Bug fix: Users might mistakenly receive a notification email stating that they have an unread message in a conversation in REDCap Messenger, even though the conversation has been deleted.Version 8.6.0 - (released 7/2/2018)BUG FIXES & OTHER CHANGES:New feature: Easy UpgradeAdministrators may now upgrade to a more recent version of REDCap in an easier and more automated fashion with just a couple clicks. The Easy Upgrade process (if fully enabled) allows REDCap administrators to upgrade REDCap using only the REDCap user interface in the Control Center (i.e., direct access to the web server or database server is not required).Setup instructions will be displayed in the Control Center at the top of the page in blue regarding the steps that need to be performed to enable the Easy Upgrade feature, which requires the three following things in order to function:When using this feature, REDCap will auto-download the upgrade zip file of a REDCap version and will extract it on the REDCap web server, which requires that the REDCap application (e.g., Apache, IIS) must have “write” permissions to the main “redcap” webroot directory on the server. The setup instructions in the Control Center will notify you regarding the permission status of REDCap to be able to write to the “redcap” webroot.REDCap needs to be able to make outbound HTTP requests to?, which hosts the web service that serves the REDCap upgrade files that are downloaded by the application during the Easy Upgrade process.A MySQL user with elevated privileges (e.g., CREATE, ALTER, DROP tables) is required for this feature since it will need to sometimes create, modify, and even delete database tables during the upgrade process. The setup instructions for this feature in the Control Center provides two different methods for accomplishing this. 1) The current MySQL user that REDCap utilizes can be given elevated privileges. This is often not recommended because some security experts view this as a potentially exploitable weakness, such as if a malicious user somehow manages to discover an SQL injection vulnerability in the application to take advantage of those elevated privileges, or 2) A new MySQL user can be created with elevated privileges for the explicit purpose of using the Easy Upgrade process (and also the Auto-Fix method seen below for fixing the database structure). This new MySQL would never be used for normal REDCap database connection calls. For both of these two options, REDCap will provide the SQL required to increase the user privileges or to create the new MySQL user, respectively.If a particular upgrade is not able to complete the Easy Upgrade process because it recommends that REDCap first be taken offline before executing the upgrade SQL script, the Easy Upgrade feature will still be able to auto-download the REDCap upgrade file, but it will redirect the administrator to the Upgrade Module to complete the upgrade manually. This will occur only a small minority of the time for an upgrade.Once the Easy Upgrade feature has been successfully enabled, a cron job will check several times a day for any new REDCap versions that might have been released. If there are any new versions available, it will display a list of the versions at the top of the Control Center page to allow an administrator to choose the version to which to upgrade. The latest (most recent) version will be highlighted as the recommended upgrade path. If the REDCap installation is on the LTS branch, it will recommend the latest LTS version, whereas it will recommend the latest Standard Release version if the REDCap installation is on Standard Release. But regardless, the administrator will have control over which version to which they wish to upgrade.Note: This feature will not be able to be used until another version of REDCap is released after this one (since this feature can only be used when there is an upgrade available).Note: The Easy Upgrade feature cannot be used if the REDCap web server is using load balancing (multiple application servers). This is because the source code would only get downloaded to a single server (rather than to all of them) during the upgrade process.Improvement:?For the error message that says "Your REDCap database structure is incorrect!", which is found on the Configuration Check page and also on the main Control Center "Notifications" page, if the "Easy Upgrade" feature has been activated in REDCap or if REDCap’s MySQL user has elevated privileges (e.g., CREATE, ALTER, DROP tables), it will display an "Auto-Fix" button in the red box that will allow administrators to automatically fix the database structure issues by simply clicking the button. This action is often much easier for users than executing the SQL in the database directly to fix this issue.Improvement:?Regarding the green box that appears in the Control Center after a REDCap version directory has been loaded on the server, if it detects any other REDCap versions on the server that might be possible upgrade paths, it will list each one, and it will note if upgrading to that particular version would require taking REDCap offline temporarily for the upgrade or if the upgrade can be completed without taking REDCap offline.Improvement:?Improved data export for biomedical ontology fields - If fields using the biomedical ontology auto-suggest feature are being exported to a stats package, it will now render those fields as multiple choice fields (rather than as free-form text fields) in the resulting stats package syntax file, in which all the cached choices for those ontologies will be output as separate choices (values and labels) for those fields in the syntax file. Note: Since some ontologies contain thousands of choices, all possible choices will not be output in the syntax file, but instead only the cached choices that have been saved in that REDCap project for those ontologies will be output as choices in the syntax file.Change/improvement:?A new "Administrator Resources" section was added near the top of the Control Center's left-hand menu. It contains links to the REDCap Community site, the public Project REDCap site, and the REDCap Training Materials site.Major bug fix:?If an Automated Survey Invitation has conditional logic containing a datediff() function that is explicitly using "now" as a parameter, the cron job that runs several times a day to trigger any datediff+now ASIs would mistakenly fail to schedule invitations for this ASI. Note: The issue does not exist for datediff+today ASIs but only for datediff+now ASIs. (Ticket #43783)Bug fix: When clicking the +- options at the top of a survey page to increase or decrease the font size of the survey text, in some cases with particular nested HTML tags, it would mistakenly compound the size changes unnecessarily, thus causing the font size to be too large or too small for some blocks of text.Bug fix: When downloading a "compact" PDF containing data, if a multiple choice field contains many choices (e.g., >20) it might mistakenly display only that field on a page by itself.Bug fix: When downloading the CSV file of users on the Browse Users page in the Control Center, it would mistakenly have the resulting filename ending with ".csv.csv" instead of just ".csv". (Ticket #43774)Bug fix: When referencing a repeating instance number in the conditional logic of an Automated Survey Invitation and then selecting a record using the "Test logic with a record" option, it would mistakenly cause a PHP fatal error. (Ticket #44104)Bug fix: When a user has De-identified data export privileges in a project and attempts to export a PDF containing data, in which MDY- or DMY-formatted date/datetime fields are being piped into labels in that PDF, then instead of the piped values being replaced with "[*DATA REMOVED*]" as expected, they would mistakenly be replaced with "00.00.0000 REMOVED*]". (Ticket #44123)Bug fix: If an external module has its configuration permissions set to "Require module-specific user privilege" on the External Modules page in the Control Center, then if a user in a project gives another user the rights to configure that module, it would save that setting correctly. However, if the user reloaded the User Rights page to edit that same user's rights again, it would mistakenly appear that the user no longer has config permissions for that module (i.e., the module's checkbox would be unchecked), even though they were just given such rights. (Ticket #44112)Bug fix: When using the [survey-queue-link] Smart Variable with custom text to display, in certain situations it may mistakenly cut off the first word of the custom text or not display the custom text at all. (Ticket #44224)Bug fix: When setting an account expiration time for a user on the Browse Users page (via "View User List By Criteria"), if the administrator's date format preference is set to Y-M-D on their My Profile page, then the pre-filled expiration time in the Set Account Expiration popup might mistakenly be in Y-M-D H:M:S format when instead it should only be in Y-M-D H:M format, thus throwing a date-formatting error when submitting the action. (Ticket #44228)Bug fix: If using MySQL 8.0 or later for REDCap's database, it would erroneously display the "database structure is incorrect" error in the Control Center when nothing is really incorrect about the database tables. (Ticket #42594)Bug fix: Minor changes to some database tables, which were mistakenly created with BTREE indexes, which is a type of index that is not compatible with some versions of MySQL or MariaDB.Version 8.5.2 - (released 6/22/2018)BUG FIXES & OTHER CHANGES:Improvement:?The REDCap Mobile App v3.0 and later supports the Repeating Instruments and Events feature in REDCap projects. This version of the mobile app will be released on 6/22/2018 in the Google Play Store, and will also be released in the Apple App Store shortly thereafter (pending approval).Improvement:?A new setting has been added to both "DDP Custom" and "DDP on FHIR" that, if enabled, will convert source system timestamps (i.e., dates of service associated with temporal fields such as labs) from GMT time into local/server time. If the source system (e.g., EHR) has temporal data with dates/times of service that are being output in Greenwich Mean Time (GMT), setting this option to 'Yes' will automatically correct all associated timestamps so that they appear in local time in the DDP adjudication popup. This option was added because some EHRs/external systems might output associated timestamps in GMT/UTC time rather than in local time. Note: This uses the server's timezone setting in PHP.INI to determine what the "local time" is. This option can be enabled at the bottom of the "DDP Custom" page or "DDP on FHIR with EHR Launch" page in the Control Center.Change: Added "Postal Code (France)" as a new field validation type.Bug fix: When clicking the "Download upgrade script" button in the REDCap Upgrade Module (as opposed to copy-and-pasting the contents of the textarea box on that page), the upgrade script would mistakenly be missing the SQL query "REPLACE INTO redcap_history_version...". This would not have any adverse effects on the systems though. (Ticket #43372)Bug fix: When viewing reports, the same SQL query would mistakenly get run many times unnecessarily, thus reducing performance on the report page. (Ticket #42764)Change: Extra protection has been added to the username/password form when using the E-signature feature on a data entry form in order to prevent browsers from auto-filling the username/password.Bug fix: When clicking the "Fix calcs now" button when viewing the results of Data Quality rule H, if the first instrument of an event is locked for a given record, then any calc fields existing on that same event (even on other instruments) would mistakenly not have their values fixed by DQ rule H. (Ticket #23433)Bug fix: Fixed incorrect instructions in an error on the Configuration Check page in the Control Center. (Ticket #43672)Bug fix: When exporting a Project XML file that contains multiple choice fields that have choice labels containing a "less than" sign followed immediately by a number or letter, it would mistakenly truncate that choice label in the XML file. (Ticket #43675)Version 8.5.1 - (released 6/14/2018)BUG FIXES & OTHER CHANGES:Medium security fix:?A user access vulnerability was found in External Modules that have plugin pages that require authentication, in which a malicious user could potentially gain access to a module's plugin pages without having first logged in to REDCap (assuming the module installed in REDCap has plugin pages associated with it - many modules do not). This means that information displayed on that module page might be publicly accessible (able to be viewed without logging in) if a malicious user knows how to navigate to a particular External Module's plugin page and manipulate the query string URL in a very specific way. Note: This would not grant anyone access to other pages in the REDCap project but only to that particular module's plugin page to which they are manipulating the URL (i.e., standard REDCap pages are not affected by this; only module pages are vulnerable).Minor security fix:?When using the Double Data Entry module and merging two records into a new third record, if a File Upload field has a file that has been uploaded for either record, then the merge process would mistakenly display a text box to allow the user to enter a value (such as a different Doc ID) for the File Upload field, which does not make sense to allow during the merge process. However, this could allow the user to inadvertently enter the Doc ID of a file to which they do not have access (in the current project or in another project to which they have access), thus allowing them to have unauthorized access to a file if they have some special knowledge regarding how REDCap stores documents. From now on, users are no longer given the option to enter a value for a File Upload field on the merge page, and thus they can only choose one of the two existing options. (Ticket #42221)Bug fix: Many project pages would not function at all if using MySQL version 8.0 or higher. (Ticket #42264)The outdated training video on Instrument Development was updated.Bug fix: When a calc field's value is being piped somewhere on the same form or survey page where the calc field is located, and if a Smart Variable is utilized in the calculation, then the calculated value might not get piped and propagated correctly when the page immediately loads. (Ticket #42687)Bug fix: When using WebDAV for file storage and uploading files larger than 2 GB in size, they would mistakenly fail to upload successfully. (Ticket #42416)Bug fix: When performing the EHR Launch for "DDP on FHIR", it might mistakenly display the erroneous error message "The 'state' parameter is incorrect!" for specific FHIR configurations. (Ticket #42583)Bug fix: When enabling the aggregate survey results display on a survey, if respondents are allowed to return to the survey without needing a return code, it would mistakenly still ask the respondent for a return code if returning directly to the aggregate survey results page. (Ticket #42568)Bug fix: The variable names of fields were mistakenly being displayed next to the field labels of fields on the survey's aggregate survey results page. It should not display the variable names on surveys but only on the "Stats & Charts" page within the project.Bug fix: When using the Dynamic Data Pull module (either DDP on FHIR or DDP Custom), the date comparison function for evaluating timestamps for temporal mapped fields might exclude some values if their timestamps fall right on the edge of the date range. This means that some values might mistakenly not appear in the list of DDP values to adjudicate from the EHR/source system. For this to occur would likely be rare. (Ticket #42444)Bug fix: Cross-event branching logic or calculations would mistakenly not evaluate correctly for unchecked checkboxes referenced on other events. (Ticket #42585)Change: For DDP on FHIR, 25 more LOINC lab codes were added to the DDP field mapping process.Bug fix: When using certain Smart Variables inside the query of an SQL field, if that SQL field's value is being piped somewhere on the same form or survey page where the field is located, then if the value of the SQL field has already been saved, the SQL field's value would mistakenly not get piped when the page loads but only when the field's value was modified again while on that page. (Ticket #41868)Bug fix: When a field's value is being piped into the field label of a required field, in which that required field is submitted on a survey or form without a value, the resulting popup error "Some fields are required!" would mistakenly display the pre-piped version of the field labels in the popup rather than performing the piping before displaying the labels. (Ticket #42577)Bug fix: When using the Data Search feature on the "Add/Edit Records" page in a longitudinal project, if a value is entered that has a match inside a record name (record ID field), then some of the options returned in the search would often not navigate the user to a data entry page when clicked but would instead mistakenly just reload the "Add/Edit Records" page. (Ticket #42965)Bug fix: When using the To-Do List to process a "move to production" request, in which the request has been moved to "low priority" status, it would display the erroneous error message "Error: Request not valid", thus preventing the administrator from processing the request. (Ticket #43036)Bug fix: Record names displayed in the Participant List would not wrap to the next line but would mistakenly get truncated, thus preventing users from viewing the full record name in some cases. (Ticket #43059)Bug fix: REDCap Messenger would mistakenly run in the background when using the EHR Launch functionality in the "DDP on FHIR" module. This could mistakenly lead to some JavaScript errors, which might get displayed in the EHR interface.Bug fix: When using AWS S3 or WebDAV for file storage, some uploaded files (even those imported via the API or Mobile App) might have a copy mistakenly left in the /redcap/temp/ directory on the web server under a random name, in which the temp files never get deleted. (Ticket #43127)Bug fix: For certain server configurations or directory structures, the Cron Jobs page in the Control Center might go into an infinite loop and never fully load the page. (Ticket #43144)Bug fix: If branching logic or calculations are used for a field on a survey page, in which the logic/calc references the current survey's Form Status field, it would mistakenly assume the Form Status value to always be "" (blank) rather than the true status value of 0, 1, or 2. This does not affect data entry forms but only survey pages.Change: When composing a survey invitation and clicking the "Preview" tab, instead of displaying the survey link as "Sample Survey Link" or "SURVEY TITLE", it now displays the actual survey title as the link text. Additionally, when clicking the "Send text email", this same thing now occurs in the email that is received. (Ticket #38955)Bug fix: The database variable "collation_connection" was not getting set correctly when initializing the database connection. In most cases, this would not affect anything at all since it would only affect institutions who had recently performed a fresh installation (not an upgrade) of REDCap 8.5.0 and then afterward migrated to a new server or upgraded MySQL in which the collation_connection setting in F (or MY.INI) was different from the original server.Bug fix: If using custom link text for the Smart Variable [survey-link] when used inside a survey invitation's text, it would mistakenly fail to use the defined custom link text for the Smart Variable and instead would revert to using the survey title as the link text.Change: Added "Postal Code (Germany)" as a new field validation type.Version 8.5.0 - (released 5/29/2018)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature: DDP on FHIR with EHR LaunchREDCap’s “DDP on FHIR with EHR Launch” feature provides the ability to launch a REDCap window while inside an EHR and to quickly and seamlessly import clinical data from the EHR into a REDCap project. As a built-in module in REDCap that can be enabled by an administrator, this feature can interface with any EHR system that has “SMART on FHIR” web services enabled.What is DDP on FHIR? DDP on FHIR (Dynamic Data Pull from EHR) is a special feature for importing data into REDCap from an EHR (electronic health record system), such as Epic, Cerner, etc. It provides an adjudication process whereby REDCap users can approve all incoming data from the EHR before it is officially saved in their REDCap project. DDP on FHIR can only be enabled by a REDCap Administrator, so you should contact them if you wish to utilize DDP on FHIR for this project.How the DDP on FHIR works: DDP on FHIR has the ability to fetch data from the EHR system both manually in real time and automatically at a regular interval. From the EHR interface, DDP on FHIR can create new records in a DDP-enabled REDCap project. Additionally, if a user knows the patient identifier (e.g. medical record number), then they could optionally enter the MRN for a record in a DDP-enabled REDCap project, after which it will then go and immediately retrieve the patient data from the EHR in real time.For more documentation on “DDP on FHIR”, please see? view a 5-min overview video of DDP, please see??(note: this video is not specific to DDP on FHIR since the video was originally created for DDP Custom years ago, but it contains most of the functionality in DDP on FHIR (i.e., it does not showcase the EHR Launch feature of DDP on FHIR).Improvement: PDF Customization Options?– Users may change or remove the “Confidential” text displayed in the header of all PDFs in a project. Also, instead of displaying the REDCap logo and REDCap website URL at the bottom right of all PDF pages, they can instead choose to display the text “Powered by REDCap” in small font. These two settings are project-level, so they will be applied to every page of a PDF for all instruments in a project (for both forms and surveys). These settings can be found in the Additional Customizations popup on the Project Setup page. (Ticket #25326)Change/improvement: Protection has been added to help prevent the REDCap database connection's client character set (e.g., latin1, utf8, utf8mb4) from being affected 1) due to changes to the F (or MY.INI for Windows) configuration file in MySQL, 2) due to a server upgrade, or 3) due to migrating to a new servers. The current database connection's client character set will be stored in the redcap_config database table, and if the client character set ever changes on its own due to one of the reasons above, REDCap will automatically keep using the existing character set from the redcap_config table in order to maintain the correct encoding to prevent data corruption.Change/improvement: New installations of REDCap will utilize utf8mb4 as the default character set for both the database columns (previously set to utf8[mb3]) and client connections (previously set to that of the database server), which is defined in the F (or MY.INI for Windows) configuration file in MySQL, or set to latin1 if non-existent. This default has been changed because utf8mb4 encoding can allow for a greater variety of non-Latin characters to be stored in the database. Existing installations will not be able to utilize utf8mb4 encoding but instead will keep using their existing encoding (if other than utf8mb4).Bug fix: When installing REDCap, it would mistakenly not auto-set the value of the REDCap Base URL on the install page.Bug fix: If using MariaDB 10.2 (or higher) for the REDCap database, the REDCap Control Center would display the erroneous error message "Your REDCap database structure is incorrect!". (Ticket #28083, #32131, #41911)Bug fix: When using the "Add/Edit Branching Logic" popup in the Online Designer, if certain Smart Variables are used in the branching logic, and then the user selects a record from the "Test logic with a record" drop-down, it might display an erroneous message saying the the logic is not syntactically correct.Bug fix: When performing a data import of radio buttons in a matrix that has ranking enabled, it would sometimes display an erroneous error message if two or more matrixes of questions are being imported at one time, thus preventing the import from completing. (Ticket #39804)Bug fix: When using Dynamic Data Pull (either DDP Custom or DDP on FHIR) and the MRN field is being used as the Secondary Unique Field in the project, then if an MRN is entered on a form and the "Duplicate value!" error message popup is displayed, it would mistakenly not be possible to close the popup, thus causing the user to have to reload the page. (Ticket #41879)Version 8.4.5 - (released 5/22/2018)Change/improvement: For DDP on FHIR (for early adopters), the number of labs that are listed in the field mapping process has been greatly reduced to a more curated list that now excludes irrelevant LOINC fields that might not ever be used in an EHR. This should make it easier to find relevant labs from the EHR during the mapping process.Change/improvement: When using DDP Custom or DDP on FHIR, Step 1 of the field mapping process in a project now displays the "select all/deselect all" links for categories even when sub-categories exist for that category. In previous versions, it would not display the "select all/deselect all" links for categories when sub-categories existed, which made it difficult to select lots of fields in a category that were themselves not in a sub-category. So this reduces the number of clicks required in some cases.Fixes for External Module framework ()Version 8.4.4 - (released 5/17/2018)Change: If one or more external modules have been made "discoverable" in the system or if one or more modules have been enabled in a project, the "External Modules" link that is displayed on a project's left-hand menu will no longer appear for users unless they 1) have Design/Setup privileges or 2) have been given explicit user permissions for configuring at least one module enabled in the project. In previous versions, if at least one module had been made "discoverable", then the "External Modules" link would always appear in every project for every user, which proved to be undesirable for many users at many institutions. So this change has been made so that the link appears less to users who do not need to see it. Note: The link will still always appear to REDCap administrators, and also will still appear to users that have module configuration rights or Design/Setup privileges when modules have been either enabled in the project or made "discoverable" in the system.Change: For installations where only administrators can move projects to production, more protection has been added with regard to admins approving requests to move projects to production so that if a user makes a request, then cancels it, and then makes another slightly different request for the same project, it will no longer allow the canceled request to be approved, even if an administrator clicks the link to the request in an email. This provides better protection against a project's data from accidentally getting erased when moving to production. (Ticket #39772)Bug fix: When calling the API method "Export Project XML" and setting the parameter "returnMetadataOnly" as FALSE, it would mistakenly not return data but would only ever return just the metadata.Bug fix: The Smart Variables [survey-queue-link] and [survey-queue-url] were mistakenly not working when used inside the email subject or email message for an Automated Survey Invitation.Bug fix: When piping a project variable inside the email subject for an Automated Survey Invitation, it would mistakenly not successfully pipe the field's data unless that same variable was piped into the email message also.Bug fix: When downloading a PDF of an instrument that contains a matrix of fields, the matrix headers might mistakenly overlap the radio buttons or checkboxes of the first field in the matrix under specific circumstances. (Ticket #40969)Bug fix: When using record auto-numbering for a data import (via Data Import Tool, API, or Mobile App) that contains data for a repeating instrument or repeating event, then all the data for a given record in the import might be reduced from multiple instances/events of data to a single event/instance of data, thus causing much of the data to mistakenly not get imported. (Ticket #41283)8.4.4: Bug fix: Due to changes to non-versioned files in previous versions of REDCap 8.4.X, plugin files not located in the /redcap/plugins/ directory would mistakenly fail to load. (Ticket #40608, #41404)Bug fix: When viewing the "Stats & Charts" page, if a field has some missing values, and the user clicks the link to view the record names that have missing values, it might mistakenly return incorrect records-instances. This only occurs in projects having repeating instruments or repeating events. (Ticket #37674)Bug fix: When importing data (via Data Import Tool or API) into a longitudinal project and setting true/"yes" for the import option "Allow blank values to overwrite existing saved values?" when importing blank values for checkbox fields into a longitudinal event for which the checkbox's instrument is not designated, it would display the erroneous error that the checkbox field "exists on an instrument that is not designated for the event". (Ticket #37627)Bug fix: When adding a new field to an instrument on the Online Designer while in Draft Mode, if the field is being added between a section header and another field, in which the instrument begins with that section header, then the new field would get successfully created but would mistakenly not be visible in the Online Designer on that instrument, thus leaving it in a quasi-orphaned state. (Ticket #41359)Fixes and updates for External Module framework ()Version 8.4.3 - (released 5/11/2018)BUG FIXES & OTHER CHANGES:Major bug fix:?When using the designated email invitation field (project-level or survey-level versions of the email field) and saving a value for the email field on a survey or data entry form, when REDCap attempts to synchronize the value across all events/instances where the field is located, it would mistakenly not add the value to events or instances where the email field has never had a value saved. This could result in the email field's value appearing to be lost/deleted in some contexts. (Ticket #40615)Bug fix: When uploading a data dictionary containing Smart Variables in either branching logic or calculations, it would mistakenly display an error and prevent the user from completing the upload.Bug fix: When piping text that contains a dollar sign followed by a number, it would often mistakenly remove the dollar sign and the number that immediately follows it when displaying that piped text.Bug fix: When a record is selected on a project's Logging page, under certain specific conditions it might mistakenly display "Perform instrument-event mappings" logged events.Updates and fixes for External Modules frameworkBug fix: When viewing the Participant List for a project using the Twilio telephony module for surveys, if a user attempts to change the invitation preference for a participant in the participant list, then the popup window might mistakenly get obscured by the page footer. (Ticket #40150)Change/improvement: When a table-based user account is created or has their password reset link emailed to them, the email now includes extra text to remind them to set up their password recovery security question after logging in. (Ticket #40324)Bug fix: When opening the Data History popup for a given field on a data entry form, in certain cases it might mistakenly display the logged events for another field (for the same record) if the other field's variable name exists as the last portion of the current field's variable name (e.g., the field "his_field" would return logged events for the field "this_field" for the same record-event).Bug fix: If running REDCap on certain versions/configurations of PHP 5.3, it would not be possible to upgrade or install REDCap. (Ticket #40852)Bug fix: There was mistakenly no way to force REDCap to verify the SSL certificate if using SSL/TLS for the database connection, thus it assumed that it should never need to verify it. Since some institutions require SSL certificate verification when using an encrypted database connection, the line "$db_ssl_verify_server_cert = true;" should be added to the database.php file in order to force SSL certificate verification for the database connection. Note: The line of code below was added to the database.php file in the REDCap downloadable install zip file. $db_ssl_verify_server_cert = false; // Set to TRUE to force the database connection to verify the SSL certificateChange/improvement: On the "Stats & Charts" page, the variable name is now displayed next to the field label for each field displayed on the page.Bug fix: When viewing a record on the Record Home Page, on certain occasions if a user clicks on a repeating instrument that has a gray status icon, it might mistakenly create instance 2 as the first instance of that repeating instrument, rather than creating instance 1. This appears to affect only repeating instruments, not repeating events.Bug fix: In a longitudinal project that is using the Smart Variables [first-instance] or [last-instance] that are appended to a project variable name in logic, calcs, or piping, it would mistakenly return a blank value if the unique event name is prepended to the variable name.Bug fix: When using the randomization module in a project, in which one of the randomization strata fields has a choice that is hidden using the action tag @HIDECHOICE, then when randomizing a record on a data entry form, it would mistakenly display the choices in the randomization popup that should be hidden for the strata field. (Ticket #38987)Bug fix: When using a [X-event-name] Smart Variable inside branching logic to reference a field on another event, it would mistakenly display the branching logic error popup.Bug fix: When piping data from a matrix checkbox field to a place on the same page, it would mistakenly not pipe it correctly until the page was reloaded. (Ticket #41037)Bug fix: When a calc field exists on a repeating instrument or repeating event, and a field on another form/event triggers that calc field, then if no data had ever been entered into the calc field's form, it would mistakenly change the form status icon to red when instead it should stay gray (since only the calc field has data on that form). (Ticket #40940)Version 8.4.2 - (released 5/1/2018)BUG FIXES & OTHER CHANGES:Major bug fix:?If a slider field with a saved value on a form or survey gets focus (via tabbing into the field or if the field is the first field on a form), then if the user does not change the value of the slider after putting focus on it, then it would mistakenly remove the slider's existing value, thus erasing its value if the user saves the form/survey. (Ticket #40445)Change/improvement: Slight performance improvement on "Add/Edit Records" page for longitudinal projects using the Custom Record Label.Bug fix: When adding a project as a project template in the Control Center, the popup dialog might fail to display if some projects contain certain special characters in their project title. (Ticket #40283)Bug fix: When the Response Limit option has been set for a survey, instead of displaying the custom text on the survey page whenever the limit has been reached, for specific versions of PHP it would mistakenly just display a blank page. (Ticket #39659)Version 8.4.1 - (released 4/29/2018)BUG FIXES & OTHER CHANGES:New REDCap class method for developers: REDCap::getReport?– Plugin, hook, and module developers may utilize this method to return a report, which has been created in a project, in one of the following formats: Array, JSON, CSV, or XML. This is the REDCap class equivalent of the “Export Reports” API method.Bug fix: In some very rare cases, branching logic, calculations, and various conditional logic would not get parse correctly and would cause errors. (Ticket #39856)Bug fix: On some specific server configurations, the REDCap Upgrade module would not set certain server path constants correctly. (Ticket #40203)Bug fix: In certain cases, the @NONEOFTHEABOVE might not work on surveys or forms and might cause the user to get stuck and have to reload the page. (Ticket #40182)Bug fix: After running Data Quality rule H, the "Fix calcs now" button would mistakenly not work. (Ticket #40285)Bug fix: For longitudinal projects using a public survey on multiple arms, regarding all arms except the first arm, the public survey link would mistakenly be blank on the Public Survey Link page. (Ticket #40311)Bug fix: When survey invitations are being scheduled for many participants at once on the Participant List, in which some piping is being performed in the invitation's subject or body, then it might take an abnormally long time to complete the scheduling of all those invitations and might even time out and fail on certain occasions.Changed: When viewing the Smart Variables documentation from a project-level context, it will now use the project-level language for the documentation, whereas if viewed outside a project-level context, it will use the system language. It was previously only displaying the documentation in the system language. (Ticket #39949)Change/improvement: The main Control Center page now displays a warning message if any non-versioned files are outdated and need to be replaced. In previous versions, this warning would only appear on the Configuration Check page.Bug fix: When using the Twilio telophony module for sending survey invitations while also using Automated Survey Invitations that contain conditional logic containing datediff+today or datediff+now, if the ASI has "Participant Preference" as the invitation type, then in certain cases (but not all the time) it would mistakenly send the invitation via email rather than via the participant's preferred delivery method. And if those participants do not have an associated email address, then the invitation would simply fail to send, as noted in the Survey Invitation Log. (Ticket #29316)Bug fix: When piping checkbox fields with the "checked" or "unchecked" attribute, in certain cases it might mistakenly not display the correct checked/unchecked choices, respectively. (Ticket #39950)Version 8.4.0 - (released 4/18/2018)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature: Smart VariablesSmart Variables are dynamic variables that can be used in calculated fields, conditional/branching logic, and piping. Similar to using project variable names inside square brackets - e.g., [heart_rate], Smart Variables are also represented inside brackets - e.g., [user-name], [survey-link], [previous-event-name][weight], or [heart_rate][previous-instance]. But instead of pointing to data fields, Smart Variables are context-aware and thus adapt to the current situation. Some can be used with field variables or other Smart Variables, and some are meant to be used as stand-alone. There are many possibilities.35 Smart Variables are available. They can reference things with regard to users, records, forms, surveys, events/arms, or repeating instances. Documentation and examples for using Smart Variables are included on the Project Setup page, Online Designer, and other places throughout REDCap in a popup and alternatively as a standalone page.Note: While Smart Variables can be used for filters in reports and for filters for Custom Record Status Dashboards, they are not yet able to be utilized in Data Quality rule logic.Improvement: SQL fields can utilize Smart VariablesUtilizing Smart Variables in SQL fields can be very powerful because they allow the query to be truly dynamic and change from context to context or record to record, rather than it always being a static query that gets executed against the database.Note: When using Smart Variables inside the query of an SQL field, you do NOT need to wrap the Smart Variable in quotes or apostrophes because the Smart Variable itself will be replaced with a value already wrapped in single quotes. Also, the value of the Smart Variable will be SQL-escaped when placed inside the query so that no user can inject values to manipulate the query. This has no effect on how one constructs the query, but for security purposes it is good to know that this is being done.Improvement: Custom Record Labels now use proper piping syntax and can also utilize Smart Variables.Because Custom Record Labels existed long before the concept of piping was created in REDCap, they did not adhere to typical piping concepts – e.g., they could not use prepended event names; they would display the raw value of a multiple choice field whereas piping would instead display the label of a multiple choice field. There also used to be certain limitations Custom Record Labels, in which they could only use data from fields on the very first event (of the current arm). Now that Custom Record Labels can be used like regular piping, they can target fields on any event in a project, and they can also utilize Smart Variables.Note: Any longitudinal projects existing before the upgrade that currently use Custom Record Labels will automatically have all fields in the Custom Record Label prepended with the [first-event-name] Smart Variable in order to maintain the existing behavior from previous versions that could only pull data from the first event of the current arm. So prepending [first-event-name] allows existing longitudinal projects to maintain the way they worked prior to the upgrade to this REDCap version.Improvement/change: New method for composing survey invitation text using Smart Variables for survey linkWhen composing a survey invitation, the standard text and survey link are no longer automatically appended to the survey invitation text at the time the email is sent. Instead, users must now specify all the entirety of the text of the email (including the stock text and survey link that used to be appended automatically, if they wish) and therefore must supply [survey-url] and/or [survey-link] in the text if they wish to provide the participant with a link to the survey.If the user forgets to enter the survey URL Smart Variable in the text, REDCap will automatically suggest to them that they should.If using the Twilio telephony module for sending invitations, the standard instructional text will still be appended in the SMS message as in previous versions EXCEPT for the “Email invitation” and “SMS invitation (contains survey link)” invitation types, which require [survey-url] and/or [survey-link] in the SMS text in order for the participant to receive a survey link.Note: All survey invitations that were scheduled prior to this upgrade will still have the standard text and survey link appended to their survey text. Additionally, during the upgrade to this version, all saved configurations for Automated Survey Invitations (ASIs) will have the standard text and survey link automatically appended to the saved ASI email text, thus allowing the ASI behavior to remain exactly the same after the upgrade and allowing it to be backward compatible.New feature: New syntax for referencing fields on repeating instances in piping, logic, and calculationsFields that exist on a repeating instrument or on a repeating event can be referenced using a new syntax (note: repeating events and instruments are used the exact same way). This is done by appending the “repeat instance” number to the field inside square brackets – e.g., [weight][2], which points to repeating instance #2 for the field “weight”.Please note the distinction that unique event names should be *prepended* to variables whereas repeating instance numbers must be *appended* to them. For example, if the field “weight” exists on a form in the event “Visit Data” in a longitudinal project, you might reference instance #2 for that field on that specific event with the following: [visit_data_arm_1][weight][2].Smart Variables can be used in place of the repeating instance number, in which there are 5 instance-related Smart Variables: [previous-instance], [next-instance], [current-instance], [first-instance], and [last-instance]. For example, if you wish to use @DEFAULT action tage to carry over data from the previous instance of a repeating instrument, it might be set up as follows: @DEFAULT=”[weight][previous-instance]”.Improvement: Piping can now be used for checkbox fieldsPiping from Checkbox fields is slightly different than with other field types because checkboxes allow for multiple saved values. There are options to display a list of checked choices, unchecked choices, or a specific choice.[my_checkbox:checked] - Appending ':checked' will display a comma-delimited list of choice labels that have been checked - e.g., 'Sunday, Tuesday, Thursday'. Note: If neither ':checked' nor ':unchecked' is appended to the variable, then it will default to ':checked'.[my_checkbox:unchecked] - Appending ':unchecked' will display a comma-delimited list of choice labels that have NOT been checked - e.g., 'Monday, Wednesday, Friday, Saturday'.[my_checkbox(code)] - If a coded value of the checkbox is included inside parentheses after the variable name - e.g., [my_checkbox:(2)] - then it will output the word 'Checked' or 'Unchecked' regarding whether or not that specific choice has been checked off.Please note that while the checkbox piping options listed above will return the text labels, you may also append ':value' to the variable to return the raw value instead of the label. For example, [my_checkbox:checked:value] and [my_checkbox:unchecked:value] might return '1, 3, 5' and '2, 4, 6, 7', respectively, and [my_checkbox(2):value] will return 1 or 0 if checked or not checked, respectively.Improvement:?Multiple choice fields can now have their raw value (as opposed to their choice label) piped by appending “:value” to the variable name – e.g., [my_radio_field:value]. Note: This can also be used for SQL Fields to display the raw value of the SQL Field drop-down.Improvement:?Multiple choice fields can now have their raw value (as opposed to their choice label) piped inside an @DEFAULT action tag by appending “:value” to the variable name – e.g., @DEFAULT=”[my_radio_field:value]”.Minor security fixes:?Some Cross-Site Scripting (XSS) vulnerabilities were found on various pages in which a malicious user could potentially exploit them by manipulating the query string or POST parameters of particular HTTP requests. Part of this batch of fixes includes a change in the REDCap API's "content-type" HTTP header for CSV exports from "text/html" to "text/csv" as an extra preventative measure to protect against XSS.Major bug fix:?On some extremely rare occasions when loading a public survey, it might mistakenly display the data from a previous response rather than displaying the page with all fields blank.Change/improvement: If a REDCap installation is using two-factor authentication and has the Google Authenticator option enabled, then when new users initially verify their email address when first logging in to REDCap, it will now display the instructions for setting up the Google Authenticator app on that page after the email verification is successful. This will be necessary for installations that are utilizing Google Authenticator as the only two-factor option and also are not using Table-based authentication. (Note: This functionality does not apply to installations using Table-based authentication since that does not require email verification.)Bug fix: The "expand" link would mistakenly not work for the "Custom text to display at the top of the Help & FAQ page" textbox field on the General Configuration page in the Control Center.Bug fix: When deleting a repeating event instance on the Record Home page, it might mistakenly delete all files uploaded to any File Upload fields on other repeating instances of that event. (Ticket #37988)Various fixes and updates for External Modules frameworkBug fix: When viewing the Survey Invitation Log in a project using the Twilio telephony services for surveys, it would mistakenly display the "Record" and "Participant Phone" headers for the wrong columns in the table.Bug fix: When using the REDCap Mobile App for a project that contains Descriptive fields that have inline images, if the file storage setting has been set to "WebDAV" on the File Upload Settings page in the Control Center, the images would mistakenly not get synced to the mobile app correctly.Bug fix: The action tags @NONEOFTHEABOVE and @MAXCHECKED would not work well together and would cause @NONEOFTHEABOVE to malfunction when using both tags on a single checkbox field. (Ticket #38119)Bug fix: When using a custom Data Quality rule to find a field with a blank value, in which the field exists on a repeating instrument, it would not always return the correct results. (Ticket #37067)Bug fix: When using the Google Authenticator app for two-factor authentication and an administrator clicks the "Send instructions via email" for 2-step login on the Browse Users page, it would mistakenly try to embed the QR code image in the email sent. But if the user was not currently logged into REDCap, then it would mistakenly display a broken image in the email contents instead.Various fixes and updates for External Modules frameworkBug fix: The documentation for action tags @TODAY and @NOW mistakenly state that a field using either action tag would be disabled and not editable, which is no longer true but used to be true in older versions. (Ticket #32537)Bug fix: When uploading an instrument zip file in the Online Designer, it would mistakenly truncate the form name to 50 characters in length when instead it should be truncating it to 64 characters if the form name was longer than that.Bug fix: When using the PDF Auto-Archiver for a survey, if the project has all its data erased via the "Erase all data" button on the Other Functionality page or if the project is moved to production while opting to delete all records, then it mistakenly would not delete all the archived PDF files in the File Repository. (Ticket #38660)Bug fix: When clicking the "exclude" or "remove exclusion" link in the discrepancy results in the Data Quality module when using a non-English language for the text of that project, it would mistakenly only show the text in English right after clicking those links. It should instead display them in the project language. (Ticket #38408)Bug fix: If using an SSL database connection for MySQL, plugins and some external modules pages would mistakenly return an error and not load. After upgrading to this version, an administrator will need to download the zip file containing outdated non-versioned files on the Configuration Check page, and then follow the instructions there. (Ticket #37763)Change/improvement: Non-versioned files (e.g., redcap/index.php, redcap/surveys/index.php) now make a database connection via redcap_connect.php to determine the current REDCap version (when appropriate). In previous versions, those files would naively assume the highest numbered version that was inferred from the REDCap version directory name, which would sometimes lead to erroneous conclusions about the correct version number.Bug fix: On very rare occasions, creating a new user role in a project might mistakenly result in displaying an error to the user that states that an email could not be sent to the user, which does not make sense because there is no user in this context. This was supposedly fixed in the previous version but was not. (Ticket #37465)Bug fix: When deleting a form's data using the "Delete data for THIS FORM only" button at the bottom of a data entry page, if it is a repeating instrument, it would mistakenly fail to mention that this action would only delete the current repeating instance of the form, not all repeating instances of that form.Bug fix: The SQL mapping file for installing the DDP Custom demo web service might cause an SQL error and not execute successfully if DDP mapping has already been performed for any DDP Custom project in the system.Bug fix: The Dynamic Data Pull (DDP Custom or DDP on FHIR) module was mistakenly unable to utilize repeating instruments or repeating events for capturing temporal data.Change/improvement: Added stats for e-Consent Framework usage on the Control Center's System Statistics page.Change: Added extra note at the bottom of the REDCap Messenger informational page that states that entering PHI or PII into a Messenger's conversation title is highly discouraged because conversation titles are much more visible than conversation text.Change/improvement: When using the Copy Project button on the Other Functionality page, it now copies the Record Locking Customization settings for the project.Change/improvement: When using the Copy Project button on the Other Functionality page, it now displays an option to the user to copy all custom record status dashboards in the project.Bug fix: When using AAF authentication, the cross-site request forgery (CSRF) protection would not work properly.Bug fix: When an unsuccessful login attempt occurs in REDCap, it now only logs the username value entered if the value is a valid REDCap user's username. If not, it instead logs it as "[not_valid_username]" in the redcap_log_view database table. This fixes a potential security hole in which some users might mistakenly enter their password in the username login field, in which it would log their password in plain text in the redcap_log_view database table and thus could be viewable to anyone with direct access to the backend database.Bug fix: When adding a new user in REDCap (in several places throughout the application), if user attempts to create a username containing an ampersand, it would not allow it even though the error message says that ampersands are allowed. This error message text is incorrect because ampersands are not allowed in REDCap usernames. (Ticket #39267)Bug fix: When running Data Quality rule H, it might mistakenly not return some discrepancies in very specific cases. This would most often occur when the calculated value has a decimal while the saved value does not contain a decimal (and vice versa). (Ticket #38488)Bug fix: When using a Live Filter on the "Stats & Charts" page of a report, in which no results should be displayed for the selected Live Filter, it would mistakenly display all records in the charts and stats tables on the page. (Ticket #39349)Bug fix: When using conditional logic, report filters, etc., in which certain text is used inside double quotes or single quotes (i.e., text that is used internally by REDCap as special processing tokens), it would sometimes mistakenly return no results instead of the desired results. (Ticket #32295, #39418)Change: New DDP on FHIR setup instructions for Cerner were added to the DDP on FHIR zip file.Change: The BioPortal biomedical ontology web service is now called through a secure method (SSL/HTTPS) by REDCap. This will not affect how the ontology field search works, but provides more security by encrypting all the requests being sent from REDCap to the?data.?website. (Ticket #39613)Bug fix: Inside the red box that appears at the top of the data entry form when viewing a survey response, it would mistakenly report that other users contributed to the survey response, even though those users may have entered data on another instrument for that record. This issue cannot be fixed for existing responses, but the issue will no longer occur for any new responses created. Additionally, the text that denotes the users that have contributed after the survey was completed would be incorrect if users may have entered data on another instrument for that record, but this issue (unlike the other one described above) will be fixed retroactively for existing responses and for new responses. Also, both of these issues would mistakenly include calc fields when determining contributors; however, calc fields will no longer be considered because they can be triggered from data being entered elsewhere for a record. (Ticket #38545)Bug fix: When exporting data to a stats package for a project that contains repeating instruments, the choices listed for the field "redcap_repeat_instrument" in the stats package's syntax file would mistakenly have the instrument label repeated multiple times for that field if that instrument were set to be repeating on multiple events in the project. (Ticket #38529)Bug fix: When viewing the Public Survey Link page of a project containing multiple arms, if the first data collection instrument is not designated for the first event of the current arm, it would mistakenly display the public survey link of another arm (typically the first arm). It now displays a warning on the page to inform the user to fix this issue by designating the first instrument for the first event of that arm. (Ticket #39647)Version 8.3.2 - (released 3/15/2018)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature: Survey-specific email invitation fieldsThis is a new option on the Survey Settings page that can be enabled for any given survey, in which a user may designate an email field for sending survey invitations for that survey only.The email field being utilized for the survey can exist on any instrument in the project, and you may use a different email field on each survey. You may also use the same email field for multiple surveys.This feature is similar to the project-level email invitation field except that it is employed only for the survey where it has been enabled. This allows users to have data entry workflows that require multiple surveys where the participant is different for each survey. Using this feature, multiple people can be emailed a survey invitation, after which all the survey data they enter goes into the same record in the project.Improvement:?The REDCap::getParticipantEmail method has a new optional parameter ($instrument) that can be utilized, in which $instrument is the unique/back-end name of the data collection instrument. This parameter only needs to be passed when utilizing the survey-specific email invitation field for a given survey, in which there might exist a different email address for that specific survey than for other surveys in the project.Improvement:?The datepicker widgets and timepicker widgets that are displayed on data entry forms and survey pages now have their language abstracted so that it will display the months, days of the week, and buttons in the language set for the project.Bug fix: When using the Data Search feature on the "Add/Edit Records" page, clicking the keyboard's down arrow button mistakenly no longer selects an option returned from the search. (Ticket #37144)Bug fix: In a longitudinal project, when a user clicks the "Delete data for THIS FORM only" button on a data entry form, if data exists on other events for the current record AND the form being deleted is the only form containing data on the current event, then that event would mistakenly still show up in reports and data exports even though it no longer contains any data and shows gray status icons for all the instruments in the event. In the previous version, this bug was fixed for most scenarios (traditional longitudinal and repeating instruments) except not for repeating events. This now fixes the issue for repeating events. (Ticket #35814, #37290)Bug fix: If a user requests that their project be moved to production by an administrator, in which the administrator does not use the To-Do List nor the link in the request email but instead just goes to the project directly to move it to production, then the original request would mistakenly not get removed from the To-Do List. (Ticket #37159)Bug fix: When searching by project title on the Browse Projects page when a username has not been entered in the user search box, it would mistakenly assume that a username named "Search" was entered. This only occurs when using Internet Explorer. This would also cause the user button at the top right of the page to mistakenly say "User does not exist". (Ticket #37497)Bug fix: On very rare occasions, creating a new user role in a project might mistakenly result in displaying an error to the user that states that an email could not be sent to the user, which does not make sense because there is no user in this context. (Ticket #37465)Change: On the Browse Users page, it will no longer display the "Verified" or "Not yet verified" flag next to a user's email address if the user is a Table-based user. This is because the email verification is only ever utilized for non-Table-based authentication. (Ticket #37474)Version 8.3.1 - (released 3/9/2018)BUG FIXES & OTHER CHANGES:Improvement:?REDCap will routinely check to see if any External Modules have updates available for download in the REDCap Repo. If some do, it will display a message in the Control Center to allow an administrator to easily update the modules.Improvement:?If the REDCap installation has been set to report its REDCap stats "manually" (rather than "automatically") on the General Configuration page, it will provide a new button on the Control Center "Notifications" page that says "Try auto-sending stats", which will double check if the server is able to send its REDCap stats automatically. And if the button is clicked and is successful, it will automatically set the installation's reporting method to automatic.Improvement:?Sponsor Dashboard requests that are listed on the To-Do List page will now have the selected users' usernames in the To-Do List item's comment so that the administrator may reference this (if needed) while processing the request.Improvement:?When the Google Authenticator option has been enabled while using two-factor authentication, it now displays a button on the Browse Users page in the Control Center that, when clicked, will email the user the instructions for setting up Google Authenticator for their REDCap account. This feature will be useful when all other two-step login options have not been enabled and the user cannot successfully log in to REDCap.Various fixes and updates for External Modules framework.Change: When using the designated email invitation field (enabled on the Project Setup page), if the field is located on an instrument that gets used on multiple longitudinal events or if it is located on a repeating instrument/event, all occurrences of the field will now be forced to have the same value. This means that if one value is entered for the field, that value will always be the value seen in other events or other repeating instances of the instrument. And if the value is changed on any event or repeated instance, then that value will be updated on all events or repeating instruments/events where the field has a value. This will keep the field's value in sync in all locations since the underlying assumption of the designated email invitation field is that there is really only one single value, which is the email address of the survey participant.Bug fix: On the Project Templates page in the Control Center, it would mistakenly display deleted projects in the project drop-down list when choosing a project to enable as a project template. (Ticket #36672)Bug fix: When the "Save & Return Later" setting is enabled on a survey and the "Allow respondents to return without needing a return code" option is checked, if a participant's email address is known when they click the "Save & Return Later" button on the survey page, it would mistakenly display some text on the page that implied that they would need a Return Code to return to the survey, which is incorrect. (Ticket #36729)Bug fix: In a longitudinal project, when a user clicks the "Delete data for THIS FORM only" button on a data entry form, if data exists on other events for the current record AND the form being deleted is the only form containing data on the current event, then that event would mistakenly still show up in reports and data exports even though it no longer contains any data and shows gray status icons for all the instruments in the event. (Ticket #35814)Bug fix: In a longitudinal project, the Scheduling module might mistakenly crash due to a fatal PHP error when attempting to generate a schedule for a record. This was often due to using either a negative Day Offset value or negative Offset Range value for certain Start Date values. Bug emerged in REDCap 8.2.2. (Ticket #36592)Bug fix: REDCap Messenger might throw a JavaScript error after being opened because certain web browsers are beginning to deprecate synchronous AJAX requests in JavaScript. (Ticket #36970)Change: When exporting data to SPSS, the resulting SPSS syntax file now defines Text fields as A30000 rather than A500 to allow for Text fields with text longer than 500 characters.Bug fix: When using the @NOW action tag for a date field (rather than a datetime field), it mistakenly inserts the full timestamp into the date field, which results in a field validation error. It now instead inserts only today's date as a value into the field, as if @TODAY were used. (Ticket #36969)Bug fix: If a slider field on a survey or data entry form is set to display its numerical value, if "100" is selected for the slider, the text field would partially cut off the value being displayed. (Ticket #37048)Bug fix: When using "<>", "<", or "<=" in the choice labels for drop-down, radio, or checkbox fields on an instrument, they would not display correctly on the page but instead might omit those operators or instead display nothing as the choice label. (Ticket #37007)Version 8.3.0 - (released 3/1/2018)NEW FEATURES, BUG FIXES & OTHER CHANGES:New features: PDF Auto-Archiver & e-Consent FrameworkPDF Auto-ArchiverUpon survey completion, a compact PDF copy of the survey response can be automatically stored in the project's File Repository, from which the archived PDFs can be downloaded at any time.This setting is located on the Survey Settings page in the Online Designer, thus it can be enabled for any given survey in a project.e-Consent FrameworkThis feature, which works together with the PDF Auto-Archiver, provides functionality for user’s to implement electronic consent (e-Consent) using a survey as the consent form, such as for capturing the consent of a research study participant.The e-Consent Framework option adds two things to the typical survey-taking process. 1) Before a participant completes the survey, an extra certification page is added to end of the survey that displays an in-line PDF copy of their survey responses in which they will be asked to confirm that all information in the document is correct. Once they confirm all is correct, the survey will then be marked as complete. The survey will not be considered complete until they fulfill the certification step. 2) Upon completion of the survey, a static copy of their responses in the form of a consent-specific PDF will be stored in the project's File Repository. The consent-specific PDF will have the values of the e-Consent Framework Options inserted at the bottom of each page in the PDF. These values (i.e., name, date of birth, etc.) are added to the PDF as extra documentation of the identity of the person who is consenting.A participant’s IP Address is also recorded and displayed in the File Repository after the e-Consent process, but this option to collect the IP address can also be optionally disabled at the system level (if desired) on the Modules/Services Configuration page in the Control Center.The e-Consent Framework feature can be disabled at the system level (if desired) on the Modules/Services Configuration page in the Control Center.In addition to storing the e-Consent PDFs in a project’s File Repository, you may also optionally enable the External Storage option (requires PHP 5.6.0+), which will automatically store the PDFs on a separate file server (using WebDAV or SFTP). This external file server may serve as a giant “vault” for your entire REDCap installation’s consent forms. This is a system-level setting that can be enabled on the File Upload Settings page in the Control Center.New feature: New method REDCap::getValidFieldsByEvents?for plugins, hooks, and modules. This method returns an array of field names belonging to instruments that are designated for specified events in a longitudinal project. The method also contains the option to include or exclude the project's Record ID field.Improvement:?The Survey Invitation Log now contains an extra column on the right-hand side to allow users to delete many scheduled invitations at once (rather than having to delete them one at a time).Improvement:?Checkbox fields may now be utilized in the DDP Custom or DDP on FHIR modules when importing data from external sources/EHRs. This will be useful because certain systems might record some non-temporal fields (e.g., race) as multi-value fields. Note: If multiple values are detected from the DDP source system/EHR for a field that is neither a temporal field nor a checkbox field, it will display a red warning message in the DDP adjudication popup informing the user that multiple values have been detected and that only one value can be imported unless they convert the field into a checkbox field.Improvement:?The Configuration Check page in the Control Center now checks to see if the REDCap server can communicate with all the various third party websites/services that are used within REDCap. These include Twilio, PROMIS, BioPoral,?Bit.ly, and?IS.GD.Bug fix: When deleting an individual survey invitation or modifying an invitation's send time on the Survey Invitation Log, the logging would mistakenly state that "SYSTEM" performed the action rather than the user's username.Various fixes and updates for External Modules frameworkBug fix: On the Field Comment Log page in a project, if a user is using the Internet Explorer web browser, clicking the "Apply filters" button would mistakenly cause it mistakenly to search for the keywords "Keyword" and "search" even when the "Keyword search" text box has been left blank. This would often cause it to return no results, which is confusing. (Ticket #36266)Bug fix: Projects that use repeating events or repeating instruments will now *always* output the "redcap_repeat_instrument" and "redcap_repeat_instance" fields in a report or data export, as well as the output of REDCap::getData, regardless of whether the report/export contains any repeating data or not. In previous versions, it would mistakenly only output those fields if any data in the report/export was repeating. This means that the number of columns would vary unpredictably based on the filters applied to the report/export (or based on the parameters passed to REDCap::getData), which is confusing and inconsistent with how reports/exports typically behave. (Ticket #36263)Bug fix: When a record is deleted in a project (either via the user interface or via API), the logging page would mistakenly display the event name for the logged event, which is confusing because the record as a whole was deleted, not just for a specific event. It now no longer displays the event name for the logged event, and if the project contains multiple arms, it will instead display the number and name of the arm from which the record was deleted. (Ticket #36358)Bug fix: When viewing the data entry form of a repeating instrument, in which the "Current instance" drop-down list is displayed at the top of the page, if a user clicks the "+" button inside the drop-down rather than clicking the "Add new" text, it would mistakenly take the user to an incorrect page.Bug fix: When viewing/exporting a report or using the REDCap::getData() method in a longitudinal project with multiple arms, in which the user is exporting data from an arm that currently has no records in it (i.e., the data set being returned should be empty because there is no data from that arm to return), then it would mistakenly output a list of all records from other arms but with blank/default values. (Ticket #36470)Bug fix: In a longitudinal project with multiple arms, in which a record exists on more than one arm, if a user clicks the "Lock all instruments across all events" on the Record Home page on a certain arm, it would mistakenly lock all the instruments/events on other arms in addition to the current arm. It should only lock the instruments on the current arm. Note: The unlocking process does not appear to be affected by this issue.Bug fix: When using DDP Custom or DDP on FHIR and adjudicating temporal data for several different events, if a field value is adjudicated in one event, it might mistakenly get marked as adjudicated for that same field in other events. This causes the field to be hidden in the DDP adjudication popup when viewing the other events, so it makes it appear as if it has already been adjudicated when it has not.Bug fix: On certain occasions, the Scheduling module might mistakenly crash due to a fatal PHP error when attempting to generate a schedule for a record. This appears to only occur for PHP 5.3. (Ticket #36592)Version 8.2.3 - (released 2/23/2018)BUG FIXES & OTHER CHANGES:Improvement/change:?To help with troubleshooting PHP errors occurring on the REDCap server, the line "global $log_all_errors; $log_all_errors= true;" can be added to the database.php file, which will log all PHP errors, warnings, and notices to the designated PHP log file. (Ticket #35868)Improvement:?On the "Browse Users" page, the "View User List By Criteria" tab has a new display option "Has never logged in" to help administrators quickly find users (typically when using Table-based authentication) that have a REDCap account but have never actually logged in to REDCap.Improvement:?The REDCap::getData method for plugins/modules now has an alternative way of passing parameters to the method. Rather than providing the method's parameters individually, they instead may be passed to the method in an associative array, in which each key in the array exactly matches the parameter names listed above (must match case). Note: Not all the parameters have to be included in the array, but only the ones one wishes to set explicitly. Example: $params = array('return_format'=>'json', 'filterLogic'=>'[age] >= 18', 'fields'=>array('dob','record_id')); $data = REDCap::getData($params);Major bug fix:?If a longitudinal project has more than one arm and also has the Secondary Unique Field enabled, if a record exists in multiple arms, then whenever a user saves a value on a form or survey for the Secondary Unique Field, it would mistakenly set that value for all events in all arms for that record when instead it should only set that value for all events in the current arm.Minor security fix:?Some Cross-Site Scripting (XSS) vulnerabilities were found on various pages in which a malicious user could potentially exploit them by manipulating the HTTP Referrer header of an HTTP request.Bug fix: When viewing a record on a data entry form that exists on a repeating event and then clicking a PDF download option to download that instrument with saved data, the resulting PDF would mistakenly contain all the repeated instances of the instrument for that record instead of just the current instance being viewed. This issue does not occur for repeating instruments but only for instruments on a repeating event.Bug fix: For a matrix of fields displayed in the Online Designer, the matrix headers were not aligning correctly with the radio button/checkbox for the fields. This only occurred when viewing a matrix in the Online Designer.Bug fix: When using the date-picker or datetime-picker widget to select a date/time on a form, survey, or other page in REDCap, the field validation alert might get called prematurely, which can cause it to be displayed to the user unnecessarily or may even cause the user to get stuck (because the widget keeps displaying whenever it is closed) and have to reload the whole page. (Ticket #35735)Various fixes and updates for External Modules frameworkBug fix: When uploading a file using Send-It, if the recipients text box is left blank when the submit button is clicked, it would forever say "Working...", in which the user would have to manually reload the page in order to start over. (Ticket #35986)Bug fix: When using the Record Status Dashboard in a project with Data Access Groups, if the paging drop-down has a specific page selected and then the user selects a Data Access Group from the DAG drop-down, it could mistakenly try to display a "page" of records that does not exist for the new resulting data set and thus would display "no records", which could be confusing. In this case, it will now revert back to page 1 if the selected page no longer exists for the new DAG selection. (Ticket #36053)Bug fix: When using the Randomization module in a project and attempting to randomize a record on a data entry form in which the @NOW or @TODAY action tag is used *and* piping is also being performed on the same form, then the "Randomize" button would fail to appear if the user was specifically using iOS (Mobile Safari web browser). (Ticket #35998)Bug fix: On the Sponsor Dashboard and Browser Users pages, it would mistakenly allow a user to utilize the actions "Reset password", "Set account expiration", and "Extend account expiration" on users that have been suspended. It should not allow those actions on suspended users.Version 8.2.2 - (released 2/15/2018)BUG FIXES & OTHER CHANGES:Improvement:?The "Browse Projects" page has a new option to perform a keyword search on the project title to find projects more quickly. This option can be used with or without the username search at the same time on that page. When searching by project title, it will order the project list based on best match with the keywords entered.Improvement:?Added new "Record ID" column in the Survey Invitation Log table to allow users to find specific invitations more efficiently. Note: If the record name should not be displayed in order to preserve the anonymity of a response (e.g., participant identifier is not used, designated email field is not used), it will instead display an icon indicating that the record name cannot be displayed.Improvement:?Added new filter on the Survey Invitation Log table to allow users to filter the invitations by record ID.Improvement/change:?Added new "Record ID" column in the Participant List table. In previous versions, the record ID was appended to the email address in the "Email" column. Having its own column will allow users to find specific participants more efficiently.Improvement:?When opening the "Add/Edit Branching Logic" popup in the Online Designer, it could sometimes be very slow to open if the project contains many fields, especially many multiple choice fields. The popup could even be slow when the selected field does not even have branching logic yet. To improve this, it now defaults to selecting the "Advanced" option first when the popup opens and only attempts to load the "Drag-N-Drop" draggable field choices when that option has been selected by a user. While this won't completely alleviate the issue of the "Drag-N-Drop" option being slow when there are many fields, this will make it much more palatable in a majority of situations when branching logic is being added/edited in the Online Designer. (Ticket #1905)Improvement:?If a field has branching logic, the Online Designer now displays the logic (up to the first 65 characters) on the field so that the user can view it easily without having to open the Add/Edit Branching Logic popup.Change/improvement:?The Control Center login option "Disable autocomplete feature in user's browser for username/password fields on REDCap login page?" has been improved to work more dependably in more browsers. Also, other pages with "password" type fields, such as the File Upload Settings page in the Control Center, have also been improved to prevent accidentally injecting a user's username and password in places where not appropriate or not correct. (Ticket #35339)Change/improvement:?If an administrator is moving a project in production back to development status and the project is in Draft Mode, it will now automatically create a Data Dictionary Snapshot of the drafted changes and store the snapshot on the Project Revision History page.Major bug fix:?When using the "Save & Return Later" survey feature, and a participant has partially or fully completed a survey, in certain cases if they use the return code and enter it while using the public survey link (as opposed to a private/unique survey link), it might mistakenly create a new record instead of modifying the existing record.Bug fix: When viewing the Participant List of a survey that is a repeating instrument or is on a repeating event, REDCap would mistakenly add extra placeholder rows in the Participant List if the instrument is utilized on multiple events. These extra ghost/placeholder rows would point to non-existing instances of an instrument. Note: If these placeholder rows have already been created in the Participant List, then unfortunately they will not be able to be removed. (Ticket #34741)Bug fix: When a non-CSV file is being uploaded into a place where only CSV files are permitted (e.g. Data Import Tool, Data Dictionary), it would mistakenly provide a link to a Microsoft webpage that no longer exists. The link URL has now been replaced with a working link.Bug fix: When performing a data import in a project with repeating instruments or repeating events, in which the redcap_repeat_instance field is included in the import file but is mistakenly given a non-numerical value, then the data values on that row might mistakenly be saved in the database incorrectly. (Ticket #35143)Bug fix: In the Scheduling module when using a Start Date with the year 2038 or higher, it would mistakenly return dates in the year 1969 for the projected schedule that is generated. (Ticket #35178)Bug fix: When a sponsor sends a request via the Sponsor Dashboard, after a REDCap administrator approves the request, the confirmation email being sent back to the sponsor would mistakenly mention the approver's username in the email body rather than the requester's username.Change/improvement: When a sponsor sends a request via the Sponsor Dashboard, after a REDCap administrator approves the request, the confirmation email being sent back to the sponsor now lists the usernames of all the users to which the sponsor request was applied.Bug fix: Fixed compatibility issues when using REDCap with PHP 7.2. This includes a fatal PHP error on the REDCap install page, and a fatal PHP error when downloading a PDF of an instrument. (Ticket #35240)Bug fix: On the Data Dictionary upload page, it might mistakenly display some uninterpreted HTML tags and some misformatted text for warnings and errors on the page after uploading a Data Dictionary. (Ticket #35499)Bug fix: If running PHP 5.3 on the REDCap server, in certain situations the Configuration Check page might mistakenly fail to mention that PHP 5.4 or higher is required in order to use External Modules.Bug fix: When using the "Save & Return Later" survey feature with the option enabled to "Allow respondents to return and modify completed responses", if a respondent begins a public survey and clicks "Save & Return Later", and then returns to the partially completed survey using a private survey link (not using the public survey link as before) and completes the survey, and then returns to the completed survey again using the public survey link (not the private survey link), using the return code they obtained the first time they visited the survey (not the return code they obtained later that is tied to the private link), and then they click "Save & Return Later", it will mistakenly set the survey status back to incomplete even though the survey has been completed. (Ticket #35210)Bug fix: When downloading a "compact" PDF of a survey response for a survey that has question auto-numbering enabled, the question numbers displayed in the compact PDF will not be correct when compared to the real order in which the questions appeared on the survey page.Bug fix: When downloading a PDF of an instrument while on a data entry form, in which data has been modified on the form, after clicking a "download PDF" option it would mistakenly display a confirmation prompt letting the user know that they will be abandoning the page, which is not true. So the prompt is unnecessary and confusing.Bug fix: When downloading a file attachment for a Descriptive field on a survey, in which data has been modified on the survey page, it would mistakenly display a confirmation prompt letting the participant know that they will be abandoning the page, which is not true. So the prompt is unnecessary and confusing. (Ticket #35436)Change: If the secondary unique field is enabled and contains HTML tags in its field label, those tags will now be stripped out when displaying the label and value of the secondary unique field throughout a project, such as on a report, top of data entry page, and the left-hand project menu when a record is selected. This hash been changed because HTML tags in the field label could distort the user interface in unpleasant ways.Bug fix: If a report is being sorted by the record ID field in descending order or the record ID field is sorted as asc/desc with one or two other sort fields, and the project has record auto-numbering enabled but the record ID field does not have integer/number validation, then the report would fail to order the results correctly.Bug fix: When viewing the "Stats & Charts" page for a report, slider fields and calc fields would mistakenly not have a scatter plot displayed for them.Bug fix: The field label of the Secondary Unique Field would mistakenly get displayed even if the field has no value. It should not display the label unless there is a value. (Ticket #35637)Bug fix: When importing data into a project in XML format via the API or via the plugin method REDCap::saveData(), in certain cases it would not gracefully handle an error in the XML but would instead mistakenly cause a PHP fatal error. (Ticket #35368)Bug fix: If a survey is using "Save & Return Later" with the option "Allow respondents to return without needing a return code" enabled, then if a participant clicks the "Save & Return Later" button at the bottom of the survey, in the email that REDCap sends to the participant with the survey link needed to continue the survey, the email text would mistakenly mention that a return code would be needed, which is not correct. (Ticket #33365)Change/improvement: When performing an API export in JSON format for the API methods Export Users, Export Project Info, Export Survey Participants, and Export Events, while the values in the API response were all correct, some API scripts were having trouble with the fact that some integers were returned in string format (surrounded in quotes) rather than as literal integers in the JSON response. Now they should all be returned as literal integers.Version 8.2.1 - (released 2/1/2018)BUG FIXES & OTHER CHANGES:Improvement:?A new system-level setting was added on the Control Center's "User Settings" page: "Allow normal users to modify the 'Repeatable Instruments & Events' settings for projects while in production status". This setting is enabled by default, but if disabled by an administrator, normal users will not be able to open or save the 'Repeatable Instruments & Events' popup dialog on the Project Setup page while the project is in production, in which only administrators will be able to do so.Improvement/change:?The Font Awesome 5 iconic font and CSS toolkit is now included as part of REDCap.Improvement/change:?The project Logging page now provides useful contextual information for the ASI logged event "Automatically schedule survey invitation", in which it will display the record name, survey title, and event name (if longitudinal).Improvement/change:?The project Logging page now logs when a survey invitation that was scheduled via ASI gets deleted due to the ASI option "Ensure logic is still true before sending invitation?", in which the logged event will display useful contextual information, such as the record name, survey title, and event name (if longitudinal).Improvement/change:?The project Logging page now logs when a survey invitation is deleted or when its send-time is modified on the Survey Invitation Log, in which the logged event will display useful contextual information, such as the record name, survey title, and event name (if longitudinal).Performance improvement:?For projects containing a large amount of records (i.e., thousands or tens of thousands), some pages in the project might become very slow, and if a user repeatedly attempts to open a page that is initially slow to open, often due to slow database queries being executed, then those queries can get backlogged on the database server and reduce performance over time. A new mechanism has been implemented that will improve server performance in these cases by actively killing off any abandoned MySQL processes that are still running on the server.Major bug fix:?When downloading the CSV export of a survey's Participant List, a race condition might occur if multiple users are downloading the list (or if multiple requests are coming from the same user) near-simultaneously, in which it could possibly return a Participant List export file that contains Survey Access Codes that do not really exist and are therefore not valid access codes. (Ticket #34862)Bug fix: The setting for "External Modules: Alternate module directories" on the Modules/Services Configuration page in the Control Center did not have clear examples and had confusing instructions.Bug fix: The dashboard page in the Randomization module might mistakenly not get rendered correctly and thus may not be viewable if malformed HTML exists in the field label or choice label of the randomization field or a criteria field.Bug fix: The "Set up Survey Queue" popup in the Online Designer would mistakenly note that the first survey instrument is not displayed in the popup and therefore cannot be used in the Survey Queue. However, this is no longer true (but was true in earlier versions), so that incorrect text has now been removed.Change: The icons used to represent projects with "archived" status now use the Font Awesome "archive" icon instead.Bug fix/change: When an administrator is processing a request submitted via the Sponsor Dashboard in which the things being requested are no longer applicable (e.g., if a user was requested to be suspended, but the user has been suspended through other means before the request was processed), it would display a confusing message to the administrator. Now in these situations it lets the administrator know that there is nothing to do and that they should contact to the requester to let them know that the request does not need to be completed.Improvement: A new "hide suspended users" option was added to the Sponsor Dashboard to allow sponsors to hide suspended users when viewing that page.Bug fix: For a survey that does not have "Save and Return Later" enabled, if a respondent returns to an incomplete survey response using a unique survey link, it would mistakenly display the "Start Over" button to allow them to erase their answers even if the response had been locked by a user on the data entry form. Respondents should not be able to modify data or erase data if the form has been locked. This has been changed so that if the response is locked, it will not display the "Start Over" button and will inform the respondent that they cannot do anything until a survey administrator has unlocked their response. (Ticket #34676)Bug fix: Fields having any of the "Number (comma as decimal)" validations would mistakenly not have their scatter chart or descriptive stats displayed on the "Stats & Charts" page for a report.Bug fix: When copying an instrument via the "Copy" action in the Online Designer, if the instrument contains a "calc" field in which its equation has been left blank, it would display an error stating that the instrument could not be copied.Version 8.2.0 - (released 1/25/2018)NEW FEATURES, BUG FIXES, & OTHER CHANGES:Medium security fixes:?Many Cross-Site Scripting (XSS) vulnerabilities were found in various pages in which a malicious user could potentially exploit them by manipulating the query string or POST parameters of an HTTP request.Minor security fixes:?Some Cross-Site Scripting (XSS) vulnerabilities were found on the "Create users (bulk upload)" section of the "Add Users" page in the Control Center, in which a malicious user could potentially exploit them by manipulating the contents of the CSV file that an administrator uploads on that page to create new Table-based users.New feature: Sponsor DashboardThe Sponsor Dashboard can be utilized by users who have been designated as a sponsor for another REDCap user. In many cases a sponsor is a secondary contact person for the user or someone that helps manage the account (or perhaps they requested that the account be created). The Sponsor Dashboard allows sponsors to manage their sponsored users by viewing various information about them, such as username, name, expiration, suspended status, and some general activity. The dashboard contains various functions to allow sponsors to make requests to REDCap administrators to help manage their sponsored users by performing the following actions: 1) resetting passwords (Table-based authentication only), 2) Setting/expiring a user’s account expiration, 3) suspending users, and 4) unsuspending users.A link to the dashboard will be displayed at the top of the My Projects page for any users that are a sponsor.If an institution decides not to allow sponsors to use the Sponsor Dashboard, it can be disabled on the User Settings page in the Control Center.Note: The User Settings page in the Control Center also contains a setting “Default amount to set/extend user expiration times”, which sets the default time (in days) for setting or extending a user’s account expiration time when requested by a sponsor. In the specific case where the expiration time is being set (not extended), the administrator has the ability to modify the exact expiration time during the request approval process.Improvement: Major improvements to the “Browse Users” page?in the Control Center – Borrowing from the functionality of the new Sponsor Dashboard, administrators may now perform the following actions on many users at once: 1) resetting passwords (Table-based authentication only), 2) Setting/expiring a user’s account expiration, 3) suspending users, and 4) unsuspending users.New API method:?Export Repeating Instruments and Events?- This method allows you to export a list of the repeated instruments and repeating events for a project. This includes their unique instrument name as seen in the second column of the Data Dictionary, as well as each repeating instrument's corresponding custom repeating instrument label. For longitudinal projects, the unique event name is also returned for each repeating instrument. Additionally, repeating events are returned as separate items, in which the instrument name will be blank/null to indicate that it is a repeating event (rather than a repeating instrument).Improvement: New "compact" option for PDFs?of forms/surveys in which a compact-formatted PDF is produced that excludes fields that have no data saved and excludes unselected multiple choice options, thus producing a smaller PDF file. (Note: Section headers and descriptive fields will still be included.) On all pages that offer a PDF download option, there is now an extra "compact" option. The REDCap::getPDF() developer method and the "Export PDF file" API method both have the compact option added as a new parameter that can be passed to the method.Improvement:?Minor aesthetic improvements in the display of PDFs of forms/surveys, such as divider lines between questions and gray background color for section headers.Change/improvement:?When adding/editing Automated Survey Invitations, the "Send after lapse of time" value for "days" may now be 4 digits in length (specifically up to 7300 days = 20 years), whereas previous versions limited the days unit to 3 digits. This change allows for a much longer wait time before sending the scheduled invitations. (Ticket #3082)Bug fix: If attempting to enable the Twilio SMS and Voice Call services on a REDCap server that is not publicly available to the web (i.e., on a private network or behind a firewall), it would mistakenly allow the Twilio module to be enabled in a project even if the Twilio Request Inspector had not been disabled for the Twilio account being used.Bug fix: If a survey is using "Save & Return Later" with the option "Allow respondents to return without needing a return code" enabled, then if a participant takes a survey using a public survey link and clicks the "Save & Return Later" button at the bottom of the survey, REDCap would mistakenly email them the public survey link rather than their private survey link which would normally allow them to return to their survey response to begin where they left off. The public survey link that gets emailed to them would mistakenly not allow them to continue their survey response.Bug fix: If text data that contains line breaks/carriage returns is piped into another field value via piping inside an @DEFAULT action tag, the piped text would mistakenly contain HTML break tags (e.g., <br>) rather than proper line breaks/carriage returns.Bug fix: If a project's "Character encoding for exported files" option (on the Edit A Project' Settings page) is set to "Chinese (UTF-8)", then the webpage would crash with a fatal PHP error whenever a user attempted to download a PDF of one or more data entry forms. (Ticket #32892)Bug fix: When piping a radio button field into another field's label on the same instrument, if the piped field is modified on that page, thus instantly piping the new selected value's choice label, the choice label being piped would mistakenly be non-bolded text, even though the rest of the field label remains as bolded text.Bug fix: For a project that utilizes the randomization module, if any of the strata fields being used in the randomization have field labels or field notes into which data is being piped, then the randomization dialog popup that displays these strata fields would mistakenly not have the data piped into their labels/notes. (Ticket #33282)Bug fix: When a project contains repeating instruments, and a report is created that contains fields from a repeating instrument, the "Stats & Charts" view of that report might mistakenly display an incorrect number of missing values for fields on a repeating instrument. (Ticket #32078)Bug fix: On a data entry form or survey that utilizes a calc field or certain action tags anywhere on the page, a random blank text field might mistakenly have a red sidebar appear on the input field for no reason.Bug fix: If an External Module is utilizing the API endpoint URL, and a new REDCap version has been placed on the web server but the upgrade has not been completed yet, then the API endpoint would mistakenly redirect to the wrong place. (Ticket #33520)Bug fix: For surveys that have no questions and have been set to "One section per page (multiple pages)" in their survey settings, it would mistakenly display the Form Status field on the survey page. (Ticket #33467)Bug fix: In a production project in draft mode when adding a matrix of fields in the Online Designer and assigning it a matrix group name that already exists, it mistakenly allows the user to add that matrix group name, but then subsequently displays an error message when the whole matrix setup is saved. (Ticket #33661)Bug fix: When using the Data Search feature on the "Add/Edit Records" page, the "Searching..." text/spinner would not accurately reflect the search request time but would mistakenly disappear on some long searches, thus making it appear that the search has completed when it actually has not. (Ticket #7805)Various fixes for External Modules frameworkThe Help & FAQ page content was updatedBug fix: When using the @TODAY or @NOW action tag for a field on a survey instrument, although the action tags will correctly insert the date/timestamp when the instrument is opened as a survey page, it would mistakenly not do this on the data entry form. Note: This only occurs on an instrument that has been enabled as a survey and is being opened as a data entry form when the field has no value. (Ticket #33609)Bug fix: The "simultaneous users" check that prevents two different users from viewing the same record/instrument/event in the same project would not successfully stop a user from viewing the data entry form if the user already on the form performs one of the following actions: 1) upload a file onto a File Upload field, 2) download a file, 3) delete a file, or enter a value into the Secondary Unique Field (if enabled).Bug fix: In certain rare cases, if a respondent clicks the download link for a File Upload field on a survey page, it might mistakenly display an error page rather than downloading the file.Bug fix: When deleting a message in REDCap Messenger, in which a non-English language is being used for the system, it mistakenly would tell the user to type the translated version of the word "delete" for the local language; however it was instead expecting the user to literally type the English word "delete", not the translation of the word. For technical reasons, the English word must be typed, so the instructions have been changed to clarify this. (Ticket #34174)Version 8.1.1 - (released 12/21/2017)BUG FIXES & OTHER CHANGES:Medium security fixes:?Many Cross-Site Scripting (XSS) vulnerabilities were found in various pages in which a malicious user could potentially exploit them by manipulating the query string or POST parameters of an HTTP request.General updates and improvements for External Modules framework, including the following bug fix: The "discoverable" setting for modules (set in the Control Center for a given module) was not quite working correctly, in which a regular user could navigate to the Project Module Manager page in their project and view all modules that have been enabled in the system, when instead they should only be able to view the modules that have been made discoverable.Change: When field values get modified via the action tags @TODAY, @NOW, @LATITUDE, @LONGITUDE, and @USERNAME, it now displays the red side bar on the right side of the text field (just like calculated fields do when changed) to denote there was a value that changed. (Ticket #32537)Change: The action tags @TODAY and @NOW will no longer hide the Today/Now button, will no longer hide the date-picker icon, and will no longer make the field read-only by default. From this version onward, users will need to additionally use @READONLY in order to accomplish those things. For backward compatibility, the REDCap upgrade process will automatically replace all instances of the @TODAY and @NOW action tags with "@TODAY @READONLY" and "@NOW @READONLY", respectively, to maintain the existing behavior for fields already using @TODAY and @NOW. (Ticket #32537)Change: Updated a few PHP files that have old-style PHP class constructors that will not be compatible with upcoming versions of PHP 7Bug fix: If a survey instrument contains a date or datetime field, in which a respondent completed the survey and left the date/datetime field blank, and then afterward a user added the @TODAY or @NOW action tag to the field, then if a user opened the response on the data entry form, it would mistakenly insert the current date value or current timestamp into the blank field even though the form was still in read-only mode (i.e., the user had not yet clicked the "Edit Response" button near the top of the form). (Ticket #32537)Bug fix: If using the @MAXCHECKED action tag on a checkbox on a survey that has the "enhanced radio buttons and checkboxes" option enabled, it would mistakenly not work correctly, in which it would invisibly prevent the respondent from selecting more checkboxes than the action tag allows, but it would *appear* to allow more selections to be checked than allowed. So it sort of works but does not note to the respondent that it is working as advertised.Bug fix: When using repeating instruments in a multi-arm longitudinal project, in which a record exists in multiple arms at the same time, it would mistakenly display the tables of repeating instrument data from other arms at the bottom of the Record Home Page for a given record. It should only be displaying tables for repeating instances from the current arm, not from other arms. (Ticket #32284)Bug fix: If the path to the hook functions file contains a dash/hyphen, it would mistakenly cause REDCap Hooks not to be called. (Ticket #32336)Bug fix: If viewing the drafted changes page for a production project, in which a multiple choice field's choices do not have a space immediately after the comma that follows the coded value for a given choice (e.g., "1,one", as opposed to "1, one"), then if a user clicks the Compare button in the drafted changes table on that page, it would mistakenly not display any of the choices for the field in the resulting dialog popup that is opened.Bug fix: If using the Data Search feature on the "Add/Edit Records" page in a project, in which there exists a lot of matches for the search term entered by the user (e.g., if the project has lots of records) *and* the project has either Custom Record Labels or Secondary Unique Field enabled, then REDCap would mistakenly cause way too many queries to be made to the database, which could cause a major load on the database server. (Ticket #31544)Bug fix: If exporting a Project XML file for a project that contains repeating instruments, in which a repeating instrument existed beforehand but has since been deleted, that instrument would mistakenly still persist in the <redcap:RepeatingInstrumentsAndEvents> section of the Project XML file. However, this would not affect anything if using the Project XML file to create a new REDCap project (i.e., the instrument would still remain deleted).Bug fix: If an administrator is on the "Security & Authentication" page in the Control Center, and the cursor is placed in either of the two text boxes for entering IP address ranges for Two Factor Authentication, if the text box is left blank for those, it would mistakenly display a prompt saying that the IP ranges entered are not correct, which would keep popping up and could only be resolved by refreshing the page.Bug fix: Text displayed on a few certain buttons and icons would mistakenly get truncated for non-English languages, especially French. (Ticket #32668)Bug fix: When using the @NONEOFTHEABOVE action tag on a checkbox that is inside a matrix, when it displays the confirmation dialog asking the user to clear out the other checkbox selections, it would mistakenly not display that choice's label correctly in the dialog. (Ticket #32748)Bug fix: For certain server configurations or certain versions of PHP, any branching logic or calculations that are not syntactically correct might mistakenly produce fatal PHP errors. (Ticket #32486)Change: For projects utilizing the Twilio telephony services for surveys, extra informational text has been added to inform the user that Action Tags do not operate on SMS surveys or Voice surveys, which may have been unclear in previous versions due to lack of documentation. This extra text has been added to the Action Tag popup that lists all the Action Tags, and it has also been added to the "Analyze surveys for SMS & Voice Calls" popup, in which it will display a notice for any field that has Action Tags.Version 8.1.0 - (released 12/11/2017)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New action tag: @MAXCHOICECauses one or more specified choices to be disabled (i.e., displayed but not usable) for a checkbox, radio button, or drop-down field after a specified amount of records have been saved with that choice. For example, @MAXCHOICE(0=50,1=75,2=50) would imply that once 50 records have selected the '0' coded choice, that choice will become disabled for any record viewed afterward that does not have that choice saved, such as when the form/survey is opened for a new record, and thus 75 records for choice '1', 50 for choice '2', etc.The format must be the action tag name followed by the choice designations inside parentheses, in which each will follow the format of ChoiceCode=MaxCount with each choice separated by commas. Note: For longitudinal projects, when counting the number of choices saved for records, it will treat all events as separate, meaning that in the example above, choice '0' can have a max number of 50 selections in EACH event in the project.Note: This action tag not only gets employed when a form or survey is loaded but also when a form or survey is submitted in order to prevent users/respondents from going over the max amount specified. If a user submits a form/survey, at which point the maximum has been reached due to simultaneous users entering data just before them, it will not save that field’s value (but will save all the other fields on the form/survey), and it will reload the form/survey and tell the user to make another selection for the field.New action tag: @MAXCHECKED?- Allows a checkbox field to have a maximum number of checkboxes that can be checked. If other checkbox options are clicked after the maximum has been reached, those choices will not be able to be checked. The format must be @MAXCHECKED=#, in which # is a positive integer. For example, @MAXCHECKED=3 will allow a maximum of 3 checkbox choices to be checked. NOTE: This action tag can only be utilized by Checkbox fields, and it does not get enforced during data imports.New feature: New option to allow respondents to return to a partially completed or fully completed survey response without needing a return code.?When enabling "Save & Return Later" for a survey on the Survey Settings page, it will still default to requiring a return code in order for a respondent to continue the survey where they left off. But a user may opt to allow respondents to return to and continue their survey with only the survey link (i.e., without needing a return code in addition to the link) to view and modify their previous responses on that survey. Note: A warning exists in bold text in the informational popup for this feature that states the following: "If you are collecting identifying information (e.g., PII, PHI), for privacy reasons it is HIGHLY recommended that you leave the option unchecked so as to enforce a return code."Change: For PDF exports of data entry forms with data, if a field that is normally removed from exports due to users having export rights of "De-Identified" or "Remove all tagged Identifier fields" is being used in the Custom Record Label or Secondary Unique Field value in the PDF file, that field value will no longer be piped in the PDF file but will instead be redacted (i.e., replaced with the text "[*DATA REMOVED*]"). This change is made to increase security/privacy regarding de-identification of data in data exports.Bug fix: When clicking the "Erase all data" button on the Other Functionality page when utilizing surveys in a project, on some occasions it may mistakenly return an error message saying that it could not delete all data, even though it did successfully delete all project data.Bug fix: REDCap Messenger would sometimes mistakenly open when navigating to a new page even though it was just closed, and sometimes it would close on a new page when it was just opened on the previous page.Bug fix: If a user is on a data collection instrument that has been enabled as a survey, in which the record has not yet been created, if the "Save & Mark Survey as Complete" button is clicked on the data entry form, it would save the form but would mistakenly not set the survey as complete. (Ticket #31784)Bug fix: If a user is on a data collection instrument that is a repeating instrument and has also been enabled as a survey, if the "Save & Mark Survey as Complete" button is clicked on the data entry form, it would save the form but would mistakenly not set the survey as complete for the correct repeat instance of the instrument.Bug fix: When viewing the drafted changes in the Project Modification Module of a production project, if a field has branching logic that is being modified, in which neither the old nor the new branching logic has spaces and both are longer than 90 characters, then the logic text might not display correctly in the table on that page. (Ticket #31765)Bug fix: If a project previously had repeating instruments or repeating events enabled, in which some repeating data was collected, after which repeating instruments/events was disabled, both the Record Status Dashboard and the left-hand project menu might mistakenly display an incorrect status icon (the "stack" status icon) for a non-repeating instrument/event.Bug fix: When creating a project by importing the REDCap project XML file that was exported from another project, it would mistakenly remove all carriage returns/line breaks in field labels. (Ticket #31908)Change: Changed the word "approve" in the production changes email sent to REDCap administrators so that it is now replaced with "review & approve" for clarity.Version 8.0.3 - (released 12/1/2017)IMPROVEMENTS, BUG FIXES, & OTHER CHANGES:Improvement:?The datediff() function can now utilize the “now” variable as one of the two date/time parameters (in a similar way as the “today” variable). This is not only true for calc fields, but also for ASI logic, DQ rules, report filters, etc. You may use a time, date, datetime, or datetime_seconds field with the “now” parameter in datediff. Note: If using a date field with “now”, it will assume midnight (00:00) for the time component for the date field.Improvement:?Fields whose values have numbers with a comma as the decimal mark (e.g., "3,14" - European number format) now work in calculated fields. In previous versions, using a number with a comma would result in a blank returned value for the calc field. Note: The calculated value that is returned from a calculation will still have a dot/period as the decimal mark (if it contains a decimal), so in this way, it will convert into all calc field input values into dot/period format when performing the calculation, thus still returning numbers in dot/period format as all previous versions have.Minor security fixes:?Some Cross-Site Scripting (XSS) vulnerabilities were found in various pages in which a malicious user could potentially exploit them by manipulating the query string of an HTTP request.Change: When piping field values into an @DEFAULT action tag when the piped value is blank/non-existent, it now no longer replaces the [variable] with "______" but instead replaces it with "" (i.e., nothing), which is viewed as more preferable since the value is being input as a field value. This is only true for piping specifically within the @DEFAULT tag and not for piping in general. (Ticket #23454)Change/improvement: External Modules now supports modules with the module version in X.Y.Z format. In previous versions, only X.Y versioning was allowed.Bug fix: The @HIDECHOICE action tag was mistakenly not hiding the choices of checkboxes or radio buttons on survey pages where the "enhanced radio buttons and checkboxes" option was enabled. It was only hiding them when the enhanced option was disabled. (Ticket #31001)Bug fix: If a project in production status is in draft mode, and the Move Field icon is clicked for a field in the Online Designer in order to move a field, in which the field is the first field on a data collection instrument, then after being moved, the project's instruments might not display correctly in the Online Designer, such as making some fields not even viewable on any instrument in the Online Designer view. This issue would persist while still in draft mode, but would eventually resolve once the drafted changes were approved. Note: This issue would not affect how fields or instruments are displayed on data entry forms or survey pages when entering data.Change: Account Managers no longer have the ability to delete administrator accounts (via the Browse Users page). Also, the following text has been added for clarification in the instructions on the "Designating REDCap Administrators and Account Managers" page: "Account managers have powers such as deleting users, which could thus impact projects, so this role in not intended to be delegated to those operating as project managers or ordinary users". (Ticket #26191, #31020)Bug fix: If two users are simultaneously on the Online Designer or Data Dictionary page in a project in production status that is in draft mode, in which one user clicks the "Submit changes for review" button immediately after the other user clicks the "Remove all drafted changes" link, it would mistakenly delete all the fields in the project if the submitted changes were approved by an Administrator.Bug fix: If a user enters data on a repeating instrument but fails to enter a value for a required field, and then the user clicks the "Ignore and go to next form" button in the "Some fields are required" prompt, in which the next form is *not* a repeating instrument, then it would mistakenly take the user to the next form but on an incorrect instance, which may cause some data to not get stored properly on that second form. When clicking the "Ignore and go to next form" button, it should always take the user to instance #1 of the next form unless the user is currently on a repeating event. (Ticket #29801)Bug fix: When uploading a data dictionary containing calc fields, it might mistakenly display an error stating that some equations are not syntactically correct, which is ultimately caused due to line break characters from Mac Excel (as opposed to Windows Excel line breaks).Bug fix: When clicking the H icon next to a field to open the Data History Widget on a data entry form, it would mistakenly omit any logged events for "Update record (API) (Auto calculation)". (Ticket #31362)Bug fix: When downloading a PDF of a data entry form, on specific occasions it may mistakenly crash and return an error message saying "FPDF error: Interlacing not supported...". (Ticket #31101)Bug fix: When downloading the Project XML file (metadata or metadata+data file), it might mistakenly duplicate a checkbox field's choices numerous times in the metadata section of the ODM XML file. (Ticket #29287)Bug fix: When assigning a user to a user role on the User Rights page in a project, if the user is using certain versions of Internet Explorer, the "Notify user via email?" checkbox would sometimes mistakenly not get displayed after clicking the "Assign to role" button. (Ticket #30764)Change: The field validation for North American phone numbers is now more permissible and allows a greater variety of numbers to be used, such as 8XX and 900 numbers.Bug fix: When the survey login is used in a longitudinal project, if three fields are set to be the login field, in which the same field is used but on different events or arms, although it would save the settings correctly, if the survey login popup was later reopened after being saved, the event/arm drop-down for the login field #3 would mistakenly have the event/arm value of login field #1. (Ticket #18430)Change: When clicking the "No Access" option for an instrument in Data Entry Rights when adding/editing a user's privileges on the User Rights page, it now automatically deselects the "Edit survey responses" checkbox if the instrument has been enabled as a survey.Bug fix: When using other languages as the stock text for a project, a JavaScript error may occur on the Survey Settings page for an instrument when a user attempts to set "Send confirmation email" as "No" after first setting it as "Yes", which may prevent the section from closing or re-opening. (Ticket #30713)Version 8.0.2 - (released 11/17/2017)BUG FIXES & OTHER CHANGES:Minor security fix:?A Cross-Site Scripting (XSS) vulnerability was found in a page used by various functionality dealing with user accounts, in which a malicious user could potentially exploit it by manipulating the query string of an HTTP request. (Ticket #30806)Change: The REDCap::evaluateLogic() method was changed slightly with regard to what it returns. This has been changed so that if the logic parameter string is not syntactically correct or if any of the parameters are invalid (e.g., record or event does not exist), it will now return NULL. In previous versions, it would return FALSE in this case, which made it difficult to troubleshoot issues with incorrect parameters being used.Change: For added flexibility, the Survey Queue setup dialog in the Online Designer will now display the project's first data collection instrument (assuming the instrument has been enabled as a survey), whereas previous versions did not allow the first instrument to be enabled in the Survey Queue.Change: When viewing a repeating instrument's data entry form for a record in a project, the "current instance" drop-down displayed near the top of the page no longer displays the instance number in a fraction format where it shows the total instances following by a slash (e.g., 2/5). It now only displays the instance number (and the custom label, if defined). This was changed because it led to confusion in cases where some instances were deleted, thus leaving gaps in the middle but still showing the max instance as the total instances, which is not the same thing and is confusing.Bug fix: For some server configurations, if the Configuration Check page recommends that the administrator replace some outdated non-versioned files, the resulting zip file that they download might be corrupted due to gzip compression issues. (Ticket #30569)Bug fix: When a user is viewing the Data Export Files tab on the File Repository page in a project, and they set the "filter by" drop-down to Stata, R, SPSS, or SAS, then in the results displayed in the table below, the Data CSV file would mistakenly not be downloadable. (Ticket #30578)Bug fix: When creating a new Data Quality rule that is attempting to find blank values (via [field]=""), if all the fields being referenced in the rule logic are blank/null for a given record, the rule would mistakenly not return any discrepancies for that record. (Ticket #30655)Bug fix: When viewing the Configuration Check page in the Control Center, if the "mbstring" PHP extension is not installed on the web server, it would mistakenly throw a fatal PHP error on that page during the "able to send emails" check. (Ticket #30657)Bug fix: In longitudinal projects that utilize the survey queue to display surveys across multiple events, the survey queue would mistakenly order the surveys by instrument order rather than by event order. This has been fixed so that it now orders surveys in the queue by event order so that all the surveys in a given event are grouped together. (Ticket #30704)Bug fix: When a survey is enabled in the survey queue in a longitudinal project, and then that survey instrument is removed from a given event (via the Designate Instruments page), thus orphaning the survey-event in the survey queue, if no other survey-events are enabled in the survey queue, then the Survey Queue button in the Online Designer might mistakenly still have a green checkmark icon next to it, even though no survey-events are enabled in the queue anymore. Also, in this case the survey-event may mistakenly get displayed in a record’s survey queue when the survey is no longer designated for that event.Bug fix: When the survey login is used in a longitudinal project, if multiple fields are set to be the login field, in which the same field is used but on different events or arms, then it would mistakenly not save both instances of the field but would only save one. (Ticket #18430)Version 8.0.1 - (released 11/9/2017)BUG FIXES & OTHER CHANGES:Improvement:?Added new plugin/hook/module method named?REDCap::evaluateLogic(), which returns whether a string of logic (e.g., branching logic) evaluates as true or false based on the data of a given record in a given project.Improvement:?New "clickjacking prevention" option at the bottom of the "Security & Authentication" page in the Control Center allows administrators to enable this option if they want to prevent REDCap pages from being embedded in external websites (e.g., embedding a survey page inside an iframe on another website). Preventing clickjacking is often regarded as an improvement to security. Note: If you wish to allow REDCap users to embed REDCap pages in external websites, do not enable this option but leave it as "Allow...".Minor security fixes:?Some Cross-Site Scripting (XSS) vulnerabilities were found in various pages in which a malicious user could potentially exploit them by manipulating the query string of an HTTP request.Bug fix: When copying a project with surveys, the value of the "Allow participants to download a PDF of their responses at end of survey?" survey setting would mistakenly not get copied to the new project. (Ticket #28639)Bug fix: When downloading a PDF of a data entry form with data, in which the user is downloading all forms for all records or all forms for a single record, it would mistakenly not display the locking/e-signature timestamps in the PDF. (Ticket #29915)Bug fix: When downloading a PDF of a survey response with data, on certain occasions it might mistakenly display incorrect survey completion timestamps in the PDF. (Ticket #29930)Bug fix: On the Record Status Dashboard when clicking on the form status stack icon (representing multiple repeating instances of a form or event) in a longitudinal project that has multiple arms, it might mistakenly not display the floating table of instances but instead would display a horizontal black line after clicking the icon. (Ticket #29927)Bug fix: In longitudinal projects using repeating events, the Record Home Page might mistakenly display some form status icons in the wrong column in the table for records that have more than one instance saved of a repeating event. (Ticket #30077)Bug fix: When one or more fields in a matrix contain certain special characters in their field label, it might prevent the "Edit Matrix of Fields" popup from being displayed after clicking the pencil icon on the Online Designer. (Ticket #30250)Bug fix: On certain occasions, rule E in the Data Quality module will mistakenly return discrepancies that have blank/null values, which should never be returned when running rule E. (Ticket #14976, #28576)Bug fix: If a Notes field is using the @READONLY action tag, the "expand" link displayed on the survey or form below the text box would mistakenly not work. (Ticket #30433)Bug fix: If a project is utilizing the randomization module, and the randomization field somehow already has a value saved for it prior to a given record being randomized, then it will now disable that field on the data entry form and prevent the record from being randomized. (Ticket #30427)Bug fix: If a project that has repeating instruments or repeating events is using the Data Resolution Workflow module, and a value is marked as Verified on the first instance of a repeating instrument/event, then if a value is changed on another instance of that instrument or event, respectively, then it would mistakenly De-verify the field on the first instance rather than on the current instance. (Ticket #30457)Bug fix: If a project that has repeating instruments or repeating events is using a Data Quality rule with Real-time Execution enabled, if the DQ rule finds discrepancies when saving a repeating instrument/event, in which the user is not on the first instance, then in the DQ discrepancy popup, it might mistakenly display some data values from the first instance of the instrument/event rather than from the current instance. (Ticket #30477)Bug fixes were addressed in the External Modules framework, such as some modules throwing a PHP error when being enabled, and its TinyMCE rich text editor was upgraded.Bug fix: Fixed typo in "Branching Logic Errors Exist!" popupVersion 8.0.0 - (released 11/3/2017)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature: External ModulesExternal Modules are individual packages of software that can be downloaded and installed by a REDCap administrator. Modules can extend REDCap's current functionality, and can also provide customizations and enhancements for REDCap's existing behavior and appearance at the system level or project level. Modules can utilize REDCap hooks and also can have REDCap plugin pages as part of them.A new page in the Control Center allows administrators to navigate to the REDCap Repo (Repository of External Modules) and download any module listed in the REDCap Repo. Only administrators may enable modules, either at the system level or project level, although the permissions regarding who can configure a module (after it has been enabled for a project) is something that can be set at the module level by an administrator on the Control Center’s Module Manager page. Each module has its own set of configuration options, which are all defined by the creator of the module.If you or your users experience any issues with a given module, you are encouraged to notify the author of the module rather than posting a Bug Report on the REDCap Community site.Improvement:?On the Public Survey Link page in a project, a new button "Open Public Survey + Logout" has been added to increase security in case users want to open the public survey while ensuring that the participant cannot access their REDCap account in the other browser tab. (Ticket #29686)Bug fix: The font size of any links that were placed in a survey's instructions, field labels, or acknowledgment text would appear too small if the survey was set with "Large" or "Very Large" text size.Bug fix: Fixed typo in Data Import ToolBug fix: If a user is uploading a Data Dictionary containing a PROMIS CAT (computer adaptive test) survey, in which the CAT contains some multiple choice fields that have duplicate codings, it would mistakenly prevent the user from uploading the Data Dictionary. It should be ignoring duplicate codings in CATs.Bug fix: If a user is uploading a Data Dictionary containing a PROMIS CAT (computer adaptive test) survey and the user modified the Choices column for a CAT field in the Data Dictionary, it would mistakenly accept those changes and allow the Data Dictionary upload to proceed, thus corrupting the CAT's field metadata. This would not affect participants taking the CAT in any way (i.e., the survey would still appear correctly when taking it), but it might cause the CAT not to display correctly when a user views a participant's CAT response on a data entry form afterward.Bug fix: If a user enters data on a repeating instrument but fails to enter a value for a required field, and then the user clicks the "Ignore and go to next form" button in the "Some fields are required" prompt, in which the next form is also a repeating instrument, then it would mistakenly take the user to the next form but on the same instance number that the previous form was on, which may cause some instance numbers to get skipped on the second form. When clicking the "Ignore and go to next form" button, it should always take the user to instance #1 of the next form if the next form is a repeating instrument.Bug fix: Improving compliance with SMTP email servers by added a space after the "Cc:" and "Bcc:" email headers since some SMTP servers might reject emails sent from previous REDCap versions, which had no space in those headers. (Ticket #3943)Bug fix: When editing or adding a calc field in the Online Designer, it would mistakenly still show the results in the section "test calculation with a record" if that option had just been used for another calculated field that was being edited or added previously while on that page, thus mistakenly showing results that do not correspond to the current field being edited/added (Ticket #29682)Bug fix: When opening the Automated Survey Invitation setup popup in the Online Designer, if a particular ASI has been set as "inactive" beforehand, then when the popup opens, it would mistakenly display all the ASI setup options as blank as if it had never been set up before. (Ticket #29765)Bug fix: When the Project Modification Module displays a list of "fields to be deleted", it would mistakenly truncate the count of records/events that would be affected by the field being deleted. (Ticket #29770)Bug fix: If a user opens a data entry form on a repeating event, it would mistakenly never enable the Survey Options at the top right of the page, even if the form has been saved already. (Ticket #29857)Bug fix: When using Twilio telephony services for surveys and then opening the "Analyze surveys for SMS & Voice Calls" popup on the Project Setup page, it would incorrectly say that no surveys have been enabled (even though they have) if the user had failed to check at least one of the checkbox options under the "Choose survey invitations types to use" section in the Twilio configuration. (Ticket #18658)Bug fix: When adding/editing the logic for a Data Quality rule, in which the logic contains a "less than" (<) character followed immediately by a function name (e.g., round) - i.e., without a space between the "<" and the function name, then the rest of the logic would get truncated when displaying the logic in the table of Data Quality rules. (Ticket #30088)Version 7.6.10 - (released 10/25/2017)BUG FIXES & OTHER CHANGES:Improvement:?Emails sent from REDCap now follow a more standardized format by including both HTML text and plain text in each email, thus making emails a bit more likely to be received by their recipients without them getting flagged as spam.Major bug fix:?If a user is in REDCap Messenger and using the "Search by person" option in the Search Conversations feature, then after selecting a username to search on, if the user being searched for has a conversation that has the *exact* same title as one of the current user's conversations' titles, then it would return the other user's conversation in the result (and mistakenly allow its messages to be viewed by the current user) even if the current user does not have access to that conversation. This bug is very rare since it requires using the "Search by person" option (as opposed to the "Search by keyword" option) while also requiring that both users have access to a conversation that is different but has the exact same title.Bug fix: Data Resolution Workflow popup dialog might mistakenly appear empty if some comments or logged events contain certain special characters. (Ticket #29391)Bug fix: The Record Home Page would not display some form status icons correctly for repeating instruments in which the first instance of the instrument does not exist - most likely because it was deleted at some point. (Ticket #28821)Bug fix: The tables of repeating instruments displayed at the bottom of the Record Home Page might not display in the correct order.Bug fix: If field labels contain certain special characters, then when creating/modifying a report, the auto-suggest feature when typing variable names in Step 2 or 3 would mistakenly not work. (Ticket #29354)Bug fix: Confusing text is mistakenly displayed for the instructions on the "Request delete project" button on the Other Functionality page in a project that is in production status. (Ticket #29355)Bug fix: Confusing text is displayed when in draft mode in a production project after a data dictionary has been uploaded. It now states explicitly that the changes have been made to the draft and thus have not been committed to the live version of the project. (Ticket #29430)Bug fix: The Publication Matching module would mistakenly treat a PI's email address as separate emails if it was found to be typed in different cases (lower vs upper) in different REDCap projects. This would cause some PIs to receive emails saying that they had publications to review in REDCap, but it would say "0 publications" when they clicked the link in the email to open the page. Note: While this should fix the issue going forward, it may not fix it for publications already pulled from PubMed for the PIs. (Ticket #29381)Change: For PDF exports of data entry forms with data, if a field that is normally removed from exports due to users having export rights of "De-Identified" or "Remove all tagged Identifier fields" is being piped into a label, field note, etc. in the PDF file, that field value will no longer be piped in the PDF file but will instead be redacted (i.e., replaced with the text "[*DATA REMOVED*]"). This change is made to increase security/privacy regarding de-identification of data in data exports.Bug fix: When submitting data on a data entry form or survey page, the server-side validation mistakenly does not check the values submitted for an "SQL" type field. (Ticket #29401)Bug fix: If a File Upload field has a file uploaded for it but also has the @READONLY action tag, the link to download the file would mistakenly be disabled, thus preventing users from downloading the file. The download link should be enabled to allow users to download the file. (Ticket #29484)Version 7.6.9 - (released 10/18/2017)BUG FIXES & OTHER CHANGES:Improvement:?Updated the Help & FAQ page with new content.Major bug fix:?Users could not create new user roles or edit user roles in a project. Bug was introduced in version 7.6.8. (Ticket #29067)Major bug fix:?Automated Survey Invitations would mistakenly not get scheduled for longitudinal projects where the conditional logic contains datediff+today and also contains cross-event logic in which one of the events has no data (i.e., empty event of gray status icons). This same issue would also occur for custom Data Quality rules, in which it would mistakenly not return any discrepancies for records if the rule logic contains datediff+today and also contains cross-event logic in which one of the events has no data. (Ticket #28516)Minor security fix:?While REDCap already protects against BREACH attacks by outputting invisible random text of random length onto each web page, it was mistakenly not protected if 302 redirect requests inside REDCap were being analyzed. (This refers to the few scripts in REDCap that serve as a pass-through by outputting an HTTP 302 status code and merely redirect the user to another page.) To prevent BREACH attacks through analysis of REDCap's 302 redirects, it now outputs a new HTTP header with each request, in which the header's value is random text of random length. In this way, even 302 redirect requests will return with a random content-length each time.Bug fix: A fatal PHP error can occur on every project page if the REDCap web server is running PHP 5.3 or 5.4. This appears to only occur if the External Modules beta version is installed on the REDCap server. (Ticket #28628)Bug fix: If a survey queue is set up in a longitudinal project, and then the event-form designations are modified afterward, it might mistakenly display some surveys in the survey queue that should not be displayed. (Ticket #28696)Bug fix: If a report is being sorted by the record ID field in descending order, and the project has record auto-numbering enabled but some of the record names are not numerical (because they were created via a data import or before record auto-numbering was enabled), then the report would fail to order the results correctly. This occurs because the report would falsely assume that all record names were numerical merely because record auto-numbering was enabled, in which case it would try performing a numerical sort, which does not work as expected with non-numerals. REDCap now only attempts to perform a numerical sort of the sort fields if the fields are truly numbers (i.e., have "number" or "integer" validation or are a slider or calc field).Bug fix: The cron job to trigger Automated Survey Invitations that have datediff+today in their conditional logic would stop suddenly if any ASI logic was syntactically incorrect, thus preventing other later ASIs in that same project from getting run. Additionally, the cron job might mistakenly be checking ASIs that had been disabled. (Ticket #28516)Bug fix: A fatal PHP error can occur on every project page if the REDCap web server is running PHP 5.3 or 5.4. This appears to only occur if the External Modules beta version is installed on the REDCap server. (Ticket #28628)Bug fix: For longitudinal projects with multiple arms and with repeating instruments, on the Record Home Page or Record Status Dashboard when clicking on the form status "stack" icon for a repeating instrument with multiple instances saved, it would mistakenly not display the floating popup list of all the instances for that instrument but would instead display an empty box. (Ticket #28970)Bug fix: The Safari browser might mistakenly throw JavaScript errors on survey pages.Version 7.6.8 - (released 10/10/2017)BUG FIXES & OTHER CHANGES:Improvement:?When a calc field's value is changed, it will now display a red border on the right edge of the calc field's text box to subtly indicate that the displayed value is different from the stored value in the database. And if the calculated value gets changed so that its value matches the stored value again, the red border will disappear. This will help users make note of when calculations have been triggered and if there is any disparity between the displayed value and the stored value.Major bug fix:?If a calculated field in a longitudinal project is using cross-event calculations, in which at least one of the fields in the calculation has a prepended event name (e.g., [enrollment_arm_1][field]) while also one of the fields does not have a prepended event name (e.g., [feld]), then even though the calculated value displayed on the form/survey appears correct prior to saving, the field might mistakenly get saved with a blank value when pressing the Save button. This would not be noticeable by the user when entering data but only seen in a report/export or when running Data Quality rule H. Note: This issue does not appear to affect Automated Survey Invitations, calculations performed during data imports, or Data Quality rule H, but it only occurs when saving data on data entry forms and surveys in this very specific scenario described above. To fix this issue after upgrading REDCap, the user can run Data Quality rule H in the project, or an administrator can use the "Find Calculation Errors in Projects" page in the Control Center to find any affected projects.Bug fix: If the PHP memory_limit configuration setting was set in units of "G" (for gigabytes) in the PHP.INI file, it would get interpreted incorrectly when attempting to increase PHP memory allocation.Bug fix: When printing out a survey containing responses where some "enhanced radio buttons and checkboxes" have been selected on the survey, it would be confusing in the printout as to which choice was selected. (Ticket #28111)Bug fix: Project pages would not render correctly due to JavaScript errors occurring on every page if the using Internet Explorer 8. (Ticket #28178)Bug fix: When viewing a read-only survey response on a data entry form (i.e., prior to clicking the "Edit response" button), if a calculated field's value changed when the page loaded, then if the user attempted to close the browser tab or clicked a link to navigate to another page, it would mistakenly prompt them with the "Save your changes?" dialog. It should only prompt them with that dialog if they were in edit mode for that survey response.Bug fix: When the Data History popup for a field on a data entry form, if two events for the field occurred at the same exact time, such as saving data with an auto-calculation event right after, those two events might mistakenly not be displayed in the correct order in the popup.Bug fix: When using Table-based authentication and a user is asked to set up their password recovery question, their email address would not get displayed correctly inside the prompt if their email address contains an apostrophe, in which this would prevent them from fully setting up their recovery question. (Ticket #28439)Bug fix: When a data export takes more time to complete than the set auto-logout time for REDCap, it would mistakenly prevent the data export from completing fully because the "Your REDCap session has expired" dialog would appear on the page even if the user is actively moving their cursor around or clicking on the page, which normally restarts the auto-logout timer to prevent the auto-logout from occurring while a user is still active on a page.Bug fix: When using the Data Resolution Workflow module in a project containing repeating instruments while also using Data Access Groups, some of the charts displayed on the the Resolution Metrics page, specifically "Number of open queries (by data access group)" and "Number of closed queries (by data access group)", would mistakenly display incorrect counts in the chart. This issue was supposed to have been fixed in the previous release but mistakenly was only partially fixed.Bug fix: If the Data Resolution Workflow (DRW) is enabled on a project, and a user has DRW user privileges but does not have Data Quality user privileges, then the "Data Quality" link would mistakenly be displayed on the left-hand menu. (Ticket #28514)Bug fix: When importing data via the Data Import Tool or API import records method, if a variable in the import mistakenly had some uppercase letters when all letters should be lowercase, the error message to the user would omit those uppercase letters when displaying the incorrect variable names to the user, thus making it difficult to understand the error message to learn what is wrong. (Ticket #28293)Version 7.6.7 - (released 10/2/2017)BUG FIXES & OTHER CHANGES:Major bug fix:?If using "LDAP & Table-based" authentication and an LDAP user logs in to REDCap when a Table-based user account already exists under the same username (i.e., a username conflict), then the LDAP user would mistakenly get successfully authenticated into REDCap and would be able to view and access all the other user's projects as if they were the other user. This has been changed so that now if a username conflict occurs, in which a Table-based username is the same as a valid LDAP user's username, then when the LDAP user attempts to log in, REDCap will not allow them to log in but will give them an informational note about the username conflict and will recommend that they contact their local administrator about how to resolve the issue.Major bug fix: When using the REDCap mobile app to import data for auto-numbered records into a project in REDCap that is on version 7.6.4, 7.6.5, or 7.6.6, under very specific circumstances it might not perform the record-autonumbering correctly during the import process and might mistakenly overwrite an existing record on the server with data from a new record from the mobile app. Upgrading a user's REDCap mobile app to the latest version will prevent this issue, and upgrading REDCap to versin 7.6.7 will also prevent this issue going forward.Bug fix: If the Rate Limiter on the General Configuration page in the Control Center is set to "0" or a blank value, it would mistakenly ban the IP address of every user that attempted to use REDCap.Bug fix: In a multi-arm longitudinal project using the Scheduling module, in which a record has been scheduled for more than one arm, the "View or Edit Schedule" page's record drop-down list would mistakenly display the record only for a single arm rather than for all arms for which it had been scheduled.Change: Added a new flag on the General Configuration page in the Control Center to note if the REDCap server is a development/test/staging server (i.e., a non-production server). If the server is indeed flagged as a development/test/staging server, then REDCap will enable full PHP error reporting, thus outputting all PHP errors to the user interface in the event of an error. This can be used to aid developers or other technical folks when troubleshooting certain REDCap errors or PHP issues.Bug fix: When exporting data to a statistical analysis package (i.e., SAS, SPSS, R, Stata), if the project contains Data Access Groups and also Repeating Instruments/Events, it would mistakenly list the DAG field and Repeating Instrument/Instance fields in the wrong order in the stats package's syntax file that gets generated. This would prevent users from loading the data into the stats package. (Ticket #27883)Bug fix: If a user fails to enter data for a required field that exists on a repeating event, then when the required field popup prompt is displayed, if the user clicks the "Ignore and go to next form" button, it would mistakenly redirect them to the first instance of the event rather than to the current instance. (Ticket #27891)Bug fix: When using the Data Resolution Workflow module in a project containing repeating instruments while also using Data Access Groups, some of the charts displayed on the the Resolution Metrics page, specifically "Number of open queries (by data access group)", "Number of closed queries (by data access group)", "Avg time to query resolution (by data access group)", and "Avg time for query response (by data access group)", would mistakenly display incorrect counts in the chart. (Ticket #27888)Bug fix: When viewing drafted production changes for a project on the Control Center's To-Do List page, if a user clicks the Compare button next to a multiple choice field that has been modified inside the popup, then when they close the popup (which is a popup inside a popup), it would also mistakenly close the whole To-Do List popup (the parent popup), thus causing the user to have to re-open it again. This issue has been fixed for Chrome, Safari, and IE 11. Note: There is currently no known way to fix this bug for Firefox or older versions of IE at this time, unfortunately. (Ticket #27915)Bug fix: If a Data Quality rule has been created and is set with the Real Time Execution (RTE) option, the DQ rule would fail to perform RTE on a data entry form if the form exists on repeating event, in which it would mistakenly not report any discrepancies that exist. This only occurs on repeating events but not on repeating instruments (Ticket #27960)Bug fix: If data from a Notes field is being piped into a label of another field, then if the text itself contains line breaks, that text would mistakenly have double line breaks for each single line break when exporting a PDF of the instrument with data. (Ticket #27983)Version 7.6.6 - (released 9/27/2017)BUG FIXES & OTHER CHANGES:Major bug fix:?When using Automated Survey Invitations in a longitudinal project, under certain conditions ASIs with datediff+today would mistakenly not get evaluated, and thus invitations would not get scheduled/sent. This might have occurred with the second or more invitation for an instrument configured across more than one event between versions 7.4.0 and 7.6.6.Minor security fix:?When sending emails of any kind, REDCap now performs an extra validation on the From email address of the email being sent to ensure it is a valid email address, thus preventing any kind of injection by malicious users like those seen in the PHP mail issues CVE-2016-10033 and CVE-2016-10045.Bug fix: When logging into REDCap using a mobile device, the error message would mistakenly not display if an invalid username or password was entered, which could be confusing as to why the login failed. On non-mobile devices, the error message displays properly.Bug fix: When viewing surveys in the Safari browser in which the survey's "Size of survey text" is set to "Large", checkboxes and radio button fields would mistakenly not display correctly and would overlap one another a little.Bug fix: When using the Survey Login on a survey that has the "Save & Return Later" option disabled, it would mistakenly display the "Save & Return Later" at the bottom of the survey page if the participant had just logged in via Survey Login. (Ticket #27389)Bug fix: The Record Home Page and Record Status Dashboard could load unreasonably slowly for projects containing lots of fields, many of which have stored data values. (Ticket #27161)Bug fix: When clicking the "unlock all instruments" link on a multi-arm longitudinal project's left-hand menu while viewing a record belonging to an arm that is not on the first arm, it would mistakenly not unlock all the locked instruments for that record. (Ticket #27740)Bug fix: When piping data into a label, in which the data being piped contains text that looks similar to HTML tags but is not an actual HTML tag (e.g., "hello <123>"), the text inside the <...> would get mistakenly removed from the downloaded PDF file of the data collection instrument with data. (Ticket #27467)Version 7.6.5 - (released 9/22/2017)IMPROVEMENTS, BUG FIXES, & OTHER CHANGES:Improvement: Attach PDF of responses in confirmation email?- When using the “Send confirmation email” option on the Survey Settings page for a survey, that section now contains an additional option to “Include PDF of completed survey as attachment”, which will add the PDF of their responses sent to the participant in their confirmation email. This new option contains the following warning as a reminder to users: “WARNING: Since email is not considered a secure form of communication, the PDF attachment option is NOT recommended if the survey contains questions asking for identifying information (e.g., PHI).”.Minor security fix: A Blind SQL Injection vulnerability was found on the User Access Dashboard page in which a malicious user could potentially exploit it by manipulating the query string of an HTTP request.Minor security fix: Modified how files get deleted in a project's File Repository so that a POST parameter is used instead of query string parameter, which could subvert Cross-site Request Forgery (CSRF) protection.Bug fix: REDCap Messenger was mistakenly not disabled in public projects (i.e., having no authentication enabled). Because public projects do not utilize REDCap authentication and thus store session information differently than regular projects, REDCap Messenger will be permanently disabled from inside a public project.Bug fix: When the Data Resolution Workflow module is enabled in a project, and a user is viewing the DRW popup that details the history of a data query, if a user that contributed to that data query has since been deleted from the system, then it would display a blank value where their username would be in the popup history. It now says "[User deleted from system]" if the user has been deleted from the system since it is not possible to determine the username of the deleted user for that event. (Ticket #26835)Bug fix: When a respondent is viewing the Stats & Charts after completing a survey, the Download Image button would fail to download an image of the chart. (Ticket #27072)Bug fix: When using the Randomization module in a project and randomizing a record, strata fields that are radio buttons would mistakenly not display correctly in the randomization popup but would have the choice label overlaying the radio button itself. (Ticket #27030)Bug fix: When the text-to-speech feature is enabled on a survey, clicking the speaker icon next to a survey question in order to have it speak the text would mistakenly cause the question choice to become selected/unselected for radio buttons and checkbox fields. (Ticket #27103)Bug fix: When downloading a data dictionary snapshot from the Project Revision History page, if the dictionary contained any UTF-8 encoded characters, then the snapshot might not open correctly in some CSV viewers, such as Microsoft Excel, in which those UTF-8 characters would get mangled and be unreadable, whereas the normal data dictionary download (i.e., non-snapshot CSV) would open correctly and could be viewed normally with no mangling of characters.Bug fix: The data import process (Data Import Tool or API) would mistakenly prevent users from importing a value for a checkbox field that has a negatively valued choice (e.g., "-1"), in which it displays an erroneous error. This appears to only occur in longitudinal projects. (Ticket #16235)Bug fix: When deleting a file for a File Upload field by 1) individually deleting it on a data entry form, 2) deleting the whole data entry form's data via the Delete button at the bottom of the form, or 3) deleting a whole event's data (longitudinal projects only) for a record on the Record Home page, it would mistakenly not remove the file from the REDCap server after 30 days, even though the file appears deleted to the user. All "deleted" files should remain on the server for 30 days, after which they are deleted by a cron job, but in these scenarios, the files would mistakenly stay on the server forever as orphaned from the records to which they were originally attached. (Ticket #27303)Version 7.6.4 - (released 9/13/2017)IMPROVEMENTS, BUG FIXES, & OTHER CHANGES:Improvement: Record auto-numbering for data imports?(Data Import Tool, API, and Mobile App). For the Data Import Tool, the user may enable the new setting “Force record auto-numbering”, and in the API, the new parameterforceAutoNumber=true can be used, which will create new record names that are auto-generated by REDCap during the import process. In an upcoming version of the REDCap Mobile App, the mobile app will provide this API parameter automatically for records created in the app that did not previously exist in the project on the server. Note: This feature can only be utilized for projects with record auto-numbering enabled. Also, a record number must still be provided as a placeholder during the data import (to associate multiple rows with the same record), but that record name will be automatically changed to a new record ID generated by REDCap.Improvement:?When adding new choices for a multiple choice field in the Online Designer, it will now display an error message if any choices have duplicate codings (e.g., two choices both coded as "4" - "4, Pink" and "4, 4"), thus letting the user know that they should remove any duplicates because duplicates will be automatically removed when saving the field.Change: A record's survey queue now only displays surveys that have been explicitly enabled in the survey queue for the project. In previous versions, it would display all completed surveys for that record, regardless of whether they were enabled in the queue. From here on out, if a user wants a survey to appear in the queue, then it should explicitly be enabled in the queue when set up on the Online Designer page. (Ticket #25965)Bug fix: When viewing the Data History popup for a field, in which the record has been added to multiple arms in the project but was deleted from at least one arm, no data would be displayed in the popup for the field mistakenly.Bug fix: In certain rare cases on the Project Modification Module for multiple choice fields, the Compare button would mistakenly not parse the old/new choices correctly and give strange results displayed on the page and in the comparison popup.Bug fix: If a user clicks the Enter key on their keyboard while their cursor is in the report title text box on the Create New Report page, it would mistakenly open the User Access popup.Bug fix: For certain web server configurations, using the Create Custom Survey Link button on the Public Survey Link page might mistakenly not create a short link successfully.Bug fix: When attempting to upload a non-XML file on the CDISC ODM tab in the Data Import Tool page, it would mistakenly display an empty popup with no error text. (Ticket #26116)Bug fix: When using the @NONEOFTHEABOVE action tag on a checkbox field, if a user clicks the option to trigger the "none of the above" prompt, then it would mistakenly not trigger calculations or branching logic on the page that are affected by the unchecking of some of those checkboxes. (Ticket #26328)Minor security fixes: Some Cross-Site Scripting (XSS) and Blind SQL Injection vulnerabilities were found in the Calendar module and Online Designer, respectively, in which a malicious user could potentially exploit them by manipulating the query string of an HTTP request.Bug fix: When clicking the "learn about Action Tags" link in the instructional text near the top of the Online Designer page (when viewing an instrument's fields), the popup displayed would mistakenly show the Add buttons next to each tag. It should not be showing those buttons except when editing a field.Bug fix: In very specific use cases where a date or datetime field is utilized in a calculation to check if the date/time is blank or not blank, it might mistakenly not be able to parse the calculation correctly or (in some extreme cases) might result in an incorrect value. This would only occur if one of the following four scenarios exist inside an "if" statement's condition for a calculated field: 1) "...and [date]=''", 2) "...or [date]=''", 3) "...and [date]<>''", or 4) "...or [date]<>''".Bug fix: When using the API Import Records method using "eav" format and importing data into fields that exist on a repeating instrument, it might return an erroneous error stating that the values for 'redcap_repeat_instance' and 'redcap_repeat_instrument' were not provided, which is incorrect.Bug fix: When using both Repeating Instruments and Repeating Events in a project, on certain occasions the Record Home Page might mistakenly display a "stack" form status icon (representing multiple instances of data) for instruments that actually have no data. (Ticket #26094)Bug fix: If an SQL field has choices with values that contain commas, apostrophes, or quotes, then in some cases the drop-down might mistakenly not have the correct value pre-selected for the field when a data entry form or survey page is loaded, in which the field would appear blank with no option selected. (Ticket #26176)Change: When setting a new URL for a project's Data Entry Trigger, it would remove the URL from the text box if the URL failed to be verified as a valid web address. It now no longer removes the value from the text box on failure but leaves it as-is. (Ticket #26315)Change: When a data export takes longer than three minutes, it provides an extra notice in the progress popup (i.e., "Exporting data...") that informs the user that the export process may possibly take longer than 30 minutes and recommends that they not stop then restart the process, as it may cause it to take longer than usual. This message is to prevent users from repeatedly attempting long data exports, which in some cases could create performance issues on the REDCap server.Bug fix: After scheduling a record in the Scheduling module, the "View or Edit Schedule" page might mistakenly display some HTML tags (e.g., "<br/>") inside the Notes column when viewing a record's schedule. (Ticket #26550)Bug fix: Exporting a PDF of an instrument that was downloaded from the REDCap Shared Library can cause a fatal PHP error if the project's "Character encoding for exported files" is set to "Japanese (Shift JIS)" or "Chinese (UTF-8)" on the "Edit A Project's Settings" page. (Ticket #26766)Bug fix: When entering certain YouTube video URLs as a Descriptive field's external video, it might mistakenly not parse the URL correctly, thus causing the video not to be playable on data entry form or survey. (Ticket #26672)Bug fix: After a REDCap administrator approves a production draft mode request, the To-Do List in the Control Center would mistakenly display the request time of the last production change for all the previous production changes that have been requested in the past for that one project. (Ticket #26635)Change: In the CSV Labels export data set, it now translates the choice lables Yes/No, True/False, and Checked/Unchecked in the CSV file if the project's language has been set to another language other than the default English. (Ticket #26279)Bug fix: If the record ID field in a project was used as a Survey Login field, it would malfunction and always get counted as correct during the login process, even if an incorrect value was entered by a participant. This would effectively allow participants to bypass the survey login if the record ID field was the only login field being used for survey login. To prevent this issue, the record ID field is now no longer allowed to be used as a survey login field. (Ticket #26456)Bug fix: When using the Double Data Entry module on a longitudinal project with multiple arms, if a user is DDE person #1 or #2, they would mistakenly see all records (across all arms) in the record list on the "Add/Edit Records" page, when instead they should only see the records that belong to the currently selected arm. (Ticket #26371)Bug fix: The Control Center text discussing where a project's grant number is displayed was incorrect and has been changed to "Name of grant to be cited (optional) - displayed when users export data". (Ticket #22780)Bug fix: If the REDCap server's PHP.INI configuration has the post_max_size variable set in units of gigabytes ("G") rather than megabytes ("M"), it might display an erroneous error on certain occasions saying that it has "exceeded the REDCap server's maximum submission size". (Ticket #26966)Version 7.6.3 - (released 8/23/2017)BUG FIXES & OTHER CHANGES:Bug fix: If a project contains one or more fields using the Biomedical Ontology functionality, and a user copies the project with all its records, then the Biomedical Ontology labels that were cached for the original project mistakenly do not get copied, which can cause the value to get accidentally erased on a data entry form or survey if a user places their cursor into the Biomedical Ontology field but does not re-enter the value. (Ticket #25451)Bug fix: On the Control Center's System Statistics page, the "Responded" count under "Survey invitations sent" might be slightly inaccurate. (Ticket #25361)Bug fix: If a field has branching logic that includes a calc field that itself is used by another calc field, then the complex chaining of branching and calculations might not get updated on the data entry form or survey page whenever a user modifies a field's value that triggers the original calculation. The result would be that some fields might not get hidden/displayed by branching logic on the page until the page is reloaded.Bug fix: Fixed typo on Locking Management page.Bug fix: If a user exceeds the maximum number of failed login attempts in a set period of time and thus gets temporarily locked out, it would mistakenly not allow them to log in even if an administrator had reset their password afterward. It would instead make them wait until after the lock-out window of time had elapsed before they could log in with their new password, which is incorrect and confusing. (Ticket #23516)Bug fix: If a field has branching logic that utilizes the datediff function, then when a user is hand-entering a value for a date/datetime field used in that datediff function, it might mistakenly display a popup error stating "Calculation errors exist" at the point at which the user has typed only a partial value for the field. (Ticket #25418)Change: For a repeating instrument or an instrument on a repeating event, in which the instrument is enabled as a survey, if the current instance of the repeating instrument/event has not yet been saved, then it will now disable the Survey Options drop-down list at the top of the data entry form until the form has first been saved. And if a user tries to click the drop-down before that repeating form/event has first been saved, it will tell them to click the "Save & Stay" button before they can access the Survey Options. This will prevent ghost/placeholder instances from appearing in the Participant List, which occurred in previous versions. The previous behavior was regarded as generally undesirable, although not necessarily considered a bug. (Ticket #21843)Bug fix: In the add/edit user privileges popup on the User Rights page, where a user can click the "Explain these settings" link to open the "Settings pertaining to project records" popup, which that explains the Create Records, Rename Records, and Delete Records privileges, that popup contained information that was very outdated and no longer correct. That text has now been updated.Bug fix: When a user is viewing drafted changes in the Project Modification Module of a project in production status, if any multiple choice fields have had a choice re-labeled or had a choice removed, then when clicking the Compare button for the field, the record count in the Choices Change Summary popup would not have correct counts for choices listed as Unchanged, in which Unchanged choices would always mistakenly have "0" for "Number of records having this value". (Ticket #25851)Bug fix: When clicking the Create Custom Survey Link button on the Public Survey Link page in a project, some REDCap servers might have difficulty creating a custom link successfully because REDCap was making a call to? than? better compatibility, this has now been changed so that the https address is always called.Bug fix: When a user has been assigned to a Data Access Group (DAG) and is creating a new record, if record auto-numbering is disabled in the project and the user uploads a file for a File Upload field on a data entry form before clicking a Save button on the page to create the record, then if the user later leaves the page without saving their changes via a Save button, the record would mistakenly not get assigned to the user's DAG but would instead not belong to any DAG.Version 7.6.2 - (released 8/10/2017)BUG FIXES & OTHER CHANGES:Bug fix: When deleting a document that has been uploaded to a File Upload field on a survey, it would mistakenly display a box inside the field that asks the respondent to enter their survey access code. This only occurred on surveys and not on data entry forms.Bug fix: Changed "Content-type" header to "Content-Type" in the Message PHP class because some email tools do not function properly if that header is in a different case. (Ticket #25051)Change: When using the Data Resolution Workflow's dashboard for data queries that have been opened via a custom Data Quality rule that contains two or more fields in its rule logic, it now displays the record number in the dashboard as a clickable link that goes to the Record Home Page for the record. Whereas in previous versions, the record number was not a link but only text. (Ticket #24960)Bug fix: When viewing the Data Resolution Workflow's Resolve Issues page and exporting the dashboard table as a CSV file, it might mistakenly output HTML character codes (e.g., ') for apostrophes, quotes, and non-breaking spaces in the CSV file. (Ticket #24833)Bug fix: When clicking the "Unlock all instruments" link on a longitudinal project's left-hand menu after selecting a record, it would mistakenly only unlock the data entry forms in the current event being viewed rather than in all events for the record. Additionally, the "Lock all instruments" link on some occasions might mistakenly display an erroneous error message after being clicked. (Ticket #24861)Bug fix: If two-factor authentication is enabled, and a normal user logs into REDCap when the entire system has been taken offline (via the System Status setting on the General Configuration page), then it would mistakenly display the two-step login screen and an empty, malformed popup rather than displaying the offline message. (Ticket #25148)Change: Modified the explanation text for @NOW and @TODAY action tags for greater clarity with regard to their usage. (Ticket #24847)Bug fix: Line breaks inside field labels do not work well in Excel on Macs when downloading a data dictionary and then re-uploading it, in which the line breaks would often get doubled after re-uploading it into REDCap. Technically, it now replaces as carriage return+line feed characters with simply a line feed character to prevent this doubling effect. (Ticket #21681)Bug fix: On the Record Status Dashboard page in a project, a database query would sometimes fail specifically for MySQL 5.7 only, in which it would be unable to retrieve all the form status values to display for records on the page.Bug fix: When deleting a user-uploaded file on the File Repository page in a project, it would not successfully delete the file on certain occasions.Change: Added new note at top of Online Designer (when viewing an instrument's fields) that mentions using Action Tags and includes a link to open the Action Tag documentation popup to learn more about them.Bug fix: On very specific and seemingly random occasions, a relatively long field label in a right-aligned field might not display correctly in the PDF download of the instrument, in which it would mistakenly display the label as one word per line rather than wrapping the text as expected. (Ticket #15336)Bug fix: When a field has branching logic that is dependent on another field that is hidden/displayed due to branching logic, if a field upstream on a form/survey has a value that is later changed, then all the chained branching logic on the page would mistakenly not cascade through all fields as it should, thus leaving some fields displayed that should be hidden.Version 7.6.1 - (released 8/4/2017)BUG FIXES & OTHER CHANGES:Change/improvement: The "Require Reason for Change" feature, which can be enabled in the Additional Customizations popup on the Project Setup page, no longer requires a reason when adding data to an empty data entry form (i.e., having a gray status icon). In previous versions, it would prompt the user for a reason even when adding new data to a form that had never had data entered before, which was deemed as unnecessarily aggressive, thus making the feature less useful to many users. So now in the event that data has never before been entered on the current instrument for a given record, the user will not be prompted for a reason (that is, until they return to the instrument at a later time and add/edit/delete data). Note: The Regulatory & Software Validation Committee has reviewed this change, and has approved it for general use.Bug fix: Fixed incorrect language in plugin/hook documentation for the REDCap::saveData() method. (Ticket #24619).Bug fix: When using the "Test calculation with a record" functionality for a calc field in the Edit Field popup in the Online Designer, it would mistakenly return a non-numerical value (rather than a blank value) in certain cases where an "if" statement is set to return a non-numerical value for a specified condition. It will now return "[No value]" instead. (Ticket #24612).Bug fix: When using a Custom Record Label for a project, in which the fields used in the Custom Record Label exist on a repeating instrument, it would mistakenly not pull those fields' data correctly, thus causing those fields to be blank in the Custom Record Label. In this case, it now pulls the data for those fields from the first instance of the repeating instrument. (Ticket #24610)Bug fix: When entering a value into a Text field or Notes field that triggers branching logic, if branching is triggered while the user is typing (before they leave the field), it would mistakenly display the "Erase current value?" prompt for any fields on the page that have values that are trying to be hidden by branching logic. It should only display that prompt when leaving the current field, not while the user is still typing inside the field.Bug fix: If a calc field's equation includes another calc field, then some downstream calculations might not get updated on the data entry form or survey page whenever a user modifies a field's value that triggers the original calculation.Change: The text of an error message has been modified for greater clarity when an administrator goes to approve production changes but there are no changes to approve. This happens when a user has taken the project back out of draft mode after initially requesting their changes be approved. (Ticket #24774)Bug fix: On some occasions REDCap Messenger might mistakenly throw a JavaScript error if Messenger was initially closed when the page loaded but then was opened. This is due to AJAX synchronicity issues. (Ticket #24930)Bug fix: When entering an email address in certain email fields on Configuration pages in the Control Center, the field validation would reject email addresses that have newer domain names (e.g., rob@cabrini.technology). (Ticket #24686)Bug fix: If using the REDCap::getPDF() method inside a REDCap hook that gets called on a survey page, it would mistakenly force a PDF download on the page, in which the PDF would be corrupted and not able to be opened, instead of returning the contents of the PDF as a string to the hook. (Ticket #24999)Bug fix: If a field utilizes the @NOW or @TODAY action tag on a survey or data entry form, and that field's value is also piped somewhere on that page, then the field's value will mistakenly not get automatically piped when the page initially loads. (Ticket #24994)Version 7.6.0 - (released 7/27/2017)BUG FIXES & OTHER CHANGES:Improvement:?Improved accessibility on surveys when using screen readers. Additionally, tabbing now works correct when tabbing through “Enhanced Radios and Checkboxes”, and the spacebar can be used to select a choice, as is always the case with standard radios and checkboxes.New action tag: @CHARLIMIT?- Sets the maximum number of characters that can be entered into a Text field or Notes field, and also displays the number of characters remaining. The format must follow the pattern @CHARLIMIT=??, in which ?? is the desired max character count (alternatively, the number value can be inside single or double quotes). NOTE: This action tag cannot be used at the same time as @WORDLIMIT for the same field. NOTE: This action tag does *not* get applied during any data imports (via API or Data Import Tool) but only operates when viewing survey pages and data entry forms.New action tag: @WORDLIMIT?- Sets the maximum number of words that can be entered into a Text field or Notes field, and also displays the number of words remaining. The format must follow the pattern @WORDLIMIT=??, in which ?? is the desired max word count (alternatively, the number value can be inside single or double quotes). NOTE: This action tag cannot be used at the same time as @CHARLIMIT for the same field. NOTE: This action tag does *not* get applied during any data imports (via API or Data Import Tool) but only operates when viewing survey pages and data entry forms.New action tag: @RANDOMORDER?- Randomizes the order of multiple choice field options as displayed on survey pages and data entry forms, in which their order will be different each time the page is loaded. NOTE: This action tag can only be utilized for the following field types: Checkbox, Radio, Drop-down, Yes-No, and True-False. This tag also works for enhanced radios and checkboxes on surveys.New action tag: @HIDECHOICE?- Hides one or more choices of a multiple choice field. This action tag is useful if you wish to retire a particular choice after utilizing it for a while in data collection, thus allowing you to hide the choice from that point after without orphaning any of the choice's data, which would happen if you simply deleted the choice. The format must follow the pattern @HIDECHOICE='??', in which the coded values should be inside single or double quotes for the choice(s) you wish to hide. If more than one choice needs to be hidden, then provide all the coded values separated by commas. For example, to hide the choice 'Monday (1)', you would have @HIDECHOICE='1', but if you wanted to additionally hide 'Tuesday (2)', you would have @HIDECHOICE='1,2'. NOTE: If the hidden choice has already been selected for a given record, then the choice will not be hidden on the survey or form for that record/event. NOTE: Hidden choices will still appear in reports and data exports. NOTE: This action tag can only be utilized for the following field types: Checkbox, Radio, Drop-down, Yes-No, and True-False. NOTE: This action tag works only in limited fashion with a matrix of fields, in which it will simply hide the checkbox/radio but still display the column for that choice in the matrix.New action tag: @ NONEOFTHEABOVE?- Allows for the designation of a checkbox choice to be a 'none of the above' option, thus ensuring that no other choices are checked if that one choice is selected. This means that if that particular option is selected, it will alert the user that all other checked-off choices will be unchecked. And if the 'none of the above' option is already checked when the user checks off another choice, it will automatically uncheck the 'none of the above' option. This action tag makes it possible to have a 'none of the above' option without the risk of users mistakenly having other choices selected at the same time. The format must follow the pattern @NONEOFTHEABOVE=??, in which ?? is the coded value of the 'none of the above' checkbox choice - e.g., @NONEOFTHEABOVE=98. Alternatively, it is possible to set multiple options as a 'none of the above' option at the same time, in which the coded values must be comma delimited inside single or double quotes - e.g., @NONEOFTHEABOVE='45,99'. This is useful for certain situations, such as if you have a 'none of the above' option and also have a 'refuse to answer' option, thus allowing either of those to be the only option that can be selected at a time. NOTE: This action tag can only be utilized by Checkbox fields.Improvement:?New "Save & Exit Record" button?on data entry forms - After being clicked, the user is taken back to the Record Home Page to select another record or create a new one.Improvement:?New "Save & Go To Next Record" button?on data entry forms - After being clicked, the user is taken to the Record Home Page for the record that follows the record just edited (according to the record order seen on the Record Status Dashboard).Minor security fix: The Bootstrap framework was upgraded to the latest version (3.3.7) due to a minor vulnerability in the framework.Improvement: The Configuration Check page in the Control Center will now?detect if any non-versioned files(that reside in the main "redcap" directory but are not inside a version directory) are out-of-date, and if so, will provide a zip file of the files to be replaced.Improvement: Branching logic now begins to get executed slightly earlier when leaving a text field (e.g., via tabbing) on a data entry form or survey page. This eliminates certain workflow issues, such as when a user's cursor mistakenly skips over previously hidden fields that become suddenly visible due to branching logic being triggered by leaving the initial field. So overall, it improves the behavior of tabbing through a survey or form when branching logic is used.Improvement: Branching logic and calculations now get executed more efficiently when triggered by adding/modifying field values on a survey page or data entry form, in which they now get executed only for the fields for which they are a trigger. This is much better than executing branching logic and calculations for all fields on the page, which was the case in previous versions.Improvement: The App Data Dumps tab on a project’s REDCap Mobile App page now displays the records and the uploaded file list in a more manageable fashion for any emergency data dumps that are listed on that page.Bug fix: When using the Survey Auto-Continue feature for a set of surveys that exist on a Repeating Event in a longitudinal project, if a participant completes a survey, it would always mistakenly send them to the next survey in the first instance of the Repeating Event instead of sending them to that survey in the current instance of the Repeating Event. So their responses for the following surveys would not get stored in the correct instance of the Repeating Event.Bug fix: In some cases where date values might have trailing spaces (e.g., "2017-12-31 "), it would mistakenly cause the datediff() function to not always work correctly in calculated fields and in Automated Survey Invitation conditions, among other places where datediff() can be utilized. (Ticket #24243)Change: When opening the "Upload document" popup for a File Upload field, it now no longer displays the field's variable name in the popup. It now only displays the field label. Displaying the variable name was deemed unnecessary and unuseful, especially for survey participants.Bug fix: If a user loads a survey page or data entry form, in which a required field already has a value at the time the page is opened, then if the value is removed and the page is saved, it would mistakenly give the required field prompt saying that the required field was left blank, which is incorrect.Bug fix: When repeating instruments have been enabled in a project, and some instances of a repeating instrument have been deleted for a given record, then when viewing the record on the Record Status Dashboard, the form status icon displayed in the table for the repeating instrument might be an incorrect color (e.g., blue stack icon instead of green stack icon). (Ticket #23370)Bug fix: When copying a project, in which the reports are copied but users/roles are not copied, if a report had custom user access set, then that same report in the new project would end up in a limbo state where it appears that all users can access it but mistakenly no one can access it (except users with Edit Reports privileges via the "My Reports & Exports" page). (Ticket #23918)Change: On the Project Modification Module, the Commit, Reject, and Reset/Delete buttons at the bottom of the page for administrators now have a short description next to them to explain what they do (in case administrators get skittish about clicking the buttons without fully understanding them first).Change: Removed the use of expression(this.width > ...) in CSS inline style of embedded images (e.g., survey logo, descriptive field attachment) since it is no longer necessary in the web browsers that REDCap supports.Bug fix: When viewing the Data History popup for a field when viewing a record on a data entry form, if the record had been deleted in the past but later another record was created with the same record name, then it would mistakenly also display the logging for the deleted record in the Data History popup. (Ticket #24444).Bug fix: When using the datepicker/datetimepicker widget for setting the value of a text field, if the field has a min or max range validation set, then it would prevent the user from selecting a new month or year in the datepicker if the existing value in the field is currently out of range. This made it extremely difficult to use the datepicker well if range validation is used on the field. (Ticket #24049).Bug fix: When clicking the Compare button for a multiple choice field on the Draft Mode field comparison page, if a multiple choice option has a comma in its label, then the resulting popup comparing the choices would mistakenly truncate the choice label at the comma. (Ticket #24566).Version 7.5.2 - (released 7/18/2017)BUG FIXES & OTHER CHANGES:Major bug fix:?In very specific scenarios, deleting a record in a project might mistakenly delete a scheduled survey invitation for a record with the same name in another unrelated project. This would result in random survey participants not receiving their invitations. This issue occurs very seldom. (It was thought that the major bug fix listed in REDCap 7.4.5's release notes was responsible for this, but it was found not to be.)Bug fix: When entering the equation for a calc field in the Edit Field popup in the Online Designer, if the project is in Draft Mode while in production, then any fields referenced in the calculation that exist only in Draft Mode will cause the logic checker to mistakenly say "Error in syntax" right below the equation in the popup. (Ticket #23886)Bug fix: If viewing a survey that has "enhanced radio buttons and checkboxes" enabled, it would display a checkbox with Left/Horizontal alignment on the survey mistakenly as a single column of buttons rather than as two columns. Horizontally-aligned radios/checkboxes should always display as two columns of buttons, except on small mobile devices.Version 7.5.1 - (released 7/12/2017)BUG FIXES & OTHER CHANGES:Medium security fix:?A cross-site scripting vulnerability was found that could be exploited by a malicious user by manipulating the query string of an HTTP request or REDCap link.Medium security fix:?A cross-site scripting vulnerability was found that could be exploited by a malicious user by manipulating text strings input into conversation titles or messages in REDCap Messenger.Major bug fix:?On certain occasions, the cron job that schedules Automated Survey Invitations containing conditional logic using datediff() with "today" as a parameter might mistakenly remove survey invitations that have been scheduled for another project. This would result in random survey participants not receiving their invitations. This issue occurs very seldom.Minor security fix: A couple functions (e.g., deleting files in the File Repository or on File Upload fields) were mistakenly not being protected from Cross-site Request Forgery (CSRF) attacks by potential malicious users.Change: A note was added for clarification at the bottom of the Data Quality module to denote that for Rule E the term 'outlier' refers to a value that is more than two standard deviations from the mean.Bug fix: When clicking the "Tell me more" link inside the Survey Login popup in the Online Designer, it would mistakenly display the hidden instructional text.Bug fix: When using the Data Dictionary Upload page to import a field that has a certain type of invalid branching logic, then it can mistakenly throw a fatal PHP error and prevent the file from successfully uploading rather than gracefully catching the error. (Ticket #23658)Bug fix: When exporting the REDCap XML file (containing metadata and data) on the Other Export Options page, that option's download icon's "title" attribute would mistakenly say "Download PDF with all data", which is incorrect. (Ticket #23674)Bug fix: The Data Dictionary upload process would mistakenly not catch the error where a min or max validation range is provided without a value for the field validation type. (Ticket #23440)Bug fix: When "enhanced radio buttons and checkboxes" are enabled on a survey, radio or checkbox fields that have vertical alignment were mistakenly not displaying their choices as one choice per line, which is what vertical alignment dictates, but instead they were displaying as two choices per line - except on mobile devices in which it always displays one choice per line. (Ticket #23748)Bug fix: When adding a custom Data Quality rule for a project in production, it might mistakenly return an error saying that the fields in the rule logic do not exist as real fields in the project. (Ticket #23515)Bug fix: For longitudinal projects with multiple arms in which the project has the Custom Record Label or Secondary Unique Field enabled, if a user views a calendar event that is attached to a record (either as an ad hoc calendar event or generated via the Scheduling module), then when viewing the calendar event in the popup, it would mistakenly only display the Custom Record Label or Secondary Unique Field for records in the first arm. For records existing only in other arms, the value would mistakenly be blank. (Ticket #23367)Bug fix: When repeating instruments have been enabled in a project, and some instances of a repeating instrument have been deleted for a given record, then when viewing the record on the Record Home Page, the form status icon displayed in the table for the repeating instrument might be an incorrect color (e.g., red stack icon instead of green stack icon). (Ticket #23370)Change: The PHP constant USERID and global variable $userid set by REDCap will now always be lower case regardless of whether a user has logged in using a different case for their username. (Ticket #23062)Change/improvement: When using Twilio telephony services in a project and having respondents complete surveys via SMS messages, if a respondent has SMS auto-reply enabled for their phone number, it can cause an infinite loop of bounce-backs that will quickly deplete the REDCap user's Twilio account of funds. The SMS survey will now max out at 10 invalid responses per minute before automatically ending the survey. (Ticket #23050)Version 7.5.0 - (released 6/29/2017)NEW FEATURES, BUG FIXES & OTHER CHANGES:New feature: PDF download for survey respondents?- On an instrument's survey settings page, a user may enable the option "Allow participants to download a PDF of their responses at end of survey?". This option will display a button for the survey participant to download a PDF file of their responses for the survey they just completed. Users may also download this same copy of the PDF since it has been added as a new PDF download option at the top of data entry forms.New feature: Allow users to generate API tokens on their own?- A new optional setting on the User Settings page in the Control Center will grant all users or selected users the ability to generate API tokens on their own without a REDCap administrator having to generate them on their behalf. If set to "Yes, allow selected users", then an administrator will have to enable the setting on a given user's account via the Browse Users page to allow them to generate their own tokens. If set to "Yes, allow all users", then any user will be able to generate their own API token for a project any time they wish. Note: This system-wide setting on the User Settings page defaults to "No, an administrator must approve each token request", which is the behavior in previous versions of REDCap.Medium security fix: A cross-site scripting vulnerability was found that could be exploited by a malicious user or survey respondent uploading a specially designed file for a File Upload field (or manipulate the HTTP request during the upload process) on a survey page or data entry form.Improvement: When copying a project that has the Dynamic Data Pull (DDP) module enabled, it will now copy the DDP field mappings in the project. Note: The DDP module will still be initially disabled in the new project, but after an administrator enables it for the user, the mappings that were copied will then appear.Bug fix: When clicking the "Add new" button on the Record Home Page to add a new repeating event for a record, if the event/form table is large enough on the page, the table may mistakenly disappear on certain occasions after clicking the button. (Ticket #23165)Bug fix: If a logged-in user knows how to manipulate a specific HTTP request to the REDCap server, they might be able to learn the project title of any given project.Bug fix: For longitudinal projects with multiple arms that utilize repeating instruments, if a record exists on more than one arm, the Record Home Page would mistakenly display the repeating instruments tables from other arms for that record.Version 7.4.3 - (released 6/22/2017)BUG FIXES & OTHER CHANGES:Improvement: When the Data Resolution Workflow module is enabled for a project, the Resolve Issues page now has an Export button to allow users to download the data resolution dashboard as a CSV file. The page also allows users to view "all status types" using the first filter drop-down in the dashboard table.Change: When designating instruments for events on a longitudinal project's "Designate Instruments for My Events" page, normal users will no longer be able to undesignated an instrument from an event if the project is in production (REDCap administrators will still be allowed to do this though). This is to protect users from mistakenly undesignating instruments after collecting data in production, which would orphan the data.Change/improvement: The Data Search feature on the "Add/Edit Records" page performs slightly better regarding the ranking of search results returned, in which it now lists exact word matches first in the list of results. Additionally, the Data Search feature now returns a maximum of 25 matching values, whereas previous versions returned a maximum of 15.Bug fix: A user might not receive email notifications regarding new REDCap Messenger messages if they have had Mobile App or API activity after logging out and then receiving new messages.Bug fix: When viewing a survey or data entry form on a tablet, in which an inline image attachment is displayed in a Descriptive field on the page, it would mistakenly display the image at a smaller size than expected if the image is larger than 250 pixels wide.Bug fix: When typing a calc equation, branching logic, report filer, etc. into a text box where it provides variable auto-suggestions, depending on the REDCap server configuration, it might mistakenly not display suggestions for fields but instead display an error message.Bug fix: When a project is in production but not in Draft Mode, it would mistakenly display the "REDCap Shared Library" button and "Check For Identifiers" link on the Project Setup page. (Ticket #22605)Bug fix: When exporting and re-importing a project XML file of metadata to create a new project, if any multiple choice fields have option labels that contain HTML tags, then all options for that field that do not contain HTML in their label would mistakenly get lost and would not appear in the newly created project. (Ticket #22610)Bug fix: When entering branching logic in the "Add/Edit Branching Logic" popup on the Online Designer, if the project is in production and in Draft Mode, then it would mistakenly report "Error in syntax" if the logic contains a variable name that is on a new instrument that exists in Draft Mode but not in the production version of the project. (Ticket #22604)Bug fix: When using the drag-n-drop option in the "Add/Edit Branching Logic", the operator drop-down was missing "<>" as an option. (Ticket #22596)Bug fix: When clicking the "reset" link for a radio button field on a data entry form or survey page, if fields immediately below to become visible due to branching logic after the link is clicked, then in certain cases the value of the radio button field would mistakenly not get reset.Version 7.4.2 - (released 6/13/2017)BUG FIXES & OTHER CHANGES:Bug fix: When clicking the "fetch" link for a user on the User Access Dashboard, in which the user has never accessed that particular project, the spinning icon would mistakenly continue to spin forever instead of displaying "never".Bug fix: When a participant is using the Survey Login feature to log in to a survey, it would mistakenly not display the survey instructions on the first survey page unless the "Save & Return Later" option had been enabled for the survey. It now always displays the instructions on the first page regardless. (Ticket #21646)Bug fix: When clicking the "fetch" link for a user on the User Access Dashboard, in which the user's username has an "@" sign in it (e.g., their username is their email address), the spinning icon would mistakenly continue to spin forever instead of displaying the timestamp or "never".Bug fix: When executing a rule on the Data Quality module, if the discrepancy results return fields whose field label text is not saved correctly (mangled encoding that results in a black diamond character), then the popup containing the discrepancies will mistakenly not open when the user clicks the "view" link for that rule.Bug fix: If a survey participant has clicked the button to change the survey font size at the top of the survey, and then they view a survey page where a drop-down field or text field is initially hidden by branching logic but is revealed later via branching logic on that page, the previously hidden field will mistakenly be very thin and almost invisible.Bug fix: If the Scheduling module is enabled in a project, it would mistakenly allow a user that does not have "Create Record" user privileges to create a new record if they click the "Generate Schedule" button without having selected a record from the "choose existing unscheduled" drop-down list. (Ticket #10111)Bug fix: When a participant is taking a PROMIS/Neuro-QoL survey (adaptive or auto-scoring only) for the first time ever for the REDCap server, it might mistakenly fail to auto-retrieve the PROMIS API keys if the REDCap server's institution name or grant funding text on the General Configuration page contains HTML tags. This would prevent the PROMIS service from functioning at all.Bug fix: When sorting projects in the My Projects list by clicking the Records or Fields header in the table, it would mistakenly not sort them correctly if the number contained a comma. (Ticket #21778)Bug fix: When executing Data Quality rule F in a project that has checkbox fields on Repeating Instruments, it might mistakenly display false positives as discrepancies for those checkbox fields. (Ticket #13555)Change/improvement: To allow text boxes to expand flexibly, an "Expand" link was added below the "Send confirmation email" message box on the Survey Settings and also below the User Comments text box on the Browse Users page when editing a user's account in the Control Center.Bug fix: If an "Account Manager" is searching for other users on a project's User Rights page or the Browse Users or Browse Projects pages in the Control Center, it would mistakenly not list suspended users in the results returned.Change: The "Review Drafted Changes" page in a production project now gives a bigger warning if a user is attempting to change the Record ID field's variable name after data collection has begun.Bug fix: If the survey confirmation email is enabled or if survey notifications are enabled for a given survey that is enabled as a repeating survey, it would mistakenly not send the emails if the survey has the "Before survey is completed" option set for the location of the repeating button on the survey page. (Ticket #22276)Bug fix: The Repeating Instrument tables displayed at the bottom of the Record Home Page for a project with Repeating Instruments might mistakenly display the tables in incorrect order.Bug fix: If a file is uploaded to a File Upload field on a data entry form or survey for an existing record, and then the link is clicked to download the file, it would only display "ERROR!", which is non-descriptive and confusing, whereas now it gives a more full error message stating that the form/survey must first be saved before the file can be downloaded. Also, if a file is uploaded and then deleted via the "Remove file" link, it would mistakenly display "ERROR!" in that field with no option to re-upload a field. Additionally, to be consistent with all this behavior, users will no longer be able to send the file via the Send-It button below it until the data entry form has first been saved and reloaded. (Ticket #22022)Bug fix: The drop-down list of records on the "Add/Edit Records" page would mistakenly display HTML tags if the Custom Record Label or Secondary Unique Field label contained HTML tags. (Ticket #22351)Bug fix: When importing data for checkbox fields via the Data Import Tool or API, in which the checkbox exists on a Repeating Instrument, it would mistakenly display an error saying that the value cannot be imported. (Ticket #22387)Bug fix: When viewing the My Projects page, Control Center, or other non-project pages, the top nav bar might mistakenly be displayed as two rows rather than one. (Ticket #22469)Change: Invitation reminders are now displayed by default in the Survey Invitation Log. In previous versions, the "Display invitation reminders?" checkbox would have to be checked in order to see the reminders. Not initially seeing the reminders would cause some users to mistakenly assume that nothing was scheduled.Change/improvement: When adding a secondary or tertiary email address to a REDCap user account, the language has been modified on the email verification page for greater clarity when the current logged-in user clicks the link and they are not the requester. This can happen sometimes when one user is authorizing another user to use their email address for their REDCap account's secondary or tertiary email. (Ticket #21780)Version 7.4.1 - (released 5/29/2017)BUG FIXES & OTHER CHANGES:Improvement:?If a record has any calendar events (included scheduled events) that will occur in the next 7 days, it will display a button above the table on the Record Home Page. The button will note how many calendar events there are for the current record in the 7 days, and when clicked, it will display the next 7 days worth of calendar events in agenda mode view.Improvement:?If a record has any survey invitations that are scheduled to be sent in the next 7 days, it will display a button above the table on the Record Home Page. The button will note how many upcoming invites are scheduled for the current record in the 7 days, and when clicked, it will display a table of the send time and survey title for the next 7 days worth of scheduled invites.Improvement:?When the Dynamic Data Pull (DDP) module is enabled for a project, it will now display a record's number of items to adjudicate when viewing the record on the Record Home Page, and additionally clicking the View button allows to user to adjudicate new items for the record on the Record Home Page.Improvement:?When the Dynamic Data Pull (DDP) module is enabled for a project, the DDP adjudication popup now displays a gray header for each data entry form of fields displayed in the popup. This makes it more clear to which form the fields belong.Bug fix: If the REDCap web server is running PHP 7.1, numeric survey access codes for Twilio telephony services could never be created and could cause some processes to go into infinite loops until the PHP script crashed. (Ticket #21169)Bug fix: When using Twilio telephony services and sending an SMS survey invitation for participants listed in the Participant List for the first instrument, it would mistakenly keep asking the participant for their survey access code via SMS after they initially replied back via SMS, thus preventing them from starting the survey. (Ticket #20303)Bug fix: If the 'records' parameter in the API "Delete Records" method is passed as a string instead of an array, it would mistakenly return a "1" for success, even though it did not delete any records. (Ticket #21424)Bug fix: When the cron job is running for the Publication Matching module, it might mistakenly throw a fatal PHP error and halt the cron job mid-way through completing in certain situations. (Ticket #21347)Bug fix: If a field used in the Survey Login has another field's value being piped into its field label, then the Survey Login screen would mistakenly not perform the piping. (Ticket #19610)Bug fix: When one of the "Number...comma as decimal" field validation types is used for a field that also has a field min/max range validation set, then when importing data into the field via Data Import Tool, it would display erroneous error messages saying that the value is out of range. (Ticket #20959)Bug fix: When using the designated survey email field on a survey, if a value is entered for the field, then the field would mistakenly be disabled on the survey page. It should only be disabling the field on the survey if the user entered the email address into the Participant List and if the user has also enabled the designated email field, which exists on that survey. This is done to prevent the email address in the Participant List and the email from the designated email field from getting out of sync. But it should not be disabling the field if the email value does not come from the Participant List. (Ticket #21504)Version 7.4.0 - (released 5/17/2017)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature: REDCap MessengerREDCap Messenger is a communication platform built directly into REDCap. It allows REDCap users to communicate easily and efficiently with each other in a secure manner. At its core, REDCap Messenger is a chat application that enables REDCap users to send one-on-one direct messages or to organize group conversations with other REDCap users. REDCap Messenger is also the best and easiest way to share documents with other REDCap users, in which you can upload documents and embed pictures inside any given conversation.View more info hereWatch 10-minute video?on REDCap MessengerImprovement: The generic field validation error message ("The value you provided could not be validated because it does not follow the expected format. Please try again.") has been improved, in which it now additionally displays "Required format:" and the name of the field validation (e.g., "Datetime (D-M-Y H:M)") in the error prompt so that there is no ambiguity about what the format should be.Bug fix: When calculated fields utilize date/datetime fields in certain ways, such as inside the condition of if() functions or comparing the date/datetime value to "" or "NaN", it can return an incorrect value on data entry forms (via JavaScript) or during a data import or Data Quality rule H (via PHP). (Ticket #21030)Bug fix: When searching for users in the Control Center on the Browse Users and Browse Projects pages, it would mistakenly not return suspended users in the search. (Bug emerged in REDCap 7.3.6.)Bug fix: Reports that use advanced logic containing datediff functions strung together with ORs (e.g., datediff(...)>6 or datediff(...)<40 ) would not return any matching records/events for the datediffs that contained one or both date parameters having blank/null values. This appears to only affect reports.Change/improvement: The password security questions for Table-based users have now had their language abstracted, so they are now translatable like other stock text in REDCap.Bug fix: If a survey instrument has fields from it being displayed in a report that is set to show the survey identifier and survey timestamp fields, in which that survey instrument is set to be a repeating instrument or is on a repeating event, then the survey identifier and timestamp fields would mistakenly only ever display a blank value instead of the real value in the report.Bug fix: In a project with Double Data Entry enabled, if a user is DDE user #1 or #2 and enters a page where DDE users are not allowed (e.g., Data Import Tool) and is thus presented with a yellow error message stating that the page is disabled, it would mistakenly make the links on the project's left-hand menu into dead links or will point to the wrong URL.Change: The font size of the text fields for Link Label and Link URL on the "Set up project bookmarks" page were too small.Change: On the API page in a project, for users that are not Administrators, it no longer displays a list of all users in the project who have API tokens. This is to adhere to a more conservative security policy. (Ticket #20048)Bug fix: Data Quality rule G would mistakenly return discrepancies for checkboxes that exist on an instrument set as a Repeating Instrument. (Ticket #19259)Bug fix: On the Record Home Page of a project that has repeating instruments, it would mistakenly display the table listing all instances saved for a repeating instrument even if the user does not have Data Entry user privileges to that particular instrument. It now no longer displays the table. (Ticket #20554)Bug fix: SQL fields were mistakenly not displaying on the "Stats & Charts" page. (Ticket #20195)Change/improvement: Added an optimized version of the cron job that checks all conditional logic in Automated Surveys Invitations that use "today" inside a datediff() function.Bug fix: When creating a Custom Record Status Dashboard with filter logic that returns no records, it would mistakenly display all the project's records in the dashboard table on the page. (Ticket #21103)Bug fix: If HTML tags are used in the Custom Record Label, then those tags will mistakenly be displayed at the top right corner of an exported PDF containing record data. It now strips out any HTML tags in the PDF for the Custom Record Label. (Ticket #21229)Bug fix: If creating a project using a Project XML file that contains a data collection instrument with no fields other than the Form Status field, that instrument would mistakenly not get created in the new project, and if longitudinal, will throw an error and prevent the project from even being created.Bug fix: When repeating events are enabled in a longitudinal project, if a user clicks the "Add new" button on the Record Home Page to add a new repeating event, then the column mistakenly does not duplicate correctly if the table is wide and employing floating table headers/column. (Ticket #20267)Bug fix: When renaming a Data Access Group on the DAG page, if the DAG name contains non-Latin characters, it would mistakenly not saved the DAG name correctly. (Ticket #20958)Bug fix: The "Order by another field" customization on the Project Setup page's "Additional customizations" popup was no longer working on the drop-down list of records on the Record Home Page. Bug emerged in version 7.0.0. (Ticket #15091)Bug fix: If a field utilizes the @DEFAULT action tag on a survey or data entry form, and that field's is also piped somewhere on that page, then the field's value will mistakenly not get automatically piped when the page initially loads. (Ticket #21288)Bug fix: Values for the fields "redcap_repeat_instrument" and "redcap_repeat_instance" would not get fully validated during a data import, thus causing the data to get mistakenly imported into non-repeating events/instruments and orphaning some of the data after the import completed. (Ticket #21100, #20028)Version 7.3.6 - (released 5/17/2017)BUG FIXES & OTHER CHANGES:Major bug fix:?Specific usages of the "if" function in calc fields would cause opposite results for auto-calcs and for Data Quality rule H. This includes the usages below. (Ticket #17479, #18945, #17882)if ([field] = "NaN", ... , ...)if ([field] <> "NaN", ..., ...)if ([field] = "", ..., ...)if ([field] <> "", ..., ...)Change: The user auto-suggest on the User Rights page no longer returns suspended users when searching for users to add to the project.Change: The DataQuality::renderResolutionTable method was not checking for $_GET['assigned_user_id'] in resolve.php. (Ticket #20630).Bug fix: At the top of the data entry form when viewing a survey response, it would incorrectly list an API user as a contributor to that response when the API user has imported data values for *any* field for that record, not just fields on that particular survey instrument. It now only lists contributors who have modified values on that instrument. (Ticket #20452)Bug fix: When executing Rule C "Field validation errors (incorrect data type)" in the Data Quality module, it would mistakenly return false positives in the discrepancy list when there exist no fields in the project having field validation and also when there are no slider fields or calc fields.Bug fix: When sending multiple attachments in an email sent from a hook or plugin using the Message class in REDCap, it would mistakenly attach extra empty text files to the email for some email providers.Bug fix: The auto-generated unique event name for events in a longitudinal project might mistakenly begin or end with an underscore, which might cause erroneous errors when using a unique event name in report filter logic or in other similar logic. (Ticket #20301)Change/improvement: Alt text was added to the increase/decrease font images displayed at the top of the survey page. (Ticket #20577)Bug fix: The API Playground mistakenly displays a drop-down of events for the Delete Record method when it should instead display a drop-down of arms. (Ticket #20599)Bug fix: The data search on the Add/Edit Records page will mistakenly never return any results when searching over "All fields" when the REDCap web server is running PHP 7. (Ticket #20111)Bug fix: When renaming a record on the Record Home Page, it would mistakenly allow users to enter illegal characters in the record name, such as ampersands, apostrophes, plus signs, and pound signs. (Ticket #19719)Version 7.3.5 - (released 4/28/2017)BUG FIXES & OTHER CHANGES:Bug fix: If a survey has "Enhanced Radios and Checkboxes" enabled, and a radio or checkbox is selected by a participant on the survey page and then the field gets hidden by branching logic, then if the field later becomes visible again due to branching logic, it would mistakenly still seem to be selected even though it is not really selected. (Ticket #19034)Bug fix: If using the Online Designer's "Copy" button to copy an instrument containing a matrix of fields, it would mistakenly not append the specified suffix (e.g., "_v2") to the matrix group name but would instead append a random string of alpha-numeric characters. (Ticket #19333)Bug fix: If deleting an event of data on a record's Record Home Page, it would mistakenly not delete all the event data if the event contained one or more repeating instruments that had some data saved on non-first instances of the instrument. (Ticket #17694)Bug fix: If a user is locking all forms across all events on the Record Home Page for a record that has repeating events of data in a project with Repeating Events enabled, it would mistakenly not lock any empty forms (i.e., having a gray status icon) that exist on a repeating event, excluding the first repeating instance. Additionally, empty forms on repeating events (excluding the first repeating instance) were showing up as locked on the Record Home Page (i.e., having lock icon) even though they were not really locked. (Ticket #17615)Bug fix: When using the Scheduling module in a longitudinal project that contains repeating instruments, in certain cases a record might mistakenly not be displayed in the "choose existing unscheduled" drop-down on the Scheduling page, thus preventing the user from scheduling certain records. (Ticket #17272)Bug fix: When enabling the Survey Login feature in a multi-arm longitudinal project, if a record does not exist in an arm whose fields/events are specified as the login fields, then the survey login page would mistakenly display an error saying that the login form could not be displayed (and thus provide no way to log in to the survey). In this scenario, it should instead bypass the survey login form and display the survey page since the record exists in another arm as the specified login fields, thus the record should not be subject to it. (Ticket #18430)Bug fix: When using the Survey Queue and selecting the option to display the survey in the queue "when the following survey is completed", it was only checking to see if that instrument was completed as a survey. It should have also been checking if the instrument had been set to a Form Status of "Complete" on a data entry form, which is how Automated Survey Invitations have always behaved for this same setting. This was causing some surveys to show up as not having been completed in the participant's survey queue. (Ticket #15640)Bug fix: When using the Survey Queue and referencing a value from a repeating instrument inside the conditional logic for the survey queue item, it might mistakenly not display the survey in the queue or might show it as not having been completed when it was completed as a data entry form. (Ticket #15640)Bug fix: When viewing a tall multi-page report in a project, in which it utilizes the floating headers on the report table, if the user switches between pages of the report, it might mistakenly cause part of the table headers to suddenly appear below the page footer at the bottom. (Ticket #19676)Bug fix: When importing data via the Data Import Tool, if any error messages contain a comma in the text, it would mistakenly truncate the error message at the comma when displaying it on the page for the user.Version 7.3.4 - (released 4/21/2017)BUG FIXES & OTHER CHANGES:Improvement:?The redcap_repeat_instance and redcap_repeat_instrument values will now be sent as parameters for Data Entry Triggers. Note: If the current event/instrument is not a repeating event or repeating instrument, respectively, then these parameters will not be included in the DET request. (Ticket #18794)Improvement:?The repeat_instance parameter was added to the following hook functions: redcap_data_entry_form, redcap_data_entry_form_top, redcap_save_record, redcap_survey_complete, redcap_survey_page, and redcap_survey_page_top. NOTE: In order to utilize this new parameter in REDCap, you must add $repeat_instance as the last parameter in the function definition of the functions above in your hook functions file on your web server. (Ticket #18794)Improvement:?The repeat_instance parameter was added to the REDCap::getPDF() method for plugins/hooks. (Ticket #18794)Bug fix: When renaming a record on the Record Home Page, it would mistakenly not trim off any spaces accidentally added to the beginning or end of the new record name, thus leaving the record in a limbo state where it is not accessible in data entry forms and could not be deleted.Bug fix: If a text field that lacks integer or number validation has a trailing space in its value and is then used in the equation of a calculated field, the resulting calculation as seen on data entry forms and survey pages might mistakenly be incorrect, whereas data imports and Data Quality rule H would perform the calculation correctly. (Ticket #19037)Change: Added a "Cancel" button to the bottom of the Data Dictionary Upload page and Data Import Tool to more easily allow users to start over when halfway through the upload process. (Ticket #19035)Bug fix: In certain versions of Internet Explorer, the "Cancel" button would not work correctly and would mistakenly submit the form on the following pages: Copy Project page and Create/Edit Survey page. (Ticket #18996)Bug fix: When collapsing many repeating events on the Record Home Page (by clicking the left/right arrow button), then uncollapsing them, then repeating this process several times, the user's browser may get bogged down and crash. And it may even mistakenly ban the user's IP address from REDCap, after which they would have to be unbanned.Bug fix: When exporting data to a stats package (e.g., SPSS, SAS, R, Stata) for a project that contains repeating events or repeating instruments, if the report being exported does not include any fields from a repeating event or repeating instrument, then the fields listed in the stats package's syntax file might not line up with the fields contained in the resulting CSV data file, thus making it impossible to load the data into the stats package. (Ticket #18996)Change: The Configuration Check page in the Control Center now recommends that you upgrade to PHP 5.4.0 or higher if you are currently running PHP 5.3 on your REDCap web server. It notes that while most of REDCap's functionality works fine with PHP 5.3, it has shown to provide inconsistencies on rare occasions when evaluating particular types of equations for calculated fields. So for better performance and accuracy, it is recommended that you upgrade to PHP 5.4.0 or higher.Change/improvement: When using both Data Access Groups and Double Data Entry in a single project and merging two records that both belong to the same DAG, previous versions did not automatically assign the merged third record to the same DAG. It now automatically assigns the new third record to the same DAG in that case. (Ticket #18767)Bug fix: When the Data Resolution Workflow module is enabled, and a user attempts to respond to an open query by uploading a file, the file would mistakenly fail to upload.Bug fix: When the Data Resolution Workflow module is enabled, and a user enters a value for a field that has an open query, which causes the "Save and then open Data Resolution Pop-up" button to appear, if the button is clicked on a repeating instrument or on a repeating event, then it would mistakenly redirect the user back to the first instance of the data entry form (rather than the current instance) after successfully saving the form's data.Version 7.3.3 - (released 4/13/2017)BUG FIXES & OTHER CHANGES:Major bug fix:?When viewing the Record Home Page for a record, in which the main table on the page is wide enough or tall enough that it invokes the floating header or floating first column, then if the user clicks the down arrow button on the main table to collapse it, it might mistakenly not be possible for the user to uncollapse the table, even after refreshing the page, thus making it impossible to navigate fully throughout a record. (Ticket #18819)Change: On certain rare occasions, the table displayed on the Record Home Page, on the Record Status Dashboard, on the Designate Instruments For My Events page, and on all reports might not display properly but might have its columns or rows appear misaligned in some way, thus making it difficult to view the table or navigate it well. If this occurs, users can now disable the floating table headers for that table/page in that specific project (and have it remember that choice) by clicking the "Table not displaying properly?" link that is now displayed near the top right of the table. It will also have a [?] link to click, which opens a popup with an explanation of what it means to disable that functionality. (Ticket #18822)Bug fix: When performing a data export to SAS or SPSS, in which some fields in the export data set have "datetime" or "datetime w/ seconds" field validation, those fields would mistakenly not get added to the syntax file produced for both SPSS and SAS. Bug emerged in REDCap 7.3.1 (Standard). (Ticket #18579)Bug fix: When viewing the popup for setting up Repeatable Instruments/Events on the Project Setup page, if the project is longitudinal and a custom label is set for a repeating instrument, then when the popup is reopened later after saving, it might mistakenly display one of the custom labels for that instrument in every event, rather than just in the event in which it was specified. This won't change anything in how the custom labels are implemented unless the values are re-saved after initially saving though.Bug fix: In a longitudinal project with repeating events enabled, if a user adds data for several repeating events, in which one of the instruments on a repeating event has a gray status icon, then the corresponding icon(s) for that instrument/event for that record would not display correctly on the Record Status Dashboard, such as displaying a gray status icon when it should display a red stack status icon. (Ticket #18073)Bug fix: When viewing the popup for the Data Resolution Workflow on a repeating instrument, the table rows that show the data value changes for the field in the popup would mistakenly always show the first instance's data, not the current instance of the repeating instrument. (Ticket #18873)Version 7.3.2 - (released 4/6/2017)BUG FIXES & OTHER CHANGES:Change: In REDCap 7.3.1 (Standard), the Codebook page required Project Setup/Design privileges to view it, although in previous versions it did not require any special user privileges in order to view the page. However, due to good arguments made against the change in 7.3.1, the change has been reverted, and the Codebook will now be fully viewable to all users in the project just as it was in versions prior to 7.3.1.Improvement: On the Logging page in projects that have Data Access Groups, a user that is not assigned to a DAG will be able to filter the logging results by records in a DAG. Below the "Filter by record" drop-down at the top, it will display a "Filter by records in a DAG" drop-down that is viewable only by users not currently assigned to a DAG.Bug fix: If an apostrophe exists in the name of a User Role, then the role could not be edited when clicked on the User Rights page. It would instead mistakenly throw a JavaScript error.Bug fix: When exporting a PDF of a data entry form with data, in which the form is enabled as a repeating instrument, if a checkbox field on the instrument has branching logic, it might mistakenly not display the checkbox in the PDF when it should be displayed. (Ticket #17621)Bug fix: When deleting an event of data for a repeating event on the Record Home Page in a longitudinal project, it would remove the event instance from the Record Home Page, but the event instance would mistakenly still appear in reports and data exports. (Ticket #17859)Bug fix: The bug fix in REDCap 7.3.0 LTS that dealt with the usage of "" and "NaN" in calc fields mistakenly did not get incorporated into the Data Quality rule H and auto-calc implementation of calculated fields (via PHP), but it only got incorporated into the JavaScript-fired calculations on data entry forms, thus causing erroneous results to appear when executing Data Quality rule H for very specific cases where >"" or ="" were used in a calculation. (Ticket #17882)Bug fix: When enabling Twilio telephony services in a project and ensuring that the Request Inspector has been disabled for that Twilio account, it would mistakenly fail and never allow the user to enable Twilio services for that project. This was due to a recent change in Twilio's API methods. (Ticket #18040)Bug fix: When data quality rules have very long logic, they can take up an inordinate amount of the page, making it very difficult to view or execute several at once. (Ticket #17548)Bug fix: When moving a project to production and opting to delete all data, it mistakenly says that it will also delete all data dictionary snapshots, which is not correct. All data dictionary snapshots will be preserved. The text will be corrected. (Ticket #17785)Bug fix: "MySQL over SSL" is now fully supported. In previous versions, it would fail to connect in certain instances, such as if using a self-signed SSL certificate or if using Table-based authentication.Bug fix: When saving data in a hook or plugin using the REDCap::saveData method, if the event name field is not included when saving data for a longitudinal project, then it would appear to save the data to the first event of the record, but the record would not show up in any record lists if the record did not exist beforehand. (Ticket #17881)Bug fix: HTML tags were mistakenly not being interpreted but were being displayed as-is for the institution name and organization name in project, as well as any custom text displayed at the top of the project home page, the top of data entry forms, and the top of Record Home page (Ticket #17912)Bug fix: When executing a custom Data Quality rule containing fields in a project that has repeating events/instruments enabled, in which the fields utilized in the rule's logic are not located on a repeating event/instrument, it might mistakenly return duplicate discrepancies in the results.Bug fix: When using the "Copy" instrument action on the Online Designer, if the first field in the instrument has a section header above it, that section header would mistakenly not get copied into the new instrument.Bug fix: When a longitudinal project has long event names that have non-Latin characters in their name, it may mistakenly throw an error when attempting to create a new project using the project's XML metadata file. (Ticket #17055)Bug fix: When a project with surveys has already sent out survey invitations (excluding public survey links) to participants, and then records were later deleted via the "Erase All Data" option or by deleting all records when moving the project to production, the records' survey links would mistakenly still be active and could be used by the participant (even though the record no longer exists in the project), which would create a new record. (Ticket #17457)Bug fix: When a user is requesting that an administrator move their project to production, the confirmation popup that the user sees mistakenly displays a blank space inside parentheses when it should be displaying the user's email address there. (Ticket #18197)Bug fix: When a user downloads an Instrument Zip file for an instrument on the Online Designer, certain server configurations would result with an error and not export the zip file successfully due to GZIP HTTP compression being enabled by mistake for that particular process. (Ticket #18094)Bug fix: When using the "Time Limit for Survey Completion" feature on a survey, the link icon in the Participant List would mistakenly still be displayed even if the participant's link had already expired.Bug fix: When using the "Time Limit for Survey Completion" feature on a survey, the "Link Expiration" column might mistakenly not appear in the Participant List or the column might not properly display any icons if the time limit for the survey was set using only minutes (i.e., the days and hours text boxes were left blank).Bug fix: When exporting a PDF of an instrument with data, in which data is being piped into text on that instrument and the data contains line breaks/carriage returns, it might mistakenly display a rectangular symbol in the PDF at the beginning of each line of the piped data. (Ticket #17947)Bug fix: On the Logging page in a project, if a user has set the time range filters at the top, and then changes the "Displaying events (by most recent)" option, it would mistakenly reset the time range filters back to blank values. (Ticket #18057)Bug fix: When changing the time of a scheduled survey invitation on the Survey Invitation Log, it would mistakenly not always update the new date/time with the updated time submitted. (Ticket #17791) Abstract survey invitation language – linkBug fix: In a longitudinal project that contains multiple arms, survey participants from another arm might mistakenly be displayed when viewing a survey/event's Participant List that belongs to a different arm. It will now no longer display participants from other arms. (Ticket #18354)Bug fix: When adding a matrix of fields via the Online Designer for an instrument that does not yet have any fields, if the project is in production in Draft Mode, then the new matrix might mistakenly not display at all on the Online Designer or the data entry form until either a new field is added to the instrument or until a data dictionary is uploaded. (Ticket #16871)Bug fix: When the Project Notes text is very long for a given project, the text can sometimes render outside its black box when displayed on the My Projects page. (Ticket #17414)Bug fix: When importing data via Data Import Tool or API for a project that has Data Access Groups, in which the data being imported contains the field redcap_data_access_group, it might mistakenly throw an error stating that the unique DAG name is not valid when it actually is. (Ticket #18087)Bug fix: For certain server configurations, in a longitudinal project with repeating events enabled, it might mistakenly think that some of a record's repeating events have repeating instruments within them (showing a stacked status icon inside a repeating event column), which is not possible. (Ticket #17596)Post-release fix: For REDCap web servers running PHP 5.3, some components of the Repeating Instruments/Events do not work correctly in longitudinal projects. In the setup of repeating instruments/events on the Project Setup page, it would mistakenly display the letter "W" inside the custom label text box if a longitudinal event has been selected as a repeating event. Also, the Record Home Page for a given record would mistakenly display the stack status icon for instruments in a repeating event, which is very confusing, when it should only ever display that icon for a repeating instrument. These issues only arise for longitudinal projects and only when running PHP 5.3.Version 7.3.1 - (released 3/17/2017)BUG FIXES & OTHER CHANGES:Improvement: When creating/editing reports in projects that have repeating instruments, a new option has been added to Step 3 (filtering): "Show data for all repeating instruments for each record returned?". This option is very similar to the "Show data for all events for each record returned" option found when editing reports in longitudinal projects in which it applies record-level filtering as opposed to row-level filtering ("row" referring to the rows in the report table displayed). This new option provides greater precision for controlling filters used on data in repeating instruments. For example, if a filter references a field from a non-repeating instrument, then it might filter out all data from repeating instruments and thus not display them in the report, which could be confusing. But with this option checked, it will return all repeating instances (as separate rows) for any record that matches that filter. In this way, it allows you to apply the filter to non-repeating fields while still including fields from repeating instruments in your report. This was not possible in previous REDCap versions.Change: When deleting a project while in production, if the project contains no records, it will delete the project immediately rather than sending a request to the REDCap Administrator to delete it. In previous versions, an Administrator would have to delete production projects regardless of whether the project contained records or not.Bug fix: Removed all instances of the PHP function set_magic_quotes_runtime() and get_magic_quotes_runtime() because they are deprecated in PHP 7.0 and later. (Ticket #16893)Change: Added a note in the "Compose survey invitation" popup on the data entry form to make users aware that if they manually enter an email address into the "To" field for the survey invitation, it is a one-time use only and that any other invitations sent out at other times will instead go to the email address found in the Participant List for that participant. No functionality has changed regarding this, but some users were not aware of this behavior.Change: When exporting data to Stata, it now uses syntax for newer versions of Stata. This also includes declaring datetimes more properly than in previous versions of REDCap. (Ticket #13531)Bug fix: The API Playground might mistakenly allow the user to make rapid sequentially requests to the server by holding down the up/down arrow on the multi-select fields on the page. Also, for the Import Records method on the API Playground, the "Update" link has been removed, in which the "data" parameter is now updated when the user leaves the Data field instead, because users were not aware that the "Update" link had to be clicked at all, which caused lots of confusion.Bug fix: When exporting data in CDISC ODM (XML) format on the "Data Exports, Reports, and Stats" page, if any "File Upload" fields are included in the data set but they do not have a file uploaded for them, then it would mistakenly output an empty file in the XML file and would cause issues when importing the XML file to a REDCap project.Bug fix: When a project is in Draft Mode while in production, and the first instrument is a survey, and then via the Online Designer the user moves another non-survey instrument into the first form position, it would mistakenly cause all the survey timestamps from the original first instrument to be associated with the instrument that was moved (this will occur only after the drafted changes are approved).Change: For security purposes, the hashing algorithm used for hashing the answer to password recovery questions (for Table-based authentication only) will be updated to a stronger algorithm. This will unfortunately cause all Table-based users to have to set their password recovery question again the next time they log in to REDCap; however, it is anticipated that this will cause very little inconvenience to users.Bug fix: When piping data from a text field that has the biomedical ontology auto-suggest enabled, it would mistakenly pipe in the raw value instead of the label. (Ticket #12705)Bug fix: Cross-form branching logic does not always work successfully on a repeating event. (Ticket #16372)Bug fix: A fatal PHP error might occur when uploading files on some REDCap web server configurations that do not have the PHP function mime_content_type(). It is currently not know why this function would be missing for some configurations.Bug fix: The "Export Records" API method would mistakenly not export the redcap_repeat_instrument and redcap_repeat_instance fields when exporting data from a repeating instrument or repeating event in EAV format.Bug fix: When creating a new REDCap project from a Project XML metadata file, in which the project is not longitudinal but contains repeating instruments, it might not enable the repeating instruments in the newly created project.Change: Normal users are now allowed to enable (or modify) repeating instruments/event in a project while the project is in production. In previous versions, they could only do this while in development.Bug fix: When clicking the "Move" icon for a field in the Online Designer, if some fields in the project have very long Field Labels, then it might cause display issues for the drop-down list of field inside the popup that is displayed because the drop-down is too wide.Change: The Codebook page in a project now requires that a user have Project Setup/Design privileges in order to access it. This was changed to be more consistent with other places where Project Setup/Design privileges are applied.Bug fix: The "Repeatable instruments and events" video on the Training Videos page mistakenly displays the wrong video title inside the popup when viewing the video. (Ticket #16502)Change: For better compatibility with Shibboleth authentication, the format of the Send-It download URL has been reverted to its pre-7.0 format. Note: The current format will also work in 7.3.1 and is backward compatible in case any Send-It files had been sent out just prior to upgrading to this version.Version 7.3.0 - (released 3/10/2017)NEW FEATURES, BUG FIXES, & OTHER CHANGES:New feature: Response Limit for surveys?- Users may set a response limit for any given survey to prevent respondents from starting the survey once a set number of responses have been collected. Note: It can be set so that the response count included either completed responses only or both partial and completed responses. Users may also set custom text to be displayed to respondents on the survey page when the response limit has been reached.New feature: Time Limit for Survey Completion?– Users may set the amount of time (in days, hours, and/or minutes) that each respondent has to complete a given survey based on when they were initially sent the survey invitation. Note: This feature excludes public survey links. When enabled, a new column is displayed on the Participant List where it denotes if a participant’s survey link has expired and also displays the expiration time if you hover over the icon. If the icon is clicked, the user can permanently override the link expiration time by setting it further in the future (to give the respondent more time), or else to expire the link sooner (or even immediately).Improvement:?The survey options at the top of a data entry form now include a new option “Log out + Open suvey”, which will simultaneously open the survey in a new browser tab while logging out the REDCap user in the current tab. This makes it easier for users to log out of their REDCap session in case they walk away from the computer while a participant takes the survey, thus ensuring that the participant is not able to go into the first tab and access the user’s REDCap account and projects.Improvement/change: Better protection against accidentally overwriting survey responses when opening surveys from a data entry form. When clicking the "Open survey" option at the top of a data entry form, it will display a popup on the data entry form to inform the user that it is recommended that they leave the page without saving it in order to avoid overwriting or erasing the survey responses that had been collected in another browser tab on the survey page.Bug fix: REDCap would not be able to make outbound requests properly if the REDCap web server is using a proxy.Bug fix: The use of [field]="" inside the condition of an IF statement for a calculated field does not behave as users would expect, and this often requires users to use [field]="NaN" as an alternative for checking if a field's value is blank/null. Now [field]="" will work as one would expect and will work identically to [field]="NaN".Bug fix: Drop-down fields with autocomplete enabled will mistakenly display little arrows in front of the choice labels in Google Chrome only. (Ticket #15862)Bug fix: After being on any page for more than 3 minutes, it would disable certain jQuery-enabled triggers, such as auto-complete drop-down fields on data entry forms and any custom Bootstrap components. (Ticket #15989, #14863)Bug fix: When upgrading REDCap, if the new REDCap version directory has been uploaded to the web server but the upgrade has not been completed yet, then the REDCap cron job would mistakenly not run until the upgrade has completed. It will now always run when it is supposed to, even in the midst of an upgrade. (Ticket #15991)Bug fix: If running PHP 7.1 or higher on the REDCap web server, the Data Resolution Workflow popup would mistakenly fail to open when a user tries to open it. (Ticket #16040)Bug fix: If doing a user search using "all user attributes" on the Browser Users page in the Control Center, it would mistakenly always return every user in the system. (Ticket #16026)Change: Added "language" option for users submitting an instrument to the REDCap Shared Library so that they can specify the language of their instrument's text. Note: Instruments in the Shared Library are now searchable by language.Bug fix: The "email" field validation would mistakenly not accept email addresses containing accent marks and other valid UTF-8 characters. (Ticket #15874)Bug fix: When downloading PDFs containing record data, it would sometimes mistakenly display duplicate pages for an instrument for longitudinal projects only. (Ticket #12797, #14945)Bug fix: When viewing the Survey Invitation Log, for certain situations, some invitations might mistakenly not be displayed on the page.Bug fix: When editing an existing report that uses advanced logic in Step 3, if a user clicks the "Switch format: Use simple logic" link, the drop-down list of fields in that section would mistakenly not be displayed, thus making it impossible set set a filter unless the user reloads the page.Bug fix: When setting up an Automated Survey Invitation and using conditional logic, if a record is selected in the "test logic with a record" option *and* the project is in production, then it might mistakenly return "[No value]" rather than True or False regarding whether the condition is true/false for a given record.Bug fix: The field name auto-suggest feature for branching logic, calculations, ASIs, etc., would mistakenly suggest checkboxes in the wrong format (i.e., without parentheses with a value inside them). It now suggests checkboxes in the correct syntax. (Ticket #15510)Bug fix: On the Randomization page in a project, the drop-down lists of fields might be too wide for the page. (Ticket #16559)Change: The cell borders where added back to the report table, Record Home Page table, and Record Status Dashboard table for better readability of the table contents.Bug fix: The "Print Page" button on reports would cause the report to not look correctly in the print preview if the report table was too wide or too tall to fit on the page.Bug fix: The Record Home Page's table might have its rows/column misaligned if the table is too wide or too tall. (Ticket #16150)Bug fix: When clicking the "Show Stats Only" button on the "Stats & Charts" page, it might mistakenly still show the "Download Image" button if all the field plots have not fully loaded yet on the page. (Ticket #6534)Version 7.2.2 - (released 2/23/2017)BUG FIXES & OTHER CHANGES:Minor security fixes: Cross-site scripting vulnerabilities and SQL injection vulnerabilities were found on several different pages, in which the vulnerabilities could possibly be exploited by a malicious user.Bug fix: Many improvements regarding the rendering of tables for reports, Record Status Dashboard, and Record Home Page due to floating headers/columns not lining up correctly.Bug fix: A few PHP files contained \r (CR) characters without \n (LF) characters immediately following them, which caused issues when uploading the REDCap source code to certain web servers.Bug fix: When using Send-It to send a file from a data export, a File Repository file, or from a File Upload field, it would result in an error when the user would click the "Send It!" button. (Ticket #12747)Bug fix: When clicking the "Lock all instruments across all events" option on the Record Home Page, it would mistakenly only lock instruments for events that contain data. This mistakenly changed in a previous version and is now set back to the way it was originally where it would lock all forms across all designated events regardless of whether there is data in the form or in the event.Bug fix: If running PHP 7.1 or higher on the REDCap web server, any API import method with content in XML format would fail. (Ticket #15764)Bug fix: When doing a CSV Raw data export while exporting the survey fields, the header text for "Survey Timestamp" would mistakenly be blank. (Ticket #14316)Bug fix: If running PHP 7.1 or higher on the REDCap web server, any Data Quality rule would fail when executed. (Ticket #15582)Bug fix: The font resize option at the top of surveys mistakenly does not increase/decrease all text uniformly on the page. (Ticket #15749)Bug fix: If running PHP 7.1 or higher on the REDCap web server, the biomedical ontology auto-suggest feature for Text fields would always return nothing from the search.Bug fix: When creating or editing a report and adding a new field in Step 2, if the user hits the Enter key while in the text field when the text field is empty, it would mistakenly display the "List of users with access" popup.Version 7.2.1 - (released 2/16/2017)BUG FIXES & OTHER CHANGES:Major bug fix:?If a user's Data Export permissions are "De-Identified" or "Remove all tagged Identifier fields" when they are using the Export Records API method, in which they specify a list of fields (or forms) by variable name (or form name) in their API request, then if every one of those specified fields are also fields that would normally get removed due to their export privileges, then it would mistakenly return data for all the fields in the project. (Ticket #15003)Medium security fix:?A malicious user or survey respondent could uploaded a specially designed file for a File Upload field on a survey or data entry form, and then exploit it by getting a REDCap Administrator to then navigate to a specially crafted link, which might allow them to escalate certain Administrator privileges and take advantage of them, even capturing their login information.Minor security fixes:?Several cross-site scripting vulnerabilities were found on various pages, such as the User Rights and Project Setup pages, in which the vulnerability could possibly be exploited by a malicious user.Improvement: If an individual project has been set as "offline" on the "Edit a Project's Settings" page in the Control Center, it will note this in red letters on the My Projects page or Browse Projects page for the project.Bug fix: The record status dashboard and report tables would not always have their rows aligned correctly, and some table columns might be missing a border. (Ticket #15055)Bug fix: If viewing a report and viewing the "ALL" option for paging in order to view all pages of the report, then if the user clicked the table header to sort the table, it would mistakenly display the page-sorting note that should only be displayed when viewing a single page of the report.Bug fix: Enhanced radio buttons on surveys were not vertically aligned correctly but mistakenly had extra padding above them. (Ticket #14996)Bug fix: For certain MySQL installations, it would always keep displaying the "Your REDCap database structure is incorrect" error message in the Control Center, even though there was not an issue. Bug emerged in REDCap 7.2.0. (Ticket #15069)Bug fix: When viewing a data entry form of a repeating instrument that is also enabled as a survey, the survey options drop-down at the top of the form will mistakenly be disabled if the instance number is greater than "1" and the form has not the form saved yet. (Ticket #14629)Bug fix: When viewing a data entry form of a repeating instrument that is also enabled as a survey, and the user chooses to compose a survey invitation using the survey options drop-down at the top of the form, it would mistakenly always send the survey link pointing to the first instance of the survey rather than to the correct instance number. (Ticket #14629)Bug fix: When a repeating instrument is also enabled as a survey with the repeat survey button option set to be "Before the submit button in the survey", if any required fields on the survey were left blank and the repeat survey button was clicked, it would mistakenly not prompt the respondent to enter the required fields that were left blank and would mark the survey as completed. (Ticket #14092)Bug fix: When using the Twilio telephony services for surveys, in certain cases it would not always erase the logs on the Twilio website of SMS messages sent via REDCap. It now does a much more comprehensive job of deleting SMS messages than before. (Ticket #11167, #13676)Bug fix: The "E-Signature and Locking Management" page would mistakenly display instruments that have locking capabilities disabled as set on the "Record Locking Customization" page. (Ticket #15020)Bug fix: The drop-down Topic list on the "Help & FAQ" page was not scrollable, which made it impossible to view the bottom items of the list if your browser window was not very tall.Bug fix: When executing a user-defined Data Quality rule in a longitudinal project, it might mistakenly return duplicate results for any discrepancy found.Bug fix: When using the REDCap Mobile App, it was mistakenly not logging the REDCap user in the mobile app specific logs on the different tabs in the REDCap Mobile App page in a project. Bug emerged in REDCap 7.1.0.Bug fix: If a user has been given "De-Identified" data export privileges in a project that contains surveys, then when exporting data from the "Data Exports, Reports, and Stats" page, it should automatically pre-select the checkbox to force date-shifting the survey completion timestamp fields because survey timestamps can be considered identifiers (PHI) in many cases. (Ticket #15145)Bug fix: When the Dynamic Data Pull (DDP) module is enabled in a project, it might mistakenly display duplicate values for a field inside the DDP adjudication popup. This usually occurs when a single source field is mapped to many different REDCap fields in the project. Additionally, if a user chooses not to select any fields in the adjudication popup but wants to mark them all as having been adjudicated, then it would never cause the number of items left to be reduced after clicking the Save button, thus always showing that X items are left to adjudicate.Bug fix: If users use "!=" instead of "<>" in a calculated field's equation, it would not always evaluate the calculation correctly when viewing the form or survey where the calc field is located. (Ticket #15339)Bug fix: Horizontally-aligned slider fields would mistakenly display as vertical on mobile devices only. (Ticket #15390)Bug fix: HTML tags places inside the rule name of a Data Quality rule would get escaped and be viewable as-is rather than interpreted as HTML.Bug fix: If a Custom Record Status Dashboard is sorted in descending order by the record ID field, then even though record auto-numbering is enabled in the project, it would mistakenly sort the record names as text rather than sorting them using a numerical sort. (Ticket #15303)Bug fix: If running specific versions of PHP on the REDCap web server, the Field Comment Log popup would crash and never display the popup. (Ticket #15333)Bug fix: Some text was missing when describing the Duo two-factor authentication option in the Control Center.Bug fix: When attaching a YouTube video to a Descriptive field on a survey or data entry form, at the end of the video it would mistakenly display other recommended videos (added automatically at the end by YouTube). It has now been set to never do that.Change: A count of the number of users is now displayed at the top of the user list table on the Project Home page.Version 7.2.0 - (released 2/9/2017)NEW FEATURES & IMPROVEMENTS:New feature:?Custom Record Status DashboardsUsers can build and save custom versions of the Record Status Dashboard to customize the dashboard to their liking.Custom dashboards have many configuration options. Users can give each dashboard a title and a description/instructions, and can choose the instruments to include or exclude in the dashboard's display. Similar to building reports in REDCap, Custom Record Status Dashboards allow users to sort the records in the dashboard by another field's value, and one can set filter logic to filter the records displayed in the dashboard to a specific subset of the total records (e.g. [age] > 30 and [diabetes] = "1"). There are aesthetic controls as well, such as being able to display the dashboard headers vertically, which will transpose them 90 degrees for a more compact display on the page.Only users with Project Setup/Design privileges may create custom dashboards. Once a custom dashboard has been created, it will be viewable and usable by all users in the project. Users may create as many custom dashboards as they like in a project. To create a custom dashboard, navigate to the Record Status Dashboard in a project, and click the blue "Create custom dashboard" button to get started.New feature:?Text searching and ordering on reports?– Users now have a search box displayed at the top of every report where they can type text to search the report, in which it will only show the rows in the currently viewed report that match the search string that is typed. Additionally, any column in a report can have its column header clicked to sort the table according to the values in that column (in ascending or descending order).BUG FIXES & OTHER CHANGES:Medium security fixes:?Several cross-site scripting vulnerabilities were found on various pages, in which they could possibly be exploited by a malicious user.Change: The DataTables plugin for jQuery is now included in REDCap by default, so any plugins that display REDCap’s page header/footer will automatically have the DataTables JavaScript and CSS loaded in the plugin.Improvement: For longitudinal projects containing multiple arms, the Record Status Dashboard now displays each arm separately in a tabbed interface rather than trying to fit all arms in a single table, which typically is not the best way to view multiple arms of records.Improvement: Checkbox fields on reports are now displayed better with their field label spanning all the choices as a row above all the choices and displaying just the choice text and variable in the individual choice column headers on the second row of the header. This groups the checkbox options together much better and is much more intuitive to read and interpret.Improvement: The Group ID number for each Data Access Group (DAG) is now displayed in the DAG table on the Data Access Groups page in a project. The Group ID number is the number that is automatically generated by REDCap and is automatically prepended with a dash/hyphen to the record name when a user assigned to a DAG is creating a new record. The Group ID number is now displayed in the table on the page so that users are aware of what each DAG's Group ID number is.Minor security fix: A cross-site scripting vulnerability was found on the Project Setup page, which could possibly be exploited by a malicious user.Minor security fix: An SQL injection vulnerability was found on the Control Center's Browse Users page, which could possibly be exploited by a malicious user that has compromised an administrator's account.Change: Question numbers displayed on surveys are now displayed as right-aligned, whereas in previous versions they were left-aligned. This is to reduce the gap between the question number and the question text for a more readable and intuitive display.Bug fix: When making a call to the Import Metadata API method, it would mistakenly always return "18" as the response rather than returning the number of fields that were actually imported.Bug fix: When creating a Project Bookmark in a project and using the Link Type="REDCap Project", the project list would mistakenly include deleted projects. (Ticket #13855)Bug fix: When choosing the "Lock all instruments" option from the record action drop-down on the Record Home Page of a given record, in longitudinal projects it would mistakenly lock instruments on events that do not contain data. Bug emerged in REDCap 7.0.0.Bug fix: After choosing the "Lock all instruments" option from the record action drop-down on the Record Home Page of a given record, it would mistakenly not display the lock icon on that page for instruments with a gray status icon (it should always display the lock icon for all instruments on all events containing data). Bug emerged in REDCap 7.0.0.Bug fix: If the Double Data Entry module is enabled in a project, and a user clicks one of the "Compare" buttons at the top of the Data Comparison Tool page immediately after merging a record, it will mistakenly save some values in the back-end database table, thus mistakenly creating an additional new record that has no relation to the other existing records. (Ticket #13394)Bug fix: If a user leaves a required field blank on a repeating instrument or repeating event, it will reload the data entry form to display the error message, but will mistakenly load the first instance of the form/event rather than the correct instance being saved. (Ticket #14099)Bug fix: The input fields inside the "Enable reminders" box in the Compose Invitations dialog on the Participant List page were too small to read.Bug fix: IF running PHP 7.X on the web server, then the API Playgound page might crash on specific occasions with a fatal PHP error when attempting to view the code produced at the bottom of the page for various programming languages.Bug fix: If scheduling a survey invitation via the Compose Survey Invitations popup on the Participant List page and setting a reminder to "send at exact date/time", then the reminder would mistakenly send immediately rather than at the time defined. (Ticket #14314)Bug fix: When deleting a record on the Record Home page when the record name contains a space, the message displayed after successfully deleting the record would mistakenly have a "%20" in place of the space in the record name displayed.Bug fix: When using the Dynamic Data Pull (DDP) module and mapping fields with composite mapping (i.e., many-to-many mapping), it might mistakenly not save those mappings correctly, which might prevent data from being pulled into them correctly from the source system and would also cause issues displaying the mapping page correctly afterward.Bug fix: The record count on the System Statistics page in the Control Center might mistakenly be slightly higher than the actual count.Bug fix: When using Send-It to send a file from a File Upload field, from a data export, or from the File Repository, it would mistakenly display the "Select a file" option to upload a new file when it should instead display the filename of the file.Bug fix: When a calculated field is located on a repeating instrument, it may mistakenly not show up in Data Quality rule H as a discrepancy when there is a discrepancy between the saved value and the true calculated value.Bug fix: When the record ID field is located on a repeating instrument, it may mistakenly cause discrepancies to show up as duplicates in Data Quality rule H.Bug fix: When executing Data Quality rule F, it would mistakenly return discrepancies for checkbox fields that were hidden by branching logic but had all their choices unselected. (Ticket #13555)Bug fix: When calling the API Delete Records method, it was mistakenly checking the wrong user permissions. It should have been checking to require that the user has API Import/Update permissions and Record Delete permissions. (Ticket #14328)Bug fix: When a project is in production but not in draft mode, it would mistakenly display the "Download Data Dictionary with drafted changes" link on the Project Setup page. It should only display that link when the project is in draft mode. (Ticket #14851)Bug fix: When viewing a data entry form or survey page using a recent version of Android, depending on the device, the backspace button may get inadvertently disabled on the device's keypad for integer-validated text fields only, thus preventing users from removing an integer that was entered into a field. The fix for this has a downside, which is that integer-validated text fields will now no longer display just the device's keypad on Android devices but will instead display the full alphabetic keyboard.Bug fix: The REDCap Language File Creator/Updater would create corrupted language files to be used for translation due to presence of the HTML character code " in certain string of language text in the English.ini file. (Ticket #14843)Bug fix: When using the To-Do List in the Control Center and clicking the info button on the right for a given item in the list, some of the text revealed in the box would not be completely viewable. (Ticket #14368)Bug fix: When copying a data collection instrument via the Online Designer's "choose action" button, if a field on the instrument has a new resulting variable name that is longer than 100 characters, then it would result in an error and prevent the user from copying the instrument. (Ticket #14770)Bug fix: When users are not allowed to copy projects on their own but must request administrators to do so for them, if an administrator processes a "copy project" request via the link sent in the email (rather than directly via the To-Do List in the Control Center), then the request item will mistakenly not get marked as "completed" on the To-Do List page. (Ticket #14891)Bug fix: If a user is typing branching logic or a calculation into a text field where it provides the variable auto-suggest feature and logic validation in real time, then in some cases if the user does this a lot in a short amount of time, it might mistakenly ban the user's IP address and lock them temporarily out of REDCap. (Ticket #14405)Bug fix: If scheduling a survey invitation via the Compose Survey Invitation popup on a data entry form and setting a reminder to "send at exact date/time", then the reminder would mistakenly send immediately rather than at the time defined.Bug fix: When uploading an attachment file onto a Descriptive field in the Online Designer, if the file's filename link is clicked to re-download the file inside the Edit Field popup, it would mistakenly display an error.Bug fix: After creating a custom link for a public survey link, it would mistakenly not provide a way for users to remove the custom link (i.e., the red X was not being displayed) on the Public Survey Link page.Bug fix: When importing data in EAV format using the Import Records API method for classic (non-longitudinal) projects only, it might mistakenly not update the value of fields that already have data and instead simply add the new value to the back-end database, leaving the field with more than one value stored.Bug fix: If a multi-page survey has some pages that might get completely skipped because all fields on the page have branching logic, then if the survey instrument is also enabled to be a Repeating Instrument in the project, then it would mistakenly fail to skip the page when branching logic dictates that it should be skipped. (Ticket #13764)Version 7.1.2 - (released 1/20/2017)BUG FIXES & OTHER CHANGES:New module: Find Calculation Errors in Projects - This new page in the Control Center allows administrators to determine if any projects in the entire REDCap system contain calculation errors. It is possible in certain cases that the data saved for calculated fields in projects might not be accurate. This might be due to a user modifying a calc field's equation after data collection has begun, or perhaps due to software bugs that may have occurred in REDCap in the past that affected calculations. This new module will not fix any incorrect calculations in projects, but it will identify projects with issues so that the administrator or a user in the project can go to the Data Quality module in the project and run Rule H, which will help fix any calculation errors.Bug fix: When using the Save & Return Later feature on a survey that is enabled as a Repeating Survey (via Repeating Instrument feature), it would mistakenly ask for the Return Code (or ask for the respondent to log in if Survey Login is enabled) on the repeated instances of the survey after the first one has been entered. (Ticket #13240)Bug fix: When a user's password has been reset and they are emailed a link to reset their password, on certain random occasions when the click the link in their email, it will fail to begin the password reset process and will also mistakenly display an "Access Denied" message stating that the user is now locked out of REDCap temporarily for X minutes. (Ticket #7457, #11260, #1710, #13109)Bug fix: If a user on a data entry form leaves spaces before or after a value entered in a text field, the prompt that asks them if they want the spaces trimmed mistakenly gets displayed in the wrong vertical position on the webpage in certain cases. (Ticket #13486)Bug fix: If a project has repeating instruments that are enabled as surveys, and a user clicks the "Delete data for THIS FORM only" button at the bottom of a data entry form, then it would mistakenly not remove that instance of the instrument from the Participant List.Bug fix: If a project has repeating instruments that are enabled as surveys, and a Custom Label has been set for the repeating instrument, then it would mistakenly not display the custom label for Instance #1 in the Participant List.Bug fix: If a project has repeating instruments that are enabled as surveys, and a Custom Label has been set for the repeating instrument, then it would mistakenly not display the custom label for Instance #1 in a record's Survey Queue.Bug fix: If a project has repeating instruments that are enabled as surveys, then on certain occasions in longitudinal projects, it might mistakenly only display the first instance of the survey in a record's Survey Queue.Bug fix: Data Quality rule F would mistakenly return discrepancies for visible fields with branching logic and have data saved for them rather than only fields that are currently hidden. (Ticket #13555)Bug fix: If a field is given the variable name "length", then the "Reset" link will not work for the field if it is a radio or slider field. Also, a slider field with that variable name will not get enabled when initially clicked by the user. (Ticket #13595)Bug fix: If using a custom message to display to users when creating/copying a project, then if a user goes to copy a project, it will mistakenly bypass the custom message prompt and copy the project regardless. (Ticket #13674)Bug fix: If the randomization module is enabled on a longitudinal project with multiple arms, in which a record exists on multiple arms (one of which is the arm that contains the randomization field), then if the record is deleted from the non-randomization arm, then its randomization allocation would mistakenly get removed from the randomization arm. This means that the record's allocation would get removed mistakenly as if it were never randomized and thus allow another record to mistakenly take its allocation later. (Ticket #13278)Change: When viewing a report that displays data from a repeating instrument or event, it will now gray out the cell of the redcap_repeat_instrument and redcap_repeat_instance columns for the base instance row of a record (i.e., where the redcap_repeat_instance field has a blank value), thus denoting that that field is not relevant for that row of data (since the row is displaying non-repeating data only).Version 7.1.1 - (released 1/13/2017)BUG FIXES & OTHER CHANGES:Improvement: When opening the Field Comment Log, it now places the user's cursor inside the text box automatically as a convenience to the user.Improvement: When a user is on a data entry form or survey and hovers over the choice label of a radio button field, the cursor changes to the "hand" cursor to indicate that they can click on the label to select the choice rather than thinking they have to click the radio element itself.Minor security fix: A cross-site scripting vulnerability was found on the Data Import Tool page, which could possibly be exploited by a malicious user. (Ticket #13193)Change: Action Tags are now listed alphabetically by name in the "What are Action Tags?" popup on the Online Designer.Change: For plugin/hook developers, the background color of the Bootstrap CSS class "btn-default" was being overridden (on purpose) in all versions of REDCap 7.X, and this caused some issues for plugins/hooks that utilized that button class because it was the same color as when the button is active. This change has been reverted so as not to conflict with the Bootstrap btn-default class, and now REDCap uses a CSS class named "btn-defaultrc" instead for general default-style buttons.Bug fix: When viewing the Stats & Charts page in a project, clicking the "Show Stats Only" button would cause the "Download image" button to sometimes obscure the stats table for the field. (Ticket #6534)Bug fix: The wrong text is displayed at the top of the My Projects page right before the User Access Dashboard link. Bug emerged in version 7.1.0.Bug fix: When exporting a PDF of data when the "Character encoding for exported files" has been set to "Chinese (UTF-8)", then it will result in a fatal PHP error if the REDCap web server is running PHP 5.4.0 or higher. (Ticket #13334)Bug fix: If text containing HTML comments (e.g., <!--...-->) is added to a field label, survey instructions, or other text that appears on surveys and data entry forms, it might mistakenly prevent the full rendering of the page and might make it impossible to enter and save data successfully. (Ticket #13214) Bug fix: If text containing HTML comments (e.g., <!--...-->) is added to a field label, survey instructions, or other text that appears on surveys and data entry forms, it might mistakenly prevent the full rendering of the page and might make it impossible to enter and save data successfully. (Ticket #13214) Bug fix: If text containing HTML comments (e.g., <!--...-->) is added to a field label, survey instructions, or other text that appears on surveys and data entry forms, it might mistakenly prevent the full rendering of the page and might make it impossible to enter and save data successfully. (Ticket #13214) Bug fix: If text containing HTML comments (e.g., <!--...-->) is added to a field label, survey instructions, or other text that appears on surveys and data entry forms, it might mistakenly prevent the full rendering of the page and might make it impossible to enter and save data successfully. (Ticket #13214)Bug fix: When a survey Stop Action has been enabled for a drop-down field that has the auto-complete option enabled, then if the Stop Action is triggered after selecting a choice, the value of that field would mistakenly not get saved. It would still save all other field data on the survey, but it would not save the value of the field triggering the Stop Action. This would not affect all drop-down fields but only those with the auto-complete option enabled.Bug fix: When merging two records in a Double Data Entry project, slider fields would mistakenly not have a way to enter a new value in the third column of the merging table, thus making it impossible to set a value other than those from the two records being merged. For sliders on that page, it now displays an integer-validated text field with 0-100 range limit as a slider substitute since creating an actual slider on the page is a bit complex due to certain technical dependencies. (Ticket #13196)Version 7.1.0 - (released 1/6/2017)BUG FIXES & OTHER CHANGES:New feature: Better device management for the REDCap Mobile App?– The Mobile App page in a project now contains better methods for keeping track of the activity of the mobile app used on many devices at a time for a single project.Each device that has initialized the project in the mobile app will be displayed in a device list on the page. It will initially display the device’s UUID, but each can be given their own nickname (e.g., Kenya tablet, Rob’s iPhone). The nickname will be displayed on the Mobile App page’s activity tables, dashboard, and file download tables so that users may track which device is doing what.Each device can be blocked, if needed, without having to revoke the API token for many (or all) of your devices. Blocking behaves similar to revoking a user’s API token except it allows you to do it on a per-device basis. You might want to block a device if it were stolen, for instance. This helps protect your data from being corrupted or from falling into the wrong hands.The mobile app log files can now be viewed on the Mobile App page without having to download them to view them.Medium security fix:?Cross-site scripting and SQL Injection vulnerabilities were found on several pages, which could possibly be exploited by a malicious user.Major bug fix:?Calculation errors may (in specific situations) occur on surveys or data entry forms if a calculation uses a number-validated or integer-validated field in its equation, in which the result might mistakenly get calculated as "0" instead of leaving the calc field as blank. This might also cause the "Erase value" prompt to appear on data entry forms as well.Major bug fix:?In specific situations, Data Quality rule H and auto-calculations may differ from the calculation performed on surveys or data entry forms if a calculation uses any of the advanced functions where many values can be used as parameters (e.g., min, max, mean, sum, stdev). The discrepancy occurs in Rule H and auto-calculations when all the values referenced inside the function have a blank/null value. (Ticket #12771)Bug fix: If the equation of a calc field contains a tab character, it will display an error on the survey or data entry form where the calc field is located.Change: The OpenSSL extension for PHP is now required for REDCap 7.1.0 and later versions. Previous versions of REDCap used the Mcrypt extension, which is currently deprecated in PHP 7.1 and will be removed in PHP 7.2. Mcrypt is currently used in REDCap for minor encryption routines and also for encrypting and storing DDP data values (from the DDP source system), so OpenSSL will be used to replace Mcrypt for typical encryption functionality in REDCap.Bug fix: The cached count of records in a project (displayed on the My Projects page) would mistakenly not get reset when clicking the Erase All Data button on the Other Functionality page or when deleting all records while moving the project to production status.Bug fix: When copying a project containing surveys using the "Copy the project" button on the Other Functionality page, it would mistakenly not copy over the Enhanced Choices option (if enabled) or the Repeating Survey options (if the Repeating Instruments functionality is enabled) from the Survey Settings page for each survey.Bug fix: For projects with Repeating Instruments enabled that are also enabled as surveys with the Repeating Survey option enabled, if the Survey Queue is also enabled, then there is the possibility that only the first instance of a repeating survey will display in the Survey Queue instead of all the saved instances.Bug fix: When creating a new project whose purpose is set to "Research", the text box for entering the project PI's middle initial is not wide enough. (Ticket #12786)Bug fix: If the Data Resolution Workflow is enabled in a project and a user is viewing the dialog/popup of data query actions and logged data, on certain occasions it might mistakenly not display all the items in correct chronological order. (Ticket #12825)Change: The text describing the Project Notes field when creating a new project was modified slightly to inform the user that the notes are displayed on the My Projects page, which was not explained in prior versions. (Ticket #12843)Bug fix: When upgrading REDCap, if the version directory has been placed on the REDCap web server and the administrator is on the REDCap Upgrade page, the link on that page to the Language File Creator/Updater page would mistakenly redirect them to the REDCap Home page instead of the correct page.Bug fix: When opening a To-Do List request in the popup dialog on the To-Do List page in the Control Center, the top of the popup would be mistakenly hidden underneath the top navigation bar, thus making it impossible to close the popup.Bug fix: When editing a report and changing the field/variable used for a filter in Step 3, in which the filter field being modified is not the last filter in the report, then it would display a new filter field at the bottom with an incorrect filter number value (e.g., displays "Filter 3" for the last filter when it should say "Filter 8" instead). (Ticket #12766)Bug fix: In the API documentation for the API method "Export Project XML", the paragraph of text for the "exportFiles" parameter was displaying the wrong text. (Ticket #12974)Bug fix: When attempting to send a signature file or uploaded file via Send-It from a data entry form, it would display an erroneous error message when the file is sent, thus preventing it from being sent. (Ticket #12747)Version 7.0.1 - (released 12/28/2016)BUG FIXES & OTHER CHANGES:Improvement:?A new auto-approve option was added to the "Allow production Draft Mode changes to be approved automatically under certain conditions?" setting on the User Settings page in the Control Center. It now has an optional checkbox below the drop-down list of auto-approve settings, in which it states "And also ONLY IF no new fields have labels or variables with matching keywords from the 'Check For Identifiers' page". When checked, regardless of the choice selected in the auto-approve drop-down list, if any variable name or field label from a *new field* matches a keyword from the "Check For Identifiers" page, then it will force an Administrator to review the drafted changes. This option allows certain institutions to keep better track of projects that might be making production changes and want to be vigilant about the use of identifiers/PHI being collected.Improvement:?When displaying a count of each project's records on the My Projects page and on the Browse Projects page (in the Control Center), it now uses a cached count of the records in the project (if available) rather than calculating the number of records on the fly each time. This improves database server performance by making so many expensive queries to the database.Change: The Data Quality module now uses a bit less server memory when executing Rule A-H.Change: Added new project template to showcase the Repeating Instruments functionality.Bug fix: When viewing the Survey Queue while taking a survey (by clicking the Survey Queue link at the top right of a survey page), if the respondent then clicks the "Get link to my survey queue" button, it will display a dialog that is impossible to see because it is mistakenly displayed underneath the Survey Queue dialog that opened it.Bug fix: On the Project Bookmarks setup page, the user list and DAG list might mistakenly overlap the page footer if the lists are long. (Ticket #12526)Bug fix: On the View Projects page in the Control Center, if the "Show archived projects" link is clicked before a user is chosen or before clicking the "View all projects" button, it loads a non-existent page with a 404 error. (Ticket #12641)Bug fix: If running MySQL 5.7 as the database server and upgrading REDCap from a pre-6.5.0 version of REDCap, you might receive an error during the upgrade process regarding the default value of a date in the database table redcap_history_size and/or redcap_history_version (Ticket #12648).Bug fix: Misspelling of "javascript" as "javacript" in the "href" attribute of HTML tags on a couple pages. (Ticket #12683)Bug fix: When loading the dialog to edit/add repeatable instruments/events on the Project Setup page of a longitudinal project, if any custom labels had been defined for repeating instruments on an event that is not the first event in the project, then the custom labels would mistakenly not be re-displayed in the dialog and thus would be lost if the user pressed Save. (Ticket #12703)Bug fix: For a project with Repeating Events enabled, if the user is on the Record Status Dashboard and clicks a stack icon (denoting multiple instances of an event having been saved), it will mistakenly not display a floating list of instances to click on if Repeating Instruments functionality has not been enabled in the project along with Repeating Events. (Ticket #12709)Version 7.0.0 - (released 12/22/2016)NEW FEATURES & IMPROVEMENTS:New feature: Repeating Instruments and EventsREDCap has the ability to repeat a data collection instrument or an entire event of instruments an unlimited number of times without having to specify the amount needed. This is sometimes called one-to-many data collection, in which a project can have one or more repeating parts. The repeating instruments/events feature can be enabled and set up by clicking the Enable button in the Optional Modules section on the Project Setup page.Enabling Surveys for Repeating Instruments: If one wishes to allow survey respondents to enter their responses in a repeating fashion in survey mode alone, one must enable an optional setting near the bottom of the Survey Settings page (in the survey termination options section) *after* an instrument has been set as a repeating instrument. So it is one additional step to do after enabling the instrument itself as a repeating instrument. When the repeat survey setting is enabled, it will display a button at the end of the survey so that the respondent can choose to enter another response for the survey, thus essentially allowing them to take the survey multiple times in a row. In this way, they will be able to enter as many responses for that same survey as they need.Reports and Data Exports with Repeating Instruments and Events: If one creates a report that contains data from a repeating instrument or repeating event, a field named 'redcap_repeat_instance' will be included that represents the instance number, which is an auto-numbered value (starting with '1') that gets incremented each time the instrument/event is repeated. And if the report contains data specifically from a repeating instrument (as opposed to a repeating event), then a field named 'redcap_repeat_instrument' will additionally be included that represents the instrument name that denotes to which instrument the row of data belongs. These two fields will only be included automatically in the report or data export if data originates from a repeating instrument or event. Note: Each repeated instance of an instrument or event will be displayed as a new row in the report or export file.While repeating instruments/events are fully supported when using Double Data Entry with regard to data entry workflow, please see the following notice for the Data Comparison Tool: “The Data Comparison Tool does not *fully* support the Repeating Instruments and Events feature, which appears to be enabled in this project. Data can be compared (and even merged if using Double Data Entry), but it will only allow comparison and merging of Instance #1 of a repeating instrument or repeating event. Thus all other repeating data will be ignored on this page. Also, all non-repeating data can still be compared and merged.”Improvement: New interface for Home/My Projects/Control Center pages.Improvement: New font “Open Sans” is available to use for the font on surveys.Improvement: The Project Revision History page is now much faster to load for production projects.Improvement: The results displayed from executed rules on the Data Quality page now display the field label above the variable name and value. This provides better context for users who might not know the variable names.Improvement: Execution of Data Quality rules should now be less intensive on the database server, especially when running them on larger data sets.Improvement: A PDF of record data for all instruments/events for a given record can now be downloaded from the "Choose action for record" drop-down on the Record Home Page if the user has Data Export privileges.Improvement: A zip file containing all uploaded documents (or signature files) for an individual record can now be downloaded from the "Choose action for record" drop-down on the Record Home Page if the user has Data Export privileges.Improvement: File Upload fields that are displayed on reports will no longer display the text "[document]", but will instead provide a "Download" button so that the user can actually download the file from the report.Improvement: When the user clicks the "Save & Stay" button (formerly the "Save and Continue button) on a data entry form, it now says "Record XXXX was successfully edited" at the top of the page to denote that the form was saved.Improvement/change: Assigning a record to a Data Access Group (or unassigning/reassigning a record) is now performed on the Record Home page using the "Choose action for record" drop-down list rather than on the data entry form. The only exception for this is when a record is being created on a data entry form (when the record does not yet exist), in which it will allow the user to set the Data Access Group using the drop-down list at the top right of the form. This is so a record can be assigned to a DAG at the moment of its creation.Improvement: For records that have been assigned to a Data Access Group, it will now display their Data Access Group assignment under the recod name on the Record Home Page.BUG FIXES & OTHER CHANGES:Medium security fix:?A cross-site scripting vulnerability was found that could possibly be exploited by a malicious user who knows how to craft a specific string of JavaScript code to render an iframe on a project page.Major bug fix:?If importing data using the Dynamic Data Pull (DDP) in which some values on the adjudication screen are unchecked (so that they do not get imported), then it would mistakenly import those values anyway when the Save button is clicked. (Bug emerged in version 6.18.1.)Bug fix: If a user in a project had been set to receive Survey Notifications when someone completed a survey, and then the user was removed from the project, then the user would mistakenly still show up in the list of users in the Survey Notifications popup in the Online Designer, even though the user is not selectable there.Improvement/change: The $repeat_instance parameter was added to the two plugin/hook methods REDCap::getSurveyReturnCode and REDCap::getSurveyLink. The parameter is to be used only for projects with repeating instruments/events, in which it is the repeat instance number of the repeating event (if longitudinal) or the repeating instrument (if classic or longitudinal).Improvement/change: The $repeat_instance parameter was added to the two API methods "Export a Survey Return Code" and "Export a Survey Link". The parameter is to be used only for projects with repeating instruments/events, in which it is the repeat instance number of the repeating event (if longitudinal) or the repeating instrument (if classic or longitudinal).Improvement/change: The $repeat_instance parameter was added to the three API methods "Export a File", "Import a File", and "Delete a File". The parameter is to be used only for projects with repeating instruments/events, in which it is the repeat instance number of the repeating event (if longitudinal) or the repeating instrument (if classic or longitudinal).Minor security fix: A few cross-site scripting vulnerabilities were found on different pages in REDCap, in which they could possibly be exploited by a malicious user who knows how to craft a specific string of JavaScript code.Minor security fix: A vulnerable version of Shockwave Flash was used on the Public Survey Link page in projects utilizing surveys. All Shockwave Flash modules have been removed, and have been replaced with a JavaScript equivalent.Change: Minimum PHP version for REDCap 7.0.0 and later is PHP 5.3Change: REDCap’s base font is now Open Sans, and is slightly bigger in size, providing better readability. In previous versions, the base font was Arial. Note: Any plugins or hooks that don’t have their own specific stylesheets that set the font-family of their content will be affected by this.Change: Renaming a record is now performed on the Record Home page using the "Choose action for record" drop-down list rather than on the first data entry form.Change: The location of the “Design your data collection instruments” step and “Define your events” step (longitudinal projects only) on the Project Setup page will now remain in the same location on the page when in production status as they did when in development status. In previous versions, these two steps were moved to the bottom of the page. This change is to provide more consistency for where things are located during the entire development of a project.Bug fix: On the "Stats & Charts" page of a report, it would mistakenly display a negative number for the Missing count of each field for longitudinal projects only. (Ticket #11124)Bug fix: When clicking the "Create a report" button in the Project Home page's Quick Task box, it takes the user to a non-existent page. (Ticket #11730)Change: The method in which to delete an entire record has been changed. It is no longer done by clicking a button at the bottom of the data entry form, but rather it is done by selecting the Delete Record option in the record actions drop-down on the Record Home Page.Change: The method in which to delete an entire event of a record has been changed (this applies to longitudinal projects only). It is no longer done by clicking a button at the bottom of the data entry form, but rather it is done by clicking the red X icons now displayed in the bottom row of the status table on the Record Home Page.Bug fix: When attempting to use Send-It to send a file from the File Repository or right after performing a data export, the popup that it opens would mistakenly redirect to the main Home page.Bug fix: When downloading a PDF of a survey response, it might on some occasions not display the label "Response was added on [timestamp]" in the PDF for the response.Bug fix: When downloading a PDF of a survey response, it would mistakenly not perform piping for the survey instructions if variables were used in the instructions.Bug fix: The @PLACEHOLDER action tag was mistakenly not appearing on drop-down fields that have the auto-complete feature enabled.Bug fix/change: The Logging page in a longitudinal project now only says Created Record when a record is actually created. In previous versions, it would mistakenly say Created Record for when new events of data were added for existing records, which was confusing.Bug fix: The API example file for the File Import API method in PHP had an error in it. This only affects the PHP example of this method.Bug fix: The Survey Queue Link header text was missing in the Participant List download.Bug fix: The Configuration Check was giving incorrect information about how to install the ZipArchive extension in PHP if the extension is not yet installed on the REDCap server. (Ticket #11749)Bug fix: If using Table-based authentication and resetting one's password recovery question on the My Profile page, it would take the user back to the My Projects page and mistakenly not prompt them to enter a new recovery question for certain cases when Two Factor Authentication has been enabled in REDCap.Bug fix: When installing, upgrading to, or upgrading higher than REDCap 6.17.0, for certain database configurations it might display an erroneous error message "ERROR: Your REDCap database structure is incorrect!" on the Configuration Check page. (Ticket #12029)Bug fix: An error would occur when a developer uses the REDCap::getData method to pull data from one project (specifying the project_id parameter in the method) while inside a hook from another project. (Ticket #12095)Bug fix: Fields having "email" field validation would mistakenly not allow for top-level domains exceeding 4 characters (the part of the email domain name to the right of the dot, e.g.?john@example.global).Bug fix: For certain versions of PHP, the data import process might mistakenly throw a fatal PHP error when assigning records to Data Access Groups via Data Import Tool or API data import. (Ticket #11870)Bug fix: For certain versions of PHP, clicking the "View All Projects" button on the "Browse Projects" page in the Control Center will mistakenly throw a fatal PHP error and prevent the page from loading. (Ticket #12148)Bug fix: When importing users via the API User Import method, it would fail if the users were being added to the project (were not existing project users) and were not being assigned to a Data Access Group during the import. (Ticket #12031)Change/improvement: If a user clicks the "Add new record" button on the "Add/Edit Records" page, then it will automatically take them to the data entry form (rather than the Record Home Page) if the project contains only one instrument (or if longitudinal, only contains one designated instrument for the selected arm). This reduces clicks for the user and thus saves time.Bug fix: If CURL is not installed on the REDCap web server, then the Configuration Check page in the Control Center would mistakenly display a broken link in the instructions on how to install CURL on the server. (Ticket #11748)Bug fix: When executing Data Quality rule H across all records in a longitudinal project, it might mistakenly find false positives of incorrect calc field values in events that have no data. It should instead be ignoring events with no data for each given record. (Ticket #11599)Bug fix: For a very small minority of calculated fields, especially those using the IF function, the resulting calculation determined when viewing the calc field on its data entry form might be different than the one calculated during a data import or when running Data Quality rule H. (Ticket #12137)Bug fix: If a user puts focus on the text box of an auto-complete drop-down field on a survey or data entry form but does not change the field's value, then it would mistakenly trigger the "Save your changes" prompt if they try to leave the page. Note: This does not affect regular drop-down fields but only those with the auto-complete feature enabled. (Ticket #11725)Bug fix: If an auto-complete drop-down field on a survey or data entry form has an option whose option label is "-" (i.e., a single dash), then it will not render that option correctly when the drop-down is rendered on the page. Note: This does not affect regular drop-down fields but only those with the auto-complete feature enabled. (Ticket #12226)Change/improvement: The Data Dictionary Codebook now displays the unique form name next to the name of the instrument in the gray instrument header in the table.Bug fix: Text fields that have the field validation of Number 1/2/3/4 decimal place will mistakenly not have its stats displayed on the "Stats & Charts" page. (Ticket #12388)Bug fix: When viewing the API Tokens page where it displays when a token was last used by a user, it would mistakenly never load the "Last Used" timestamps in the table, but would always say "Loading..". (Ticket #12477)Bug fix: The Advanced Link feature for Project Bookmarks would fail when trying to authenticate the user's REDCap session. (Ticket #12522)Version 6.18.1 - (released 11/28/2016)BUG FIXES & OTHER CHANGES:Major bug fix:?If the user has downloaded a PROMIS or Neuro-QoL Auto-Scoring instrument or Adaptive instrument from the REDCap Shared Library, in which some of the questions in the assessment have a "not applicable" type option (e.g., "I did not do this..."), then when submitting a question with that option selected, REDCap would mistakenly say that it could not communicate with the PROMIS server and end the survey prematurely. Note: This only affects a small minority of the PROMIS/Neuro-QoL instruments.Minor security fix:?Two cross-site scripting vulnerabilities were found on two separate pages in REDCap, in which they could possibly be exploited by a malicious user who knows how to craft a specific string of JavaScript code.Bug fix: If importing data using the Dynamic Data Pull (DDP) in which the adjudication screen displays new data that has been pulled from the source system after some values have already been imported via DDP into the REDCap project, it would mistakenly not allow the user to dismiss the new values if the user did not want to import them, thus forcing the values to always be displayed in the adjudication popup until at some point at least one value was selected to import.Bug fix: When creating a project via a project XML file, if the project from which the XML file was downloaded was a longitudinal project in which no instruments were designated for any events in the project, then it would display an error and prevent the user from creating a new project from the XML file.Change: Added check for custom hook specifically for Shibboleth authentication in order to allow e-signatures to work with Shibboleth on data entry forms. (Ticket #10225)Bug fix: When "real-time execution" is enabled for Data Quality rules in a project, the processing of the rules on the data entry form can take an unusually long time if there are more than 10 or so rules being executed at a time. (Ticket #8602)Version 6.18.0 - (released 11/15/2016)NEW FEATURES & IMPROVEMENTS:New feature: Field name (variable) auto-suggest when typing branching logic, calculations, or general conditional logic?(Survey Queue, Automated Survey Invitation, Data Quality rule, report filter’s advanced logic). While typing logic/calculations into the text box, it will auto-suggest a REDCap variable name from your project that is clickable to inject into the text box. If the project is longitudinal, it will also suggest event names to inject unique event names.New feature: Real-time validator for branching logic, calculations, or general conditional logic?(Survey Queue, Automated Survey Invitation) that allows you to run your logic/calculation on a specific record in the project, and it returns the result. For example, if typing branching logic in the?Add/Edit Branching Logic popup in the Online Designer, you can select a record, and it will tell you if the field will be displayed or hidden for that record based upon the record’s currently saved values. When typing calculations, it will return the actually calculated value of the field for a selected record. This makes it easier to formulate your logic and calculations so that you get them right the first time.New Action Tag: @PLACEHOLDER?- Is used to specify a short hint that describes the expected value of a Text field or Notes field (e.g. a sample value or a short description of the expected format). The placeholder is displayed inside the field before a value is entered. The format must follow the pattern @PLACEHOLDER='????', in which the text to be displayed should be inside single or double quotes. This action tag is compatible with all browsers, including Internet Explorer 8 and 9.New Action Tag: @SYNC-APP?- Can be used only for File Upload and Signature fields. If the project is initialized in the REDCap Mobile App, this will cause any image files uploaded to a record to be sent to the app so that they are viewable in the app when editing the record. NOTE: For use only in the REDCap Mobile App.New API method: Generate Next Record Name?(content=generateNextRecordName) - To be used by projects with record auto-numbering enabled, this method exports the next potential record ID for a project. It generates the next record name by determining the current maximum numerical record ID and then incrementing it by one. Note: This method does not create a new record, but merely determines what the next record name would be. If using Data Access Groups (DAGs) in the project, this method accounts for the special formatting of the record name for users in DAGs (e.g., DAG-ID); in this case, it only assigns the next value for ID for all numbers inside a DAG.Improvement: PDF exports of instruments are now able to display inline BMP image attachments for Descriptive fields. In previous versions, it would simply omit the image in the resulting PDF file.BUG FIXES & OTHER CHANGES:Bug fix: The Participant List table and the table on the "Set up project bookmarks" page would run off the page if the page was too narrow while not providing any horizontal scroll bars, which prevented the table from being fully viewed.Bug fix: If a CSV data file is uploaded on the Data Import Tool with records represented as columns in the file, then if any columns have a header value in the first row but do not have any data in the column, then it would mistakenly display an error that the record ID was missing for a record being imported. (Ticket #10180)Bug fix: When attempting to assign a user to a Data Access Group using the User Import API method, it would mistakenly fail to assign the user to the DAG and not return any kind of error message. (Ticket #10292)Bug fix: If a user clicks the "Erase All Data" button on the "Other Functionality" page in a project, it would mistakenly delete all user-uploaded files in the File Repository when it should only delete data export files that are stored there. (Ticket #10058)Bug fix: If using a version of PHP below PHP 5.5 on your REDCap web server, then the REDCap API and API Playground might not function. This was due to the mistaken usage of the PHP function json_last_error_msg(), which only exists in PHP 5.5 and up. (Ticket #10459)Bug fix: When using the Twilio telephony services, on certain occasions it might not always erase the call logs or SMS message logs from Twilio's log on its website as logs are created from REDCap's usage of Twilio. It now does a much better job of erasing the log within the user's Twilio account for the phone number being used for the REDCap project.Bug fix: If a field's branching logic contains a line break (or line feed character) in certain places, then it would cause the survey or data entry form not to load and display an erroneous error.Bug fix: When exporting the instrument-event mappings of a longitudinal project, if no mappings exist, then it would mistakenly return a blank CSV file. It now instead returns the file with the headers only.Bug fix: When a user is copying a project when only administrators can create/copy projects for users (i.e., users must request it), then if the user selected the Survey Queue and Automated Survey Invitations to be copied, it would mistakenly not select that checkbox option when the administrator goes to copy the project. (Ticket #10676) Bug fix: When a user is creating a new project from an ODM/XML project file, it will now no longer prevent the import if data validation errors exist for data inside the XML file. Also, it will be more lax about minor metadata issues for fields in the XML file. This should improve the overall experience of importing XML project files.Version 6.17.2 - (released 10/28/2016)BUG FIXES & OTHER CHANGES:Change: When viewing the Agenda tab on the Calendar page in a project, it now displays all the text fully for each calendar event when printing the page. In previous versions it truncated it, even in the print view.Bug fix: The Survey Notifications feature would mistakenly not include the Participant Identifier inside the email to the survey administrator unless the survey that was taken was the first instrument (and first event, if longitudinal) of the project.Bug fix: When downloading a PDF containing data for one or all instruments where branching logic is used on all the fields in a given matrix or a given section, in which all matrix fields or all fields in a whole section would be hidden by branching logic based upon the data, then some text in the PDF might mistakenly overlap or alternatively might cause the PDF itself to be corrupt and thus not be able to be opened by a PDF reader.Bug fix: The Activity Graphs page in the Control Center would display dates that were mistakenly one month off (e.g., showing dates for November when it's currently October).Bug fix: For classic projects only, the Custom Record Label and Secondary Unique Field, if enabled, were mistakenly not displaying next to the record name on the left-hand project menu when a data entry form is being viewed.Bug fix: The font resize buttons at the top of survey pages would not always enlarge/shrink the text in correct proportions. (Ticket #9499)Bug fix: If a user has been assigned to a Data Access Group, then it would mistakenly allow them to try and add a new user or assign a new user to a role on the User Rights page, even though such is not allowed. And these attempts would inevitably fail and display an error message (or nothing). In that case, it now simply disables the add new user and add new role section of the page.Bug fix: The redcap_connect.php file included in the install zip package would mistakenly fail to connect to MySQL over SSL without client certificate authentication. That file has now been updated in the install zip package. (Ticket #9900)Bug fix: If a user downloads a PDF of all records from the Other Export Options tab of the "Data Exports, Reports, and Stats" page, then it will result in a blank PDF (no text - completely blank) if the project has no records. This is expected but confusing. It now displays a message to the user in this case that the PDF is not downloadable since no records have been created yet.Bug fix: In some rare cases the action of reordering reports on the "Data Exports, Reports, and Stats" page might cause some database queries to overlap and cause a deadlock, thus impacting overall database performance. The process has now been wrapped in a MySQL transaction to prevent this. (Ticket #9716)Change (technical): Replaced the usage of PHP Pear DB with Pear MDB2 (which supersedes it) for Table-based authentication. This should not affect any behavior at all. This should also allow Table-based authentication to work for MySQL connections over SSL.Version 6.17.1 - (released 10/14/2016)BUG FIXES & OTHER CHANGES:Improvement:?The biomedical ontology search (via BioPortal web service) is now customizable so that it can now point to a different BioPortal end-point (e.g., "") by setting the value of bioportal_api_url in the redcap_config database table. (Note: If that value is changed, then it is advised to also set the fields bioportal_api_token, bioportal_ontology_list, and bioportal_ontology_list_cache_time in that table to a blank ("") value.)Major bug fix:?When performing a data import (API, mobile app, or Data Import Tool) in which one of the fields being imported is a checkbox field, if only some (but not all) of the checkbox options are included in the data import, then those options that are not included in the import will mistakenly get overwritten as "unchecked" (0) if they are currently "checked" (1) in the project. (Ticket #8325)Major bug fix:?When performing a data import (API, mobile app, or Data Import Tool), in which a field being imported contains a checkbox with negative coded choices (e.g., -3), then in specific situations the values for the negative coded choices might not get successfully saved during the import process.Bug fix: The page footer on project-level pages might mistakenly overlay onto the Automated Invitations popup on the Online Designer page. (Ticket #8946)Bug fix: On the Configuration Check page in the Control Center, it will no longer automatically try to set the permissions of the temp and edocs directories as "world writable" (777), which could create security issues for some server configurations depending on the institution's local IT policy.Bug fix: The API method exportFieldNames and the plugin/hook method REDCap::exportFieldNames were mistakenly not returning calc fields. (Ticket #9041)Bug fix: In Step 3 (Filters) when creating/editing a report, if a Form Status field is selected as a filter, the drop-down of choices that appear on the right of it would mistakenly include a blank choice option. Since Form Status fields never have a blank value ("0" is the default value), it should not have an empty option to choose.Change: In the "Main project settings" step on the Project Setup page in a project, the position of the two choices were swapped to bring survey functionality to the forefront.Bug fix: When using the Twilio telephony services in a longitudinal project in which the designated email field or designated phone field is used for survey invitations, then when sending/scheduling new invitations and setting the invitation type as "participant's preference", it might mistakenly deliver the survey invitation via email rather than using their preference.Change: Some speed improvements on the Record Home Page if using multiple arms in a longitudinal project.Version 6.17.0 - (released 10/4/2016)NEW FEATURES & IMPROVEMENTS:New feature:?Account Manager user type?- Users can now be designated as an Account Manager by an Administrator on the "Designating REDCap Administrators and Account Managers" page in the Control Center. Account Managers are users that can aid Administrators with user-related administrative tasks. Account Managers are normal users that have the extra abilities of creating and accessing user accounts (Browse Users page) and being able to access the Email Users page and User Whitelist page. Account Managers do *not* have access to other users' projects or data. Note: A user cannot be both an Administrator and an Account Manager at the same time.New feature:?Data dictionary snapshot?- Users can now click a button on the Online Designer to create a snapshot of their instruments (i.e., CSV data dictionary) that gets stored on the Project Revision History page. Additionally, a data dictionary snapshot is also created automatically whenever a data dictionary is uploaded on the Data Dictionary Upload page or via the API metadata import.New feature:?Preview email?- When composing an email on the "Email Users" page in the Control Center and also when composing survey invitations (e.g., the Participant List, Automated Survey Invitations set up), there is now a Preview option for viewing the fully-rendered HTML preview of the email that is being composed. Additionally, there is an option to send a test email to oneself in case they want to actually receive a copy the email being composed before officially sending it to others.Improvement: When reviewing drafted changes in a production project, it now provides a "Compare" button for multiple choice fields that have a change in one or more choices. Clicking the button opens a popup with a table displaying each choice on a row and noting if the choice is Unchanged, Altered, Added, or Removed. Additionally, it also displays how many records have a saved value for the given choice. This will help when reviewing draft changes when in production status.Improvement: When reviewing drafted changes in a production project, it will now give a warning on the page if a user has initialized the project in the REDCap Mobile App. It will note that the changes being made *may* affect the app user's ability to sync data back to the project and recommends that perhaps the app user should first sync all their data back to the server before the changes are committed.Improvement: When reviewing drafted changes in a production project, it now truncates any text (field labels, choices, etc.) in the table that is very long, and provides a "Show more" link if you wish to view the full text.Improvement: The User Access Dashboard now only shows projects with more than one user. Since it makes no sense to display projects in which the user is the only person with access to the project, those projects will no longer be displayed on the page since they are irrelevant for the purpose of the UAD.Improvement: When reviewing drafted changes in a production project, if any fields are being deleted and those fields contain data, it will note how many records will be affected for each field deleted. Also, if fields are being added and those fields previously existed in the project, in which they had data saved or them but then the fields were deleted, then it will note how many records have orphaned data for those fields (because that data will be restored if the fields are re-added - this is sometimes undesirable).BUG FIXES & OTHER CHANGES:Major security fixes:?Several vulnerabilities (cross-site scripting, cross-site request forgery) were found on various pages throughout REDCap, in which they could possibly be exploited by a malicious user who has knowledge of REDCap's internal file architecture and who also knows how to craft a specific string of JavaScript code. (The changes to the Activity Graphs page in the Control Center, in which a different chart technology is now used for displaying the charts, is due to a vulnerability that was discovered in the older charts package that was used.)Major bug fix:?When an API user has been assigned to a Data Access Group, it might mistakenly allow their API request to modify data for existing records that are not in their DAG. It could also allow the API request to reassign an existing record to the user's DAG, which should not be possible if the API user is already assigned to a DAG.Change: When editing the choices of a multiple choice field in the Online Designer, the auto-coding behavior is now slightly different when projects are in Development status when replacing the existing choices with brand new ones that do not have explicit coding. In previous versions, if existing choices were completely replaced with non-coded choices (i.e., just the choice labels), it would auto-code the new choices beginning with one number higher than the highest-numbered of the previously existing choices, whereas now (in development only) it will auto-code the choices to begin with "1" if all the choices are replaced. Note: This change is for development status only because it could have disastrous effects on data for projects in production when performing real data collection.Bug fix: Some error messages for API data imports were mistakenly not displaying all the error messages back the client but instead were returning a very generic message saying that the data might be in the wrong format.Change: When copying a project that utilizes surveys and Automated Survey Invitations, any ASIs that are copied are now set to "Not Active" by default in the new project. A note was added regarding this on the Copy Project page. The reason for this change is because so many users would copy the project with records and begin testing the new project via data entry, which would mistakenly trigger the ASIs to send emails to real participants copied from the original project. So the change was made to prevent this undesirable situation from happening. So now when copying a project, all ASIs will need to be set as Active individually after the project is copied.Bug fix: If the variable for a checkbox field somehow ends with an underscore (they typically should not, but could due to older bugs that have since been fixed), then their data might not get parsed and interpreted correctly during a data import, thus resulting in an import error. (Ticket #7028)Bug fix: If a field (excluding checkboxes) has a value and then the value is later deleted, it would mistakenly leave a blank value in the redcap_data database table rather than removing the whole row in the table. This would not affect data quality in any way but could cause problems for groups that have plugins or reports that query REDCap's back-end directly.Bug fix: The page footer on project-level pages might mistakenly overlay onto the Automated Invitations popup on the Online Designer page. (Ticket #7059)Change: Some extra error handling and error messages were added for the case when very large files are uploaded in REDCap and result in a server error because of their size.Bug fix: If a calculated field contains a datediff() function that does not reference "mdy" or "dmy" explicitly as the date format in the function, then on some occasions REDCap might crash due to a fatal PHP error during a data import or when saving a form or survey. (Ticket #7264)Bug fix: When attempting to create a longitudinal project using a project XML file, if the XML file contains data on forms that used to be designated for a given event but now are not, in which the data remains orphaned but still exists in the export, then it would display an error that the project could not be created from the XML file because it will not allow data to be imported in undesignated form/events. (Ticket #7794)Bug fix: When copying a project and selecting to copy the Automated Survey Invitation settings, it would mistakenly not copy the settings for reminders and the "Ensure logic is still true" setting. (Ticket #7941)Bug fix: When entering conditional logic for Automatic Survey Invitations, Survey Queue, etc., it would mistakenly throw an error if a variable inside square brackets was not used in the logic. There are some cases in which logic may not have any variables in them.Change: The following text was added for clarification to the @TODAY or @NOW action tags' instructions: "This action tag should not be used with fields that will be hidden by branching logic because it will always prompt the user to erase the value when the field gets hidden".Bug fix: The characters were not displaying correctly for the Friendly Code column of the Spanish characters table on the "Help & FAQ" page. (Ticket #8000)Change: Replaced all references of “super users” with “Administrators” in all text to be more consistent with the usage of language.Bug fix: When a project's "character encoding for exported files" setting is set to "Japanese (Shift JIS)" on the "Edit a Project's Settings" page, it would prevent Japanese text from displaying properly for field labels, field notes, etc. in the REDCap Mobile App.Bug fix: For unknown reasons in particular MySQL configurations, REDCap projects were mistakenly not getting deleted successfully (when a project had been deleted by a user) and thus the project would forever remain in the database, in which REDCap would continuously try (but fail) to delete them over and over again. (Ticket #4994)Bug fix: If a user has Data Access Group privileges in a project but does not have User Rights privileges, then the "DAGs" link on the left-hand menu would mistakenly not get displayed. (Ticket #8381)Bug fix: If a data value is somehow saved multiple times within the same second of time for a given record-event-field, then the Data History popup would mistakenly not show all the logged events for that field but instead would only show the last event logged within that second of time. (Ticket #8323)Bug fix: When using the Twilio telephony services for surveys, if a participant was sent an SMS message from the Public Survey Link page in order to begin a survey as an SMS conversation, then it would never allow them to start the survey but would mistakenly keep asking for a survey access code. This occurred for public surveys only, and only with SMS conversation surveys.Bug fix: The "Custom Application Links for Projects" page in the Control Center would mistakenly not display the "delete" column on the far right of the page, thus making it impossible to delete a custom application link that had been created.Bug fix: When using the Twilio telephony services for surveys, the "Auto-continue to next survey" setting would mistakenly not advance the participant to the next survey if taking the survey via SMS or voice call.Bug fix: Custom Event Labels were mistakenly not getting copied when doing "Copy Project" or when creating a new project via the project XML file. (Ticket #7835)Bug fix: When exporting the project XML file, it would mistakenly not include the Bioportal Ontology attribute of a field in the XMl file if the field was utilizing the ontology auto-suggest feature.Bug fix: The two gray box sections on the Project Home page would mistakenly display side by side on very wide screens. (Ticket #8093)Bug fix: When editing a File Upload field in the Online Designer, in certain circumstances it would mistakenly set the field type as "Text Box" instead of "File Upload" after opening the "Edit Field" popup dialog. (Ticket #8163)Version 6.16.8 - (released 9/8/2016)BUG FIXES & OTHER CHANGES:Bug fix: When on the To-Do List page in the Control Center, clicking on the "Add Users (Table-based only)" link on the left-hand menu mistakenly results in a 404 "page not found" error. (Ticket #6739)Bug fix: When adding/editing an SQL field, if the SQL query is pulling two fields and they are both named the same thing in the query (e.g., "select a.value, b.value..."), then it will mistakenly overwrite the first value with the second value, thus making the drop-down values also be the same as their corresponding labels (rather than the actual desired value). (Ticket #6758)Bug fix: When a project's "character encoding of exported files" is set to "Japanese (Shift JIS)", the PDF export of instruments will fail if the server is using PHP 7.Bug fix: If the @HIDEBUTTON action tag is used for a date or datetime field, the date format note to the right of the field (e.g., "M-D-Y") would mistakenly not be displayed on forms and surveys.Bug fix: If a project has been taken offline via the "Edit A Project's Settings" page in the Control Center, it displays a red box at the top of the Home/Project Setup page in the project; however, the link inside the red box that points to the "Edit A Project's Settings" page mistakenly does not load the settings for that particular project.Bug fix: The Configuration Check page was not checking to see if the PHP extension named "XMLReader" is installed. This extension is used for some important features, such as project XML export. (Ticket #7128)Change/bug fix: Updated "Help & FAQ" page with new content. Also fixed links to the FAQ that pointed to sections that no longer exist.Version 6.16.7 - (released 9/2/2016)New Features & Improvements:New feature:?Custom Event LabelsCustom Event Labels can now be optionally added for any event in a longitudinal project when adding/editing events on the Define Events page. These custom labels can be used for piping data from a given event into the event's table header on the Record Home Page (i.e., Event Grid). For example, if each event represents a single visit of a person, then if you are collecting the date in a field called 'visit_date' on each event, then you can set the Custom Event Label as '[visit_date]' for all those visit events. This will provide useful context for each event when viewing all the events of the record. You can also get more advanced with the piping by using multiple fields and even static text. For example, '[visit_date], [weight] lbs'.The custom_event_label attribute for events has been added to the Export Events API method.Improvement: Data entry forms behave slightly differently when two users are accessing the same record-event-form in the same project. In previous versions, it would completely prevent a user from viewing the form if another user (excluding super users) were already viewing it (note: super users were able to view the page at the same time as any user). However, this has been changed so that it will allow the user to view the form at the same time as another user, but it will make the form read-only/disabled if another user (including a super user) is already viewing it. This is an improvement since it actually lets the user view the form and its data, whereas previously they could not even view it.BUG FIXES & OTHER CHANGES:Minor security fix: A cross-site scripting vulnerability was found on survey-related page in which the vulnerability could possibly be exploited by a malicious user who has knowledge of REDCap's internal file architecture and who also knows how to craft a specific string of JavaScript code.Change: The "lock all forms" and "unlock all forms" links that appear near the bottom of the "Record Home Page" (formerly known as the "Event Grid") in longitudinal projects have now been replaced with an "Actions" drop-down higher up on the page above the table of events. In this way, users can still perform the same actions as before but by choosing an option in the drop-down near the top rather than clicking the links that used to exist near the bottom.Bug fix: When the survey confirmation email has been enabled for a given survey, but REDCap does not possess the participant's email address, the green box displayed on the Survey Completion page (for the participant to enter their email) is not aligned correctly on the page. Also, the button text inside the green box would mistakenly spill out of the button in Internet Explorer 11 only.Bug fix: If using the @READONLY or @READONLY-SURVEY action tag on a survey that has the Enhanced Choices option enabled, the options for those radio button fields and checkbox fields would mistakenly not be disabled but would allow participants to select a choice and save data for the field.Bug fix: If executing a rule in the Data Quality module where the rule runs for more than 20 minutes, in which it would have timed out, it might not display an error message to the user but instead might mistakenly appear to run forever (even though it has really stopped).Bug fix: If using a literal date or datetime value (e.g., "01-31-2016") inside the datediff() function that is nested inside another function in a calculated field *and* that literal value is also in MDY or DMY date format, then it may mistakenly not perform auto-calculations correctly and may return incorrect discrepancies for Data Quality rule H. (Ticket #1954)Bug fix: If a calc field's value was created via Auto-calculation during a data import, then it would mistakenly not include the "(Auto calculation)" note for the logged event on the project Logging page.Bug fix: When attempting to edit a matrix of fields in the Online Designer, if one of the field labels contains non-displayable characters (black diamond with question mark), it would mistakenly throw a JavaScript error and prevent the "Edit Matrix of Fields" popup from opening.Bug fix: If authentication has not been enabled in REDCap and a new Table-based user is created by an administrator, then if the new user follows the "reset password" link in the email they receive, it will not do anything except load the REDCap Home page. This is due to the fact that authentication must be enabled before the link will work, which is not always obvious and can be very confusing. In this situation, after clicking the link in the email, it now displays a message to the user that the administrator must first enable authentication before the link will work and allow them to log in using their new REDCap account.Change (bug fix for future bug): The Text-To-Speech functionality that can be enabled on surveys will cease to work as of Oct 1st, 2016 since the current TTS service being used (AT&T) will be discontinuing the service. To prepare for this, this REDCap version will instead utilize the IBM Watson text-to-speech API service. The disadvantage of this new service is that it does not yet work on mobile devices, iOS, or the Safari browser, although this will soon be improved (according to IBM). Note: For all REDCap versions 6.9.1-6.16.6 (Standard) or 6.10.2-6.15.7 (LTS), the text-to-speech functionality will still work between now until Oct 1st, 2016, after which it will not work again until you upgrade to the latest release.Bug fix: If using the Enhanced Choices setting on surveys, and a choice for a radio or checkbox field has no choice label, then the enhanced choice button on the survey page mistakenly looks flattened and smaller than the intended height.Bug fix: If a respondent is returning to a multi-page survey that has the "Save & Return Later" option enabled, it might mistakenly take them to the wrong survey page if the @HIDDEN and @HIDDEN-SURVEY action tags are being utilized on that instrument and also have data saved for fields utilizing those action tags. It now ignores fields that utilize @HIDDEN and @HIDDEN-SURVEY when determining which page to load for the respondent.Bug fix: The Data Search functionality on the Add/Edit Record page would mistakenly return duplicate results on some occasions.Version 6.16.6 - (released 8/19/2016)BUG FIXES & OTHER CHANGES:Medium security fix: A cross-site scripting vulnerability was found on the Project Bookmarks page, Project Home page, and Project Revision History page, in which the vulnerability could possibly be exploited by a malicious user (who is a valid REDCap user) who knows how to craft a specific string of JavaScript code.Bug fix: When viewing the Project Setup page on a wide screen, the steps on the page may mistakenly get displayed as two columns instead of one.Bug fix: The configuration setting "Contact person web address/URL" on the Home Page Settings page in the Control Center was mistakenly not being used on the login page in place of the "Contact name email". (Ticket #5961)Bug fix: Fixed outdated text inside the "Move Project to Production Status" popup on the Project Setup page. (Ticket #5974)Bug fix: When exporting data via the API's "Export Records" method in which the data is being exported as "labels" (rather than "raw") and in EAV format, then any Yes/No or True/False fields that used to have a value at one point but then had the value removed, those will mistakenly get exported as "No" and "False", respectively, rather than as blank. It will now not return the row of EAV data if the value is blank or has been removed. (Ticket #6011)Bug fix: When exporting data via the API's "Export Records" method in which the data is being exported in EAV format, any values that belong to multiple choice fields that have had an option/choice removed, thus orphaning the stored data value, would mistakenly return a blank value for the field in the data export rather than the raw value that is actually stored. It now returns the raw data value that has been orphaned, regardless of exporting "labels" or "raw" data. This only occurs for EAV format exports. (Ticket #6012)Bug fix: When clicking the "Request delete project" button on the Other Functionality page of a project that is in Inactive or Archived status, it would mistakenly display a popup window that contained a "0" rather than the correct text content, and thus would not function correctly. (Ticket #6031)Bug fix: When using the Twilio telephony services for surveys, the following things would mistakenly not get triggered if a survey was completed via voice call or SMS: 1) sending confirmation email to respondent, and 2) sending email notifications to project users.Bug fix: When printing the schedule of a record via the "Print Schedule" link at the bottom of the Scheduling page, it would mistakenly not display the Custom Record Label or Secondary Unique Field label on the page to be printed.Bug fix: When exporting the To-Do List as a CSV file in the Control Center, the user's name and email address are not correct for the user who made the request. (Ticket #5885)Bug fix: When using the Twilio telephony services for surveys, piping might not be successful if data is being piped into a Section Header or Descriptive field.Version 6.16.5 - (released 8/12/2016)BUG FIXES & OTHER CHANGES:Major bug fix: If the Survey Login feature is being used on a survey, if no data exists for the login fields for the given record, then it would mistakenly allow the participant to navigate to the survey without having entered a value for the login field.Major bug fix: If a slider on a data entry form or survey had already had its value set, then when returning to the page, the slider would mistakenly be disabled. Fortunately the slider's value would *not* get reset to blank/null if the page was resaved. However, the user might attempt to set the value again if they noticed that the slider appeared not to be set, which might result in a different value being saved from the original.Bug fix: On iOS devices, drop-down fields on surveys and data entry forms would have their option text truncated if it is fairly long, thus making it impossible to view the entire choice's label.Bug fix: If creating a new report and selecting an instrument from the "add all fields from selected instrument" option in Step 2, it would mistakenly add empty placeholder fields to the report where any Descriptive fields exist. (Ticket #5301)Bug fix: If a survey invitation had attempted to send but failed (e.g., email address was not available) for an existing record in a project, it would mistakenly show the send status of the invitation as pending at the top of the data entry form for that record. In this case, it now correctly shows the status as failed to send.Bug fix: For multi-page surveys where an entire page has every question hidden due to branching logic, it might mistakenly still display the page (it is supposed to skip the page) even though no questions are visible on the page. (Ticket #5230)Bug fix: The action tags @HIDDEN and @HIDDEN-SURVEY were mistakenly not being considered when a survey page is supposed to be skipped due to all questions on the page being hidden, thus possibly displaying the survey page with all questions hidden.Bug fix: When editing a matrix of fields in the Online Designer, if a \' (backslash apostrophe) are entered together in the section header, field labels, question numbers, field annotations, or choice labels for any field in the matrix, then the "Edit Matrix of Fields" popup would not open anymore in the future due to a JavaScript error, thus making the matrix no longer editable in the Online Designer. (Ticket #5332)Bug fix: Error in API documentation for the Import Records method. (Ticket #5333)Change: When the REDCap web server fails to connect to the database, it now sends an HTTP 500 status in addition to the typical error message that gets displayed. This is especially helpful for API requests being made to the server in case the server goes offline.Bug fix: For certain server configurations, if a user logs out of REDCap, it will correctly destroy their session on the server (thus effectively ending their session), although the session cookie in the client might mistakenly not get deleted and may end up with the value "deleted". The leftover cookie does not pose a security concern since it is orphaned from the user's session after the logout has occurred. But regardless, the cookie should be deleted.Bug fix: If the Dynamic Data Pull (DDP) module is enabled in a project, the "Today"/"Now" button and date picker widget of a temporal field would mistakenly not trigger DDP to pull data from the source system.Bug fix: If the Dynamic Data Pull (DDP) module is enabled in a project, the "select all" and "deselect all" links on step 1 of the DDP field mapping page would not work correctly, and it would also cause the "number of fields selected" count to be mistakenly incorrect. (Ticket #5624)Change: The auto-complete option for drop-down fields is no longer enabled by default when creating a new drop-down field in the Online Designer.Bug fix: The event grid page in a longitudinal project would mistakenly not display the record name on the page if the form/event table was wider than 800 pixels. (Ticket #5674)Version 6.16.4 - (released 7/29/2016)BUG FIXES & OTHER CHANGES:Improvement:?The Data Search feature on data entry forms can now be used to search data over all fields in the project (excluding multiple choice fields). This is now the default option, although users may still choose a specific field to further narrow down their search.Medium security fix:?A cross-site scripting vulnerability was found on survey pages and data entry forms regarding File Upload fields, in which the vulnerability could possibly be exploited by a malicious user (who is a valid REDCap user) or survey respondent who knows how to craft a specific HTTP request to REDCap.Minor security fix:?A cross-site scripting vulnerability was found on the Define Events project page, in which the vulnerability could possibly be exploited by a malicious user (who is a valid REDCap user) who knows how to craft a specific HTTP request to REDCap.Bug fix: If a super user is attempting to permanently delete a project via the "Delete it now" link on the Browse Projects page in the Control Center, it would mistakenly not delete the project, even though it says it did.Bug fix: If a user opens a link to a project page while they are not yet logged in to REDCap, in which it displays the login page, then on certain occasions it might mistakenly display a dark overlay over the login page, thus making it impossible to put one's cursor into the input fields or click the "Log In" button".Bug fix: In the email that users are sent via Survey Email Notifications when a survey is completed, the date format of the timestamp contained in the email would not be in the format of the user's preference but instead would mistakenly always be in M/D/Y format. It now displays the date in the user's preferred date format in the email. (Ticket #4540)Bug fix: More fixes for the floating project page footer, which would sometimes cover page content if some of the page was loaded via AJAX. (Ticket #4781)Bug fix: For compatibility purposes, bare line feeds that exist in emails sent from REDCap are now replaced by a space + carriage return + line feed. (Ticket #3944)Bug fix: When copying a longitudinal project via the Copy Project button on the Other Functionality page and selecting the option to copy reports, then if a report in the project contains a filter that specifies a field on an explicit event, then the event designation will be mistakenly converted to "all events" in the same subsequent report in the new project. (Ticket #4779)Bug fix: Corrupted line feeds (carriage returns) can sometimes get added to Section Headers and Choices in data dictionaries. This was originally fixed in Ticket #4148 for Field Labels, but mistakenly still exists as a bug for Section Headers and Choices when uploading or downloading data dictionaries.Bug fix: When undesignating a super user on the "Designate a Super User" page in the Control Center, the user's row in the table would mistakenly not get removed after they had been undesignated if their username contained a dot or @ sign. Although it would still successfully undesignate them, the change would not be reflected on the page until the page was reloaded.Change: Every user's first and last name are now displayed in the drop-down list of users on the "Designate a Super User" page in the Control Center and also in the list of current super users on that page.Change: Changed the text "Matrix Header Text" to "Section Header Text" when adding/editing matrix fields in the Online Designer to reduce confusion between matrix headers and section headers.Version 6.16.3 - (released 7/22/2016)BUG FIXES & OTHER CHANGES:Minor security fix: A cross-site scripting vulnerability was found on the Scheduling project page, in which the vulnerability could possibly be exploited by a malicious user (who is a valid REDCap user) who knows how to craft a specific HTTP request to REDCap.Bug fix: If a user had requested an API token in a project, it would mistakenly allow them to send a duplicate request on the API Playground page and on the Mobile App page in a project.Bug fix: The page footer on project pages would sometimes obscure page content. (This bug was mistakenly thought to have been fixed in version 6.16.2, but was not.)Bug fix: If all the fields in a given section of a data entry form have the action tag @HIDDEN-APP or @HIDDEN-SURVEY, then when viewing the form, the section header above that section would mistakenly be hidden even though some of the fields in the section are still displayed. The section header should only be hidden if all fields in the section are hidden. (This bug was mistakenly thought to have been fixed in version 6.16.2, but was not.)Bug fix: Corrupted line feeds (carriage returns) can sometimes get added to Field Labels in data dictionaries. Their origin is unknown, although Microsoft Excel is suspected. This can sometimes cause line breaks to double (i.e., two carriage returns instead of one) when uploading data dictionaries, or can cause line breaks to completely disappear if editing a field in the Online Designer. Any existing corrupted line feeds will now be properly converted and fixed when importing or exporting data dictionaries and when editing a field in the Online Designer. (Ticket #4148)Bug fix: When using min/max range validation on a field having a validation type of datetime or datetime w/ seconds, in which a user enters an out-of-range value on a survey or data entry form, the error message popup that is displayed would mistakenly mangle the format of min/max values in the error message. (Ticket #4478)Version 6.16.2 - (released 7/15/2016)BUG FIXES & OTHER CHANGES:Bug fix: If the Duo option is enabled for Two-Factor Authentication, then it would mistakenly always return the user to the page "index.php" of the current directory they are in after they log out or after their session times out, even if that page does not really exist in REDCap, which could be very confusing to users. (Ticket #3592)Bug fix: If using the @NOW or @TODAY action tags for date, time, or datetime fields, it would mistakenly set the text field to full width on a survey or data entry form rather than shortening the text field to its typical width based upon its specific validation type. (Ticket #3742)Bug fix: In older versions of Internet Explorer, if a survey respondent opens a survey link, then completes the survey, and then clicks the "Close survey" button afterward, then it might throw a JavaScript error. (Ticket #3721)Bug fix: If a user with E-signature privileges was attempting to e-sign a data entry form that had been previously locked, it would display an erroneous error.Bug fix: The page footer on project pages would sometimes obscure page content.Change: More granular error messages were added for the Import Records API method.Bug fix: If all the fields in a given section of a data entry form have the action tag @HIDDEN-APP or @HIDDEN-SURVEY, then when viewing the form, the section header above that section would mistakenly be hidden even though some of the fields in the section are still displayed. The section header should only be hidden if all fields in the section are hidden.Major bug fix: When editing a survey's settings via the Survey Settings button on the Online Designer, it might mistakenly fail to save the settings for certain MySQL configurations. (Ticket #3003)Bug fix: Minor formatting error in API documentation for Export Records method. (Ticket #4059)Bug fix: When using Enhanced Choices for radios/checkboxes on surveys, if a choice label has long words, it might mistakenly causes horizontal scrollbars to appear around the choice in certain web browsers.Version 6.16.1 - (released 7/7/2016)BUG FIXES & OTHER CHANGES:Bug fix: When viewing a survey response on a data entry forms that contains a slider field, if the user has not clicked the "Edit response" button yet to make the form editable, then the page would throw a JavaScript error. However, this would not have any adverse effects on the page.Bug fix: When loading a public survey, it now employs stricter checking to doubly ensure that a public survey link does not get confused with a participant's unique survey link (since there might be a one-in-a-million chance that it could get confused under very specific and rare circumstances).Bug fix: If vertically-aligned slider fields have a lot of text for their slider labels, then the text would wrap too early and thus be too narrow. The slider labels are now displayed a bit wider for vertically-aligned sliders and are dynamic to look best based on the user's screen size.Bug fix: Fixed compatibility issues specifically related to MySQL 5.7 and its default sql_mode setting.Bug fix: If a File Upload field has the @READONLY action tag, and the field already contains an uploaded file for a given record, then when viewing the survey page or data entry form, it would mistakenly allow the user to delete the file and even upload another file afterward. (Ticket #3263)Bug fix: The server-side field validation would mistakenly get triggered on the record ID field when submitting a data entry form or survey if a record's name did not follow its specific field validation format. This would cause the server-side field validation message to constantly appear for that record unnecessarily whenever a form or survey was saved for the record. It now skips the server-side field validation for the record ID field when saving existing records.Bug fix: On the Administrator To-Do List page in the Control Center, the page navigation for the "Completed & Archived Requests" table would become unwieldy if there existed more than 20 pages, thus causing all the page numbers to overflow and take up too much space. It now only displays the first and last handful of pages for navigation.Bug fix: Fixed incorrect language in the "Move project to production" popup on the Project Setup page.Bug fix: When using calculated fields that utilize cross-event calculations in a longitudinal project, Auto-Calculations and Data Quality rule H would mistakenly not be able to process any calculation that references a field on an event that did not contain any data (i.e., an empty event) for a given record. Thus, DQ rule H would not find any discrepancies even when they exist, and Auto-Calculations would not properly get performed. (Ticket #2898)Change: If using the setting "Announcement text to display at top of Home page and My Projects page" found on the Home Page Configuration page in the Control Center, the custom text now displays above the login fields on the login page whereas in previous versions it was displayed below it, thus making it more difficult for users to notice.Bug fix: The action tags @HIDEBUTTON and @PASSWORDMASK were mistakenly not being employed on the Online Designer page when utilized for a given field.Bug fix: If using MySQL-over-SSL secure database connection while on PHP 5.1 or 5.2, it might not be able to make successful database connections since REDCap was using the MYSQLI_OPT_SSL_VERIFY_SERVER_CERT flag, which was introduced in PHP 5.3. It now only applies that flag if on PHP 5.3 or higher.Version 6.16.0 - (released 6/30/2016)NEW FEATURES & IMPROVEMENTS:New feature - "Delete Records" API method?- Users may now delete individual records using the API. One or more records may be deleted using a single API request, in which the record name must be explicitly specified. For longitudinal projects having multiple arms, the optional "arm" parameter may be passed in the request so that the record is only deleted from the specified arm, whereas by default it will delete the record from all arms if the record exists in more than one arm.New feature - "Import Project Information" API method?- Users may now update certain project-level settings via the API, such as the project's title, if it is longitudinal, if surveys are enabled, etc. The following project attributes can be udpated: project_title, project_language, purpose, purpose_other, project_notes, custom_record_label, secondary_unique_field, is_longitudinal, surveys_enabled, scheduling_enabled, record_autonumbering_enabled, randomization_enabled, project_irb_number, project_grant_number, project_pi_firstname, project_pi_lastname, display_today_now_button.Improvement: Slider fields can be displayed as vertical?by setting their Custom Alignment to right-vertical (RV) or left-vertical (LV). Note: Any already-existing slider fields will automatically be converted to RH and LH alignment during the upgrade process if they previously had RV and LV alignment, respectively (this is because in previous versions there was no difference between the vertical and horizontal alignments for slider fields).BUG FIXES & OTHER CHANGES:Bug fix: If importing data via the Data Import Tool or API import for a longitudinal project in which multiple events are being imported for a record whose record name is mistakenly in different cases (e.g., "mea-101" vs "MEA-101") in the data being imported, then after importing that data, some of the data will never be displayed in reports in exports and will thus be orphaned. However, all the data is still accessible and viewable on data entry forms and surveys, but just not in exports and reports.Bug fix: If REDCap is configured so that only super users are allowed to create projects and thus normal users must request new projects be created for them, then if a user knows how to send a specifically-crafted request to a certain page in REDCap, they could bypass the request process and actually create a new project on their own without a super user's permission.Bug fix: The option to enable "enhanced radio buttons and checkboxes" on surveys was mistakenly not taking effect on CATs (computer adaptive tests) and Auto-scoring instruments, such as PROMIS assessments, that were downloaded from the REDCap Shared Library.Bug fix: In a production project when a user clicks the "Request delete project" button on the Other Functionality tab of the Project Setup page, it would mistakenly not disable the button after being clicked, which would mistakenly allow users to click it multiple times (although it would correctly be disabled if they left the page and then returned).Change: The "multiple tabs/windows open" error message now additionally notes that if a Cross-Site Request Forgery (CSRF) was just attempted that it was successfully blocked. This is helpful for any app scanners that are scanning REDCap and believe they have found a CSRF vulnerability when in fact it is a false positive.Bug fix: On survey pages, the submit buttons at the bottom of the page were causing the page to become too wide on small screens in some cases if both the Previous Page and Next Page buttons were displayed at the same time.Bug fix: A survey page would not automatically widen if the browser window was widened if the page was initially loaded with a narrow width.Bug fix: When a project's metadata is exported as an ODM/XML file, if a field contains a range validation min or max with a value of "0", it would mistakenly be omitted in the resulting XML file.Bug fix: When creating a new project using an uploaded ODM/XML file, if a field contains a range validation min and max value, then the max value would mistakenly overwrite the min value and leave the max value blank, resulting in incorrect validation range values for the field.Reverted the bug fix for Ticket #1100 since it did not ultimately fix the issue. More work will need to be done in a near-term version to ultimately remedy this. (Refers to bug fix: If a Data Quality rule returns more than 10,000 discrepancies, which is the maximum that it will return, if there have been any discrepancies that have been excluded, then when displaying the discrepancy count to the user, it would mistakenly subtract the excluded count from 10,000 rather than subtracting it from the actual total discrepancy count.)Version 6.15.0 - (released 6/22/2016)New feature: Enhanced radio buttons and checkboxes for surveys - A new survey option "enhanced radio buttons and checkboxes" can be found on the Survey Settings page in the Online Designer in which a user can enable the feature so that radio buttons and checkboxes are displayed differently on the survey page, in which they appear as large animated buttons that look more modern and stylish than traditional radios and checkboxes. This new feature can be enabled for any given survey in a project where it will transform *all* radios and checkboxes on the survey into the enhanced version. Note: This feature does not work for radios and checkboxes in a matrix.Improvement: Server-side field validation - In addition to the existing client-side field validation that is performed on surveys and data entry forms, REDCap will now also perform server-side validation to validate all submitted values prior to saving them to ensure they are valid values. This means verifying the value via a text field's field validation type, or if a multiple choice field, verifying that the value is indeed a valid choice for the field. If they are considered invalid values, then the value will not be saved, and the page will be reloaded with an error message (similar to the Required Fields error message) informing the user that invalid values were entered and should thus be corrected, if desired. This new server-side validation improves the overall quality of data being entered on surveys and form.New feature: Create custom public survey link - On the "Public Survey Link" page in a project that utilizes surveys, users now have the option to create their own custom public survey link that begins with "" (e.g.,?),?in which the custom URL will simply redirect to the public survey in their project. They may enter a desired URL, and it will check if the URL has already been taken. If not, it will store that custom URL in the project so that it is always able to be obtained on the Public Survey Link page.New Action Tag: @HIDEBUTTON - Hides the 'Now' or 'Today' button that is typically displayed to the right of date, time, and date/time fields.New Action Tag: @APPUSERNAME-APP - In the REDCap Mobile App, this action tag sets a field's value to the app username of the current mobile app user - i.e., their username in the mobile app, which is not necessarily the same as their REDCap server username that can be captured using @USERNAME. NOTE: For use only in the REDCap Mobile App.Improvement: Updated "Help & FAQ" page. Has better navigation and is easier to read.Improvement/change: If a user has had access to REDCap for more than 7 days and they are logging in to REDCap's home page, then it will redirect them to the My Projects page after a successful login. This is to save them a click, assuming that they have no need to view the home page at this point. Note: Due to certain limitations, this feature is only available for installations using "LDAP", "Table-based", or "LDAP & Table-based" authentication methods.Improvement: Users can now only send the request one time for moving a project to production or requesting that a production project be deleted. In previous versions, the request could be sent many times and could thus cause confusion for the administrator regarding which request should be processed. Additionally, any user that has submitted either of these types of requests may also manually cancel the request by clicking a "Cancel request" button next to the disabled button where the request was originally submitted.Improvement: Administrators can now add comments to items in the Control Center To-Do List. A comment can be added or edited for any item in the To-Do List.Major bug fix: If using the median() function in a calculated field in which there are an even number of non-blank values being used in the function for a given record, then it would mistakenly return an incorrect value when viewing the calculated field on a survey or data entry form. However, if the value was calculated via Auto-Calculation via a data import or Data Quality rule H, then the result would be correct.Major bug fix: If an authenticated user is on a data entry form that has been locked and/or e-signed, and the user knows how to manipulate the webpage in specific ways (e.g. JavaScript methods via their web browser's console) for malicious purposes, they could potentially submit data on the form and modify data values even though the form is locked.Bug fix: If a radio button field (including Yes/No and True/False fields) has a @READONLY action tag, in which that field is being used on a survey where question pre-filling is being performed via query string or form submit and also where that same field's value is being piped somewhere else on the survey page, then the piped value would mistakenly change on the page if the choice label next to the read-only radio button was clicked. (Ticket #1881)Bug fix: For certain server configurations, certain pages would cause a PHP fatal error to do case sensitivity when referencing REDCap's ToDoList PHP class.Bug fix: If using the Data Resolution Workflow in a project, it was mistakenly not displaying the field-level data changes inside the table in the DRW popup but instead was only displaying the actions related to the DRW module. It now correctly displays both the actions and the data changes as it did previously.Bug fix: For data entry forms that begin with one or more slider fields, inside of the user's cursor getting placed on the slider fields as it should, it would mistakenly skip over them and place the cursor in the field that follows them further down the page. (Ticket #2239)Bug fix: When using a survey theme on a survey page, the text color for the "Returning?" link, "Survey Queue" link, and page number text would mistakenly not get incorporated into the survey theme colors, thus sometimes making them hard to read if close enough to the background color used.Change: Modified the "Table-based User Mgmt" link on the Control Center's left-hand menu so that its text says "Add Users (Table-based Only)" instead for greater clarity.Bug fix: When importing a text field with "datetime w/ seconds" validation in which its date is either MDY or DMY format (either via Data Import Tool or via API import), if the "seconds" time component is missing from the end of the value, then it will mistakenly prepend the time component with a "0" in the error message that is returned. This does not affect any data because it fails field validation.Bug fix: When downloading the entire logging record of a project on its Logging page, if any field values contain a "less than" (<) sign followed immediately by a number or letter, then it would mistakenly truncate the Data Changes column for that row in the resulting CSV file. (Ticket #1788)Change: Added new video "Mobile App Project Setup" on the REDCap Mobile App page in a project that discusses the process of setting up the mobile app for a given project.Change: If an entire data entry form is disabled due to a user's form-level privileges being set to "read-only", the user would mistakenly not be able to add an E-signature to the form even if they have E-signing privileges. This is inconsistent since they can Lock or Unlock the form but cannot E-sign it. Users with E-signing privileges will now be able to e-sign a data entry form that is disabled. This is allowable since Locking and E-signing privileges are separate from data entry privileges.Bug fix: If a Data Quality rule returns more than 10,000 discrepancies, which is the maximum that it will return, if there have been any discrepancies that have been excluded, then when displaying the discrepancy count to the user, it would mistakenly subtract the excluded count from 10,000 rather than subtracting it from the actual total discrepancy count. (Ticket #1100)Bug fix: The "reset" link for a matrix of radio button fields was mistakenly getting displayed on the line above the radios rather than below them, thus messing up some of the formatting of the matrix.Version 6.14.2 - (released 6/8/2016)Change: A link to the Control Center was added (for super users only) at the top left of a project page (to the right of the "My Projects" link).Bug fix: Permittable HTML tags that were manually entered in a calendar event's Notes field are no longer interpreted but are mistakenly escaped and displayed as-is on the calendar event. Example: In the mouseover tooltip for a calendar event on the Calendar page, instead of bolding the text when using <b>, it would instead display it explicitly as "<b>". Bug emerged in REDCap 6.14.1.Bug fix: If an authenticated user has special knowledge of REDCap's architecture, they could potentially set or remove the project-level expiration date of a user in a project to which they have access, even if the user does not have privileges to access the User Rights page in that project.Bug fix: If using the GET or POST pre-fill method for pre-filling survey fields, it would mistakenly fail to perform the pre-filling action on checkbox fields having option values of two characters or more in length. (Ticket #1243)Bug fix: If an authenticated user has special knowledge of REDCap's architecture, they could manually call a certain page that would create a new project with a blank project title, even if they do not have project creation privileges. (Ticket #1246)Bug fix: If a survey queue page has many completed surveys, in which it hides them and displays the "view all" link, then if the participant clicked the "view all" link, it would mistakenly not display the hidden completed surveys in the table. Bug emerged in version 6.13.0.Change: All links pointing to pages on the Trac wiki have now been replaced with their corresponding pages on the new REDCap Community website () since the Trac wiki at??has now been officially retired.Bug fix: The REDCap Hook documentation notes that the global variable $conn should be used for database connections. However, that variable is mistakenly not defined at the time any hook is called and thus is not able to be utilized.Bug fix: In certain cases when using Shibboleth authentication, it would mistakenly not set the user's last login time correctly in the redcap_user_information table. (Ticket #1251)Version 6.14.1 - (released 5/25/2016)Improvement: A field's Section Header and Field Annotation are now displayed in the Codebook for the project.Medium security fixes: Several cross-site scripting vulnerabilities were found on various pages throughout REDCap, in which these vulnerabilities could possibly be exploited by a malicious user (who is a valid REDCap user) who knows how to inject specific malicious text into field labels and other various field attributes, which then get displayed on certain pages. (Ticket?#1234)Major bug fix: If using the CDC's SAMS authentication, there is the possibility that the REDCap session could mistakenly persist via the user's browser's session cookie on their computer, despite the fact that the session was destroyed on the REDCap server.Bug fix: When viewing the REDCap upgrade module on Mac OS X, the text inside the SQL upgrade script textbox might mistakenly not display line breaks incorrectly and thus might cause SQL errors if executed as is.Bug fix: Some?JavaScript??errors were occurring in Internet Explorer 8, which caused some functionality to work and some pages not to render correctly.Bug fix: If a super user is submitting production Draft Mode changes in which the changes are not automatically approved, it would mistakenly not add the event to the To-Do List in the Control Center.Change: Updated some of the language in the Install module to provide better guidance and clarity for the installation process, and also to remove language that caters heavily to phpMyAdmin as a preferable MySQL client. Additionally, text was added to stating that MariaDB is a completely compatible alternative for MySQL as a database back-end.Bug fix: If using Two Factor Authentication, it was mistakenly not using the web server's default value for the "Secure" cookie attribute for the Two Factor cookies created, as per changes for session cookies in version 6.14.0.Change: The attribute autocomplete="off" was added to all text input fields on surveys and data entry forms (and to the form tag itself) to allow institutions to better comply with certain regulatory requirements, even though most modern browsers ignore this attribute.Bug fix: If the Double Data Entry module is enabled for a project, the Project Statistics table and the Current Users table would mistakenly overlap on the Project Home page. (Ticket?#1233)Bug fix: When selecting the Import Users API method on the API Playground page, it would mistakenly throw an error and crash the page. (Ticket?#1226)Change/bug fix: When exporting data via the Export Records API method, specifically in flat JSON format, it might mistakenly return the record names as different data types, in which some may be returned as numbers while others as strings. This should not affect anything adversely but might be confusing to users. For consistency, it now returns all record names as strings (i.e., surrounded by quotes) when exported in flat JSON format. (Ticket?#1230)Version 6.14.0 - (released 5/13/2016)NEW FEATURES & IMPROVEMENTS:New feature: Administrator To-Do ListNew page in the Control Center that allows all REDCap administrator requests to be processed in a single place. This includes approving production drafted changes, API token requests, create/copy projects (if applicable), and move projects to production (if applicable).All requests will be listed in a table on this page and will include all associated information about the request, such as time of request, requestor, project, request type, etc.If desired, email notifications can be disabled on this page if administrators no longer wish to receive the emails associated with these requests, but instead wish to solely use the To-Do List page without any email notifications.NOTE: This page will always reflect the current status of all requests, whether or not they were processed using the tables below or using the link inside the email to the administrator (if email notifications are enabled).? New action tag: @USERNAME - Sets a field's value to the username of the current REDCap user. If this is used on a survey, the value will be “[survey respondent]”. Once the value is captured, it will not be changed when visiting the page at a later time.? New action tag: @DEFAULT - Sets a field's initial value.This action tag allows a field to have a specified default value when viewing the field on a survey or data entry form that has not yet had any data saved for it (i.e., when the form status icon is gray or when a survey has not been started).The format must follow the pattern @DEFAULT="????", in which the desired default value should be inside single or double quotes.For checkbox fields, simply separate multiple checkbox values with commas - e.g., @DEFAULT='1,3,6'. NOTE: The default value does *not* get applied during any data imports (via API or Data Import Tool) but only operates when viewing survey pages and data entry forms.For text fields, you may even perform Piping inside the default value to pipe data from another field in the project - e.g., @DEFAULT=”Name: [first_name] [last_name], DOB: [dob]”.NOTE: If being used on a date or datetime field, the date value inside the quotes must be in Y-M-D format - e.g., @DEFAULT='2007-12-25'.If this action tag is used on a survey question that is utilizing a survey pre-fill method (via query string or POST submit), then the pre-fill values supplied will override the default values provided by the action tag.? New hook: redcap_every_page_top - Allows custom actions to be performed at the top of every page in REDCap (including plugins that render the REDCap page header)? New hook: redcap_every_page_before_render - Allows custom actions to be performed by every PHP script in REDCap (including plugins) before the script itself begins to be formally processed.? Improvement: When in production, users can now request that a project be deleted by an administrator. The request will be added to the To-Do List in the Control Center, and the administrator will be emailed (if email notifications are enabled).? New method for hooks/plugins: REDCap::getCopyright - Returns the REDCap copyright text to be displayed on all pages - i.e., "REDCap X.X.X - ? 20XX Vanderbilt University". This is recommended to be used if a hook is utilized to alter an existing REDCap page so much that the normal page footer that contains the REDCap copyright notice is no longer displayed. Thus you may use this method to display the copyright notice on that page but in a different way or in a different location. This is to conform to the REDCap license agreement that stipulates that the REDCap copyright notice should not be removed from any REDCap pages (this excludes plugins).BUG FIXES & OTHER CHANGES:? Change: To be more consistent and simpler with regard to how REDCap administrators are notified about user-submitted requests, the “Person who will approve changes for production projects” option has been removed from the system-level and project-level configurations. Instead, REDCap will now use the “Project Contact Person” name and email for *all* requests rather than using the two options for various requests, which can be confusing regarding which will be used for what type of request. This will keep things much more simplified going further.? Change: On the General Configuration page and Edit A Project’s Settings pages in the Control Center, the option “Project Contact Person” has been re-labeled as “Name of REDCap Administrator” to improve clarification regarding what this option refers to.? Change/improvement: Piping can now work recursively in case the initial data that is piped also contains variables that should then be piped.? Change/improvement: The mailto link at the bottom left of a project has now been replaced with a "Contact REDCap administrator" button that, when clicked, opens the user's default email client and pre-fills the email body with their username, the title of the current project, and a link to the project. This should help administrators in case this information is not provided by the user themselves, which is often the case.? Bug fix: When creating a new Data Quality rule that contains "<-", such as "[field]<-6", in which the "less than" character is followed immediately by a minus sign, it would mistakenly remove everything in the logic beginning with the "less than" sign and after it, and would thus cause the entire logic not to execute correctly.? Bug fix: When exporting a project's metadata and data as a project XML file on the Other Functionality tab of the Project Setup page, the title of the dialog would mistakenly say "Exporting 'report'" when it should instead say "Exporting 'Entire project (metadata & data)'".? Change: When adding a new field in the Online Designer, the Custom Alignment setting no longer resets back to "Right Vertical (RV)" alignment every time as it did in previous versions, but instead it now reverts to the alignment value of the previous field that was opened beforehand while on that page.? Bug fix: If using question auto-numbering on a survey that contains fields that utilize the @HIDDEN or @HIDDEN-SURVEY action tag, it would mistakenly not display the question numbers correctly but would appear to skip some because they belong to the questions being hidden.? Bug fix: A fatal PHP error would occur if calling the "Import Events" API method with the "override" parameter having a value of FALSE. (Ticket #1199)? Change/improvement: The Browse Projects page in the Control Center now displays a project's PID (i.e, its project ID number) next to the project title to allow administrators to more easily identify a project, especially when some projects are similarly named and thus difficult to tell apart.? Bug fix: When viewing the Project Setup page on a mobile device, the link to the My Projects page inside the navigation drop-down list at the top of the page would not be formed correctly, thus causing the link not to work correctly.? Bug fix: If a field references a checkbox field in its branching logic or its calculation (if a calc field), then if the checkbox field's instrument is copied using the Copy action in the Online Designer, the new copy of the checkbox variable would mistakenly not get updated in the branching logic or calculation. (Ticket #1206)? Bug fix: On some project pages, the page footer might mistakenly cover some content at the very bottom of the page. (Ticket #1204)? Improvement: Added an "Edit" link on the left-hand project menu in the "Project Bookmarks" panel to allow users to easily navigate to the Project Bookmarks page if they have Project Design/Setup privileges.? Improvement: When copying a user role on a project's User Rights page, the Edit Role popup now opens immediately after copying a role to allow the user to more easily modify the newly created role.? Bug fix: When creating or editing a report in a project, HTML tags used inside Field Labels would mistakenly get displayed in the field drop-downs on the page, thus causing it to be difficult to view all the Field Labels in the drop-down correctly. (Ticket #1203)? Bug fix: If a matrix of fields has matrix ranking enabled, in which one of the choices in the matrix contains a period/dot in its raw/coded value, then the ranking feature would not work and would mistakenly throw a JavaScript error.? Change: Small clarification in instruction text when a REDCap administrator is creating an API token for a user.? Change: If the REDCap web server already has a large value set for the "max_execution_time" setting in PHP.INI, then REDCap will not lower that setting's value if REDCap's required value is smaller than the system value.? Bug fix: When using the CDC's SAMS authentication, it was mistakenly reporting every page request as a login event in the redcap_log_view database table. This did not affect anything other than causing all logged web requests to be duplicated in the backend database.? Bug fix: The survey table of questions might mistakenly be too narrow (not full width) in some web browsers when taking a survey that is a CAT (computer adaptive test) or auto-scoring instrument downloaded from the REDCap Shared Library.? Bug fix: If the Dynamic Data Pull (DDP) module is enabled for a project, and a non-temporal field's value (e.g., last name) has been imported into REDCap from the source data system, then if the value in the source system ever changed afterward, it would mistakenly never get pulled into REDCap to allow the new value to be adjudicated by a user. Now if it detects that a non-temporal field's value has changed when pulling data from the source system again, then even though it has already been cached in REDCap, it replace the cached value with the new value received from the source system, and will prompt the user to re-adjudicate the new value.? Bug fix: Normal users were not able to do anything on the Record Locking Customization page in a project due to a JavaScript error. Bug emerged in version 6.13.0.? Bug fix: Live Filters on a given report will have no effect when viewing the "Stats & Charts" page for the report, but instead the report will mistakenly display all results as if a Live Filter had not been selected. (Ticket #1219)? Fixed a typo in some Twilio instructions. (Ticket #1209)? Bug fix: When clicking the [?] link for the option "Enable auto-complete for this drop-down" in the Add/Edit Field popup on the Online Designer, it would mistakenly make the browser go to a blank page in certain web browsers (e.g., Firefox).? Fixed typo for instructional text when moving a project to production.? Bug fix: When using the Randomization module in a project, if a super user uploads a new allocation table while in production in order to append those allocations to the existing randomization allocation table, it would mistakenly not log the event.? Change/improvement: The REDCap installation package now comes with the hook_functions.php file and a hooks directory, and the path to the hook_functions.php file is set automatically during the installation process.? Change/improvement: REDCap now uses the value of session.cookie_secure in the PHP.INI configuration file when setting the default cookie parameters. This allows for the "Secure" cookie attribute to be set to True if session.cookie_secure=On in PHP.INI. By default, the "Secure" cookie attribute is set to False.Version 6.13.3 - (released 4/22/2016)Major bug fix: If using the Randomization module in a project while viewing a data entry form of a record that had already been randomized, it is mistakenly possible to click the "Delete data for this form only" button and delete the form's data even when the randomization field or strata fields exist on the page. There should be no way to modify the value of the randomization field or strata fields once a record has been randomized. In this case, it now displays a message saying that the form's data cannot be deleted for the reasons above.Major bug fix: If using the Randomization module in a project while viewing a data entry form of a record that had already been randomized, it is mistakenly possible to click the "Delete data for this event only" button and delete the whole event's data even when the randomization field or strata fields exist on that event. There should be no way to modify the value of the randomization field or strata fields once a record has been randomized. In this case, it now displays a message saying that the event's data cannot be deleted for the reasons above.Major bug fix: If one or more data entry forms have been locked on a given event for a record in a longitudinal project, then it would mistakenly be possible to click the "Delete data for this event only" button at the bottom of the data entry form. There should be no way to delete values for a locked form. In this case, it now displays a message saying that the event's data cannot be deleted until all of the locked forms on the event have been unlocked by someone with locking/unlocking privileges.Change: Added a compatibility notice for the embedded audio option for attachments for Descriptive fields on surveys and data entry forms. The compatibility notice informs the user that the embedded audio option for attachments is not 100% compatible for all audio file types across all web browsers. This is not a limitation in REDCap, but is simply a compatibility issue across web browsers. The most compatible audio file types to use are MP3 and WAV. Other audio types may work on some browsers but not in others. Unfortunately, there is not always an easy way to know what audio file will work for which browser, especially as operating systems and web browsers evolve over time.Improvement: When a user opens the Data History popup or the Data Resolution Workflow popup for a given record/field, the popup should now open a bit more quickly than before if it had been slow in the past, especially for projects with many records and/or data changes.Bug fix: Issue when using Twilio telephony services when using a proxy with the REDCap web server. (Ticket?#1190)Bug fix: When importing data via the Data Import Tool or API data import, the number of records that were created or modified during the import would mistakenly be reported as the number of values that were added/updated rather than the number of records that were created/modified. Bug emerged in 6.13.2. (Ticket?#1189)Bug fix: If a BMP image file was used as an inline image for a Description field on a data collection instrument, then a fatal PHP error would occur if a user attempted to download a PDF of that instrument, thus preventing the user from ever downloading the PDF successfully. It now simply omits the BMP file in the PDF because the third-party PDF software used in REDCap is not able to render BMP files. But at least the user will be able to download the PDF now.Bug fix: For certain server configurations, the Configuration Check page might mistakenly say that the database structure is incorrect when there is actually nothing wrong, in which it would display a lot of SQL queries to fix the "issue" that would fail if they were run (although they would not harm anything).Bug fix: If Automated Invitations have been set for a survey, in which it is using conditional logic to trigger the invitations, and if the logic contains the operator "<=", then when the Automated Invitations popup is reloaded at a later time, it would mistakenly insert a space into the operator ("< =") when displaying it in the popup. Although this issue does get caught by REDCap before allowing the user to save it (thus it should not cause problems), it still is rather annoying to have to manually fix every time prior to saving the logic again.Version 6.13.2 - (released 4/19/2016)? Major bug fix: Some specific web server configurations might throw a fatal PHP error if a user attempted to use the API Metadata Import method or attempted to export/import a CDISC ODM file.? Major bug fix: When using the Randomization module in a project and saving data on the data entry form where the randomization field is located, it is possible in some rare cases that the value of the randomization field, despite being disabled on the page, might somehow get changed (i.e., as seen on the data entry form or reports/exports - although its value in the randomization allocation table will remain unchanged). This might occur due to unforeseen interaction with certain browser extensions, as well as due to unknown manipulation of the form when using certain tablets. More safeguards have now been added in order to prevent the randomization field's value from ever changing on a data entry form.? Bug fix: When importing data via Data Import Tool or API for a field with "vmrn" validation (Vanderbilt medical record number), it would mistakenly convert any blank values into the value "000000000" when importing.? Bug fix: If non-Latin characters (especially multi-byte characters) exist in a project title, then the project title would not display correctly on the My Projects page on a mobile device (small screen) but would instead be garbled. Bug emerged in version 6.13.0. (Ticket?#1182)? Change: Disabled the backspace-goes-back "feature" of browsers, which could cause unexpected issues and confusion if a user accidentally clicked the backspace button on a page.? Bug fix: If using the Dynamic Data Pull (DDP) module with "Preview Fields" enabled, then if a value is entered for a source identifier field on a data entry form and then the record is saved after viewing the Preview Fields while a required field is left blank on the page, then it would mistakenly not display the DDP adjudication popup on the next screen but would instead show the required field popup. It now shows the DDP popup instead.? Change: Matrix fields are now no longer allowed to have a Field Label. (Ticket?#1188)? Change: The width of date and datetime fields was increased on surveys with "Large" or "Very Large" text so that the entire value is always visible.? Bug fix: If a file is uploaded to a File Upload field or Signature field on a survey or data entry form and then another File Upload field or Signature field is opened within one second of closing the first one, then the second field's popup prompt would mistakenly close. This would require the user to have to reopen it.Version 6.13.1 - (released 4/12/2016)? Change: The Configuration Check page now checks to make sure that the DOM extension in PHP is installed.? Bug fix: The table displayed on the Record Status Dashboard and Event Grid (in longitudinal projects) might get widened too far on mobile devices in certain cases or if the browser window is resized. This would make the page unusable.? Bug fix: When using the Quick Add feature when adding/editing a report, if an instrument begins with a Descriptive field, then it would mistakenly not display the instrument name and the "Select All/Deselect All" options in the Quick Add popup, thus making it impossible to select/deselect all fields in that instrument at once.? Bug fix: If the words "and" or "or" are used inside single quotes or double quotes in branching logic or a calculation (e.g., [text_field] = "x and y"), then it would not get parsed correctly and thus would not function as expected. (Ticket #1160)? Bug fix: When sending emails in a Google App Engine environment, REDCap would think the emails did not send even when they actually did.? Bug fix: It was not possible to move a project to Inactive status because the button on the Other Functionality did not do anything.? Bug fix: When using the REDCap::getPDF method in a plugin or hook, in certain circumstances it might mistakenly return a single instrument in the PDF even though the $instrument parameter is passed as NULL in order to force it to return all instruments. (Ticket #1177)? Bug fix: When performing a search using the Data Search utility on the Add/Edit Records page, it might mistakenly return results that belong to orphaned events that have since been deleted.? Change: The enhancement added in a recent version to prompt the user to have a text field's value automatically trimmed if the value begins or ends with whitespace was mistakenly being applied to Notes fields when it should have only been applied to Text fields.Version 6.13.0 - (released 4/8/2016)? New feature: Responsive design of REDCap web pages? Now has a more flexible and responsive user interface to conform to and fit screens on devices of all sizes.? Major improvement for how surveys and data entry forms look on mobile devices (i.e., phones), including automatic font increase and forced left-alignment of questions for better user experience when screen real estate is limited.? REDCap now has the Bootstrap front-end framework embedded inside it, thus allowing plugin/hook developers to utilize all the Bootstrap UI elements and features.? Technical note: The “label” CSS class used for field labels in the question table on surveys and data entry forms has been replaced with “labelrc” to prevent conflicts with Bootstrap.? Improvement: Slider fields on surveys and data entry forms are now much easier to use on mobile/touch devices.? Improvement/change: When a user moves a project to production (or requests to have a project moved to production) on the Project Setup page, it now forces them to choose if they want to delete all project data or to keep all existing records. In previous versions, it would pre-check the “delete all data” checkbox, which could sometimes cause users to unwittingly lose all their data if not paying attention to what they are agreeing to.? Improvement/change: A new system-level setting allows administrators to hide the option where users can export an entire project as a single REDCap XML file (i.e., project backup). Because some institutions are wary of users feeling the need to download an entire project and its data, they may unwittingly download unencrypted project backups (containing data) to store on their local drive, which could be a security or privacy concern. This option can now be disabled on the Modules Configuration page in the Control Center.? Change: The Record Locking Customization page in a project now allows normal users to view the locking and e-signature information in read-only format when in production. In previous versions, only super users were allowed to view this page in production status.? Major bug fix: If the randomization module is enabled in a project and is using Data Access Groups to randomize by group/site (i.e., using DAGs as a strata field), then it is possible to delete any given Data Access Group and thus cause catastrophic issues with the randomization process, especially if the randomization allocation table has already been uploaded and/or users have already begun to randomize records in the project. It now prevents users from deleting DAGs if randomization has already been enabled and set up. (Ticket #1135)? Major bug fix: If the function min() or max() is used in a calculated field, then auto-calculations (via data import, Data Quality rule H, etc.) might mistakenly not get triggered for this field and thus might leave the existing incorrect value as-is. This is related to bug fix for these functions in the previous version.? Bug fix: If a survey has custom survey theme options set (as opposed to using a pre-built theme), then the custom theme options would mistakenly not be reflected on the Survey Completion Text page after a participant has completed the survey.? Improvement: The User Rights page in a project now prevents users from mistakenly assigning themselves to a role that does not have User Rights privileges, which could inadvertently cause them to be locked out of that page in their own project.? Bug fix: If the first field on a data entry form is a drop-down autocomplete field that has no value entered yet, then the drop-down's choices will not be displayed automatically when the page loads. This is done in order to simulate the behavior of real drop-down fields and also because the previous behavior it confused some users and might even cause the website to react in unexpected ways if the list was very long when displayed on smaller screens.? Bug fix: If a user has uploaded a WAV audio file as an attachment on a Descriptive field on a form or survey, then it would not be able to play the sound file in any version of Internet Explorer if the user has selected the file to play in an embedded player on the page. (Ticket #1158)? Bug fix: When attempting to import a REDCap project XML file when creating a new project, in which the XML file contains data for checkbox fields, it would display an erroneous error message and would prevent the user from creating the project. (Ticket #1154)? Bug fix: When attempting to import a REDCap project XML file when creating a new project, in which the XML file contains data and also contains Data Access Group assignments for the records in the data, it would throw an erroneous error and prevent the user from creating the project. It now ignores any DAG assignments in the XML data during the project creation process since no DAGs will actually be created in the new project during this process.? Bug fix: If a project has fields that contain UTF-8/non-Latin characters that have been encoded incorrectly (often due to Microsoft Excel not saving a data dictionary in the right character encoding), then the project might mistakenly not sync to the REDCap Mobile App when attempting to set up the project on a mobile device.? Bug fix: If a field in a project is selected to be the Secondary Unique Field and that field also has field validation (e.g., integer, email), then the field validation will mistakenly get removed when viewing that field on the data entry form or survey page, thus allowing data in any format to be entered without validation. (Ticket #1138)? Bug fix: If a field is hidden because of the action tag @HIDDEN, @HIDDEN-SURVEY, or @HIDDEN-FORM, then it would mistakenly not hide the section header belonging to that field's section if all fields in the section were hidden (due to either branching logic or due to @HIDDEN action tags).? Change: On the Survey Settings page in the Online Designer, the text for the "Delete Survey" button at the bottom of the page has been changed to "Delete Survey Settings" to reduce confusion regarding what the button does.? Bug fix: Due to changes in MySQL 5.7.4, a database table cannot have a date field with '0000-00-00' as a default, which was causing some issues during REDCap installation.? Bug fix: When utilizing the Randomization module in a project and using one or more strata fields, if a user is randomizing a record but does not have edit privileges to a data entry form on which one of the strata fields is located, then it would mistakenly allow the user to modify the value of the field during the randomization process despite not having edit privileges to do so.? Bug fix: When resetting the password of a user when using Table-based authentication, it might sometimes mistakenly lock the user out of REDCap for a limited period of time (as if they had several failed login attempts) after clicking the "Set your new password" link in their email. This was supposedly fixed in earlier versions but still persisted randomly in rare cases.? Bug fix: If new Table-based users are being created via uploaded CSV file on the "Create Users (Bulk Upload)" page in the Control Center and they have non-Latin/UTF-8 characters in their name, comments, or other attributes, it would not be able to display those attributes correctly when viewing the user's account on the Browse Users page if the CSV file being uploaded was not encoded correctly as UTF-8 encoding with a BOM (byte-order mark).Version 6.12.2 - (released 3/18/2016)Major bug fix: If the function min() or max() is used in a calculated field in which one of the values used in the function is blank/null, then auto-calculations (via data import, Data Quality rule H, etc.) would mistakenly return an incorrect answer. This is despite the fact that it would calculate it correctly when viewing the calculated value on a data entry form or survey. In this way, the calculation might get saved correctly initially but then may get changed later to the incorrect value via auto-calculations or by running rule H in the Data Quality module.Major bug fix: If a calculated field has somehow ended up having an incorrect value when its value should instead be blank/null, then auto-calculations (via data import, Data Quality rule H, etc.) would mistakenly not be able to correct the value to set it as blank/null. This would often be seen when running rule H in the Data Quality module, in which it would appear not to fix any values even though it said that it did fix them. (Ticket?#1156)Major bug fix: If a user executes rule H in the Data Quality module in which some of the values listed exist on a data entry form that has been locked, then the process will fail when the user attempts to fix all incorrect calculated values, even though it may mistakenly say that it did fix them. This prevents any of the calculations from being fixed in the project. (Ticket?#1156)Bug fix: If a user accesses a data entry form that has been disabled (either because they have read-only form rights or because the form is locked), then calculations could be triggered on that page when the page loads, thus changing the values of the calc fields and possibly showing/hiding other fields if they have branching logic based on those calc fields. This is normally fine if the data is not being saved; however, if the user leaves the page, it would mistakenly display for them the "Save your changes?" dialog, which inadvertently allows them to save the values of those calc fields even though they should not be able to modify data on that page. (Ticket?#1128)Bug fix: If a drop-down field on a survey has a Stop Action and the auto-complete feature is enabled for the drop-down field, then if the Stop Action gets triggered by a participant, then it would not correctly remove the field's value if the participant clicked the button "Continue survey and undo last response" and might also cause lots of popups to pile on top of each other.Bug fix: If a survey participant is using IE6 or IE7, then it would throw a?JavaScript??error on the Survey Completion Text page after completing the survey (although it would successfully save their responses with no problem). (Ticket?#1142)Version 6.12.1 - (released 3/9/2016)? New feature: Live Filters for reportsAny report can now have up to 3 fields that can be designated as a Live Filter. The Live Filters are displayed as drop-downs when viewing a report at the top-right of the page, and selecting a Live Filter will cause the report to be re-run in real time using the Live Filter value as a filter.If exporting a report that has a Live Filter selected, the export popup window will provide an extra choice to allow the user to export the full report data set or to apply the currently selected Live Filter to the report when exporting.Note: Currently only multiple choice fields can be used as Live Filters (as well as Events, if longitudinal, and Data Access Groups, if any exist).? Improvement: The left-hand menu of each project now has collapsible sections so that a user may collapse the section for easier navigation or to have a more compact page. The collapsed state of each section in each project is remembered using a cookie on the user's device so that when a user returns to the project in the future, the menu section remains in the same collapsed/non-collapsed state as the last time they viewed it on that device.? Improvement: Performing data exports or viewing reports for projects containing very large amounts records, especially in conjunction with lots of events and/or fields, should not halt the export process very often anymore. In the past this might cause REDCap to display an error message saying "the data export is not able to complete" due to the large amount of data being exported or viewed. In the case when too much web server memory is used during the data export process, REDCap will now invisibly revert to a backup process that utilizes a local temp file on the server for temporarily storing data during the export process (rather than relying on server memory solely for this). This will allow the export process to complete successfully; however, the process will take several times longer to complete than if simply using server memory.? Change: When exporting an entire project as a REDCap Project XML file, it now provides the option "Include all uploaded files and signatures?", which is unchecked by default. In previous versions, it automatically included all uploaded files and signatures in the resulting XML file, but this often caused the export to fail due to the project either containing many files or containing very large files.? Change: A new parameter "exportFiles" (boolean) was added to the REDCap::getProjectXML developer method for plugins and hooks. The parameter, which defaults to FALSE, specifies whether or not the resulting XML will include all files (base64 encoded) that were uploaded for File Upload and Signature fields for all records in the project. Please note that while the previous version (6.12.0) exported all files in the resulting XML by default, it no longer does that and must now be specified explicitly.? Change: A new parameter "exportFiles" (boolean) was added to the "Export Project XML" API method. The parameter, which defaults to FALSE, specifies whether or not the resulting XML will include all files (base64 encoded) that were uploaded for File Upload and Signature fields for all records in the project. Please note that while the previous version (6.12.0) exported all files in the resulting XML by default, it no longer does that and must now be specified explicitly.? Bug fix: When uploading a data dictionary containing a calc field whose calculation has a syntactical error, it would mistakenly display some seemingly irrelevant numbers at the end of the error message, which could be confusing.? Bug fix: When using certain non-English translation files (i.e., French), the "Suspend user account" button might not display correctly or function on the Browse Users page in the Control Center. (Ticket?user information (closed: Will fix in upcoming release)" style="text-decoration: line-through; color: rgb(187, 0, 0); border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: rgb(187, 187, 187);">#1081)? Bug fix: When downloading the CSV file of the list of users in the popup on the Browse Users page in the Control Center, if the file contained any UTF-8 characters, it would mistakenly not add the Byte Order Mark (BOM) at the beginning of the file, thus preventing the file from being opened easily by most programs. (Ticket?#1099)? Bug fix: When exporting data to a statistical analysis package (e.g., SAS) if a multiple choice field in the project contains two or more choices having the same coded value, which is typically discouraged, it could throw an error in the statistical analysis software when loading in the syntax file from REDCap. In the case where duplicate codings exist for a given multiple choice field, it will now merge those choice labels together in the syntax file for the stats package when performing a data export.? Bug fix: If a data entry form is opened and the first field on it has a min/max range validation check, in which the value is already entered and is out of range, then if any dialog popups get displayed initially when the form loads (e.g., required fields were missing, data quality real-time execution rules were violated), it would mistakenly display the out-of-range error message for that first field whenever the user would click on a dialog popup on the page that happens to be obscuring the field in question.? Bug fix: When assigning an existing user in a project to a role or when re-assigning an existing user to another role, it would mistakenly display the "Notify user via email?" option above the role names when choosing their role. It should only display that option when initially adding a user to the project via assigning them to a role.? Bug fix: The time field was mistakenly not being validated for Step 3 when setting up Automated Survey Invitations with option "Send on next [day] at time [time]" and also when enabling reminders using option "Send every [day] at time [time]" when composing survey invitations. This could allow users to accidentally enter an invalid value, thus causing the invitations/reminders not to send at the desired time. (Ticket?#1136)? Bug fix: When clicking the "Use advanced logic" link in Step 3 when creating or editing a report in a project, if a text field for the filter value was left blank, then it would mistakenly convert that blank value to "undefined" in the advanced logic that is produced, rather than it being just two double quotes (i.e., "").Version 6.12.0 - (released 2/26/2016)? NEW FEATURES & IMPROVEMENTS:Improvement: New option to download charts displayed on the "Stats & Charts" tab of the "Data Exports, Reports, and Stats" module. The charts will download as PNG image files.New feature: Users may now export a project’s data in CDISC ODM format. This new option is found on the “Data Exports, Reports, and Stats” page in the data export popup when selecting export format.New feature: An entire REDCap project can now be exported as a single XML file (which happens to be in CDISC ODM format). The file includes events, arms, instruments, fields, and project attributes – even Descriptive field attachments. If the project contains data, then the user can also optionally export the project data (including uploaded files) in the same XML file. This XML file can serve as a snapshot or backup copy of the project, and can even be imported on the Create New Project page to create a clone (more or less) of the project.New feature: Create a new project from a REDCap XML file (or other XML file containing metadata in CDISC ODM format). This is a new option on the Create New Project page, which allows the user to optionally upload their XML file rather than choosing a project template or creating the project from scratch.New and improved SDK developer methods for plugins and hooksREDCap::getProjectXML – New method – Returns the contents of an entire project (records, events, arms, instruments, fields, and project attributes – even uploaded files and Descriptive field attachments) as a single XML file, which is in CDISC ODM format.REDCap::getData – Parameter for data format now accepts value of “odm” to export data in CDISC ODM format. This only returns data (not the project structure/metadata).REDCap::saveData – Parameter for data format now accepts value of “odm” to import data in CDISC ODM format. This only returns data (not the project structure/metadata).New and improved API methodsExport Project XML – New API method – Returns the contents of an entire project (records, events, arms, instruments, fields, and project attributes – even uploaded files and Descriptive field attachments) as a single XML file, which is in CDISC ODM format.Export Records – Parameter for data format now accepts value of “odm” to export data in CDISC ODM format. This only returns data (not the project structure/metadata).Import Records – Parameter for data format now accepts value of “odm” to import data in CDISC ODM format. This only returns data (not the project structure/metadata).Create Project – New optional parameter named “odm” can be used to pass the ODM XML string of an entire project’s structure (the same as output by the Export Project XML method) when creating a new project using a Super API Token. This will allow you not only to create the project with the API request, but also to import all fields, forms, and project attributes (and events and arms, if longitudinal) as well as record data all at the same time.? BUG FIXES & OTHER CHANGES:Major bug fix: When using Table-based authentication, in which a new user account is created and the user receives an email to set their password, in some cases it would mistakenly cause multiple false logins after loading the page, which might possibly trigger the auto-lockout feature. If this happens, the user would have to wait until after the set lockout period has passed, but it is possible that the auto-lockout could occur again, thus preventing the user from gaining access to REDCap for a while. This does not occur on all occasions but only randomly. This bug was thought to have been fixed in a prior version but apparently still occurred in certain cases. (Ticket?#1112)Bug fix: If running PHP 5.1 or 5.2 on the REDCap web server, REDCap might not be able to send emails successfully but instead will throw a PHP parsing error. Bug introduced in REDCap 6.11.0.Bug fix: When using a survey theme on a survey containing a matrix of fields, it would mistakenly not highlight the matrix field labels in green when focus is put on the field.Change: Added a new check to confirm that the version directory of the current REDCap version (e.g., redcap_v6.12.0) has not been mistakenly removed from the web server, thus resulting in a strange non-styled Home page or My Projects page.Bug fix: If the system-level setting "Enable the use of surveys in projects?" is disabled on the Modules Configuration page in the Control Center, then it would mistakenly still allow users to access survey modules in a project if surveys had been enabled in the project prior to the disabling of the system-level survey setting. (Ticket?#1124)Bug fix: The Logging page in a project would mistakenly not display the logged event correctly when uploading or downloading a file attachment on a Descriptive field. Instead it would display it similar to that of a file uploaded to a File Upload field.Version 6.11.5 - (released 2/12/2016)? New feature: Domain whitelist for cross-domain HTTP access control - By default, for flexibility purposes, AJAX requests (via?JavaScript?) can be made to REDCap from any domain/URL. If you wish to restrict this so that only certain domains can make cross-domain AJAX requests to REDCap, then you will need to set the domain name of all allowed access control origins (i.e., the domain of the URLs) in the text box to the right. If the text box is left blank (default), then any domain will be able to make cross-domain AJAX requests to REDCap. Restricting access control to specific domains is generally considered to make REDCap more secure to prevent against possible Cross-Site Scripting attacks by malicious users. This setting can be found at the bottom of the Security & Authentication page in the Control Center.? Improvement: When an instrument has been enabled as a survey and the survey has the setting "Auto-continue to next survey" enabled, then a down arrow icon will now appear in the Online Designer for that survey to denote that this setting has been enabled.? Major bug fix: It was mistakenly possible to import dates or datetime values that contained no dashes or slashes (e.g. 20160229 instead of 2016-02-29) via the Data Import Tool or API for date-, datetime-, or datetime_seconds-validated Text fields. This could result in storing incorrectly formatted date and datetime values.? Major bug fix: If a field in a project contained a double underscore in its variable name (because it was created in an older version of REDCap that mistakenly allowed the double underscore), then when downloading and uploading the data dictionary for the project when in production status, it would mistakenly remove the double underscore, thus resulting in the deletion of the original field and unwittingly orphaning data. (Ticket?#1012)? Bug fix: If using the Twilio telephony services for surveys and using multiple SMS/phone surveys in a single project when having the Twilio configuration option "Behavior for overlapping SMS invitations" set to "Allow participant to choose which survey to take next", then it might mistakenly include already-completed surveys in the list sent to the user. Also, it would mistakenly not include surveys in the list whose invitations are set to call the participant after the participant sends an SMS message with an access code.? Bug fix: When creating a new report in a project, if a user opted to use advanced logic for Step 3 (Filters), it would mistakenly not save the logic when creating the report but leave it blank. It would save correctly if advanced logic was added to an existing report but not to one that is being created.? Change: New videos for REDCap Mobile App? Bug fix: Some HTML character codes (such as " ") inside Field Labels would get mistakenly displayed on the Data Dictionary Codebook page for a project.? Bug fix: When exporting a project's logging as a CSV file on the Logging page, then if any UTF-8 characters existed in the CSV file, it would mistakenly not include a Byte Order Mark (BOM) at the beginning of the file. Without the BOM, the UTF-8 encoded file could not be opened in certain text editors or applications. (Ticket?#537)? Bug fix: When exporting a project's Participant List or Survey Invitation Log as a CSV file, then if any UTF-8 characters existed in the CSV file, it would mistakenly not include a Byte Order Mark (BOM) at the beginning of the file. Without the BOM, the UTF-8 encoded file could not be opened in certain text editors or applications. (Ticket?#1099)? Bug fix: If the text-to-speech feature is enabled on a survey that contains a logo at the top of the survey page, then the speaker icons that appear next to the survey title and instructions would mistakenly be in the wrong place on the page when the webpage loads instead of right next to the title and instructions text. (Ticket?#1113)? Bug fix: For certain server configurations, some stray double quote characters in the English.ini language file would cause the upgrade module to crash, thus making it impossible to complete the upgrade process to upgrade from a prior version.Version 6.11.4 - (released 2/5/2016)? Major bug fix: If the "Save & Return Later" option had been enabled for a survey and an instrument had been locked by a user for a specific record/response, then a survey participant having a unique survey link (as opposed to a public survey link) would mistakenly be able to return to the response and erase all the data values on the survey using the "Start Over" button, even though the responses should have been locked and not editable. This has been changed so that if the response is locked, it will not even display the "Start Over" button or the text field for entering a Return Code but instead will display to the survey participant a message saying that they cannot return to the response at this time because it is currently locked.? Bug fix: If trying to utilize the SSL/TLS connection to MySQL, it would mistakenly not be able to connect to the database at all. (Ticket?#1097)? Bug fix: If a project has the main "Use surveys in this project?" setting enabled but no instruments have been enabled as a survey yet, then it would mistakenly not display the "Manage Survey Participants" option on the User Rights page when adding/editing a user or role. (Ticket?#1100)Version 6.11.3 - (released 1/29/2016)? Bug fix: On certain pages, such as the "Table-based User Management" page in the Control Center, in which the PEAR DB module is utilized for database connections, if REDCap was not using the default MySQL port (i.e., 3306), then the page would result in a fatal PHP error. This bug emerged in version 6.11.0.? Bug fix: The project Logging page was mistakenly not noting if a record was created or updated via a data import. It now says "(import)" after "Created Record" or "Updated Record" in the Action column if the record was imported via the Data Import Tool page.? Bug fix: When saving text values containing apostrophes for text boxes on many Control Center system configuration pages, it would save the values correctly but would mistakenly not re-display the values correctly if the page was revisited, in which the value in the text box would get truncated at the location of apostrophe. So if the reloaded page was then saved again, then the truncated value would mistakenly get saved. (Ticket?#1083)? Bug fix: If using the Twilio telephony services for surveys, then if a participant was added to the Participant List but the participant had not yet started the survey, and then a user attempted to change their Invitation Preference in the Participant List, it would appear to change but mistakenly would not, which could be seen once the page was reloaded.? Bug fix: When using the Data Search feature on the?Add/Edit??Records page in a project and entering "b" as the search query, it would mistakenly return a result with the HTML tag "<b>" highlighted in the result instead of the first "b" in the data value.? Bug fix: After having set the conditions for an Automated Survey Invitation in the Online Designer, in which a survey has been selected in the drop-down list in Step 2 of the Automated Survey Invitations setup, if a user then changed that drop-down's value back to "select a survey" (the default value), it would mistakenly display an error popup message. It should instead not display any message at all in that case.? Bug fix: On the Browse Users page of the Control Center when viewing a user, the "Suspend user account" button might mistakenly not work when clicked if using certain language translation files for REDCap, such as French. (Ticket?user information (closed: Will fix in upcoming release)" style="text-decoration: line-through; color: rgb(187, 0, 0); border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: rgb(187, 187, 187);">#1081)? Change: "action" was added to the reserved variable name list to prevent users from creating fields with that variable name since it can cause?JavaScript??errors to occur on a survey or form in certain browsers when the field is used in branching logic. (Ticket?#1093)? Bug fix: When using the Randomization module in a project and performing randomization for a record on a data entry form, if the randomization field has any HTML inside its field label or its choice labels, then in the popup displayed after a successful randomization, it would mistakenly display the label's HTML as escaped rather than having the HTML be interpreted on the page. This makes it more consistent with how the label is displayed on the data entry form. (Ticket?#1091)? Bug fix: Users in a longitudinal project would mistakenly be able to delete all events in the project if they deleted the second to last event and then immediately deleted the last event prior to leaving the page. It now prevents users from deleting all events, which can cause problems in the project such as not displaying certain things correctly. (Ticket?#1073)? Change: The Help & FAQ page was updated.? Change/improvement: If the Survey Login feature is enabled in a project, it now offers a "Show value" checkbox immediately below each login field, and when checked it will remove the password mask from the field to allow the participant to view the value as clear text. Removing the mask may be necessary in certain cases, such as entering specially formatted values like dates/times and also when using mobile devices, on which it might be more difficult to type with accuracy. Note: The password mask feature for text fields on the survey login form were added recently in version 6.11.0, whereas in prior versions the password fields had unmasked clear text values. (Ticket?#1084)? Bug fix: When using the Scheduling module in a longitudinal project containing more than one arm, it would mistakenly not allow users to generate a new schedule for records that exist in more than one arm and have been scheduled for at least one arm already. (Ticket?#1020)Version 6.11.2 - (released 1/16/2016)? Major bug fix: When using Table-based authentication, in which a new user account is created and the user receives an email to set their password, in some cases it would mistakenly cause multiple false logins after loading the page, which might possibly trigger the auto-lockout feature. If this happens, the user would have to wait until after the set lockout period has passed, but it is possible that the auto-lockout could occur again, thus preventing the user from gaining access to REDCap for a while. This does not occur on all occasions but only randomly. (Ticket?#1071)? Medium security vulnerability: It was discovered that SQL Injection might be possible on the File Repository page if a malicious user knows how to send a specifically-crafted request to REDCap to exploit the vulnerability.? Change: When performing the field mapping step in the Dynamical Data Pull (DDP) module in a project, it would display a question mark icon next to each field in the tree of source fields even if the metadata web service does not provide a "description" attribute for the field. This could be confusing since the icon would essentially serve no purpose in this case. It now only displays the icon if a description is actually provided by the metadata web service for a given field.? Bug fix: The Import Users API method had a mistake in its documentation, in which it said the "content" parameter should be "user_rights" when it should instead be "user".? Bug fix: If a survey has the "Save & Return Later" feature enabled and also allows respondents to edit completed responses, then the Return Codes export on the "Data Exports, Reports, and Stats" page would mistakenly leave blank all the return codes for completed responses in the exported CSV file.? Bug fix: When using the REDCap Mobile App page in a project, in which the project has been set up on the mobile app and then the user has performed an emergency data dump from the app, if a file from a Signature field or File Upload field was uploaded to the Mobile App File Archive, its download icon on the page would mistakenly say "Excel CSV". That should only happen for CSV files, such as a logging file or data dump CSV on that page. (Ticket?#1074)? Change: When a project is in production status, it was too difficult for users to find the Check For Identifiers page, so it has now been added to the bottom of the Project Setup page when the project is in production.? Bug fix: When opening the?Add/Edit??Field popup in the Online Designer, it was mistakenly displaying the Field Annotation section for Section Headers when it should not be displayed for them. (Ticket?#1072)? Bug fix: When HTML tags and/or CSS is used inside the Field Label of a required field and a user or survey participant submits the page without having entered a value for the field, it would display the Field Label in a popup when listing which fields have a missing value, but it would mistakenly strip out all HTML in the Field Label. It now maintains all the HTML and styling when displaying it inside the required field popup.? Bug fix: In a longitudinal project that has multiple arms and the first instrument is enabled as a survey, when adding the first event to an empty arm, it would display an erroneous warning message saying that the first event of the arm was moved to another position, which is not correct and should not be displayed in this scenario. (Ticket#1070)? Bug fix: When the Dynamic Data Pull (DDP) module is enabled for a project, on certain occasions the DDP Mapping page might mistakenly display a field at the bottom of the mapping table and list it erroneously as a composite field.? Bug fix: If the Secondary Unique Field feature is enabled in a project, there are certain occasions on which a user or participant might be able to bypass the uniqueness check when submitting values on a form or survey.Version 6.11.1 - (released 12/22/2015)? Change/improvement: When users are being assigned to a role while being granted access to a project on the User Rights page, it now displays a checkbox option to have the user emailed in order to notify them of having been granted access to the project. In previous versions, there was no way to notify a user when being added to a project via role assignment. (Ticket?#1051)? Bug fix: When using the plugin/hook method REDCap::getPDF() for an instrument that has been enabled as a survey, it would mistakenly return the form version of the PDF rather than the survey version of the PDF, which includes the survey title, instructions, and survey completion time.? Bug fix: Several places in REDCap currently send an email in which the From and To address are the same (e.g., emailing a survey Return Code, emailing a confirmation that someone has downloaded a Send-It file, when a Table-based user recovers their password), but that can sometimes cause the email not to be received by the recipient because it can get flagged as spam by certain email services. In those cases, REDCap now uses the email address of the Project Contact Person as to email sender for greater compatibility.? Bug fix: The "Map of Users" page in the Control Center would mistakenly no longer load the map due to changes in the Google Maps API. (Ticket?#1058)? Bug fix: If a user is on the File Repository page in a project and selects the "All?Exports/Types?" to filter data export files, it would mistakenly display the files from the last export instead. (Ticket?#1060)? Bug fix: If a user is on the File Repository page in a project and makes a selection in the drop-down list to filter data export files, in which it will return zero files for that selection, then when the page is redisplayed it would mistakenly hide the "filter by" drop-down, thus making it impossible to make another selection, and the user would be forced to click the Back button in their browser and click on a tab above.? Bug fix: When copying a project or creating a new project from a Project Template, it would mistakenly not copy certain project attributes from the original project, such as if the Randomization module is enabled.? Bug fix: When using the Randomization module in a project and moving the project to production after some records have been randomized while in development status, it would mistakenly leave the "Randomize record" events in the project's Logging history when all records are being deleted during the move-to-production process. It now removes those logged events from the Logging.? Bug fix: The plugin/hook method REDCap::getSurveyLink() would mistakenly return a survey link if provided with a record name for a record that does not yet exist. Also, in a longitudinal project it would mistakenly return a survey link for a record that has not been created in a given arm when an event_id from that arm has been passed as a parameter in the method, and if the link was used by a respondent, it would create the record in the other arm. In these situations, it should instead return NULL.Version 6.11.0 - (released 12/18/2015)? NEW FEATURES & IMPROVEMENTS:New API methods (please see the API documentation embedded in REDCap for details regarding these methods)Arm import/delete - for longitudinal projects only; requires API Import privileges and Project?Design/Setup??privilegesEvent import/delete - for longitudinal projects only; requires API Import privileges and Project?Design/Setup??privilegesImport instrument-event mappings - for longitudinal projects only; requires API Import privileges and Project?Design/Setup??privilegesImport metadata, i.e. data dictionary - available only in development status; requires API Import privileges and Project?Design/Setup??privilegesImport users (import new users into a project while setting their user privileges, or update the privileges of existing users in the project.) - requires API Import privileges and User Rights privilegesCreate projectAllows a user to create a new REDCap project while setting some project attributes, such as project title, project purpose, enable/disable record auto-numbering, enable the project as longitudinal, and enable surveys in the project.This method requires a Super API Token that must be granted to a user by a REDCap administrator on the API Tokens page in the Control Center.After the super token has been granted, the user can view the super token on their My Profile page.Improvement: Added support for hosting REDCap in Google Cloud?AppEngine??(with Google Cloud Storage). When hosted on the Google Cloud Platform, you can set file storage option to “Google Cloud Storage” on the File Upload Settings page and provide the names of the buckets where the files will be stored. It also works seamlessly to connect with Google Cloud SQL that would host the MySQL backend for REDCap.Improvement: REDCap now supports secure connections to MySQL using SSL/TLS. The following PHP variables must be added into database.php in the main "redcap" directory (the first 3 are required at minimum, while the last 2 might be optional for certain configurations).$db_ssl_key = '';// e.g., '/etc/mysql/ssl/client-key.pem'$db_ssl_cert = '';// e.g., '/etc/mysql/ssl/client-cert.pem'$db_ssl_ca = '';// e.g., '/etc/mysql/ssl/ca-cert.pem'$db_ssl_capath = NULL;$db_ssl_cipher = NULL;? Improvement: Users may now download and upload arms and events as a CSV file on the “Define My Events” page, as well as download and upload the instrument-event designations as a CSV file on the “Designate Instruments for My Events” page. Using these methods, users can now fully reconstruct the structure of a project if they wish to copy it, in which they could download the data dictionary file, arms file, events file, event mappings file, and data export file, and then upload all of them into a new project to recreate it. In previous versions, this could only be done for classic projects, but this now allows it to be done for longitudinal projects. When uploading the CSV file for arms, events, or event mappings, it will display a preview to the user to show what changes will be made, such as which things may be added, modified, deleted, or stay the same.? Improvement: “select all” and “deselect all” links were added to the “Designate Instruments for My Events” page to allow users to more easily check off the checkboxes if many instruments and/or events exist in the project.? Improvement: When assigning projects to Project Folders, there is now a checkbox option to hide archived projects in the project list. This should make it easier for users to ignore those projects during the folder assignment process.? Improvement: A new optional API parameter named "filterLogic" was API method "Export Records". filterLogic should be a string of logic text (e.g., [age] > 30) for filtering the data to be returned by this API method, in which the API will only return the records (or record-events, if a longitudinal project) where the logic evaluates as TRUE. This parameter is blank/null by default unless a value is supplied. Please note that if the filter logic contains any incorrect syntax, the API will respond with an error message.? Improvement: The Activity Graphs page in the Control Center now includes two new charts: 1) Database Usage (MB), and 2) Usage by Uploaded Files (MB).* BUG FIXES & OTHER CHANGES:? Change/improvement: If the Survey Login feature is enabled in a project, it now performs a password mask for the text fields on the survey login form in order to obscure the participant's password value(s). In previous versions, the password fields were displayed as clear text.? Changes to existing API methodsChange: For the API method “Export Users”, many more user privilege rights are included in the response. The following is the full header list: username,email,firstname,lastname,expiration,data_access_group,data_access_group_id,design,user_rights,data_access_groups,data_export,reports,stats_and_charts,manage_survey_participants,calendar,data_import_tool,data_comparison_tool,logging,file_repository,data_quality_create,data_quality_execute,api_export,api_import,mobile_app,mobile_app_download_data,record_create,record_rename,record_delete,lock_records_all_forms,lock_records,lock_records_customization,formsChange: For the API method “Export Users”, when requesting a response in CSV format, form-level rights are returned in a different format in order to prevent possible duplication of other new user privileges that are returned, in which all form rights will now be consolidated into a single column named “forms” (whereas in previous versions each form was represented as an individual column). The last column of the CSV string returned will have “forms” as the header, and the value will be each [unique] form name and its numerical value as a colon-separated pair with all the form value pairs strung together as a single comma-separated string (e.g. “demographics:1,visit_data:3,baseline:1”). See a full CSV example below of two users exported from a project.username,email,firstname,lastname,expiration,data_access_group,data_access_group_id,design,user_rights,data_access_groups,data_export,reports,stats_and_charts,manage_survey_participants,calendar,data_import_tool,data_comparison_tool,logging,file_repository,data_quality_create,data_quality_execute,api_export,api_import,mobile_app,mobile_app_download_data,record_create,record_rename,record_delete,lock_records_all_forms,lock_records,lock_records_customization,forms harrispa,test1@,Joe,User1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,"demographics:3,baseline_data:1,visit_lab_data:1,patient_morale_questionnaire:1,visit_blood_workup:1,completion_data:1,completion_project_questionnaire:1,visit_observed_behavior:1" taylorr4,test2@,Joe,User,2015-12-08,group_a,1,0,0,0,2,1,1,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,"demographics:3,baseline_data:1,visit_lab_data:1,patient_morale_questionnaire:1,visit_blood_workup:1,completion_data:1,completion_project_questionnaire:1,visit_observed_behavior:1"? Change: For the API method “Export Users”, when requesting a response in XML format, the main parent tags at the beginning and end of the response will no longer be <records> but instead will be <users> to be less confusing (since “records” often denotes something else in REDCap) and also to be more consistent with how other API methods return XML items.? Change: For the API method “Export Users”, the new “data_access_group_id” field was added, in which it returns the numerical group ID number that the “data_access_group” field used to return in previous versions. And now, the unique group name of a user’s Data Access Group is returned for the “data_access_group” field rather than the numerical group ID number.? Change: The API method “Export Instrument-Event Mappings” now returns a different structure if exporting as JSON or XML (however, the CSV format will remain the same). It will now export with “arm_num”, “unique_event_name”, and “form” as attributes of each item/mapping, as seen in the JSON/XML examples below.? JSON example:[{"arm_num":1,"unique_event_name":"event_2_arm_1","form":"demographics"}, {"arm_num":1,"unique_event_name":"event_2_arm_1","form":"baseline_data"}, {"arm_num":3,"unique_event_name":"visit_2_arm_3","form":"completion_data"}]? XML example:<?xml version="1.0" encoding="UTF-8" ?> <items> <item><arm_num>1</arm_num><unique_event_name>event_2_arm_1</unique_event_name><form>demographics</form></item> <item><arm_num>1</arm_num><unique_event_name>event_2_arm_1</unique_event_name><form>baseline_data</form></item> <item><arm_num>3</arm_num><unique_event_name>visit_2_arm_3</unique_event_name><form>completion_data</form></item> </items>? Improvement: For “Export Project Information” API method, the following two project attributes were added:secondary_unique_field – The variable name of the secondary unique field defined in the project (if applicable).display_today_now_button – Value will be “0” or “1” (i.e. False or True). If “0”, then do NOT display the today/now button next to date/datetime fields on data entry forms and surveys. If “1” (default), display them.? Change: When using an API token associated with a super user account, the API now recognizes the API user as having maximum privileges (i.e., super user privileges) with regard to API requests, whereas in previous versions it only inferred the user's privileges literally from what is defined on the project's User Rights page, which was inconsistent with how super user rights are recognized by REDCap in the front-end user interface.? Change/improvement: The Control Center's System Statistics page now has the counts for Total Logged Events and Dynamic Data Pull (DDP) separated as separate AJAX calls since it was causing the whole table to load very slowly on the page.? Small security fix: When a table-based user would reset their password, the password value would mistakenly be displayed on the page (although invisible) for a fraction of a second before the page immediately redirected elsewhere once the page loaded.? Bug fix: Small issue with PHP autoload function that only affects specific PHP configurations, in which it would throw a fatal PHP error when attempting to install REDCap.? Bug fix: If using Google OpenID authentication and the REDCap web server does not have cURL installed, it would throw an error during login.? Change: If using Google OpenID authentication and a user logs in for the first time, it will now capture the user's first name, last name, and email address and add them to the user's REDCap account automatically.? Improvement: When installing REDCap, it is now possible to use the MySQL socket value in the database configuration by adding the PHP variable $db_socket to database.php in the main "redcap" directory.? Bug fix: If a user has some kind of Data Export privileges but does not have?Add/Edit??Reports privileges, when the user navigates to the "Data Exports, Reports, and Stats" page, it mistakenly displays a blank page and thus will not let them view a report or export data. (Ticket?#1055)? Bug fix: The Field Note text of certain left-aligned fields (e.g. Notes fields) when displayed on surveys or forms would mistakenly begin wrapping their text to the next line after only going halfway across the webpage. Field Notes now extend to the full width of their column in the question table.? Bug fix: When executing an API request in the API Playground for particular web server configurations, it would mistakenly not return anything from the request with an HTTP status code of "0". This was improved in version 6.9.7 but still gave issues for some.Version 6.10.1 - (released 12/03/2015)? Medium security fixes: Several cross-site scripting vulnerabilities were found on various pages throughout REDCap, in which these vulnerabilities could possibly be exploited by a malicious user (who is a valid REDCap user) who knows how to craft specific HTTP requests to such pages or can trick other authenticated users to navigate to specifically-crafted URLs.? Change: Updated the Help & FAQ page? Bug fix: When importing data via the API with the "returnContent" parameter set as "ids" in which the "format" (or "returnFormat") parameter is set as "json", then it would mistakenly not put quotes around non-numerical record names that are returned in the API's response. Also, it would mistakenly not escape certain characters in the record names if the response is returned as "json" or "csv" for the "format" (or "returnFormat") parameter.Version 6.10.0 - (released 11/25/2015)? NEW FEATURES & IMPROVEMENTS:New feature: Project FoldersProject Folders are a way for users to organize the projects on their My Projects page by putting them into groups. The folder can be given a name and can be color-coded (by setting a text color and background color) so that it displays boldly in the My Projects page.Once a folder has been created, the user can assign any number of projects to a folder (and can even assign a single project to multiple folders). This allows the projects to be grouped together under that folder when displayed on the user’s My Projects page.Project Folders are for personel organization, so no one else can see a user’s folders (except for REDCap administrators when viewing the user’s projects on the Browse Projects page in the Control Center).New feature: Survey themes3 new options were added to the Survey Settings page for any given survey (accessed via the Online Designer):Size of survey text – Set the survey text to a bigger font size (Normal, Large, or Very Large).Font of survey text – Set the font family of all the text displayed on the survey (Arial, Georgia, Tahoma, and more).Survey theme – Set the color scheme for the survey. There are 10 predefined themes available that users may use, but if they do not prefer them, users can easily click the Customize button to customize the color scheme of the survey any way they want, in which it will open up 8 different options for modifying the colors of various elements in the survey. Also, users may create their own custom survey theme to save the theme with a specified name, after which they may easily use it their saved theme in the future for another survey.A “survey design preview” box is displayed on the Survey Settings page so that the user can see how their survey design choices will make their survey look to respondents.Create institution-specific themes: REDCap administrators with access to their MySQL database can create their own installation-specific themes by adding them to the redcap_surveys_themes database table (add new row to the table with NULL value for “ui_id” field). The easiest way to do this is to create a new theme on the Survey Settings page in a project and save that customized theme, and then find that theme in the redcap_surveys_themes database table and set its ui_id value as NULL, after which it will appear for all users as an official REDCap survey theme in the theme drop-down list.New feature: A project's Survey Invitation Log is now downloadable in CSV format.Improvement: On the Define My Events page in a longitudinal project, it no longer displays the Days Offset and Offset Range columns in the events table if the Scheduling module is not enabled for the project. Since those columns are only utilized during scheduling, this provides a simpler and less confusing interface for users when scheduling is not being used. When creating a new event in this case, the event name is the only thing that needs to be provided, after which the order of that event or any event in the current arm can be change using drag-n-drop by dragging that event's row in the table.Improvement: New styling options were added to the rich text editor for survey instructions and survey completion text, such as setting text color and background color, inserting tables, copy-paste options, and indentation options.? BUG FIXES & OTHER CHANGES:Major bug fix: For surveys that have the survey option "Allow respondents to return and modify completed responses?" enabled for a multi-page survey, then some responses might appear to be completed (i.e., they appear in the Completed Responses drop-down list of records) even though they have not truly been completed (they appear as "[not completed]" in the drop-down list). This fix will retroactively fix the existing records and will also prevent this issue from occurring in the future.Improvement: If using Two-Factor Authentication with the Twilio SMS/phone option enabled, then the Table-based User Management page in the Control Center will now allow administrators to include a user's "Expiration time for 2-step login code" in the CSV upload file when creating user accounts in bulk.Improvement: Better handling of memory on the web server in order to prevent large data exports and large reports from hitting a memory limit.Improvement: The Survey Queue now displays better on mobile devices.Improvement: If a survey participant has added or modified any data on a survey page and then attempts to exit the survey by closing their browser or browser tab before saving their changes, it will now display the "Save your changes?" prompt in a similar fashion to the prompt that is currently displayed when exiting a data entry form prematurely.Improvement: The hook/plugin method REDCap::logEvent() now accepts a new optional parameter $project_id that can be used to specify the project for which the event should be logged when in a system-level context or alternatively to specify the project_id for another project when in a project-level context.Change: In the "Edit Field" popup on the Online Designer, the Field Annotation box has been moved over to the bottom left of the popup dialog to distinguish it more from the Field Note box while at the same time helping to keep the popup itself more compact for most field types.Bug fix: The <tbody> HTML tag was mistakenly not whitelisted as a safe HTML tag to utilize in field labels, survey instructions, etc. This would inadvertently cause the tag to get HTML-escaped and thus get displayed to the user on the page.Bug fix: When viewing the "Data History" popup for a File Upload field on a data entry page, it would mistakenly not display the logged event(s) where a file was uploaded for that field. (Ticket?#1043)Bug fix: When using the Twilio telephony services and using the designated phone field for survey invitations, it would mistakenly not display the participant's phone number on the Survey Invitation Log. Also, it would not allow users to click on the "Responded?" icon in the Participant List in order to view the response on the data entry form.Bug fix: When using the hook/plugin method REDCap::logEvent() in a hook, it would mistakenly not display correctly on a project's Logging page. (Ticket?#1042)Bug fix: If a user is attempting to import date or datetime fields (either via API or Data Import Tool) that are not in the specified date format, it would return a slightly incorrect error message, in which it would not mention that date or datetime fields can also be imported in Y-M-D format.Bug fix: If there exist two or more adjacent Text fields on a survey or data entry form, in which those Text fields have some form of field validation with min/max range validation, then there is the possibility that if the validation error message gets displayed for a field and then later gets displayed again for another field below it, it may mistakenly display multiple popup messages on top of each other so that it makes it impossible for the user to close them all. This can result in the inability to return to data entry on the page, thus forcing the user to have to reload the page, possibly losing any data entered. (Ticket?#1044)Change: When setting up a new Automated Survey Invitation, the checkbox option "Ensure logic is still true before sending invitation?" is no longer checked by default since it could unwittingly cause confusion or issues in certain use cases when users simply left it checked.Change: When importing data in CSV format via API or Data Import Tool, all blank rows will now be ignored instead of returning an error. This is to avoid the common mistake by users of leaving some lines as blank in the CSV file since most users assume the blank line would be ignored anyway.Bug fix: If a user purposefully injects HTML tags into a survey's title for styling purposes, then those tags would mistakenly get displayed literally (e.g. "<b>My Survey Title</b>") in certain places in the project, such as the survey list in the Participant List, Survey Invitation Log, and Survey Queue.Version 6.9.7 - (released 11/13/2015)? Major bug fix: When importing data into a project via the API or Data Import Tool, if any of the fields being imported were used in a calculated field's equation, then it would mistakenly not perform an auto-calculation and save the calculated field value if the record being imported did not already exist in the project prior to the import. The auto-calculations would, however, work correctly for any existing records that had values imported. (Ticket?#950)? Major bug fix: If the @NOW or @TODAY action tags are being utilized on a Text field that has no field validation, then if that field comes after another Text field having date or datetime validation and also has MDY or DMY date format, then the field with the @NOW or @TODAY action tag will mistakenly have its value displayed in the date format of the nearest date/datetime field displayed above it. It should instead be displaying the value in YMD date format when using the @NOW or @TODAY action tags on a field that has no validation.? Bug fix: When executing an API request in the API Playground for particular web server configurations, it would mistakenly not return anything from the request with an HTTP status code of "0".? Bug fix: If executing Rule F on the Data Quality page, it may mistakenly provide false positives in the discrepancy list that is returned. In particular, this would occur if a field had branching logic that referenced a checkbox field that had no values saved (was left all unchecked) for a given record.? Bug fix: When using the REDCap::getData() method in a plugin or hook, if the parameter $combine_checkbox_values is set to TRUE and $exportAsLabels is also set to TRUE, then it would mistakenly not export the multiple choice option labels correctly for checkbox fields if more than one checkbox was being returned. In the case of multiple checkboxes being returned, it would inadvertently use the checkbox option labels from another checkbox field rather than the option labels for that field itself.? Bug fix: An error would mistakenly be displayed if a user attempted to use the Send-It module to send a file to a person having an email address that contains an apostrophe, and thus it would prevent the user from sending a file to that person.? Bug fix: When creating or editing a report in a project and using a multi-select drop-down (e.g. when using a filter for filtering events or data access groups), it would not always be possible to deselect an option in the multi-select once the option had already been selected. (Ticket?#1034)? Improvement: Less erratic behavior of the Project Notes popup on the My Projects page when a user moves their cursor over a project that has some text defined for its Project Notes.? Bug fix: In certain PDF exports of a data collection instrument, multiple pages of the instrument might mistakenly overlap on a single page in the PDF. This is often caused when branching logic is used on the instrument, in which an entire section of the instrument must be hidden.? Bug fix: When editing the record ID in the Online Designer, it would mistakenly not display the Field Note option to allow the user to add/edit the Field Note for the record ID field.? Bug fix: If a user steps away from their computer/device when logged into REDCap, after which the autologout time elapses, then even though the automatic logout alert popup displays on the page saying that the user has been logged out, sensitive data may still be visible momentarily on the page underneath the popup after the user clicks the "Log In" button. This was supposed fixed in version 6.9.5, but was only partially fixed. (Ticket?#1018)Version 6.9.6 - (released 11/06/2015)? Bug fix: If a user creates a record that contains a double space in the middle of the record name, then if someone uploads a file for a File Upload field or saves a signature for a Signature field on a form or survey, it would mistakenly create another record containing only that uploaded file/signature in which the new duplicate record will contain a single space in its record name rather than a double space. However, when viewed in most places in the project (e.g. Record Status Dashboard), the two record names will appear identical when viewed next to each other, thus causing even more confusion about how a duplicate record exists and how it was created.? Bug fix: If the Field Label of a field contained a line break when the field is right-aligned, the PDF export of the instrument might mistakenly display strange rectangle characters in place of the line breaks.? Bug fix: In certain PDF exports of a data collection instrument, multiple pages of the instrument might mistakenly overlap on a single page in the PDF. This is often caused when branching logic is used on the instrument, in which an entire section of the instrument must be hidden.? Bug fix: In some projects that utilize the public survey option together with the designated email field option, it might mistakenly display blank values for each participant in the participant list of the first survey in the project when it should display the email addresses.? Bug fix: If utilizing the randomization module in a project, if using a strata field in the randomization process, in which the strata field is a drop-down field with the auto-complete option enabled, then if that field already has a value saved for it prior to the randomization of a record and also the strata field exists on the same instrument as the randomization field, then it would mistakenly display the value of the field twice in its auto-complete text box inside the randomization popup. This would prevent the record from being randomized because the user's cursor would get forever stuck in the strata field's text box and thus cause the user to have to refresh the page.? Bug fix: When using the @LATITUDE or @LONGITUDE action tag, it would mistakenly display the "Save your changes" prompt when leaving the data entry form even though the latitude/longitude value did not change on that page but were saved when the form was loaded previously. This would not affect data but might be confusing to the user.Version 6.9.5 - (released 10/27/2015)? Improvement: New action tag @BARCODE-APP - Allows the REDCap Mobile App to capture the value of a barcode or QR code by scanning it with the device's camera. NOTE: For use only in the REDCap Mobile App.? Major security vulnerability: It was discovered that SQL Injection might be possible on certain authenticated pages as well as via the API if a malicious user knows how to send a specifically-crafted request to REDCap to exploit the vulnerability.? Major bug fix: If a field's variable name somehow contains a double underscore, which should not be allowed, and then after the project is in production, a user modifies the field in Draft Mode via the Online Designer, there is a chance that it may replace the double underscore in the variable name with a single underscore, thus mistakenly renaming the variable and causing data to get orphaned as if the original field had been deleted. (Ticket?#1012)? Bug fix: If a user in a project has been set to receive email notifications whenever a participant has completed a survey, they would still mistakenly receive the emails even if the user was suspended from REDCap.? Bug fix: The R code that is automatically generated for a given API method in the API Playground module has a small error when defining the URI for the API request.? Bug fix: Small typo fixed on the Project Setup page. (Ticket?#1021)? Bug fix: If a user steps away from their computer/device when logged into REDCap, after which the autologout time elapses, then even though the automatic logout alert popup displays on the page saying that the user has been logged out, sensitive data may still be visible on the page underneath the popup. (Ticket?#1018)? Bug fix: If a survey invitation has been scheduled for an existing record but then the invitation was deleted via the Survey Invitation Log, then it would still mistakenly display the timestamp of the deleted invitation at the top of the data entry form for that record. (Ticket?#1007)? Change: The API is now more strict with regard to the validation of API tokens sent in API requests. In previous versions, if the token was longer than 32 characters, it would truncate the token to 32 characters (which is the expected length). It no longer truncates the token if longer than expected but merely returns an error message.? Minor security fix: A page in the Control Center was found to be susceptible to SQL injection if a super user was tricked into following a custom-created URL by a malicious user. However, the likelihood of occurrence is low and the difficulty is high.? Bug fix: If the API is returning an error message in JSON format, some messages might mistakenly not get JSON-encoded correctly. (Ticket?#1003)? Bug fix: If a user does not have "Create Record" user privileges, then it would mistakenly display the "Add new record" button on the data entry form in a project with record auto-numbering enabled. However, it would not allow them to create a new record, so at worst, this would merely cause confusion to the user. (Ticket?#1013)? Bug fix: The data dictionary upload page would mistakenly allow variable names containing a double underscore, even though the Online Designer would prevent it. It now replaces any double underscores with single underscores.? Bug fix: In some random cases when loading a CAT survey, it would mistakenly attempt to determine if the page should be skipped based upon branching logic. Since it should never check this for CATs, it now ensures that it skips that logic check, which makes the survey page load much faster for those affected.? Change: The "Brief Overview" video was updated.? Bug fix: In the downloaded PDF export of an instrument, it would not display Field Notes correctly for Notes fields and Signature fields, in which it might run off the page or not display at all, either due to field type and custom alignment values. (Ticket?#1005)? Bug fix: PDFs containing Japanese or Chinese characters (when project encoding is set to Japanese or Chinese) would not get rendered correctly and would basically be unable.? Bug fix: When copying an instrument in a project using the "Copy" button in the instrument list in the Online Designer, it would mistakenly remove any non-Latin characters that were entered for the new instrument name.? Bug fix: The API Playground would not be able to send API requests successfully if the REDCap server was using a proxy server for outbound web requests.? Bug fix: The "Submit Changes for Review" button on the Online Designer when in Draft Mode would not display correctly for certain languages (e.g., French).? Bug fix: When using the Dynamic Data Pull (DDP) module, clicking the "Remove unused DDP data" button on the Other Functionality page would mistakenly not get logged properly.? Bug fix: When upgrading from version 5.X, if any fields in a report have a "not =" operator with a blank limiter value, then that limiter would mistakenly get lost and not migrated into the version 6.X report format.? Bug fix: If the Dynamic Data Pull (DDP) module is enabled, then the System Statistics page in the Control Center might mistakenly report incorrect DDP stats, in which they might be overinflated.Version 6.9.4 - (released 10/06/2015)? Bug fix: The "All custom" button at the top of the rules table in the Data Quality module would mistakenly not work and would display an incorrect error message when clicked.? Bug fix: When using the datediff() function in a custom data quality rule in the Data Quality module, if a record is missing a value for one of the dates used in the datediff() function in the DQ rule, it will mistakenly get returned as a discrepancy when in fact it should not return it as a discrepancy. This does not appear to affect any other advanced functions but only datediff() and only when used in the Data Quality module.? Bug fix: The floating table headers that appear on some pages (e.g. reports) would mistakenly appear on top of a dialog popup that would later be opened on the page.? Bug fix: If HTML tags are used in the record ID field' Field Label in a project, then it would mistakenly display those tags as visible on the Record Status Dashboard table and (if a longitudinal project) also on the event grid after a record has been chosen.? Bug fix: If a survey expiration time was set for a survey, then if a user reopened the survey settings page afterward and pressed Save, it would mistakenly lose the time portion of the expiration date/time, which might prevent the survey from being expired at the exact desired time. Bug emerged in version 6.9.0.? If the Mcrypt PHP extension has not been installed on the REDCap web server, then the Stats & Charts page for reports would mistakenly not display correctly if the report contains any filters. The report would instead display plots representing *all* records in the project rather than just the records after applying the filter. (Ticket?#984)? Change: Since the REDCap Mobile App is now available on the Amazon Appstore for Android, a link was added on the REDCap Mobile App page in each project to download the mobile app from the Amazon Appstore.? Bug fix: If a super user is on the Manage All Project Tokens section of the API page in a project or on the API Tokens page in the Control Center, if a user's username contains either a period/dot (.) or an "at" sign (@), then the Last Used column for that user will mistakenly never display the timestamp but will continually say "Loading...".? Bug fix: When using some non-English languages (specifically French) for a project's language, it might mistakenly not allow a production project to be moved to inactive status on the Other Functionality page because of a?JavaScript??error that occurs. (Ticket?#996)? Bug fix: When using the randomization module in a project and utilizing strata fields, if a user is randomizing a record on a data entry form in which one or more of the strata fields are a drop-down field with the auto-complete option enabled, then it would mistakenly not display the drop-down correctly in the randomization popup, thus preventing the user from performing randomization on the record. (Ticket?#995)Version 6.9.3 - (released 09/25/2015)? Improvement: When copying a project, it now displays a new option to copy "all project bookmarks" on the Copy Project page, thus allowing users to copy all project bookmarks in that project to the new project.? Improvement: When copying a project, it will now automatically copy the values for "Custom text to display at top of Project Home page in project" and "Custom text to display at top of all Data Entry pages in project", which are only accessible for modification on the "Edit a Project's Settings" page in the Control Center.? Minor security fix: A cross-site scripting vulnerability was found on the Install page that could possibly be exploited if a malicious user knows how to append certain characters into the web address for the page. However, the ability of a user to take advantage of this vulnerability is severely limited.? Bug fix: If the user is creating a new record on a data entry form (i.e., record auto-numbering is not enabled), then after they place their cursor inside the text box to enter a new record name, it would mistakenly not allow them to remove their cursor in order to do something else on the page if they have not entered anything yet, in which the only way to get the cursor out of the text box is the refresh the page. (Ticket?#980)? Change: If a project's first instrument has been enabled as a survey, and then a user on the Online Designer drags/moves an instrument that has not been enabled as a survey into the front so that it becomes the new first instrument, previous REDCap versions would transfer the survey settings onto the new first instrument (which was not a survey instrument) and thus removing them from the survey instrument, which would then become a regular data entry form and no longer a survey. This was done to preserve the public survey link in case a user had already distributed the public survey link and would not want it to change. However, due to possible conflictions with newer features, in which this behavior could cause other major issues, it now no longer transfers the survey settings from the survey instrument to the non-survey instrument in this scenario but leaves them as-is (aside from moving their position in the instrument list).? Change: Small aesthetic changes on survey pages to remove gray gradient background and borders to provide a flatter look.? Change: The id or class names of certain elements on survey pages and data entry forms have changed. See the list below for both the old and new name of each element affected. This should only affect REDCap hooks that are referencing these elements via CSS or?JavaScript??to manipulate the page.The id of the main table housing all the survey questions: #form_table => #questiontableThe spans and divs that contain a multiple choice field's choice label (for both radios and checkboxes)Vertically-aligned .frmrd => .choicevertHorizontally-aligned .frmrdh => .choicehorizDiv containing "must provide value" text for required fields: .reqlbl => .requiredlabelTable that houses a slider field's labels (that sits above the slider): .sldrlbl => .sliderlabels"Reset" links for radio buttons: .cclink => .smalllinkMatrix header row: .matrixHdrs => .headermatrixField labels for matrix fields: .label_matrix =>.labelmatrixQuestion number (surveys only): .quesnum => .questionnumQuestion number for matrix fields (surveys only): .quesnummtxchk => .questionnummatrixThe div just inside the body tag has changed from #outer to #pagecontainerThe div that contains the survey instructions was changed from #surveyinstr to #surveyinstructions? Change: When a super user is adding/editing a bookmark on the Project Bookmark page in a project and selecting "REDCap Project" as the Link Type, it will now display in the project drop-down list the projects belonging to all the users in that project. Whereas in previous versions, super users would only see their own projects. (Ticket?#979)? Bug fix: If a project using the randomization module has the randomization field set as "required" and also has?Left/Vertical??or?Left/Horizontal??custom alignment, then the red "*must provide value" label for the field as displayed on the survey page or data entry form would mistakenly not display correctly but get appended as black text onto the end of the Field Label.? Bug fix: The plugin/hook documentation for the REDCap::saveData() method's dateFormat parameter is incorrect and mistakenly refers to something completely different.? Bug fix: When tabbing through fields on a data entry form or survey, it might mistakenly skip over some fields and put the cursor on links or images on the page. Bug introduced in version 6.9.2.? Bug fix: If a user's project has drafted changes that are currently awaiting approval by an administrator, the user could mistakenly still upload a data dictionary before the administrator has reviewed and approved the changes. This would not cause any data loss but could cause confusion as to how the user made field changes while the project was in review.Version 6.9.2 - (released 09/21/2015)? Major bug fix: If Automated Survey Invitations had been set to be triggered via conditional logic based upon the changes of data values, then the ASIs would mistakenly not get triggered when they should during an API data import. This issue would not manifest when importing data via the Data Import Tool page but only via the API data import method. (Ticket?#970)? Improvement: New configuration setting added to File Upload Settings page in Control Center if using AWS S3 storage for file storage, in which you can now manually set the AWS endpoint URL. In previous versions, it only allowed the endpoint to be "s3.", which now only works for U.S. East region of AWS. This allows you to manually set the endpoint if you are using a different AWS region.? Improvement: When viewing a data entry form where the instrument has been enabled as a survey, it will now display the "Save and Mark Response as Complete" button if the survey has not been started yet (i.e., on the survey page), thus allowing the user to mark it as complete without even having to open the survey page. In previous versions, users would only see that button as a valid option once the survey had at least been partially completed via the survey page.? Improvement: When exporting a survey's participant list to CSV file, it now includes the record name of the respondent if it corresponds to an existing record and if it is identifiable (i.e., if the participant has a Participant Identifier defined or if the designated survey email field has been enabled).? Improvement: When using the REDCap::getParticipantList() plugin/hook method for obtaining a survey's participant list, it now includes the record name of the respondent if it corresponds to an existing record and if it is identifiable (i.e., if the participant has a Participant Identifier defined or if the designated survey email field has been enabled).? Improvement: When viewing the Compose Survey Invitations popup on the Participant List page, it now displays the total count of all participants that have been selected in that popup to be invited to take the survey.? Bug fix: When a project has record auto-numbering enabled and a user opens a data entry form to create a new record, instead of clicking one of the Save buttons on the page, the user clicks another form on the left-hand menu, after which if they click the "Save changes and leave" option, it will redirect them to the desired form but will advance to the next record number as if they are going to create a new record on that form. In this way, they unwittingly navigate off of the record they just created, which could be confusing and could cause new records to get inadvertently created when they shouldn't. (Ticket?#972)? Change: The jQuery and jQueryUI libraries inside REDCap were upgraded to version 1.11 since the existing ones were outdated.? Bug fix: If using the Real Time Execution feature for a Data Quality rule, in which it determines on a data entry form that a DQ rule was violated while at the same time a required field was left empty/blank on the form after clicking a Save button, it would only display the "Some fields are required!" popup and would mistakenly not display the "Data Quality rules were violated!" popup, which could cause some confusion and might accidentally cause a user to not be aware of a DQ rule that was violated. It has been changed so that if both issues occur at the same time, it will now display both popups at the same time on the page so that the user is aware of them both.? Bug fix: When utilizing Automated Survey Invitations in a project in which an ASI has the option "Ensure logic is still true before sending invitation?" enabled and the ASI is using only conditional logic as the Condition in Step 2 and *not* basing it off of whether a survey has been completed, then it would mistakenly display empty duplicate rows in the Survey Invitation Log. Note: This would not affect how or when survey invitations were sent.? Bug fix: The tabs on the File Repository page in a project would not display correctly on certain occasions.? Bug fix: If the Double Data Entry module is enabled for a project, then the correct form status icons will mistakenly not display correctly on the Record Status Dashboard for DDE user 1 or 2, but instead it will only display gray icons for all forms/records. (Ticket?#975)? Bug fix: An SQL query that would get executed after a user logged in might be really slow for some server configurations. It has been optimized to reduce any slowness.? Bug fix: When downloading a PDF of a data entry form with data, in which all the field's in a section are hidden by branching logic, it might mistakenly display the section header for that section in the PDF instead of hiding it if the section would have spilled over onto the next page if it would have been displayed.? Bug fix: If a drop-down field on a survey or data entry form has a very long choice label, then the drop-down would mistakenly spill out of the table and could crowd other fields and text on the page, thus distorting the whole form/survey.Version 6.9.1 - (released 09/14/2015)? Bug fix: Duplicate rows mistakenly appear in a survey's participant list when records are created via data entry form or via data import and when more than one person then goes to view the participant list at the exact same time. This can cause a race condition, which generates duplicate rows in the back-end database tables for each record being populated in the table. There is unfortunately no way to fix the duplicates retroactively except by exporting all data in the project, then erasing all records, and then re-importing all the exported data.? Bug fix: If the "redcap_save_record" hook function is being used on a survey, in which the hook will redirect the page or stop page execution while at the same time a survey question that is required has not had a value entered, then it will mistakenly not set the survey response as being partially completed but leave it as if the survey had not been started yet.? Change: Replaced?TTS-?as the third-party service used for the text-to-speech feature on surveys since that service has ceased to function for unknown reasons, thus making it no longer viable for use in REDCap. It has now been replaced by a service hosted by Vanderbilt at?, which utilizes the AT&T Text To Speech API service. Note: This service hosted by Vanderbilt does not store any of the text sent to it in any way.Version 6.9.0 - (released 09/08/2015)? NEW FEATURES & IMPROVEMENTS:New hook function: redcap_project_home_page - Allows custom actions to be performed on the "Project Home" page in a projectNew feature: API Playground - The API Playground is an interface that allows experimentation with the REDCap API without actually writing any code. Users can explore all the different API methods and their various options to customize a given API request. Users may even execute a real API request and see the exact response that REDCap returns from the request.New action tags@LATITUDE - Allows a Text field to capture the latitude of the user, in which the user will be prompted on the webpage to allow or deny this. Once the value is captured, it will not be changed when visiting the page at a later time.@LONGITUDE - Allows a Text field to capture the longitude of the user, in which the user will be prompted on the webpage to allow or deny this. Once the value is captured, it will not be changed when visiting the page at a later time.@PASSWORDMASK - Masks the value of a Text field so that the true value is not visible on the webpage after it has been entered (like password fields on login pages).@HIDDEN-APP - Hides the field only on the form ONLY on the REDCap Mobile App. Field will stay hidden even if branching logic attempts to make it visible.@READONLY-APP - Makes the field read-only (i.e., disabled) on the form ONLY on the REDCap Mobile App so that its value cannot be changed.@NOW - Automatically provides the user's current time as the value of a Text when the page is loaded. Once the value is captured, it will not be changed when visiting the page at a later time. If the field has validation, the value will conform to the date/time format of the field.@TODAY - Automatically provides the user's current date as the value of a Text when the page is loaded. Once the value is captured, it will not be changed when visiting the page at a later time. If the field has validation, the value will conform to the date/time format of the field.Improvement: New look for API DocumentationImprovement: Numbered lists and bullet lists (i.e., <ol>, <ul>, and <li> tags) can now be used in field labels, survey instructions, etc.Improvement: Much better search utility on Browse Users page in the user list popup to allow administrators to search a user by a specific user attribute or by all user attributes. Also, the list is now exportable in CSV format. Additionally, columns for the time of suspension and expiration date are now listed in the user list.Improvement: If using a proxy server for outgoing HTTP requests, REDCap now supports proxies that require authentication via username and password. On the General Configuration page in the Control Center, you can now enter the proxy username and password.Improvement: On the REDCap main Home page (not the Project Home page), you may now provide a URL that gets linked at the end of the last sentence "If you require assistance or have any questions about REDCap, please contact..." rather than a mailto link to the home page contact email. This is useful if you have a ticket system (or something similar) at your institution that you would prefer to link to on the Home page rather than an email account. The URL can be set on the Home Page Settings page in the Control Center and is completely optional.? BUG FIXES & OTHER CHANGES:Medium security fix: The Password Recovery page, which is only available if using Table-based authentication, was found to have a Blind SQL Injection vulnerability that could be exploited if a malicious user sends a specially crafted request to that page to spoof certain client values that REDCap receives in the request.Change: The user list popup on the Browse Users page no longer displays the column "Active User?" because this designation was confusing and not very helpful because all it implied was that the user had a first activity timestamp, which merely means that (for most installations) the user had logged in to REDCap at least once.Change: Now compatible with PHP 7, which is to have its first stable release near the end of 2015.Change: When using the Survey Login feature in a project, it will no longer allow the record ID field to be used as a survey login field if record auto-numbering is enabled in the project for security reasons.Bug fix: When a user is viewing a project-level plugin, it would mistakenly display the auto-logout popup after being on the page for 3 minutes and would tell them that their session has expired, even thought it had not. Also, it would sometimes mistakenly display an error popup if the user attempted to click a project bookmark on the right-hand menu while viewing a project-level plugin, thus preventing them from navigating to the bookmark page.Bug fix: The cron job that resets any survey invitations that are stuck in limbo because they did not get sent properly (due to cron crashing, etc.) was mistakenly sending invitations that were weeks or months old, thus often useless to be received by that participant at that point. The cron job now only resets any invitations that have been stuck for less than one week.Bug fix: If any survey invitations were sent from the data entry form for a record (rather than via the Participant List) on a version of REDCap before v6.5.0, then the invitations would mistakenly no longer display in the Survey Invitation Log after upgrading to v6.5.0 or higher.Bug fix: When using the Twilio telephony services in a project with multiple surveys, in which the user attempts to modify a participant's Invitation Preference on the Participant List for any survey/event, it mistakenly would not apply the desired invitation preference to every survey/event, thus forcing the user to have to set the preference for each survey/event in order to work correctly.Bug fix: If data is being piped into the option of a drop-down field on a survey page or data entry form, then it would mistakenly not get updated if a user on that page changed the value of a field whose value is being piped into a drop-down option. Instead it would pipe into the drop-down only data values that had already been saved prior to loading the page.Bug fix: Calculated fields may mistakenly throw an error on a survey or data entry form if multiple round() and multiple if() statements are nested together in the calculation.Bug fix: The Participant Identifier of a given participant in a survey's participant list would mistakenly not be editable after the participant had started or completed the survey if the identifier was not blank. For privacy reasons, users are prevented from adding an identifier to a participant if the identifier was originally left blank, but it should allow it to be editable (either before or after taking the survey) if not blank. This fix will now allow the identifier to be editable at any time if the identifier is not blank. (Ticket?#962)Bug fix: If using Twilio telephony services for two-factor authentication or for survey functionality, some voice calls or SMS messages might fail to send to certain international phone numbers that resemble U.S. phone number format - i.e., 10 digits long without a "1" at the beginning. (Ticket?#963)Bug fix: If the randomization module is enabled and set up for a classic project and then the user converts the project into a longitudinal project, then the Randomize button will mistakenly not appear on the data entry form but instead display a the randomization field as a disabled field. (Ticket?#961)Bug fix: When viewing the Compose Survey Invitations popup for a survey's participant list, it would note that the participants being displayed in the popup are "those who have not responded" (assuming that the option "Allow respondents to return and modify completed responses?" has not been enabled), which is confusing because the list does include those who have partially responded. To prevent confusion, the text has been changed to "those who have not responded completely" to signify that partial responses are included. (Ticket?#964)Bug fix: On certain random occasions where a record was mistakenly saved with a blank record name, in which the record would then get orphaned and become inaccessible on the front-end web application, if that blank record were somehow assigned to a Data Access Group, the Data Access Groups page would mistakenly include it in the count of records for each DAG, even though the blank record is not viewable or accessible anywhere else.Version 6.8.2 - (released 08/26/2015)? Improvement: If utilizing the Dynamic Data Pull (DDP) module, the following two counts have been added to the DDP section of the Control Center's "System Statistics" page under the section "Project attributes (all projects)": "Total adjudicated data values imported via DDP" and "Projects with at least one data value adjudicated via DDP".? Major bug fix: If importing data via the API in XML format, then the import will mistakenly not be successful if only one record is being imported in that request. However, if multiple records are being imported in XML format in the same request, the issue does not occur.? Improvement/change: The HTML tags <sub> and <sup> are now allowed in Field Labels, Field Notes, Survey Invitation Text, and all other user-defined text that gets displayed somewhere.? Bug fix: The Twilio telephony services for surveys might not successfully send SMS messages to or successfully make phone calls to some non-U.S. phone numbers.? Bug fix: The Twilio option for Two-Factor Authentication might not successfully send SMS messages to or successfully make phone calls to some non-U.S. phone numbers.? Bug fix: When using calculated fields in longitudinal projects, a processing bottle-neck was discovered that was causing unnecessary slowdown when performing auto-calculations when a user clicked the Save button on a data entry form or survey page. This fix allows the page saving to be processed about 3x-10x faster than before.? Bug fix: When using calculated fields that utilize cross-event calculations in longitudinal projects, it may have mistakenly not been performing the calculation for other events. Thus, some events containing calc fields with cross-event calculations may not have gotten their value saved. (Note: The values can be fixed retroactively by running Data Quality rule H.)? Bug fix: When adding a filter field to a report, in which the field has some form of field validation (e.g., date_ymd, email), then if the user selects the operator to be "contains", "not contain", "starts with", or "ends with", then it would prevent the user from entering a value into the text field to the right unless the value entered adhered to the field validation format. For example, if a user selected "Email" as the filter field, then selected "contains" as the operator, and entered "" into the text box as the filter value, it would display the validation error message. (Ticket?#939)? Bug fix: The Twilio telephony services for surveys might not work successfully if using a proxy server in your web server configuration. (Ticket?#940)? Change: On a project's Logging page, it now displays "SYSTEM" in the user drop-down filter at the top of the page to allow users to filter by events performed automatically by the REDCap system, such as survey invitations being scheduled. In previous versions, the "SYSTEM" option was not available in the drop-down list of users.? Bug fix: If on the User Access Dashboard page and click the Reset link at the bottom of the page, any selected radio buttons would not have their cell background changed back to green but would mistakenly be changed to a white background instead. (Ticket?#947)? Bug fix: When using the Survey Login feature on a CAT (computer adaptive test - e.g., PROMIS assessment), the questions on the survey page would mistakenly not be displayed at all.? Bug fix: When a participant is taking a CAT (computer adaptive test - e.g., PROMIS assessment), it should be selecting the choice's radio button whenever the choice label text was clicked, but it was mistakenly not and required clicking on the radio button itself.? Bug fix: In a project utilizing Data Access Groups, if a user does not have "View & Edit" permissions for any instrument in the project and also does not have "Create Record" privileges, then the user could still navigate to an instrument on a record and change the DAG assignment of the record. This could be done if the user changes the DAG selection drop-down on the instrument, in which the page will not allow them to click the Save button but it will mistakenly prompt them to save their changes if they attempt to click a link somewhere in order to navigate off the page. (Ticket?#941)? Bug fix: If a user clicked the "Lock all forms" or "Unlock all forms" link for a record in a project, it would mistakenly lock/unlock forms to which the user does not have form-level access. (Ticket?#943)? Bug fix: In a longitudinal project, if a record is created via the Scheduling module (rather than via form or survey), then the record would mistakenly not display on the Record Status Dashboard until some data was entered for it on a form or survey. (Ticket?#944)? Bug fix: When importing data via the Data Import Tool, even if no checkboxes are being imported, the import comparison table displayed on the page would mistakenly display some checkbox fields, although they would be ignored and would not cause any issues with the data import process. Bug emerged in version 6.8.0.? Bug fix: If using a cross-event calculation for a calculated field on a data entry form or survey in a longitudinal project, in which a non-text field (e.g. drop-down, radio) used in the calculation has a negative value, then the calculation would mistakenly return a blank value instead of the correct calculated number. (Ticket?#946)? Bug fix: In longitudinal projects only, the "Total survey responses" count was mistakenly being displayed on a project's "Add/Edit Records" page when it should not have because it only refers to the first survey (even though it does not specify that) and also is not always accurate. Displaying the total survey response count made sense in version 5.X of REDCap, but it no longer makes sense after version 6.0, which allows for multiple surveys.? Bug fix: When viewing a survey response on a data entry form, it notes at the top of the page all the users who have contributed to the response data, but it may mistakenly list users that contributed to other forms or surveys for the record but not necessarily that particular survey. This is now fixed for all survey responses collected hereafter. However, this issue is not able to be fixed retroactively for already completed responses. (Ticket?#942)? Bug fix: The survey auto-continue feature would mistakenly not get copied for surveys when copying a project. (Ticket?#954)? Bug fix: When clicking the Upload Document link for a File Upload field or when clicking the Add Signature link for a Signature field on a data entry form or survey, if data values are to be piped into the field's label inside the popup that is displayed, it would mistakenly only pipe saved values and would not pipe unsaved values that had been entered on the page.Version 6.8.1 - (released 08/14/2015)? New feature: Administrators may disable the auto-calculation functionality for a given project on the "Edit a Project's Settings" page in the Control Center. If left as enabled (default), server-side auto-calculations (introduced in REDCap 6.3.0) will be performed for calc fields when data is imported (via Data Import Tool or API) or when saving a form/survey containing cross-form or cross-event calculations. If auto-calculations are disabled, then calculations will only be done after being performed via JavaScript (client-side) on the data entry form or survey page on which they are located, and they will not be done on data imports. Tip: This setting should *only* be disabled if the auto-calculations are causing excessive slowdown when saving data. If disabled, then some calculations might not get performed, and if so, must then be fixed with Data Quality rule H.? Bug fix: The REDCap hook function "redcap_add_edit_records_page" was mistakenly not being called in longitudinal projects on the Add/Edit Records page but only in classic projects.? Bug fix: If a Text field is utilizing the biomedical ontology auto-suggest feature and the user then downloads the data dictionary and later re-uploads the data dictionary, the page will mistakenly display a warning message that is intended to be for multiple choice fields only. It should not display a warning message at all. However, it does not prevent the user from uploading the data dictionary, but might cause some confusion.? Bug fix: If two-factor authentication is enabled, in which the Google Authenticator option is used, it would mistakenly not display a user's Google Authenticator QR code on the My Profile page except only when the Twilio option is enabled (rather than if the Google Authenticator option is enabled).Version 6.8.0 - codename "Pfeffernüsse" (released 08/11/2015)? NEW FEATURES & IMPROVEMENTS:New feature: Two-factor AuthenticationThis feature is optional and can be enabled on the "Security & Authentication" page in the Control Center. Enabling two-factor authentication (also known as 2-step login) can provide greater security with regard to users logging in to the system. While the standard login process consists of entering a username and password, two-factor authentication provides a second step after the initial login, such as entering a 6-digit verification code received via SMS text message, via email, or generated using the Google Authenticator app on their mobile device, or responding to a phone call or a push notification (for Duo app only).Administrators can choose one or more of the following options for users to log in via two-factor authentication on the REDCap login page:Email - A six-digit verification code will be emailed to the user.Google Authenticator app - A six-digit verification code can be obtained by the user in their Google Authenticator app. Before they can use this option, they must first go to their My Profile page and scan the QR code on that page in their Google Authenticator app to add their REDCap account to the app on their mobile device.SMS message via Twilio (connected to Twilio account at?) - A six-digit verification code will be sent via SMS text message to the user on their mobile device using the phone number provided on the user's My Profile page.Phone call via Twilio (connected to Twilio account at?) - A user's phone will ring, after which they will be asked to enter a number on their keypad to complete the login process.Duo (connected to Duo account at?) - Duo Security provides push notifications via their mobile app, as well as SMS and phone call options.Two-factor configuration settings:(Optional) Trusted IP range - You can enforce two-factor login on all users OR only enforce it on users with an IP address in a specific IP range. For example, if you know the IP ranges of computers at your institution, then you can enforce two factor only for users accessing REDCap from outside your institution. There is an additional checkbox option to allow you to easy include all private network IP addresses in the IP exceptions (10.0.0.0-10.255.255.255, 172.16.0.0-172.31.255.255, 192.168.0.0-192.168.255.255).(Optional) Authentication interval: Trust a device's two-factor login for X days - This optional setting, if enabled, will allow a user's 2-step login to be remembered and thus will allow them to only have to perform the 2-step login every X days, in which you can set the length of time.(Optional) Secondary authentication interval for specific IP address ranges - If desired, you can set an alternative authentication interval for devices in certain IP ranges. For example, you may want to set the interval to 30 days for users on a semi-secure network but set it to 1 day for users not on a secure network at all. You can set the interval to X days that the user's device will be trusted if within a given IP range.Project-level settings:Setting to exclude specific projects from 2-step login - On the Edit a Project's Settings page in the Control Center, you can exempt a project from 2-step login, which means that if any user has access to an exempt project, then they will *not* be prompted with the 2-step login when they initially log in, nor will they be prompted when entering the exempt project, but they *will* be prompted with the 2-step login if they attempt to enter a non-exempt project or their My Profile page (and if a super user, if they enter the Control Center). This setting may be used to exempt certain projects where the 2-step login would be very burdensome and/or costly for users.Setting to always force 2-step login on specific projects (even if the authentication interval is set) - For high-profile projects that might have very sensitive data, for example, this setting can be enabled so that even if the authentication interval is set to allow users to not have to perform the 2-step login for every session, if they enter a project with this setting enabled, they must *always* perform the 2-step login during their session before they can enter the project.User-level setting:Setting to modify the expiration time of the 2-step login verification code for SMS, email, and Google Authenticator options - In some cases where they might be a lag for a user to receive their 2-step login verification code, such as if sent via email and doesn't appear in their inbox for a long time. By default, the code expires after 2 minutes. But in cases where it may take longer to be received by the user, an administrator can increase the expiration time of the code up to 30 minutes for a given user on the Browse Users page in the Control Center.New developer methods for plugins/hooksREDCap::saveData - Saves record data for a project. Accepts data in the following formats: "csv", "json", "xml", and "array" (same array format as received from getData method with record name as 1st key, event_id as 2nd key, and field_name as 3rd key)REDCap::getDataDictionary - Returns a project's data dictionary in any of the following formats: "csv", "json", "xml", and "array"New hook functionsredcap_survey_page_top — Allows custom actions to be performed at the top of a survey page - exactly like redcap_survey_page but executed in a different locationredcap_data_entry_form_top — Allows custom actions to be performed at the top of a data entry form (excludes survey pages) - exactly like redcap_data_entry_form but executed in a different locationredcap_add_edit_records_page — Allows custom actions to be performed on the "Add/Edit Records" page in a projectImprovement: The Data Import Tool now has a new option "Allow blank values to overwrite existing saved values?" that allows users to choose if they want to perform a mass overwrite of saved values with blank values when importing data. By default, it will ignore all blank values in the uploaded CSV file (as it has always done).Improvement: If using the Twilio telephony services in a project, it will now detect (with fairly good accuracy) if a phone call is made to a survey participant in which an answering machine or voicemail answers the call instead of a person. In such a case, it will not begin speaking the survey text as it would to a person, but will instead leave the following message for the participant: "To take the survey, please call back at this phone number: XXX-XXX-XXXX."? BUG FIXES & OTHER CHANGES:Major bug fix: If a user with "De-identified" export rights or "Remove all tagged Identifier fields" export rights performs a data export for Report B on the "Data Exports, Reports, and Stats" page, in which they leave the "All instruments" option selected in the Instruments multi-select list, it would mistakenly export ALL fields in the project and would not remove free-form text fields and identifier fields like it should.Major bug fix: On rare occasions when using Automated Survey Invitations for a survey, in which the option "Ensure logic is still true before sending invitation?" is enabled and the logic is fairly complex, survey invitations that have been scheduled might mistakenly be sent twice to the same participant.Minor security fix: A cross-site scripting vulnerability was found on the project Logging page that could possibly be exploited if a malicious user knows how to inject certain text into the "Reason for Data Change" text box when editing an existing record in a project that has the "Require a Reason" feature enabled.Minor security fix: A vulnerability could possibly be exploited if a malicious user knows how to execute some specific JavaScript calls on a data entry form where the Locking/E-signature feature is used, in which it would allow them to bypass the signing process of entering a correct username/password when e-signing a data entry form for a record. Also, using certain methods to manipulate page elements on a data entry form that has been locked, they could possibly execute some specific JavaScript calls that would allow them to unlock the form and make data changes even if the user does not have Record Locking privileges. NOTE FOR SHIBBOLETH USERS: If your institution is using a hack to modify the REDCap base code in order for e-signatures to work with Shibboleth, please be aware that this change *might* prevent your modifications from working.Bug fix: When using the Twilio telephony services in a longitudinal project where the first instrument is not used as a survey, it would throw an error whenever a user attempted to modify a participant's Invitation Preference on the Participant List for any survey/event.Bug fix: If a user clicks the "Delete data for this form only" button or clicks the "Delete data for this event only" button on a data entry form that has some required fields that have no values entered for them, it would mistakenly display the "Some fields are required!" popup to force the users to enter values for the required fields before it would let them delete the form's/event's data.Bug fix: When reviewing the drafted changes in a production project, it would mistakenly not display the Field Annotation column in the table of changes on that page. (Ticket?#927)Bug fix: Incorrect text was used in the Twilio configuration popup for the "default invitation preference" option on the Project Setup page of a project.Bu fix: Incorrect text was used in the Twilio configuration step on the Project Setup page of a project. (Ticket?#925)Change: The "Stats & Charts" section on the "Data Exports, Reports, and Stats" page no longer allows checkbox fields to be viewed as pie charts but only as bar charts. This is due to the fact that since checkboxes allow multiple values per field per record, the total counts/frequency can add up to higher than 100%, which is not compatible with the pie chart and thus causes it to display incorrect values.Change: If the Twilio SMS option is enabled for two-factor auth, then the My Profile page will display a "mobile phone number" field where they can enter their phone number, and then use it for two-factor login via SMS.Bug fix: If a project has the "Use surveys in this project?" setting enabled on the Project Setup page but does not have any instruments enabled as surveys, then when a data export is performed, it would mistakenly include the redcap_survey_identifier field in the syntax file for the stats packages but would appropriately not include that column in the CSV data export file. This would inevitably cause issues when attempting to import the data into a stats package, such as SPSS.Bug fix: If using the Twilio telephony services in a longitudinal project in which the first instrument was not enabled as a survey, then if a user attempted to change a survey participant's Invitation Preference in the Participant List, it would mistakenly not change it successfully.Bug fix: If using the Twilio telephony services in a project and sending out survey invitations for the participant to take the survey via phone call or SMS, in which one or more invitation reminders were set, then even though the participant would complete the survey, the reminders would still get sent to them afterwards (via SMS or phone call).Bug fix: If using the Twilio telephony services in a project in which records would be created via data entry form or data import (rather than via survey), then it would mistakenly not assign the record the correct default invitation preference as defined by the project's "Default invitation preference for new participants" setting in the Twilio configuration popup on the Project Setup page.Bug fix: After clicking the table headers of the user list on a project's User Rights page, it would no longer be possible to edit the rights of a user or role on the page by clicking a username or role name in the table until the page is reloaded. (Ticket?#932)The Help & FAQ page was updated.Bug fix: When enabling the auto-complete feature for a drop-down field on an instrument, if any of the option labels contained an ampersand (&), less than character (<), or greater than character (>), it would mistakenly display the HTML character code version of those characters in the drop-down field rather than the literal character itself. (Bug emerged in version 6.7.0.)Bug fix: On the "Stats & Charts" tab of the "Data Exports, Reports, and Stats" page in a project, if a user clicks the "Show plots only" button, then it would mistakenly display the spinning circle image for text fields that have no data.Bug fix: When viewing the "Day" or "Week" tab on the Calendar module in a project, clicking the left-arrow icon or right-arrow icon would not advance to the prev/next day or prev/next week, respectively, but would always advance to the prev/next month, which is not intuitive and is confusing. (Ticket?#935)Bug fix: If utilizing the randomization module in a project and trying to copy an instrument via the Copy option in "Choose action" drop-down on the Online Designer, if the randomization field or strata fields are located on the instrument being copied, it would mistakenly display an error message saying that the instrument could not be copied.Bug fix: If the REDCap page header was displayed on a REDCap plugin page or if the base.js JavaScript file was included on a plugin page, then it would mistakenly inject the redcap_csrf_token (Cross-Site Request Forgery token) onto all forms displayed on the plugin page and also inject it into all POST AJAX requests made via the jQuery $.post function on the plugin page. This might give the impression that REDCap provided CSRF protection on plugin pages when in fact it does not. The redcap_csrf_token value is now no longer injected into forms or in the $.post function on plugin pages.Bug fix: If a survey participant completes a survey that has the "Send confirmation email" setting enabled but the participant's email address has not yet been captured after having completed the survey, and if the Survey Queue is enabled for the project, then if the participant enters their email address on the survey acknowledgment page in order to receive their confirmation email, it would mistakenly display a popup message saying that the survey has not been set up yet, which is incorrect and confusing. (Ticket?#930)Bug fix: When the Dynamic Data Pull (DDP) module is enabled in a longitudinal project, if a user selects some fields to be mapped to the external source system on the DDP Setup page, then it might mistakenly convert the last field on the page to a non-temporal field if it was a temporal field, which would prevent it from being mapped correctly on that page. (Ticket?#913)Bug fix: Users would mistakenly be allowed to archive a development project even if the setting "Allow normal users to move projects to production?" in the Control Center was set to "No". This would allow a user to archive a development project and then un-archive the project, which puts the project in production status, thus inadvertently bypassing the production approval process. If users are not allowed to move projects to production on their own and they attempt to archive a development project, it will now display a message letting them know that they can only archive production projects. (Ticket?#852)Bug fix: If a user imports data via the Data Import Tool in which the record names contain UTF-8 characters but the imported file is encoded with ANSI encoding, it would mistakenly store the record names incorrectly (with a black diamond character being displayed on the page) during the import, which would prevent the records from being accessed or edited on a data entry form and thus prevent them from being deleted after having been imported. (Ticket?#859)Change: If the setting "Require a 'reason' when making changes to existing records?" has been enabled for a project, it will now prompt the user for a reason if they attempt to delete a record via the Delete Record button on a data entry form. In previous versions, it only prompted for a reason whenever an existing record was changed and not when it was deleted.Bug fix: If the "Auto-continue to next survey" setting is enabled for a PROMIS CAT, it would mistakenly not auto-continue to the next survey instrument. (Ticket?#938)Bug fix: If entering data on a survey or data entry form while using an Android device, fields with "Phone (North America)" validation would mysteriously have their value disappear immediately after it was entered, thus preventing the user from entering a value for the field.Version 6.7.5 (released 07/29/2015)? Change: Replaced Google's Speech API with?TTS-?as the third-party service used for the text-to-speech feature on surveys since Google now enforces a captcha upon heavy use of that free API, thus making it no longer viable for use in REDCap. This also means that there will no longer be a language option for text-to-speech on surveys (the option will be hidden) since?TTS-?only works for English.Version 6.7.4 (released 07/27/2015)? Medium security vulnerability: Several cross-site scripting vulnerabilities were found that could possibly be exploited if a malicious user knows how to inject certain text into an arm name or event name when creating/editing arms or events in a longitudinal project, in which this could execute malicious JavaScript on that page for other unwitting users.? Medium security vulnerability: A Cross-site Request Forgery vulnerability was found that could possibly be exploited if a malicious user tricks an unwitting super user into navigating to a specially-crafted REDCap link that would cause a specified suspended user to be unsuspended just by clicking the link.Version 6.7.3 (released 07/24/2015)? Major bug fix: If a user is attempting to perform a data import via the Data Import Tool or API, in which one of the fields being imported is a drop-down field with auto-complete enabled, then it would mistakenly throw an error saying that the value was in an invalid format. Bug emerged in version 6.7.0. (Ticket?#921)? Major bug fix: When utilizing the Randomization module in a project, there is a very small possibility that when saving a data entry form for a record that has already been randomized, in which the form being saved contains the disabled randomization field, it mistakenly might be possible for the user to modify the randomization field's value after clicking the Save button before the form is officially saved.? Bug fix: If the MySQL database server is set to use ANSI_QUOTES for the SQL_MODE setting, then it will mistakenly display the warning "YOUR REDCAP DATABASE STRUCTURE IS INCORRECT!" on the main Control Center page and on the Configuration Test page. (Ticket?#920)? Bug fix: When using the Twilio telephony services in a project and sending an SMS message to an invalid phone number, it would mistakenly not fail gracefully but would throw a fatal PHP error, which could result in crashing the cron job if the SMS was being sent via the invitation scheduler cron. This could result in other invitations not getting sent on time but a few hours late.? Change: New cron job was added to fix any survey invitations that got stuck in 'SENDING' status but were never sent (due to server going offline unexpectedly, etc.).? Bug fix: When a super user would view the Manage All Project Tokens tab on the API page in a project, it would mistakenly not display the table of project users and would throw a JavaScript error.? Bug fix: The following features were mistakenly not enabled by default if performing a fresh install of version 6.7.X: Embedded video for Descriptive fields, Text-to-speech functionality for surveys, and BioPortal auto-suggest for Text fields. This upgrade will automatically turn them on.? Bug fix: If a Text field is utilizing the biomedical ontology auto-suggest feature and the user then downloads the data dictionary and later re-uploads the data dictionary, the field will lose the ontology auto-suggest feature.? Bug fix: If a Text field is utilizing the biomedical ontology auto-suggest feature, in which another field uses branching logic or calculations based upon that field, then the branching logic and/or calculations would not fire if a value was added to or removed from the field but would only fire when the page was later reloaded after being saved.Version 6.7.2 (released 07/16/2015)? Major bug fix: When using the "Ensure logic is still true before sending invitation?" option for Automated Survey Invitations in a project, it might mistakenly prevent some survey invitations from getting scheduled whenever a record is updated via survey/data entry form or imported.? Improvement: The Codebook page in a project now has branching logic icons next to each field so that when an icon is clicked it takes the user to the Online Designer and opens that field for editing its branching logic. This allows users to quickly make edits to fields' branching logic when viewing the Codebook. There also exists a "Return to Codebook" button at the top of the Online Designer to allow them to return back to the Codebook again.? Bug fix: When clicking the pencil icon next to a field on the Codebook page in a project, it would mistakenly not open the matrix popup dialog on the Online Designer but would instead open the normal "Edit Field" popup, which could cause issues with the display of the matrix if the user changed anything in the "Edit Field" popup and then saved it. (Bug emerged in version 6.7.0.)? Bug fix: If a drop-down field has the "auto-complete" feature enabled and a user on a data entry form tabs into or puts their cursor inside the drop-down's text box but then leaves the field without entering a value, then if the user clicked a link or button to navigate away from the form, it would mistakenly display the "Save your changes?" popup even though no values changed on the page.? Bug fix: If some survey invitations with reminders have been scheduled in a project, then the Survey Invitation Log might display in incorrect count of the total invitations on that page, which could be very confusing to users. This only occurs when reminders exist.? Bug fix: On the Record Status Dashboard page of a project that has Data Access Groups, if a user is not in a DAG and they select a DAG from the DAG drop-down at the top of the page, in which the DAG selected does not contain any records yet, then it would mistakenly display ALL the records in the project on the page and also mistakenly display the form status icon as gray for every form/record. In this case, it should instead display a table with no rows. (Bug emerged in version 6.7.1.)? Bug fix: When using the Double Data Entry module in a project, DDE user?#1?or?#2?would mistakenly be able to view and edit events displayed in the Upcoming Calendar Events table at the bottom of the Project Home page for records that do not belong to them but belong to another DDE user. It now only shows the records that belong to the DDE user and properly displays the record number (i.e., removes the --# ending) in the calendar description.Version 6.7.1 (released 07/08/2015)? Improvement: On the Record Status Dashboard page of a project that has Data Access Groups, if a user is not in a DAG, then they will see a new drop-down at the top of the page to filter the records by any given DAG. Also, it will remember their selection in case they return to that page later, in which the drop-down will be pre-selected with their last selection of it during that same REDCap session.? Bug fix: If using Shibboleth authentication, then the biomedical ontology auto-suggest feature for Text fields will not work on survey pages (although it will work on data entry forms).? Bug fix: Certain API requests (e.g., File Export method) would return a response that was not gzip compressed but would mistakenly include the header "Content-Encoding: gzip" in the response, which could confuse some clients and cause the request to fail in specific situations. The API now only returns that gzip header if the API response is truly gzip compressed.? Improvement: Text fields with "Phone (North America)" validation now display the numeric keypad on iOS and Android devices instead of the QWERTY keyboard.? Bug fix: If a user goes to remove another user from their project, it might mistakenly display a warning message that the user being removed has used the REDCap Mobile App and therefore might have some unsynced data on the app. It will do this if the user doing the removing has initialized the project in the mobile app - i.e., not the user that is selected for removal.? Bug fix: When creating a Descriptive field on an instrument on the Online Designer and adding an inline YouTube video to that field, in certain web browsers the video frame might mistakenly be visible above any popups that open on the page, thus obscuring the contents of those popups.? Bug fix: If a project is utilizing the auto-complete functionality for a drop-down field on a survey or data entry form, then it would mistakenly display the "invalid value!" error message if the user begin to type the answer and then clicked the answer in the list below it *only if* what had been typed thus far did not match any of the valid values from the drop-down.Version 6.7.0 - codename "Macaroon" (released 07/02/2015)? NEW FEATURES & IMPROVEMENTS:New feature: Text-to-speech functionality for surveysCan be enabled on the Survey Settings page for any given survey. Once enabled for a survey, it will display a "speaker" icon next to all visible text. When the icon is clicked, it will audibly speak that text to the survey participant in their web browser. Participants can click the "Disable speech" button at the top of the survey to remove the icons if they do not wish to use the text-to-speech functionality, in which it will remember that preference if they return to another survey on that REDCap server in the future.Many different languages are supported, in which the text-to-speech service is capable of reading text in various languages. For example, if all the survey questions are in Spanish, you can choose Spanish to be the text-to-speech language, which will allow the service to read the text more accurately for that language. (Note: This feature does *not* perform translation.) The language setting is also on the Survey Settings page.Works on mobile devices when viewing the survey webpage in the mobile web view. However, the text-to-speech functionality is currently not supported in the REDCap Mobile App.This feature can be disabled at the system level on the Modules Configuration page in the Control Center.Note: This feature requires that your REDCap web server be able to make outbound HTTP requests to? feature: Embedded videos for Descriptive fields - Users can embed an externally hosted video (e.g., YouTube, Vimeo) on a data entry form or survey page by simply providing the video URL (web address). The video can be displayed inline on the page, or it can instead be initially hidden but displayed after clicking a button. Any video can be set to full-screen mode, if desired.Works when viewed in a web browser on mobile devices.This feature can be disabled at the system level on the Modules Configuration page in the Control Center.Note: Video embedding is not currently supported in the REDCap Mobile App.New feature: Embedded audio for Descriptive fields - New option that will take an attached audio file (e.g., MP3, WAV) on a Descriptive field and display it in an embedded audio player on the data entry form or survey page.Works when viewed in a web browser on mobile devices.Note: Audio file embedding is not currently supported in the REDCap Mobile App.New feature: Action TagsAction Tags are special terms that begin with the '@' sign that can be placed inside a field's Field Annotation. Each action tag has a corresponding action that is performed for the field when displayed on data entry forms and survey pages. Such actions may include hiding or disabling a given field (either on a survey, data entry form, or both).Full list of all available action tags:@HIDDEN - Hides the field on both the survey page and the data entry form. Field will stay hidden even if branching logic attempts to make it visible.@HIDDEN-FORM - Hides the field only on the data entry form (i.e., not on the survey page). Field will stay hidden even if branching logic attempts to make it visible.@HIDDEN-SURVEY - Hides the field only on the survey page (i.e., not on the data entry form). Field will stay hidden even if branching logic attempts to make it visible.@READONLY - Makes the field read-only (i.e., disabled) on both the survey page and the data entry form so that its value cannot be changed.@ READONLY-FORM - Makes the field read-only (i.e., disabled) only on the data entry form (i.e., not on the survey page) so that its value cannot be changed.@ READONLY-SURVEY - Makes the field read-only (i.e., disabled) only on the survey page (i.e., not on the data entry form) so that its value cannot be changed.New feature: New auto-complete feature for drop-down fields and "sql" fieldsUsers can enable the auto-complete feature in the Online Designer for drop-down fields. (Note: Super users can also enable auto-complete for "sql" fields.) Auto-complete can also be enabled via the Data Dictionary by entering "autocomplete" in the validation column for "dropdown" and "sql" fields.The auto-complete feature transforms the drop-down into a combobox that still functions as a normal drop-down list but has the additional capability of employing a text search on the options in the drop-down in order to find an option much more quickly. Enabling the auto-complete feature is most useful when a drop-down list is very long with lots of options.Note: Even though users are able to hand-enter text into the text field when searching the autocomplete drop-down, it will not allow saving the value unless it is a valid option in the drop-down list.New feature: Enable searching within a biomedical ontology for text fields on a survey or data entry formAn ordinary text field on a survey or data entry form can have a special feature enabled that provides auto-complete functionality for real-time searching within biomedical ontologies, such as RxNorm, ICD-9, ICD-10, Snomed CT, LOINC, etc. There are over 400 ontologies available from which users may choose.This feature can be enabled for any given Text field in the Add/Edit Field popup in the Online Designer by simply choosing an ontology in the ontology drop-down list in the popup.This feature can be disabled at the system level on the Modules Configuration page in the Control Center.Note: This feature utilizes the BioPortal API web service (see documentation at?), and thus it requires that your REDCap web server be able to make outbound HTTP requests to? feature: Auto-continue to next survey - Automatically start the next survey instrument after completing a survey.On the Survey Settings page for any survey instrument listed on the Online Designer, under the "Survey Termination Options" section, the user can enable the survey auto-continue setting so that when that survey has been completed, the participant will automatically be redirected to the next survey instrument (if any exist after that survey). If the next instrument is a data entry form that has not been enabled as a survey, then it will be skipped during this process.Linking surveys together is only supported inside the same event and must be enabled for each survey a user wishes to link. This feature allows users to have separate survey instruments strung together to appear as though they were a single survey to the participant. This is especially useful for complex longitudinal projects where different combinations of instruments are given in separate events. If enabled and this is the last survey, the selected termination option below will be used.NOTE: If users wish to utilize more advanced conditional logic to control which survey that the participant goes to next, they should use the Survey Queue feature, which can be enabled in the Online Designer.New feature: New Survey Base URL (alternative to REDCap base URL used only when constructing web addresses for surveys)This feature can be useful if you wish to use a different web address for surveys than for the web address where users normally log in to REDCap, such as if using a reverse-proxy server or separate web server for surveys.The survey base URL will only be used when constructing survey URLs (e.g., when sending invitations to survey participants, displaying a public survey link). For all other URLs in REDCap, the REDCap base URL will be used.This setting can be set on the General Configuration page in the Control Center immediately below the REDCap base URL setting.Improvement: Checkboxes and radio button fields on surveys and data entry forms can now be selected/checked by clicking the label text of the option rather than just clicking the checkbox or radio button itself. This makes it easier and more intuitive to select an option. (Note: This does not work on Internet Explorer 8 and earlier versions.)Improvement: The Codebook page in a project now has pencil icons next to each field so that when an icon is clicked it takes the user to the Online Designer and opens that field for editing. This allows users to quickly make edits to fields when viewing the Codebook. There also exists a "Return to Codebook" button at the top of the Online Designer to allow them to return back to the Codebook again.Improvement: Survey pages are now more compatible and better fitting to the screen when viewed on mobile devices.Improvement: New project-level attributes are now included in the "Export Project Information" API method. The following attributes were added: "project_irb_number", "project_grant_number", "project_pi_firstname", and "project_pi_lastname".? BUG FIXES & OTHER CHANGES:Bug fix: When using the Twilio telephony features in a project, the language instructing users on how to disable the Twilio "Request Inspector" setting was outdated.Bug fix: When executing a rule in the Data Quality module using Internet Explorer 9, it would always mistakenly return zero discrepancies because of a bug in IE9 that would cause the record drop-down list not to load properly whenever the user loads that page.Bug fix: Help & FAQ page was updated to remove some inaccuraciesBug fix: When exporting a PDF of all forms/surveys with saved data in which an instrument ends with a matrix of fields, then on the instrument directly following that one, it might mistakenly mangle the text in the PDF and cause some fields or parts of fields to not get displayed (or not get displayed correctly) in the PDF.Bug fix: When using a min or max validation range for a date or datetime field on an instrument, if the value entered into the field was out of range, the error message displayed to the user would mistakenly represent the min/max values in Y-M-D formate when it should instead display them in the field's designated date format.Change: The "API Tokens" link on the Control Center's left-hand menu has been moved to the "Users" section of the menu (in previous versions it was under the "Dashboard" section).Bug fix: When using the Data Resolution Workflow in a project that also has Double Data Entry enabled,if a user is assigned as DDE person?#1?or?#2?and accesses the Resolve Issues page in the project, it will mistakenly not display the record names correctly. This will cause the issues to not be displayed correctly when the button is clicked, and the link to the data entry form would not be correct.Bug fix: When using the Double Data Entry module in a project in which a user is assigned as DDE person?#1?or?#2, the "Displaying record" drop-down list at the top of the Record Status Dashboard page might mistakenly display records that are not theirs. This only affects the display of the drop-down and not their access to any records.Bug fix: When viewing the "Stats & Charts" page of a report, it would mistakenly not display any Text fields with non-numerical field validation.Bug fix: If a value is manually hand-entered into a datetime or datetime_seconds field on a survey or data entry form and if a leading zero is not included as part of the hour component in the time (e.g., 2015-01-31 9:45), then it would mistakenly not add the leading zero before saving the value, which could cause some sorting issues on reports and possibly some data quality issues. It now makes sure that the hour component in the time gets padded with a "0" if it is only entered as one digit. (Ticket#885)Bug fix: When exporting the PDF of a survey or data entry form that contains a matrix of fields, on certain occasions some fields in the matrix might mistakenly not have any space vertically between them. There should be one blank line of space between matrix field labels in the PDF.Bug fix: If the first field on a data entry form is a radio button field, in which the cursor is automatically moved to that field when the form is loaded, it will mistakenly allow users to type values via their keyboard into the radio button field invisibly and will mistakenly save those values when the form is saved (even those the types values are not visible on the page), resulting in invalid data values being saved for that field. (Ticket?#861)Bug fix: When using the Double Data Entry module in a project in which a user is assigned as DDE person?#1?or?#2, the "View or Edit Schedule" tab in the Scheduling module would mistakenly display records that are not theirs in the record drop-down list.Bug fix: If using filters in a report in which the filter value begins with "1-" (e.g., [study_id] = "1-35"), then it might mistakenly return a record named "1" in the report results (if record "1" exists) even if it record "1" should not be returned in the results.Bug fix: For any user-defined field labels or saved text where the text contains a < character followed immediately by anything other than >, =, or a number, it would mistakenly truncate the text at the < character if it was not the beginning of a valid HTML tag (e.g., "<this would be removed> and <-so would this"). (Ticket?#909)Version 6.6.2 (released 06/17/2015)? Improvement: When using the Twilio telephony services for SMS surveys and voice surveys, it now supports the Matrix Ranking functionality if enabled for a matrix of radio fields. It behaves by removing a matrix choice once it has already been used by a previous question in the matrix. And if the user attempts to enter an already used value, it will tell them that it is an invalid choice and to try again.? Major bug fix: If the REDCap web server has the "short_open_tag" setting in PHP set to "Off", then the page would crash when a user would attempt to enable an instrument as a survey in the Online Designer.? Change: In longitudinal projects the order of the "delete" buttons at the bottom of data entry forms have been changed so that the "Delete data for this event only" button now comes before the "Delete data for this form only" as a means of ordering them according to the severity of what they delete.? Bug fix: When using WebDAV file storage, inline image attachments for Descriptive fields and Signature field images would mistakenly not get displayed in a downloaded PDF of an instrument.? Bug fix: If a user was attempting to copy an instrument via the "Copy" option next to an instrument on the Online Designer, in which one or more multiple choice fields on that instrument had no choice options defined, then it would throw an error and prevent the instrument from being copied.? Bug fix: If the Email Domain Whitelist is enabled, then if a user logs in to REDCap for the first time and is prompted to enter their name and email address, it would mistakenly not enforce the Email Domain Whitelist but instead would allow the user to enter an email address of any domain. (This excludes users using Table-based authentication.)Version 6.6.1 (released 06/09/2015)? Major bug fix: In the event that a public survey is being taken by a very large number of respondents simultaneously (e.g., hundreds or thousands of respondents per minute), there is a chance that some responses might mistakenly get merged together under the same record name when being saved, thus corrupting the data and making it difficult to manually split the separate responses into individual records. New methods have been implemented to ensure that this never happens.? Bug fix: When a user attempts to use the alternative method to obtain a mobile app initialization code on the REDCap Mobile App page in a project, if the REDCap web server is not able to communicate with?redcap.vanderbilt.edu, which generates the code, then it would mistakenly return an incorrect 4-digit number to the user rather than the correct 10-character alphanumeric code.? Bug fix: In a longitudinal project containing multiple arms, if a user attempts to rename a record to a record name that exists in another arm, it would mistakenly display an error saying that the record could not be renamed. Instead, it should allow the record to be renamed for the current arm regardless of whether or not that same record name exists in other arms.? Bug fix: When using the Randomization module in a project and viewing the randomization dashboard page, the record names that appear in the "Allocated records" column of the table would mistakenly not wrap to the next line in the table cell but would instead be truncated.? Bug fix: When the cron job is expiring user accounts that have an expiration time set, it might mistakenly CC the sponsor of another user who is getting expired in that same batch of emails.? Bug fix: Confusing or incorrect instructions were given when exporting data into SPSS or SAS on a non-Windows operating system with regard to modifying the CSV data file's path in the syntax file.? Bug fix: When copying a project that has surveys, some survey attributes would mistakenly not get copied to the new project. This would include "display page numbers at top of page", "allow respondents to return and modify completed responses", "hide the Previous Page button", and the confirmation email settings.? Change: For clarity, a new note was added on the Security & Authentication page in the Control Center to denote that the Login Settings section is not applicable to Shibboleth authentication.? Post-release fix: If a project has record auto-numbering enabled and a user opens a data entry form to create a new record but instead clicks the Cancel button, then it would mistakenly skip a record number in the sequence when the next record was created.Version 6.6.0 - codename "Frosted Sugar" (released 05/29/2015)? New features:Twilio telephony/IVR services (SMS surveys and phone surveys)? Other changes in this version:Bug fix: When using Rule H in the Data Quality module and clicking the "Fix calcs now" button, it would mistakenly not exclude any results that the user had explicitly excluded for that rule.Bug fix: When using Rule H in the Data Quality module, in which one or more results had been excluded and then the rule was run again at a later time, then if the user clicked the "view" link in the results popup to view the exclusions, the "Fix calcs now" button would fail to work if the user tried to click it afterward.Bug fix: When utilizing the Randomization module in a project that has UTF-8 encoded field labels for the randomization field or the strata fields used (especially if multi-byte characters are used in the label), then on certain occasions the Randomization Dashboard page would not display correctly.Bug fix: When survey participants returned to a partially completed survey, in which it displayed the "Start Over" button to allow them to erase their current responses and start the survey over from the beginning, it was too easy for them to accidentally click this button without realizing the repercussions of data loss. It now gives them an extra confirmation dialog that they must click so that they more fully understand the repercussions before starting the survey over.Version 6.5.0 - codename "Oatmeal Raisin" (released 05/22/2015)? NEW FEATURES & IMPROVEMENTS:New feature: REDCap Mobile App for iOS and Android - The REDCap mobile app is an app that can be installed on a tablet or mobile device so that data may then be collected in an offline fashion on that device, after which it may then be synced back to this project on the REDCap server. The app is most useful when data collection will be performed where there is no internet service (e.g., no WiFi or cellular service) or where there is unreliable internet service. Once a user is given 'REDCap Mobile App' privileges in a project, they can navigate to the mobile app page on the left-hand menu and set up the project inside the mobile app on their device. Once the mobile project is set up on the device, the user can collect data (which is stored locally on the device), and then at some point sync that data back to their project on the REDCap server.Documentation:iOS app:? app:? the REDCap Mobile App (PDF):? in the REDCap Mobile App (PDF):? users can use the mobile app for a project, they must first be given "Mobile App" user privileges, after which they will be able to see the "REDCap Mobile App" link on the project's left-hand menu and then be able to access that page, which will provide links to download the Android and iOS app and instructions for initializing that project in the app on their mobile device. Note: When a user creates a new project, they will automatically be given "Mobile App" privileges by default.There is an additional user privilege "Allow user to download data for all records to the app?" that specifically governs whether or not the user is allowed to download records from the server to the app. This may be done to prevent users from unwittingly (or wittingly) downloading lots of sensitive data to their mobile device. If a user is given this privilege, then when they initialize the project in the app and the project contains at least one record, then the app will prompt the user to choose if they wish to download all the records to the app or not.Syncing data back to the REDCap server: When the user has collected some data in the app and now wishes to send the data back to the server, they will go to the "Send data to server" page in the app. If there are any possible issues that might arise when sending the data to the server, the app will prompt the user to make a decision before sending the data. For instance, if the project uses record auto-numbering, and a record already exists on the server with the same record name, then it will let the user know that it will rename the record accordingly during the sync process in order to prevent any overwriting of the record already on the server. There are many different scenarios that can occur in which a user might be prompted to make a decision, and the app is fully capable of providing the user with just the right amount of guidance so that they feel confident sending their data to the server with no issues.Remote lockout: If a user sets up a REDCap project on the mobile app, and then another user revokes their "REDCap Mobile App" user privileges on the User Rights page in that project, then it will prevent them from accessing it on their mobile device by locking them out of that particular project. In this way, you may perform "remote lockout" to further protect data stored on mobile devices. Additionally, a user can revoke/delete their API token for the project, which will also cause a remote lockout, although the lockout will be permanent and will cause all data currently stored in the app to be lost.Admins: If you do not want your REDcap end-users to be able to use the mobile app at all, the mobile app can be disabled at the system level, if desired. When disabled, it will hide all information and all pages that mention the mobile app as if it does not exist. This setting is located on the Control Center's Modules Configuration page.New feature: Copy Instrument - On the Online Designer, users can click the "Choose action" drop-down next to a given instrument to copy the instrument. They will be given the choice to name the new instrument and to also provide the suffix text that gets appended to each variable name to prevent duplication of variable names.New features: Instrument ZIP Upload and External Instrument LibrariesIn the Online Designer, if a user clicks the "Choose action" button in the Instruction Actions column and selects "Download Instrument ZIP", they can download a zip file of that data collection instrument, which also includes any attachment files for descriptive fields in the instrument. Using this feature makes it easy to share in individual instrument with colleagues or to keep for yourself if you want to re-use it and re-upload it into another REDCap project.If user has obtained an instrument zip file from another project, from another user, from an institutional library of recommended zips, or from an External Instrument Library, they may upload the instrument on the Online Designer using the "Upload" button to add the instrument to the list of data collection instruments in the project.External Instrument Libraries now exist in which REDCap users can navigate to an external website that can provide them with an instrument in the REDCap instrument zip format so that they can then take that zip file and upload the instrument into their REDCap project. It is somewhat similar to how the Shared Library works, except these external libraries are not associated with the REDCap consortium but are advertised as REDCap-friendly libraries or tools for creating instruments. The Online Designer contains a link to the current list of recommended external libraries where instrument zip files can be downloaded by users.New feature: Auto-scoring Instruments - A new class of instruments called "auto-scoring instruments" were recently added to the REDCap Shared Library. They cannot be used by previous REDCap versions but only by v6.5.0 and later. An auto-scoring instrument is a type of survey that contains scoring that is automatically performed and saved once the survey has been completed. Most of them are referred to as "short forms". An auto-scoring instrument is static (not adaptive), and can only be implemented in survey format as one question at a time. Similar to CATs (computer adaptive tests) downloaded from the Shared Library, users will not be able to modify any fields on the instrument at any time. This auto-scoring instrument can only be taken in survey form. If the data entry form is viewed for this instrument, all fields will be displayed as read-only. Also similar to CATs, auto-scoring instruments utilize the external CAT server hosted by Vanderbilt University. The external server provides the auto-scoring functionality once the survey has been completed. Users can find these auto-scoring instruments by searcing the REDCap Shared Library.New feature: Field Annotation - Can be used to add explanatory notes or commentary about a given field. An annotation can be added to any field via the Online Designer or Data Dictionary (column R). It can be used for several purposes, such as for the bookkeeping of a project's field structure (as metadata about the given field) for reference purposes regarding what the field represents or how it should be used (during data entry, analysis, etc.). Field annotations are not displayed on any page but are merely for reference. Field annotations can also be used to map the field to various standards (e.g., CDISC, SNOMED, LOINC) using whatever notation the user sees fit (e.g., using a simple ID code for the standard or a complex XML structure containing information about how to transform the data to the standard). Since it is just an annotation for reference purposes, REDCap will not do anything with the field annotation text on its own, but the annotation can be obtained by users at any time for any purpose (typically accessed via the Data Dictionary download or via the API metadata export). Summarily, field annotations are essentially open-ended, so users may use them in whatever way they so choose.New feature: Project Notes - When creating a new project, users may optionally provide project notes, which are comments describing the project's use or purpose for documentation purposes. Once a project has been created, its project notes can be edited in the "Modify project title…" popup on the Project Setup page. Also, any projects having project notes will have a small icon displayed next to the project title on the My Projects page, and if a user moves their cursor over the project title, it will display the project notes in a hovering tooltip so that it can be quickly viewed. The project notes text can also be useful for other things, such as if someone is utilizing the Field Annotation attributes of fields in the project for standards mapping, in which the project notes fields could be used as a way to store project-level metadata about how the Field Annotation is being used (e.g., what type of standard is being used).New feature: API method "Export Project Information" - Exports some of the basic attributes of a given REDCap project, such as the project's title, if it is longitudinal, if surveys are enabled, the time the project was created and moved to production, etc. See the official API documention/help page in 6.5.0 for all the details.Improvements to the REDCap Upgrade ModuleImprovement: The REDCap Upgrade module now has an option to download the SQL upgrade script as a file, which can be saved on the database server and then executed by MySQL command line. The upgrade module displays instructions on how to execute that file in MySQL, which sometimes may be preferable to executing all the SQL upgrade commands in a window in a MySQL client, which could time out if it runs too long.Improvement: REDCap can now (on certain occasions) be upgraded to a newer version without being taken offline. The upgrade module now has the ability to let an administrator know if an upgrade can be performed without setting REDCap's online status to "offline" beforehand. If the upgrade module detects that this is possible, it will provide a note about it in Step 1 of the upgrade page. In instances where REDCap is upgraded without being taken offline, there are special safeguards in place to prevent loss of data while users are using REDCap during the upgrade. Being able to upgrade REDCap without taking it offline will be a great asset to institutions that upgrade often.New feature: New delete buttons at the bottom of data entry forms allow users to delete all data on the current form of a given record and also (for longitudinal projects) to delete all data on the current event of a given record. The user must have "Delete records" user privileges in order for these buttons to be displayed and utilized.Improvement: When building reports in a longitudinal project, Step 3 now contains a new checkbox option: "Show data for all events for each record returned". If this option is CHECKED, then *all* events are returned for each record, but if UNCHECKED, then some events in each record *may* get removed (depending on the filters defined in the report). This option provides users with more control when using report filters, in which it allows them to apply filters to return a group of records (e.g., a cohort) and then optionally filter those records returned even further, such as by removing specific events. This will make report filtering much more palatable for longitudinal projects.Improvement: When building a report on the "Data Exports, Reports, and Stats" page, a new "Quick Add" button has been added to Step 2, in which it opens a popup window to allow users to select fields for the report very rapidly using the old-style checkboxes (similar to the Data Export Tool in REDCap version 5.X).Improvement: On the "Data Exports, Reports, and Stats" page, users can now create a new report based on the custom selections made in Report B. This makes it much easier to create a report that includes all fields from many instruments and/or events.Improvement: On the Browse Users page in the Control Center, a new user account setting called "Display user on 'Email Users' page?" can be set to "No" so that an individual user will no longer be displayed on the Email Users page in the Control Center, thus preventing them from receiving any emails sent using that page. This can be useful if a user requests to opt out of system-wide announcements sent to REDCap users by administrators, for example.Improvement: The Data Entry Trigger now sends the parameter "username" to the defined URL. This corresponds to REDCap user that is triggering the Data Entry Trigger. Note: If it is triggered by a survey page (as opposed to a data entry form), then the username that will be reported will be '[survey respondent]'.Improvement: New option for Automated Survey Invitations to ensure that the ASI's conditional logic is still true before sending the survey invitation. When enabled, REDCap will re-evaluate the logic against the record's data values whenever the record values are changed AFTER the invitation has been scheduled but BEFORE it has been sent to the respondent. And if the logic is no longer true (i.e., if the data values have changed during the time after the survey invitation was scheduled), it will not send the invitation to the respondent but will instead delete it (as if it had never been scheduled). Additionally, if the invitations get deleted due to this setting, then the invitations *may* get scheduled again later if data values are changed such that the logic evaluates as true again. Enabling this setting provides you with greater control over when and how invitations get sent when using conditional logic for Automated Survey Invitations.? BUGS & OTHER CHANGES:Major bug fix: For user-uploaded files on the File Repository page in a project, it is possible for a user to manipulate the URL of a given uploaded file and be able to view the name/label, filename, and upload date of files in the File Repository of other projects to which the user does not have access. The user would not be able to edit or delete the files from other projects, but could only view the file's associated metadata information.Major bug fix: When utilizing datediff() and some other advanced logic functions in the logic used in Data Quality rules, Automated Survey Invitations, Survey Queue, report filters, etc., it might mistakenly evaluate the logic as true when it should return false. This could cause Automated Survey Invitations to get sent prematurely or cause surveys to appear in the Survey Queue prematurely, among other things.Major bug fix: If any data had been imported into REDCap using the Dynamic Data Pull (DDP) module, it would no longer be able to display the data in the DDP adjudication popup. This is due to an inadvertent, recent change in REDCap to accommodate issues with Mcrypt in PHP 5.6. REDCap will have to refresh the cache of all non-adjudicated data imported via DDP from the source system. This will not affect any data that has already been imported via DDP. The data refresh may take several hours to complete after the REDCap upgrade has finished.Major bug fix: When using the round() function in a calculated field, in which the calculation results in a value of "0", it might get mistakenly reverted back to a blank/null value if running Rule H on the Data Quality module or if an auto-calculation is triggered when using cross-form or cross-event calculations. This bug emerged in REDCap 6.3.0.Improvement: Longitudinal projects using lots of calc fields should now experience a speed improvement when it comes to performing and saving auto-calculations on data entry forms/surveys and also for Rule H on the Data Quality page.Improvement: General speed improvement when it comes to performing and saving auto-calculations on data entry forms/surveys. In versions 6.3.0 till 6.4.6, it would evaluate *all* fields on a form/survey when performing auto-calculations, but it now only evaluates fields on the page whose value was changed, deleted, or added. This will allow it to ignore irrelevant fields and thus increase the processing speed of calculated fields in general.Improvement/change: On the "Data Exports, Reports, and Stats" page, the multi-select boxes (e.g., those in User Access or in Additional Filters section) now behave more intuitively when users select choices from them. Users no longer need to hold down the Ctrl/Command button when clicking multiple choices, but instead simply clicking a choice adds it as selected without de-selecting the other options already selected.Improvement: When viewing reports in longitudinal projects, any fields displayed in the report that are not designated for that particular event (i.e., row in the report) will be grayed out to show that the field is not designated. This makes it easier for users to discern if a field's value is not applicable or if it is missing.Improvement: Added new "Edit project settings in Control Center" link at the top of every project's Project Setup page (can be seen only by super users), which allows them to navigate to the Control Center in order to modify any project-level settings that only administrators are allowed to modify (e.g., enable Double Data Entry).Change: The parent-child functionality (i.e. project linking feature) has been removed in REDCap 6.5.0 and all versions thereafter. Any projects that were using the parent-child functionality will now operate as normal projects do and will no longer be linked to each other in any way. All functionality related to the parent-child feature (e.g., being able to export parent data from the child Data Export page, viewing parent or child forms on the left-hand menu of the other project) will cease to work and will be removed automatically. However, during the REDCap upgrade process, a project bookmark will be added to both the parent and child project so that users can navigate back and forth easily from the parent project to the child (and vice versa). And if a record is being viewed in the child, then clicking the bookmark will take the user to that same record in a data entry form in the parent project (and vice versa). For the announcement and discussion of why this feature was removed, please see: Temporary passwords are no longer sent in emails when resetting passwords for Table-based users or when creating new Table-based user accounts. Instead, a unique link is sent in the email that will allow the user to set a new password for their REDCap account.Improvement/change: The Browse Projects page in the Control Center no longer displays Archived projects by default but instead displays a "Show Archived Projects" link at the top of the page that, when clicked, will display the Archived projects in the project list.Improvement: If using the Dynamic Data Pull (DDP) module in a project, and the value of the source identifier field (e.g., MRN) for a given record is changed *after* REDCap has already imported and cached the data from the source system for that record, then it will now purge the previously cached values for the record, after which it will begin to import new data from the source system for the new value of the source identifier field.Change: Information on the "sql" field type is no longer located on the REDCap consortium wiki but has been integrated into the Online Designer (for super users only).Change: Record auto-numbering is enabled by default for new projects that are created from scratch.Change: When performing a fresh installation of REDCap, all the template projects now have record auto-numbering enabled. (Note: This will not enable record auto-numbering for template projects that already exist.)Change/improvement: When an administrator is approving production changes to a project, the optional feature to send the user an email so that they may confirm the pending changes now has slightly modified text for the pre-filled confirmation email in order to improve clarity regarding what the user should do.Change: The auto-suggest functionality for searching for users on the Browse Users page, Browse Projects page, or User Rights page in a project now ignores commas so that more accurate results are returned in cases where a user enters "LastName, FirstName", for example.Improvement: Added user's "sponsor" and "Institution ID" field for their user account to the popup that lists users on the Browse Users page in the Control Center.Change: Due to the fact that Google is deprecating OpenID 2.0, which was used by REDCap in versions prior to REDCap 6.5.0, the "OpenID (Google)" authentication method in REDCap will now utilize Google OpenID Connect (OAuth2), which uses a different protocol. So as far as the REDCap user is concerned, their login process will not change at all. However, this change to using OAuth2 requires an extra setup step, in which a REDCap administrator must go to the Security & Authentication page in the Control Center and enter a Client ID and Client Secret if they are using the "OpenID (Google)" authentication method. If they upgrade to REDCap 6.5.0 and then log in, they will immediately see an error message giving the administrators instructions on how to obtain a Client ID and Client Secret for the Google API, which should only take a few minutes.Change: When creating Project Bookmarks in a project (or Custom Application Links in the Control Center), the "Link URL / Destination" is no longer required to be full URL (beginning with "http") but can now be a relative link (i.e., beginning with "/") or can begin with another non-http protocol. This adds flexibility for users creating bookmarks.Change: When adding the URL for a Data Entry Trigger for a project, it is no longer required to be full URL (beginning with "http") but can now be a relative link that begins with "/".Change/improvement: New instructional text was added to the top of the "Help & FAQ" page to inform the user that they can use Ctrl+F (or Command+F) on their keyboard to do a keyword search on the page.Bug fix: When using the Data Comparison Tool for a project with Double Data Entry enabled, if the records entered by DDE person 1 and person 2 had a record name that was in a different case than the other in the pair, then it would mistakenly not allow the user to compare the pair of records nor merge them together. (Ticket#823)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" videoBug 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. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download