Minor scope changes - following cards were added to release scope:
- ZENQ-8115 [Main Dashboard] 'Audit - Publish Final Report' signatures not appearing in Signatures Pending graph when "I am uploading a Client or Regulatory Audit of my GxP site" is selected - affecting New Main Dashboard only.
Description updates - the following card description was updated to more accurately reflect the scope of the changes shipped in this release: ZENQ-7830 ([Main Dashboard]: Update donut chart header, legend labels, and table titles for Signatures to use "Signatures Requested" and age-based wording only). Previously, the description referenced only the table heading correction when clicking the center of the donut chart; the description has been corrected to reflect that the shipped scope also included the section header rename from "Signatures Needed/Pending" to "Signatures Requested" and the legend label updates from time-to-due wording to age-based wording across all three segments.
Added better visual indicators for features released in Limited Availability. To better understand the different stages of feature availability at ZenQMS - Beta, Limited Availability, and General Availability - see article.
Update 20-MAR-2026:
Description updates - the following card description was updated to more accurately reflect the scope of the changes shipped in this release: ZENQ-6649 ([Main Dashboard] Add 'Workflow Pending Signatures' column for Documents to the Main Dashboard drill down table under Assignment Status). Previously, the card summary referenced the Signatures Needed section; the description has been corrected to reflect that the column was added under Assignment Status.
Update 18-MAR-2026:
Minor scope changes - following cards were added to release scope:
- AUTH-1628 [Users Table]: "Select All Rows" selects all users in the account instead of only filtered users when using custom field filters.
- IM-1766 [Issues/Change Controls]: Pressing "Enter" when performing search in Full Table triggers actions (Delegate, Resend Email) from other open tabs, instead of only searching in the current tab.
Description updates - the following card descriptions were updated to more accurately reflect the scope and impact of the changes shipped in this release: TRAIN-1821; TRAIN-1824; TRAIN-1825; TRAIN-1837; TRAIN-1869; TRAIN-2001; TRAIN-2020; PDF-876.
Description & highlights
Release 31.0.0 introduces transformative capabilities across multiple areas of ZenQMS, with particular emphasis on enterprise integrations, document management efficiency, training enhancements, and user experience improvements.
A major milestone in this release is the introduction of the Integrations Module in Limited Availability along with the first pre-built integrations provided through the new service. Organizations can now connect ZenQMS with external tools and systems through pre-built integrations that can be deployed & configured easily with no code tools. The embedded Integrations Marketplace serves as a centralized hub for discovering, activating, and managing third-party integrations. This release also includes integration support for Microsoft Entra ID and Okta both in limited availability, enabling automated user provisioning, lifecycle management, and role synchronization. Organizations can configure secure single-tenant connections to their identity providers, automatically creating users, synchronizing profile attributes, managing account status, and assigning roles based on group membership - all with full audit trail tracking and built-in conflict resolution.
The Documents module receives powerful enhancements with the introduction of bulk export to PDF functionality. Users can now select multiple documents - even across multiple table pages - and export them simultaneously via the new "Group Actions → Export to PDF" option. The system creates a ZIP file containing all PDFs, tracked through the My Downloads page, while enforcing document security and permissions.
Training certificates have also been significantly enhanced across all item types. New certificates feature professional layouts with improved content capture, including electronic signature details, knowledge assessment records, and continuing education credits tracking. All certificates are now accessible via the centralized My Downloads page with full audit trail tracking for compliance. The Continuing Education Credits field is now exposed throughout the UI for Documents (both Document and SCORM subtypes) and classical SCORMs, with automatic population for Marketplace SCORMs and role-based editing capabilities.
This release also marks the beginning of the SCORM Migration to Documents Module initiative. Organizations previously using SCORM in the training module with unified training grace period configurations will have their existing SCORM courses automatically transitioned into a new "SCORM Courses" document category, with the system creating necessary category structure, establishing role-based permissions, and seamlessly converting all SCORM items while preserving complete training records, version history, and user assignments. All new customers starting to leverage SCORM will already be using SCORM as documents where this migration will not apply.
Limited AvailabilityInsights Pro customers gain powerful new analytical capabilities with the ability to designate account-level custom fields for inclusion in Insights datasets. Administrators can now add account-level custom fields - such as department, site, or risk level - making them automatically available as filters on relevant out-of-the-box dashboards. This enhancement allows quality teams to slice and analyze compliance data by the same business-critical attributes they use to organize their daily operations.
The user interface receives significant modernization with navigation experience enhancements. The redesigned sidebar features modern icons, expand/collapse functionality, and an updated visual design aligned with the new design system. Key navigation elements including the user profile menu, "Create New" button, and Help Center have been relocated to the sidebar for improved accessibility and consistency. The top navigation bar has also been updated with refreshed styling while maintaining all existing functionality.
The Public API receives important expansions to support more comprehensive integration scenarios, including the ability to update custom fields on Issues, Change Controls, and Custom Modules, create Issues with custom fields and assignees during creation, and a new external_id field visible in user profiles and exports to support integration troubleshooting.
Additional enhancements include improved Main Dashboard clarity with corrected table headings for signature status selections, discontinuation of the legacy main dashboard making the new dashboard the sole option for all users, addition of the "Workflow Pending Signatures" column for documents in the Assignment Status section, and a new comprehensive report for document training challenge question attempts that provides detailed insights into quiz performance and learning outcomes.
Detailed updates include:
-
Bulk export to PDF from Documents Full Table: This release introduces a powerful new capability that allows users to export multiple documents to PDF in one operation directly from the Documents Full Table. Users with the correct permissions can select one or more documents - even across multiple table pages - and export them simultaneously via the new "Group Actions → Export to PDF" option. The system verifies permissions and exportability for all selected versions before starting the export. Upon successful validation, a ZIP file containing all PDFs is created and tracked in the My Downloads page, where users can monitor progress and download the package when ready. If validation fails for any version, the export is blocked, and an error modal appears with a downloadable CSV report detailing which documents cannot be exported and why. This feature reduces manual effort for audits, reviews, and offline documentation while enforcing document security and user permissions.
Detailed updates include:DM-7587 [Group Actions - PDF Export] Add "Export PDF" button to Documents Full Table group actions for multi-document selection and export - The Documents Full Table now includes an "Export to PDF" option in the Group Actions menu, enabling users to select multiple document versions (including across multiple table pages) and initiate a bulk export operation. This option is only visible to users with Account Super User roles or those assigned the "Can Perform Group Actions" permission, ensuring controlled access to bulk operations.
DM-7588 [Group Actions - PDF Export] Display the Group Actions: Export to PDF under the Documents Full Table and perform the Bulk Export to My Downloads - When users trigger a bulk PDF export from the Documents Full Table, the system opens the My Downloads page in a new browser tab and creates a single export job that generates a ZIP file containing PDFs for all selected document versions. Each PDF is generated using the current document category PDF export settings at the time of export, and filenames follow the format "<Document Key ID> <Document Name> (vmajor.minor).pdf". The ZIP file is named "Bulk Export to PDF DD-MMM-YYYY timestamp UTC.zip" and progress is displayed at the ZIP level in My Downloads. If any errors occur during export, an ErrorLog.CSV file is included in the ZIP with details about which documents failed and why. Additionally, an audit trail event is logged for each successfully exported document with the event "Bulk Export: Document was exported to PDF," ensuring full traceability of bulk export operations.
DM-8046 [Group Actions - PDF Export] Display error modal and downloadable CSV when Bulk Export to PDF fails due to permission, security, or missing revision validation - When a bulk PDF export is blocked due to permission issues, document security restrictions, or missing revisions, users now see a clear error modal explaining why the export cannot proceed. The modal header states "Export to PDF unavailable" and lists possible reasons such as insufficient permissions, missing uploaded revisions, or document security restrictions (VIEW ONLY or Controlled Copy settings). Below the modal, a downloadable "Full Report.CSV" file is provided that lists all non-exportable documents with columns for Document Key ID, Document Name, Version, and specific Reason for each failure. This ensures users understand exactly which documents cannot be exported and can take appropriate action, such as deselecting problematic items or addressing permission issues before retrying the export.
-
Limited Availability Integrations Platform: ZenQMS introduces a comprehensive integrations platform, enabling organizations to connect ZenQMS with external tools and systems through both pre-built integrations and custom workflows. The platform includes an embedded Integrations Marketplace that serves as a centralized hub for discovering, activating, and managing third-party integrations, providing comprehensive visibility into integration execution history, logs, and components.
Detailed updates include:INT-26 - Marketplace displays available integrations and supports managing their lifecycle - Implemented embedded Marketplace within ZenQMS accessible through a feature flag, displaying five standard tabs: Summary, Marketplace, Instances, Executions, and Logs. The Marketplace tab lists all available integrations with ability to open details/configuration views. Users can manage integration lifecycle from detail pages by activating integrations (executions generate and run normally), pausing integrations (executions appear but don't auto-process, requiring manual retry), or deactivating integrations (executions cannot be retried). Integration lifecycle state updates consistently across Marketplace list, detail page, Summary tab, and Instances tab, with navigation between tabs functioning without UI errors and UI structure supporting additional integrations without structural changes.
INT-127 - Integrations: 'Integrations Access' Account Permission - Introduced a new account-level permission named "Integrations Access" that controls which users can view and configure integrations within ZenQMS. The permission is enabled by default for the Administration Account Super User role and can be assigned to other roles as needed by account administrators. Users with this permission can access the integrations dashboard to view, configure, and manage integrations, executions, and logs, while users without this permission are blocked from accessing the integrations experience entirely. This granular permission enables organizations to control integration governance by determining which users are authorized to configure connections between ZenQMS and external systems.
-
Limited Availability Microsoft Entra ID Integration: ZenQMS offers comprehensive integration with Microsoft Entra ID for automated user provisioning, lifecycle management, and role synchronization using identity provider data. Organizations can configure secure single-tenant connections to their Entra tenants, enabling ZenQMS to create users, synchronize profile attributes, manage account status, and assign roles based on Entra group membership automatically. The integration processes changes in real time after activation, maintains a full audit trail for all automated actions, and provides administrators granular control through configurable options for initial data sync and ongoing updates. User matching employs dual-identifier logic, using external_id as primary and email as fallback, ensuring reliable synchronization even if email addresses change. Role assignments are managed automatically through group-to-role mapping, with ZenQMS roles assigned or removed based on users' membership in mapped Entra groups, including built-in conflict resolution that keeps Entra as the authoritative source for mapped roles.
Detailed updates include:INT-27 - Entra Integration: Ability to configure Entra integration to automatically create, update, and disable ZenQMS users based on Entra lifecycle changes, with audit trail and state-based execution control - Implemented core user lifecycle synchronization for automated provisioning via the Marketplace integration interface. When active, the integration processes user creation events, creates ZenQMS user accounts with required fields, synchronizes attribute updates in real time, and reflects account lifecycle changes. Integration state controls execution: Active processes all changes automatically, Paused holds executions for manual retry, and Deactivated stops all processing. All operations record in the Audit Trail, indicating Entra integration origin, visible in Settings > Users and Audit Trail log.
INT-29 - Entra Integration: Ignore executions when required fields are missing - Implemented validation preventing incomplete user records by checking for required fields (email, first_name, last_name, title) before processing. When fields are missing, the integration skips processing but logs executions in the Executions tab with clear indication of the issue. Only successful executions that actually modify users generate Audit Trail entries, preventing misleading records for skipped operations.
INT-30 - Entra Integration: Use external_id instead of email for user matching - Enhanced user matching with dual-identifier strategy using external_id as primary and email as fallback. This approach handles email changes without creating duplicates: when external_id matches but email differs, the existing user's email is updated. The integration initializes external_id for new users and preserves it for existing users, maintaining stable identification throughout the user lifecycle.
INT-31 - Entra Integration: configure Entra integration with mandatory and optional initial data sync to initialize, create, update, and manage ZenQMS users and audit all actions - Implemented two-phase synchronization: mandatory external_id initialization sync runs automatically when integration is enabled, establishing consistent user matching without modifying attributes or lifecycle state. Optional initial data sync can be enabled to apply Entra as source of truth during setup, creating new users, updating attributes, and applying lifecycle state. If optional sync is disabled, changes occur only through ongoing event-driven synchronization. Upon deactivation, all external_id values are automatically cleared.
INT-53 - Entra Integration: Implement customer-managed (single-tenant) authentication - Established secure customer-managed authentication enabling organizations to connect using their own Entra App Registration credentials (Client ID and Client Secret). Customers create single-tenant App Registration with required API permissions (Group.Read.All, GroupMember.Read.All, User.Read.All, offline_access), configure Web platform redirect URI to ZenQMS OAuth endpoint, and provide credentials during integration activation. Configuration instructions guide administrators through the setup process.
INT-61 - Entra Integration: ZenQMS roles to be continuously synchronized with Entra group membership changes after initial sync, ensuring accurate, auditable, and conflict-resilient role assignments - Implemented ongoing role synchronization maintaining alignment between ZenQMS roles and Entra group membership. When users join or leave mapped Entra groups, corresponding ZenQMS roles are automatically assigned or removed. The integration implements conflict resolution, correcting manual role changes that contradict configured mappings. Baseline role (All Account Users) is never removed. Role operations respect integration state and are fully auditable.
INT-64 - Integrations: warning banner when assigning roles "integration may override manual changes" if user provisioning integration (Entra or Okta) is active - Implemented warning banner displaying when user provisioning integrations are Active with group → role mapping enabled. Banner appears in role assignment interfaces (both role-centric and user-centric flows), clearly stating manual changes may be overwritten and advising administrators to manage group membership in the source system. Banner is informational only and does not block manual actions.
INT-98 - Entra Integration: ZenQMS roles to be assigned and removed automatically based on Entra group membership when group-to-role mapping is configured in the initial sync - Implemented role assignment during initial synchronization when administrators configure optional group → role mapping. Administrators map Entra groups to existing ZenQMS roles supporting flexible mapping relationships. During initial sync with Active integration and configured mapping, the system retrieves user group memberships, resolves mapped roles, and assigns them. Users retain baseline role and can receive multiple roles with effective permissions as union of all assigned roles. All operations are recorded in Audit Trail.
-
Limited Availability Okta Integration: ZenQMS introduces comprehensive integration with Okta for automated user provisioning, lifecycle management, and role synchronization using identity provider data. Organizations can configure secure single-tenant connections to their Okta tenants, enabling ZenQMS to create users, synchronize profile attributes, manage account status, and assign roles based on Okta group membership automatically. The integration processes changes in real time after activation, maintains a full audit trail for all automated actions, and provides administrators granular control through configurable options for initial data sync and ongoing updates. User matching employs dual-identifier logic, using external_id as primary and email as fallback, ensuring reliable synchronization even if email addresses change. Role assignments are managed automatically through group-to-role mapping, with ZenQMS roles assigned or removed based on users' membership in mapped Okta groups, including built-in conflict resolution that keeps Okta as the authoritative source for mapped roles.
Detailed updates include:INT-37 - Okta Integration: User provisioning and lifecycle - Implemented core user lifecycle synchronization for automated provisioning, enabling ZenQMS to automatically create new users, update profile attributes (email, first name, last name, title), and manage account status (active/disabled) based on Okta user events. The integration uses external_id as the primary identifier with email as fallback for reliable user matching, processes changes in real time when Active, allows manual retry when Paused, and records all operations in the Audit Trail indicating Okta integration origin. Integration state controls execution behavior, ensuring proper governance of automated user management operations.
INT-36 - Okta Integration: Initial data sync and setup behavior - Established two-phase synchronization approach with mandatory external_id initialization that runs automatically when integration is enabled to establish consistent user matching without modifying attributes or lifecycle state, plus optional initial data sync that can be enabled to apply Okta as source of truth during setup by creating new users, updating attributes, and applying lifecycle state. When optional sync is disabled, changes occur only through ongoing event-driven synchronization. Upon deactivation, all external_id values are automatically cleared to maintain clean user records.
INT-54 - Okta Integration: Implement customer-managed (single-tenant) authentication - Established secure customer-managed authentication enabling organizations to connect using their own Okta application credentials (Domain, Client ID, and Client Secret). Customers create single-tenant Okta App Integration with required API permissions and provide credentials during integration activation, with configuration instructions guiding administrators through the complete setup process including API permissions, redirect URI configuration, and credential generation.
INT-63 - Okta Integration: ZenQMS roles to be continuously synchronized with Okta group membership changes after initial sync, ensuring accurate, auditable, and conflict-resilient role assignments - Implemented ongoing role synchronization that maintains alignment between ZenQMS roles and Okta group membership after initial setup. When users join or leave mapped Okta groups, corresponding ZenQMS roles are automatically assigned or removed. The integration implements conflict resolution by correcting manual role changes that contradict configured mappings, ensures the baseline role (All Account Users) is never removed, and respects integration state for all role operations with full audit trail recording.
INT-99 - Okta Integration: ZenQMS roles to be assigned and removed automatically based on Okta group membership when group-to-role mapping is configured in the initial sync - Implemented role assignment during initial synchronization when administrators configure optional group-to-role mapping. Administrators map Okta groups to existing ZenQMS roles supporting flexible mapping relationships (one-to-one, one-to-many, many-to-one, many-to-many). During initial sync with Active integration and configured mapping, the system retrieves user group memberships, resolves mapped roles, and assigns them automatically. Users retain baseline role and can receive multiple roles with effective permissions calculated as union of all assigned roles, with all operations recorded in Audit Trail.
-
Enhanced Training Certificates: ZenQMS overhauls training certificates for all item types, providing professional, regulatory-compliant certificates with improved layouts, detailed content capture, and streamlined download workflows. The updated certificates include electronic signature details, knowledge assessment records, and continuing education credits tracking. All are accessible via the centralized My Downloads page with full audit trail tracking for compliance.
Detailed updates include:TRAIN-1821 - Training Certificate for Documents: layout enhancements, add info about knowledge assessment and download it through My Downloads page from the dashboards - Redesigned training certificates for documents with professional layout improvements including client logo display, confidential footer markings, page numbering, and comprehensive document version information. The Training Item Details section captures document version name, category, version, description, and version comments. Certificates are downloadable through the My Downloads page from main dashboards as well as the training dashboard, with standardised file naming conventions that include document version numbers.
TRAIN-1837 - Training Certificate for Documents: improve electronic signature(s) section - Enhanced the electronic signature section on document training certificates to capture complete signature details including signer's full name, email address, signature reason, timestamp, and any comments provided at the signature moment. The system now properly handles signatures applied both by trainees completing training directly and by authorized users marking trainees as compliant.
TRAIN-1863 - Training Certificate for Documents: download new version of training certicates through My Download page from the User's Dossier -> Certificate link - Integrated the enhanced document training certificate with the User's Dossier certificate link, enabling users to download the new certificate format directly from their training history within the dossier interface.
TRAIN-1824 - Improve Training Certificate for SCORMs: enhanced layout, content, download from multiple locations tracked in audit trail - Implemented comprehensive enhancements to SCORM training certificates including professional layout with client and vendor logos (for Marketplace SCORMs), detailed training item information such as version name, course ID, file name, category, and version comments. The certificates now include continuing education credits displayed in decimal format with CPD designation when credits exceed zero, plus a knowledge assessment section confirming successful completion of assessment requirements. Certificates are downloadable through My Downloads page from multiple locations including user dossier, dashboards, and training completion pop-ups.
TRAIN-2020 - Make new training certificate for SCORMs available for download through dashboards and completion pop-ups - Enabled downloading of the new SCORM training certificates through new main dashboard training section, training dashboard, and training completion pop-ups across all interfaces including user dossier and dashboards. Implemented standardized file naming conventions showing certificate details including user name, item type, SCORM ID, version name, and timestamp.
TRAIN-1825 - Training Certificate for Tests: improve layout, capture new information and download it through MyDownloads page - Redesigned training certificates for tests with professional layout including client logo, comprehensive test details (name, description, number of questions, time limit), and complete electronic signature information including signer's full name, email, signature reason, and timestamp.Certificates include a Knowledge Assessment section displaying the statement "Trainee has successfully passed the knowledge quiz with the minimum required score or greater." Certificates are accessible via My Downloads page from user dossier and both main and training dashboards, with standardised file naming conventions.
TRAIN-1831 - Improve Training Certificate for OJTs: enhanced layout, electronic signatures, download through My Downloads page and track download action in audit trail - Enhanced OJT training certificates with professional layout improvements, comprehensive training event details including topic, description, attachments, trainer/organizer information, and training date. Added complete electronic signature capture with full signer details and implemented download functionality through My Downloads page with audit trail tracking according to TRAIN-1877 requirements.
TRAIN-1832 - Improve Training Certificate for Personal and Group Events: enhanced layout, add continuing education credits, download through MyDownloads page tracked in Audit Trail - Upgraded training certificates for personal and group events with enhanced layout design, comprehensive event details including topic, date, time, venue, training instructors, and continuing education credits when applicable. Implemented complete electronic signature information capture and established download workflow through My Downloads page from user dossier, dashboards, and training completion pop-ups.
TRAIN-1869 - Enhance the statement from the Passing Score section when minimum required score is 100% and/or document includes only 1 training challenge question - Refined the passing score statement text on training certificates to address grammatical edge cases, including when the minimum required score is 100% or when a document includes only one training challenge question. This grammar work was subsequently superseded by the Knowledge Assessment section standardised across all certificate types in TRAIN-1999.
TRAIN-1877 - Track in audit trail download of training certificates through MyDownloads page - Implemented comprehensive audit trail logging for all training certificate downloads through the My Downloads page, capturing module, timestamp, user details, item ID, and event description in both global and Training module audit trails to support regulatory compliance and GxP documentation requirements.
TRAIN-1903 - Training Certificates: download the new versions through click on badge icon from Training Completion pop-up - Enabled certificate downloads via the badge icon displayed on training completion pop-ups across all training interfaces including user dossier, new main dashboard, classic main dashboard, and training dashboard. Downloads are processed through My Downloads page with full audit trail tracking.
TRAIN-1910 - Documents (sub-type SCORM and Documents): Expose Continuing Education Credits in UI for documents with sub-type SCORM - Exposed the Continuing Education Credits field in the user interface for documents with SCORM subtype, positioned below the User Retraining Interval field and visible only when the Show/Hide Training fields and assignments toggle is enabled. The field displays as blank when no file is uploaded and defaults to 0 after file upload.
TRAIN-1960 - Documents (sub-type SCORM and Documents): Add Continuing Education Credits in UI for documents with subtype Document - Added the Continuing Education Credits field to the user interface for documents with Document subtype, implemented as a decimal field positioned below User Retraining Interval and visible only when training fields toggle is enabled.
TRAIN-1911 - Documents (Document and SCORM sub-types): Expose Continuing Education Credits field in the Exported PDF - Integrated the Continuing Education Credits field into PDF exports for both Document and SCORM document subtypes, displaying the field in the General Settings section of ZenQMS metadata when the category has PDF export enabled and training fields toggle is active.
TRAIN-1912 - Classic SCORMs: Expose Continuing Education Credits in UI and allow editing its value, based on user's role and permissions and SCORM's state - Implemented the Continuing Education Credits field for classical SCORMs with role-based edit permissions, allowing SCORM owners and SuperUsers to edit the field when SCORMs are in Draft or Active status without active workflows. The field remains read-only for Marketplace SCORMs per TRAIN-1914 specifications.
TRAIN-1914 - Marketplace SCORM in Documents: Continuing Education Credits field auto-populates when a file is selected from the catalog and remains read-only - Enabled automatic population of the Continuing Education Credits field when selecting SCORMs from the Marketplace Catalog in the Documents Module, pulling values directly from the SCORM package metadata. The field remains read-only for Marketplace SCORMs but becomes editable and resets to 0 if the user replaces the Marketplace SCORM with a locally uploaded file.
TRAIN-1921 - SCORM from Marketplace Catalog in classic SCORM interface: populate Continuing Education Credits field - Implemented automatic Continuing Education Credits field population for SCORMs selected from Marketplace Catalog in the classical SCORM interface, with the field remaining non-editable for Marketplace SCORMs and resetting to 0 when users replace Marketplace SCORMs with local uploads.
TRAIN-1924 - Documents (sub-type SCORM and Documents): allow users to edit Continuing Education Credits field based on specific permissions and roles - Established comprehensive permission framework for editing Continuing Education Credits on Document and SCORM document subtypes, with field editability determined by user role (Author, SuperUser, or specific category permissions) combined with document state (Draft, Draft Review, Reviewed, Awaiting Approval, Approved, or Effective). The field defaults to 0 after revision upload and resets to blank when revision files are deleted.
TRAIN-2026 - Value of Continuing Education Credits field should carry over automatically from previous version when up versioning a Document (Document/SCORM sub-type) - Implemented automatic copying of Continuing Education Credits field values from previous document versions during upversioning for both major and minor version changes, maintaining decimal precision throughout the version history. The system handles special cases including Marketplace SCORM replacements, file deletions, and transitions between local and Marketplace content sources.
TRAIN-1999 - Training Certificates for Documents: show Knowledge Assessment section only if the user has passed an attempt and display Continuing Education Credits field if value is different than 0 - Updated document training certificates to display the Knowledge Assessment section only if a user's passing score exists in the database, preventing misleading information for pre-31.0.0 completions or documents with training question changes after completion. Added conditional display of the Continuing Education Credits section, showing only when values exceed zero, with correct decimal formatting and CPD designation.
TRAIN-2000 - Include ZenQMS address in the footer of all training certificates below CONFIDENTIAL text with matching opacity - Added ZenQMS company address to the footer of all training certificates below the CONFIDENTIAL text, displayed with matching opacity for consistent branding and regulatory compliance across all certificate types.
TRAIN-2001 - Update Training Certificates to display generic statement instead of precise passing score percentage for Tests and SCORMs - Updated training certificates for Tests and SCORMs to display a standardised Knowledge Assessment section, replacing the previous precise passing score percentages. Test certificates display the statement "Trainee has successfully passed the knowledge quiz with the minimum required score or greater." SCORM certificates display the statement "The trainee has successfully met all knowledge assessment requirements for training completion." - reflecting that SCORM training may not always include a quiz. The Knowledge Assessment section is always shown on both Test and SCORM certificates.
-
Limited Availability Custom Fields in Insights Pro Dashboards: ZenQMS now enables organizations to analyze their quality data using the custom fields that matter most to their operations. Administrators can designate account-level custom fields - such as department, site, or risk level - to be included in Insights datasets. Once enabled, single-select and multi-select custom fields are automatically added as filters on relevant out-of-the-box dashboards, while other supported field types (date, boolean, integer, decimal) appear as additional columns in table visualizations. This enhancement allows quality teams to slice and analyze their compliance data by the same business-critical attributes they use to organize their daily quality operations, significantly expanding the analytical capabilities of Insights Pro to align with each organization's unique quality management structure.
Detailed updates include:INSIGHT-640 - Insights Pro: Enable customers to add custom fields to Insights datasets, and automatically update relevant dashboards with custom field filters and table columns - Introduced the ability for Account Super Users to enable account-level custom fields for use in Insights Pro through a new toggle in the Custom Field Editor's Advanced Options section. Supported custom field types include single-select, multi-select, date, boolean, integer, and decimal fields. When enabled, single-select and multi-select custom fields are automatically materialized in the customer's Insights data model and added as top-level dashboard filters on all relevant module dashboards (based on where the custom field is configured for use), while date, boolean, integer, and decimal fields are automatically added as additional columns in relevant table visualizations. This automated integration ensures that enabled custom fields become immediately available for filtering and analysis across applicable dashboards, allowing organizations to leverage their existing custom field structure for deeper insights into their quality data without manual dashboard configuration.
-
Navigation experience enhancements: ZenQMS redesigns the navigation system with a modern sidebar featuring expand/collapse functionality and an updated top navigation bar aligned with the new design system. These changes consolidate controls and clarify the visual hierarchy, improving usability and modernizing the interface.
Detailed updates include:ZENQ-7689 - Sidebar UI Update - New icons, labels, and visual design with expand/collapse functionality and improved navigation clarity, aligned with the new design system. - Redesigned the sidebar with a light theme background, updated icons with labels, and increased width to support the icon-plus-label layout. Added expand/collapse functionality, defaulting to expanded, collapsing automatically on module or category pages, and allowing manual toggling. Improved navigation clarity with consistent visual states: hover (light blue background), active (bold blue label with left vertical blue accent bar), and unselected (grey label) in both expanded and collapsed modes.
ZENQ-7690 - New user profile menu relocated to the bottom of the sidebar - Relocated the user profile menu from the top-right corner of the header to the bottom of the left sidebar, displaying user avatar, name, and profile dropdown menu in a consolidated navigation location. The profile dropdown opens outward from the sidebar and includes relocated links for Privacy Policy, Terms of Service, and Status page previously found in the footer, now accessible under "Terms & Privacy" within the profile menu.
ZENQ-7691 - [UI/UX]: "Create New" button relocated from top navigation to sidebar with updated visual design - Migrated the existing "+" create button from the top navigation bar into the left sidebar as a new "Create New" button positioned at the top of the sidebar above the ZenQMS logo. The button displays with icon and label when sidebar is expanded and icon only when collapsed, maintaining all existing creation flows and recently viewed items functionality with identical permission handling.
ZENQ-7737 - Help Center moved from a floating icon to a fixed menu in the sidebar - Removed the floating Help Center icon from the bottom-right corner and integrated it as a standard sidebar item with "?" icon and "Help" label, appearing as the last navigation item before the user profile. The Pendo-powered Help Center functionality remains unchanged with identical content and behavior.
ZENQ-7797 - Top Navigation UI Update - New Style, Icons & Labels - Updated the visual styling of top navigation tabs to align with the new design system, refreshing typography, colors, spacing, and interaction states while preserving all existing navigation behavior and routing logic. The redesign ensures hover, active, and unselected states are visually consistent across all tabs and modules.
ZENQ-7798 - Remove duplicated items from top navigation after new sidebar rollout - Eliminated redundant elements from the header that were relocated to the sidebar, including profile avatar and user menu, ZenQMS logo, Help button, "Create new" button, and Home tab, ensuring navigation consistency and avoiding duplication between header and sidebar.
-
SCORM Migration to Documents Module: The integration of SCORM training items into the Documents Module enters a new phase with the 31.0.0 release, as we begin migrating existing SCORM members to the enhanced Documents-based experience. This first migration phase focuses on organizations with unified training grace period configurations, automatically transitioning their existing SCORM courses into a new "SCORM Courses" document category. The migration creates the necessary category structure, establishes appropriate role-based permissions for existing SCORM administrators, and seamlessly converts all SCORM items into documents while preserving all training records, version history, and user assignments.
Detailed updates include:DM-8057 - SCORM Migration Phase 1: Single Grace Period Document Category Implementation - Implemented automated migration for organizations with uniform training grace period settings, creating a pre-configured "SCORM Courses" document category with security, archival, and training settings that preserve existing SCORM behavior. The migration automatically establishes a "SCORM Admins" role by assigning all users who previously had SCORM creation permissions and grants this role the necessary category-level permissions for creating and managing documents. All existing SCORM items are converted into documents within the new category, maintaining complete training history, version information, file attachments, and user assignments to ensure zero disruption to ongoing training activities and compliance records.
-
Configuration Migration Reports: ZenQMS offers a suite of configuration migration reports that allow authorized Implementation team members to export system configuration data compatible with migration templates. This feature enables seamless configuration transfer between environments while preserving data integrity and compliance. The reports cover key system areas, including user management, document control, training administration, and custom administrative tools (CAT) configuration.
Detailed updates include:REP-705 - Allow ZenQMS employees, to view and manage Configuration Migration reports in a restricted category within the Reports Module, controlled by a feature flag - Introduced a new "Configuration Migration" report category within the Reports Module that is exclusively accessible to ZenQMS employees with QAB access through a feature-flag-based permission system. This category houses specialized configuration export reports containing comprehensive system data designed for environment-to-environment migration purposes. The feature can also be enabled for customers who purchase data access during offboarding, eliminating the need for manual data exports by the Customer Success team.
REP-619 - Migration Template Report - Account CF Settings Tab Report - Created an export report for the Account CF Settings tab that captures the complete configuration of account-level custom fields including field definitions, data types, validation rules, and display settings.
REP-620 - Migration Template Report - Account CF Choices Tab Report - Developed an export report for the Account CF Choices tab that documents all available options for dropdown and multi-select custom fields at the account level, ensuring accurate recreation of field choices during migration.
REP-616 - Migration Template Report - Roles - Account Permissions Tab Report - Implemented an export report for the Roles - Account Permissions tab that captures the complete role-based permission structure at the account level, documenting which roles have access to which system functions and features.
REP-617 - Migration Template Report - Permissions Tab Report - Created an export report for the Permissions tab that documents the overall permission framework and access control configuration across the entire account.
REP-618 - Migration Template Report - User-Roles Assignments Tab Report - Developed an export report for the User-Roles Assignments tab that captures the current mapping of users to their assigned roles, enabling accurate recreation of user access permissions during migration.
REP-621 - Migration Template Report - CAT - General Tab Report - Implemented an export report for the CAT General tab that captures core custom administrative tool configuration settings including basic properties and general parameters.
REP-622 - Migration Template Report - CAT Workflow Step Tab Report - Created an export report for the CAT Workflow Step tab that documents the complete workflow step configuration for custom administrative tools, including step sequencing, required actions, and transition rules.
REP-623 - Migration Template Report - CAT Permissions Tab Report - Developed an export report for the CAT Permissions tab that captures permission settings specific to custom administrative tools, documenting which roles and users can access and modify each CAT instance.
REP-624 - Migration Template Report - CAT - PDF Export Options Tab Report - Implemented an export report for the CAT PDF Export Options tab that documents PDF generation configuration settings for custom administrative tools, including layout preferences, header/footer settings, and export templates.
REP-625 - Migration Template Report - CAT - Account Custom Fields Tab Report - Created an export report for the CAT Account Custom Fields tab that captures custom field configurations specific to custom administrative tools at the account level.
REP-707 - Migration Template Report - CAT - Custom Fields - Developed an export report for the CAT Custom Fields tab that documents custom field definitions and configurations applied to custom administrative tool records, including field properties, validation rules, and display settings.
REP-708 - Migration Template Report - CAT - Custom Fields Options - Implemented an export report for the CAT Custom Fields Options tab that captures all available dropdown and multi-select options configured for custom fields within custom administrative tools.
REP-626 - Migration Template Report - Documents Tab Report - Created an export report for the Documents tab that provides a comprehensive export of document records including metadata, version information, approval status, and document relationships, matching the structure of the migration template.
REP-627 - Migration Template Report - Training Records Tab Report - Developed an export report for the Training Records tab that captures all training record data including completion status, scores, dates, and associated documentation for regulatory compliance purposes.
REP-628 - Migration Template Report - Courses Template Tab Report - Implemented an export report for the Courses Template tab that documents course definitions, learning objectives, duration, prerequisites, and configuration settings.
REP-629 - Migration Template Report - Documents-Course Template Tab Report - Created an export report for the Documents-Course Template tab that captures the relationships between training courses and their associated document materials, enabling accurate recreation of course content during migration.
REP-630 - Migration Template Report - Course Assignments Tab Report - Developed an export report for the Course Assignments tab that documents which users are assigned to which courses, including assignment dates, due dates, and completion requirements.
-
Audit Trail Performance Improvements: We continued to enhance the recording of audit events for key actions across the app, by updating the system to log audit trail metadata immediately during each transaction - rather than relying on a background worker. This improvement ensures better transparency, faster compliance reporting, and a more responsive experience for administrators. We will implement these updates on a service-by-service basis over the next several releases. In version 31.0.0, we are applying these changes to the following areas:
IM-1710 Update audit events for when changing data on Issues and Change Controls to capture metadata directly in Morpheus API, reducing the time required for information to appear in UI Audit Trail Table
IM-1709 Update audit events for when dealing with Stages on Issues and Change Controls to capture metadata directly in Morpheus API, reducing the time required for information to appear in UI Audit Trail Table
IM-1707 Update audit events for when dealing with custom fields on Issues and Change Controls categories to capture metadata directly in Morpheus API, reducing the time required for information to appear in UI Audit Trail Table
IM-1715 Update audit events for when uploading and removing Attachments from Issues/Change Controls/Tasks to capture metadata directly in Morpheus API, reducing the time required for information to appear in UI Audit Trail Table
-
Configuration Migration for Conditional Custom Fields: ZenQMS enhances the Configuration Import/Export tool used by the Implementation team to now support conditional custom field logic for Issues and Change Controls categories. Previously, when clients configured custom fields with visibility or requirement rules based on other field values in their sandbox environment, the Implementation team had to manually recreate this conditional logic when migrating configurations to production - a time-consuming and error-prone process. The enhanced Import/Export functionality now automatically captures, validates, and transfers all conditional custom field rules during configuration migration, eliminating manual recreation work and ensuring accurate category configuration transfer between environments. This improvement streamlines the implementation process, reduces setup time, and minimizes the risk of configuration errors during production deployments.
Detailed updates include:MIG-642 - [Configuration Migration] Update templates with conditional custom field logic - Updated the Configuration Import/Export templates for Issues and Change Controls to include support for conditional custom field logic, adding a new "Add Dependent Fields?" column to the Category Stage Forms tab and introducing a new "Stage CF Conditional Logic" tab that captures all conditional rules including field dependencies, visibility conditions, and requirement rules. The updated templates are available for download from the Settings → Import/Export Configuration page, enabling Implementation teams to properly structure conditional custom field data for configuration migration.
MIG-646 - [Configuration Migration - Exporter] Export of configurations to include Conditional Custom Fields in Issues and Change Controls - Enhanced the configuration export functionality to automatically include all conditional custom field logic in exported spreadsheets, ensuring that when Implementation teams export category configurations from sandbox environments, the generated Excel files contain complete conditional logic data in both the Category Stage Forms tab (with dependent field indicators) and the new Stage CF Conditional Logic tab with full rule definitions.
MIG-644 - [Configuration Migration - Importer] Data validation check before import of the conditional custom field logic - Implemented comprehensive data validation for conditional custom field imports, verifying that all conditional logic meets system requirements before committing to the database. The validation process checks for correct field types, valid operators, existing field references, proper dependency configurations, and prevents circular dependencies or conflicting requirements. When errors are detected, users receive detailed error messages identifying the specific issues with row and column references, and can download a complete error report for review and correction before retrying the import.
MIG-645 - [Configuration Migration - Importer] Conditional custom field data shall be written to database and visible in the app after the user confirms and the import completes - Enabled the import process to commit conditional custom field logic to the database and make it immediately visible in the application once users confirm and complete the import. After successful import, administrators can navigate to the imported categories and verify that all conditional custom field rules match the definitions in the imported spreadsheet, with the complete configuration also preserved in the downloadable import history for validation and audit purposes.
MIG-665 - [Configuration Migration - Importer] Enable import of Plain Text/Instruction fields with Conditional Custom Field logic in Import/Export tool - Extended import functionality to handle Plain Text and Instruction custom fields that are configured as dependent fields with conditional visibility rules, closing a gap in the initial conditional custom field import implementation and ensuring all custom field types can be properly migrated with their conditional logic intact.
MIG-673 - [Configuration Migration - Exporter] Address conditional logic handling for Plain Text/Instruction dependent custom fields in Configuration Migration Exporter - Enhanced the Configuration Migration Exporter to properly identify and reference instruction fields when they are used in conditional logic rules. Previously, Excel files exported by the Import/Export tool were missing the correct reference for instruction fields in conditional rules, failing to properly identify which specific instruction the conditional should be linked to. The exporter now accurately captures and includes these instruction field references in exported configuration files, ensuring that conditional logic dependencies on plain text and instruction fields are preserved when migrating configurations between environments or accounts.
-
Additional enhancements across the application aimed at improving user experience, expanding API capabilities, and strengthening regulatory compliance. Main Dashboard improvements include corrected table headings, legacy dashboard discontinuation, and the new "Workflow Pending Signatures" column, while the Public API gains support for custom field updates, Issue creation with custom fields, mandatory user endpoint fields, and granular token permissions. Additional updates include feature flag-based module controls, external_id fields for integrations, a training challenge questions report, Client Support context banners, beta report previews, automatic FlatFile cleanup, enhanced dropdowns, clearable custom fields, improved error messages, and flexible Ad Hoc workflow reordering.
Detailed updates include:ZENQ-7830 - [Main Dashboard]: Update donut chart header, legend labels, and table titles for Signatures to use "Signatures Requested" and age-based wording only (no changes to chart behavior or data) - The Signatures Requested section of the Main Dashboard received a terminology update to improve clarity across all labeling. The section header was updated from "Signatures Needed/Pending" to "Signatures Requested." The donut chart legend labels were updated from time-to-due wording ("Due Today/0-1 Day," "1-3 Days Past Due," ">3 Days Past Due") to age-based wording ("< 1 Day Old," "1-3 Days Old," ">3 Days Old"). The table titles displayed upon segment selection were updated accordingly across all four states - all signatures, less than 1 day old, between 1-3 days old, and older than 3 days. No changes were made to chart behavior, filtering logic, or data calculations.
ZENQ-7851 - [Main Dashboard] Discontinue the Legacy/Classic Main Dashboard with 31.0.0 Release so that all users access only New Main Dashboard - The legacy main dashboard is being retired with the 31.0.0 release, making the new dashboard the sole option for all users. Removing the switch between old and new dashboards completes the transition announced in the 30.3.0 release, which informed clients of the legacy dashboard's discontinuation in the next major release. All users now access the unified new dashboard featuring enhanced data visualization, improved usability, and alignment with the modern design system.
ZENQ-6649 - [Main Dashboard] Add 'Workflow Pending Signatures' column for Documents to the Main Dashboard drill down table under Assignment Status - Added an optional "Workflow Pending Signatures" column to the Documents drill-down table on the Main Dashboard. The column displays a comma-separated list of users who have incomplete signature steps in document workflows and is available in the "My Direct Reports" view, where only users who directly report to the logged-in supervisor are shown. The column is not enabled by default and can be added via the "Add/Remove columns to the table" functionality. Column content is included in table exports, respecting the same visibility and filtering rules. The column is read-only and does not trigger workflow or signature actions.
ZENQ-7875 - Align "Execute" column label and "Train Now" action across Main and Training Dashboards, removing pencil icon for consistency - Standardized the training action display across both the Main Dashboard and Training Dashboard by replacing the pencil icon in the Training Dashboard with consistent "Train Now" text links matching the Main Dashboard format. Both dashboards now use the "Execute" column label and display the same "Train Now" action style, improving clarity and predictability for users navigating between dashboards. This visual consistency enhancement ensures users experience a unified interface without any functional changes to training execution workflows.
API-74 - Public API: Endpoint to update Custom Fields on items (Issues/Change Control/Custom Modules) - Enhanced the Public API items endpoint to support updating custom field values on active stages for Issues, Change Controls, and Custom Modules by adding
stagesparameter withcustom_fieldsarray acceptingapi_nameandvalueproperties for each field type (Multi Select, Single Select, Numeric, Decimal, Text, Date, Boolean). The endpoint validates that only active stages without ongoing workflows can be updated, returning specific errors when attempting to update non-active stages or stages with workflows in progress, and validates data types returning errors for invalid values. The response now includes updatedcustom_fieldsdata within eachstageobject for verification, with this format enhancement applying across all endpoints returning Items data through shared code.API-115 - Public API: Support Issue Creation with custom fields - Expanded Public API Issue creation endpoint to accept
external_idparameter and initial stagecustom_fieldsduring creation, enabling complete Issue creation from third-party systems. The enhanced response returns existing data plus newly created fields, and a new endpointv2/items/stages/{category_id}retrieves all custom fields per stage for a given category with stage_id, name, and custom_fields array containing id, label, api_name, and custom_field_type. Issue creation is only allowed in categories where the API token has read/write access, enabling third-party systems to fully replicate ZenQMS Issue creation functionality via API.AUTH-1625 - Update Active Modules UI to enable/disable toggle based on feature flag status - Implemented feature flag-based control for module activation toggles in the Active Modules settings page, where module toggles are disabled (non-interactive) when the corresponding feature flag is OFF and enabled (interactive) when flag is ON, with Training and Audits modules remaining always enabled as core modules. Module enable/disable actions are blocked both at UI level (disabled toggle) and server-side (Endurance) when feature is not available, with Customer Success team handling module deactivation when customers lose access. The toggle disabled/enabled state refers to user interaction capability (not the current value of the module activation setting), ensuring license compliance by preventing accidental or unauthorized enabling of modules for which the account does not have proper licensing.
API-93 - Public API: Add external_id to user profile UI and exports - Added read-only "External ID" field to user profiles on the Personal Information page directly below the Mailing Address field, displaying the stored external_id value (or empty when not set) without any edit capability through UI actions to maintain data integrity. User full table exports now include new "external_id" column showing stored value or blank field when not set, with external_id existing as first-class permanent field in the user table rather than custom field. No user-facing UI path allows modifying external_id to protect this stable identifier from accidental changes, supporting integration troubleshooting and verification of integration-managed user identifiers.
REP-739 - Create “Documents: Training Challenge Questions Attempts Report” standard report to capture all training challenge attempts and question-level answers on documents - Introduced a new standard report available under Account → Reports in the Documents module that provides detailed insights into how users are performing on document training challenge questions. The report shows each question attempt with information about the document being tested, the user taking the quiz, their overall attempt results (attempt number, date, pass/fail status, score percentage), and question-by-question details including the question text, question type (True/False or Multiple Choice), the answer provided by the user, the correct answer, and whether they answered correctly. This report helps training coordinators and quality managers identify knowledge gaps, evaluate training effectiveness, and support regulatory compliance by providing complete visibility into individual quiz performance and learning outcomes.
ZENQ-7742 As a ZenQMS Client Support user, I want to see a banner indicating when I am working in a client account so I am aware of my current account context - Implemented a banner or indicator that displays when ZenQMS Client Support users are working in a client account, providing clear visual confirmation of their current account context. This enhancement helps support team members avoid confusion and ensures they're always aware when they're operating within a client's environment rather than their own.
REP-604 [Report Preview/Beta] Ability to preview reports before their release date via a feature flag and see a beta icon, while ensuring reports cannot be created with past release dates - Introduced a feature flag "Enable Reports Module - Beta Access" that allows authorized users to preview reports before their scheduled release date. Reports with future release dates now display a beta icon in front of the report name, and a database constraint prevents reports from being created with past release dates. This prevents accidental exposure of pre-release reports to customers while enabling development and testing teams to validate new reports before launch.
MIG-658 [FlatFile] Automatic deletion of archived Flatfile sessions after 60 days - Implemented an automated retention routine using Flatfile cron events that permanently deletes archived sessions once they have been in the archived state for 60 days or more. This standardizes data retention practices and reduces unnecessary storage overhead by ensuring archived session data is removed in a timely and predictable manner, while preserving active sessions and recently archived sessions younger than 60 days.
IM-1777 Dependency Rules custom field dropdown should list the plain text content to provide more context during configuration - Enhanced the custom field dropdown for dependency rules in Issues and Change Controls to display the actual plain text content instead of generic "Plain Text" labels. When configuring conditional field logic, plain text fields now appear with their actual content (with HTML formatting stripped and a maximum character length of 71 characters), making it easier for administrators to identify and select the correct fields when multiple plain text fields exist in the configuration.
IM-1137 Allow clearing values from custom fields of type Date and Single Selection - Introduced the ability to clear values from Date and Single Selection custom fields in Issues and Change Controls by adding an 'X' icon next to fields that contain data. The icon appears only on active stages when data has been entered, allowing users to remove field values without needing to submit a data transfer request. Required fields cannot be saved without values, ensuring data integrity while providing flexibility for optional fields.
DM-8077 Improve error message when trying to cancel a document review that can't be cancelled - Enhanced error messaging clarity when users attempt to cancel document reviews that cannot be cancelled. Users now receive specific error messages indicating whether the review has already been cancelled by someone else, has already been completed, or if another error occurred, replacing the generic "something went wrong" message with actionable information that helps users understand why their cancellation attempt failed.
DM-8074 [Documents Workflows] Allow Ad Hoc steps to re-order workflow sequence - Extended the Ad Hoc step functionality in document workflows to allow sequential insertion at any position within the workflow (after Authors and before Always Last steps), not just at the end. Users can now choose whether to insert Ad Hoc steps sequentially (shifting subsequent steps down) or simultaneously (running in parallel with configured steps), with an intuitive order dropdown that shows only valid step positions. This enables more flexible workflow routing, particularly for ZenSign use cases where external approvals are needed at specific points within the workflow.
API-91 Public API: Update Create User and Update User Endpoints to Require Mandatory Fields - Updated the Public API's create user endpoint (POST /v2/users) to require the mandatory fields email, first_name, last_name, and title, aligning API behavior with UI validation requirements. The update user endpoint (PATCH /v2/users/{id}) continues to support partial updates, allowing clients to modify only the fields they intend to change without requiring all mandatory fields. This ensures consistent data validation across both API and UI while maintaining flexibility for update operations.
API-80 Public API: Configure Token Access for Users & Roles (off by default) - Introduced granular permission controls for API tokens to manage access to Users, Roles, and Sites endpoints. New tokens are now created with Users & Roles & Sites access disabled by default, and administrators can configure tokens with read-only access, read/write access, or no access to these endpoints. Existing tokens retain their current permissions to avoid disrupting established integrations, while new tokens require explicit permission grants to access user and role management functionality.
Key critical and major bug fixes include:
IM-1771 - Change Controls/Issues: Users who were viewing the item and had edit access, then their sessions times out or they logout, edit access is still held by that user when edit access should be passed to the next user - Fixed an issue where edit access to Issues and Change Controls remained locked by users who had logged out or experienced session timeouts, preventing other authorized users from editing the items. The system now properly releases edit access when a user's session expires or they log out, automatically transferring editing capabilities to the next user viewing the item.
PDF-876 - Documents that are Downloaded to PDFs OR Rendered in the WebViewer Are Missing Content from original revision - Addressed an intermittent, low-frequency rendering issue where, under specific high-concurrency conditions, PDF outputs occasionally displayed incomplete page content. The issue was isolated to the rendered output only; source document files were not affected. In all reported cases, re-triggering the PDF conversion produced a correct result. The underlying cause - a thread-safety conflict within the PDF rendering engine - has been resolved. Users can also continue to use the Regenerate PDF option (available since release 30.1.0) to clear cached conversions on demand.
ZENQ-7803 - Audit trail for custom field dependency rules transaction summary are marked as stage_created - Corrected an audit trail labeling issue where transactions for saving Custom Field Dependency Rules in Change Control or Issues categories were incorrectly marked as "STAGE_CREATED" instead of displaying the accurate transaction description, ensuring proper audit trail documentation and compliance tracking.
DM-8055 - Missing/Duplicate entries in Docs Full Table export for non super admin users - Resolved an export issue where non-super admin users experienced missing or duplicate document entries when exporting the Documents Full Table, ensuring all users receive accurate and complete export data based on their permissions.
DM-8165 - System Allows Retirement and Up-version Workflows to Run Simultaneously - Fixed a workflow validation issue where users could launch multiple workflows (retirement, up-version-needed, and no-action-needed) on the same document simultaneously. The system now properly enforces the business rule that only one workflow can be active on a document version at any given time, preventing user confusion, ensuring correct workflow sequencing, and maintaining compliance with intended business processes.
TM-341 - Reopen workflows on Tasks doesn't properly handle 'Reopen' transitions - Corrected workflow handling for Task "Reopen" transitions to function like standard workflows, enabling users to properly reject, complete, or cancel reopened tasks as intended in the workflow configuration.
TRAIN-1768 - Home Dashboard Shows Training Records for Disabled and Unassigned Users - Fixed a dashboard filtering issue where the home dashboard displayed training records for disabled (inactive) users and users who had been unassigned from training events. The dashboard now properly filters to show only training records for active users who are currently assigned to the training items, eliminating confusion and ensuring accurate training compliance reporting.
API-130 - Public API: Fix inaccurate audit trail messages for user/role mutations in Public API to reflect only actual role changes - Corrected audit trail logging for Public API user role modifications to accurately reflect only the roles that were actually added or removed. Previously, when using the API to add a user to a role they already had or remove them from a role they didn't have, the audit trail would log the action even though no actual change occurred. Now, audit trail messages are filtered to include only roles where changes actually took place, and no audit trail entry is created when the requested operation results in no role changes. This fix ensures audit trail accuracy and compliance, particularly important for automated role synchronization integrations with identity providers like Entra ID and Okta where the API may receive requests to add or remove roles that are already in the desired state.
DM-8218 - [Documents Batch Upload]: Incorrect error handling when creating documents via Batch Upload might result in Documents being created without attaching the current revision file - investigation identified a very low-frequency issue where a small number of documents created using the Batch Upload feature failed to have an associated physical file. The mechanism allowed the application to create an ‘effective’ document in ZenQMS even though the source file was never uploaded. This is not possible when creating documents one at-a-time - and the user would note the failed conversion in the preview pane regardless.
DM-8219 - [SCORM Registration]: Disabled users are included in the trainees list under Training -> SCORM registration Data tab - Disabled users were incorrectly displayed in the trainees list on the SCORM Registration Data tab. The system now excludes disabled users from this list, ensuring only active trainees appear in SCORM registration records.
IM-1779 - [Custom Fields]: Fields with conditional visibility rules are always included in PDF export regardless of configured visibility conditions - Custom Fields configured with conditional visibility rules were incorrectly included in PDF exports when the visibility condition was not met. The system now respects configured visibility conditions during PDF export, ensuring only fields that meet their display criteria appear in the exported document.
AUTH-1628 - [Users Table]: "Select All Rows" selects all users in the account instead of only filtered users when using custom field filters - Fixed an issue in the Users Table where applying a custom field filter and then using the "Select All Rows" option caused the system to select all users in the account rather than only the users matching the active filter, despite the button displaying the filtered count. The Users Table now correctly scopes "Select All Rows" selections to the active filtered result set when custom field filters are in use.
IM-1766 - [Issues/Change Controls]: Pressing "Enter" when performing search in Full Table triggers actions (Delegate, Resend Email) from other open tabs, instead of only searching in the current tab - Fixed an issue where, under specific conditions involving multiple open tabs, pressing Enter to trigger a search in the Issues, Change Controls, or Documents Full Table could activate a focused button in another open tab. The issue occurred only when a user was actively typing in a search field in one tab while a button in a separate tab happened to retain browser focus. Any actions triggered in this way required subsequent user interaction to complete and did not execute autonomously. The underlying cause has been resolved, and keyboard input in one tab no longer affects elements in other open tabs.
ZENQ-8115 - [Main Dashboard] 'Audit - Publish Final Report' signatures not appearing in Signatures Pending graph when "I am uploading a Client or Regulatory Audit of my GxP site" is selected - An issue was identified in the Main Dashboard where signatures associated with the "Publish Final Report" and "Send to Auditee" workflow steps did not appear in the Signatures Pending graph when the audit type "I am uploading a Client or Regulatory Audit of my GxP site" was selected. This occurred under specific conditions where the user member ID and audit member ID were associated with different accounts - a configuration unique to the Audit Reports module. Signatures were still correctly displayed on the Classic Dashboard, resulting in very low impact on application version 30.3.2 and earlier. Underlying audit data and signatures were not affected. The underlying cause has been resolved, and signatures for this audit type now appear correctly in the Signatures Pending graph on the Main Dashboard.
Beta Features
ZENQ-7190 - Add user access logs from Billing/Subscription page to Audit Trail - Implemented comprehensive audit trail logging for the Billing/Subscription management page (accessible for accounts participating in the beta program started with 30.1.0 Release), ensuring all user access events are tracked for compliance and security purposes. Every visit to the Billing/Subscription page is now logged in the Audit Trail table following the same format as other access records, capturing user identity, timestamp, and page access event to provide visibility into which users accessed billing and subscription information and when for regulatory compliance.
Upcoming Features (Pre-release Support)
This release includes updates to support new features planned for future releases. These changes do not affect current application functionality. All updates are fully validated to ensure there is no unintended impact on your experience.
WF-82 Pre-release support for Workflow Modules - 31.0.0 Release - This update introduces pre-release support for Workflow Modules by placing all related code behind a feature flag in the 31.0.0 release. With the feature flag turned off, existing system functionality remain unchanged, ensuring a safe and non-disruptive deployment. This foundational work sets the stage for future rollout and testing of Workflow Modules, allowing for further development and validation in upcoming releases without impacting current users.
AI-106 Pre-release support for AI: Training Challenge Questions - 31.0.0 Release - This update introduces pre-release support for AI-powered Training Challenge Questions by placing all related code behind a feature flag in the 31.0.0 release. With the feature flag turned off, existing system functionality remains unchanged, ensuring a safe and non-disruptive deployment. This foundational work sets the stage for future rollout and testing of AI-enhanced training assessment capabilities, allowing for further development and validation in upcoming releases without impacting current users.
Please view the traceability matrix for more details on the full list of enhancements and bug fixes included in the release.
Schedule
Due to the impact on users of this release and the time it will take to perform this update, we will apply the updates to sandbox and production separately. Both will occur outside top hours, to provide as little interruption to normal operations as possible.
Sandbox
Date: 14-APR-2026
Time: 8 am EDT / 12 pm UTC
Downtime: No downtime
Production
Date: 15-APR-2026
Time: 15-APR-2026 9pm EDT / 1 am UTC (16-APR)
Downtime: No downtime
Impact
This release impacts users across the following modules: Change Controls, Documents, Insights, Issues, Tasks, Training.
The legacy main dashboard is being retired with the 31.0.0 release, making the new dashboard the sole option for all users. Removing the switch between old and new dashboards completes the transition announced in the 30.3.0 release, which informed clients of the legacy dashboard's discontinuation in the next major release. All users now access the unified new dashboard featuring enhanced data visualization, improved usability, and alignment with the modern design system.
SCORM Migration to Documents Module - With the 31.0.0 release, we start migrating existing SCORM members to the improved Documents-based experience by integrating SCORM training items into the Documents Module (introduced in version 30.3.0). This migration targets organizations with unified training grace period configurations, automatically moving their SCORM courses into a new "SCORM Courses" document category. Migrations will occur account by account: a representant of the ZenQMS Support Team will reach out to schedule member migrations so there is minimal disruption.
Limited Availability Insights Pro - Customers now have the ability to ‘add custom fields' to our OOTB dashboards. Added custom fields will show up as ‘filters’, allowing customers to slice & dice dashboards by whatever custom fields they choose! This feature is available only for customers with Insights Pro subscription. If you are interested in finding more about this, submit a ticket to HelpDesk at support.zenqms.com.
Integrations Platform - ZenQMS now offers a comprehensive Integrations Platform, enabling organizations to connect ZenQMS with external tools and systems through pre-built integrations and custom workflows. This includes an embedded Integrations Marketplace for discovering and managing integrations, as well as out-of-the-box support for Microsoft Entra ID and Okta - enabling automated user provisioning, lifecycle management, and role synchronization directly from your identity provider. This feature is currently available in Limited Availability as part of the 31.0.0 release, meaning it is production-ready and available for use, but access is being managed on a controlled basis during this phase. If you are interested in learning more or enabling the Integrations Platform for your organization, please submit a ticket to HelpDesk at support.zenqms.com.
Documentation
This release is being managed through change control 301-124. You can download a copy of the first stages of the system release record, including the requirements and testing traceability matrix for release notes here 31.0.0 System Release Record 301-124 Release Notes. An entire release record will be available for review after the release is completed, in the auditor share account.
An updated copy of the URS/UAT template will be available in your Auditor Share Account.
We expect no downtime.
Version Details
ZenQMS comprises a microservice architecture that breaks up large functions into smaller services. This reduces risk in the development and release process. As such this flagship release version is actually composed of the releases of the individual services components. It is entirely possible for a component service to not change versions in a release cycle even if other components do. Here is the summary for this release.
ZenQMS Release 31.0.0 contains the following “FixVersions”. We use FixVersion as an internal versioning scheme for our modules/services and maintain them in Jira.
"AI 1.2","API 1.2","AUTH 5.20","DM 4.2","IM 7.14","INSIGHT 3.0","INT 1.0","MIG 4.14","PDF 10.5","REP 5.0","TM 6.7","TRAIN 4.1","WF 0.2","ZENQ 29.0"
Updated Modules
Account Backup
Administration
AI Features
Audit Trail
Change Control
Documents
Import/Export Data service
Insights
Integrations
Issues
PDF generation service
Public API
Reports
Settings
Tasks
Training
Unchanged Modules
Audits
Login/Authorization
Daily Summary emails
Notifications emails
ZenSign
Important Notes
This announcement plus the banner announcement in the application to ALL users is our formal announcement for the release.
You will be able to log into test2.zenqms.com and try out the changes from 31.0.0 release ahead of 15-APR-2026. This environment was refreshed on 03-MAR-2026 with your latest production data and will be available for you to login starting 11-MAR-2026.
To minimize disruption, we scheduled the 31.0.0 release deployment to sandbox and production separately. Both will occur outside top hours, to provide as little interruption to normal operations as possible. We expect zero downtime. This release introduces primarily new features and improvements that should not significantly impact your daily operations. You can immediately access the new functionality for testing at test2.zenqms.com. We encourage prioritizing testing the following features as they may have the most direct impact on your current workflows: New Navigation experience, the changes introduced in Documents Table that support bulk download of PDFs documents and the training certificates changes. Other enhancements can be explored at your convenience.
Beginning in November 2025, ZenQMS is adopting a new traceability matrix format for its software updates. See this article for details.
To better understand the different stages of feature availability at ZenQMS - Beta, Limited Availability, and General Availability - please see the dedicated support article.
Deployment (as always) is handled by the ZenQMS team.
Published on 04-MAR-2026