v16.51.0

frappe/hrmsv16.51.0Oct 15, 2026by frappe-pr-bot

Upgrading?

AI Summary

This release introduces new reporting capabilities and UI enhancements, alongside critical bug fixes for payroll calculations and attendance logic.

Key Highlights

  • Added Employment Type filter to Monthly Attendance Sheet and Shift Attendance reports.
  • Added Holiday List Assignment connections to view assigned employees and companies.
  • Updated HRMS dock icons to a softer, theme-adaptive style.
  • Fixed salary component evaluations for Salary Slip and Salary Structure Assignment.
  • Improved performance of the Appraisal Overview report.

New Features

  • Employment Type filter for Monthly Attendance Sheet and Shift Attendance reports
  • Holiday List Assignment connections
  • HRMS dock icon theme updates

Full Release Notes

## Features
* Adds an _Employment Type_ filter to the "Monthly Attendance Sheet" and "Shift Attendance" reports so users can narrow attendance records by employee type; in "Shift Attendance", the filter appears only for users with access. (https://github.com/frappe/hrms/pull/5420)
* Adds **Holiday List Assignment** to **Holiday List** connections, so users can see which employees and companies are assigned to each list. (https://github.com/frappe/hrms/pull/5425)
* Changes the HRMS dock’s module icons to a softer, single-color style that adapts to light and dark themes and to hover and active states. (https://github.com/frappe/hrms/pull/5406)

## Bug Fixes
* Keeps salary components whose conditions depend on **Salary Slip** values, such as _Leave Without Pay_, so they can be evaluated on the slip and appear when applicable. Components with conditions that do not apply are no longer added to accrued benefits. (https://github.com/frappe/hrms/pull/5401)
* Prevents submitting a half-day **Attendance Request** for a date when leave already covers the full day. (https://github.com/frappe/hrms/pull/5396)
* Counts holidays marked _Is Half Day_ as half a day when calculating _Total Working Days_ in **Salary Slip**, affecting the daily pay rate and pro-rated pay. (https://github.com/frappe/hrms/pull/5315)
* Updates the **Employee Advance** "Return" action to suggest the amount left after claimed and previously returned amounts are deducted. (https://github.com/frappe/hrms/pull/5417)
* The "Employee Leave Balance" report now skips balance calculations for employee and leave-type combinations with no leave records, reducing report run time. It also hides rows with all-zero balances and empty leave-type headings in the consolidated view. (https://github.com/frappe/hrms/pull/5418)
* Adds translation support for user-facing messages in **Shift Type**, **HR Settings**, and **Leave Allocation**, and corrects “occurred” in an attendance error message. (https://github.com/frappe/hrms/pull/5416)
* Updates **Leave Application** statuses in the PWA to show approved or rejected drafts as “Approved & Draft” or “Rejected & Draft,” clarifying that the decision is not final until submission. (https://github.com/frappe/hrms/pull/5421)
* Updates component evaluations in **Salary Structure Assignment** to use the calendar month or half-month containing _From Date_ for monthly and bimonthly schedules, without looking up a fiscal year. This allows **Salary Slip** records to be created for assignments that began before the oldest available fiscal year. (https://github.com/frappe/hrms/pull/5419)
* Suppresses duplicate-name messages when telemetry tries to record a milestone that already exists, so users don’t see a misleading alert while saving related records. (https://github.com/frappe/hrms/pull/5429)
* Updates **Leave Allocation** checks for maximum allowed leave to use the allocation’s own _From Date_ and _To Date_ when it spans multiple leave periods, so allocations from another period aren’t incorrectly counted against the limit. (https://github.com/frappe/hrms/pull/5435)
* New HR trial sites without an existing default app open on HR Setup, while sites with an existing default keep their current landing page. (https://github.com/frappe/hrms/pull/5441)

## Performance Improvements
* The "Appraisal Overview" report now retrieves submitted feedback counts for all listed appraisals together instead of checking each one separately, reducing the number of data lookups. (https://github.com/frappe/hrms/pull/5426)

**Authors**: @sokumon, @iamkhanraheel, @deepeshgarg007, @diptanilsaha, @nareshkannasln, @akhtarmohsin, @asmitahase
**Reviewers**: @sokumon, @asmitahase, @iamkhanraheel, @deepeshgarg007

<details>
<summary>AI content</summary>

 For these release notes, we used an LLM (OpenAI gpt-6-luna) to review and summarise the code changes, along with the associated issue and PR descriptions. It may contain typical errors and inaccuracies. You can read the prompt [here](https://github.com/barredterra/pretty_release_notes). 

Changes with the following labels were excluded:
- skip-release-notes

Changes with the following types were excluded:
- chore
 - test
 - docs
 - style
 - build
 - refactor
 - ci

</details>

Related Repositories