ERPNext

Productivity

An open-source ERP covering accounting, inventory, manufacturing and HR.

Latest v16.31.1 · by FrappeWebsitefrappe/erpnext

Release activity

Release activity — 10 releases across 7 days since Jul 15, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Jul 15, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026
MondayNo releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026
TuesdayNo releases on Jul 21, 20262 releases on Jul 28, 20262 releases on Aug 4, 2026
Wednesday1 release on Jul 15, 20262 releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Jul 16, 20261 release on Jul 23, 20261 release on Jul 30, 20261 release on Aug 6, 2026
FridayNo releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026

10 releases since Jul 15, 2026, busiest day 2

Changelog

v16.31.1

Fixed 1
  • Fix the Create Purchase Orders by Supplier dialog in Material Request so submitting it can create purchase orders without failing on a check for existing drafts
Bug Fixes

Authors: @mihir-kandoi Reviewers: @mihir-kandoi

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:

  • refactor
  • build
  • style
  • chore
  • docs
  • test
  • ci
View originalPermalink
How v16.31.1 went

v15.119.0

Added 2
  • Work Order Gantt view now shows each bar in a color that matches its status
  • Subscription form automatically fills Cost Center and other accounting fields from the plan, with fallback to linked Item values
Changed 1
  • Cost Center on Shipping Rule is now optional, using company default when blank and copying the rule's Project to the shipping charge line
Fixed 18
  • Return documents in Delivery Note and Sales Invoice now use the original item linked in Packed Item when direct item link is missing, with original rate instead of zero
  • Purchase Receipt cancellation now uses the same linked-document check as other forms, blocking cancellation when a submitted Purchase Invoice exists
  • Asset created from purchase document now uses item's Valuation Rate and Quantity for initial value instead of line's net amount
  • Item Group root is reused when ERPNext is set up, keeping built-in item groups under one main group instead of splitting into two top-level groups
  • Correct inventory account is now selected instead of picking one at random when multiple are set up
  • Period Closing Voucher is now prevented from being submitted or cancelled for a frozen accounting date
