DFdiscover Release 5.10.0
All rights reserved. No part of this publication may be re-transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of DF/Net Research, Inc. Permission is granted for internal re-distribution of this publication by the license holder and their employees for internal use only, provided that the copyright notices and this permission notice appear in all copies.
The information in this document is furnished for informational use only and is subject to change without notice. DF/Net Research, Inc. assumes no responsibility or liability for any errors or inaccuracies in this document or for any omissions from it.
All products or services mentioned in this document are covered by the trademarks, service marks, or product names as designated by the companies who market those products.
Google Play and the Google Play logo are trademarks of Google LLC. Android is a trademark of Google LLC.
Nov 20 2025
For software support, Please contact the DFdiscover team:
via email, help@dfnetresearch.com.
Visit our website, https://www.dfnetresearch.com.
A number of conventions have been used throughout this document.
Any freestanding sections of code are generally shown like this:
# this is example code code = code + overhead;
If a line starts with # or %, this character denotes the system prompt and is not typed by the user.
#
%
Text may also have several styles:
Emphasized words are shown as follows: emphasized words.
Filenames appear in the text like so: dummy.c.
dummy.c
Code, constants, and literals in the text appear like so: main.c.
main.c
Variable names appear in the text like so: nBytes.
nBytes
Text on user interface labels or menus is shown as: Printer name, while buttons in user interfaces are shown as Button .
Menus and menu items are shown as: File > Exit.
DFdiscover 2025 Version 5.10.0 introduces meaningful enhancements that make clinical data management more efficient, secure, and reliable. It builds on the strong foundation of recent updates while adding new capabilities for participant engagement, efficient study builds, permission controls, improved system security, and overall usability.
Key features and enhancements in this release include:
ePRO Management: DFweb’s new ePRO Management page provides site staff and study teams with more control and transparency for the management of study participants using DFengage, providing a secure subject registration process and oversight capabilities. To support this new tool, DFadmin provides new user permissions to ePRO Management and restricts ePRO user profile access in DFadmin, to assure the protection and confidentiality of participants’ personal identifying information.
Combine Repeating Forms in One Visit: Consolidate the subject binder by grouping repeating forms (such as Adverse Events, Concomitant Medications, Medical History) into a single folder in DFexplore.
Field Navigation Taskbar: DFcollect and DFweb now optionally display ‘Previous’ and ‘Next’ buttons for field navigation, helpful for users on touchscreens. This option is enabled at the study level in DFsetup with a desktop option setting in DFweb.
Setup Import Enhancements: Importing setup from Excel, JSON, or another study now allows merging with existing styles and modules via a conflict resolution process.
Permission Alignment: Role permissions for EDC views and functions are now aligned across DFexplore, DFweb, and DFcollect, providing consistent access controls and capabilities regardless of the EDC tool being used.
Sensitive Data Encryption: Specific data fields can be encrypted to ensure that data cannot be read in the raw data files on the server, using the new Encrypted field property in DFsetup.
Security Enhancements: Various improvements have been made to ensure the security of the system and your data, including encryption of all user profile data, optional SSO-only user accounts, and input validation in DFweb to prevent security attacks.
These changes are described in New Features and Enhancements. The complete listing of all changes by product area and type of change, including bug fixes, is available under All Updates. The release notes also provide information about any Known Issues in the current release as well as any Advance Notices for planned changes in upcoming releases.
DFdiscover 2025 Version 5.10.0 is a minor release in the DFdiscover 5.X family that started with DFdiscover 2018. DFdiscover version numbers have 3 components:
For example, 5.0.2 is the second patch to the 5.0.0 major release. 5.2.1 is the first patch to the 5.2.0 minor release.
DFdiscover 2025 Version 5.10.0 includes the following client applications:
DFexplore: desktop app for clinical data management (Windows, macOS)
DFsend: desktop app for submission of scanned paper CRFs (Windows, macOS)
Complete client application package (Windows, macOS):
DFweb: browser-based EDC app (no end user installation required)
DFcollect: tablet-based online/offline EDC app, available from Google Play on Android and from the App Store on iPadOS and iOS.
NOTE: If auto-update is enabled for DFcollect on the device of existing users, DFcollect will update automatically as new versions are released. If auto-update is disabled, users need to manually update DFcollect to use newer versions.
DFdiscover 2025 Version 5.10.0 includes updates to the DFdiscover, DFws API, and DFweb server applications as well.
DFnet updates these components on its DFdiscover instances as part of the release, including multiple instances of DFweb and the DFdiscover DFws API. These are located in the USA, South Africa, Canada, Australia, and Europe, each with their own server name, DFweb URL, and DFws API URI.
For organizations hosting their own DFdiscover servers, the server installation packages for DFdiscover, DFws API, and DFweb are available as RPM files. DFdiscover report updates are also available from cdn.dfdiscover.com. Information for system administrators is provided in Server Upgrade.
Desktop and client-side tools are supported on Windows 10 and newer and macOS 10.14 (Mojave) and newer. We recommend keeping your operating system up to date.
DFweb Version 5.10.0 is supported on devices (desktops, laptops, tablets, smartphones) that run the following web browsers: - Chrome 71 and newer - Edge 79 and newer - Firefox 65 and newer - Opera 58 and newer - Safari 12.1 and newer
The minimum recommended screen width is 400 pixels, except for studies using CRFs with backgrounds, where the minimum recommended screen width is 800 pixels. To avoid horizontal scrolling with CRF backgrounds and eCRF tables in portrait orientation, the minimum recommended screen width is 1280 pixels.
DFcollect Version 5.10.0 requires a mobile device (tablet or smartphone) running Android 5.1 and newer, iPadOS 13.1 and newer, or iOS 11 and newer.
For DFdiscover system administrators, refer to Server Upgrade, Supported Configurations.
We recommend all end users install version 5.10.0 of client applications such as DFexplore, DFweb, and DFcollect to take advantage of new features and fixes. However, after upgrading the DFdiscover server to 2025 Version 5.10.0, end users are not required to upgrade immediately as long as the study is configured in DFadmin to allow older versions to connect, with the exception of DFcollect in this release.
DFdiscover 2025 Version 5.10 is not compatible with DFcollect version 5.9.X or earlier. This is due to DFws API version 5.10 requiring TLS version 1.3 or later. Ensure all DFcollect users upgrade to version 5.10 on their devices before connecting to DFdiscover using DFws API 5.10.
Both DFweb and DFcollect are designed for backwards compatibility with older DFdiscover server and API versions, however some new features are only available when connecting to a DFdiscover server and API Version 5.10.0 or later, as noted in the following chapter.
If any version of any client application will be used that does not match the DFdiscover server version, ensure that the master or study Version Strict setting is ‘All minor versions supported’ or ‘Minimum version supported’ in DFadmin. When ‘All minor versions’ is enabled, the following versions of client applications may be used with DFdiscover 2025 Version 5.10.0 server: 2019 5.2.1, 2020 5.3.2, 2021 5.4.0, 2022 5.5.1, 2023 5.6.0, 2023 5.7.0, 2024 5.8.0, and 2024 5.9.0.
DFsetup and DFadmin users should use the new desktop client versions after the DFdiscover server upgrade to take advantage of new features.
Warning: Using older versions of DFsetup to make changes to a study that uses features added in later versions will result in losing that data. In DFsetup, users will be warned if setup is newer than the DFsetup version, and a notice appears if your DFsetup client app version is older or newer than the DFdiscover server version. Only study admins can save a newer setup to an older version.
When upgrading, review study role permissions to ensure new features are available users as intended. Permission requirements for API client applications are described below.
DF_SBcrfoverview
DF_QueryOverview
DF_SBsummary
DF_QueryDataSummary
DF_TaskSummary
This chapter describes the features and enhancements added to DFdiscover since the release of Version 5.9.0. See the next chapter, All Updates for a table listing all changes, including bug fixes.
Several updates have been made to DFadmin, the server, and the API to support ePRO user management capabilities. These enhancements establish a secure framework for managing DFengage ePRO (electronic patient reported outcome) users and their associated access and personal details, ensuring that personally identifying information (PII) remains protected while enabling authorized staff to support participant access to DFengage.
DFadmin Updates
ePRO Admin Permissions: A new “ePRO Admin Permissions” tab has been added to the Users section in DFadmin to control access to DFweb’s ePRO Management page. This section provides study and system administrators with the ability to view, assign, and update permissions for ePRO administrators, monitors, and viewers for each study by site number. These permissions are separate from standard DFdiscover and study administrator permissions, specified per user by study and site, ensuring that only authorized staff may handle PII. These permissions do not give a user access to DFadmin. The following permission types are available:
Blinded ePRO User Profiles: To maintain privacy compliance, personal profile details for ePRO users, including name, email address, and phone, are not displayed in DFadmin. Administrators can create ePRO users as before, can see that they exist, assign two-factor authentication required, and adjust their study permissions as needed, but they cannot view or edit personal data fields. This applies both in the user profile tab and in the user and study history logs.
How ePRO User Data is Handled
These enhancements ensure privacy compliance through controlled visibility of personal participant data, controls over access available to site personnel and study teams separate from system administrators, as well as improved oversight of ePRO-related actions and access permissions. Learn more about DFadmin’s ePRO Admin Permissions and updates to the User Profile.
A new feature has been added for sending email reminders about new or overdue ePRO activities to study participants using the web version of DFengage. When using the DFengage mobile app, participants receive reminders as push notifications on their device. When using the DFengage web app, reminders are sent via email from the DFdiscover server.
By default, the activity reminder emails use a generic template, matching the DFengage mobile reminders, and include a login link specific to the participant for immediate access to their activities on the web. This template can be customized per study using the DFmsgtemplates configuration file. Translations may be included to support multi-language studies.
DFmsgtemplates
This feature is implemented through a series of functions:
The same activity scheduling used by DFengage is used for email-based reminders, however when email reminders are sent is determined by when DFeproschedule is run. By comparison, push notifications in the DFengage mobile app are sent based on the user’s local time on their device at the time they last accessed DFengage.
Each study may customize what details are collected during the subject registration process on the DFweb ePRO Management page. This allows study teams to determine what data is needed to keep the participant onboarding process streamlined. The following options are available in DFsetup under Study > Global Settings > ePRO:
DFeproreminders
Templates for invitation, login, activity due, and activity overdue messages sent by the system via email to ePRO participants may be customized for each study. These customized messages are defined by creating a DFmsgtemplates configuration file stored on the server in the study lib directory.
The templates support placeholders for the study name, participant name, participant username, and user-specific invitation and login hyperlinks to DFengage. The templates also support multiple languages.
Details on the configuration file format, including an example, are provided in the Programmer Guide. When the configuration file is not provided, default message templates are used. In a future release, DFsetup will provide an interface to define and modify these templates.
Prompts and text in eCRF tables now support up to 1500 characters, increased from the previous limit of 256. This allows for additional information and details to be displayed on the eCRF, and for the use of HTML to support basic formatting.
Note that when printing eCRFs to paper or PDF, questions may now be split across multiple pages. Be sure to review printed annotated or blank eCRFs to ensure all CRF questions are legible. You may wish to add line breaks in prompts, instructions, table headers or cells to ensure that, when the eCRF is printed, questions are not split across multiple pages in a way that makes them difficult to read. When printing completed CRFs with data, if string fields are auto-expanded when printing, the placement of text and input fields may be different from the blank CRF.
A new global setting has been added in DFsetup to enable the new field navigation taskbar in DFcollect and DFweb on smaller screens where users may not have a physical keyboard or mouse. The navigation taskbar is displayed at the bottom of the CRF page and is designed to improve usability by simplifying navigation on tablets and phones. The taskbar is especially useful for studies using dynamic rules for showing and hiding fields. Learn more.
This setting only applies to DFcollect and DFweb on tablet and phone sized screens, to support users without a keyboard or mouse. DFweb has an additional setting to allow users to enable the field navigation taskbar on desktop as well.
Repeating CRFs may now be grouped into a single visit folder in the DFexplore subject binder, streamlining display and access for log forms like Adverse Events, Concomitant Medications, and Medical History.
To enable this option, a new property has been added to the DFsetup Visit Map specific to visits defined with a visit number range (e.g., 1001-1050). Select the ‘Combine visit range into one folder in subject binder’ checkbox to enable the option for that visit range.
When this option is enabled, all forms within that visit range will be displayed under a single folder in the DFexplore subject binder. The visit label is displayed without any visit-specific substitutions (e.g., a visit label of “Medical History #%{S.2}” will be displayed as “Medical History”), and all pages within the visit folder will be displayed with the label defined in the page map or the plate label.
We highly recommend updating the Page Map to include a substitution reflecting the visit number or other details to distinguish between the different pages in the visit folder. For example, update your Adverse Event CRF page label to “AE #%{S.2}: %9”, where field 9 is your AE Term, to display the page label as “AE #01: RASH” when the last two digits of the visit number are 01 and RASH is the AE term entered in field 9.
Learn more about this update to the visit map. This new feature requires both DFsetup and DFexplore version 5.10 or later. This subject binder update will be rolled out to DFweb and DFcollect in a future release.
All timestamps displayed in the DFexplore interface now include the UTC offset of the server time or the user’s local time as appropriate. This helps avoid confusion for users in time zones outside the server’s location. For reference, the User Profile dialog available from the File menu shows the UTC offset for both the user’s local time and the server time.
A new setting in DFsetup controls when a red asterisk appears on the eCRF in DFexplore next to the prompt for fields that are defined as required or essential. This provides a visual indication of when fields must be completed without relying on color vision, supporting user accessibility.
By default, this setting is disabled, which results in no red asterisks appearing in DFexplore on eCRFs (even where they were displayed in previous versions). When the setting is enabled, the red asterisk appears in DFexplore for required and essential fields in the following locations:
The red asterisk does not appear next to key fields (visit/assessment number, subject ID). The red asterisks are included when saving or printing blank, completed, and annotated CRFs as well as when creating subject packages.
DFdiscover has been updated so that in the case of a change in a record’s key fields (plate number, visit number, or subject ID), a “Keys changed” reason is added to the subject ID field of the new record. This reason provides a direct reference in the new record’s audit trail to the original record.
This is in addition to the existing “Keys changed” reason already added to the subject ID field of the original record before it is deleted, as well as the Change Keys option in the History of Changes report (DF_SBhistory) which lists all key changes. This update improves the ability to trace the full history of a CRF when key fields are modified.
Note that this change is not applied to key changes performed prior to upgrading both DFdiscover server and DFexplore to 5.10. If an older version of DFexplore connects to DFdiscover server version 5.10 or later, the “Keys changed” reason is not applied to new records, but any reason added by a key change performed in DFexplore 5.10 is visible in the audit trail.
The setup import functionality in DFsetup has been enhanced to provide greater flexibility, control, and visibility when importing study setups from another study or from external files (Excel or JSON). These improvements make it easier to aligned imported modules, styles, and fields with an existing study setup while maintaining consistency and preventing data loss.
The Import Definitions dialog now includes options to resolve conflicts between setup components and imported definitions. When a conflict is detected (for example, if an imported style, module, or field already exists in the current setup), DFsetup provides a conflict resolution difference table which allows users to review and resolve all detected conflicts before completing the import by choosing to keep the existing setup value or replace it with the imported value for each conflict.
For differences in existing style and module field properties, the difference table displays each property and its value in the current study and in the import file. When there are differences in fields within a module being imported, the difference table displays ‘Add field’ and ‘Keep field’ indicators to identify what fields will be added or removed from the existing module. These indicators help users understand exactly how the imported setup will affect existing configurations before confirming the update.
This setup import update allows users to safely update existing styles and modules already present in the study without encountering blocking conflicts. This updates now enables using the default SimpleStyles when creating new plates via Excel import. Updates to modules or styles used on an existing plate or added with a new plate are now possible, however it is not possible at this time to use setup import to update an existing plate.
This enhancement provides streamlined setup imports from Excel, JSON, or another study with interactive conflict resolution for controlled merging of setup changes. Visual indicators of additions and changes provide usability and transparency when importing changes to a study with existing definitions. Learn more about importing setup definitions.
To strengthen data privacy and regulatory compliance, a new field-level encryption feature has been added, enabling the protection of sensitive data stored within DFdiscover study databases. This enhancement introduces an Encrypted field property in DFsetup for applicable field types and ensures that sensitive information remains encrypted throughout the data lifecycle from entry to export while maintaining compatibility with existing tools and workflows.
The new Encrypted field property is available for string, number, and date field types in DFsetup. When enabled, values entered for that field will be encrypted when saved to the database. This property can be defined directly in DFsetup or may be imported via Excel or JSON setup fields, is included in the setup exports and recorded in change history to track configuration changes, and applies to both study data and derived fields, such as reported value fields in query records.
This enhancement allows database developers to identify specific data elements, such as personal identifiers, contact information, or sensitive clinical data that must be encrypted at rest.
Sensitive field values are encrypted using OpenSSL 256-bit AES, converted to Base64, and stored in the database. When data are exported or reported, the process is reversed. Encrypted values are recognizable in the database by a special leading character (^) which marks the field as encrypted. This allows DFdiscover components to detect and decrypt the data efficiently without compromising security.
Encrypted Base64 strings are typically up to twice the size of the original field value, depending on character encoding. For this reason, string fields designated as encrypted are recommended to be fewer than 250 characters. Plates containing many long encrypted string fields may approach or exceed the record size limit; carefully review and test your plate setup to ensure encrypted data can be stored in the database.
Field-level encryption in DFdiscover helps improve data security and supports compliance and privacy requirements while seamlessly integrating with existing data capture, import, export, and reporting tools, and providing a flexible configuration to meet data protection requirements for individual studies. Learn more about field-level encryption.
A new global setting has been added to DFsetup to allow the restriction of field names and aliases from 80 characters to 32 characters. This helps ensure that projects using statistical packages such as SAS® with limitations on the length of variable names do not run into issues when exporting or analyzing data from DFdiscover.
To update this setting in your study, go to Study > Global Settings, navigate to the Fields tab, and find the Name and Alias setting. By default, 80 characters will be selected for both existing and new studies.
It is now possible to require specific users to login with their Microsoft account, preventing login with standard DFdiscover user credentials. This feature allows organizations to prevent DFdiscover access for specific individuals (for example, internal staff) without an active, valid Azure Entra ID account, providing an extra layer of security.
This option is enabled in DFadmin Users with the ‘SSO Only’ checkbox in the User Profile tab. With this feature enabled, users are required to login with their Microsoft account and will not be able to login with their DFdiscover credentials when accessing DFweb or any of the desktop applications. This feature is not supported when logging in to DFcollect, DFengage, or any command-line interfaces.
System administrators are now able to configure their DFdiscover server to accept logins from all client applications through Microsoft Single Sign On only, disabling login using standard DFdiscover username and password credentials. This option is enabled through a new setting in the DFedcservice.cf file using the ssologinonly parameter and is enforced across the server. Learn more.
When the SSO login only setting is enabled for a server, login interfaces connecting to that server will disable the username and password fields and only allow login with Microsoft. This new setting is supported in all desktop applications as well as DFweb and DFcollect, but is not supported in DFengage or in any command-line interfaces. Note that DFcollect only supports SSO when online; offline access to DFcollect with SSO is not available.
DFdiscover now includes a study configuration option to enable input validation to enhance protection against cross-site scripting (XSS) attacks.
When the ‘Input Validation’ setting is enabled for a study in the DFadmin Studies tab, DFweb performs automated validation and cleaning of all entered data in that study to ensure scripting cannot be used to attack a DFdiscover server. If any data values are changed by this process, the user is informed prior to saving that the data has been changed and is requested to review the data before saving. Learn more.
Since this security option changes data entered by users, it is disabled by default and may be enabled by a DFdiscover or study administrator in DFadmin.
To enhance the protection of personally identifying information (PII) stored in DFdiscover, user profile records are now encrypted on the server. This ensures that anyone with backend access to the user database is not able to access user profile details without the appropriate permissions in place.
After the upgrade, new user records will be encrypted when they are saved to the server, and user records that existed before the upgrade will be encrypted when they are modified, whether through user updates in DFadmin, user profile changes in DFweb (User Profile page or ePRO Management page) or DFexplore, or user imports in DFadmin or using DFuserPerms command line interface.
Note that this change prevents USER records from being read directly from DFuserdb.log. Instead, use the API, DFuserPerms command line interface, or DFuserdb -export to retrieve user records.
Selecting Help > Topics from the application menu in any desktop application now opens the corresponding user guide in the system’s default web browser. This replaces the previous behavior of displaying the Topics dialog within the application.
The new web-based user guides include the following features:
A new standard report, Subject Schedule of Pages, is available listing the status and requirement of all pages at all visits by subject. This report provides an accounting of all visit and page requirements according to the visit map and conditional maps, providing a comprehensive look at data requirements and page status and assisting with troubleshooting visit scheduling issues. Learn more.
By default, the report output is limited to the first 100,000 rows. Use the report filters to restrict the output and load results more quickly in large studies. Filters available include by site, subject IDs, visits, and plates.
The report is available in DFexplore and DFweb under the Subject Scheduling group. To enable access to this report, select ‘DF_SBpageschedule’ under Tools & Reports > DFdiscover Reports in the role definition in DFadmin.
All tabular listings in DFdiscover now display the number of results shown in the table. The number of results updates dynamically when applying search criteria to filter the results.
Optional pagination controls have been added to tabular listing reports in the DFexplore Reports and Dashboard Views. Use the -limit parameter in the report options to control how many results to display per page, and use the -start parameter to identify which result to start at (default 0). When pagination is enabled, you can navigate to the next, previous, last, and first pages in the report and see the total number of pages available.
The History of Changes report has been updated to limit the maximum number of results to 100,000 by default to prevent loading issues and delays. Custom tabular listings defined in DFexplore’s List View default to display all results.
When downloading the HTML version of a paginated report, only the current page is downloaded. To get the full listing of results, download the report in Excel, csv, or dat format.
For organizations using the DFengage web app and sending invite and login links through DFweb’s ePRO Management page, the DFengage web app’s fully qualified domain name (FQDN) must be defined in the server configuration. The DFnet-managed DFengage web instance is dfengage.dfdiscover.com. To implement, the system administrator must add the parameter dfengagefqdn followed by the FQDN as a new line in the DFedcservice.cf configuration file on the DFdiscover server. The invite and login links use the same API used by DFweb. Learn more.
DFedcservice.cf
A bug in DFadmin history has been fixed where a user could be incorrectly listed as active in the study history. This issue occurred when an inactive user with study role permissions was reactivated. By default previous study access is not reinstated when a user’s status changes from inactive to active, but the history had incorrectly reported the user as active in the previous study.
This fix requires the DFdiscover administrator to run the DFadmindb utility with the -reload option after the upgrade. Learn more.
-reload
Important security improvements were made to the DFdiscover DFws API which require all API client connections to use TLS v1.3 or later.
As a result of this important update, DFcollect 5.9 and earlier will not be able to connect to DFdiscover API 5.10 or later. Before upgrading the DFws API to version 5.10 or later, ensure that all DFcollect users have upgraded to version 5.10 or later. Since DFcollect 5.9 and earlier does not support TLS v1.3, it will be unable to connect to DFws API version 5.10 or later.
A new page is available in DFweb for the management of ePRO users in studies using DFengage. This tool enables clinical site staff to register study participants, send invitation emails, and track ePRO progress for each participant while ensuring the security and protection of participant’s personal identifying information (PII). The registration process is configurable in DFsetup to customize the workflow by study.
Users are initially displayed as Inactive after the accounts are created by a study administrator in DFadmin at study start. Site staff register each participant by providing their details (name, email address, time zone, and language), verifying their information and eligibility, and confirming whether to send an invite email.
Once a participant is registered and their ePRO activities have been initiated, their status is updated to Upcoming, Due Now, Overdue, or Completed, according to the status of their activities in DFengage. Note that the ePRO Management tool provides study participants with access to the DFengage app but does not make activities available in DFengage. Activities still become available in DFengage to each study participant based on their visit schedule, triggered by the baseline visit date entered in the CRF.
The top of the ePRO Management page provides a search and filters to easily identify specific participants or those requiring follow-up for any overdue activities. Clicking any participant in the list displays additional details and provides multiple actions, including the ability to edit the subject profile, view last login and data sync, and provide support to participants with invitations and login links.
Audit trail logs are also available in the subject details view, including the ePRO account log which shows the audit trail of subject registration and any profile changes, and ePRO access log which shows the audit trail of participant actions in DFengage including login, logout, start activity, and submit activity. The audit trail of data changes for each activity is available at the page level in the CRF view in DFweb.
Access to the ePRO Management tool is controlled at the user and site level, with three different levels of access: ePRO Manager (full access), ePRO Monitor (view access including PII), and ePRO Viewer (view access without PII). Access to this feature is enabled per user account under ePRO Admin Permissions in DFadmin. DFweb ePRO Management is only available when connected to DFdiscover server and API version 5.10 and later.
Elevate the clinical site experience with an ePRO management portal that streamlines DFengage participant onboarding & follow-up, whether participants are in clinic or remote. Learn more.
DFweb has been updated to implement additional permissions based on the role definition. These updates allow for more granular control over access to DFweb pages and features, specifically the Dashboard, Subjects, Tasks, Queries, and Reports page, and provides consistency with access controls over the same functionality in DFexplore.
The following permissions in the DFadmin role definition now define DFweb functionality access as follows:
This update impacts all users with permissions to access DFweb and applies when connecting to DFdiscover 5.10 or later. Review and update role permissions prior to upgrading to version 5.10 to ensure DFweb access is not disrupted for existing users. Learn more.
A field navigation taskbar is now optionally available in DFweb on smaller screens where users may not have a physical keyboard or mouse. The navigation taskbar is displayed at the bottom of the CRF page and is designed to improve usability by simplifying navigation on tablets and phones. The taskbar is especially useful for studies using dynamic rules for showing and hiding fields.
This field navigation taskbar is available per study on tablet and phone sized screens based on the new global setting available in DFsetup. For users on desktop screens, a preference is available on the Settings page for individual users to enable as needed, if they wish. Learn more.
Specific DFweb users may be required to login with their Microsoft account, preventing login with standard DFdiscover user credentials. This feature allows organizations to prevent DFdiscover access for specific individuals (for example, internal staff) without an active, valid Azure Entra ID account, providing an extra layer of security.
This option is enabled by study administrators per user. With this feature enabled, DFweb users are required to login with their Microsoft account and will not be able to login with their DFdiscover credentials.
A new input validation and cleaning feature has been added to DFweb to enhance protection against cross-site scripting (XSS) attacks.
When this feature is enabled for a study, DFweb automatically validates all string data enter by users before saving to the database. If potentially unsafe content is detected, DFweb cleans the data and prompts the user to review and confirm the updated values before saving, ensuring data accuracy without compromising security.
This feature can be enabled or disabled per study in the DFadmin study configuration and is disabled by default.
By enabling this setting, system administrators can strengthen DFdiscover server security by preventing malicious scripting from being introduced through user-entered data.
DFcollect has been updated to implement additional permissions based on the role definition. These updates allow for more granular control over access to DFcollect pages and features, specifically the Dashboard, Subjects, Tasks, and Queries pages, and provides consistency with access controls over the same functionality in DFexplore and DFweb.
The following permissions in the DFadmin role definition now define DFcollect functionality access as follows:
This update impacts all users with permissions to access DFcollect and applies when connecting to DFdiscover version 5.10 or later. Review and update role permissions prior to upgrading to version 5.10 to ensure DFcollect access is not disrupted for existing users. Learn more.
A field navigation taskbar is now optionally displayed in DFcollect to support users on tablets and phones. The navigation taskbar is displayed at the bottom of the CRF page and is designed to improve usability by simplifying navigation. The taskbar is especially useful for studies using dynamic rules for showing and hiding fields.
This field navigation taskbar is available per study based on the new global setting available in DFsetup.
Single sign on (SSO) with Microsoft is now supported in DFcollect when connecting to DFdiscover servers that have been configured to require SSO login for all users. SSO is not otherwise supported in DFcollect, even if the user has the ‘SSO Only’ option enabled in their profile.
Note that logging in with SSO prevents the offline use of DFcollect. Users require an active internet connection to log in with SSO and to remain logged in during their session. If the user’s connection is lost while logged in to DFcollect using SSO, they will be logged out.
As a result, enabling server-wide SSO login is not recommended for organizations allowing connections from DFcollect on their server.
Includes updates to the DFdiscover server, API, and desktop client tools.
This section provides information about low-severity, low-priority issues that exist in the current release, with details about available workarounds. Where possible, known issues are planned to be addressed in a future release.
help@dfnetresearch.com
This section provides information about changes planned in a future release that may impact ongoing projects, in particular any features that will be deprecated. These notices are intended to support planning for future upgrades.
Internal Queries Behavior: Internal queries permission implementation will be updated in a future release. The implementation of the Show Internal Queries “none” and “resolved” options in the DFadmin role permissions will be updated in DFexplore, DFweb, and DFcollect to ensure consistency across apps. The following behavior will be implemented:
If internal queries permission is “none” and the role includes full permissions to modify queries, internal queries are view only.
Current behavior: In DFexplore, internal queries are treated the same as external queries. In DFweb and DFcollect, internal queries are hidden.
If internal queries permission is “none” and the role includes partial or no permissions to modify queries, internal queries are hidden. Internal queries can be created or modified by an edit check with partial query permissions, but the queries will remain hidden.
No change from current behavior.
If internal queries permission is “resolved” and the role includes full permissions to modify queries, outstanding internal queries are view only; resolved and pending internal queries are treated the same as external queries.
Current behavior: In DFexplore, DFweb, and DFcollect, all internal queries are treated the same as external queries.
If internal queries permission is “resolved” and the role includes partial or no permissions to modify queries, outstanding internal queries are hidden; resolved and pending internal queries are treated the same as external queries. Internal queries can be created or modified by an edit check with partial query permissions, but the queries will remain hidden when outstanding.
Current behavior: In DFexplore, all internal queries are shown and view only. In DFweb and DFcollect, all internal queries are hidden.
Edit Checks in View Only Mode: The behavior of edit checks on view-only data will be updated for consistency in a future release. Currently, when the ‘Run edit checks in view mode’ global setting in DFsetup is disabled, DFexplore/DFcollect and DFweb behave slightly differently:
DFexplore: Edit checks don’t run only when user is in ‘view mode’, which is enabled automatically for users who have only view-only permissions to all data but is not always enabled when the current page is view-only.
DFweb: Edit checks don’t run on a record any time the user has view-only/read only access to the data record for any reason (view mode, locked record, permissions).
DFcollect: Same as DFexplore.
This discrepancy will be addressed by updating DFexplore and DFcollect to match DFweb, so that if the ‘run edit checks in view mode’ setting is disabled, edit checks will not run whenever a plate is view-only (not just when user is in view mode).
Legacy Setup Formats: The modular and legacy XML setup formats have been fully replaced by the JSON format. The XML export options in DFsetup will be removed in a future release.
Protus Fax Support: The Protus fax service is no longer supported in DFdiscover after MyFax sunsetted their API in 2021. The Protus functionality will be removed from DFadmin in a future release.
This section is applicable only to DFdiscover administrators hosting their own DFdiscover installation. This section outlines requirements and considerations for upgrading DFdiscover, DFws API, and DFweb to Version 5.10.0.
This release of DFdiscover is a complete release. It can be installed as a new install or as an upgrade of any previous release. Existing studies will continue to work in the updated installation.
See the Software Installation Guide for full details on upgrading your DFdiscover server as well as your DFws API and DFweb server instances.
DFdiscover 2025 Version 5.10.0 includes updates to the DFdiscover server, DFws API, and DFweb server installation packages, as well as a new DFengage server installation package which are available as RPM files from the DFnet website under My Account > Software Release (account required). DFdiscover reports are available from cdn.dfdiscover.com (see Update CDN_URL). The build dates for all software components are:
DFdiscover 2025 Version 5.10.0 is supported on Novell openSUSE version Leap 42.1 and newer, SUSE Tumbleweed and Redhat Enterprise Linux (CentOS) versions 8.X and 9.X. DFdiscover is a 64-bit server application and will not run on 32-bit systems. Other Linux distributions may work but are unsupported. Debian distributions such as Ubuntu will not work at this time. The same configurations are required for the DFws API and DFweb servers.
For clients managing their own DFdiscover server and API and/or DFweb instance, we recommend upgrading all three components at the same time to ensure all new features, enhancements, and bug fixes are available.
It is possible to upgrade the DFws API & DFweb without also upgrading the DFdiscover server, however please note that not all updates in Version 5.10.0 will be supported with an older DFdiscover server. See All Changes for notes about the features and changes that require DFdiscover server and/or API Version 5.10.0 or later.
If using mismatched DFdiscover versions, key considerations include:
Version Strict setting must be adjusted on the DFdiscover server (Master level and study level) to ensure access using newer client tools. See Verify version compatibility settings.
Changes made to the study setup using a newer version of DFsetup could be erased inadvertently if an older version of DFsetup is later used that doesn’t support the new features. DFsetup users are warned before downgrading the setup version applied to their study.
Newer versions of DFexplore and DFweb may not offer optimal performance when connecting to a mismatched server and/or API version.
The following section outlines potential upgrade steps required for DFdiscover administrators (and study administrators, as appropriate) when upgrading an existing DFdiscover release to Version 5.10.0. Refer to the Software Installation Guide for complete details on new and upgrade installations.
Required
To get the latest updates to the DFdiscover standard reports, the CDN_URL must be updated in DFadmin. The resources used to display the DFdiscover standard reports are specified in the value of CDN_URL in the system master configuration. To inspect and update the value:
Log in to DFadmin. Click the Master tab to display the master configuration panel.
Inspect the value specified for CDN_URL. If the value reads ‘https://cdn.dfdiscover.com/v5.10’, it is already up to date and no change is needed. Otherwise, update the value to read ‘https://cdn.dfdiscover.com/v5.10’.
Click Save to apply the change.
Required if upgrading from 5.4 or earlier
If upgrading from a DFdiscover version earlier than 5.5.0, existing journal files must be loaded into the new audit database for each study. DFauditdb is provided for this purpose. Until study journal files are loaded, it is not possible to view page or field history or run DF_SBhistory.
DF_SBhistory
Load the new audit trail database for all ongoing studies using this command as either user datafax or root:
/opt/dfdiscover/utils/DFauditdb -reload -s all
Existing user and role history must be loaded (or reloaded, if loaded with a previous upgrade) into the admin history database. DFadmindb is provided for this purpose. Until the admin history is loaded, it is not possible to view User, Role, or Study History in DFadmin. If previously loaded, reloading is required with the 5.10 upgrade to fix a bug with incorrect study access details.
/opt/dfdiscover/utils/DFadmindb -reload
Existing study schema history must be loaded (or reloaded, if loaded with a previous upgrade) into the new setup database. DFsetupdb is provided for this purpose. Until the setup database is loaded, it is not possible to view History in DFsetup. If previously loaded, reloading is required with the 5.10 upgrade to fix a bug with incorrect timestamps.
/opt/dfdiscover/utils/DFsetupdb -reload -s all
Required if upgrading from 5.8 or earlier and using DFcollect and/or DFengage
Starting with Version 5.9.0, DFengage and DFcollect are licensed features per server. If you are using DFengage and/or DFcollect, you will need a new license that includes the appropriate feature(s) when upgrading your server.
For users of API client tools (DFweb, DFcollect, DFengage, and DFsources), verify that the study roles are set up with the required permissions See Role Permission Considerations for details. Any DFweb, DFcollect, DFengage, or DFsources users may lose their access after upgrading if their roles are not updated to enable access.
The Version Strict setting in DFadmin allows you to control version compatibility. If users will be connecting to DFdiscover 2025 Version 5.10.0 using older versions of DFexplore, or if users will be connecting to an older version of DFdiscover through the latest DFweb, DFcollect, or API version, the Version Strict setting must be updated to allow this.
If any version of any client application will be used that does not match the DFdiscover server version, ensure that the master or study Version Strict setting is ‘All minor versions supported’ or ‘Minimum version supported’ in DFadmin.
When ‘All minor versions’ is enabled, the following versions of client applications may be used with DFdiscover 2025 Version 5.10.0 server: 2019 5.2.1, 2020 5.3.2, 2021 5.4.0, 2022 5.5.1, 2023 5.6.0, 2023 5.7.0, 2024 5.8.0, and 2024 5.9.0.
DFdiscover 2025 Version 5.10 is not compatible with DFcollect version 5.9.X or earlier. This is due to DFws API version 5.10 requiring TLS version 1.3 or later. Ensure all DFcollect users upgrade to version 5.10 on their devices.
DFdiscover software uses several third-party software components as part of its server side and/or client tools.
The copyright information for each is provided below. If you would like to receive source codes of these third-party components, please send us your request at help@dfnetresearch.com.
Copyright© 1994-2011, OFFIS e.V. All rights reserved.
This software and supporting documentation were developed by
OFFIS e.V. R&D Division Health Eschereg 2, 26121 Oldenburg, Germany
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of OFFIS nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright© 2009-2014 Petri Lehtinen <petri&digip.org>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright© 1991 Bell Communications Research, Inc. (Bellcore)
Permission to use, copy, modify, and distribute this material for any purpose and without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies, and that the name of Bellcore not be used in advertising or publicity pertaining to this material without the specific, prior written permission of an authorized representative of Bellcore. BELLCORE MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY OF THIS MATERIAL FOR ANY PURPOSE. IT IS PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
Copyright© 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. These notices must be retained in any copies of any part of this documentation and/or software.
Copyright© 1993,1994 by Carnegie Mellon University All Rights Reserved.
Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Carnegie Mellon University not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Carnegie Mellon University makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.
CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Copyright© 1988-1997 Sam Leffler Copyright© 1991-1997 Silicon Graphics, Inc.
Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that (i) the above copyright notices and this permission notice appear in all copies of the software and related documentation, and (ii) the names of Sam Leffler and Silicon Graphics may not be used in any advertising or publicity relating to the software without the specific, prior written permission of Sam Leffler and Silicon Graphics.
THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Portions© 1996-2019, PostgreSQL Global Development Group Portions© 1994, The Regents of the University of California
Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
Copyright© 1998-2019 The OpenSSL Project. All rights reserved.
All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in .the OpenSSL Toolkit." (https://www.openssl.org/)
The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.
Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their names without prior written permission of the OpenSSL Project.
Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org)
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).
Copyright© 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved.
This package is an SSL implementation written by Eric Young (eay@cryptsoft.com). The implementation was written so as to conform with Netscapes SSL.
This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com).
Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package.
Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer.
All advertising materials mentioning features or use of this software must display the following acknowledgement: "This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)" The word "cryptographic" can be left out if the routines from the library being used are not cryptographic related :-).
If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
THIS SOFTWARE IS PROVIDED BY ERIC YOUNG "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.]
GNU GENERAL PUBLIC LICENSE Version 2, June 1991
https://www.gnu.org/licenses/gpl-2.0.html
Copyright© 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY
BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
The files in the base, psi, lib, toolbin, examples, doc and man directories (folders) and any subdirectories (sub-folders) thereof are part of GPL Ghostscript.
The files in the Resource directory and any subdirectories thereof are also part of GPL Ghostscript, with the explicit exception of the files in the CMap subdirectory (except "Identity-UTF16-H", which is part of GPL Ghostscript). The CMap files are copyright Adobe Systems Incorporated and covered by a separate, GPL compatible license.
The files under the jpegxr directory and any subdirectories thereof are distributed under a no cost, open source license granted by the ITU/ISO/IEC but it is not GPL compatible - see jpegxr/COPYRIGHT.txt for details.
GPL Ghostscript is free software; you can redistribute it and/or modify it under the terms the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
GPL Ghostscript is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program so you can know your rights and responsibilities. It should be in a file named doc/COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place Suite 330, Boston, MA, 02111-1307, USA.
GPL Ghostscript contains an implementation of techniques covered by US Patents 5,055,942 and 5,917,614, and corresponding international patents. These patents are licensed for use with GPL Ghostscript under the following grant:
Whereas, Raph Levien (hereinafter "Inventor") has obtained patent protection for related technology (hereinafter "Patented Technology"), Inventor wishes to aid the the GNU free software project in achieving its goals, and Inventor also wishes to increase public awareness of Patented Technology, Inventor hereby grants a fully paid up, nonexclusive, royalty free license to practice the patents listed below ("the Patents") if and only if practiced in conjunction with software distributed under the terms of any version of the GNU General Public License as published by the
Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111.
Inventor reserves all other rights, including without limitation, licensing for software not distributed under the GNU General Public License.
5055942 Photographic image reproduction device using digital halftoning to para images allowing adjustable coarseness 5917614 Method and apparatus for error diffusion paraing of images with improved smoothness in highlight and shadow regions
GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 https://www.gnu.org/licenses/lgpl-2.1.html
Copyright© 1991, 1999
Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
[This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]
Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things.
To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method:
we copyright the library, and
we offer you this license, which gives you legal permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others.
Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs.
When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library.
We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances.
For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system.
Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.
This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.
You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
The modified work must itself be a software library.
You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.
Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.
If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License.
Also, you must do one of these things:
Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that
uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and
will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.
Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
© Wang Bin wbsecg1@gmail.com Shanghai University->S3 Graphics->Deepin, Shanghai, China 2013-01-21
QtAV is free software licensed under the term of LGPL v2.1. The player example is licensed under GPL v3. If you use QtAV or its constituent libraries, you must adhere to the terms of the license in question.
Rather than repeating the text of the LGPL v2.1, the original text can be found in GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1.
Most files in FFmpeg are under the GNU Lesser General Public License version 2.1 or later (LGPL v2.1+). Read the file `COPYING.LGPLv2.1` for details. Some other files have MIT/X11/BSD-style licenses. In combination the LGPL v2.1+ applies to FFmpeg.
The MIT License (MIT) © 2013 Masayuki Tanaka
Copyright© 2010-2017 Mike Bostock All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MIT License
Copyright © 2018 Dominik Thalhammer
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The MIT License
Copyright © 2017-, https://github.com/j2doll/QXlsx