Skip to content

Releases: frappe/hrms

v15.63.3

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 20 Aug 14:06

Bug Fixes

  • The "Monthly Attendance Sheet" report now distinguishes full dates when checking attendance, so holidays are counted correctly when date ranges span multiple months. (#5059)
  • Updates the summarized "Monthly Attendance Sheet" to classify the other half of a half-day as present or absent based on Status for Other Half, and count it as leave only when linked to a Leave Application; otherwise, it counts as present. (#5096)

Authors: @iamkhanraheel, @ruthra-kumar
Reviewers: @deepeshgarg007, @iamkhanraheel

AI content

For these release notes, we used an LLM (OpenAI gpt-5.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.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • style
  • test
  • refactor
  • docs
  • ci
  • chore
  • build

v16.16.0

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 07 Aug 14:23

Features

  • Shows the job opening’s Job Title instead of its ID on the job application web form.
    Adds a Prevent Duplicate Applicant option to Job Opening that blocks repeat applications from the same email address for the same position. (#5030)
  • Adds Company, Department, and Branch filters to the "Unpaid Expense Claim" report, with the Department and Employee filters limited to the selected Company.
    Adds Posting Date, Company, Department, and Branch columns, plus grouping by Employee, Department, or Branch with subtotals and a grand total. (#5054)

Bug Fixes

  • Updates how HRMS retrieves data and removes unused code. (#4990)
  • Fixes the Mark Attendance dialog so its Start and End dates use a valid date format and can load unmarked attendance days without an invalid date error. (#5052)
  • Fixes statistical Salary Component formulas that use ctc so they read the employee’s actual CTC instead of a blank value from the Salary Slip, allowing dependent component amounts to use the correct value. (#5055)
  • The "Monthly Attendance Sheet" report now distinguishes full dates when checking attendance, so holidays are counted correctly when date ranges span multiple months. (#5060)
  • Requires users to select a Leave Approver before saving a Leave Application when Leave Approver Mandatory In Leave Application is enabled, and keeps Leave Approver Name synchronized with that selection. Fills missing Leave Approver Name values in existing Leave Application records. (#5066)
  • Shows only submitted Payroll Entry records when selecting payroll entries for a Journal Entry, excluding draft and cancelled records. (#5045)

Authors: @akhtarmohsin, @pratheep-bit, @nareshkannasln, @asmitahase, @deepeshgarg007, @iamkhanraheel
Reviewers: @deepeshgarg007, @asmitahase, @iamkhanraheel

AI content

For these release notes, we used an LLM (OpenAI gpt-5.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.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • ci
  • build
  • refactor
  • chore
  • docs
  • test
  • style

v16.15.0

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 29 Jul 13:04

Features

  • Adds a Contract section to the Employee form so users can see and create contracts linked to that employee. (#4986)

Bug Fixes

  • Fixes Salary Slip naming for Data Import so imported slips use the correct Employee in their name. (#4983)
  • The Interview form now displays a failure message instead of an error when updating the status of a Job Applicant record that is missing or invalid. (#5003)
  • In the "Employee Leave Balance" report, the Employee filter now shows only employees belonging to the selected Company. Changing Company clears the Employee filter. (#5007)
  • Formats the dates in Earned Leave Schedule on Leave Allocation using the date format set in System Settings. The red and green status markers still appear next to each date. (#5008)

Authors: @DanielRadlAMR, @akhtarmohsin, @pratheep-bit
Reviewers: @iamkhanraheel, @deepeshgarg007, @asmitahase

AI content

For these release notes, we used an LLM (OpenAI gpt-5.4-mini) 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.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • build
  • ci
  • docs
  • style
  • chore
  • refactor
  • test

v15.63.2

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 29 Jul 12:50

Bug Fixes

  • In the "Employee Leave Balance" report, the Employee filter now shows only employees belonging to the selected Company. Changing Company clears the Employee filter. (#5006)

Authors: @akhtarmohsin
Reviewers: @iamkhanraheel, @asmitahase

AI content

For these release notes, we used an LLM (OpenAI gpt-5.4-mini) 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.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • docs
  • refactor
  • build
  • test
  • chore
  • ci
  • style

v16.14.0

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 21 Jul 11:13

Features

  • Adds Holiday List Assignment to the Leave section of the Employee Connections tab, so HR users can check the assigned holiday list without leaving the employee record. (#4938)
  • Adds anonymous tracking for HR features and early setup steps on new sites if enabled in System Settings. It also records daily attendance summaries and HR page visits, without employee details. (#4941)
  • Replaces the "Create Interview" button on Job Applicant with "Schedule Interview", which opens a dialog for Interview Type, Scheduled On, From Time, To Time, and Interviewers. The interview is created directly from the dialog, and interviewers are filled from the selected interview type when available. (#4947)
  • The Approver field in the Department form’s Leave Approvers, Expense Approvers, and Shift Request Approver tables now lists only System Users. (#4972)

Bug Fixes

  • When push notifications are not configured, the app now skips push notification setup and avoids the related error message. (#4922)
  • Updates leave date checks in Leave Allocation, Leave Application, Leave Ledger Entry, and Leave Period to treat From Date and To Date as field names. This avoids MariaDB 12.3 errors when leave dates are checked. (#4920)
  • Cancelled Shift Assignment records are marked as Inactive. The Roster view creates a new Shift Assignment for the next date range instead of changing the cancelled one. (#4925)
  • Half-yearly earned leave schedules in Leave Policy Assignment now use the employee's Joining Date instead of the calendar year. This adjusts the leave dates and amounts for assignments that use Joining Date and avoids extra leave entries. (#4927)
  • Overtime Slips created from Payroll Entry now use an employee’s Relieving Date when it is earlier than the payroll entry’s End Date. This lets overtime for employees who leave partway through the month be submitted with payroll. (#4933)
  • The image build now passes the list of apps as a secret file, so the published images include the apps selected for that build. (#4936)
  • Makes Payable Account required in Expense Claim when the claim is not marked as paid, so the form asks for it before the claim is submitted. (#4940)
  • The check-in button stays unavailable while the last check-in loads, so it does not default to IN before the current status is shown. (#4954)
  • Payroll formulas no longer accept lambda expressions. (#4957)
  • Disabled users no longer appear in the approver list for Leave Application, Expense Claim, and Shift Request, whether they are assigned directly or through a department. (#4962)
  • The Employee timeline now excludes cancelled Attendance records, so they no longer affect the timeline count. (#4973)
  • The "Vehicle Expenses" report now uses only submitted Vehicle Log records when totaling service expenses. Cancelled logs no longer add to the reported amount. (#4976)
  • Skips cancelled Leave Allocation records during the expiration process, leaving them unchanged instead of marking them as expired again. (#4975)

Performance Improvements

  • The "Employee Hours Utilization Based on Timesheet" report now looks up each employee’s name and department in a single step instead of two separate lookups. This can make it quicker to generate for reports with many employees. (#4911)

Authors: @nareshkannasln, @pratheep-bit, @tank-bohr, @Dr-Blank, @deepeshgarg007, @iamkhanraheel, @ankush, @DanielRadlAMR, @akhtarmohsin
Reviewers: @asmitahase, @deepeshgarg007, @iamkhanraheel

AI content

For these release notes, we used an LLM (OpenAI gpt-5.4-mini) 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.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • build
  • chore
  • refactor
  • docs
  • test
  • style
  • ci

v15.63.1

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 21 Jul 11:06

Bug Fixes

  • Updates Salary Slip so formula-based salary components keep their default amount based on the full working period, even when leave without pay or absences lower payable days. (#4888)
  • When push notifications are not configured, the app now skips push notification setup and avoids the related error message. (#4921)
  • The image build now passes the list of apps as a secret file, so the published images include the apps selected for that build. (#4935)
  • Cancelled Shift Assignment records are marked as Inactive. The Roster view creates a new Shift Assignment for the next date range instead of changing the cancelled one. (#4924)
  • Makes Payable Account required in Expense Claim when the claim is not marked as paid, so the form asks for it before the claim is submitted. (#4939)
  • The check-in button stays unavailable while the last check-in loads, so it does not default to IN before the current status is shown. (#4953)
  • Payroll formulas no longer accept lambda expressions. (#4956)
  • The Total Expense Claim (via Expense Claims) field in Project now includes amounts from expense line items assigned to the project, whether the project is set on the main Expense Claim or on a line item. (#4876)

Performance Improvements

  • The "Employee Hours Utilization Based on Timesheet" report now looks up each employee’s name and department in a single step instead of two separate lookups. This can make it quicker to generate for reports with many employees. (#4910)

Authors: @nareshkannasln, @pratheep-bit, @tank-bohr, @iamkhanraheel, @ervishnucs, @ankush, @DanielRadlAMR
Reviewers: @asmitahase, @deepeshgarg007

AI content

For these release notes, we used an LLM (OpenAI gpt-5.4-mini) 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.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • build
  • chore
  • refactor
  • docs
  • test
  • style
  • ci

v16.13.0

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 15 Jul 04:35

Features

  • Adds "Single Assignment" and "Bulk Assignment" buttons to the Leave Policy form once it is submitted. "Single Assignment" opens a new Leave Policy Assignment, and "Bulk Assignment" opens Leave Control Panel with the Leave Policy field already filled in. (#4897)

Bug Fixes

  • In the PWA, dropdown fields now keep a value selected from search results even when it is not in the initial list. The list also reloads when the value is cleared or changed from elsewhere. (#4874)
  • Shows the employee ID on the profile page when Employee Number is not set. Displays the manager’s name in Reports To instead of leaving the field blank. (#4875)
  • The Total Expense Claim (via Expense Claims) field in Project now includes amounts from expense line items assigned to the project, whether the project is set on the main Expense Claim or on a line item. (#4877)
  • Shows a confirmation warning when you close a Job Opening linked to a Staffing Plan. You can still close it even when the plan is already full, and reopening a closed Job Opening still follows the same checks as before. (#4868)
  • Removes an unused request for currency precision from System Settings when the app loads. This helps avoid a permission error for employees who do not have access to that setting. (#4900)
  • Skips loading dashboard details and feedback on new Job Applicant and Interview forms until they are saved, so blank forms no longer show an error popup. Saved forms continue to show these details as before. (#4902)
  • Adds the configured connection port to the app startup data so the PWA uses the site’s port instead of always falling back to 9000. (#4901)
  • Adds default values for missing Salary Slip fields and Unmarked Days in Salary Structure Assignment, so payroll calculations can still use those values when they are blank. (#4906)

Authors: @ervishnucs, @krishna-254, @gajjug004, @nareshkannasln, @DanielRadlAMR, @iamkhanraheel, @asmitahase
Reviewers: @deepeshgarg007, @iamkhanraheel, @asmitahase

AI content

For these release notes, we used an LLM (OpenAI gpt-5.4-mini) 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.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • chore
  • build
  • test
  • refactor
  • style
  • ci
  • docs

v15.63.0

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 15 Jul 04:34

Features

  • Adds "Single Assignment" and "Bulk Assignment" buttons to the Leave Policy form once it is submitted. "Single Assignment" opens a new Leave Policy Assignment, and "Bulk Assignment" opens Leave Control Panel with the Leave Policy field already filled in. (#4896)

Bug Fixes

  • In the PWA, dropdown fields now keep a value selected from search results even when it is not in the initial list. The list also reloads when the value is cleared or changed from elsewhere. (#4873)
  • Blocks a half-day Leave Application when a full-day leave already exists for the same date. (#4843)
  • Shows a confirmation warning when you close a Job Opening linked to a Staffing Plan. You can still close it even when the plan is already full, and reopening a closed Job Opening still follows the same checks as before. (#4867)
  • Shows the employee ID on the profile page when Employee Number is not set. Displays the manager’s name in Reports To instead of leaving the field blank. (#4870)

Authors: @wreckage0907, @krishna-254, @nareshkannasln, @iamkhanraheel
Reviewers: @deepeshgarg007, @iamkhanraheel

AI content

For these release notes, we used an LLM (OpenAI gpt-5.4-mini) 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.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • chore
  • build
  • test
  • refactor
  • style
  • ci
  • docs

v16.12.2

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 13 Jul 19:20

Bug Fixes

  • Adds default zero values for several salary fields in Salary Structure Assignment, so salary component formulas can be evaluated when some values are missing. (#4907)

Authors: @asmitahase
Reviewers: @asmitahase

AI content

For these release notes, we used an LLM (OpenAI gpt-5.4-mini) 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.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • chore
  • test
  • ci
  • style
  • refactor
  • docs
  • build

v16.12.1

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 09 Jul 05:50

Bug Fixes

  • The "Employee Leave Balance" report renames New Leave(s) Allocated to Leave(s) Allocated and includes carried-forward leave days in the leave balance calculation. It also uses those days in Opening Balance when the report period starts after a previous allocation ends. (#4860)

Authors: @krishna-254
Reviewers: @deepeshgarg007

AI content

For these release notes, we used an LLM (OpenAI gpt-5.4-mini) 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.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • docs
  • chore
  • ci
  • build
  • refactor
  • test
  • style