PayAnalytics April 2026 - Detailed release notes
Release v2026-04-22_01
| Type | Jira | Description |
|---|---|---|
| PA-7973 | An issue was corrected where analyzes would crash of an employee ID contained a value exceeding the 32-bit integer range. The issue was corrected and the system now handles large numeric employee IDs gracefully. |
Release v2026-04-21_01
| Type | Jira | Description |
|---|---|---|
| PA-7490 | ||
| PA-7655 | The reference group selection drop-down was removed from the "Close pay gaps on a per-group basis" section of the Run Analysis configuration form. The system now always uses automatic reference group selection when closing pay gaps by groups. Previously saved analysis configurations that included a manually selected reference group will load with the reference group reset to automatic selection. | |
| PA-7667 | New columns were added to the Pay Gaps by Groups table to differentiate between system-selected and user-configured reference groups. When the Reference Group is set to Automatic, the table displays the standard Reference Group columns showing the automatically selected reference for each group. When the Reference Group is set to a fixed demographic (e.g. Male), the table hides the redundant Reference Group column and reveals System Reference Group columns (system reference group label, headcount, and average compensation) in the column picker, allowing users to compare the system-selected reference with the fixed reference used for pay gap calculations. Both unadjusted and estimated adjusted pay gap values now correctly reflect the selected reference group configuration. | |
| PA-7794 | A Customize button was added to the Employee Pay Transparency Report, allowing HR professionals to control which compensation components are visible and the order in which they appear. Users can now filter out irrelevant compensation elements (such as executive compensation or country-specific bonuses) and reorder the remaining components using drag-and-drop. The customization is applied to the compensation breakdown table, chart visualization, Excel exports, and PDF prints. Preferences are saved per user and per dataset. At least one compensation component must remain selected, and when filtering is active, a counter on the Customize button displays how many components are currently shown. | |
| PA-7802 | Labels and headings across the Pay Transparency reporting area were updated to use consistent 'category' terminology. The Dataset configuration, EU Pay Transparency Directive wizard, and Analysis configuration now uniformly refer to 'worker category' instead of mixed 'group' and 'worker' terms. Report headings including 'Pay Gaps by Category' and 'Employee Category' were also aligned. This change improves clarity and consistency when HR teams configure worker category fields, run pay gap analyses by category, and generate Pay Transparency reports. | |
| PA-7806 | The print-to-PDF experience for Pay Transparency Reports was improved across the Pay Explainability tab and the Employee Pay Transparency Report tab. In the Pay Explainability tab, interactive controls such as the compensation component dropdown and print button are now hidden in printed output and replaced with static text showing the selected component, while comparison tiles render in a readable 2-column grid and sections flow naturally across page boundaries. In the Employee Pay Transparency Report tab, the group comparison chart now renders at full page width with appropriately sized bars and Y-axis grid lines for improved readability, and the category compensation table stacks cleanly below the chart. System-wide print improvements were also applied: section frame borders are now removed in printed output, consistent spacing appears between adjacent sections, and the chatbot panel is hidden to prevent unwanted border lines on the right edge of pages. | |
| PA-7819 | A new "Agentic AI" permission setting was added to the User Role configuration in System Feature availability. HR admins can now enable or disable access to the AskBee chatbot at the role level or for individual users, providing finer-grained control beyond the existing tenant-level feature flag. When the tenant-level AI feature flag is disabled, the Agentic AI option appears greyed out in the role settings. | |
| PA-7840 | An issue was corrected in the UK gender pay gap report where changing the Salary field dropdown in the report configuration did not affect the generated report. The report continued to use the default compensation field defined in the dataset configuration, regardless of the dropdown selection. The Salary field selection now correctly applies to the mean and median pay gap figures in the generated report. | |
| PA-7844 | The Reference Group Settings page was updated to improve clarity and avoid confusion with model-level reference group configuration. The page header now reads "System reference group selection configuration" and all explanatory text consistently refers to the "system reference group" throughout. Additional explanatory text was added to clarify that eligibility for the system reference group is assessed either across the full dataset, per subgroup, or within a group when using 'close by category of worker' for remediation. A note was added explaining that if no group meets the minimum eligibility criteria, the largest demographic group is automatically used as the system reference group benchmark. | |
| PA-7855 | The default column set in the Pay Gaps by Groups table was updated based on customer feedback, particularly to support EU Pay Transparency Directive workflows. The table now displays unadjusted pay gap (before and after raises), target pay gap, target reached status, and reasons target not reached by default, in addition to group value, headcount, and adjusted pay gap columns. The reference group, demographic group, and statistical significance (p-value) columns are no longer shown by default but remain accessible via the column visibility toggle. The default column set is now consistent regardless of whether automatic or manual reference group mode is selected. | |
| PA-7856 | Information tooltips were added to the Reference Group and Demographic Group column headers in the Pay Gaps by Groups table (both adjusted and unadjusted views). HR analysts and Compensation managers can now hover over the info icon next to the Reference Group header to see "The Reference Group is the benchmark used to measure pay gaps. You can adjust the eligibility rules in your system settings", and hover over the Demographic Group header to see "The specific group under review for pay comparison. Eligible for raise suggestions." When an analysis uses a system reference group, the System Reference Group column header also displays an info icon with an appropriate tooltip. | |
| PA-7887 | An issue was corrected where the Pay Explainability sheet in the employee pay transparency report displayed statistics for the entire subgroup (e.g., whole country) instead of respecting the selected Category of Worker filter (e.g., Job Level 6). The first sheet (Employee Pay Transparency Report) correctly applied the filter, but the Pay Explainability sheet did not. The Pay Explainability sheet now correctly inherits the Category of Worker filter and displays peer group counts and baseline averages for the employee's specific category, matching the filtering behavior of the first sheet. | |
| PA-7893 | An issue was corrected where the filter dropdown in the "Reasons target not reached" column (and other table column filters throughout the platform) displayed a blank checkbox label for records with empty or null values. The filter now displays an italic "No value" label for these records, making it clear which option filters for missing data. | |
| PA-7896 | An issue was corrected where the Analysis page and Overview page crashed with TypeErrors when loading large employee datasets. The error occurred due to a race condition in UI configuration initialization introduced in a previous release, where partial configuration entries were written before default values were initialized. This caused the employee table rendering and similarity score calculation to fail on datasets exceeding the chart plotting threshold. The UI configuration logic was updated to ensure all required fields are initialized even when configuration updates occur during initial page load, and defensive bounds checking was added to similarity score calculations. | |
| PA-7905 | The customers table in AdminWeb (the internal admin tool) now persists its configuration across page refreshes and browser sessions. Column visibility choices are saved to localStorage and restored when returning to the page, while active filters and sorting are stored in URL query parameters, allowing configurations to be bookmarked and shared. Previously, all table state was lost on every page reload. | |
| PA-7909 | An issue was corrected where the Summary and Assumptions section in the Pay Explainability tab appeared empty when the page was refreshed or accessed directly via URL in development mode. The issue was caused by a race condition in which the compensation component selector attempted to initialize before employee data had loaded from the cache. The initialization logic was moved to ensure data availability before rendering. In production builds, the section displayed correctly but logged a console error, which has also been resolved. | |
| PA-7910 | An issue was corrected where the nightly tenant statistics synchronization job for the admin dashboard failed silently at approximately 62% completion due to running out of memory. The root cause was identified as inefficient loading of permission label data into memory that was never used, while still making individual database queries per label entry. The synchronization job now completes successfully for all tenants, ensuring the admin dashboard displays up-to-date tenant statistics. | |
| PA-7916 | An issue was corrected where restricted users (those without 'Grant access to all datasets' permission) received an 'Operation failed. Unknown error' message when attempting to save a dataset configuration without first applying labels. The dataset configuration page now displays a clear error message instructing users to apply labels to retain access after saving. Additionally, when uploading a new dataset, restricted users now see a streamlined label entry picker and the Save button remains disabled until at least one label is selected, preventing the error from occurring. Toast notifications across the platform now also appear above the page header instead of rendering behind it. | |
| PA-7917 | An issue was corrected where the SSO metadata download endpoint (/api/v1/sso/metadata) returned an HTTP 500 error on environments with SAML request signing enabled, preventing IdP administrators from downloading the Service Provider metadata XML needed to configure their Identity Provider (e.g. Azure AD, Okta). The endpoint now correctly returns the metadata XML regardless of SAML signing configuration. | |
| PA-7918 | The analysis-results-simple API endpoint (used by integration partners to retrieve analysis results with employee identifiers) now returns raise impact coefficients alongside each employee record. Previously, integrators had to choose between an endpoint that provided employee identifiers or one that provided raise impact data, but could not access both in a single response. The endpoint now includes raise_impacts (a per-employee coefficient array) on each record and regression_raise_impacts_names (coefficient labels) in the analysis metadata, enabling downstream systems to recalculate adjusted pay gaps after applying raise suggestions without requiring multiple API calls or complex data joins. | |
| PA-7927 | An issue was corrected where two tooltip messages displayed during reference group selection in the pay gaps analysis were unclear. The first tooltip, shown when a higher-paid demographic group was too small to serve as a reference group, was missing explanatory text. The second tooltip, explaining why a pay gap target could not be reached due to configuration limits, contained confusing language. Both tooltips have been revised for clarity. | |
| PA-7928 | An issue was corrected where selecting a fixed reference group (e.g., Male) in the model settings did not apply to pay gap calculations in the Pay Gaps by Groups table and unadjusted pay gap tiles. The system continued to use the automatically selected reference group regardless of the configuration. Pay gap values in these components now correctly reflect the fixed reference group selection, ensuring compliance with EU Pay Transparency Directive requirements. | |
| PA-7935 | A new "Bulk Exports" navigation entry was added to the Pay Transparency sidebar, linking to a placeholder page that displays a title and description. This entry is visible only to users with the pay transparency feature flag enabled and the dev=true query parameter present. Users without the feature flag enabled will not see the sidebar section, and direct URL navigation to the bulk exports page will redirect to the home page. | |
| PA-7936 | CI build log artifact no longer uploaded after pipeline runs | |
| PA-7946 | An issue was corrected where the Focus Groups widget on the Pay Gaps by Category page displayed a different reference group than the main Pay Gaps table when a fixed global reference group had been selected. The widget now consistently reflects the selected reference group across all displayed labels and headcounts. | |
| PA-7951 | Database query optimisation was performed across multiple list endpoints to eliminate redundant queries that scaled proportionally with record count. The Job Evaluations endpoint (visible on the Dataset Configuration page), Exchange Rates endpoint, and Color Palettes endpoint previously issued one or more extra database queries per record returned—a classic N+1 query problem—resulting in response times ranging from 0.5 to 4 seconds in environments with accumulated data. These endpoints now load efficiently regardless of tenant data volume, with response times well under 1 second. | |
| PA-7952 | An issue was corrected where the fields-metadata API endpoint (used to retrieve field definitions and metadata during data upload configuration) intermittently returned 500 errors when multiple concurrent requests were processed. The error occurred due to a race condition in which concurrent threads shared a single database connection, causing query state corruption. The endpoint now uses thread-local database connections, ensuring stable behaviour under concurrent load. | |
| PA-7953 | The System Parameters page was updated to use consistent terminology in the raise configuration section. The descriptive text now reads "category of worker" instead of "per group basis," aligning with terminology used throughout the rest of the application. | |
| PA-7970 | An issue was corrected where the "Demographic group" column header in the Pay Gaps by Groups table lacked an information icon when a fixed reference group was configured and all table columns were displayed. The column header now displays an info icon with an explanatory tooltip, matching the visual style of neighboring column headers. |