beqom Pay Suite 19.1 - Detailed release notes
This article lists the new features that have been added to the platform, as well as the bugs that have been corrected in the intermediate 19.1 release of the Pay Suite application and in the subsequent patches.
19.1
Deployment to staging environments: January 6th, 2026
Deployment to production environments: January 8th, 2026
| Type | Issue key | Module | Description | |
|---|---|---|---|---|
| Zendesk | Jira | |||
| AC-10526 | Pay Transparency | Document preview functionality was enhanced to allow users to open PDF documents in a new browser tab with a single click. Users can now open documents in separate tabs when previewing documents from the team inbox (for case managers and HRBPs), communication documents and summaries, shared documents in workbench round builder, and attached documents in Pay Information Request views. This enhancement provides users with greater flexibility when reviewing multiple documents simultaneously. | ||
| 143219 | AC-16689 | Performance Management | Goal weight editing permissions were enhanced to provide more granular control for managers. Goal plan creators can now enable a setting that allows managers to edit goal weights for their direct reports only. The 'Worker' option in the audience settings was renamed to 'Owner' and is now always selected by default. When the manager editing setting is enabled, managers can modify individual goal weights for their direct reports through the Planner's User Goals page and Passport's Shared Goals section, but cannot access the general Edit Goal mode to change overall goal weights. This provides goal plan creators with flexible control over who can modify goal weights while maintaining appropriate hierarchical permissions. Goal Admins retain full editing capabilities for both organizational and individual goals across all interfaces. | |
| AC-17195 | Performance Management | An error that was occurring when users clicked on the 'Privacy guidelines' link in the Goal Genius widget during goal creation was corrected. The problem specifically occurred when users were creating goals and attempted to access privacy guidelines, resulting in a 404 Not Found error instead of opening the guidelines page. The Privacy guidelines link now properly opens in a new tab, allowing users to access policy information while creating goals. | ||
| AC-18128 | Performance Management | Weight editing clarification indicators were added to the Planner and Passport interfaces. When managers edit weight values from goal tables, banners and info icons now clearly indicate that changes apply to specific individual employees rather than organization-wide goals. These visual indicators appear when weight functionality is enabled for the plan, manager editing permissions are active, and organizational goals are present in the list. This enhancement helps prevent confusion about the scope of weight modifications and ensures managers understand they are making individual-level adjustments. | ||
| AC-18356 | Authorization | An error that was occurring during worker ingestion with invalid email addresses was corrected. The problem specifically occurred when attempting to ingest the same worker with an invalid email address a second time, where the system would incorrectly return a success response instead of properly validating and rejecting the invalid email. Users can now expect consistent email validation behavior on all ingestion attempts. | ||
| AC-18405 | Pay Transparency | A new public API endpoint was introduced to retrieve pay information request status and attached documents for closed requests. External HRIS and client ticketing systems can now synchronize with beqom by retrieving the latest request status, resolution metadata, alerts, and PDF documents (only when requests are closed). The API supports both single request retrieval and bulk operations with flexible filtering options including request ID, reference number, worker external ID, status, alert level, and date ranges. This enables full synchronization between external systems and beqom, allowing client platforms to display statuses and store files without requiring worker access to the beqom platform. The endpoint includes proper authentication with bearer token scope requirements, comprehensive audit logging, and follows consistent data transfer formatting. | ||
| AC-18451 | Pay Transparency | An error that was occurring when text areas contained links at the end was corrected. The problem specifically occurred in the Pay Information widget where an additional scroll bar would appear when the page was opened in edit mode if there was a link positioned at the end of the text area. Users can now edit text areas with end-positioned links without encountering unwanted scroll bars interfering with the interface. | ||
| AC-18925 | Performance Management | An error that was occurring in the Goals section of Passport was corrected. The problem specifically occurred when a goal had a weight of 0, which caused the entire Weight column to disappear from the goals list view, even when weight settings were enabled for the goal plan. Users can now see the Weight column consistently displayed in the goals list regardless of whether individual goal weights are set to 0. | ||
| AC-20154 | Pay Intelligence | Pay Analysis Information page was implemented to display comprehensive pay analysis data in an interactive format. Users can now view full analysis information including adjusted gender pay gap by demographics, number of raises, and total cost of raises through information widgets at the top of the page. The page includes an interactive table where users can update raise field values (not saved permanently) for planning purposes, with these updates automatically reflected in the 'after raises' information widgets. Users can also sort the table data to better analyze pay analysis results. This enhancement provides a centralized location for reviewing and analyzing pay equity data with real-time calculation capabilities. | ||
| AC-20160 | Pay Intelligence | Column configuration functionality was added to the Pay Analysis Information page. Users can now customize their table view by hiding or displaying columns without requiring backend calls, and can reorder columns with changes reflected immediately. The feature includes separate controls for personal visibility and user access management, with configuration persistence through a Save button. Column configuration is organized into locked and unlocked sections, with frontend-created columns (Worker, LineManager, CompManager) always displayed first. This functionality is restricted from Reader role users to maintain appropriate access controls. | ||
| AC-20204 | Pay Intelligence | Pay Analysis Information Display settings endpoints were implemented for the backend system. Two new REST endpoints were added: a GET endpoint at uploads/{uploadUid}/analyses/{analysisId}/displaySettings that returns the list of enabled columns for display settings per analysis and user, and a PUT endpoint at the same path that allows upserting display settings per analysis and user. This functionality enables storing display preferences including enabled columns on a per-analysis and per-user basis, supporting dynamic column lists based on the data model of snapshots used in pay analysis workflows. | ||
| AC-20309 | Pay Intelligence | Dataset upload error logging and status tracking capabilities were implemented for the backend system. A new GET endpoint for upload status retrieval was added, allowing administrators to check the full status of uploads including progress state (in progress, done, errored) and detailed error messages or warnings. The system now stores and translates error messages from both external services and internal processes into contextual information relevant to the Accelerate platform. Data consistency improvements were implemented to skip rows containing null values during export operations and prevent empty datasets from being processed. All upload-related endpoints now return status information, and analysis endpoints were modified to handle only successful uploads, providing better visibility into upload operations and data quality issues. | ||
| AC-20769 | Pay Transparency | New filtering capabilities were added to the Pay Information requests list in the Planner section. HRBP and ReadOnly users can now filter requests by Creation Type, allowing them to search for requests created via API import, by HRBPs from the Planner, or by workers from their digital reward statement in Passport Compensation. Additionally, a Created By filter enables users to search for requests using partial or full values of the request creator's name or worker ID. The filtering system supports multiple selections within the same field using OR logic, while multiple different filters are combined using AND logic. Applied filters are displayed as removable tags showing the number of active filters, and users can clear all filters to return to the full list view. | ||
| AC-20778 | Compensation | Vite build tool was upgraded from version 5.4 to 7.2, including an update to the React plugin from version 4.7.0 to 5.1.1. The upgrade included comprehensive configuration enhancements across multiple files including vite.config.ts, vitest.config.js, and vitest.config.ci.js. Key improvements include added HMR overlay for enhanced debugging capabilities, optimized build targets set to 'baseline-widely-available' for better browser compatibility, increased chunk size warning limit to 1000KB, and optimized dependencies configuration to improve both development and testing performance. The update maintains full development server functionality with Hot Module Replacement, successful production builds, and comparable or improved bundle sizes without build warnings. | ||
| AC-20784 | Compensation | Vitest testing framework was upgraded from version 3.2.4 to 4.0.12 as part of Phase 5 major update. The upgrade included three core packages: vitest, @vitest/coverage-v8, and @vitest/ui. Migration steps included reviewing breaking changes documentation, updating configuration files (vitest.config.js and vitest.config.ci.js), updating test setup in test/setup-test-env.tsx, checking for deprecated APIs in test files, and updating test utilities. The upgrade ensures the testing infrastructure remains current with the latest features and improvements, with all test suites, coverage reports, CI pipeline, and test UI functionality verified to work correctly. | ||
| AC-20787 | Compensation | Storybook was upgraded from version 8.5.8 to 10.0.8 as part of Phase 6 major update initiative. The upgrade included updating 6 core packages: storybook, @storybook/addon-a11y, @storybook/addon-links, @storybook/nextjs, @storybook/react-webpack5, and @storybook/addon-docs. Development teams now benefit from improved ESM compatibility, updated import paths for better maintainability, and enhanced addon functionality. The migration included updating imports from deprecated packages like @storybook/client-api to react/storybook/preview-api, @storybook/test to storybook/test, and removing the deprecated @storybook/addon-blocks which is now part of essentials. All story files in the stories directory were validated to ensure compatibility, visual regression tests were executed, and build processes were verified to maintain development workflow continuity. | ||
| AC-20834 | Data Foundation | Email notification configuration for Data Foundation failed ingestions was relocated and enhanced. The Data Ingestion failed notification configuration was moved under the Data Foundation group, allowing administrators to configure email templates for data foundation failed notifications in a more organized location within the system. | ||
| AC-20916 | Compensation | React Router packages were updated from version 7.6.2 to 7.9.6 to incorporate the latest bug fixes, performance improvements, and new features. Six core packages were upgraded including react-router, @react-router/dev, @react-router/express, @react-router/node, @react-router/remix-routes-option-adapter, and @react-router/serve. This update affects the core routing system, development tooling, server implementations, build utilities, and Remix routes adapter, providing enhanced stability and performance for the application's navigation and routing functionality. | ||
| AC-20957 | Authorization | Extended analytics authorization endpoint with dynamic attribute-based access control (ABAC) powered by Cerbos. The new implementation replaces hardcoded logic with generic policy specifications that combine with user attributes (organization level, country, job function, custom fields) to generate dynamic access filters. Maintains backward compatibility with legacy override mechanisms including ACLs, GrantFullAccess flag, and All Company access rules. | ||
| AC-20968 | Pay Intelligence | PayAnalytics role permissions were enhanced to provide access to additional workbench menu items. PayAnalyticsAdmin, PayAnalyticsEditor, and PayAnalyticsReader roles now have access to gender-options, data-models, currencies lite list, and DF snapshots list functionality, enabling users with these roles to view and edit Pay Analysis Data Mapping as needed. | ||
| AC-21219 | Data Foundation | A deletion endpoint for CSV files was implemented in the data foundation API. The endpoint includes security authentication rules and gateway exposure, allowing users with Support or DataFoundationAdmin roles to delete CSV uploads through the api/data-foundation/data-type/delete/csv/upload endpoint. This enhancement provides administrators with the ability to manage CSV file ingestion by removing uploaded files when needed. | ||
| AC-21229 | Performance Management | Notification scheduler settings were removed from the user interface. The 'Scheduling' menu item is no longer visible in the left navigation, and direct URL access to schedule settings now redirects appropriately. This change improves the user experience by removing non-functional features that were not being utilized. | ||
| 142568 | AC-21297 | Performance Management | An error that was occurring when editing text in the feedback textbox after adding and removing links was corrected. The problem specifically occurred when users would add a link to their feedback text and then attempt to remove it, causing the text cursor to malfunction and preventing proper text editing at the cursor position. Users can now properly edit feedback text at any cursor position even after manipulating links within their feedback content. | |
| AC-21391 | Compensation | Payout curve deletion functionality was implemented to allow proper cleanup of unused or obsolete curves. Compensation Administrators can now delete their own draft payout curves, while Global Compensation Administrators can delete any payout curves that are not currently in use by bonus plans. The system includes role-based access controls, confirmation dialogs for destructive actions, and protection mechanisms that prevent deletion of curves referenced by other entities. When attempting to delete curves that are in use, users receive detailed information about dependencies that must be removed first. This enhancement maintains consistency with existing deletion patterns used for bonus plans and compensation rounds. | ||
| AC-21457 | Data Foundation | The ISO.4217.CurrencyCodes library was removed due to GPL-3 license restrictions and replaced with direct SQL insertion for currency seeding. Currency data is now populated through predefined database records using UPSERT operations based on existing currency table data, ensuring currencies continue to be seeded correctly without dependency on the external library. | ||
| AC-21484 | Pay Transparency | Enhanced alert functionality was added for closed Pay Information Requests to help HRBPs identify follow-up actions that may still be required. The system now displays three new alert types for closed requests: 'Closed without document' appears when a request was closed without attaching a document, 'Not released to worker' shows when a document was added to a workflow-enabled communication round but hasn't been released to the worker yet, and 'Document deleted' alerts when an attached document is later removed from the communication round. These alerts appear in the Alert column of the Pay Information Requests list and are included in the Alerts tile count, with priority handling to ensure only one alert displays per closed request at a time. | ||
| AC-21512 | Pay Intelligence | Worker materialized view refresh frequency was increased from once daily to three times daily to improve Power BI report data freshness. The system now refreshes worker data at 02:00 UTC, 10:00 UTC, and 15:00 UTC, with each refresh scheduled one hour before Power BI report refreshes to ensure data availability. This enhancement applies to all tenants and provides more current worker information in reports throughout the day. | ||
| AC-21542 | Authorization | ABAC attribute evaluation for IncludeEmployeeId and ExcludeEmployeeId was enhanced to apply to all Worker records regardless of user account provisioning status. Security Admins can now ensure consistent authorization behavior across all processes that depend on Worker data, including compensation rounds. Previously, these attributes only applied to Workers with provisioned user accounts, but now they evaluate against the complete Worker population. This enhancement ensures that Worker populations generated for Compensation Rounds correctly apply inclusion and exclusion rules even when Workers do not have provisioned user accounts, providing consistent authorization behavior across all services while maintaining backward compatibility for existing customers. | ||
| AC-21557 | Pay Transparency | Enhanced filtering capabilities were added to the Pay Information requests list in the Planner module. HRBP and ReadOnly users can now filter requests using additional criteria including resolution date (with operators like equals, not equals, on/after, on/before, after, before, is empty, and is not empty), communication rounds (multi-select dropdown with search capability showing both code and name), extended status options (now including 'Closed' status alongside existing New and In Progress), and expanded alert types (including 'Closed without attached document', 'Not released to worker', and 'Document deleted'). The filtering system supports combined filters with AND logic between different fields and OR logic within the same field for multiple selections. Applied filters are displayed as removable tags with a counter showing the number of active filters, and users can clear all filters at once to return to the full list view. | ||
| AC-21590 | Data Foundation | Authorization controls were implemented for the customization feature to enhance security and access management. Security Admins can now assign a Localisation Admin role to specific users, enabling them to manage and review custom translations and cultural settings across the product. Users with appropriate roles (LocalizationAdmin, Configurator, or Support) can access the Custom Translation UI within the Workbench to manage custom translations, download and import translation files, and view the complete custom translations interface. Additionally, authorized users can access the Cultural Settings UI to enable or disable the localisation toggle and modify configuration options within the cultural settings screen, while read-only users have limited access to view culture code information only. | ||
| AC-21676 | Compensation | Reminders configuration functionality was added to the Management Portal for compensation rounds in draft state. Compensation Admins and Global Compensation Admins can now create, edit, and view reminders for compensation rounds that are Ready or In Progress through a new 'Round reminders' tab. The create reminder functionality includes configuring reminder names, selecting target populations (Comp Managers and/or Comp Managers +1), setting up multilingual reminder messages with notification bell and email options, and utilizing dynamic fields such as recipient information, compensation round details, and admin contact information. Created reminders are saved in Draft status and include comprehensive validation to ensure all required fields are completed before saving. | ||
| AC-21682 | Pay Transparency | Anonymization rules based on minimum count thresholds were implemented for Article 7 PDF letter generation. Administrators can now configure the system to automatically anonymize (hide) category-level average compensation values in generated PDFs when the number of workers in the corresponding population (overall, male, or female) falls below a defined threshold. This enhancement ensures pay information remains compliant with confidentiality and data-protection rules while maintaining transparency. The system applies anonymization automatically during merge key resolution, replacing numeric values with configurable placeholder text when population counts are insufficient to preserve worker anonymity. | ||
| AC-21751 | Compensation | A comprehensive Round Reminders management system was implemented for Compensation administrators. The system introduces a new 'Round reminders' tab that displays a list of all reminders with columns for Name, Recipients, Sent date, Owner, and Status. Users can search reminders by name and filter by recipient type (Any, Comp Managers, Comp Managers +1) and status (Any, Draft, Sent). The system provides different action capabilities based on round status - for Ready/In Progress rounds, users can edit, duplicate, or delete draft reminders, and view or duplicate sent reminders. For Closed rounds, users can view draft and sent reminders, with delete functionality available for draft reminders. The interface includes an empty state with a 'Create reminder' button when no reminders exist, and all duplicate actions include success notifications with options to immediately open the duplicated reminder in edit mode. | ||
| AC-21783 | Performance Management | The Shared goals feature was migrated to use PostgreSQL database architecture. This technical enhancement maintains all existing functionality including proper field display, date ordering with newly created goals appearing first, appropriate status filtering, correct user permission handling, and shared goal creation capabilities. The database structure was updated with ShareWith being replaced by ShareWithOrgItemsIds and ShareWithUsersIds to improve data organization and access patterns. | ||
| AC-21787 | Performance Management | The align search functionality was migrated to use PostgreSQL as the underlying database technology. This backend technical improvement enhances the search infrastructure for goal alignment features. | ||
| AC-21800 | Compensation | The application's tooltip, dropdown, and popup positioning system was migrated from react-popper to floating-ui library. This technical migration ensures continued support and maintenance for all interactive elements that display contextual information, including select dropdowns, menu buttons, and tooltips, as the previous library is no longer actively maintained. | ||
| AC-21807 | Compensation | Data Foundation Model messaging was migrated to the Events table to provide a consistent alerting process across compensation entities. This migration moves away from the previous approach of coupling alerts into rounds and adopts the new events-based concept already used for bonus plan alerts management. The system now populates the new event table with Data Foundation events, while the frontend retrieves events from the round notification endpoint taking into account the data model alert type. Data ingestion from Data Foundation continues to alert all rounds with attached models exactly as before, ensuring no change in existing behavior. | ||
| AC-21868 | Data Foundation | Enhanced IAM user loading functionality was implemented to support systems with more than 10,000 users. A new API endpoint was added at GET {base_url}/api/users/active-users with optional filtering capabilities including search by full name (contains match) and filtering by specific user GUIDs through userIds parameters. This enhancement removes the previous 10K user limit that was impacting customers with larger user bases. Administrators can now see and select specific users in email notification configuration even when the system contains more than 10,000 users, with the API returning user information including IdentityId, FullName, profile image, and job title without requiring pagination. | ||
| AC-21890 | Performance Management | The Plans list dropdown functionality was updated to improve performance and data accuracy. The backend system now uses goal population snapshot data instead of Elasticsearch queries when determining which goal plans and time periods to display. This change affects the GetGoalsListAvailablePlansQueryHandler which manages how users see available goal plans and their associated time periods, while maintaining the same business logic for plan availability filtering based on user permissions, organization hierarchy, and existing goals. | ||
| AC-21907 | Compensation | Data Foundation Goal Message migration to Events table was implemented for bonus plan alerting. The system now uses a consistent events-based approach for managing alerts across compensation entities. Goal Data Ingestion from Data Foundation now alerts all bonus plans that have a goal plan attached, and the front-end uses a new endpoint linked to bonus plans to retrieve notifications. This migration provides improved alerting processes across compensation entities while maintaining existing goal plan notification functionality. | ||
| AC-21931 | Data Foundation | Data integrity protection was enhanced to prevent deletion of already deleted records. The system now blocks deletion requests for records that have already been removed, preventing duplicate entries with the same InstanceHash in the database. | ||
| AC-21968 | Compensation | The compensation element dropdown list width in guaranteed amount configuration was standardized to match the width used in other configuration screens such as guidelines, budget, and eligibility. This change improves visual consistency across the compensation configuration interface. | ||
| AC-21994 | Data Foundation | Translation functionality was enhanced to allow custom labels to override standard translations per culture. The translations endpoint now returns merged translations combining both standard and custom labels when available. Web applications will present custom labels when they exist and the localization flag is enabled. Additionally, culture endpoints now provide richer culture details, and the underlying services have been updated to consistently use domain entities with improved CSV import/export capabilities including cancellation support. | ||
| AC-22014 | Data Foundation | LaunchDarkly feature flag evaluation was improved to ensure consistent tenant-specific targeting regardless of tenant code case formatting. The system now normalizes tenant codes to lowercase before passing them to LaunchDarkly's user context, resolving issues where tenant codes stored in lowercase in the database would not match uppercase codes received via HTTP headers from internal service calls. This change affects services using IFeatureFlag or ILightFeatureFlag interfaces, including Gateway, Data Foundation, Compensation, Machine Learning, and Currency services. Users will now receive consistent feature flag values for the same tenant regardless of whether the tenant code arrives in uppercase, lowercase, or mixed case format. | ||
| AC-22040 | Data Foundation | The test API was enhanced with additional test cases to improve coverage and reliability. Acceptance tests were added or rewritten within the API tests project, strengthening the testing framework and ensuring better validation of system functionality. | ||
| AC-22082 | Pay Transparency | Digital Reward Statement compensation widgets were migrated to use the new ContractedCompensation data entity instead of the legacy CompensationHistory entity. This enhancement affects all compensation-related widgets in the Digital Reward Statement including Compensation Summary, Compensation Breakdown, Salary Position, Historical Compensation (5-year bar chart), and Overview of Salary Changes table. The migration preserves all existing filtering rules, cutoff date logic, currency validations, compensation element selection, and hierarchical compensation rules while ensuring continued functionality as the legacy entity is deprecated. Users will experience no changes in widget behavior or appearance, with the same compensation elements (Total Comp, Total Direct, Total Indirect, Base Salary) and validation logic maintained. The implementation includes feature flag support for backward compatibility during the transition period. | ||
| AC-22168 | Compensation | The Edit and Create Pending Draft buttons were removed from the Validation drawer in the Round Management page. This change eliminates a corner case that could lead to bugs when working with rounds in Ready or In Progress status, whether or not existing pending drafts were present. Users will no longer see these button options in the validation drawer, providing a more stable experience in round management workflows. | ||
| AC-22203 | Compensation | An Error Summary Component was implemented for the payroll system to improve error message handling and user experience. The component consolidates all field-level error messages that previously appeared in red text below individual items into a centralized summary that enumerates errors by order. The component dynamically updates to remove error messages as soon as fields become valid and only displays when errors are present, providing users with a clearer overview of validation issues during payroll processing. | ||
| AC-22206 | Compensation | An Error Summary Component was implemented in the payroll statement generation functionality to improve error handling and user experience. The component centralizes all error messages that previously appeared in red text below individual form fields, displaying them in an organized, enumerated list. The component dynamically updates to show only active validation errors and automatically removes error messages once the corresponding field becomes valid. This enhancement affects the workbench, compensation management, and statement generation wizard, providing users with a clearer overview of form validation issues including required fields for rule names, communication rounds, document templates, file names, and distribution rule criteria. | ||
| AC-22226 | Performance Management | An error in the Career Development attachment display was corrected. The problem specifically occurred when viewing attachments where the download button was not visible in view mode, and attachment filenames with long text would overflow beyond the frame boundaries in both view and PDF modes. Users can now access the download button when viewing Career Development attachments, and filename text properly wraps within the display area for better readability in both view and PDF formats. | ||
| AC-22257 | Pay Transparency | An error that was occurring when hovering over long filenames without spaces in CommRound tooltips was corrected. The problem specifically occurred when importing documents with long names without spaces, causing the filename text to display outside the tooltip boundaries in both the editing interface and Planner Documents section. Long filenames without spaces are now properly displayed inside tooltips and truncated with ellipsis when necessary. | ||
| AC-22258 | Data Foundation | In-app notifications for data upload failures were enhanced to display links instead of failure lists. When data ingestion fails, users now receive an in-app notification containing a direct link that redirects them to the specific ingestion details page in the data management workbench, providing quicker access to failure information compared to the previous email-style notifications. | ||
| AC-22267 | Pay Intelligence | The Pay Analytics Worker Lookup was updated to support configured employee ID fields. The GetFullAnalysisInformationAsync endpoint now checks the configured EmployeeIdField and extracts the ID from ModelData JSON before falling back to the standard WorkerExternalId. This improvement ensures worker details and snapshot data are properly populated for datasets where employee IDs are stored in specific fields within the JSON ModelData, resulting in more accurate analysis details. | ||
| AC-22298 | Authorization | The IAM service was updated to interpret null PerformanceEligibility values as FALSE in the Worker entity. Previously, the PerformanceEligibility field was mandatory, which created data loading friction for customers not using the Performance Management Module. With this change, the field is now optional, and null values are automatically treated as false, ensuring seamless data ingestion while maintaining compatibility with the Performance Management module. | ||
| AC-22307 | Authorization | Support user authorization was updated to use a new access control mechanism. The system now assigns GrantFullAccess permissions instead of the previous SubjectOrgLevelIntId attribute for Support users. This change affects both newly created Support users and existing Support user records in the database, ensuring consistent authorization behavior across all Support user accounts. | ||
| AC-22323 | Data Foundation | An error that was occurring when uploading custom label files was corrected. The problem specifically occurred when custom labels had character length greater than 1000, resulting in a database constraint error and HTTP 500 response. Users can now receive proper error handling instead of encountering server errors during label file uploads. | ||
| AC-22324 | Data Foundation | The PerformanceEligibility field in the Worker entity was made optional (nullable) to reduce data loading friction for customers not using the Performance Management Module. Previously, this Boolean field was mandatory for all worker records, but since it is only relevant for Performance Management functionality, it can now be left empty during data ingestion. This change applies to both API ingestion and CSV ingestion methods (UI and SFTP). When the field is null, the system will interpret it as FALSE to maintain existing Performance Management functionality. | ||
| AC-22329 | Data Foundation | An Audit Tab was added to the side drawer interface for users with professional roles (LocalisationAdmin, Configuration Support, Tandemadmin). Users can now view detailed audit logs per upload request per language to validate the status of each request. The audit view displays who initiated the upload (first and last name), the date of upload formatted according to cultural settings, the number of labels updated and skipped, and includes a button to view full JSON log details. This enhancement provides administrators with comprehensive visibility into upload request processing and validation status. | ||
| AC-22332 | Data Foundation | Referential integrity checks were added to the data deletion workflow for DataTypes. The system now validates whether a DataType is being referenced by other DataTypes before allowing deletion, based on the latest revised date of referencing DataTypes. When references exist, deletion is blocked and users receive a detailed error message that includes the UniqueIdentifier of the DataType being deleted and a list of all referencing DataTypes identified by their UserMeaningfulIdentifier. This validation applies to ReferenceableEntity and Enum types, ensuring data consistency and preventing accidental deletion of referenced data while allowing successful deletion when no references exist. | ||
| AC-22335 | Data Foundation | Modeler snapshots and populations were updated to exclude deleted records from results. The system now prevents access to deleted worker-related records in snapshots, ensuring that when worker employment records, employment history, or compensation elements are deleted, they no longer appear in generated snapshots or populations. This enhancement maintains data integrity by only displaying active records that have effective dates prior to the snapshot effective date. | ||
14366 144359 | AC-22449 | Performance Management | The feedback button display logic was updated for check-ins functionality in both Passport and Planner. When the feedback feature is disabled at the tenant level, the 'Give feedback' button is now properly hidden from behavior widgets in regular and performance check-ins. Additionally, when there is insufficient data to display the behavior wheel, the text now shows 'There aren't enough data to display the behavior wheel.' This ensures a more consistent user experience by only showing relevant feedback options when the feature is enabled. | |
| AC-22452 | Performance Management | The JSON schema generation library was updated to address licensing compatibility requirements. The previously used Newtonsoft.Json.Schema library, which carried AGPL-3.0 licensing restrictions incompatible with commercial software, was replaced with JsonSchema.Net.Generation (MIT licensed). This change maintains the existing functionality of the Goal Genius feature, which uses JSON schema generation to guide AI response structure in OpenAI prompts, while ensuring full compatibility with commercial licensing requirements. | ||
| AC-22456 | Compensation | Bonus plan duplication functionality was enhanced to preserve alerts. When duplicating a bonus plan that contains an alert, the duplicated plan now includes the same alert, allowing users to refresh goals within the draft to get the latest version of the goal plan and goals. | ||
| AC-22460 | Data Foundation | Custom label support for versioning was added to the system. Users can now utilize custom labels when managing version control, providing more flexible and descriptive versioning options beyond standard numeric or date-based schemes. | ||
| AC-22463 | Data Foundation | Event notifications were added to the Localization API to notify systems when language content is modified. The system now publishes LocalizationChangedEvent notifications when the global localization version is updated during API startup, and TenantLocalizationChangedEvent notifications when custom labels are imported for specific tenants with actual changes made. These events are published via MassTransit and can be monitored in Datadog, enabling downstream systems to automatically respond to localization changes and keep language content synchronized across the platform. | ||
| 144824 | AC-22481 | Data Foundation | An error that was occurring when creating population criteria using the organizational tree selector was corrected. The problem specifically occurred when users selected 'Custom criteria', added a block with 'Entity' = 'Employment', 'Field' = 'OrganisationalExternalID', and clicked the organizational tree button, causing the tree to load slowly and eventually freeze the interface. Users can now successfully create populations with organizational criteria without experiencing system freezing or needing to refresh the page. | |
| AC-22484 | Data Foundation | User experience enhancements were implemented for the localization interface. Administrators can now export more than 10 CSV files for different cultures, removing the previous export limitation. The upload file modal was redesigned with improved dimensions (800px width, 460-800px height) and a new 3-step process guide. The template download functionality now supports both single file downloads and multiple file selection through a popover interface with a 'Download all' option. The drag-and-drop upload section was enhanced with better visual hierarchy, featuring a more prominent upload button and improved file handling. The upload process now includes comprehensive status tracking with visual indicators for uploading, successful completion, and error states, along with appropriate user feedback throughout the entire workflow. | ||
| AC-22487 | Data Foundation | Incremental snapshot population validation and instance key format improvements were implemented for the data modeler API. The system now requires population definitions to be present before executing incremental snapshots, preventing execution when population is not defined. Additionally, instance keys in JSON responses are now formatted as strings instead of decimals to properly support unsigned long values in JavaScript, with the diff endpoint returning instance keys like '3279457086084306571' rather than decimal format. These changes enhance data integrity and ensure proper API response formatting for incremental snapshot operations. | ||
| AC-22521 | Data Foundation | Tenant-based versioning for localization cache was implemented to resolve cache invalidation issues when multiple tenants customize translations at different times. Previously, the localization API stored a single global version in Redis cache, which caused problems when custom label imports were tenant-specific but version tracking didn't differentiate between tenants. The system now maintains both standard versions synced from version.json and tenant-specific versions that are incremented during custom label imports. The version endpoint returns the maximum of standard and tenant versions as the global version, ensuring each tenant sees appropriate version updates only when their specific translations change. Additional fallback logic was added to ensure system resilience when Redis is unavailable or cache has been removed, falling back to version.json for global versions and tenant customization flags when tenant-based translations are not found in Redis. | ||
| AC-22550 | Pay Transparency | An error that was occurring when HRBP users tried to select CommRound for Pay Requests was corrected. The problem specifically occurred when users with HRBP roles navigated to Planner → Pay information, clicked Edit for a created Request, and attempted to select any CommRound, resulting in a 403 error. HRBP users can now successfully select CommRounds for Pay Requests without encountering permission errors. | ||
| AC-22556 | Data Foundation | Incremental snapshot functionality was enhanced to accept different subscriptions than the base snapshot. Previously, incremental snapshots were required to use the same subscription as their base snapshot. Users can now provide an optional SubscriptionId parameter when creating incremental snapshots, allowing the incremental snapshot to use a different subscription provided it exists and has valid population definitions. When applying an incremental snapshot that uses a different subscription than the base snapshot, the base snapshot's subscription is automatically updated to match the incremental snapshot's subscription. This enhancement maintains backward compatibility - when no subscription ID is specified, incremental snapshots continue to use the base snapshot's subscription as before. | ||
| AC-22571 | Pay Intelligence | An error that was occurring on the Pay Analysis Information page was corrected. The problem specifically occurred when the page title displayed the snapshot name instead of the correct analysis name. Users will now see the proper analysis name in the page title when navigating to pay analysis results. | ||
| AC-22629 | Pay Transparency | The Repository pattern was migrated to Specification pattern to improve code architecture and maintainability. This migration replaced 6+ custom repository interfaces (IUserRepository, ICommunicationRoundRepository, IWorkerRepository, etc.) with a single generic IRepositoryBase<T> interface, eliminating boilerplate repository classes per entity. The new Specification pattern encapsulates filtering, sorting, and projections in reusable query logic with built-in mapping, simplifies testing by removing the need to mock IQueryable<T> chains, and moves query logic to the Application layer in a Specifications folder for better discoverability and sharing across use cases. | ||
| AC-22630 | Pay Transparency | An error that was occurring when using the 'Save and Exit' and 'Send and Close' buttons in the Pay Information section was corrected. The problem specifically occurred when users uploaded or generated a document, then deleted it before attempting to save or close the request - the validation error state was incorrectly preserved even after document deletion, preventing the buttons from functioning. Users can now successfully save or close pay requests even after removing previously uploaded or generated documents. | ||
| AC-22635 | Performance Management | Unused API endpoints for individual goal search functionality were removed from the system. The endpoints /api/goals/individual/search-own and /api/goals/individual/search-own/extended were cleaned up as they were no longer being used by the system, improving overall system efficiency. | ||
| AC-22641 | Data Foundation | In-memory caching for translations with preloading at startup was implemented to improve API response times by eliminating disk I/O and database queries. The enhancement introduces a two-tier caching strategy: a TranslationPreloadService that loads all standard translation JSON files into memory at application startup using thread-safe data structures, and an InMemoryTranslationCacheService that caches tenant-specific merged translations with configurable size limits and sliding expiration. The system now checks in-memory cache first for merged translations, falls back to preloaded standard translations for non-customized cultures, and only performs disk reads when necessary. Translation data is stored as UTF-8 byte arrays for approximately 50% memory savings, and version-based cache keys enable automatic invalidation when translations are updated. Configuration options allow administrators to set maximum cache size and expiration timeouts through application settings. | ||
| AC-22659 | Performance Management | The GetClosestDeadlineListAsync API endpoint was switched for the goals closest-deadline-list functionality. This backend technical change updates the underlying service handling the closest deadline widget in teams outlook, ensuring improved performance and reliability for users accessing their upcoming goal deadlines. | ||
| AC-22703 | Pay Transparency | A new Warning message component was implemented for mandatory fields in Pay information requests. HRBPs can now see a summary of all validation errors listed at the top of the page when filling out pay information request forms, making it easier to identify all fields that need correction at a glance. Each validation error is a clickable link that redirects users to the corresponding field component in the form. The component displays specific warning messages for different scenarios: when communication round is missing during send and close operations with attached documents, when datasource is missing during document generation and preview, and when document template is missing during document generation and preview. The existing warning popup for send and close operations without communication round has been removed in favor of this new component. | ||
| AC-22719 | Pay Transparency | An error that was occurring when attempting to close multiple pay requests for the same worker with identical static documents and communication rounds was corrected. The problem specifically occurred when users tried to close a second worker's request that used the same static document and attached communication round as a previously closed request, resulting in a database constraint violation. Users can now successfully close multiple pay requests in these scenarios, with the second request document overriding the existing document in the communication round. | ||
| AC-22757 | Data Foundation | An access control error that was occurring for users with Read-Only roles in Custom labelling was corrected. The problem specifically occurred when Read-Only users navigated to the data management localization section, causing 403 errors and inappropriately displaying audit trails and download options. Read-Only users now have properly restricted access with audit trails and download buttons hidden as intended. | ||
| AC-22763 | Data Foundation | The CPM semantic model and associated reports were updated to accommodate a data structure change. The ShareWith column in the goal_usage table was replaced with ShareWithOrgItemsIds and ShareWithUsersIds columns. This update affects multiple reports including Adoption & Top-level Summaries, Career Development, Check-ins, Comp Rounds, Feedbacks, Goals, Pay Communication, Performance Reviews, Performance Reviews and Goals, and System Usage reports. | ||
| AC-22774 | Data Foundation | SonarQube code quality issues in the Currency API were resolved. This technical maintenance work improves code quality and maintainability of the currency functionality. | ||
| AC-22793 | Pay Transparency | An error that was occurring when users attempted to use the 'Save and Exit' or 'Send and Close' buttons in the Pay Information planner was corrected. The problem specifically occurred when users skipped pop-up warnings about filling mandatory fields or when validation messages appeared after generating documents. Users can now successfully save and exit pay requests in all conditions, ensuring consistent functionality throughout the pay information workflow. | ||
| AC-22803 | Pay Transparency | An error that was occurring when filtering pay requests by alerts on the Pay Information page was corrected. The problem specifically occurred when selecting 'None' or combining certain alert types like overdue/approaching with DocumentDeleted/NotReleasedToWorker, which resulted in invalid filtered lists due to alert filtering being split across different parts of the query process. HRBPs can now reliably filter pay requests by alert status and receive accurate results that match their selected criteria. | ||
| AC-22862 | Compensation | An error that was occurring when accessing the Round reminders tab in Compensation Management was corrected. The problem specifically occurred when users navigated to Workbench → Compensation Management → Compensation Rounds, clicked on a round not in draft status, and accessed the Round reminders tab, resulting in a 500 error. Users can now successfully view their list of reminders or see an appropriate empty state display when no reminders have been created. | ||
| AC-22891 | Performance Management | An error that was occurring when performance reviews were submitted in the workbench was corrected. The problem specifically occurred when managers specified data and submitted reviews with total score calculation enabled - the Achievement summary widget would display with incomplete data showing a Total score of 0 instead of the calculated value. Performance review total scores are now properly saved and displayed in the Achievement summary widget. | ||
| AC-22894 | Performance Management | A performance issue in the Goals module that was causing failures during high user load testing was resolved. The problem specifically occurred when user workload levels reached 10 or more users, causing 500 errors from the getAvailGoalList API endpoint. The Goals module can now handle performance testing at the required 2,000 user capacity level. | ||
| AC-22915 | Data Foundation | An error in Analytics Hub that was causing the Adoption & Top-Level Summaries and Check-ins reports to fail during refresh was corrected. The problem specifically occurred when the reports attempted to access a 'Check-in Comments' field that had been replaced in the semantic data model. The reports now properly reference the updated 'Check-ins with messages' field, allowing users to successfully refresh and load data in these reports across all workspaces. | ||