github frappe/erpnext v16.0.0-beta.1

pre-release12 hours ago

ERPNext Version 16 Beta 1

Features

  • Tree views for Account, Department, and Warehouse now hide entries marked as disabled unless you choose to show them. (#38551)

  • Adds Common Code and Symbol details to common UOM records and creates them automatically during setup. The system stores UOM names in English but shows their translated versions in link fields. (#40663)

  • Adds stock reservation to Production Plan, letting you reserve or release required materials so they stay available for scheduled production. (#47373)

  • Adds a cutoff date selector when creating Delivery Notes from a Sales Order, so only items scheduled on or before the chosen date are included, and introduces a default cutoff option in Selling Settings. (#38561)

  • Adds a Project field to Installation Note to link each installation to its project. (#39719)

  • Adds a "Supplier Numbers" table to Customer and a "Customer Numbers" table to Supplier, letting you record the reference numbers that each partner assigns to your company for every Company. (#47278)

  • Adds a read-only Stock UOM column to the items table in Stock Reconciliation, letting users see each item’s default unit of measure while entering quantities. (#47299)

  • Moves default manufacturing warehouse settings from Manufacturing Settings to Company, letting each company set its own manufacturing warehouses instead of sharing a single global one. (#50507)

  • Adds a list-style item selector in Point of Sale that displays item name, price, UOM and available quantity whenever Hide Images is enabled in the POS profile, so long item names remain fully visible. (#48845)

  • Adds separate Account Name and Account Number columns to exports of "Trial Balance", "Balance Sheet", and "Profit and Loss Statement" reports, letting you work with each value independently in spreadsheets. (#48630)

  • Adds a Dr/Cr column to "Customer Ledger Summary" so the closing balance clearly shows whether it is debit or credit, and hides the unused currency column for a cleaner view. (#47863)

  • Adds "Ledger Preview" to Stock Entry so you can see the expected Accounting Ledger and Stock Ledger impact before you submit. If the entry will not affect the Accounting Ledger, the form now shows a notice instead of an empty table. (#47142)

  • Adds a confirmation pop-up before the posting date is automatically reset to today when Edit Posting Date and Time is off in transactions such as Sales Invoice, Purchase Invoice, and Delivery Note. The prompt is enabled by default and can be toggled in Accounts Settings. (#47667)

  • Adds a Total Invoiced metric to Supplier Scorecard, showing the total quantity billed to each supplier for the selected period. (#37580)

  • Shows a red banner with the failure reason whenever a Payment Request fails and flags failed entries in the list view. (#39468)

  • Moves Is Free Item, Is Alternative Item, and Has Alternative Item checkboxes to the item details section of Quotation Item, making these options quicker to spot when preparing a quotation. (#48050)

  • Adds a mechanism that displays clear warnings when you use features scheduled for removal, helping you prepare for future updates. (#44018)

  • Adds the setup wizard’s record names to the list of translatable text, so they can now appear in your language. (#42802)

  • Adds a dedicated Subcontracting workspace with a sidebar for quicker access to related documents and reports. (#50388)

  • Adds "Landed Cost Report" that lists each Landed Cost Voucher with its linked purchase vouchers and vendor invoices. Stops blocking submission of Landed Cost Voucher when Total Vendor Invoices Cost and Total Landed Cost differ, allowing the voucher to be saved even if the two totals are not equal. (#48893)

  • Adds accounting dimension filters to "Customer Ledger Summary" and "Supplier Ledger Summary" reports. (#44556)

  • Adds email append-to support for Purchase Invoice, so an incoming email now creates a draft invoice even if supplier or item details are not yet provided. (#43282)

  • Adds support for linking Landed Cost Voucher to Work Order and Subcontracting Receipt, so additional charges such as freight become part of the finished item’s cost. (#47970)

  • Adds a search field to the "Create Multiple Variants" dialog in Item so you can quickly filter large lists of attribute values. (#43408)

  • Adds Show Group Accounts filter to "Trial Balance" report; unchecking it hides group accounts so the report lists only individual ledger accounts and their balances. (#48486)

  • Adds Transfer Extra Raw Materials To WIP (%) setting in Manufacturing Settings, allowing users to transfer extra materials to WIP against a Work Order after the required quantities are already moved. (#49503)

  • Shows only non-transporter suppliers in the Supplier dropdown of Purchase Invoice, Purchase Receipt, and Purchase Order. (#46430)

  • You can now save an Item without a Description; the system no longer copies the item name into that field.

  • You can now save an Item without a Description; the system no longer copies the item name into that field.
    The Description field in Subcontracting Order Item rows is also made optional. (#48912)

  • Adds a "Subcontracting" option to Purpose in Material Request. After submitting such a request, the "Create" button lets you generate a subcontracted Purchase Order that automatically pulls the service item from the linked BOM. (#44745)

  • Adds new Subcontracted Sales Order and Subcontracting Inward Order documents that let you record customer-supplied raw materials, reserve stock, start work orders, and track the return or delivery of finished goods and related invoices. Introduces dedicated stock entry types and validations so warehouses, quantities, and serial or batch details match the inward subcontracting flow. (#47728)

  • Adds the ability to link vendor invoices directly in Landed Cost Voucher, letting users reference the original bills when allocating landed costs. (#48869)

  • Adds the .ABBR. placeholder to naming series so document numbers automatically include the company abbreviation. (#43260)

  • Adds an "Other" option to Payment Channel in Payment Request and Payment Gateway Account, letting you send payment links through chat apps or push notifications in addition to email or phone. (#42148)

  • Allows choosing a stock valuation method for each Company, falling back to the method in Stock Settings when no company-specific choice is set. (#50506)

  • Removes an unused internal function for creating Contact records, streamlining the Customer module without affecting current features. (#38063)

  • Adds Symbol, Common Code, and Description fields to UOM so each unit can include its standard code and notation. (#40593)

  • Adds a new default print format for Sales Invoice that shows the company letterhead, includes a detailed tax breakdown, and hides the logo section when no logo is provided. (#49508)

  • Updated the Sales Invoice so that setting a Project no longer automatically adds unbilled timesheets; this allows users to link invoices to projects without including timesheets. (#44295)

  • Adds new "Timesheet Billing Summary" report that replaces "Employee Billing Summary" and "Project Billing Summary" and lets you filter by employee, project, and date. The report automatically hides filtered columns and adjusts the grouping to keep the view clear. (#37451)

  • Removes "Bank Account" and "Pricing Rule" create buttons from the Supplier form, so users now add these records from the Connections tab instead. (#49843)

  • Adds Allow Partial Payment setting in POS Profile, enabling cashiers to accept and record partial payments on POS Invoice; also introduces a "Collect Outstanding Amount" dialog and corrects the outstanding amount shown on each invoice. (#48246)

  • Adds an Is Composite Component checkbox to Asset, letting you record parts of a larger asset without entering an Available for Use Date or creating depreciation and GL entries. (#47602)

  • Adds a User field to Driver that auto-fills from the linked employee, allowing the system to send notifications to drivers who have an internal login. (#39638)

  • Adds a periodic accounting feature that lets companies using periodic inventory record "Stock In" and "Stock Out" balances through Journal Entry. (#48126)

  • Default records created by the setup wizard—like Stock Entry Type and Project Type—now display in the user’s chosen language while still being stored in English. (#42803)

  • Adds Reporting Currency to Company and records exchange-rate-based debit and credit amounts in that currency on GL Entry and Account Closing Balance. Migrates last fiscal year’s data when the required exchange rates are available. (#49281)

  • Adds an Is Half Day option when adding holidays to Holiday List, allowing you to record half-day holidays that the system now treats separately from full-day ones. (#50538)

  • Adds In Party Currency checkbox to "Accounts Receivable" and "Accounts Payable" reports, letting you view amounts in the customer’s or supplier’s currency instead of the company currency. (#37746)

  • Adds the new Financial Report Template framework, including Financial Report Row and Account Category, so you can create Profit & Loss or Balance Sheet statements in any layout and apply your own formulas. (#49098)

  • Adds "Consolidated Trial Balance" report that displays combined account balances for selected companies in one view. The report converts figures from different company currencies to the parent’s reporting currency and records any exchange-rate gap in a Foreign Currency Translation Reserve line to keep totals balanced. (#49712)

  • Adds "Subcontracting" type to Material Request and prevents creating Purchase Orders or requests that exceed the remaining sub-assembly quantity in the linked Production Plan.

  • Adds "Subcontracting" type to Material Request and prevents creating Purchase Orders or requests that exceed the remaining sub-assembly quantity in the linked Production Plan.
    Production Plan Summary now lists all submitted Purchase Orders and Work Orders and shows the correct received quantities for subcontracted orders. (#44988)

  • Adds a Disabled checkbox to Project Template and lets you rename templates, making it easy to hide or retitle those you no longer use. (#46491)

  • Removes the outdated German Chart of Accounts template "SKR04 ohne Kontonummern". Renames the remaining German Chart of Accounts templates for consistent naming. (#38805)

  • Adds Exchange Rate and Base Amount fields to Advance Payment Ledger Entry and auto-fills them from Employee Advance payments. Uses this rate in the related Payment Entry and updates it on Journal Entry refresh so multi-currency Expense Claims and advance returns post the correct amounts to the general ledger. (#50560)

  • Groups related sections in the POS Invoice form into new "Payments", "Address & Contact", "Terms", and "More Info" tabs, letting you switch between details without long scrolling. (#48683)

  • Adds support for uploading SWIFT MT940 files in Bank Statement Import, letting you import bank statements provided in this standard format. (#48013)

  • Adds a preview pop-up to Account records that shows the Parent Account, allowing users to distinguish similarly named accounts at a glance. (#39293)

  • Allows selecting multiple Purchase Invoice entries in a single Asset Repair record and automatically totals their amounts. (#43460)

  • Adds a Company field to Vehicle so each vehicle can be linked to the correct company in multi-company setups. Renames the Manufacturer field to Make. (#45415)

  • Adds "Show Future Payments" filter to Process Statement of Accounts for account receivable reports, allowing you to include or exclude upcoming payments. (#49373)

  • Adds options in Job Card operations to record raw materials used and the semi-finished or finished goods produced. Users can also raise subcontracting purchase orders directly from an outsourced operation. (#38341)

  • Adds Persian to the language list in System Settings, allowing users to display the interface in Persian. (#40178)

  • Adds an Income Account filter to the "Item-wise Sales Register" report, allowing users to view sales data for a specific revenue account. (#39384)

  • Process Statement Of Accounts now accepts custom print layouts for General Ledger and Accounts Receivable reports, so the generated PDFs and emails use your chosen design. (#46011)

  • Adds the Use Sales Invoice in POS switch under Accounts Settings. When turned on, POS creates Sales Invoices instead of POS Invoices, updating stock and accounts as soon as the sale is made. (#46485)

  • Adds a "Subcontracting" section to the Manufacturing workspace with direct links to Subcontracting BOM, Subcontracting Order, Subcontracting Receipt and related reports, so users can open subcontracting records straight from the Manufacturing module. (#45097)

  • Adds version-specific deprecation alerts that state exactly when an outdated feature becomes an error or will be removed. The system now shows either a warning or an error depending on how close that removal date is, giving clearer guidance on what needs to be updated. (#44307)

  • Translates each field label with awareness of its parent DocType, allowing identical labels to display context-appropriate translations on different forms. (#39936)

  • Adds internal tests that verify Production Plan calculates required quantities correctly when using complex Bills of Materials. (#41936)

  • Adds "Sales Order" and "Quotation" buttons to the Customer form, allowing you to open a new order or quote already filled in with the selected customer without leaving the page. (#37320)

  • Adds a setting in Company to track inventory value by item or item group instead of by warehouse, and introduces an Inventory Account field in Item for selecting the relevant account. (#50193)

  • Adds new Service Expense Account field to Company. If a service item lacks its own expense account, this company-level account is used automatically. (#50007)

  • Adds stock reservation to Work Order: raw materials are reserved on submission and finished goods are held for the linked Sales Order after manufacturing. Provides an "Unreserve Raw Materials" button to release the reserved items when needed. (#43270)

  • Adds new Master Production Schedule and Material Requirements Planning views that calculate upcoming production and purchase needs from sales order schedules, giving planners a consolidated look at demand and available stock. (#49184)

  • Adds "Show Account Name and Number" option to "Trial Balance" report, so account name and account number appear in separate columns. (#48539)

  • Adds a confirmation prompt that, upon approval, automatically clears the Payment Terms Template and the Payment Schedule table instead of merely showing a reminder. (#40051)

  • Adds "Serial No and Batch Traceability" report for tracking where each batch or serial number comes from and where it is used or delivered.

  • Adds "Serial No and Batch Traceability" report for tracking where each batch or serial number comes from and where it is used or delivered.
    Updates Serial No records with source document details so the report shows clickable links to the originating transactions. (#48950)

  • Adds stock reservation to Subcontracting Order: you can now reserve or release the required raw materials with the "Stock Reservation" button, and the subsequent "Send to Subcontractor" entry automatically pulls in the reserved serial or batch numbers. (#50235)

  • Adds Discretionary Reason field to Loyalty Point Entry for noting why points were awarded and makes key details like Loyalty Program, Customer, and Expiry Date mandatory. (#42135)

  • Adds Is Phantom BOM setting to BOM; phantom assemblies, including multi-level ones, now expand to their raw materials in Work Orders, Production Plans, and reports without creating separate production steps. Hides the "Create" button on phantom BOMs to prevent accidental production orders. (#50351)

  • Adds a Print Format field to Process Statement Of Accounts so you can print the statement with any compatible Jinja report layout. The form shows only enabled formats for the chosen report and keeps the original template if you leave the field blank. (#49584)

  • Adds Purchase Expense Account and Purchase Expense Contra Account to Company and Item Defaults, letting purchase receipts and invoices appear as purchases in financial reports without changing the net balance. Also allows setting a default COGS account for each item, item group, or brand to refine cost tracking. (#49834)

  • Displays the item name alongside the item code in the "Update Items" dialog, removing the need to hover to identify each product. (#45247)

  • Adds the 2018-06 French chart of accounts for non-profit organisations, so French NPOs can set up their books with the appropriate account structure. (#43735)

  • "Sales Analytics" report now delivers chart data to dashboards without needing you to select rows first. It adds a "Curves" filter and new document choices (such as Quotations and Payment Entries) so you can decide whether to plot all, non-zero, or total lines. (#40775)

  • Adds the ability to use a custom HTML format for Process Statement of Accounts so that PDFs for "General Ledger" or "Accounts Receivable" can be downloaded or emailed. (#45746)

  • Shows Item Name next to item code in the item selection dialog when creating a Work Order from a Sales Order, making it easier to identify each item. (#48210)

  • Adds UTM Campaign, UTM Source, UTM Medium, and UTM Content fields to transactional documents for more detailed marketing tracking, replacing the previous Campaign and Source fields. (#42074)

  • The CRM "Activities" panel now shows completed tasks and past events alongside open items. (#46774)

Performance

  • Saving accounting and stock documents now happens faster thanks to cached budget checks, pricing rules, and stock quantities. The update also removes redundant database lookups, reducing wait times during submission. (#47899)

  • Speeds up submission of Delivery Note forms by checking approval limits through a cached Authorization Control record instead of reloading it each time. (#47948)

  • Calculates Total Monthly Sales in Company using precise date ranges, so only invoices from the current month are included and the update runs faster. (#48942)

  • Bank Clearance now checks all payment rows together and lists any missing documents or date mismatches before updating the Clearance Date. (#48291)

  • Speeds up Payment Entry and Journal Entry forms by skipping account balance calculations that are not shown to the user. (#47972)

  • Importing Customer records now completes faster by skipping an unnecessary database lookup. The system no longer runs internal-customer validation on regular customers, preventing unwanted errors when saving. (#47738)

  • Skips retrieving linked Call Log entries when none exist, reducing unnecessary processing during record loading. (#47930)

  • Reads Selling Settings and Stock Reposting preferences from cache, reducing wait times when opening selling and stock repost pages. (#47949)

  • Creating a new Pricing Rule from the Customer or Supplier form now opens instantly, removing the previous delay caused by a server call. (#49285)

  • Reduces memory use by roughly 50 % when generating the "Stock Ageing" report, so the report opens faster and handles large data sets more reliably. (#39346)

  • Optimizes "Stock Ageing" report to fetch stock ledger entries one row at a time, allowing it to run successfully with very large record sets while using less memory. (#39399)

  • Reduces database checks when you save or submit GL Entry, Stock Ledger Entry, and Payment Ledger Entry records, making these actions faster. The system now verifies any ongoing deletion task only once per request instead of repeating the check for every entry. (#50003)

  • Speeds up the "General Ledger" report, so it loads faster when handling large numbers of transactions. (#47224)

  • Speeds up submitting Delivery Note documents when SABB is enabled, so the document finalizes much faster and users no longer wait through a long loading screen. (#50424)

  • Removes an extra server call for fiscal year data at page startup by caching the current fiscal year on login, so pages open faster. (#41871)

  • Speeds up submitting and cancelling Purchase Invoice documents containing many service items when provisional accounting is active.

  • Speeds up submitting and cancelling Purchase Invoice documents containing many service items when provisional accounting is active.
    Fixes missing provisional entries for non-stock items. (#40456)

  • Moves periodic background tasks to the maintenance queue so they still run hourly or daily but at staggered times, reducing load surges at midnight and on the hour. (#47504)

  • Retrieving Item details now uses cached information and skips redundant unit-of-measure checks, so adding items or validating stock transactions loads faster. (#47929)

  • Fetches all related Purchase Order dates in one step, making buying documents quicker to save and showing a single warning that lists every order dated after the document’s Posting Date. (#48325)

  • Speeds up creation and submission of large Stock Reconciliation entries, so they load and save faster when many items are listed. (#47783)

  • Reuses cached account details to speed up validations when posting accounting entries. Limits outstanding balance updates to Sales Invoice, Purchase Invoice, and Fees, skipping redundant checks on Journal Entry. (#48413)

  • Caches child warehouses within a single request, reducing repeated lookups and speeding up stock documents with many items. (#47837)

  • Status updates and repost actions now complete faster because the system loads related records only when they are needed, reducing waiting time on large datasets. (#48017)

  • Speeds up reposting of Purchase Receipt, Stock Entry, and Subcontracting Receipt documents by skipping unnecessary budget checks, so the process finishes noticeably faster. (#48933)

  • Skips unnecessary currency label updates in Sales Invoice and similar transaction forms, reducing screen freezes when editing documents with many items. (#49848)

  • Retrieves Stock Settings from cache instead of the database, making stock-related actions load faster. (#47945)

  • Reuses cached Accounts Settings instead of fetching them each time, shortening loading times during accounting tasks. (#47947)

  • Fetches only the first relevant price entry for each item, reducing database load and speeding up price look-ups in transaction forms. (#40577)

  • Fetches the Make Payment Via Journal Entry option from cached Accounts Settings data instead of querying the database on every load, so accounting documents open faster. (#47838)

  • Speeds up submitting large documents with many items by fetching all quantity checks in a single step instead of running repeated database look-ups. (#49940)

  • Speeds up uploading new Item records by omitting unnecessary price updates, variant checks, and database lookups during import. (#47734)

Refactor

  • Lists now sort records by their creation time (newest first) instead of their last update, so the most recently added entries appear at the top even if they have never been edited. (#40699)

  • Removes the redundant Title field from sales transaction documents, so each document now shows Customer Name as its title. (#45115)

  • Removes the obsolete make_bank_account API for creating Bank Account entries; regular form-based creation continues to work as before. (#49001)

Uncategorized

  • The warning that asks you to specify a missing field before fetching item details now shows the field name in your selected language. (#38043)

  • Restores the previous behaviour of Journal Entry records, undoing the recent change that automatically assigned against accounts in ledger entries. (#39363)

  • Fixes GoCardless checkout failure when a contact has no Last Name, allowing the payment to proceed without that detail. (#15554)

  • The ERPNext app shortcut now opens directly on the Home page again instead of the intermediate workspace. (#43247)

  • Clicking "Update Serial Number" in Serial and Batch Bundle no longer fails when Qty is blank; the system now assumes a quantity of 1. The update also prevents crashes caused by missing values during Journal Entry validation and chart-of-accounts CSV import. (#38427)

  • Updates default Swiss VAT rates to match 2024 changes: standard 8.1 %, reduced 2.6 %, and lodging 3.8 %. (#42902)

  • Adds the standard Algerian chart of accounts, letting companies in Algeria start with locally compliant account numbers. (#47038)

  • Updates interface texts with revised translations in multiple languages. (#15620)

  • Replaces the ERPNext logo with a sharper SVG version and switches the Home workspace icon to a house symbol. Corrects the link to Purchase Invoice in the supplier apps list. (#45938)

  • Removes an obsolete timeline import from Supplier, preventing errors when opening supplier records. (#41299)

  • Reverts the recent adjustment to how transaction-currency amounts are recorded, returning Journal Entry postings in the General Ledger to their previous calculation method. (#39366)

  • Limits the Supplier dropdown in Purchase Order, Purchase Receipt, and Purchase Invoice to suppliers not designated as transporters. (#50288)

  • Removes the strict link check between selected addresses or contacts and their customer or supplier, so invoices and other accounting documents no longer fail to save when the Billing Address, Shipping Address, or Contact Person is not formally attached to that party. (#46448)

  • Adds the German translation "Konkurrent" for Competitor. (#37981)

  • Adds a Phone Number field to Payment Request that appears and becomes mandatory when the payment channel is set to Phone. The entered number is passed to the payment gateway so phone-based transactions can proceed without extra steps. (#45081)

  • Updates French, Spanish, Arabic, and German translations across the interface so labels and messages appear in these languages. (#40052)

  • Removes the warning toast that appeared when an item's rate is zero and Allow Zero Valuation Rate is disabled during stock transactions. (#48014)

  • Introduced a Phone Number field in Payment Request that appears when the Payment Channel is set to "Phone", enabling integration with phone-based payment systems like Mpesa STK Push. (#44949)

  • Removes the Newsletter link from the Settings workspace, preventing an empty placeholder when the Newsletter app is not installed. (#49308)

  • Reverts the recent change in internal test data formatting; regular use remains unchanged. (#46591)

  • The "General Ledger" report now displays related against-voucher transactions and accurate opening, total, and closing balances when you filter by Voucher No without using grouping. (#44533)

  • Fixes the cash-flow section of "Consolidated Financial Statement" to display each company’s actual figures instead of repeating the parent company’s amounts. Keeps Voucher Type in "General Ledger" untranslated so its links work correctly in non-English interfaces. (#40716)

  • Default Warehouse records created during company setup now leave Warehouse Type blank when no type is specified, preventing errors from missing data. (#38660)

  • Returns the job ID when starting a Bank Statement Import, so the system can delete the temporary import file once the import job finishes. (#45111)

  • Changes Accounting Dimension filter to multi-select on "Trial Balance", "Accounts Payable", "Accounts Payable Summary", "Accounts Receivable", and "Accounts Receivable Summary" reports and keeps your chosen dimensions when you drill down to related financial statements. (#50289)

Authors: @deepeshgarg007, @rahulgupta8848, @Jebajebas, @debinnn, @ruthra-kumar, @fzozyurt, @ravibharathi656, @kavin-114, @akhilnarang, @nabinhait, @muruthigitau, @rohitwaghchaure, @FHenry, @marcramser, @venkat102, @lauty95, @KerollesFathy, @0xD0M1M0, @eagleautomate, @yash14023, @sokumon, @elshafei-developer, @karm1000, @wojosc, @maheini, @sagarvora, @nliechti, @akashdubey22, @Nandhinidevi123, @l0gesh29, @khushi8112, @NagariaHussain, @vorasmit, @UmakanthKaspa, @casesolved-co-uk, @blaggacao, @Rl0007, @s-aga-r, @iamkhanraheel, @Mutantpenguin, @navinrc, @sumitbhanushali, @SteveWilson5, @Karuppasamy923, @rtdany10, @maniamartial, @Vishnu7025, @GursheenK, @Sugesh393, @ljain112, @chdecultot, @ankush, @Jaswanth-Sriram-Veturi, @anandbaburajan, @KhaledBinAmir, @rs-rethik, @PatrickDEissler, @n-traore, @yashhhYB, @rehanrehman389, @Nihantra-Patel, @diptanilsaha, @Abdeali099, @prateekkaramchandani, @Shankarv19bcr, @asmitahase, @Sudharsanan11, @maasanto, @mihir-kandoi, @barredterra, @meera-greycube, @marination, @cogk, @hyaray, @half-ware, @HenningWendtland, @iamejaaz, @ZeWaren, @niyazrazak
Reviewers: @deepeshgarg007, @rohitwaghchaure, @Abdeali099, @ankush, @khushi8112, @ruthra-kumar, @NagariaHussain, @shariquerik, @akhilnarang, @mihir-kandoi, @vorasmit, @barredterra, @sagarvora, @nabinhait, @rmehta, @iamejaaz, @Gubbu77, @marination, @Vigneshsekar, @blaggacao, @rtdany10, @s-aga-r, @cogk, @diptanilsaha

AI content

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

Don't miss a new erpnext release

NewReleases is sending notifications on new releases.