PayAnalytics - June 2026 detailed release notes
Release v2026-06-30_01
| Type | Jira | Description |
|---|---|---|
| PA-8104 | An issue was corrected in the employee Pay Transparency report where changing the Worker Category field after running an analysis caused the comparison group label to update but the actual peer group remained based on the previous field configuration. The report now correctly updates both the label and the employee comparison group to reflect the current Worker Category selection, ensuring consistency in both the on-screen view and Excel export. | |
| PA-8166 | The terminology used in the Analysis configuration wizard and Cost Scenarios screen was updated to improve clarity. The remediation model fairness slider and related text now use "Focus Group fairness" instead of "Group fairness" to eliminate confusion with worker category groups and make clearer the connection to focus groups highlighted in the Pay Gap tab. The slider heading now reads "Individual Fairness/Focus Group fairness balance", and all related descriptions, messages, and labels throughout the feature use the updated terminology consistently. |
Release v2026-06-22_01
| Type | Jira | Description |
|---|---|---|
| PA-7740 | An issue was corrected where attempting to upload pay band files with over 10,000 rows, the process was hanging and would stop only when the system timeout was reached. After reconnecting, no pay bands were uploaded. This issue was corrected; the modification or upload of large pay band files no longer leads to a freeze. |
Release v2026-06-09_01
| Type | Jira | Description |
|---|---|---|
| PA-7809 | A currency dropdown was added to the Compensation Assistant result page. Users running the Compensation Assistant with datasets containing multiple currencies can now select their preferred currency directly from the result page, allowing suggested compensation and ranges to be reviewed in any currency present in the uploaded dataset. The currency selector operates consistently with the currency switching functionality available in other parts of the platform, such as the employee overview table. | |
| PA-8072 | An issue was corrected where the predicted compensation displayed in the Compensation Assistant did not match the value shown for the same employee in the Analysis Overview. This occurred because numerical input fields in the Compensation Assistant Run form were prepopulated with rounded display values rather than exact values when launched from an employee row action. The form now carries the employee's exact values, ensuring that running the assistant without editing inputs produces a predicted compensation that matches the Analysis Overview. | |
| PA-8090 | An issue was corrected where the analysis salary field (e.g. 'Total Target compensation') remained pinned to the top of the compensation components list on the Pay Explainability screen, even after the initial fix to respect Excel column order. Residual hard-coded logic was overriding the uploaded dataset order for this specific field. The compensation components list now correctly follows the column order from the uploaded Excel dataset for all fields, including the configured analysis field. | |
| PA-8103 | An issue was corrected where cloning a dataset with a numeric record filter that contained a null or missing value resulted in a server error ('column none does not exist'). This occurred because null values in numeric filter parameters (such as 'greater than', 'less than', or 'between' comparisons) were incorrectly passed to the database query without validation. The clone action now validates numeric filter parameters before processing and returns a clear validation error if a value is missing or invalid, preventing the server error and ensuring no incomplete clone is created. | |
| PA-8118 | An issue in which pay-analysis job logs displayed duplicate and false "job will time out" warnings was corrected. The warnings appeared multiple times for a single job run and sometimes fired when the job was not actually close to its timeout deadline, with the problem worsening as more jobs ran in the same environment. The issue was caused by a debug timer thread leaking across Lambda container reuse, accumulating warning threads from prior invocations. The job logging behavior now ensures at most one timeout warning per job run, only when genuinely near the deadline. | |
| PA-8132 | Three issues in the internal pa-analysis benchmark tool were corrected. An issue where the backward-elimination cutoff value specified in a benchmark scenario was ignored at run time (with the tool falling back to the on/off toggle instead) was corrected; the configured cutoff value is now honored. An issue in the scenario-pairing logic for cross-run comparison was corrected where the per-group pay-gap grouping field was excluded from configuration matching, causing scenarios with different settings to be compared as if identical; scenario pairing now accounts for all configuration fields that affect results. An issue where comparison report tables rendered mismatched column headers and the environment summary table displayed empty difference columns was corrected; tables now render headers that match their data columns. | |
| PA-8155 | An issue was corrected where running a pay analysis on a dataset without a configured first demographic variable (e.g. Gender) could leave the dataset in a contradictory state — simultaneously locked from further configuration and flagged as incomplete. The system now refuses to start a pay analysis on a dataset whose configuration is incomplete, and returns a clear error message prompting users to complete the required configuration first. |
Release v2026-06-01_01
| Type | Jira | Description |
|---|---|---|
| PA-7221 | The calculation method for Estimated Adjusted Pay Gap values was standardized across the platform. All pay gap analyses now use the log_residual calculation method, including historical analyses that were originally generated using the pct_residual method. The pct_residual option has been removed and is no longer selectable. This change ensures consistent methodology across all analyses and simplifies the calculation approach used throughout the platform. | |
| PA-7701 | An issue was corrected where clicking "Reset all filters and pins" on the Employee Overview page did not clear the displayed values in filter input fields, even though the table results were reset. The filter UI now properly clears all text inputs, checkboxes, and numeric fields when the reset button is clicked, providing a complete visual reset across all filterable tables including Employee Overview, Pay Adjustments, Evaluation, Position Comparison, and Reports screens. | |
| PA-7885 | The dataset clone API endpoint (the programmatic interface used to create child datasets from a source dataset) was extended to support partition mode. When a partition field is specified, the endpoint now creates one child dataset per distinct value of that field, applying row filtering, label inheritance, and demographic variable recalculation to each partition. This allows automated pipelines to split a single source dataset into multiple analysis-ready subsets in a single API call. The response structure was unified so that both single-clone and partition operations return the same format, ensuring consistent integration behavior. | |
| PA-8064 | The Employee Pay Transparency Report tab on the EUPTD page was updated to display peer averages that reflect each employee's actual sub-group peer scope when the underlying analysis uses a parent sub-grouped configuration. Previously, the tab displayed dataset-wide averages computed across the entire parent group, which did not accurately represent the employee's true peer comparison. The tab now includes a clear notice when averages are scoped to a sub-group narrower than the on-screen group-by dimension, displays all amounts in the employee's own dataset currency (with no conversion to the viewer's display currency), shows explicit error messages when a report cannot be loaded, and handles masked or missing peer cells with clear placeholders. The Excel export of the Employee Pay Transparency Report was updated to remain fully consistent with the on-page view, including headers, masking, sub-group indication, and currency display. | |
| PA-8078 | An issue was corrected where an internal background job that warms the parquet cache would crash with a ValueError when a DataUpload was deleted shortly after a row edit, before the queued cache-warming job had executed. This race condition was reachable in production whenever a DataUpload was deleted immediately after data changes, though it surfaced first in automated end-to-end test environments due to aggressive test teardown. The background worker now detects the missing DataUpload row, logs the event, and exits cleanly without attempting to upload to the cache. The crash was never visible to end users, as it occurred in a fire-and-forget background process; the fix eliminates spurious error reports and ensures the correct outcome—no cache entry for a DataUpload that no longer exists. |