Features
  • The Work Order Gantt view now shows each bar in a color that matches its status instead of the default color. (https://github.com/frappe/erpnext/pull/57635)
  • On the Subscription form, choosing a plan automatically fills in Cost Center and other accounting fields from the plan. When a field is missing from the plan, it comes from the linked Item, and any values you already entered stay in place. (https://github.com/frappe/erpnext/pull/57621)
  • Makes the Cost Center on Shipping Rule optional. When it is left blank, shipping charges use the company’s default Cost Center and copy the rule’s Project to the shipping charge line. (https://github.com/frappe/erpnext/pull/57402)
Bug Fixes
  • Return documents in Delivery Note and Sales Invoice now use the original item linked in Packed Item when the direct item link is missing. Those returns use the original rate instead of zero. (https://github.com/frappe/erpnext/pull/57510)
  • Makes Purchase Receipt cancellation use the same linked-document check as other forms, so a submitted Purchase Invoice blocks a direct cancel. The "Cancel All Documents" action still cancels the invoice first and then the receipt. (https://github.com/frappe/erpnext/pull/57602)
  • When you create an Asset from a purchase document, its initial value now comes from the item's Valuation Rate and Quantity instead of the line's net amount. (https://github.com/frappe/erpnext/pull/57619)
  • Uses the existing Item Group root when ERPNext is set up, so the built-in item groups stay under one main group instead of splitting into two top-level groups. Merges any duplicate "All Item Groups" entry into that root on update. (https://github.com/frappe/erpnext/pull/57629)
  • Uses the correct inventory account instead of picking one at random when more than one is set up. (https://github.com/frappe/erpnext/pull/57631)
  • Prevents Period Closing Voucher from being submitted or cancelled for a frozen accounting date. (https://github.com/frappe/erpnext/pull/57640)
  • Projects marked On hold no longer appear when choosing a project in Task and Timesheet. The "Project Summary" report now includes On hold in the status filter. (https://github.com/frappe/erpnext/pull/57242)
  • Filtering "Accounts Receivable" and "Accounts Receivable Summary" by Sales Partner uses the partner set on each Sales Invoice, so invoices assigned directly to a partner appear in the results. The Sales Partner column shows the partner from the invoice, and returns are grouped with the original invoice. (https://github.com/frappe/erpnext/pull/57646)
  • When Posting Date or Posting Time is missing, Serial and Batch Bundle uses the current date and time instead. It also accepts the usual form details when serial and batch records are saved, instead of running into an error. (https://github.com/frappe/erpnext/pull/57020)
  • The Payment Entry form now fills Received Amount using the exchange rate for its own Posting Date instead of the date from the document it comes from. This reduces cases where a Difference Amount appears as soon as the form opens. (https://github.com/frappe/erpnext/pull/57662)
  • Updates Stock Reconciliation to skip batch-related stock balance checks when a row is missing, avoiding an error in some batch-tracked item lookups. (https://github.com/frappe/erpnext/pull/57654)
  • Adds permission checks to the stock summary in Plant Floor so users only see stock data for Warehouse, Item, and Item Group records they can access. (https://github.com/frappe/erpnext/pull/57669)
  • Carries over the conversation history from the linked Opportunity to a new Quotation as soon as it is created, instead of only after submission. (https://github.com/frappe/erpnext/pull/57642)
  • Updates Stock Entry validation for material transfers to use the item’s quantity precision. This avoids blocking a transfer when only a tiny rounding difference remains. (https://github.com/frappe/erpnext/pull/57665)
  • Users now need permission to view stock and warehouse details in the Asset Capitalization form and to create multiple variants for an Item.
    "Resend Payment Email" in the Payment Request form now works only for submitted inward payment requests that can still receive a payment link, and it ignores repeat clicks while the email is being sent. (https://github.com/frappe/erpnext/pull/57691)
  • Keeps unit conversions exact on line items. This reduces quantity changes when an item is bought in one unit and stored in another. (https://github.com/frappe/erpnext/pull/57696)
  • Fixes Shipping Rule so applying or saving one without a Cost Center does not add duplicate shipping charges. Existing Cost Center values remain unchanged. (https://github.com/frappe/erpnext/pull/57700)
  • Returns in Purchase Invoice, Purchase Receipt, and Subcontracting Receipt now require at least one item with a negative quantity. Returns where every item has a quantity of zero can't be submitted. (https://github.com/frappe/erpnext/pull/57721)
  • Returns from Sales Invoice, Delivery Note, and POS Invoice now require at least one item with a negative quantity, so returns where every item quantity is zero are rejected. (https://github.com/frappe/erpnext/pull/57729)
  • Existing variants can still be saved after an Item Attribute is disabled, as long as the Attribute Value stays unchanged. Changing that Attribute Value still shows an error. (https://github.com/frappe/erpnext/pull/57749)
  • The Repost Accounting Ledger form skips deferred invoice checks when no sales or purchase invoices are selected, so saving does not time out. (https://github.com/frappe/erpnext/pull/57756)
  • The Employee form now adds or removes the assigned user’s access to Employee and Company records even when permission checks would normally block the change. (https://github.com/frappe/erpnext/pull/57759)
  • Special characters in Workstation and Item names, along with image links, now display correctly across the plant floor, item selector, and stock summary views. This keeps names and image links from changing how the page appears. (https://github.com/frappe/erpnext/pull/57769)
  • Skips loading the invoice dashboard on Customer and Supplier records when the user does not have access to the related Sales Invoice or Purchase Invoice documents, so the record opens without a permission error. (https://github.com/frappe/erpnext/pull/57784)
  • Prevents saving an Opportunity when any item Quantity is zero or less. (https://github.com/frappe/erpnext/pull/57787)
  • Fixes stock valuation for batches when multiple stock entries share the same posting date and time by using the time each entry is posted. This keeps stock values in the correct order after backdated or amended transactions. (https://github.com/frappe/erpnext/pull/57794)
  • Corrects exchange gain/loss entries in Payment Reconciliation for supplier Payment Entry records in foreign currency, so the adjustment posts in the right direction. (https://github.com/frappe/erpnext/pull/57799)
  • Adds the payment currency and exchange rate to the accounting entries created by Payment Entry. Payments made in another currency are recorded with the currency and rate used for the payment. (https://github.com/frappe/erpnext/pull/57613)
  • Adds a new Accrued Manufacturing Expenses account group to the Australian standard chart of accounts and marks the 115 account group as a bank account. (https://github.com/frappe/erpnext/pull/57607)

Authors: @Jatin3128, @diptanilsaha, @deepeshgarg007, @Pandiyan5273, @Shllokkk, @mihir-kandoi, @rohitwaghchaure, @Sudharsanan11, @ervishnucs Reviewers: @R-Jayaraman, @ruthra-kumar, @diptanilsaha, @rohitwaghchaure, @mihir-kandoi

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
  • ci
  • refactor
  • style
  • docs
  • build
  • test
View originalPermalink
How v15.119.0 went

v16.31.0

Added 4
  • Work Order Gantt view now shows each bar in a color that matches its status
  • Subscription form automatically fills Cost Center and other accounting fields from the chosen plan, with fallback to linked Item fields
  • Material Request with items from different suppliers can create separate Purchase Orders per supplier with supplier selection per item
  • Territory filter in Accounts Receivable report now supports multi-select
Fixed 15
  • Electronic invoicing is skipped for opening Sales Invoice documents in Italy
  • Purchase Receipt cancellation now uses the same linked-document check as other forms
  • Users with edit access can remove items from Update Items in Sales Order without needing cancel or delete access
  • Australian standard chart of accounts now includes Accrued Manufacturing Expenses account group and marks account 115 as a bank account
  • Items produced from zero-cost materials remain at zero cost instead of using the item's own cost or Bill of Materials cost
  • Asset created from purchase document now uses Net Purchase Amount from item's Valuation Rate and quantity instead of purchase line total
Features
  • The Work Order Gantt view now shows each bar in a color that matches its status instead of the default color. (https://github.com/frappe/erpnext/pull/57636)
  • On the Subscription form, choosing a plan automatically fills in Cost Center and other accounting fields from the plan. When a field is missing from the plan, it comes from the linked Item, and any values you already entered stay in place. (https://github.com/frappe/erpnext/pull/57622)
  • When a Material Request has items from different suppliers, creating a Purchase Order now lets you choose the Supplier for each item. The system creates one Purchase Order per supplier. (https://github.com/frappe/erpnext/pull/57698)
Bug Fixes
  • The system skips electronic invoicing for opening Sales Invoice documents in Italy. (https://github.com/frappe/erpnext/pull/57590)
  • Makes Purchase Receipt cancellation use the same linked-document check as other forms, so a submitted Purchase Invoice blocks a direct cancel. The "Cancel All Documents" action still cancels the invoice first and then the receipt. (https://github.com/frappe/erpnext/pull/57597)
  • Allows users with edit access to remove items from "Update Items" in Sales Order without needing cancel or delete access on the order. Item lines with ordered, received, delivered, or billed quantities still cannot be removed. (https://github.com/frappe/erpnext/pull/57601)
  • Adds a new Accrued Manufacturing Expenses account group to the Australian standard chart of accounts and marks the 115 account group as a bank account. (https://github.com/frappe/erpnext/pull/57608)
  • Items produced from materials that cost nothing stay at zero cost instead of using the item's own cost or the cost from the Bill of Materials. This keeps the finished item at zero cost in those cases. (https://github.com/frappe/erpnext/pull/57513)
  • When you create an Asset from a purchase document, the Net Purchase Amount now comes from the item’s Valuation Rate and quantity instead of the purchase line total. (https://github.com/frappe/erpnext/pull/57620)
  • Uses the existing Item Group root when ERPNext is set up, so the built-in item groups stay under one main group instead of splitting into two top-level groups. Merges any duplicate "All Item Groups" entry into that root on update. (https://github.com/frappe/erpnext/pull/57630)
  • Uses the correct inventory account instead of picking one at random when more than one is set up. (https://github.com/frappe/erpnext/pull/57632)
  • Prevents Period Closing Voucher from being submitted or cancelled for a frozen accounting date. (https://github.com/frappe/erpnext/pull/57641)
  • In Stock Entry with purpose Receive from Customer, adding an item row now leaves Target Warehouse blank when no matching row is available to copy from. When a matching row exists, the field is copied into the new row. (https://github.com/frappe/erpnext/pull/57638)
  • Projects marked On hold no longer appear when choosing a project in Task and Timesheet. The "Project Summary" report now includes On hold in the status filter. (https://github.com/frappe/erpnext/pull/57243)
  • The "Stock and Account Value Comparison" report now includes only child warehouses whose account matches the parent warehouse. Warehouses with a different account are no longer grouped under the parent account. (https://github.com/frappe/erpnext/pull/57557)
  • Filtering "Accounts Receivable" and "Accounts Receivable Summary" by Sales Partner uses the partner set on each Sales Invoice, so invoices assigned directly to a partner appear in the results. The Sales Partner column shows the partner from the invoice, and returns are grouped with the original invoice. (https://github.com/frappe/erpnext/pull/57648)
  • Return documents in Delivery Note and Sales Invoice now use the original item linked in Packed Item when the direct item link is missing. Those returns use the original rate instead of zero. (https://github.com/frappe/erpnext/pull/57511)
  • Adds multi-select to the Territory filter in the "Accounts Receivable" report, so you can view receivables for several territories at once. (https://github.com/frappe/erpnext/pull/57346)
  • The Payment Entry form now fills Received Amount using the exchange rate for its own Posting Date instead of the date from the document it comes from. This reduces cases where a Difference Amount appears as soon as the form opens. (https://github.com/frappe/erpnext/pull/57663)
  • Updates Stock Entry validation for material transfers to use the item’s quantity precision. This avoids blocking a transfer when only a tiny rounding difference remains. (https://github.com/frappe/erpnext/pull/57658)
  • Updates Stock Reconciliation to skip batch-related stock balance checks when a row is missing, avoiding an error in some batch-tracked item lookups. (https://github.com/frappe/erpnext/pull/57655)
  • Adds permission checks to the stock summary in Plant Floor so users only see stock data for Warehouse, Item, and Item Group records they can access. (https://github.com/frappe/erpnext/pull/57670)
  • Carries over the conversation history from the linked Opportunity to a new Quotation as soon as it is created, instead of only after submission. (https://github.com/frappe/erpnext/pull/57643)
  • Purchase Invoice now records stock value differences in the company’s Default Expense Account when it is set. If that setting is missing, it falls back to the stock or asset receipt account, or the item’s Expense Account on returns. (https://github.com/frappe/erpnext/pull/57656)
  • Updates the Stock Reservation Entry warning to omit the row number when it is not available, instead of showing "Row #None". The message still lists the item and warehouse that cannot be reserved. (https://github.com/frappe/erpnext/pull/57672)
  • The Item Inventory dashboard now excludes transferred and consumed quantities from reserved stock totals. (https://github.com/frappe/erpnext/pull/57683)
  • Users now need permission to view stock and warehouse details in the Asset Capitalization form and to create multiple variants for an Item.
    "Resend Payment Email" in the Payment Request form now works only for submitted inward payment requests that can still receive a payment link, and it ignores repeat clicks while the email is being sent. (https://github.com/frappe/erpnext/pull/57692)
  • When only part of the stock is available, the reservation now keeps the full requested amount, so it shows as Partially Reserved instead of Reserved. (https://github.com/frappe/erpnext/pull/57694)
  • Keeps unit conversions exact on line items. This reduces quantity changes when an item is bought in one unit and stored in another. (https://github.com/frappe/erpnext/pull/57697)
  • Fixes Shipping Rule so applying or saving one without a Cost Center does not add duplicate shipping charges. Existing Cost Center values remain unchanged. (https://github.com/frappe/erpnext/pull/57701)
  • The Quality Inspection form now reads numeric readings using the number format shown to the user. Values that do not match that format now show an error instead of being read as a different number. (https://github.com/frappe/erpnext/pull/57726)
  • Returns in Purchase Invoice, Purchase Receipt, and Subcontracting Receipt now require at least one item with a negative quantity. Returns where every item has a quantity of zero can't be submitted. (https://github.com/frappe/erpnext/pull/57722)
  • The setting in Stock Settings that allows extra delivery or receipt quantities now applies only to delivery and receipt documents. Other order documents still use their own quantity limits. (https://github.com/frappe/erpnext/pull/57728)
  • Returns from Sales Invoice, Delivery Note, and POS Invoice now require at least one item with a negative quantity, so returns where every item quantity is zero are rejected. (https://github.com/frappe/erpnext/pull/57730)
  • The company list now shows only the companies you can access instead of all companies. If the list cannot be loaded, it shows an error message. (https://github.com/frappe/erpnext/pull/57739)
  • Updates POS Profile to use the selected Item Group names directly when filtering items. This avoids an empty item list when a profile limits which item groups are available. (https://github.com/frappe/erpnext/pull/57673)
  • Existing variants can still be saved after an Item Attribute is disabled, as long as the Attribute Value stays unchanged. Changing that Attribute Value still shows an error. (https://github.com/frappe/erpnext/pull/57750)
  • Updates Stock Entry so secondary item costs follow the share set in the Bill of Materials instead of using their own rate in some cases. It also stops stock entries that do not create secondary items from skipping Quality Inspection. (https://github.com/frappe/erpnext/pull/57755)
  • The Repost Accounting Ledger form skips deferred invoice checks when no sales or purchase invoices are selected, so saving does not time out. (https://github.com/frappe/erpnext/pull/57753)
  • Special characters in Workstation and Item names, along with image links, now display correctly across the plant floor, item selector, and stock summary views. This keeps names and image links from changing how the page appears. (https://github.com/frappe/erpnext/pull/57770)
  • The toolbar in BOM Configurator now keeps all of its actions available, so you can add and convert items again. (https://github.com/frappe/erpnext/pull/57779)
  • Skips loading the invoice dashboard on Customer and Supplier records when the user does not have access to the related Sales Invoice or Purchase Invoice documents, so the record opens without a permission error. (https://github.com/frappe/erpnext/pull/57785)
  • Prevents saving an Opportunity when any item Quantity is zero or less. (https://github.com/frappe/erpnext/pull/57789)
  • Corrects exchange gain/loss entries in Payment Reconciliation for supplier Payment Entry records in foreign currency, so the adjustment posts in the right direction. (https://github.com/frappe/erpnext/pull/57798)
Other Changes

Authors: @Jatin3128, @diptanilsaha, @Pandiyan5273, @Shllokkk, @Henil666, @mihir-kandoi, @krishna-254, @nikkothari22, @kaulith, @rohitwaghchaure, @Sudharsanan11, @ervishnucs Reviewers: @Jatin3128, @diptanilsaha, @nabinhait, @R-Jayaraman, @Shllokkk, @mihir-kandoi, @ruthra-kumar, @rohitwaghchaure

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
  • ci
  • refactor
  • style
  • docs
  • build
  • test
View originalPermalink
How v16.31.0 went

v15.118.3

Fixed 2
  • Fix electronic invoicing being skipped for opening Sales Invoice documents in Italy
  • Fix items produced from zero-cost materials staying at zero cost instead of using the item's own cost or the cost from the Bill of Materials
Bug Fixes

Authors: @Sudharsanan11, @krishna-254 Reviewers: @rohitwaghchaure, @nabinhait

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:

  • test
  • style
  • chore
  • refactor
  • docs
  • ci
  • build
View originalPermalink
How v15.118.3 went

v15.118.2

Changed 1
  • In Accounts Receivable, Accounts Payable, and their summary reports, Posting Date is renamed to Report Date, and Calculate Ageing With is renamed to Age as on with Today Date shortened to Today
Fixed 19
  • When several Stock Entry documents share the same Posting Date and Posting Time, canceling one now starts from the balance before that time instead of counting the canceled quantity twice
  • Reversing a Journal Entry keeps the form locked and restores the Save button
  • When creating a Work Order for a variant item, ERPNext keeps the selected BOM instead of replacing it with the default one
  • Creating a Work Order from a Material Request now recognises item variants and automatically uses the parent template BOM when the variant lacks its own, preventing the No BOM found error and keeping the request linked to its Work Order
  • Updates the Stock Ageing report for items with batch numbers, spreading a batch's value across its rows when one row shows a negative value
  • Address now handles a missing is_your_company_address field without stopping with an error when saving or importing Address records
Bug Fixes

Authors: @Pandiyan5273, @krishna-254, @diptanilsaha, @Sudharsanan11, @rohitwaghchaure, @mihir-kandoi, @Shllokkk, @barredterra Reviewers: @diptanilsaha, @rohitwaghchaure, @mihir-kandoi, @Shllokkk, @barredterra

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:

  • refactor
  • docs
  • test
  • chore
  • ci
  • style
  • build
View originalPermalink
How v15.118.2 went

v16.30.0

Added 3
  • Make Cost Center on Shipping Rule optional, so shipping charges use the company's default Cost Center and copy the rule's Project to the shipping charge line when left blank
  • Add optional Overdue Limit check on Customer that blocks Sales Invoice submission when customer's overdue balance exceeds the limit, with bypass allowed for permitted users and limit optionally sourced from Customer Group
  • Add accounting entries for stock-related expenses in Stock Entry, Stock Reconciliation, and Purchase Receipt to record these costs separately, excluding landed cost from purchase expense entries
Fixed 18
  • Use quantity precision from Serial and Batch Entry with System Settings as fallback in reserved batch checks instead of always using 6 decimal places
  • Keep selected BOM when creating Work Order for variant item instead of replacing it with default BOM
  • Update stock levels correctly after cancelling one stock entry when several share the same date and time
  • Spread a batch's value across its rows in Stock Ageing report for items with batch numbers when one row shows negative value
  • Handle missing is_your_company_address field in Address so saving or importing Address records no longer fails
  • Clean up Repost Item Valuation by removing attached data file and clearing Reposting Data File field
Features
  • Makes the Cost Center on Shipping Rule optional. When it is left blank, shipping charges use the company’s default Cost Center and copy the rule’s Project to the shipping charge line. (https://github.com/frappe/erpnext/pull/57385)
  • Adds an optional Overdue Limit check and blocks Sales Invoice submission when a customer's overdue balance is above it. Users allowed to bypass the restriction can still submit, and the limit can also come from Customer Group. (https://github.com/frappe/erpnext/pull/57438)
  • Adds accounting entries for stock-related expenses in Stock Entry, Stock Reconciliation, and Purchase Receipt, so these costs are recorded separately. Excludes landed cost from purchase expense entries. (https://github.com/frappe/erpnext/pull/57503)
Bug Fixes
  • Reserved batch checks now use the quantity precision from Serial and Batch Entry, with System Settings as a fallback, instead of always using 6 decimal places. (https://github.com/frappe/erpnext/pull/57354)
  • When creating a Work Order for a variant item, ERPNext keeps the selected BOM instead of replacing it with the default one. (https://github.com/frappe/erpnext/pull/57359)
  • When several stock entries share the same date and time, cancelling one now updates the entries that were created after it, so stock levels stay correct after the cancellation. (https://github.com/frappe/erpnext/pull/57397)
  • Updates the "Stock Ageing" report for items with batch numbers, spreading a batch’s value across its rows when one row shows a negative value. This makes the row values add up to the batch’s total value in those cases. (https://github.com/frappe/erpnext/pull/57404)
  • Updates Address to handle a missing is_your_company_address field. Saving or importing Address records no longer stops with an error in that case. (https://github.com/frappe/erpnext/pull/57408)
  • Fixes cleanup for Repost Item Valuation so its attached data file is removed and the Reposting Data File field is cleared. (https://github.com/frappe/erpnext/pull/57250)
  • The Batch selection now puts batches without an Expiry Date at the end of the list. This avoids an error when a Warehouse contains both expiring and non-expiring batches. (https://github.com/frappe/erpnext/pull/57415)
  • Copies the Customer from Pick List to Delivery Note when creating a delivery note without a Sales Order. (https://github.com/frappe/erpnext/pull/57420)
  • The dashboard on Customer and Supplier forms now shows summary information only for companies the current user can access. This avoids permission errors when a customer or supplier has activity in companies the user cannot access. (https://github.com/frappe/erpnext/pull/57440)
  • The "Stock Balance" report turns on Include Zero Stock Items by default, so items with no stock appear when the report opens. (https://github.com/frappe/erpnext/pull/57460)
  • When you change Hour Rate in Routing, Operating Cost updates for that operation. (https://github.com/frappe/erpnext/pull/57468)
  • In "Accounts Receivable", "Accounts Payable", and their summary reports, Posting Date is renamed to Report Date, and Calculate Ageing With is renamed to Age as on with "Today Date" shortened to "Today" so the labels match how the reports work. Existing saved filters are updated automatically to match the new labels. (https://github.com/frappe/erpnext/pull/57473)
  • The "Stock Ageing" report now distributes the value of a Batch across its age groups on every run, instead of only after one age group goes below zero. This changes the amounts shown in each age group when a batch includes receipts at different prices, while the total stays the same. (https://github.com/frappe/erpnext/pull/57487)
  • A closed Subcontracting Order now releases any remaining raw-material reservation tied to it. The warehouse stock count reflects the freed material instead of keeping it reserved under the closed order. (https://github.com/frappe/erpnext/pull/57481)
  • Treats cancelled and expired Quotations as inactive when setting the status of an Opportunity. Partially ordered Quotations now count as ordered, so an Opportunity can move to Converted. (https://github.com/frappe/erpnext/pull/57491)
  • Clarifies the message shown when you try to mark an Opportunity as lost if an active Quotation exists. (https://github.com/frappe/erpnext/pull/57498)
  • Limits the search through older stock records to the same item when valuing serial numbers, reducing the number of records checked. (https://github.com/frappe/erpnext/pull/57506)
  • When you submit a Quotation linked to an Opportunity, the comments and communications from the linked Opportunity are carried over to the Quotation if the option in CRM Settings is enabled. (https://github.com/frappe/erpnext/pull/57509)
  • Updates the Operating Cost for operations in Routing when a Workstation Hour Rate changes. (https://github.com/frappe/erpnext/pull/57504)
  • Moves the Title field for Subcontracting Order and Subcontracting Inward Order into the Other Info tab and stops filling it with placeholder text on new records. Older records that still contain the placeholder are updated to show the related supplier or customer name instead. (https://github.com/frappe/erpnext/pull/57517)
  • Trend reports now show the company’s currency in the chart and total row instead of the global default currency. The chart no longer counts the total row twice. (https://github.com/frappe/erpnext/pull/57523)
  • The BOM Creator now keeps repeated sub-assemblies separate, so each copy shows only its own raw materials. Deleting one copy no longer affects the others. (https://github.com/frappe/erpnext/pull/57530)
  • For Work Orders that track semi-finished goods, the completed quantity now adds up across all submitted Job Cards for the same operation instead of using only the most recent one. Corrective Job Cards do not count toward this total, and the Work Order is marked completed when the full quantity is done. (https://github.com/frappe/erpnext/pull/57529)
  • Skips stock expense entries for items that are not kept in stock in Purchase Invoice, Purchase Receipt, Stock Entry, and Stock Reconciliation. This prevents empty accounting lines for those items. (https://github.com/frappe/erpnext/pull/57518)
  • Allows BOMs created using BOM Creator to have their cost updated. (https://github.com/frappe/erpnext/pull/57536)
  • Filters the Default WIP Warehouse, Default Finished Goods Warehouse, and Default Scrap Warehouse fields on the Company form so they only list warehouses for this company. Warehouse groups no longer appear in these lists. (https://github.com/frappe/erpnext/pull/57542)
  • MT940 bank statement imports now use the reference from each transaction in the Reference Number column when available, instead of repeating the same reference for every transaction. The Description column also shows the transaction details when available. (https://github.com/frappe/erpnext/pull/57429)
  • Adds a permission check to get_item_details, so only users with access can view item details. (https://github.com/frappe/erpnext/pull/57551)
  • Production Plan now uses unit conversion rates from the item, its variant template, or UOM Conversion Factor when it lists raw materials for purchase. If no conversion rate is set anywhere, it still shows the missing setup message. (https://github.com/frappe/erpnext/pull/57554)
  • You can now cancel a POS Closing Entry if its Status is Failed. (https://github.com/frappe/erpnext/pull/57572)
  • Updates the help text in the Item form so Enable Deferred Revenue and Enable Deferred Expense show the correct descriptions. The income and expense guidance now appears under the matching checkbox. (https://github.com/frappe/erpnext/pull/57568)

Authors: @Pandiyan5273, @krishna-254, @kaulith, @diptanilsaha, @Sudharsanan11, @rohitwaghchaure, @Jatin3128, @khushi8112, @mihir-kandoi, @Shllokkk, @barredterra Reviewers: @rohitwaghchaure, @diptanilsaha, @mihir-kandoi, @Shllokkk, @barredterra

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:

  • refactor
  • docs
  • test
  • chore
  • ci
  • style
  • build
View originalPermalink
How v16.30.0 went

v15.118.1

Fixed 1
  • When several Stock Entry documents share the same Posting Date and Posting Time, canceling one now starts from the balance before that time instead of counting the canceled quantity twice
Bug Fixes
  • When several Stock Entry documents share the same Posting Date and Posting Time, canceling one now starts from the balance before that time instead of counting the canceled quantity twice. (https://github.com/frappe/erpnext/pull/57395)

Authors: @mihir-kandoi

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
  • docs
  • build
  • test
  • refactor
  • style
  • ci
View originalPermalink
How v15.118.1 went

v15.118.0

Added 3
  • Add an "On hold" option to the Status field in Project that keeps projects in that status when their progress changes
  • Automatically link a matching Contact to a Customer or Supplier when a portal user is added
  • Add missing stock quantity sort options to Stock Summary and add Reserved Stock column to Stock Projected Qty report
Fixed 17
  • Add missing currency setting to Supplier Quotation Item Net Rate to show correct currency symbol in multi-currency supplier quotations
  • Restrict accounting and stock ledger previews to users who can view the related document
  • Make Sales Person Wise Transaction Summary report respect user permissions
  • Allow people added to a Project to access that project without the Projects User role
  • Make Production Plan purchase and transfer flow respect Consider Minimum Order Qty when stock comes from multiple warehouses
  • Strip leading and trailing spaces from Account Number in Chart of Accounts Importer before adding to account name
Features
  • Adds an "On hold" option to the Status field in Project. Projects marked "On hold" stay in that status when their progress changes. (https://github.com/frappe/erpnext/pull/57172)
  • Automatically links a matching Contact to a Customer or Supplier when a portal user is added, so the portal user can see the related records. Existing links stay unchanged, so duplicate links are not created. (https://github.com/frappe/erpnext/pull/57210)
  • Adds the missing stock quantity sort options to "Stock Summary", so items with stock only in those quantities still appear when you sort by them. Adds the Reserved Stock column to the "Stock Projected Qty" report. (https://github.com/frappe/erpnext/pull/57303)
Bug Fixes
  • Adds the missing currency setting to Supplier Quotation Item Net Rate, so the field shows the correct currency symbol in multi-currency supplier quotations. (https://github.com/frappe/erpnext/pull/57167)
  • Accounting and stock ledger previews now open only for users who can view the related document. (https://github.com/frappe/erpnext/pull/57142)
  • The "Sales Person Wise Transaction Summary" report now respects your permissions when showing transactions, so you only see records you can access. (https://github.com/frappe/erpnext/pull/57043)
  • People added to a Project can now access that project even without the Projects User role. (https://github.com/frappe/erpnext/pull/57180)
  • The Production Plan purchase and transfer flow now respects Consider Minimum Order Qty when some stock comes from other warehouses and the rest is purchased. The amount left to buy does not fall below the item's Minimum Order Qty. (https://github.com/frappe/erpnext/pull/57209)
  • Strips leading and trailing spaces from Account Number in Chart of Accounts Importer before adding it to the account name. Imported account names do not include unwanted spaces from the number. (https://github.com/frappe/erpnext/pull/57218)
  • Prevents Dunning Type from being saved when the selected Income Account or Cost Center does not belong to the same company or is disabled, and only one Dunning Type can be set as the default for each company. It also blocks duplicate Language entries in the letter text, lets only one language be set as the default, and checks Body Text and Closing Text for template errors. (https://github.com/frappe/erpnext/pull/57226)
  • Limits Process Statement of Accounts templates to standard placeholders when generating the email subject, message, and PDF name. (https://github.com/frappe/erpnext/pull/57231)
  • Material Request now auto-fills the Buying Price List only with a Price List you have access to, and it clears the field if the selected Price List is not a buying price list. Changing the Buying Price List refreshes the item prices and totals for items with a matching price. (https://github.com/frappe/erpnext/pull/57246)
  • The Material Request Date in Production Plan Material Request now fills automatically from the Transaction Date of the linked Material Request. (https://github.com/frappe/erpnext/pull/57251)
  • Makes % Complete editable in Project when % Complete Method is set to Manual, so the progress value can be entered directly instead of being calculated.
    Adds a check that manually entered % Complete values stay between 0 and 100. (https://github.com/frappe/erpnext/pull/57275)
  • Updates "Bank Reconciliation Statement" print and PDF output to show debit and credit amounts in the selected bank account's currency. (https://github.com/frappe/erpnext/pull/57278)
  • Fixes a misspelled allow_negative_stock option in the "Stock and Account Value Comparison" and "Stock Ledger Invariant Check" reports, so they use the correct stock setting. (https://github.com/frappe/erpnext/pull/57281)
  • Prevents changing the Account Type of an Account from Stock once stock transactions have been recorded against it. (https://github.com/frappe/erpnext/pull/57284)
  • Default accounting dimensions are now filled in on new documents even when the needed information isn't ready yet. On Sales Order, those defaults are filled in again when Company changes. (https://github.com/frappe/erpnext/pull/57309)
  • Recalculates stock ageing values after Stock Reconciliation so the "Stock Ageing" report reflects the updated stock rate. This helps prevent negative bucket values from appearing after a revaluation. (https://github.com/frappe/erpnext/pull/57318)
  • Fixes the "Stock Balance" report to use batch and serial tracking from Item. This keeps items with batch or serial numbers from being treated like regular stock in the report. (https://github.com/frappe/erpnext/pull/57326)
  • In Stock Entry, Process Loss Percentage now recalculates when Finished Goods Qty changes, using Process Loss Qty if it is already filled in. (https://github.com/frappe/erpnext/pull/57325)
  • Adds a check that prevents payment features from being used when the Payments app is not installed and shows a message that the Payments app is missing. (https://github.com/frappe/erpnext/pull/57343)
Other Changes

Authors: @rohitwaghchaure, @harisansari008, @nishkagosalia, @ervishnucs, @mihir-kandoi, @khushi8112, @diptanilsaha, @Sudharsanan11, @Shllokkk Reviewers: @mihir-kandoi, @rohitwaghchaure, @ruthra-kumar, @diptanilsaha, @Shllokkk

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:

  • ci
  • style
  • chore
  • build
  • docs
  • refactor
  • test
View originalPermalink
How v15.118.0 went

v16.29.0

Added 4
  • Add an "On hold" option to the Status field in Project
  • Automatically link a matching Contact to a Customer or Supplier when a portal user is added
  • Add missing stock quantity sort options to Stock Summary report
  • Add Reserved Stock column to the Stock Projected Qty report
Changed 1
  • Rename "Recalculate Bin Qty" button to "Recalculate Values" in Bin form and update Valuation Rate and Stock Value from latest stock record
Fixed 15
  • Add missing currency setting to Supplier Quotation Item Net Rate field
  • Make Job Card field in Purchase Order Item read-only and exclude it from copied and printed records
  • Allow Delivery Note submission when the same batch is reserved by more than one Sales Order if enough stock remains for other reservations
  • Allow people added to a Project to access that project without the Projects User role
  • Open accounting and stock ledger previews without loading every detail first to avoid permission errors
  • Make Production Plan purchase and transfer flow respect Consider Minimum Order Qty when stock comes from multiple warehouses
Features
  • Adds an "On hold" option to the Status field in Project. Projects marked "On hold" stay in that status when their progress changes. (https://github.com/frappe/erpnext/pull/57173)
  • Automatically links a matching Contact to a Customer or Supplier when a portal user is added, so the portal user can see the related records. Existing links stay unchanged, so duplicate links are not created. (https://github.com/frappe/erpnext/pull/57211)
  • Adds the missing stock quantity sort options to "Stock Summary", so items with stock only in those quantities still appear when you sort by them. Adds the Reserved Stock column to the "Stock Projected Qty" report. (https://github.com/frappe/erpnext/pull/57304)
  • The Bin form renames the "Recalculate Bin Qty" button to "Recalculate Values" and now also updates Valuation Rate and Stock Value from the latest stock record. For items using Standard Cost, Stock Value follows the standard rate, and those fields reset to zero when there is no stock record. (https://github.com/frappe/erpnext/pull/57302)
Bug Fixes
  • Adds the missing currency setting to Supplier Quotation Item Net Rate, so the field shows the correct currency symbol in multi-currency supplier quotations. (https://github.com/frappe/erpnext/pull/57168)
  • Makes the Job Card field in Purchase Order Item read-only and keeps it out of copied and printed records. (https://github.com/frappe/erpnext/pull/57166)
  • Allows a Delivery Note to be submitted when the same batch is reserved by more than one Sales Order, as long as enough stock remains for the other reservations. It still blocks deliveries when the batch would not have enough stock left for those reservations. (https://github.com/frappe/erpnext/pull/57170)
  • People added to a Project can now access that project even without the Projects User role. (https://github.com/frappe/erpnext/pull/57181)
  • Opens the accounting and stock ledger previews without loading every detail first, which avoids permission errors in some cases. (https://github.com/frappe/erpnext/pull/57184)
  • The Production Plan purchase and transfer flow now respects Consider Minimum Order Qty when some stock comes from other warehouses and the rest is purchased. The amount left to buy does not fall below the item's Minimum Order Qty. (https://github.com/frappe/erpnext/pull/57208)
  • "Stock Ageing" now recalculates the remaining value of items using moving average at the current rate. It also uses the newest stock first for LIFO items, so the report shows stock value and average age based on each item's valuation method. (https://github.com/frappe/erpnext/pull/57017)
  • Strips leading and trailing spaces from Account Number in Chart of Accounts Importer before adding it to the account name. Imported account names do not include unwanted spaces from the number. (https://github.com/frappe/erpnext/pull/57219)
  • Prevents Dunning Type from being saved when the selected Income Account or Cost Center does not belong to the same company or is disabled, and only one Dunning Type can be set as the default for each company. It also blocks duplicate Language entries in the letter text, lets only one language be set as the default, and checks Body Text and Closing Text for template errors. (https://github.com/frappe/erpnext/pull/57227)
  • Limits Process Statement of Accounts templates to standard placeholders when generating the email subject, message, and PDF name. (https://github.com/frappe/erpnext/pull/57232)
  • Material Request now auto-fills the Buying Price List only with a Price List you have access to, and it clears the field if the selected Price List is not a buying price list. Changing the Buying Price List refreshes the item prices and totals for items with a matching price. (https://github.com/frappe/erpnext/pull/57247)
  • Fixes parallel stock reposting so it starts the next pending task after one finishes, instead of waiting for the next automatic run. (https://github.com/frappe/erpnext/pull/57248)
  • The Material Request Date in Production Plan Material Request now fills automatically from the Transaction Date of the linked Material Request. (https://github.com/frappe/erpnext/pull/57252)
  • The Transferred Qty from a Work Order is no longer copied into a Pick List, so the new Pick List does not carry over quantities already transferred on the order. (https://github.com/frappe/erpnext/pull/57257)
  • Fixes a misspelled allow_negative_stock option in the "Stock and Account Value Comparison" and "Stock Ledger Invariant Check" reports, so they use the correct stock setting. (https://github.com/frappe/erpnext/pull/57282)
  • Makes % Complete editable in Project when % Complete Method is set to Manual, so the progress value can be entered directly instead of being calculated.
    Adds a check that manually entered % Complete values stay between 0 and 100. (https://github.com/frappe/erpnext/pull/57276)
  • Fixes the "Timesheet Billing Summary" report so it can group entries even when some fields are missing, and the report still opens with the grouped totals. (https://github.com/frappe/erpnext/pull/57297)
  • Prevents changing the Account Type of an Account from Stock once stock transactions have been recorded against it. (https://github.com/frappe/erpnext/pull/57285)
  • Shows the payment currency symbol in the "Select Payment Schedule" dialog and the Payment Reference table on Payment Request. The Amount fields now show the payment currency symbol instead of the company currency symbol. (https://github.com/frappe/erpnext/pull/57312)
  • Recalculates stock ageing values after Stock Reconciliation so the "Stock Ageing" report reflects the updated stock rate. This helps prevent negative bucket values from appearing after a revaluation. (https://github.com/frappe/erpnext/pull/57317)
  • In Stock Entry, Process Loss Percentage now recalculates when Finished Goods Qty changes, using Process Loss Qty if it is already filled in. (https://github.com/frappe/erpnext/pull/57321)
  • Adds a check that prevents payment features from being used when the Payments app is not installed and shows a message that the Payments app is missing. (https://github.com/frappe/erpnext/pull/57344)
Other Changes

Authors: @rohitwaghchaure, @nishkagosalia, @Pandiyan5273, @Henil666, @mihir-kandoi, @diptanilsaha, @Sudharsanan11, @Shllokkk Reviewers: @mihir-kandoi, @rohitwaghchaure, @Jatin3128, @ruthra-kumar, @diptanilsaha, @Shllokkk

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:

  • ci
  • style
  • chore
  • build
  • docs
  • refactor
  • test
View originalPermalink
How v16.29.0 went

v16.28.0

Added 2
  • Update the Philippines chart of accounts with revised account names and numbers, including an Intangible Assets section with accumulated amortization accounts and new income and expense accounts for exchange gains and losses, gains and losses on asset disposal, and other expense items
  • Add the Auto Repost Incorrect Valuation Entries (Weekly) option in Stock Reposting Settings to automatically repost incorrect stock valuation entries weekly
Changed 1
  • The General Ledger, Trial Balance, Balance Sheet, and Profit and Loss reports now use a faster data source on supported sites
Fixed 13
  • Default letterheads now skip loading the company logo when a document has no company details so those documents still print and export to PDF
  • Payment Entry now fills in the outstanding and total amounts when you manually choose a Journal Entry in another currency
  • The Budget Variance Report chart now shows monthly actual amounts under the correct month instead of one month earlier
  • In Pick List, barcode scans add a new line when Pick Manually is turned on, and repeated scans increase the picked quantity instead of being limited to the default quantity
  • Show Qty (Company) and Qty (Warehouse) on line items in Sales Order, Quotation, Sales Invoice, and Delivery Note
  • Add access checks for Terms and Conditions templates before they are used in documents and limit the text to the supported template features
Features
  • Updates the Philippines chart of accounts with revised account names and numbers. Adds an Intangible Assets section with accumulated amortization accounts and new income and expense accounts for exchange gains and losses, gains and losses on asset disposal, and other expense items. (https://github.com/frappe/erpnext/pull/57085)
  • Adds the Auto Repost Incorrect Valuation Entries (Weekly) option in Stock Reposting Settings to automatically repost incorrect stock valuation entries weekly. When enabled, it uses "Stock Ledger Variance" and "Stock and Account Value Comparison" to find entries to repost for the current financial year, skips Journal Entry documents, and notifies System Managers when a mismatch cannot be corrected automatically. (https://github.com/frappe/erpnext/pull/56700)
  • The "General Ledger", "Trial Balance", "Balance Sheet", and "Profit and Loss" reports now use a faster data source on supported sites, so they load faster. (https://github.com/frappe/erpnext/pull/57098)
Bug Fixes
  • Default letterheads now skip loading the company logo when a document has no company details, so those documents still print and export to PDF. The grey letterhead also sets fixed widths for the logo and table on printed pages. (https://github.com/frappe/erpnext/pull/57080)
  • Payment Entry now fills in the outstanding and total amounts when you manually choose a Journal Entry in another currency. (https://github.com/frappe/erpnext/pull/57083)
  • The "Budget Variance Report" chart now shows monthly actual amounts under the correct month instead of one month earlier. The Budget Against field is excluded from the chart's month labels, so the chart matches the table. (https://github.com/frappe/erpnext/pull/57081)
  • In Pick List, barcode scans add a new line when Pick Manually is turned on, and repeated scans increase the picked quantity instead of being limited to the default quantity. Scans also keep the unit already on the line when the barcode uses another unit. (https://github.com/frappe/erpnext/pull/57103)
  • Shows Qty (Company) and Qty (Warehouse) on line items in Sales Order, Quotation, Sales Invoice, and Delivery Note. When the Warehouse on a line item changes, both values update. (https://github.com/frappe/erpnext/pull/57105)
  • Adds access checks for Terms and Conditions templates before they are used in documents and limits the text to the supported template features. (https://github.com/frappe/erpnext/pull/56977)
  • Uses currency rounding when matching depreciation schedule rows in Asset to the linked Journal Entry, which helps prevent duplicate postings caused by small decimal differences. (https://github.com/frappe/erpnext/pull/56966)
  • Allows Asset Repair records to be created for assets that are fully depreciated and adds an “Asset Repair” button on the Asset form. For these repairs, Capitalize Repair Cost cannot be edited and the repair does not add to the asset’s value or life. (https://github.com/frappe/erpnext/pull/57077)
  • Transferred Stock Reservation Entry records now copy the original Stock UOM from the item, instead of leaving it blank or using a different unit of measure. This avoids validation errors when submitting Work Orders in affected cases. (https://github.com/frappe/erpnext/pull/57113)
  • Fixes a case where submitting a Stock Entry for items with serial numbers can fail when there are many Serial and Batch Bundle records. The serial numbers are now checked differently for larger lists. (https://github.com/frappe/erpnext/pull/57118)
  • Adds permission checks when showing balances in the chart of accounts, so users only see balances for accounts they can view. (https://github.com/frappe/erpnext/pull/57122)
  • Keeps the transferred quantity on Work Orders that use Job Cards. Updating required items no longer replaces it with the quantity from stock transfer records. (https://github.com/frappe/erpnext/pull/57126)
  • Allows a Purchase Order created from a Material Request to use the same requested item in more than one row. This lets users split the quantity across rows when they need different prices for each line. (https://github.com/frappe/erpnext/pull/57136)

Authors: @Pandiyan5273, @harisansari008, @venkat102, @Sudharsanan11, @diptanilsaha, @ssakthivelmurugan, @SandraFrappe, @ruthra-kumar, @khushi8112, @mihir-kandoi, @rohitwaghchaure, @iamejaaz Reviewers: @ruthra-kumar, @khushi8112, @shreyanshj, @mihir-kandoi

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
  • ci
  • refactor
  • docs
  • test
  • style
View originalPermalink
How v16.28.0 went
View all

Discussion