Updated daily

What's New in Frappe

Every notable change across the Frappe ecosystem.

Updating…

Today — Tuesday, October 27

ERPNext 40.6k 31 updates
feat stock-manufacturing 1 day ago

Rebuild BOM Creator with CAD import, revisions and operations

BOM Creator gets a design view with CAD import, revisions and operations.

@rohitwaghchaure #62288 Read
fix accounting 1 day ago

Backport support, telephony and utilities bug fixes from develop

Support Hour Distribution counts each issue in exactly one slot and respects user permissions, along with telephony and utilities fixes from develop.

@nabinhait #62164 Read
fix accounting 1 day ago

Backport accounts ledger and register report bug fixes from develop (rewritten for v16)

A batch of Accounts Payable, Receivable and register report fixes from develop, rewritten for v16's code.

@nabinhait #62211 Read
fix stock-manufacturing 1 day ago

Reinstate duplicate entry check for manufacture entries (backport #58004)

fix: reinstate duplicate entry check for manufacture entries (backport #58004)

@mihir-kandoi #62506 Read
fix stock-manufacturing 1 day ago

Reinstate duplicate entry check for manufacture entries (backport #58004)

The duplicate Manufacture entry check honours the overproduction allowance again.

@mihir-kandoi #62505 Read
fix accounting 1 day ago

Validate target asset when fetching WIP composite asset items (backport #61974)

The target asset is validated before its tagged Purchase Receipt items are fetched.

@khushi8112 #62480 Read
fix accounting 1 day ago

Validate asset when fetching capitalization asset details

fix(assets): validate asset when fetching capitalization asset details

@khushi8112 #62509 Read
fix stock-manufacturing 1 day ago

Carry opening balance in Stock Analytics (backport #60967)

Periods without movements show the opening balance from before the report range, not zero.

@krishna-254 #62129 Read
fix stock-manufacturing 1 day ago

Validate UOM constraints in documents

Fractional quantities are rejected for subcontracted Finished Goods with a whole-unit UOM, and related UOM merge defects are fixed.

@krishna-254 #62358 Read
fix stock-manufacturing 1 day ago

Exclude delivered serials from historical availability

Stock Reconciliation no longer counts serial numbers already delivered at the same posting time, which had set the quantity above the ledger.

@krishna-254 #61884 Read
fix accounting 1 day ago

Keep zero rate quoted by supplier on portal (backport v16 62269)

fix: keep zero rate quoted by supplier on portal (backport v16 62269)

@nishkagosalia #62301 Read
fix accounting 1 day ago

Keep zero rate quoted by supplier on portal (backport 62269)

fix: keep zero rate quoted by supplier on portal (backport 62269)

@nishkagosalia #62300 Read
fix accounting 1 day ago

Keep zero rate quoted by supplier on portal

A zero rate quoted on the RFQ portal stays zero, and a buying pricing rule no longer overrides the supplier's rate.

@nishkagosalia #62269 Read
fix accounting 1 day ago

Translate accounting dimension validation labels

fix(accounts): translate accounting dimension validation labels

@Sudharsanan11 #62431 Read
fix accounting 1 day ago

Prevent incorrect rebilling and invoice generation past subscription end date

A Bill-N-days-before subscription no longer rebills its last period, and it stops generating invoices past the end date.

@Sudharsanan11 #61719 Read
fix accounting 1 day ago

Keep service dates on rows where deferred accounting is off

Saving a Sales or Purchase Invoice no longer clears service start and end dates on rows without deferred accounting.

@AdleenaLobo #62097 Read
fix accounting 1 day ago

Invalidate Fiscal Year boot cache

The Accounting dashboard no longer shows a stale "Start Year and End Year are mandatory" message after a Fiscal Year is deleted or recreated.

@kwyj1bo #60562 Read
fix accounting 1 day ago

Fix Exchange Gain or Loss direction for journal-settled foreign currency payables

Exchange gain or loss is posted in the correct direction when a foreign-currency payable created by Journal Entry is settled at a different rate.

@ervishnucs #58741 Read
fix accounting 1 day ago

Reject duplicate Sales Order lines in a Proforma Invoice

A Proforma Invoice refuses two rows for the same Sales Order line, which had been dropped from the PDF but still counted in totals.

@nabinhait #62413 Read
fix stock-manufacturing 1 day ago

Restore finished good qty on job card transfers made from a material request

A patch sets the Finished Good Qty on submitted transfers made from a Job Card's Material Request, then recomputes the Job Card's transferred qty and status.

@mihir-kandoi #62572 Read
fix accounting 1 day ago

Let HR users set the image of an employee linked to a user

HR Users can set an employee image without User write access, because the User save attaches the image instead of a separate File insert.

@mihir-kandoi #62566 Read
fix accounting 1 day ago

Count coupons once across linked invoices

Coupons consumed by a Sales Order are no longer validated and counted again on its Sales Invoice, which had blocked single-use coupons.

@Pandiyan5273 #59581 Read
fix accounting 1 day ago

Quotation status recompute, alternative-set status, and lost/expired guards

Quotation status is recomputed after Update Items, and the server now refuses edits on Lost, Ordered, inactive or expired quotations.

@Shllokkk #62623 Read
fix accounting 1 day ago

Stale quotation ordered_qty on SO Update Items & cross-party Get Items

Sales Order Update Items now recomputes the source Quotation's ordered quantity, and Get Items From Quotation no longer overwrites a non-empty customer, currency or company on the header.

@Shllokkk #62599 Read
fix accounting 1 day ago

Round cost center allocation percentage total

Percentages that total 100 after floating-point rounding now pass validation.

@Pandiyan5273 #62553 Read
fix accounting 1 day ago

Refresh invoice status after returns

A linked Credit or Debit Note with Update Outstanding for Self now refreshes the original invoice's status, so a paid invoice shows Credit Note Issued instead of Paid.

@Pandiyan5273 #59548 Read
fix stock-manufacturing 1 day ago

Check opening stock reconciliation per company

The opening-stock check looks only at the company being reconciled, so another company's transactions can no longer let a Profit and Loss account be used for opening stock.

@Pandiyan5273 #62578 Read
fix accounting 1 day ago

Cancel return exchange journals on unreconciliation

Fully unreconciling a system Credit or Debit Note now cancels its Exchange Gain or Loss Journal Entry, so the exchange difference is not booked twice on re-reconciliation.

@Pandiyan5273 #62251 Read
fix accounting 1 day ago

Apply user permissions in party balance reports

Trial Balance for Party and the Customer/Supplier Ledger Summary check company permission and apply GL Entry user permissions.

@diptanilsaha #62555 Read
fix accounting 1 day ago

Apply user permissions to cost centers, projects and dimensions

Cost Centers, Projects and Accounting Dimension values shown in the report are limited to what the user can read.

@diptanilsaha #62523 Read
fix stock-manufacturing 1 day ago

Check read permission on outgoing stock entry in set_items_for_stock_in

Reading the items of an outgoing Stock Entry now requires read permission on that entry, so a user fenced out by User Permissions cannot read it by name.

@mihir-kandoi #62479 Read
Frappe 11k 37 updates
fix framework 1 day ago

Skip Studio Cypress binary installation outside tests

fix: skip Studio Cypress binary installation outside tests

@BreadGenie #45266 Read
fix ui-ux 1 day ago

Type-check the desk with tsc and fix every error it reports

The desk v2 frontend type-checks cleanly with tsc, and CI now runs it.

@shariquerik #45335 Read
feat framework 1 day ago

Vue Component fieldtype

A display-only Vue Component fieldtype puts an app's island into a form and keeps it in step with the doc.

@sokumon #45003 Read
feat framework 1 day ago

The index boot lists one tile per app

The /apps index shows one tile per app that declares an `add_to_apps_screen` hook.

@shariquerik #45328 Read
feat ui-ux 1 day ago

One set of page states with a retry for home, list and record

Home, list and record pages share one set of states, including offline and failed with Try again.

@shariquerik #45292 Read
feat ui-ux 1 day ago

The not found state offers the app's home

The not found state gets a "Go to app home" action, or "Go to all apps" on the /apps index.

@shariquerik #45307 Read
feat ui-ux 1 day ago

The Settings Dialog DocType and the settings component path

Apps can declare settings panes and blocks in a Settings Dialog record, which the server merges into one pane list.

@shariquerik #45249 Read
feat ui-ux 1 day ago

Generated settings blocks that load, edit and save a Single or Record binding

Settings blocks load, edit and save a Single or Record binding in settings rows.

@shariquerik #45306 Read
feat ui-ux 1 day ago

The settings pane-list endpoint, its permission filter, label index and cache

One GET returns the settings panes and blocks a user may see, with a search label index.

@shariquerik #45269 Read
feat ui-ux 1 day ago

The settings dialog, its address, page.openSettings and the rail menu entries

The settings dialog opens at a shareable address, and `page.openSettings()` opens it.

@shariquerik #45283 Read
feat ui-ux 1 day ago

The act runtime — dispatcher, page.run, ActDenied and the act fields

Scripts can run any header item, quick action or tab entry by name with `page.run`, and every click goes through one act dispatcher that checks the act first.

@shariquerik #45339 Read
feat ui-ux 1 day ago

The index page at /apps

/apps becomes a full-page launcher with a filter box over one tile per app.

@shariquerik #45345 Read
feat ui-ux 1 day ago

Search the settings dialog

The settings dialog gets a search box that matches pane, block and field labels and descriptions.

@shariquerik #45337 Read
feat ui-ux 1 day ago

Component blocks and the after-save registry

A settings component block loads its app's Vue file, and saves refresh the rail and page.

@shariquerik #45336 Read
feat ui-ux 1 day ago

The list surface and the list page's named acts

Create, Customize Quick Filter and Delete on the list page become named acts that scripts and keys can run.

@shariquerik #45348 Read
feat ui-ux 1 day ago

The index shows Favourites

The /apps index shows the person's eight latest favourite records as chips, skipping any they can no longer read.

@shariquerik #45349 Read
feat ui-ux 1 day ago

Bind act keys through useKeyboardShortcut

An act's key binding runs the act through the dispatcher, with the same checks a click gets.

@shariquerik #45347 Read
feat ui-ux 1 day ago

V2 writes Route History, and the index shows Recent

Desk v2 records visits to Route History and the index lists recently opened items.

@shariquerik #45354 Read
feat ui-ux 1 day ago

Arrange and hide the index tiles

The /apps index tiles can be reordered by drag or keyboard, and hidden, with Reset to clear the choice.

@shariquerik #45350 Read
feat ui-ux 1 day ago

The command palette in the shell, on Mod+K and the rail

Desk v2 gets a command palette on Mod+K listing the page's acts, the shell's acts, and recently opened places and records.

@shariquerik #45351 Read
feat ui-ux 1 day ago

The shell surface, its acts, and the menus drawn from them

The rail's app menu, avatar menu and sidebar toggle become named acts, so scripts, keys and the palette can run them.

@shariquerik #45356 Read
feat ui-ux 1 day ago

The acts.js contribution kind for an app's global acts

An app can ship a `frontend/acts.js` file to add global acts to the shell surface, lazily loaded.

@shariquerik #45358 Read
feat ui-ux 1 day ago

Places in the palette, with Go to, Create and Tab to narrow to a doctype

The palette reaches any doctype, app, sidebar row or settings pane the person can see, starts a New record, and narrows to one doctype with Tab.

@shariquerik #45360 Read
fix ui-ux 1 day ago

Change the address and the page frame at once

Clicks update the address, sidebar and page frame immediately, with a skeleton while the page loads (under Refactors & Performance).

@shariquerik #45282 Read
fix ui-ux 1 day ago

The new record page draws the shared page states

The new record page shows the standard not found, no permission, offline and failed states, with a retry, instead of raw error text.

@shariquerik #45316 Read
fix ui-ux 1 day ago

Land an app's and a module's address on the first sidebar row

Opening an app or module's bare address redirects to its first sidebar row instead of a developer page of tiles.

@shariquerik #45341 Read
fix framework 1 day ago

Action result columns, centered loaders, Espresso buttons, lucide icons

Flow action results show as table columns, loaders sit at the top, and icons are Lucide.

@ShrihariMahabal #45214 Read
fix framework 1 day ago

Match the text spacing of other inputs

Link, Autocomplete and multiselect text uses the same letter spacing and font as Data and Select fields.

@sumitjain236 #45321 Read
fix framework 1 day ago

Show disable report button on standard reports

The Disable Report and Enable Report button appears again for users who can edit reports.

@iamejaaz #45231 Read
fix framework 1 day ago

Footer page numbers and print access logs (backport #45084, #45170)

Chrome footers that wrap keep correct page numbers, and emailed and bulk prints run the on_print_pdf hooks and write access logs.

@iamejaaz #45216 Read
fix framework 1 day ago

Print the label of an attach image field on the standard format

An Attach Image field prints its label beside the image on the Standard print format.

@iamejaaz #45234 Read
fix ui-ux 1 day ago

Saving a builder print format as custom format fails

Ticking custom format on a builder print format and saving it no longer raises an AttributeError.

@kaulith #45230 Read
fix framework 1 day ago

Typst pdfs leave out the draft and cancelled heading

Typst PDFs now print the DRAFT and CANCELLED heading the way Chrome does.

@kaulith #45226 Read
fix framework 1 day ago

In-document links break with a header, footer or bulk print

Internal PDF links point to their target page and position after a header, footer or bulk print merge.

@kaulith #45224 Read
fix framework 1 day ago

Let nothing but the shell serve a path under /apps

After migrate, a Studio App route can no longer take over /apps and the desk address.

@shariquerik #45271 Read
fix framework 1 day ago

Check only website routes against the /apps reservation

A Studio page routed to /apps can be saved again; only real website routes reserve the path.

@shariquerik #45245 Read
fix framework 1 day ago

Keep the OIDC `sub` claim immutable after user creation

A signed-in user with write access to their own User record could change their OIDC `sub` and be seen as another account. The `sub` is now re-asserted from the stored value on every save and can no longer be changed once generated.

@ssiyad #45247 Read
HR 9k 1 update
fix hr-payroll 1 day ago

Fix the Shift Request overlap check (ignore rejected requests)

Rejected Shift Requests no longer block a new request for the same dates.

@nareshkannasln #5501 Read
CRM 3.9k 3 updates
feat crm-sales 1 day ago

Log a call from the desk v2 palette

CRM adds a global "Log a call" act, so a Sales User can log a call from any desk v2 page with Ctrl or Cmd+K.

@shariquerik #3191 Read
fix crm-sales 1 day ago

Scroll fields inside create lead and deal modals

The create modals on iPad scroll their fields inside the dialog, so all fields are reachable.

@ps173 #3186 Read
fix crm-sales 1 day ago

Search the full comment text in the Comments list filter

The Comments filter searches the full Comment doctype text, not the truncated cache on the parent doc.

@P-yiush07 #3033 Read
LMS 3.3k 2 updates
feat other-apps 1 day ago

Enroll many students at once from course and batch dashboards

Staff can enroll many students in a course or batch in one dialog, with optional payment records.

@raizasafeel #3154 Read
fix other-apps 1 day ago

Let frappe build and schedule the learning index

The LearningSearch override is removed so frappe's own build_index runs.

@pateljannat #3149 Read
b Builder 2.5k 2 updates
fix ai 1 day ago

Run migrate without importing litellm (backport #1000)

fix(ai): run migrate without importing litellm (backport #1000)

@surajshetty3416 #1001 Read
fix ai 1 day ago

Run migrate without importing litellm

The upgrade_ai_models patch no longer imports litellm, so bench migrate passes on sites where litellm cannot import.

@surajshetty3416 #1000 Read
p Press 575 5 updates
fix other-apps 1 day ago

Prefer IPv4 when the endpoint host is dual-stack

Webhook delivery prefers the IPv4 address on dual-stack hosts so a control plane without IPv6 egress does not fail.

@RaphaelFakhri #7799 Read
fix other-apps 1 day ago

Bump vulnerable dependencies within fc-prod pins

Clears pip-audit's 116 known vulnerabilities by removing python-telegram-bot and bumping dependencies inside the production pins.

@ssiyad #7876 Read
fix other-apps 1 day ago

Check partner owns the team in partner customer list

fix(invoice): Check partner owns the team in partner customer list

@ssiyad #7875 Read
fix other-apps 1 day ago

Check partner owns the team in partner customer list

The partner customer invoice list now confirms the requested team is one of the current partner's customers before querying.

@ssiyad #7873 Read
fix other-apps 1 day ago

Check backup URLs before Press fetches them

Restore-from-site and Remote File now fetch URLs through the same SSRF checks webhooks use, including each redirect target.

@ssiyad #7879 Read
o Other 25 updates
feat other-apps 1 day ago

Advertise 3.1.0 at c2d6011a and 5c0b031e

feat(raven): advertise 3.1.0 at c2d6011a and 5c0b031e

@nikkothari22 #89 Read
feat other-apps 1 day ago

The line says where the time went, and what the vendor said of the hop

Access logs break down time per stage and per network hop.

@phot0n #17 Read
feat other-apps 1 day ago

Stock, a frappe-ui style catalogue

Adds a Stock store catalogue template in the frappe-ui visual style.

@surajshetty3416 #13 Read
feat other-apps 1 day ago

Key cap windows

Trial keys are minted as one-shot keys with spend tracked in pathway, and the central team is renamed to the Grove team.

@phot0n #73 Read
feat other-apps 1 day ago

Integrate Razorpay checkout functionality

Fixes Razorpay checkout click-blocking by adjusting z-index.

@prathameshkurunkar7 #700 Read
feat other-apps 1 day ago

Offer a bigger plan when a trial converts

After a trial converts, the Billing panel offers a bigger plan.

@prathameshkurunkar7 #698 Read
feat other-apps 1 day ago

Explain that adding a card only sets up billing

The payment method form says a card bills at the next cycle, not now.

@prathameshkurunkar7 #701 Read
feat other-apps 1 day ago

Prefer images with time for host caching

Signup prefers the newest Pilot image at least 30 minutes old, so hosts have time to cache it.

@tanmoysrt #564 Read
feat other-apps 1 day ago

Block reserved customer domains

Operators can reserve exact or prefix domain names so customers cannot claim infrastructure names.

@tanmoysrt #575 Read
feat other-apps 1 day ago

A pool of trial keys minted ahead

Free trial servers get a Grove key from a pool that Central keeps ready.

@phot0n #546 Read
feat other-apps 1 day ago

Create a template from an uploaded PDF in one call

One whitelisted call creates a template from an uploaded PDF and returns its detected fields and page images.

@sumitjain236 #10 Read
fix other-apps 1 day ago

Link loan disbursement to repayment schedules made in v15

fix: link loan disbursement to repayment schedules made in v15

@Nihantra-Patel #1545 Read
fix other-apps 1 day ago

Synchronize the shared stage and camera subscriptions

The default shared stage stays consistent across participants, and hidden cameras stop receiving video.

@BreadGenie #1080 Read
fix other-apps 1 day ago

Wait for receiver readiness before sending video

A camera that becomes visible waits until its receiver is ready, avoiding black tiles.

@BreadGenie #1081 Read
fix other-apps 1 day ago

Keep shared stage and pinned tiles stable

Meeting tiles keep their slots when speaker activity or room membership changes.

@BreadGenie #1082 Read
fix other-apps 1 day ago

Restore frappe.local.sites_path instead of deleting it

Fixes a test-run cleanup crash in the push tests.

@prathameshkurunkar7 #2351 Read
fix other-apps 1 day ago

Sync tokens for the hostname Raven Cloud actually registered

Push token sync uses the hostname that registration actually used, so a new site's push notifications work right after signup.

@prathameshkurunkar7 #2350 Read
fix other-apps 1 day ago

Fall back to token hosts for single-site cloud registration

A single-site Frappe Cloud bench with a lazy rename can register with Raven Cloud using a host from its team identity token.

@tanmoysrt #2349 Read
fix other-apps 1 day ago

Show the breadcrumb trail in the browser tab title

The browser tab shows the page's breadcrumb trail instead of "Frappe Cloud" alone.

@nextchamp-saqib #572 Read
fix other-apps 1 day ago

Fixes from the 100-team billing day simulation

Servers bill from their start time, mid-day starts and stops bill by the hour, and dunning retries are corrected.

@saurabh6790 #567 Read
fix other-apps 1 day ago

Bound execution and recover interrupted workflows

Task execution is time-bounded and recovery state survives worker crashes, so an interrupted update or site rename can resume safely.

@tanmoysrt #696 Read
fix other-apps 1 day ago

Price only what a team can buy, and enforce payment standing

Pricing, plan choice, payment standing and output tax are now decided by Central from stored data, and a team that does not pay is stopped from buying more.

@saurabh6790 #559 Read
fix other-apps 1 day ago

Settle a payment only against the intent Central stored

Every payment must match a record Central stored before the payer acted, and Razorpay retries can no longer charge twice.

@saurabh6790 #560 Read
fix other-apps 1 day ago

Stop a refused mandate from crashing the billing job

A card that a gateway refuses is marked Failed instead of crashing the billing job, which had blocked every Indian Stripe card trial conversion.

@prathameshkurunkar7 #577 Read
fix other-apps 1 day ago

Check backup URLs before the agent downloads them

The agent accepts only http and https URLs and connects only to public addresses, using the address it checked.

@ssiyad #654 Read

Yesterday — Monday, October 26

ERPNext 40.6k 29 updates
fix accounting 2 days ago

Make untranslatable dialog labels and tour titles translatable

Wraps about 20 dialog labels, descriptions and tour titles in `__()` so translators can reach them.

@mihir-kandoi #62323 Read
fix accounting 2 days ago

Print each company's currency on the dashboards

Dashboard amounts show each company's own currency symbol instead of the site currency.

@nextchamp-saqib #62297 Read
fix accounting 2 days ago

Backport regional, EDI and other bug fixes from develop

Backports regional fixes to the hotfix branch, including Electronic Invoice Register company checks and UAE VAT 201 corrections.

@nabinhait #62162 Read
fix accounting 2 days ago

Backport support, telephony and utilities bug fixes from develop

Re-implements telephony and support fixes on the hotfix branch, including saving call summaries and transferring calls to the new agent.

@nabinhait #62208 Read
fix accounting 2 days ago

Backport accounts ledger and register report bug fixes from develop

Cherry-picks several develop fixes into the hotfix branch, covering Inactive Sales Items, Item-wise Sales Register and related reports.

@nabinhait #62173 Read
fix accounting 2 days ago

Multiple Product Bundle correctness bugs (backport)

Manual backport of #62149.

@Shllokkk #62165 Read
fix accounting 2 days ago

Multiple Product Bundle correctness bugs

Fixes packed UOM conversion, rejects self-referencing and nested bundles, keeps repeated components in sync, and makes Pick List count bundles correctly.

@Shllokkk #62149 Read
fix accounting 2 days ago

Value a transfer's inward leg at what left the source on repost

On repost, the inward leg of a transfer keeps the source's outgoing rate, so the two legs no longer differ by 0.01 in Stock Adjustment.

@mihir-kandoi #62314 Read
fix accounting 2 days ago

Use company currency in cheque amount in words

Cheque print formats now write the amount in words in the company currency, not the system's default currency.

@Pandiyan5273 #62252 Read
fix accounting 2 days ago

Harden sales target variance reports

Territory target achievements are scoped by company, and the variance reports are corrected.

@krishna-254 #62324 Read
fix accounting 2 days ago

Require lost reasons and let sales roles create them

A Quotation can no longer be declared Lost with an empty reason list. Sales roles can create missing lost reasons.

@krishna-254 #61828 Read
fix accounting 2 days ago

Validate account mappings and supplier membership

Supplier Group rows must point to the matching company's accounts, and supplier membership is validated.

@krishna-254 #61829 Read
fix accounting 2 days ago

Validate Sales Person assignments and submitted team edits

Sales Team edits on submitted documents are validated, and Sales Person assignments are checked.

@krishna-254 #61835 Read
fix accounting 2 days ago

Validate Party Types and allow manager setup

Payment Entries now check party types and account types. Accounts managers can set up party types.

@krishna-254 #60804 Read
fix stock-manufacturing 2 days ago

Drop unsupported "Stock Delivered But Not Billed" type from Belgian charts

Company creation from the four Belgian charts no longer fails silently on v15 and v16, because one account type is not supported there.

@Shllokkk #62351 Read
fix accounting 2 days ago

Set bank accounts on internal transfer

Internal Transfer Payment Entries now record the paid-from and paid-to Bank Accounts.

@Aagnya-Mistry #60585 Read
fix accounting 2 days ago

Show ledger balance as account opening balance

Bank Reconciliation Tool's opening balance now shows the ledger balance, not a figure that is zero or negative when nothing is cleared.

@Aagnya-Mistry #60523 Read
fix accounting 2 days ago

Include child cost centers in fixed asset register filter

Selecting a parent cost center in the Fixed Asset Register now shows assets under its child cost centers.

@ervishnucs #59326 Read
fix accounting 2 days ago

Validate target asset when fetching WIP composite asset items

Checks the target asset before loading its tagged Purchase Receipt items.

@khushi8112 #61974 Read
fix accounting 2 days ago

Let HR roles link employees to any user except admins

Same change as #61894, on the version branch.

@nabinhait #61753 Read
fix accounting 2 days ago

Let HR roles link employees to any user except admins

Same change as #61894, on the version branch.

@nabinhait #61749 Read
fix accounting 2 days ago

Let HR roles link employees to any user except admins

HR User and HR Manager can no longer link, unlink or change admin accounts through an Employee. Only a System Manager can touch those users.

@nabinhait #61894 Read
fix accounting 2 days ago

Preserve asset purchase row links

Assets keep their correct Purchase Receipt or Purchase Invoice row link instead of matching the first row with the same quantity and amount.

@Pandiyan5273 #62091 Read
fix accounting 2 days ago

Include all items in budget commitments

Budget checks on Purchase Orders and Material Requests now count open commitments for every item on the same account and cost center, not just the current document's items.

@Pandiyan5273 #61988 Read
fix accounting 2 days ago

Protect payment reconciliation log allocations

Blocks API edits to read-only allocations and checks the current invoice balance, so an invoice cannot go negative.

@Pandiyan5273 #61484 Read
fix accounting 2 days ago

Reject duplicate account names in Chart of Accounts Importer

Duplicate account names no longer overwrite each other silently. The importer now shows an error in the preview and on import.

@Aagnya-Mistry #60274 Read
fix accounting 2 days ago

Validate chart imports before replacing accounts

Rejects blank or incomplete rows, circular parent references and charts missing mandatory account types before any account is replaced.

@Pandiyan5273 #62153 Read
fix accounting 2 days ago

Preserve links when replacing chart of accounts

Chart of Accounts Importer no longer deletes accounts directly. Links from warehouses, bank accounts, item defaults and tax templates are kept intact.

@Pandiyan5273 #62150 Read
fix accounting 2 days ago

Protect shareholder registers from direct changes

Blocks direct API edits to share register balances, stops deleting a company shareholder that has submitted transfers, and corrects report valuation.

@Pandiyan5273 #61496 Read
Frappe 11k 23 updates
fix framework 2 days ago

Allow the pinned pypdf past the uv package age cutoff

Lets CI install the pinned pypdf, which uv had refused because it was under 7 days old.

@iamejaaz #45131 Read
feat ui-ux 2 days ago

The record page marks the fields a save refused

A refused save marks each empty mandatory field, including child rows, with a "required" message.

@shariquerik #45145 Read
feat ui-ux 2 days ago

A Text Editor control on frappe-ui/editor, sharing the composer's kit

Text Editor fields show a rich-text editor with a toolbar, instead of raw HTML in a one-line input.

@shariquerik #45146 Read
feat ui-ux 2 days ago

A Text Editor upload honours make_attachments_public

Images added to a Text Editor field become public on save when the doctype sets `make_attachments_public`.

@shariquerik #45157 Read
feat developer-experience 2 days ago

One-click Gmail, Yahoo and Yandex, shown only when Frappe Cloud has them on

Add Email Account shows one-click sign-in only for providers that Frappe Cloud has turned on.

@RitvikSardana #45002 Read
fix framework 2 days ago

Beta print PDFs drop overflowing table rows (backport)

Beta print format PDFs print every table row, including rows that overflow the page.

@kaulith #45180 Read
fix framework 2 days ago

Honour landscape in the chrome renderer (backport)

Landscape print formats come out landscape from the Chrome renderer.

@kaulith #45179 Read
fix framework 2 days ago

Honour print settings pdf generator for standard printing (backport)

Standard printing follows Print Settings > PDF Generator, so Chrome formats work on servers without wkhtmltopdf.

@iamejaaz #45129 Read
fix framework 2 days ago

Retry a slow chromium start once (backport)

Chrome PDFs wait up to 10 seconds for a slow Chromium start and retry once. Crashes still fail immediately.

@iamejaaz #45133 Read
fix framework 2 days ago

Skip property setters that have not changed

Migrate no longer deletes and re-adds unchanged property setters, so Deleted Document stops growing on every run.

@TANMAY2006-UX #45111 Read
fix framework 2 days ago

Reset column width, sticky and added columns without a reload

"Reset to default" in a child table's column settings now restores widths, sticky columns and added columns.

@TANMAY2006-UX #44923 Read
fix framework 2 days ago

Keep each layout's own column widths when switching layouts

Switching list layouts no longer carries over the previous layout's column widths.

@TANMAY2006-UX #44882 Read
fix framework 2 days ago

Align the filter row with the header and body columns

In tables with 20 or more rows, the filter row now lines up with the header and body columns.

@sumitjain236 #45121 Read
fix framework 2 days ago

Large reports fail to download as PDF

Query report PDF downloads now run on the server, which avoids the 413 error on reports over about 14k rows.

@kaulith #38902 Read
fix framework 2 days ago

Footer skips some pages and shows the wrong page number

Header and footer are measured at the width they print at, so a footer that wraps fits its space.

@kaulith #45084 Read
fix framework 2 days ago

Chrome errors come back as a TypeError or no error at all

Chrome failures now raise a clear RuntimeError, instead of a NoneType error or a silent timeout.

@kaulith #45087 Read
fix framework 2 days ago

Typst prints a rating as a number instead of stars

Typst print formats draw rating fields as stars, with the same rounding as Chrome prints.

@kaulith #45174 Read
fix framework 2 days ago

Pdf with a password fails for typst print formats

Typst PDFs are now encrypted with the password, the same way Chrome PDFs are.

@kaulith #45171 Read
fix framework 2 days ago

Approval emails fail when drafts can't be printed

Workflow approval emails go out without the PDF when the draft can't be printed, instead of failing.

@kaulith #45168 Read
fix framework 2 days ago

Emailed and bulk pdfs skip the access log and on_print_pdf

Emailed and bulk PDFs now run the `on_print_pdf` hooks and write the access log, as the print view does.

@kaulith #45170 Read
fix framework 2 days ago

Bulk print leaves out failed documents without saying so

A bulk print that skips a failed document now ends with a red message that links each missing document.

@kaulith #45169 Read
fix framework 2 days ago

Dashboard view fixes from v16

Clears the page when a dashboard fails to load, shows the dashboard name in the title, escapes action labels, and adds a no-access message.

@nextchamp-saqib #45074 Read
fix framework 2 days ago

Raise PermissionError when a non-manager edits a public workspace

A non-manager editing a public workspace now gets a PermissionError, matching the private-workspace check, and a test covers it.

@sokumon #44891 Read
HR 9k 1 update
fix hr-payroll 2 days ago

Print each company's currency on the HR boards and drop the advance cells from Expense Claims

HR boards print each company's currency, and Expense Claims drops the unclaimed advance cells.

@nextchamp-saqib #5513 Read
CRM 3.9k 1 update
feat crm-sales 2 days ago

Allow form scripts to contribute tabs on lead and deal pages

Form Scripts can add, relabel and hide tabs on the Lead and Deal pages.

@anasgets111 #3049 Read
b Builder 2.5k 1 update
fix ui-ux 2 days ago

Keep the sign when stepping negative values with arrow keys or drag

Arrow keys and drag no longer turn -10px into 10px when stepping style values.

@RaphaelFakhri #975 Read
p Press 575 4 updates
fix other-apps 2 days ago

Quote the bench group title in the access mail

SSH access emails put the group name in quotes, so "Support Stuffs" no longer reads like a typo.

@ssiyad #7863 Read
fix other-apps 2 days ago

Read the database name without the file walk (backport)

Backport of #6765.

@balamurali27 #7861 Read
fix other-apps 2 days ago

Use the stored database name without the file walk

Creating a database user no longer walks all site files, which timed out on large sites.

@balamurali27 #6765 Read
fix other-apps 2 days ago

Warn before a backup restore with a red confirm button

Restore dialogs on the Backups tab now warn that the restore overwrites the site and use a red Confirm button.

@balamurali27 #7862 Read
o Other 27 updates
feat other-apps 2 days ago

Mark skipped reviews on the commit

Guard sets its check to "skipped" with the reason when it does not review a commit, so waiting bots know to stop.

@mihir-kandoi #3 Read
feat other-apps 2 days ago

Redesign marketplace on dashboard and app-embed

Redesigns the marketplace cards with a hovercard and updates the app-embed domain view.

@siduck #694 Read
feat other-apps 2 days ago

Feat/persistence logs subpath

Lets `persistence.worker` and `persistence.logs` point at an existing PVC, so both volumes can share one claim.

@CaioMartins968 #297 Read
feat ui-ux 2 days ago

Show days and hide seconds with largestUnit and smallestUnit

The Duration component gets `largestUnit` and `smallestUnit` props to show days or hide seconds.

@shariquerik #1320 Read
fix other-apps 2 days ago

Accept a hotfix branch as a product's frappe version

A product can now use a `version--hotfix` branch as its Frappe Version, so trials can use hotfix images.

@prathameshkurunkar7 #563 Read
feat other-apps 2 days ago

Alert operators when a signup fails

An hourly job lists signups that failed or timed out and sends the list to the operator alert channel.

@prathameshkurunkar7 #558 Read
fix other-apps 2 days ago

Readable range highlight; formula results show without waiting on a sheet scan

The formula range highlight no longer hides the numbers under it, and formula results show without waiting on a sheet scan.

@krishpinto #1074 Read
fix other-apps 2 days ago

Formula bar arrows move the caret; F2 switches to picking

Arrow keys move the text caret in the formula bar. F2 switches to picking cell references.

@krishpinto #1075 Read
fix other-apps 2 days ago

Underline and strike every line of wrapped text

Underline and strikethrough now apply to every wrapped line, and hyperlinks are fixed the same way.

@krishpinto #1077 Read
fix other-apps 2 days ago

Wrap moves a whole word to the next line

Text wrap moves a whole word to the next line instead of splitting it mid-word.

@krishpinto #1078 Read
fix other-apps 2 days ago

Forward the query string in the agent relay

The relay on proxies drops query strings. Its database_only flag never reached the agent.

@balamurali27 #650 Read
fix other-apps 2 days ago

Keep frappe's header and footer template for other formats

Same change as #568, for the main branch.

@iamejaaz #569 Read
fix other-apps 2 days ago

Keep frappe's header and footer template for other formats

Print Format Editor formats keep their letter head header and footer when Print Designer is installed.

@iamejaaz #568 Read
fix other-apps 2 days ago

Report a failed review on the check before the reaction

A failed review sets the error status on the check before adding the reaction, so the check no longer stays pending.

@mihir-kandoi #4 Read
fix ui-ux 2 days ago

Show unmatched value in button mode

A Combobox in button mode shows a saved value even when it isn't in the loaded options.

@Shadorux #1209 Read
fix ui-ux 2 days ago

A pill over a declined event cuts against it

Calendar events laid over a declined event now get the same cut as over any other event.

@krantheman #1267 Read
fix ui-ux 2 days ago

Correct disabled background colors for switch toggle component

A disabled "on" switch and a disabled "off" switch now have different colors.

@TulasiLasya #1292 Read
fix ai 2 days ago

Focus a prompt's first text field and submit it on Enter

A prompt dialog focuses its first text field, and pressing Enter in a single-line field submits it.

@AbdullahAnsari-03 #1275 Read
fix ui-ux 2 days ago

JSON-encode object and array params in GET query strings

Object and array params in GET calls are sent as JSON, so filters no longer arrive as `[object Object]`.

@1-basil #1233 Read
fix ui-ux 2 days ago

Keep a replaced request's abort out of error and onError

A request replaced by a newer one no longer sets an AbortError on `useList` or `useCall`.

@RaphaelFakhri #1312 Read
fix other-apps 2 days ago

Remove permission expiry job that queries a missing field

Removes the hourly job that failed every run because the Drive Permission DocType has no `valid_until` field.

@netchampfaris #650 Read
fix other-apps 2 days ago

Keep trial handoff independent of hostname changes

Trial handoff no longer waits on the optional Admin hostname claim. The customer's domain is attached while the internal site name stays the same.

@tanmoysrt #562 Read
fix other-apps 2 days ago

Publish command output at most every two seconds (backport)

Backport of #614 to master.

@balamurali27 #652 Read
fix other-apps 2 days ago

Publish command output at most every two seconds

Output is now sent to Redis at most every two seconds. This stops the append-only file from growing with the square of the output and filling the disk.

@balamurali27 #614 Read
fix other-apps 2 days ago

Stop the builder before capturing its disk

The builder stops and its disk is flushed before the image is captured. Services can no longer write during capture and leave empty files in the image.

@tanmoysrt #118 Read
fix other-apps 2 days ago

Retry incomplete warmup and verify site login

A failed guest warmup now keeps its pending marker and fails, so systemd retries it. Warmup checks site login and no longer resets Administrator's password.

@tanmoysrt #117 Read
fix other-apps 2 days ago

Close go-live gaps for trial signups

Free trial teams can no longer create paid LLM keys or buckets. Atlas logs are tied to the Central request, failure tracebacks are kept beyond Error Log's 14-day clearing, and support contact is shown on signup errors.

@prathameshkurunkar7 #557 Read

Sunday, October 25

ERPNext 40.6k 27 updates
fix stock-manufacturing 3 days ago

Remove orphan stock entry services module

Deletes the same leftover module on version-15-hotfix.

@mihir-kandoi #62266 Read
fix stock-manufacturing 3 days ago

Remove orphan stock entry services module

Deletes a leftover module whose imports don't exist on version-16-hotfix, which blocks app install and update checks.

@mihir-kandoi #62255 Read
fix accounting 3 days ago

List every week, month and age bucket whatever the ledger size

Builds the week, month, and age-bucket rows from fixed lists, so charts show every period even when the ledger has fewer rows.

@nextchamp-saqib #62279 Read
fix stock-manufacturing 3 days ago

Accounting dimension shows in connections tab on stock entry, asset repair (backport #59658)

Renames the column breaks in the Accounting Dimensions sections so new dimensions stay on the form, not in the Connections tab.

@mihir-kandoi #62271 Read
fix stock-manufacturing 3 days ago

Include work order in reserved stock for pick list

Counts stock reserved for the linked Work Order as available to a Pick List, so raw materials can be allocated and the Pick List can be submitted.

@Pandiyan5273 #62249 Read
fix accounting 3 days ago

Prevent mixed payment sources in payment orders

Stops a Payment Order from importing Payment Requests and Payment Entries together, by removing the correct import button for the other source.

@Pandiyan5273 #62244 Read
fix accounting 3 days ago

Split orders as per the schedules in the reference table (backport #52285)

Splits Get Outstanding Orders by payment terms, the same way invoices are already split.

@mihir-kandoi #62270 Read
fix accounting 3 days ago

Keep pricing rule discount percentage in unsaved form (backport #60522)

Stops setting the discount amount from a Discount Percentage pricing rule from resetting the percentage.

@mihir-kandoi #62272 Read
fix stock-manufacturing 3 days ago

Clear source warehouse on non-transfer material requests (backport #62256)

Backport of #62256.

@mihir-kandoi #62267 Read
fix stock-manufacturing 3 days ago

Clear source warehouse on non-transfer material requests

Clears the row Source Warehouse when a Material Request's purpose is not Material Transfer, so it no longer blocks saving.

@mihir-kandoi #62256 Read
fix stock-manufacturing 3 days ago

Recalculate stock entry row amounts when qty changes (backport #60751)

Restores the qty handler so a Serial/Batch dialog's quantity updates transfer qty and amounts, avoiding a ZeroDivisionError.

@mihir-kandoi #62247 Read
fix accounting 3 days ago

Use operation output qty for semi-finished goods job cards

Sizes Job Cards for each operation by its BOM Output Qty, so the raw materials match the quantity produced.

@rohitwaghchaure #62140 Read
fix stock-manufacturing 3 days ago

Semi finished goods costs, create bom, scheduling and precision in operation units

Reads Job Card, completed quantity, and process loss in the operation's output item units for BOMs that produce an item at each operation.

@rohitwaghchaure #62257 Read
fix accounting 3 days ago

Proforma Invoice bug fixes

Fixes the Proforma Invoice PDF so a partial proforma does not inherit the whole order's fixed discount and charges, plus two more calculation bugs.

@nabinhait #62207 Read
fix accounting 3 days ago

Backport financial statement report bug fixes from develop

Brings fixes to Financial Ratios, Consolidated Financial Statements, and related reports from develop into version-16-hotfix.

@nabinhait #62174 Read
fix stock-manufacturing 3 days ago

Count Shop Floor OEE run time once per crew

Counts a Job Card's run time once when several operators log the same interval, so workstation OEE is not inflated.

@rohitwaghchaure #62201 Read
fix accounting 3 days ago

Job card stuck on hold after all quantity is done (backport #62199)

Backport of #62199 to version-16-hotfix.

@rohitwaghchaure #62200 Read
fix accounting 3 days ago

Job card stuck on hold after all quantity is done

Clears the On Hold flag when the quantity is recorded after pausing, so the Job Card can be submitted.

@rohitwaghchaure #62199 Read
fix stock-manufacturing 3 days ago

Stock Balance and Stock Ledger after Stock Reconciliation, with tests (backport #61918)

Makes Stock Balance match the stock ledger after a reconciliation and adds tests that check both reports against it.

@rohitwaghchaure #62146 Read
fix accounting 3 days ago

Respect account payable checkbox in cheque printing

The account-payee message and its border print only when the template's Is Account Payable box is ticked.

@Pandiyan5273 #62159 Read
fix accounting 3 days ago

Honor party field's "Ignore User Permissions" in Payment Entry

An Employee party no longer fails with "No permission" when its field opts out of user permissions.

@Shllokkk #62202 Read
fix accounting 3 days ago

Update flag for row-wise tax rounding settings

Sets the flag the tax calculation actually reads, so the client rounds tax row by row like the server and submitted totals stop differing.

@Sudharsanan11 #61872 Read
fix stock-manufacturing 3 days ago

Skip returns when recalculating item last purchase rate

The shared last-purchase lookup ignores return receipts and invoices, so cancelling a later purchase and Get Last Purchase Rate no longer pick up a return's rate.

@Pandiyan5273 #62218 Read
fix stock-manufacturing 3 days ago

Allow recalculate valuation rate only for purchase receipts, update stock invoices and non-transfer stock entries (backport #62287)

Backport of #62287 to a second hotfix branch.

@mihir-kandoi #62291 Read
fix stock-manufacturing 3 days ago

Allow recalculate valuation rate only for purchase receipts, update stock invoices and non-transfer stock entries (backport #62287)

Backport of #62287 to version-16-hotfix.

@mihir-kandoi #62290 Read
fix stock-manufacturing 3 days ago

Allow recalculate valuation rate only for purchase receipts, update stock invoices and non-transfer stock entries

Limits Repost Item Valuation's Recalculate Valuation Rate to purchase receipts, update-stock purchase invoices, and stock entries without transfer rows, so material transfers keep the correct source rate.

@mihir-kandoi #62287 Read
fix accounting 3 days ago

Validate bank clearance updates and correct currency amounts

Bank Clearance checks each voucher's status, account, and access instead of trusting client rows, rejects dates before posting, and shows invoice amounts in the invoice currency.

@Pandiyan5273 #61468 Read
Frappe 11k 44 updates
feat framework 3 days ago

Support PgBouncer in session mode

Postgres sites can run behind PgBouncer in session mode, with rollbacks on close and a forced database drop.

@mihir-kandoi #44796 Read
feat framework 3 days ago

Retry failed deliveries from the webhook request log

Adds a Retry button to failed webhook logs, resending the stored request through the same job as scheduled retries.

@kaulith #44598 Read
feat framework 3 days ago

Print from a full-page preview

Printing a report opens a full-page live preview with print format, letter head, orientation, and column options.

@khushi8112 #44974 Read
feat ui-ux 3 days ago

Inline fields in Quick Entry and New Record rows, and Contact's insert mapping

Quick Entry and New Record layouts can define inline fields, so a Contact made from the list gets its email and phone.

@shariquerik #45037 Read
feat ui-ux 3 days ago

Create a record from a Table MultiSelect field

The Table MultiSelect dropdown gets a Create button for the child table's Link doctype.

@shariquerik #45034 Read
feat ui-ux 3 days ago

A Link field opens the record it names

Link and Dynamic Link fields get an arrow that opens the linked record, and read-only links show a clickable title.

@shariquerik #45107 Read
feat ui-ux 3 days ago

Draw the error a host passes to a field control (desk-v2)

Cherry-pick of #45108 onto desk-v2, with grid cells and the row dialog showing their errors.

@shariquerik #45109 Read
feat ui-ux 3 days ago

Draw the error a host passes to a field control

Every field control draws the error its host passes in, under the input.

@shariquerik #45108 Read
feat framework 3 days ago

Name the fields a save refused in the v2 error entry

The v2 save error lists each field that refused the save, so the record page can mark it.

@shariquerik #45104 Read
fix framework 3 days ago

Spell out .29, .57 and .58 correctly in money_in_words

Money in words no longer drops a cent for amounts ending in .29, .57, or .58, because cents are computed with Decimal.

@TANMAY2006-UX #45008 Read
fix ui-ux 3 days ago

UI tweaks for the panel, pages and suggested replies

Long suggested replies end in an ellipsis, and the Flow panel's bar, phone header, and form text are adjusted.

@ShrihariMahabal #45009 Read
fix framework 3 days ago

Back exits the panel's full screen; replies suggested more often

Back leaves full screen in the Flow panel, and the assistant offers suggested replies after more answers.

@ShrihariMahabal #45045 Read
fix framework 3 days ago

Fit view to screen, scroll both ways and keep Today working

The Gantt view fits the screen, scrolls both ways, opens on the tasks, and keeps the Today button working.

@Vibhuti410 #44781 Read
fix ui-ux 3 days ago

Hide the workspace shortcut badge when the count is 0

A workspace shortcut with no matching records shows only its arrow, not a gray 0 badge.

@kaulith #45053 Read
fix framework 3 days ago

Save attachments when a non-admin user pulls emails

Non-admin users pulling emails with attachments no longer fail, because attachments are saved as they are for outgoing mail.

@TANMAY2006-UX #44949 Read
fix ui-ux 3 days ago

Long Int uses the number control; drop Fold and Attachment Gallery from the form

Long Int uses the number control and shows a plain integer. Fold and Attachment Gallery are dropped from the form and grid columns.

@shariquerik #45080 Read
fix framework 3 days ago

Drop Fold and Attachment Gallery through the shared set

Fold and Attachment Gallery no longer render as empty text inputs on the record page.

@shariquerik #45081 Read
fix ui-ux 3 days ago

Draw the Attach Image thumbnail and its hover preview

Restores the Attach Image thumbnail and its larger hover preview in the form, grid cell, and row dialog.

@shariquerik #45097 Read
fix ui-ux 3 days ago

Code-family editors start five lines tall on the record page

Cherry-pick of #45095 onto desk-v2, with a Playwright spec.

@shariquerik #45096 Read
fix ui-ux 3 days ago

Code-family editors start five lines tall

Code, JSON, Markdown and HTML editors start five lines tall instead of a 32px strip, and still grow to their cap.

@shariquerik #45095 Read
fix ui-ux 3 days ago

Grid columns scroll, text cells keep one line, cells and rows carry data attributes (desk-v2)

Cherry-pick of #45099 onto desk-v2.

@shariquerik #45100 Read
fix ui-ux 3 days ago

Grid columns scroll, text cells keep one line, cells and rows carry data attributes

Grid columns keep a 128px minimum and scroll sideways, Text cells show one line, and grid rows and cells gain data attributes.

@shariquerik #45099 Read
fix ui-ux 3 days ago

Table MultiSelect chips show their link titles

Table MultiSelect chips show each record's title, not its name, so they match the side panel.

@shariquerik #45110 Read
fix ui-ux 3 days ago

Show each fieldtype's value correctly in the side panel

Side panel rows show each fieldtype the way the form control does, such as an Image summary or a Code first line.

@shariquerik #45105 Read
fix ui-ux 3 days ago

Commit a Check as 1 or 0, as the server stores it

A Check saves as 1 or 0, so toggling it twice leaves the record clean.

@shariquerik #45103 Read
fix ui-ux 3 days ago

Int field commits a whole number

An Int field drops the fraction on commit, matching the server, so `7.6` shows as `7`.

@shariquerik #45102 Read
fix framework 3 days ago

Share doctype rooms between views and restore them after reconnect

Lets several views share a doctype's realtime room, so leaving one view no longer cuts off the others. Rooms are restored after a reconnect.

@mihir-kandoi #44754 Read
fix framework 3 days ago

Keep the chosen layout when the list is reopened

Reopening a list keeps the layout the user picked, unless a shared link's filters match a different layout.

@TANMAY2006-UX #44421 Read
fix framework 3 days ago

Translate the DocType description in the title tooltip

Translates the DocType description shown in the list title tooltip.

@TANMAY2006-UX #45048 Read
fix framework 3 days ago

Open the floating dock from the right edge in RTL

In right-to-left languages the dock opens from the right edge, where it sits.

@TANMAY2006-UX #45004 Read
fix framework 3 days ago

Print format editor images only print for the uploader

Saves images uploaded in the print format editor as public files, so they print for every user.

@kaulith #45021 Read
fix ui-ux 3 days ago

Typst pdfs of builder print formats differ from chrome

Makes Typst output match Chrome for builder print formats in eight places, including zero margins, numbered text, and mismatched image extensions.

@kaulith #45020 Read
fix ui-ux 3 days ago

Distinguish nonexistent field from permission error in queries

A filter on a field that does not exist now says the field is missing, instead of showing a permission error.

@iamejaaz #44590 Read
fix framework 3 days ago

Load cached Inter fonts through the plutoprint fetcher

Loads cached Inter fonts through the PlutoPrint fetcher, so PDF test processes no longer segfault at exit.

@Pandiyan5273 #44933 Read
fix developer-experience 3 days ago

Links click in the wrong place with a header or footer

Moves each page's links along with its content when a header or footer is added, so clicking link text works.

@kaulith #45083 Read
fix framework 3 days ago

Match and page translated doctypes like other doctypes

Link search on translated doctypes such as Country and Role matches, pages, and escapes `%` the same way as other doctypes.

@mihir-kandoi #43751 Read
fix framework 3 days ago

Open the default app after login

Login now opens the user's Default App, after any Default Workspace or role home page.

@TANMAY2006-UX #45038 Read
fix framework 3 days ago

Filtering on the comments column says field not found

Restores the permission error for `_comments` filters, since the new field check was hiding that column from the lookup. Fixes a failing test on develop.

@kaulith #45113 Read
fix framework 3 days ago

Only one of several PDFs generated at once succeeds

Gives each PDF render its own tab for request capture, so concurrent renders no longer time out because one render took every request.

@kaulith #45086 Read
fix framework 3 days ago

Run releases and translation syncs with Frappe Release Bot app (backport #44927)

Backport of #44927 to version-15-hotfix.

@mihir-kandoi #44929 Read
fix framework 3 days ago

Run releases and translation syncs with Frappe Release Bot app (backport #44927)

Backport of #44927 to version-16-hotfix. It also removes `backport.yml`.

@mihir-kandoi #44928 Read
fix framework 3 days ago

Run releases and translation syncs with Frappe Release Bot app

Moves release, release-notes, and translation workflows from a personal access token to a one-hour token from a GitHub App with only the scopes each job needs.

@mihir-kandoi #44927 Read
fix developer-experience 3 days ago

Preserve TLS for Redis client cache

Makes `rediss://` URLs use a TLS connection for the Redis cache client, where they were silently downgraded to plain TCP.

@cogk #44551 Read
fix ui-ux 3 days ago

Keep an integer past 2^53 exact when a reply is parsed

Stops a Long Int above 2^53 from being rounded on load, so saving another field no longer writes the rounded value back to the database.

@shariquerik #45098 Read
Insights 1k 1 update
feat other-apps 3 days ago

Pick a year, fiscal year, quarter or month in a date filter

Date filters list years, fiscal years, quarters, and months that appear in the data.

@nextchamp-saqib #1534 Read
p Press 575 2 updates
feat other-apps 3 days ago

Add binlog_legacy_event_pos mariadb variable

Staff can set `binlog_legacy_event_pos` on a Database Server, applied without a restart.

@balamurali27 #7832 Read
fix other-apps 3 days ago

Block schema fetches while one from the last 30 min runs

Extends the duplicate-job window for Fetch Database Table Schema from 5 to 30 minutes, so repeated calls cannot pile up large pending jobs that stall a server's agent queue.

@balamurali27 #7855 Read
o Other 18 updates
fix other-apps 3 days ago

Shorten the Details field

Shortens the advisory Details field to one or two sentences, since the other fields cover the rest.

@diptanilsaha #31 Read
feat ui-ux 3 days ago

Snap image, video and embed resizing to useful widths

Resizing an image, video, or embed snaps to useful widths with a guide line. Holding Alt resizes freely.

@netchampfaris #1316 Read
feat other-apps 3 days ago

Charts in and out of .xlsx; import into a new file replaces its blank Sheet1

Sheets exports and imports charts in .xlsx, and importing into a new file no longer leaves an empty Sheet1.

@krishpinto #1069 Read
feat other-apps 3 days ago

Support portal integration

The console gets Help links to a support ticket and feedback URL, set per site.

@prathameshkurunkar7 #551 Read
feat other-apps 3 days ago

Suspend and unsuspend a team from desk

Staff can suspend a team with a reason, which stops its servers and keys, and unsuspend it later.

@prathameshkurunkar7 #549 Read
feat other-apps 3 days ago

Archive teams and impersonate a team owner

Owners can archive a team once six checks pass, and staff can restore it or open the console as its owner.

@prathameshkurunkar7 #548 Read
feat other-apps 3 days ago

Let a site ask which providers are turned on

A site can ask Central which mail providers have one-click sign-in enabled, so it only shows those buttons.

@RitvikSardana #547 Read
feat other-apps 3 days ago

Send operator alerts to a Raven channel

Billing operator alerts go to a Raven channel by default, with email only to a named list.

@saurabh6790 #544 Read
feat other-apps 3 days ago

Manage gateway webhook endpoints and events from desk

Central reads and updates each payment gateway's webhook endpoint and events when keys change, and records more Stripe states.

@saurabh6790 #545 Read
fix other-apps 3 days ago

Ensure we wait for all assets & mariadb before executing build workflows

Build workflows wait for release assets and MariaDB before running site operations.

@Aradhya-Tripathi #116 Read
fix other-apps 3 days ago

Open the bench from a site without loading the dashboard

Adds a route that redirects straight to the bench login, with the same access checks as the dashboard link.

@prathameshkurunkar7 #550 Read
fix other-apps 3 days ago

Open the server through Central's open_bench redirect

The Open server link goes straight to the bench instead of loading the Central dashboard first.

@prathameshkurunkar7 #691 Read
fix other-apps 3 days ago

Keep the gap above posts that follow an activity

On phones, a comment or poll that follows an activity line gets its top spacing back.

@netchampfaris #636 Read
fix other-apps 3 days ago

Start an edit from text typed without a keydown (IME, symbol picker)

Text from IME input, the emoji picker, or phone keyboards starts a cell edit instead of being dropped.

@krishpinto #1066 Read
fix other-apps 3 days ago

A deleted named range no longer stops the others from moving

Named ranges keep following row and column edits after another named range is deleted, so formulas stop reading the wrong rows.

@krishpinto #1067 Read
fix other-apps 3 days ago

Rename message, colour pickers, charts under dialogs, ECharts notice

Shows a plain rename message for a taken title, makes colour pickers work in conditional formatting, and cleans up console noise.

@krishpinto #1068 Read
fix other-apps 3 days ago

Keep the formula bar on the selected cell after undo/redo

After undo or redo the formula bar and format toolbar stay on the selected cell, not jump to A1.

@krishpinto #1071 Read
fix ui-ux 3 days ago

Draw a disabled input-mode value in the muted ink

A disabled Combobox's value is drawn in the muted colour, so it no longer looks editable.

@shariquerik #1318 Read

Saturday, October 24

ERPNext 40.6k 15 updates
fix accounting 4 days ago

Validate formulas by reading them instead of running them

Formula validation ran the formula with a fake value of 1.0 for every line reference, which rejected valid formulas. Formulas are now read instead, so no fake values are needed.

@Abdeali099 #59301 Read
fix stock-manufacturing 4 days ago

Stock Balance and Stock Ledger after Stock Reconciliation, with tests

Stock Balance showed a wrong quantity after a Stock Reconciliation on v15. Four bugs found by new tests are fixed.

@rohitwaghchaure #61918 Read
fix accounting 4 days ago

Preserve cached bisect statement summaries

Revisiting a calculated node in Bisect Accounting Statements swapped the P&L and Balance Sheet summaries.

@Pandiyan5273 #62147 Read
fix accounting 4 days ago

Keep Delivery Schedule Items in sync with their Sales Order (v16)

fix: keep Delivery Schedule Items in sync with their Sales Order (v16)

@Shllokkk #62120 Read
fix accounting 4 days ago

Keep Delivery Schedule Items in sync with their Sales Order

Updating items on a submitted order now rescales its delivery schedules, and deleting a draft order clears them.

@Shllokkk #62058 Read
fix stock-manufacturing 4 days ago

Ignore cancelled entries when changing default valuation method

Stock Settings blocked a change of the default valuation method because of cancelled ledger entries. Only active entries are checked now.

@Pandiyan5273 #62101 Read
fix accounting 4 days ago

Validate company abbreviation before naming

Naming an Account or Cost Center crashed with a TypeError when the company had no abbreviation. It now raises a clear validation error.

@Pandiyan5273 #62103 Read
fix stock-manufacturing 4 days ago

Ignore cancelled ledger entries when changing item stock uom

Changing an item's default UOM was blocked by cancelled stock ledger entries, so the mistake could not be fixed. Only active entries are checked now.

@Pandiyan5273 #62160 Read
fix accounting 4 days ago

Apply company default terms only on draft transactions

Company default terms are applied only to drafts. Submitted documents keep their terms, so Update After Submit no longer fails.

@mihir-kandoi #62189 Read
fix stock-manufacturing 4 days ago

Minor fixes in manufacturing, stock and buying

Same fixes as #62094 for version-15, plus the BOM `update_cost` change.

@mihir-kandoi #62096 Read
fix stock-manufacturing 4 days ago

Minor fixes in manufacturing, stock and buying

Same as #62094 for version-16, plus validation in Workstation `get_job_cards`.

@mihir-kandoi #62095 Read
fix stock-manufacturing 4 days ago

Minor fixes in manufacturing, stock and buying

Escapes node values in the BOM Configurator tree. Validates the POS Profile, Item and Purchase Order that the whitelisted methods receive.

@mihir-kandoi #62094 Read
fix accounting 4 days ago

Make Delivery Schedule Item read-only for users (v16)

fix: make Delivery Schedule Item read-only for users (v16)

@Shllokkk #62141 Read
fix accounting 4 days ago

Make Delivery Schedule Item read-only for users

Sales Users could create, edit or delete Delivery Schedule Items directly, bypassing the Sales Order service. The doctype is now read-only, and the role permissions no longer include create, write or delete.

@Shllokkk #62127 Read
fix accounting 4 days ago

Skip non-applicable taxes during migration

Upgrading from v15 failed when submitted documents had Item Tax Template accounts marked Not Applicable. The migration now skips those rows instead of crashing on the stored "N/A" value.

@Pandiyan5273 #62083 Read
Frappe 11k 28 updates
feat ui-ux 4 days ago

Create in the list's header row, with no spinner while its dialog is open

The list's Create button moves to the header row beside the crumbs.

@shariquerik #44959 Read
feat ui-ux 4 days ago

The full-page new record at //new

`//new` now opens a full-page new record, where it previously opened nothing.

@shariquerik #44956 Read
feat ui-ux 4 days ago

Create a record from a Link field's dropdown

Link and Dynamic Link dropdowns end with a Create row when the user may create the linked doctype.

@shariquerik #44983 Read
feat framework 4 days ago

New form link field like combobox

Replaces the Awesomplete dropdown on Link, Autocomplete and MultiSelect fields with a combobox. It is off by default behind a System Settings beta toggle.

@sumitjain236 #42733 Read
feat framework 4 days ago

New filter panel, and a filter sheet on phones

The list Filter button opens a panel of rows with a searchable field picker and a value box that suits each field type. Phones get a filter sheet.

@sumitjain236 #44063 Read
feat framework 4 days ago

Merge flow into frappe

Merges the Flow AI agent into frappe. Users chat with it at `/flow`, and it acts with their permissions.

@ShrihariMahabal #44946 Read
fix framework 4 days ago

Print attachment ignores the document language

Auto Repeat emails now print in the document's language instead of the system language.

@kaulith #44964 Read
fix framework 4 days ago

Print attachment fails on non-submittable documents

With draft printing off, notifications that attach a print no longer fail for doctypes that cannot be submitted, such as ToDo.

@kaulith #44961 Read
fix developer-experience 4 days ago

Improve experience of bench browse command

The URL respects `host_name` and SSL, `--user` lands on the page the login form redirects to, and the browser is not opened over SSH.

@harshp4114 #44352 Read
fix framework 4 days ago

Show only one alert banner at a time on the login page

Success and error banners no longer appear together on the login page's forms.

@harshp4114 #44369 Read
fix ui-ux 4 days ago

Rebuild the module map after clearing the cache

On the first migrate after a pull adds a module, the new module's doctypes were not synced, so a patch failed with `TableMissingError`.

@sokumon #44902 Read
fix ui-ux 4 days ago

Name the record by its title in the list's Create toast

The toast shows the record's title instead of its hash or series name.

@shariquerik #44996 Read
fix ui-ux 4 days ago

Return focus to the Link field after a Ctrl/Cmd+Enter save

After saving in a Link field's Create dialog, focus now returns to the field instead of the page body.

@shariquerik #44994 Read
fix ui-ux 4 days ago

Keep @framework/ui out of the dev pre-bundle

With the desk running from source under Vite, Link and Dynamic Link fields lost their "Create" option.

@shariquerik #44995 Read
fix ui-ux 4 days ago

Hidden fields don't open the Create dialog

A DocType whose only always-shown Create fields are hidden now opens the full-page new record instead of an empty dialog.

@shariquerik #45006 Read
fix ui-ux 4 days ago

Open the Create dialog with focus in its first field

The dialog opens with focus on its first writable field, so Ctrl/Cmd+Enter works straight away.

@shariquerik #44988 Read
fix framework 4 days ago

Delete all rows of a table in a dialog

"Delete all rows" on a table field with more than one page of rows in a dialog threw an error and deleted nothing. It now clears the rows.

@sumitjain236 #44977 Read
fix ui-ux 4 days ago

Ctrl/Cmd+S saves the Create dialog, never the page under a dialog

In a Create dialog, Ctrl/Cmd+S now saves the new record. On a record page it no longer triggers the browser's Save Page As.

@shariquerik #45007 Read
fix ui-ux 4 days ago

Menu text cut off, menu tooltip stuck and shortcut badge empty

Menu text no longer clips at the bottom of letters, the menu tooltip no longer sticks after a pick, and a shortcut with a count of 0 shows 0.

@kaulith #45010 Read
fix framework 4 days ago

Auto margins in print format css break pdf generation

A print format with `margin-left: auto` in its CSS could not be downloaded as PDF. Margin values that are not lengths are now skipped.

@kaulith #45014 Read
fix framework 4 days ago

Multi-doctype bulk pdf stops at the first failing document

One failing document used to stop a multi-doctype bulk PDF job silently. The failure notice is now sent correctly, and progress counts from 1/N.

@kaulith #45012 Read
fix framework 4 days ago

Bulk pdf with a password fails for typst print formats

Removes a check that rejected password-protected bulk PDFs for Typst print formats, because the merged PDF is encrypted once at the end.

@kaulith #45013 Read
fix framework 4 days ago

Pdf links fail for documents with & or + in the name

Print links were HTML-escaped instead of URL-encoded, so `&` split the parameters and `+` became a space.

@kaulith #44960 Read
fix ui-ux 4 days ago

Keep field sidebar on screen with many tabs

On DocTypes with many tabs the form builder canvas grew wider than the screen, pushing the field sidebar off-screen.

@sokumon #45027 Read
fix ui-ux 4 days ago

Render Map View by declaring leaflet in required_libs

Map View rendered a blank box on every doctype after the refactor. Leaflet is now declared through `required_libs`.

@Shllokkk #44992 Read
fix framework 4 days ago

Use the connection IP on the dev server

On `bench start`, the client IP comes from the connection instead of forwarded headers.

@Vibhuti410 #44979 Read
fix framework 4 days ago

Evaluate component inputs once and validate studio paths

Component inputs that contain `{{ }}` now render as text instead of running as expressions. Studio page titles and component ids are scrubbed so exports stay inside the app's studio folder.

@ruchamahabal #44980 Read
fix framework 4 days ago

Stop querying the missing `published` column on every website request

Since Studio was merged, every website page returned a 500 on Postgres. The website route matcher queried a column Studio Apps no longer have, and the controller now stops asking for it.

@ruchamahabal #44965 Read
HR 9k 4 updates
fix hr-payroll 4 days ago

Add confirmation before cancelling request in pwa

Cancelling a submitted request in the PWA now asks for confirmation first.

@nareshkannasln #5440 Read
fix hr-payroll 4 days ago

Update pwa layout direction for rtl languages

The PWA sets `dir` on `` for right-to-left languages, and its left/right styles are now start/end.

@nareshkannasln #5433 Read
fix hr-payroll 4 days ago

Skip assignment masters the user can't read

Opening an Employee showed an Insufficient Permission error for users who could not read an assignment master. Those masters are now skipped.

@nareshkannasln #5470 Read
fix hr-payroll 4 days ago

Apply company filter in goal tree

The goal tree showed goals from every company the user could access. It now applies the selected company filter.

@nareshkannasln #5471 Read
CRM 3.9k 4 updates
feat crm-sales 4 days ago

Filter tree Link fields by descendants (inclusive)

Adds a "Descendants of (inclusive)" filter, so filtering Territory by a parent includes its child territories.

@Shindhu-Ramaswamy #3016 Read
fix crm-sales 4 days ago

Keep setup choices and availability dots right

Setup choices are kept when saving fails. Renaming an availability status refreshes open tabs.

@ps173 #3171 Read
fix crm-sales 4 days ago

Skip setup wizard unless an installed app adds wizard steps

fix: skip setup wizard unless an installed app adds wizard steps

@shahzeelahmed #3172 Read
fix crm-sales 4 days ago

Keep lead owner as deal owner when converting with co-assignees

When a lead had several assignees, converting it set the deal owner to the last co-assignee. It now stays the lead owner.

@Shindhu-Ramaswamy #3090 Read
Helpdesk 3.4k 4 updates
feat other-apps 4 days ago

Studio-built customer portal

Customers get a new portal at `/help`, built as a Frappe Studio app. It needs frappe `develop` (v17).

@aerodeval #3846 Read
feat other-apps 4 days ago

Public knowledge base on the studio portal

The knowledge base moves to the Studio portal at `/help`, with public, customers-only and private articles.

@aerodeval #3847 Read
fix other-apps 4 days ago

Let the studio portal's calls through block_endpoints

On sites with `block_endpoints`, signed-out visitors to `/help` were sent to login and ticket pages returned a 404. The portal's calls now pass through, and each new method checks permission itself.

@aerodeval #3909 Read
fix other-apps 4 days ago

Ticket page, settings and timezone fixes; old saved views; ticket origin

Saved views from the old customer portal no longer crash the ticket list. The ticket form layout and timezone handling are fixed, and tickets record their origin.

@aerodeval #3910 Read
LMS 3.3k 6 updates
feat other-apps 4 days ago

Redesign evaluator availability as a weekly hours table

Availability becomes a weekly hours table. Slots and Schedule tabs show only for Batch Evaluators.

@raizasafeel #3139 Read
fix other-apps 4 days ago

Program member access on customised sites, plus faster CI

Staff keep read and write on program member fields on sites that customised LMS Program permissions.

@pateljannat #3138 Read
fix other-apps 4 days ago

Record exercise results only from the grading endpoint

A learner could write their own status and test results through the document API. The controller now rejects writes that do not come from the grading endpoint.

@raizasafeel #3128 Read
fix other-apps 4 days ago

Scope mentions, lesson embeds and SCORM files

A discussion reply notifies a mentioned user only if they take part in that discussion, and at most 10 users are notified per reply.

@raizasafeel #3135 Read
fix other-apps 4 days ago

Scope batch announcements and records filed by learners

Batch announcements show only mail sent by the batch's own staff. Quiz submissions lock the member's row before counting attempts, so parallel submits cannot exceed `max_attempts`.

@raizasafeel #3137 Read
fix other-apps 4 days ago

Verify Razorpay orders and charge GST by billing address

Before a payment is marked paid, the callback checks with Razorpay that the order matches the checkout's receipt and amount. GST is decided from the billing address's country.

@raizasafeel #3136 Read
p Press 575 5 updates
feat other-apps 4 days ago

Let a team scrape its own server metrics

Adds a second basic-auth user to the metrics file, so a team can scrape its own servers without changing Central's monitoring.

@balamurali27 #7842 Read
feat other-apps 4 days ago

Mark support tickets raised via fc in url

Support links in the Frappe Cloud dashboard add `?utm_source=frappe-cloud` so support can see where tickets came from. It is for reporting only.

@aerodeval #7852 Read
fix other-apps 4 days ago

Mask traceback for errs in release pipeline ui

Release pipeline errors show a message instead of the raw traceback.

@siduck #7845 Read
fix other-apps 4 days ago

List sites without a successful backup in the daily audit

The daily audit now lists sites with 3 or more failed backups in 24 hours, plus sites with no successful backup in a day or in 3 days. A site that recovered no longer stays on the list.

@regdocs #7837 Read
feat other-apps 4 days ago

Ban SSH brute force with Fail2Ban on every server

Fail2Ban gets an SSH jail on every server kind and is installed on new servers. Scanner logins were filling sshd's connection slots and blocking Press's own Ansible runs.

@ssiyad #7846 Read
o Other 40 updates
feat other-apps 4 days ago

Advertise c51661b1

feat(lms): advertise c51661b1

@pateljannat #78 Read
feat other-apps 4 days ago

Advertise d5e0b557

feat(raven): advertise d5e0b557

@prathameshkurunkar7 #82 Read
feat other-apps 4 days ago

Unique constraint on workspace members

Enforces one member row per user per workspace. A pre-sync patch removes duplicates first.

@nikkothari22 #2334 Read
feat other-apps 4 days ago

Show marketplace panel in cloud settings

Adds a Marketplace panel to the Cloud Settings dialog and moves to `@frappe/cloud-sdk` 0.4.1.

@prathameshkurunkar7 #2337 Read
feat other-apps 4 days ago

Snapshot metadata dir and allow restoration cluster wide and single node

Adds point-in-time snapshots of the metadata directory, with cluster-wide and single-node restore.

@Aradhya-Tripathi #112 Read
feat other-apps 4 days ago

Grow the root file system when a running guest's disk grows

A udev rule runs `resize2fs` when the kernel reports a larger `/dev/vda`, so live disk resizes take effect.

@tanmoysrt #114 Read
feat other-apps 4 days ago

Serve the site on every name in the zone

The site is aliased to `*.`, so a customer's chosen name serves as soon as Central routes it.

@tanmoysrt #115 Read
feat other-apps 4 days ago

Add Get started onboarding dialog

feat: Add Get started onboarding dialog

@siduck #663 Read
feat other-apps 4 days ago

Publish Studio apps and framework islands in prebuilt assets

Prebuilt assets now include Studio apps, so server builds of such apps no longer fail.

@tanmoysrt #685 Read
feat other-apps 4 days ago

Stream site backups

With object storage configured, site backups stream straight to S3 without touching the server's disk.

@AyshaHakeem #687 Read
feat other-apps 4 days ago

Drain selected VMs

Metal Server Drain can be limited to selected VMs. Full-host drains still work.

@the-bokya #461 Read
feat other-apps 4 days ago

Rebalance sleepy hosts under memory pressure

Sleepy VMs are drained from hosts at 85% memory, with four parallel migrations and up to three retries.

@the-bokya #462 Read
feat other-apps 4 days ago

Show one included transfer for every server

Every server includes one monthly transfer allowance, set in Central Settings, instead of a different amount per plan.

@prathameshkurunkar7 #534 Read
feat other-apps 4 days ago

Set the frappe version of a product trial

Each product trial can use a chosen Frappe version, such as `version-16`, instead of always `develop`.

@prathameshkurunkar7 #536 Read
feat other-apps 4 days ago

Sign in on the chosen subdomain before the rename

A new trial site signs in on its chosen subdomain as soon as that name answers, rather than waiting for the rename.

@tanmoysrt #541 Read
feat other-apps 4 days ago

Collab glue between IronCalc, the side stores and the Y.Doc

Connects each tab's workbook to the collab Y.Doc in both directions. Nothing changes for users yet.

@krishpinto #1043 Read
feat other-apps 4 days ago

Collab undo, only your own changes

Each tab undoes only its own changes, using a Yjs `UndoManager`. It is not wired into the editor yet.

@krishpinto #1058 Read
feat other-apps 4 days ago

Rebuild email suggestions around who you write to

Recipient suggestions rank people you write to first, and include enabled Suite users and shared mailboxes.

@s-aga-r #1063 Read
feat other-apps 4 days ago

Backport email suggestions rebuild (#1063, #1064)

feat(mail): backport email suggestions rebuild (#1063, #1064)

@s-aga-r #1065 Read
fix other-apps 4 days ago

Install translations on every boot path

The production web app showed English for every language because translations were never installed from the boot data.

@nikkothari22 #2335 Read
fix other-apps 4 days ago

Format document preview currency fields in their own currency

fix: format document preview currency fields in their own currency

@TITANiumRox #2340 Read
fix other-apps 4 days ago

Remove reference to unicommerce patch missing on version-16

A stale `patches.txt` entry made `bench migrate` fail with `ModuleNotFoundError` on v16 sites.

@Bhavathariniya #488 Read
fix other-apps 4 days ago

Frappe cloud marks the app incompatible with nightly benches

Frappe Cloud rejected the `-dev` upper bound, so the app was never marked compatible with nightly. The bound is now `<18.0.0`.

@kaulith #51 Read
fix other-apps 4 days ago

Warm start a VM whose disk is larger than the warm image

A VM with a larger disk than its warm image always cold booted. The warm match now accepts a disk at least as large as the warm disk.

@tanmoysrt #467 Read
fix other-apps 4 days ago

Let drain history allow VM deletion

A VM moved by a Metal Server Drain could not be deleted because drain history rows blocked it. Deletion now ignores those links.

@tanmoysrt #470 Read
fix other-apps 4 days ago

Select due sleep offloads on uuid columns

No VM went to deep sleep or coma because the due-work query failed on MariaDB `uuid` columns. It now checks `active_migration IS NULL`.

@tanmoysrt #473 Read
fix other-apps 4 days ago

Show full setup alerts and a support email

The slow-setup and failure alerts on the setup page now show full text, and the failure alert includes a support email.

@prathameshkurunkar7 #535 Read
fix other-apps 4 days ago

Lock snapshots and termination protection on trial servers

Trial servers refuse snapshots and termination protection, and an expired protected trial no longer keeps its server running.

@prathameshkurunkar7 #539 Read
fix other-apps 4 days ago

Retry the trial sign-in while a small server is busy

A 0.25 vCPU trial server often stalled at sign-in while busy. Central now retries it while the server answers 429, 5xx or times out.

@prathameshkurunkar7 #540 Read
fix other-apps 4 days ago

Name and open the chosen site address

The upgrade page and site emails show and open the customer's chosen address once it is active, not the automatic `site-*` name.

@prathameshkurunkar7 #542 Read
fix other-apps 4 days ago

Warn that disk size cannot be decreased

The resize dialog warns that a larger disk is permanent, and the plan list leaves out plans that would shrink the disk.

@prathameshkurunkar7 #543 Read
fix other-apps 4 days ago

Write the most specific hostname alias first

The `admin-vm-*` alias now takes precedence over the `*.` wildcard in nginx.

@tanmoysrt #689 Read
fix other-apps 4 days ago

Redirect the Central VM hostname to a renamed site's new primary name

After a rename, the `site-*` VM hostname now redirects to the customer's new primary name.

@tanmoysrt #688 Read
fix other-apps 4 days ago

Convert loan application tenure to instalments for non-monthly frequency

Tenure is in months, but it was read as an instalment count. A Loan Application gets a Repayment Frequency, so a 12-month Bi-Weekly loan now gets 26 instalments.

@Nihantra-Patel #1541 Read
fix other-apps 4 days ago

Bugs testers hit first (xlsx dates, import renames, focus, paste, chart, name box)

Fixes one-day date shifts in xlsx import and export, plus import, focus, paste, chart and name-box bugs found in a user-level round trip.

@krishpinto #1059 Read
fix other-apps 4 days ago

Shrink ranges when their first or last rows are deleted

Deleting the first or last row of a range shrinks the range, as Excel and Google Sheets do, instead of producing `#REF!`.

@krishpinto #1061 Read
fix other-apps 4 days ago

Keep styling, sizes, freeze, merges and conditional formats through xlsx

A round trip through Excel or Google Sheets no longer loses bold, colours, column widths, freeze panes, merges or conditional formats.

@krishpinto #1062 Read
fix other-apps 4 days ago

Rebuild address indexes when the account owner is disabled

The address index rebuild failed for accounts whose owner was disabled. It now runs for those accounts.

@s-aga-r #1064 Read
fix other-apps 4 days ago

Fix disk overcommit, migration rollback and host recovery gaps (backport #460)

fix(atlas): Fix disk overcommit, migration rollback and host recovery gaps (backport #460)

@tanmoysrt #466 Read
fix other-apps 4 days ago

Fix disk overcommit, migration rollback and host recovery gaps

Placement could give the same free disk space to many VMs, and a full pool then broke every guest. Metal now reports pool size less every provisioned disk, and migration rollback and host recovery are fixed.

@tanmoysrt #460 Read

Friday, October 23

ERPNext 40.6k 27 updates
fix accounting 5 days ago

Apply commit-analyzer options

(Release config fix; listed under Chores as well.)

@sokumon #61967 Read
fix accounting 5 days ago

Run snapshot reports on live data for users with permission restrictions

Snapshot mode runs General Ledger, Balance Sheet, Profit and Loss and Trial Balance on live data for users with User Permissions.

@nabinhait #61756 Read
fix accounting 5 days ago

Correct value rendering on task info page

Fixes a filter precedence error so values with special characters display correctly.

@nishkagosalia #61964 Read
fix accounting 5 days ago

Keep custom fields visible in primary address and contact section

Hides the primary address and contact fields one by one instead of the whole section, so custom fields still show.

@Vibhuti410 #61901 Read
fix stock-manufacturing 5 days ago

Leave cancelled entries out of the item heatmap

The item heatmap ignores cancelled Stock Ledger Entries; stock quantities and values are unchanged.

@Pandiyan5273 #61867 Read
fix accounting 5 days ago

Count only submitted documents in the sales person heatmap

The heatmap ignores draft and cancelled documents, matching the allocated amounts.

@Pandiyan5273 #61952 Read
fix accounting 5 days ago

Validate installation note against delivery note (v15)

fix: validate installation note against delivery note (v15)

@Shllokkk #61824 Read
fix accounting 5 days ago

Read internal transfer rate settings from the correct cache key

A changed setting now applies immediately instead of after the cache TTL.

@Shllokkk #62053 Read
fix accounting 5 days ago

Multiple Selling Settings bugs (DN-required service rows, rate cache, monthly sales, section toggles, POS tax id)

Fixes several Selling Settings bugs, including service rows that cannot be invoiced when a Delivery Note is required, and a stale maintain-same-rate cache.

@Shllokkk #61970 Read
fix accounting 5 days ago

Party specific item rule gaps

Re-validates items on update after submit, applies group-level rules down the subtree, and allows an existing rule to be saved again.

@Shllokkk #61904 Read
fix accounting 5 days ago

Filter bundle components by purchase supplier

Purchase Orders created for several suppliers include only each supplier's bundle components.

@Pandiyan5273 #61966 Read
fix stock-manufacturing 5 days ago

Keep pending work orders open on shop floor

A Work Order with pending quantity stays on the Open tab after a partial job card submission.

@Pandiyan5273 #61955 Read
fix accounting 5 days ago

Include payment entries in order advance payment status

Advance Payment Status on Sales and Purchase Orders counts payment entries, so a fully paid order no longer shows Not Requested.

@Pandiyan5273 #61480 Read
fix stock-manufacturing 5 days ago

Add the finished good row for items without serial or batch

Manufacture entries for items with no serial or batch get their finished good row again, so saving no longer fails.

@mihir-kandoi #62020 Read
fix accounting 5 days ago

Accept date objects in payment terms

Fixes a regression where creating a Purchase Invoice from a Purchase Receipt failed when a Payment Terms Template was applied.

@Pandiyan5273 #61989 Read
fix accounting 5 days ago

Translate income and expenses at the transaction rate

Income and expenses are translated at the transaction rate, as the Consolidated Trial Balance already does.

@nabinhait #61887 Read
fix accounting 5 days ago

Report other balance sheet accounts so net change matches cash

Adds a catch-all operations row so Net Change in Cash matches the cash balance.

@nabinhait #61885 Read
fix accounting 5 days ago

Stop reports when an exchange rate is missing

Reports now fail when no exchange rate is found, instead of silently using 1 and showing wrong amounts.

@nabinhait #61900 Read
fix accounting 5 days ago

Always convert to presentation currency at the closing rate

Financial statements convert foreign-currency balances at the closing rate, so an account's value no longer depends on unrelated accounts.

@nabinhait #61889 Read
fix stock-manufacturing 5 days ago

Price Moving Average purchase returns at the moving average on repost

Reverts a repost change that let a back-dated Moving Average purchase return take out more value than the warehouse held, leaving positive qty at a negative stock value.

@mihir-kandoi #61961 Read
fix accounting 5 days ago

Task gantt popup xss

Task and Project links in the Gantt popup are built with get_form_link, which closes an XSS hole.

@nishkagosalia #61956 Read
fix stock-manufacturing 5 days ago

Check warehouse user permission in stock read methods

Stock read methods skip default warehouses the user cannot access and refuse a warehouse the caller passes.

@mihir-kandoi #61869 Read
fix stock-manufacturing 5 days ago

Check warehouse user permission in get_valuation_rate

A user who cannot access a warehouse can no longer read the item's valuation rate there.

@mihir-kandoi #61870 Read
fix accounting 5 days ago

Preserve company and bank ownership in payment orders

Journal Entries from Payment Orders keep the order's company, and bank accounts are limited to ones the user owns.

@Pandiyan5273 #61602 Read
fix accounting 5 days ago

Respect disabled contact form and match customers only for signed-in senders

Skips Lead and Opportunity creation when the Contact Us form is disabled, and links a message to a customer only when the sender is signed in.

@nabinhait #61755 Read
fix accounting 5 days ago

Limit which call logs employees can read

Employees see a call with no receiving agent only when they are its linked user.

@nabinhait #61903 Read
fix accounting 5 days ago

Let portal users change only the issues they raised

Customer portal users can edit only the issues they raised; viewing is unchanged.

@nabinhait #61754 Read
Frappe 11k 18 updates
fix framework 5 days ago

Apply commit-analyzer options

fix(release): apply commit-analyzer options

@sokumon #44911 Read
feat framework 5 days ago

Show the page stepper at the top of multi-step forms

Shows a compact stepper at the top of multi-step Web Forms, replacing the footer progress dots.

@g-sowani #43563 Read
feat ui-ux 5 days ago

Server side of Create — mandatory-only Quick Entry default and a New Record layout

Quick Entry shows mandatory fields by default, and desk v2 gets a full-page New Record layout.

@shariquerik #44910 Read
feat framework 5 days ago

Backport v2 discovery API and MCP server

Adds the v2 discovery API and an MCP server at /api/v2/mcp for reading and writing documents and calling methods.

@ankush #44449 Read
feat framework 5 days ago

Merge studio into frappe

Adds Studio, a visual Vue app builder, as a beta module.

@ruchamahabal #44825 Read
fix ui-ux 5 days ago

Incorrect title for second link field pointing to same doctype in list view

(Listed above under the backport author; no separate summary needed.)

@kaulith #44918 Read
fix framework 5 days ago

Clear the cached webhook list when one is deleted

Same fix for version-16; TestWebhook also clears the cache, which had been failing the MCP tests that run after it.

@iamejaaz #44940 Read
fix framework 5 days ago

Clear the cached webhook list when one is deleted

Deleting a webhook clears the cached list, so later saves stop queueing the deleted webhook.

@iamejaaz #44941 Read
fix framework 5 days ago

Add each file once when zipping

A file that is already in the zip archive is not read and written again.

@AarDG10 #44912 Read
fix framework 5 days ago

Don't validate Print Settings when backfilling bulk export limits

The backfill patch no longer validates Print Settings.

@AarDG10 #44893 Read
fix ui-ux 5 days ago

Chromium download fails on newer or non-debian arm64 linux

Uses a single linux-arm64 Chromium download for every arm64 Linux host.

@kaulith #44788 Read
fix developer-experience 5 days ago

Composer attachment chips: paperclip icon, enter/leave animation, pasted URLs stay links

Attachment chips share one paperclip icon and animate in and out, and pasted URLs stay as links.

@aerodeval #44913 Read
fix ui-ux 5 days ago

Clear uploader errors when a file is removed

Removing a file also clears its "already in the list" error.

@aerodeval #44925 Read
fix ui-ux 5 days ago

Keep side-by-side buttons aligned while one shows its spinner

Buttons are vertically centred, so a neighbour no longer shifts 3px when one shows its spinner.

@RitvikSardana #44926 Read
fix ui-ux 5 days ago

Keep develop sites unchanged until desk v2 is turned on

Makes desk v2 opt-in per site, so develop sites that have not enabled it behave as before.

@shariquerik #44886 Read
fix ui-ux 5 days ago

Restore CSS variables dropped by the Espresso migration

Restores the old border-radius and invert-neutral variables as aliases to the new tokens, so existing Desk styles render again.

@sokumon #44889 Read
fix ui-ux 5 days ago

Restrict viewer user info lookup to desk users

Website users now get a permission error from the viewer user info lookup, and desk users see the same results as before.

@AarDG10 #44905 Read
fix framework 5 days ago

Count login attempts atomically

Keeps the failed-login count in one Redis key incremented with INCR, so concurrent failures are all counted.

@AarDG10 #44869 Read
CRM 3.9k 2 updates
feat crm-sales 5 days ago

Ship CRM guidance as an assistant skill

Replaces the MCP agent instructions in MCP Settings with a CRM skill that ships with the app.

@ps173 #3107 Read
fix crm-sales 5 days ago

Keep data import working on Frappe v15

Falls back to the older DataImport component on Frappe v15, since the new wizard exists only on v16.

@ps173 #3158 Read
LMS 3.3k 2 updates
fix other-apps 5 days ago

Use the rebuilt import wizard, which frappe version-16 now ships

Points the import page at the renamed wizard so the main-hotfix frontend build passes again.

@pateljannat #3123 Read
fix other-apps 5 days ago

Scope access on assessments, certificates, programs, discussions and mentions

Open-ended quiz answers are saved with zero marks so learners cannot grade their own work, and only the author can delete a programming exercise.

@pateljannat #3125 Read
b Builder 2.5k 1 update
fix ui-ux 5 days ago

Connect remote fetches only to public addresses and require page write to convert images

Blocks remote fetches to internal addresses, including public URLs that redirect to one, and requires page write permission to convert images.

@surajshetty3416 #989 Read
Insights 1k 1 update
fix other-apps 5 days ago

Group digits by Frappe's number format, not the country

Charts group digits by the currency's or System Settings number format, so an AED dashboard no longer shows lakh and crore grouping.

@nextchamp-saqib #1533 Read
p Press 575 3 updates
fix other-apps 5 days ago

Hand out hybrid standby sites only on rule match

Stops a signup from a country with no rule getting another country's hybrid site from the shared standby queue.

@regdocs #7823 Read
feat other-apps 5 days ago

Record a daily backup audit doctype instead of Raven

Records a daily backup audit doctype in place of the Raven digest, with agent job success rates and failing sites.

@regdocs #7827 Read
fix other-apps 5 days ago

Require certifi 2026.10.19 or later

Raises the minimum certifi version to 2026.10.19.

@regdocs #7831 Read
p Payments 180 1 update
fix integrations 5 days ago

Use ? for redirect_message when url has no query string

A failed charge with no redirect_to builds a valid payment-failed URL instead of one with & in place of ?.

@diptanilsaha #278 Read
o Other 34 updates
fix other-apps 5 days ago

Do not fetch files separately in timeline button

fix: do not fetch files separately in timeline button

@nikkothari22 #2332 Read
feat other-apps 5 days ago

Guided setup, per-company config, exemptions, and UX overhaul

Adds a guided setup wizard, per-company configuration, exemptions and a UX overhaul, migrated to Frappe v16.

@raghavisruia #4 Read
feat other-apps 5 days ago

Add OAuth client credentials token

Lets Shopify Dev Dashboard apps connect with client credentials and renews tokens automatically.

@Bhavathariniya #483 Read
feat other-apps 5 days ago

Provision script dbus

Lets the frappe user run systemctl on its own services.

@Aradhya-Tripathi #111 Read
feat other-apps 5 days ago

Automatic disk expansion / node addition of OSC

feat: Automatic disk expansion / node addition of OSC

@Aradhya-Tripathi #110 Read
feat other-apps 5 days ago

Unify Suite user and storage administration

Replaces the Mail dashboard with an admin-only Suite dashboard for users, storage, mail and settings.

@BreadGenie #974 Read
feat other-apps 5 days ago

Suite Cloud Agent for Stalwart nodes

Adds a stdlib Go agent for Stalwart nodes that tails logs, samples the machine, scrapes Prometheus metrics and pushes batches to the telemetry API.

@s-aga-r #35 Read
fix other-apps 5 days ago

Keep the new idle timeout after a resize

Keeps the requested idle timeout after an in-place VM resize, and builds Metal with Go 1.26.10 to fix a failing security scan.

@the-bokya #455 Read
feat other-apps 5 days ago

Add VM sleep states

Reports sleeping, deep-sleeping and comatose VM states in Metal and Atlas.

@the-bokya #456 Read
feat other-apps 5 days ago

Rank balanced hosts by memory band, storage, then CPU

Placement ranks hosts by memory band, then storage pressure, then CPU pressure, and no longer prefers hosts with fewer VMs from the same tenant.

@the-bokya #452 Read
feat other-apps 5 days ago

Name kernels and download them from Desk

Kernel records get titles and can be downloaded from their Desk form.

@tanmoysrt #448 Read
feat other-apps 5 days ago

Show the trial and step through payment in billing

Shows trial days left above the plan and walks owners through billing details and payment.

@prathameshkurunkar7 #682 Read
feat ai 5 days ago

Settings tab for turning prompt logging on/off

feat(ai): settings tab for turning prompt logging on/off

@phot0n #533 Read
fix other-apps 5 days ago

Rework the firewall rule editor

Gives the firewall editor fixed table columns, removable address chips and undo.

@prathameshkurunkar7 #532 Read
feat other-apps 5 days ago

Smoother server creation and operator links

Opens the new server's page once it is ready, puts network options behind feature flags, and adds Open in Desk and Atlas links.

@prathameshkurunkar7 #530 Read
feat other-apps 5 days ago

Send signup attribution with trial_requested

The trial_requested event carries UTM and referrer attribution from the Team.

@prathameshkurunkar7 #529 Read
feat other-apps 5 days ago

Add bare metal yield report and dashboard

Adds a report and Insights dashboard comparing potential rate-card revenue with cash revenue.

@saurabh6790 #527 Read
feat other-apps 5 days ago

Sign in to the same account automatically on reconnect

Reconnecting passes a login hint, so the provider skips its account picker.

@RitvikSardana #526 Read
feat other-apps 5 days ago

Set default disk and network limits for new servers

New servers get default disk and network limits, so one server cannot use all of a host's capacity.

@tanmoysrt #524 Read
feat other-apps 5 days ago

Free product trials with locked server access

Product signups get one 7-day trial site with no server access; direct signups add a card and get full access.

@prathameshkurunkar7 #520 Read
feat other-apps 5 days ago

One-click Email oauth mail sign-in for V2 sites

Sites connect a mailbox in one click through a provider app that Frappe Cloud owns; Central keeps the app secret and gives each site only its own mailbox tokens.

@RitvikSardana #506 Read
fix other-apps 5 days ago

Remove the user guide link from the README

fix: remove the user guide link from the README

@raghavisruia #5 Read
fix other-apps 5 days ago

Keep migrate off the telemetry DuckDB file

Migrate no longer opens the DuckDB file, so a read lock held by a dashboard query cannot fail it.

@s-aga-r #37 Read
fix other-apps 5 days ago

Fix (native): Workspace name in notification

fix (native): Workspace name in notification

@TITANiumRox #2318 Read
fix other-apps 5 days ago

Minor UI fixes

fix: minor UI fixes

@nikkothari22 #2330 Read
fix other-apps 5 days ago

Send CORS headers for the app on Frappe 15

Sets the CORS headers the mobile app needs on Frappe 15, which had blocked the boot request after sign-in.

@nikkothari22 #2329 Read
fix other-apps 5 days ago

Keep deferred repayment start date on pre payment and advance payment

A pre-payment or advance payment no longer moves the first EMI earlier than the agreed deferred start date.

@Nihantra-Patel #1537 Read
fix other-apps 5 days ago

Remove unused failing storage calc

fix: Remove unused failing storage calc

@Aradhya-Tripathi #683 Read
fix other-apps 5 days ago

Restart the admin in a new process after an update

The admin restart runs in a new process, so it loads only the new code instead of failing with an ImportError.

@tanmoysrt #681 Read
fix other-apps 5 days ago

Keep custom lines in the generated configs

Pilot's managed Redis block keeps lines outside it, so operators can load modules such as RediSearch.

@tanmoysrt #684 Read
fix other-apps 5 days ago

Certifi 2026.10.19 bump

Updates the certifi CA bundle to 2026.10.19.

@regdocs #647 Read
fix other-apps 5 days ago

Copy a missing kernel from the migration source

A migrated VM copies its kernel from the source host, so its next cold boot does not depend on an expired kernel URL.

@tanmoysrt #451 Read
fix other-apps 5 days ago

Share kernels and keep them while VMs use them

Each kernel is stored once, and archiving an image no longer deletes a kernel that running VMs need, so a stopped VM can boot again.

@tanmoysrt #447 Read
fix other-apps 5 days ago

Do not follow redirects when sending the client secret to the token URL

Stops the token request from following 307 and 308 redirects, so the client secret is never re-sent to a new address.

@RitvikSardana #525 Read

Thursday, October 22

ERPNext 40.6k 15 updates
feat accounting 1 week ago

Items tab on customer and supplier

Adds an Items tab to Customer and Supplier forms, listing frequently ordered items and the party's item restriction rules, which can be added or removed there.

@khushi8112 #61506 Read
fix accounting 1 week ago

Backport 25 selling, buying and setup fixes from develop (v15)

Cherry-picks 25 fixes already merged to develop into the v15 hotfix branch, covering stock, selling, buying, accounts and setup.

@mihir-kandoi #60744 Read
fix accounting 1 week ago

Round debit credit diff before comparing in make_round_off_gle

Rounds the debit and credit difference before comparing it, so float error no longer drops a round-off entry and leaves a 0.01 imbalance.

@ervishnucs #60639 Read
fix accounting 1 week ago

Match payment entry to visible number format

POS payment input uses the invoice currency's number format for precision, so whole-unit currencies accept whole amounts.

@krishna-254 #60574 Read
fix accounting 1 week ago

SMS Center recipient and receiver-list bugs

Fixes a crash in the Lead (Open) recipient list, sends SMS to the correct number when a name or number contains a hyphen, and stops duplicate or missing contacts for All Contact.

@Shllokkk #61679 Read
fix accounting 1 week ago

SMS Center recipient and receiver-list bugs (v15)

Manual backport of #61679 to v15 with the same SMS Center fixes.

@Shllokkk #61683 Read
fix accounting 1 week ago

SMS Center recipient and receiver-list bugs (v16)

Fixes a crash when selecting All Lead (Open), splits receiver numbers on the last " - " so hyphenated names reach the right number, and de-duplicates All Contact recipients.

@Shllokkk #61682 Read
fix accounting 1 week ago

Restore v15 behaviour for party specific item

A party with Party Specific Item rules sees only the matching items again, Customer and Supplier Group rules apply to their members, and save blocks items outside the list.

@khushi8112 #61743 Read
fix stock-manufacturing 1 week ago

Account for process loss in plan progress

The Production Plan Visualizer subtracts process loss from pending quantities and completion percentages, so completed production no longer shows as pending.

@Pandiyan5273 #61773 Read
fix accounting 1 week ago

Toggle commission sections across selling forms

The Enable tracking sales commissions setting now also shows or hides the commission and sales team sections on Sales Order, Delivery Note and POS Invoice, not only Sales Invoice.

@Pandiyan5273 #61737 Read
fix stock-manufacturing 1 week ago

Show error for unmatched scan in barcode scan dialog

Scanning a value that is not a matching barcode, batch or serial in the scan dialog now plays the fail sound and shows an error, as the duplicate scan already did.

@mihir-kandoi #61765 Read
fix stock-manufacturing 1 week ago

Skip serial nos earlier disassemblies already used

A later partial disassembly skips serial numbers already used by earlier disassemblies of the same source, so it no longer fails with "already present in the warehouse".

@mihir-kandoi #61783 Read
fix accounting 1 week ago

Round unallocated repair cost to field precision

Rounds the remaining repair cost to the field's precision so an exact-remainder allocation no longer fails with a false "exceeds available amount" error (closes #60234).

@Sudharsanan11 #61742 Read
fix accounting 1 week ago

Reset foreign currency payment request status on cancellation

Cancelling payments on a foreign-currency Payment Request now resets its status correctly instead of setting it to Partially Paid, by comparing amounts in the same currency.

@Afsalsyed #61664 Read
fix stock-manufacturing 1 week ago

Correct delivery note credit exposure

A submitted Delivery Note is no longer counted twice against the customer's credit limit when Bypass credit limit check at Sales Order is enabled.

@Pandiyan5273 #61720 Read
Frappe 11k 14 updates
fix framework 1 week ago

Rename test_runner.py files so CI discovers them

fix(tests): rename test_runner.py files so CI discovers them

@dankgarlic1 #44834 Read
feat framework 1 week ago

Run web, realtime and jobs in one process (backport #41867)

Adds an opt-in single-process runner for small or trial sites, serving the web app, realtime and background jobs from one uvicorn process.

@dankgarlic1 #44826 Read
feat framework 1 week ago

Bound and filter the linked documents lookup

The linked documents lookup accepts optional filters, a limit and an order, so callers can fetch only the newest or non-cancelled records.

@mihir-kandoi #43437 Read
feat framework 1 week ago

Add plutoprint as a light pdf generator

Adds PlutoPrint as a PDF engine that runs inside the Python worker, so most PDFs no longer start a browser. Pages that need JavaScript or barcodes still use Chromium.

@iamejaaz #44644 Read
feat framework 1 week ago

Feat(notification)!: Migrate Slack Webhook URL to generic Notification Webhook URL

Replaces the Slack-only webhook field with a generic Notification Webhook URL that also supports Google Chat, Mattermost, Rocket.Chat, Discord, Ntfy, Raven, Matrix via Hookshot, and Microsoft Teams. Existing Slack URLs migrate through patches.

@cogk #44113 Read
fix framework 1 week ago

Run GET-only methods as GET

Methods whitelisted only for GET can now be called over MCP, which previously refused them. Other methods still run as POST.

@nextchamp-saqib #44840 Read
fix framework 1 week ago

Keep the picked PDF renderer when saving a print format

Saving a print format no longer overwrites the chosen PDF renderer with Chromium when the format has no stored value.

@iamejaaz #44824 Read
fix framework 1 week ago

Show core pdf generators on sites with an options override

Sites where an app had overridden the PDF Generator options now get PlutoPrint and Typst in the list after migrate, so picking them no longer silently saves Chrome.

@iamejaaz #44844 Read
fix framework 1 week ago

Use Inter in print format editor pdfs

Print format editor PDFs use Frappe's bundled Inter font, so servers without Inter no longer fall back to DejaVu. A "Default" font also prints in Inter.

@iamejaaz #44845 Read
fix framework 1 week ago

Keep a layer's own additions in Manage Dock

Dock entries that a layer added are listed in Manage Dock, so saving no longer deletes them.

@sokumon #44812 Read
fix ui-ux 1 week ago

Do not change documents when the classic board loads

Opening a classic Kanban board no longer resets the column of cards edited elsewhere and re-saves them under the viewing user. Moving cards on the board still updates them.

@mainshivam #44839 Read
fix ui-ux 1 week ago

Revert "fix(assign_to): require write permission to remove another user's assignment"

Reverts #44820. The author says the read-only removal behaviour is intended.

@AarDG10 #44835 Read
fix ui-ux 1 week ago

Require write permission to remove another user's assignment

Removing someone else's assignment now requires write permission on the document, matching what the UI offers. The server previously checked only read access.

@AarDG10 #44820 Read
fix framework 1 week ago

Check system manager permission for take backup APIs

Adds a System Manager check to the take_backup APIs, which any authenticated user could previously call.

@SaiFi0102 #43705 Read
CRM 3.9k 6 updates
fix crm-sales 1 week ago

Split phone number lookup for server side linking

Separates the server-side phone lookup used by call and WhatsApp linking from the one the UI uses.

@ps173 #3103 Read
feat crm-sales 1 week ago

Guide MCP agents through CRM workflows

Adds CRM instructions to MCP Settings, such as converting leads instead of creating deals by hand.

@ps173 #3097 Read
fix crm-sales 1 week ago

Update lead and deal modified time on WhatsApp messages

Sending or receiving a WhatsApp message updates the lead or deal's modified time, following the "Update timestamp on new communication" setting.

@michellealva #3101 Read
fix crm-sales 1 week ago

Keep the availability dot inside the avatar so list cells don't clip it

Moves the availability dot onto the avatar's corner so list cells no longer cut off its bottom edge.

@michellealva #3105 Read
fix crm-sales 1 week ago

WhatsApp errors when the app is not installed and template empty states

Stops the "App whatsapp is not installed" toast on lead and deal pages, skips the WhatsApp recipient check when the app is absent, and adds empty states for templates.

@ps173 #3032 Read
fix crm-sales 1 week ago

Doc and deal perm checks

Improves the permission checks in a few doc and deal API methods.

@ps173 #2992 Read
LMS 3.3k 4 updates
fix other-apps 1 week ago

Disambiguate option correctness and explanation labels in LMS Question

Gives each option's "Is Correct" and "Explanation" field a unique label, which matters because bulk import matches on labels.

@Nagaraj-62 #3074 Read
fix other-apps 1 week ago

Send the quiz unload beacon's CSRF token in the body

The quiz auto-submit beacon sends its CSRF token in the request body instead of the URL, so the token no longer lands in proxy access logs.

@raizasafeel #3109 Read
fix other-apps 1 week ago

Course outline fields, Getting started for moderators and the first-course flow

The course outline no longer returns every lesson's video link, quiz id and question to anyone who can view the course, including guests.

@pateljannat #3100 Read
fix other-apps 1 week ago

Batch progress, activity heatmap, POST-only actions and evaluation bookings

Batch student progress is now limited to site administrators, Moderators, and the batch's tagged instructors or evaluators. Holding the Batch Evaluator role alone no longer exposes other batches' students.

@pateljannat #3115 Read
b Builder 2.5k 1 update
fix ui-ux 1 week ago

Fix(sitemap, token, number prop)…

Backports the sitemap changes to list only indexable pages, moves standard tokens into developer mode, fixes number props overwriting the max value, and makes Builder installable again.

@surajshetty3416 #977 Read
Insights 1k 1 update
feat other-apps 1 week ago

Add frappe-insights skill for the assistant, MCP and frappectl

Adds a skill whose steps name document reads, writes or whitelisted methods, so one skill works across Flow, MCP and frappectl. The old workbook CLI skill is marked deprecated.

@nextchamp-saqib #1531 Read
p Press 575 7 updates
feat other-apps 1 week ago

Rotate a site's database password from desk

Backport to master of #7777.

@regdocs #7803 Read
feat other-apps 1 week ago

Rotate a site's database password from desk

Adds a staff-only action on the Site form that generates a new database password and applies it on the bench's database server.

@regdocs #7777 Read
feat other-apps 1 week ago

Notify the team when a job fails on a full disk

Sends an actionable notification when an agent job fails with "No space left on device", instead of the generic failure notice.

@balamurali27 #7801 Read
fix other-apps 1 week ago

Report public database server metrics

Raises the database server disk alert threshold to 91% and the OOM kill alert threshold to 30 kills.

@AyshaHakeem #7804 Read
fix other-apps 1 week ago

Exempt system managers from the employee checks

Same change as #7807, opened on the main branch.

@ssiyad #7805 Read
fix other-apps 1 week ago

Weekly installs query and protected names

Passes the app name to the marketplace weekly installs query as a parameter instead of an f-string, and limits `@protected` to a single str or int document name.

@ssiyad #7812 Read
fix other-apps 1 week ago

Refactor(telegram)!: Webhook token

refactor(telegram)!: Webhook token

@ssiyad #7809 Read
o Other 24 updates
fix other-apps 1 week ago

Declare the insights version range

Declares the insights version range that Pilot's dependency checks require.

@s-aga-r #34 Read
feat other-apps 1 week ago

Advertise 47ddeca8

feat(lms): advertise 47ddeca8

@pateljannat #66 Read
feat other-apps 1 week ago

Block editing standard apps outside developer mode

Blocks edits to standard apps outside developer mode, on the server and in the UI, and makes Vue components follow the same rule as pages.

@ruchamahabal #317 Read
feat other-apps 1 week ago

Feat(default site backups)

New sites and sites with no backup policy get a default daily backup through the hourly bench job. Sites with a custom schedule keep it.

@AyshaHakeem #672 Read
feat other-apps 1 week ago

Mail and Calendar install as apps of their own

Gives Mail and Calendar their own manifests and install identities, while the rest of the Suite keeps its existing app.

@krantheman #1038 Read
feat other-apps 1 week ago

Mail on a phone as an app of its own

Gives Mail its own phone bottom bar and title row, with folder, search and profile tabs.

@krantheman #1039 Read
feat other-apps 1 week ago

Calendar on a phone as an app of its own

Gives Calendar its own phone bottom bar, with the current view as the first tab and a sheet for switching views and calendars.

@krantheman #1052 Read
feat other-apps 1 week ago

Install is offered once, quietly, then from Profile

Offers app install once on a phone, with a slim strip above the bottom bar, and then from Profile. A dismissal sticks per device and per app.

@krantheman #1046 Read
feat other-apps 1 week ago

Advertise v3.2.0

Publishes the Frappe Assistant Core 3.2.0 entry on the stable channel.

@buildswithpaul #45 Read
feat other-apps 1 week ago

Add passkeys to the registry

Lists the passkeys app for v15 and v16, which adds passkey sign-in and a `@passkey_protected` decorator for approving sensitive actions.

@karthikeyan5 #28 Read
feat other-apps 1 week ago

Check challans on TRACES and support correction returns

Adds a Check on TRACES button that looks up a challan by BSR code, serial number and deposit date through Sandbox, and supports correction returns.

@deepeshgarg007 #143 Read
feat other-apps 1 week ago

Add termination protections

feat: Add termination protections

@Aradhya-Tripathi #109 Read
feat other-apps 1 week ago

Return termination protection in the get VM response

Adds an is_termination_protected field to the get VM response, so clients can check deletion protection without a list call.

@tanmoysrt #444 Read
feat other-apps 1 week ago

Collect node logs and metrics into Insights

Stores logs, traces and metrics from Stalwart mail nodes via a new telemetry API, loads them into Insights' DuckDB, and ships two dashboards.

@s-aga-r #33 Read
feat other-apps 1 week ago

Keep the masked prefix on the key

feat(keys): keep the masked prefix on the key

@phot0n #70 Read
feat other-apps 1 week ago

Termination protection on cloud boxes

Cloud machines can enable AWS termination protection from a button, with Sync reading the state back. Terminate and Archive refuse to release the Elastic IP while protection is on.

@phot0n #71 Read
fix other-apps 1 week ago

Fix(central)…

Removes an unused ptype argument from a permission check that never reached the socket server.

@Aradhya-Tripathi #515 Read
fix other-apps 1 week ago

Remove notification_title and notification_message

Removes two fields that were unused after the matching change in frappe/frappe#42472.

@ps173 #15 Read
fix other-apps 1 week ago

Phone loose ends

Keeps a folder's title row visible when the folder is empty, and limits Mail's and Calendar's Profile to their own settings.

@krantheman #1050 Read
fix other-apps 1 week ago

A gray folder no longer empties the account

Accounts with a Gray folder no longer show an empty Inbox, because the API contract now accepts the Gray colour.

@krantheman #1051 Read
fix other-apps 1 week ago

Allow full pending principal in normal repayment

Normal Repayment accepts the overdue amount plus the principal not yet due, so a borrower can pay off the loan and close it. Paying more is still blocked.

@Nihantra-Patel #1532 Read
fix other-apps 1 week ago

Use loan repayment frequency in loan disbursement

A disbursement takes the loan's repayment frequency instead of defaulting to Monthly, and the field fills in when the loan is picked.

@Nihantra-Patel #1531 Read
fix other-apps 1 week ago

Use loan repayment start date in loan disbursement

A disbursement made from the form uses the loan's repayment start date when its own date is empty, so the first repayment no longer lands on the product's cycle date.

@Nihantra-Patel #1534 Read
feat other-apps 1 week ago

Guard and monitor what the audit found

Adds checks at the lowest level that can hold each problem a production billing audit found, such as unexplained wallet balances, over-cap trial spend, wrong-currency billing and unsynced billing profiles, plus daily monitoring to catch them.

@saurabh6790 #518 Read

Wednesday, October 21

ERPNext 40.6k 56 updates
feat stock-manufacturing 1 week ago

Make BOM steps section collapsible after submit and fix its bottom border

Backport of #61693.

@rohitwaghchaure #61694 Read
feat stock-manufacturing 1 week ago

Make BOM steps section collapsible after submit and fix its bottom border

The Steps summary of a BOM with Produce an Item at Each Operation can be collapsed after submit.

@rohitwaghchaure #61693 Read
feat stock-manufacturing 1 week ago

Group the item variant details under templates, filter by warehouse

Same change, on develop.

@mihir-kandoi #61503 Read
feat accounting 1 week ago

Clearer labels for Produce an Item at Each Operation

Same change, on develop.

@rohitwaghchaure #61410 Read
feat accounting 1 week ago

Clearer labels for Produce an Item at Each Operation

Backport of #61410. Work Order uses the same labels as the BOM.

@rohitwaghchaure #61597 Read
feat accounting 1 week ago

Step guide and clearer messages for Produce an Item at Each Operation

Same change, on develop.

@rohitwaghchaure #61411 Read
feat accounting 1 week ago

Step guide and clearer messages for Produce an Item at Each Operation

Backport of #61411. Job Card gets a step guide, a stock check before moving materials, and Submit only once the job is done.

@rohitwaghchaure #61598 Read
feat accounting 1 week ago

Clearer setup for Produce an Item at Each Operation

Same change, on develop.

@rohitwaghchaure #61409 Read
feat accounting 1 week ago

Clearer setup for Produce an Item at Each Operation

Backport of #61409. Renames "Track Semi Finished Goods", adds a Steps list and one message that lists every step problem.

@rohitwaghchaure #61596 Read
feat accounting 1 week ago

Add item filter to trends reports

Adds an Item multi-select filter to all seven trends reports, so the total row reflects the filter.

@Sudharsanan11 #58234 Read
fix accounting 1 week ago

Advance validation uses company currency precision

An advance of KWD 3.071 against a USD invoice is no longer rejected because the total was rounded to invoice-currency precision.

@Pandiyan5273 #61549 Read
fix accounting 1 week ago

Exclude closed rows from drop ship delivery progress

Closed rows are ignored when recalculating the linked Sales Order's delivery percentage.

@Pandiyan5273 #61591 Read
fix accounting 1 week ago

Prevent dropship deliveries against closed order items

Closed Purchase Order items no longer appear in the Deliver (Dropship) dialog.

@Pandiyan5273 #61595 Read
fix accounting 1 week ago

Let asset capitalization and repair roles use their forms

Accounts and manufacturing roles can open Asset Capitalization and Asset Repair forms.

@nabinhait #61481 Read
fix accounting 1 week ago

Find ratio groups without typed group accounts

Financial Ratios no longer show 0 when no shipped chart type covers the group accounts.

@nabinhait #61490 Read
fix accounting 1 week ago

Show input and output VAT of a reverse-charge invoice

Reverse-charge invoices no longer net to zero in the VAT Audit Report.

@nabinhait #61488 Read
fix accounting 1 week ago

Working-time holds and failing overdue agreements in SLA

Paused time is added in working time, and an agreement fails once its deadline passes.

@nabinhait #61495 Read
fix accounting 1 week ago

Match Lost Opportunity period on the date it was lost

A later edit no longer moves a lost opportunity out of its report period.

@nabinhait #61472 Read
fix accounting 1 week ago

Match call log phone numbers on their normalised digits

Call log numbers match Contact, Lead and Employee numbers even when they contain spaces, dashes or brackets.

@nabinhait #61489 Read
fix accounting 1 week ago

Keep the outstanding unchanged by Show Future Payments

The Show Future Payments option no longer changes the outstanding shown as of the report date.

@nabinhait #61487 Read
fix accounting 1 week ago

Check is_group before filtering tree accounting dimensions

Accounting Dimension Filters on trees without an is_group field, such as Employee, no longer raise PermissionError.

@Afsalsyed #61614 Read
fix accounting 1 week ago

Exclude previous fiscal years from P&L account opening in GL

Income and expense accounts open at zero each fiscal year in the General Ledger, instead of carrying the previous years' totals.

@Aagnya-Mistry #60251 Read
fix accounting 1 week ago

Resolve current active call recipients

Call popups use current Active Employee records, not copied Employee Group user IDs. Duplicate group members are rejected.

@krishna-254 #60335 Read
fix accounting 1 week ago

Preserve POS rounding and hide missing in-words fields

Saving Global Defaults no longer overwrites a POS Profile's rounding setting.

@krishna-254 #60339 Read
fix accounting 1 week ago

Reject duplicate holiday dates across value types

Server-side scripts that append a Python date can no longer save a date already in the Holiday List.

@krishna-254 #60338 Read
fix accounting 1 week ago

Clear customer incoterms from purchase orders

A Sales Order's customer delivery terms are no longer copied into the supplier Purchase Order.

@krishna-254 #60802 Read
fix accounting 1 week ago

Validate brand defaults

Shares company-default validation across Item, Item Group and Brand. Rejects duplicate company rows, company mismatches and inventory account conflicts.

@krishna-254 #60801 Read
fix stock-manufacturing 1 week ago

BOM, Job Card, Workstation and other manufacturing fixes

Backports bug-review fixes for Plant Floor, Routing, Workstation, BOM Update Log, BOM, BOM Creator, Downtime Entry and Job Card.

@rohitwaghchaure #61644 Read
fix accounting 1 week ago

Production Plan, Material Request and planning fixes

Backports bug-review fixes for Sales Forecast, Production Plan, MRP report, Blanket Order, Material Request and Master Production Schedule.

@rohitwaghchaure #61615 Read
fix accounting 1 week ago

Apply dated supply to each demand merged into an MRP row

Supply that arrives in time for each merged demand is counted, not just the first.

@rohitwaghchaure #61619 Read
fix accounting 1 week ago

Count deleted rows in the update items blanket order check

Rows removed in the same Update Items action are included in the blanket order quantity check.

@rohitwaghchaure #61618 Read
fix stock-manufacturing 1 week ago

Match each repeated operation to its own BOM row in create BOM

Repeated operations on a BOM each take their own fixed-time and batch-size settings, instead of the first matching row's.

@rohitwaghchaure #61580 Read
fix stock-manufacturing 1 week ago

Keep transferred materials in stock UOM for returns and backflush

Return Components and backflush use stock UOM when a component was transferred in several units.

@rohitwaghchaure #61581 Read
fix stock-manufacturing 1 week ago

Stock Entry and Work Order fixes

Backports bug-review fixes for Item Alternative, Stock Entry Type, Stock Entry, Manufacturing Settings and Work Order.

@rohitwaghchaure #61579 Read
fix accounting 1 week ago

Receipt, pick list, reservation and quality inspection fixes

Backports a batch of bug-review fixes for Quality Inspection, Warehouse, Pick List, Stock Reservation Entry and Purchase Receipt.

@rohitwaghchaure #61565 Read
fix accounting 1 week ago

Post order billing provisional reversals from the posted provision

An invoice made after a cancelled invoice now reverses the correct provision.

@rohitwaghchaure #61568 Read
fix stock-manufacturing 1 week ago

Round purchase stock qty and ordered qty for whole number stock UOM

Backport of #61566 to v15-hotfix.

@rohitwaghchaure #61575 Read
fix stock-manufacturing 1 week ago

Round purchase stock qty and ordered qty for whole number stock UOM

Backport of #61566 to v16-hotfix.

@rohitwaghchaure #61574 Read
fix stock-manufacturing 1 week ago

Round purchase stock qty and ordered qty for whole number stock UOM

Stops fractional leftovers such as 99.9999999 Nos on Purchase Order stock qty and the Bin's Ordered Qty.

@rohitwaghchaure #61566 Read
fix stock-manufacturing 1 week ago

Keep over-receipt qty whole for whole number UOMs

Over-receipt allowances on whole-number UOMs no longer produce fractional quantities, such as 4.5 Nos, that break Purchase Receipt saves.

@Afsalsyed #61640 Read
fix accounting 1 week ago

Add sub-assembly operating cost in company currency

Operating cost from sub-assemblies is converted to company currency instead of being added in the BOM currency.

@rohitwaghchaure #61649 Read
fix accounting 1 week ago

Hand subcontracted operation inputs over to the subcontracting order

Backport of #61519 for v16-hotfix.

@mihir-kandoi #61653 Read
fix accounting 1 week ago

Hand subcontracted operation inputs over to the subcontracting order

A Work Order no longer double-counts inputs that a Subcontracting Order has taken over.

@mihir-kandoi #61519 Read
fix accounting 1 week ago

Keep job card transfers on their operation's rows

A Job Card transfer is credited only to the rows of its own operation, not to other operations' rows.

@mihir-kandoi #61576 Read
fix accounting 1 week ago

Correct workstation status and refresh floor view

Material transfers no longer leave a Workstation showing red on the Plant Floor, and Job Card status changes now notify open floor views.

@Pandiyan5273 #61589 Read
fix stock-manufacturing 1 week ago

Reserve job card materials from their source warehouse

A Subcontracting Order reserves from the Job Card's source warehouse by default, not the finished-good warehouse.

@mihir-kandoi #61583 Read
fix stock-manufacturing 1 week ago

Validate consumed batches on the serial and batch bundle

The Incorrect Batch Consumed check also reads batches from the bundle, and one empty row no longer stops checks for the rows after it.

@mihir-kandoi #61577 Read
fix accounting 1 week ago

Don't divide by zero when no finished good is received

Same change, on develop.

@mihir-kandoi #61611 Read
fix stock-manufacturing 1 week ago

Accept operator filters in BOM item query

Same change as #61625, on develop.

@mihir-kandoi #61610 Read
fix accounting 1 week ago

Keep Asset Capitalization consumed asset value at disposal-date book value

Consumed Manual-depreciation assets use their book value on the capitalization date instead of the salvage value, so the new asset's cost is no longer understated.

@ervishnucs #59390 Read
fix accounting 1 week ago

Exempt delivery returns from sales order requirement

Returns against Delivery Notes made without a Sales Order are no longer blocked when the Sales Order requirement is turned on.

@Pandiyan5273 #61600 Read
fix accounting 1 week ago

Preserve picked reservations when updating items

Updating Sales Order items no longer cancels reservations that have been picked, so the remaining stock is reserved again.

@Pandiyan5273 #61634 Read
fix accounting 1 week ago

Correct delivery progress and reservation limits

Closing a row no longer counts Skip Delivery service rows in delivery progress. Stock reservation checks now count existing reservations across all warehouses.

@Pandiyan5273 #61639 Read
fix stock-manufacturing 1 week ago

Keep Work Order target warehouse from BOM, then company, then item

The target warehouse now falls back in order: BOM default, company finished goods, item default, item group default. It is filled when BOM items are fetched, so the form shows it before save.

@mihir-kandoi #61652 Read
fix accounting 1 week ago

Reject zero-quantity validation bypass

A stale has_unit_price_items flag let Sales Orders with zero quantities pass validation after Allow Zero Quantity was disabled.

@Pandiyan5273 #61668 Read
fix accounting 1 week ago

Show Territory-wise Sales amounts with the right totals and permissions

Counts each order or invoice once, uses base opportunity amount, and applies Customer and Company user permissions. Before, it leaked other parties' and companies' totals.

@Shllokkk #61524 Read
Frappe 11k 28 updates
feat framework 1 week ago

Optional Python realtime server

Backport of the Python Socket.IO server for v16. Node stays the default.

@dankgarlic1 #44806 Read
feat framework 1 week ago

Set up OTP App on the login screen

The first OTP App login shows the QR code on the login screen instead of sending the user to a separate page and back.

@barredterra #44725 Read
fix framework 1 week ago

Permission checks no longer load every child table of single doctypes

Same change as #44730, on develop.

@kaulith #44723 Read
fix framework 1 week ago

Print B and C series paper sizes in portrait

B and C series sizes were stored landscape-wise. B5 now prints 176mm wide and 250mm tall.

@kaulith #44743 Read
fix framework 1 week ago

Keep the search_link log message on one line

Removes interpolated request values from the missing-link-field log message.

@AarDG10 #44799 Read
fix framework 1 week ago

Header script on a report letter head runs

The header is saved after its script is added, the same order the footer already uses.

@kaulith #44785 Read
fix ui-ux 1 week ago

Chromium download works on newer or non-Debian arm64 Linux

Backport of #44788. The Chromium download no longer fails on newer or non-Debian arm64 systems.

@kaulith #44794 Read
fix framework 1 week ago

Prints use the default font when none is picked

Same change as #44789, on develop.

@kaulith #44784 Read
fix framework 1 week ago

Network print failures show the real error

Same change as #44791, on develop.

@kaulith #44787 Read
fix framework 1 week ago

Print attachment uses the document language by default

Same change as #44790, on develop.

@kaulith #44786 Read
fix framework 1 week ago

Report view ID column opens the form again

With split view on, clicking a record ID opens the form instead of the side panel. Other link columns still open the side panel.

@kaulith #44722 Read
fix framework 1 week ago

Related settings in the doctype settings dialog are translated

Same change as #44732, on develop.

@kaulith #44731 Read
fix framework 1 week ago

Submit after import works on update imports

Same change as #44734, on develop.

@kaulith #44733 Read
fix framework 1 week ago

Postgres CI failures in storage GC, prepared report and sync jobs

Fixes storage GC aborting its transaction, empty errors on failed prepared reports, and a sync job that left `frappe.job` set and broke delete_bulk tests.

@mihir-kandoi #44769 Read
fix framework 1 week ago

Resolve conflicts for backport of #43534

Resolves merge conflicts for the v16 backport of #43534 and keeps the status check on the Download Report button.

@Abdeali099 #44755 Read
fix framework 1 week ago

Show every line of a failed report's error message

The report view and notification show the full error, including Postgres DETAIL and HINT lines. Only the query and caret lines are dropped.

@mihir-kandoi #44758 Read
fix framework 1 week ago

Customize form edits to saved states, links and actions are kept

Changes to existing states, links and actions no longer revert after Update. The form and grid now edit the same row object.

@kaulith #44710 Read
fix framework 1 week ago

Apply an update sent while an island mounts

Fixes number cards that stayed in the loading state because an update arrived while the island's stylesheet was loading.

@nextchamp-saqib #44745 Read
fix framework 1 week ago

Compare saved timestamps as datetimes

A document saved at a whole second can now be saved or submitted again. Previously it failed with TimestampMismatchError.

@mihir-kandoi #44486 Read
fix ui-ux 1 week ago

Rounds the Desktop search bar

Restores the rounded corners on the Desktop search bar in v16 by using the theme's radius token.

@sokumon #44800 Read
fix framework 1 week ago

Open the active item's group after switching shells

Same change as #44798, on develop.

@sokumon #44777 Read
fix framework 1 week ago

Update dependencies with security fixes

Bumps 37 Python packages to recent releases, including security fixes for nh3 (SVG and MathML XSS), GitPython and pypdf. No code changes were needed.

@ankush #44741 Read
fix framework 1 week ago

Limit routes accepted per request

Keeps only the latest 100 routes per batch, skips routes longer than 140 characters, and ignores the client-sent creation time.

@AarDG10 #44774 Read
fix framework 1 week ago

Mask secret-looking keys in captured request body

Request JSON and form data sent to Sentry now go through the same key masking used for logged form dicts.

@AarDG10 #44749 Read
fix framework 1 week ago

Rate limiter counter is created atomically

Creates the counter with SET NX plus TTL in one call, so simultaneous requests at the start of a window can't reset it.

@AarDG10 #44751 Read
fix framework 1 week ago

Site cache keys and failed attempt tracking in 2FA login

Same change as #44795, on a separate backport branch.

@barredterra #44783 Read
fix framework 1 week ago

Accept zero-valued HOTP tokens

Already in v15 as part of #44795.

@barredterra #44807 Read
fix framework 1 week ago

Reject multiple statements in one query

On Postgres, `frappe.db.sql` ran every `;`-separated statement, which let read-only checks be bypassed. Queries with a `;` outside literals or comments now raise `ProgrammingError`.

@mihir-kandoi #44711 Read
Helpdesk 3.4k 2 updates
feat other-apps 1 week ago

Group the ticket list by fields with counts and totals

Adds Group By to the agent ticket list, with counts, averages and totals, saved with the view. Grouped exports match the list.

@michellealva #3881 Read
fix other-apps 1 week ago

Fix Helpdesk editor blank lines and spaces

Blank lines and runs of spaces typed in the editor now show in the ticket timeline and in emails.

@aerodeval #3904 Read
LMS 3.3k 3 updates
fix other-apps 1 week ago

Pass create_lms_certificate's target to get_mapped_doc as a doc

Create Certificate from an evaluation no longer raises AttributeError on v16 sites.

@raizasafeel #3103 Read
fix other-apps 1 week ago

Fix quiz submit on page unload when CSRF is enforced

Auto-submit beacons now include the CSRF token, so sites that enforce CSRF no longer reject them.

@harshpwctech #3005 Read
fix other-apps 1 week ago

Preserve stored file bytes on frappe version-16

Stops File.get_content() from decoding binary files as windows-1250, which corrupted resumes, inline images, course ZIPs and attached files on v16 sites.

@raizasafeel #3104 Read
b Builder 2.5k 1 update
fix ui-ux 1 week ago

Run Bob with the user's own permissions

Confirmed AI actions run with the signed-in user's permissions. `run_python` runs in a restricted namespace, and DocTypes Bob creates no longer get Guest read.

@surajshetty3416 #940 Read
Insights 1k 5 updates
feat other-apps 1 week ago

Progress bar on number cards

Number cards can show a progress bar toward their target, or out of 100% for percent measures.

@nextchamp-saqib #1517 Read
fix other-apps 1 week ago

Read schema-qualified tables in native SQL

The SQL editor accepts schema.table and resolves names the way PostgreSQL does.

@nextchamp-saqib #1520 Read
fix other-apps 1 week ago

Fix Insights schema-qualified tables

Backport of #1520, on a second branch.

@nextchamp-saqib #1522 Read
fix other-apps 1 week ago

Fix Insights schema-qualified tables

Backport of #1520. Native SQL can read schema-qualified PostgreSQL tables.

@nextchamp-saqib #1521 Read
fix other-apps 1 week ago

Bind every table of a grouped join in native SQL

A grouped join in native SQL skipped the permission check on its first table, so a user without a grant could read it.

@nextchamp-saqib #1526 Read
p Press 575 1 update
fix other-apps 1 week ago

Require team consent for employee access to customer sites

Same change as #7800, on a separate backport branch.

@ssiyad #7798 Read
o Other 8 updates
feat other-apps 1 week ago

Even better onboarding UX

Signup moves from the code to the site name without a page reload, and the waiting page shows the chosen address and real progress.

@prathameshkurunkar7 #513 Read
feat other-apps 1 week ago

Polls inside comments

A Poll button in the comment editor lets users write text before and after a poll in the same comment.

@Jeesha09 #623 Read
feat other-apps 1 week ago

Answer each key's month spend, drop the usage peek

Adds a spend endpoint for keys and removes the never-deployed usage peek.

@phot0n #14 Read
feat other-apps 1 week ago

A resolved Stuck Usage row lists the records it landed as

Resolved rows list the usage records they produced, and the list is removed with the row.

@phot0n #66 Read
feat ai 1 week ago

Central sets a team's prompt logging

Central's console can show and change whether the gateways store a team's prompts and outputs.

@phot0n #68 Read
fix other-apps 1 week ago

Visible bugs around typed formats, dates, percent formulas and row refit

Fixes sheet values typed as $1.50, 15%, 1,000 or dates, which were stored as bare numbers and broke sorting, charts, pivots and export.

@krishpinto #1044 Read
fix other-apps 1 week ago

Free the subdomain of a terminated server

A subdomain on a terminated server no longer shows "That name is taken" forever. The check also treats Site Domain routes as holding a name until their removal succeeds.

@prathameshkurunkar7 #514 Read
fix other-apps 1 week ago

Block saves after a version conflict until reload

After a conflict, saves are blocked until Reload latest, so a second tab can no longer silently overwrite another tab's edit.

@gajjug004 #884 Read

Tuesday, October 20

ERPNext 40.6k 51 updates
fix accounting 1 week ago

Update YouTube statistics by time since the last update

The hourly job updates YouTube statistics based on time since the last update, so frequencies such as "6 hrs" run as set.

@nabinhait #61470 Read
fix accounting 1 week ago

Account for return entries by default in Sales Partner Transaction Summary

Return entries are netted by default, matching Sales Partner Commission Summary; untick the filter to see only outward lines.

@Shllokkk #61109 Read
fix accounting 1 week ago

Closed-document amount and total double-counting in Sales Person-wise Transaction Summary

Manual backport of #61280.

@Shllokkk #61293 Read
fix accounting 1 week ago

Closed-document amount and total double-counting in Sales Person-wise Transaction Summary

Closed documents in a non-stock UOM use the transaction-UOM qty, and totals count each item line once.

@Shllokkk #61280 Read
fix accounting 1 week ago

Group sales person filter and amount total in Sales Person Commission Summary

Manual backport of #61178.

@Shllokkk #61181 Read
fix accounting 1 week ago

Group sales person filter and amount total in Sales Person Commission Summary

Selecting a sales person group includes its members, and the amount total counts each document once.

@Shllokkk #61178 Read
fix stock-manufacturing 1 week ago

Reject template items in production plans

Production Plan rows for template items are rejected, since they cannot become Work Orders; variants still work.

@krishna-254 #60641 Read
fix stock-manufacturing 1 week ago

Normalize Item opening stock before comparison

Opening stock given as a string such as "0" no longer raises a TypeError on Item insert.

@krishna-254 #60111 Read
fix stock-manufacturing 1 week ago

Return correct batch qty when ignore_sre is not passed

Batch availability no longer returns zero, because a `[None]` filter was excluding matching stock entries.

@Pandiyan5273 #61419 Read
fix stock-manufacturing 1 week ago

Order transaction deletion batches by name

Transaction deletion fetches batches in name order, avoiding a temp-file failure on large tables.

@Pandiyan5273 #61417 Read
fix accounting 1 week ago

Reset company values without saving the company (backport #55021)

Transaction Deletion resets the company's cached fields directly, so a validation hook on Company can no longer stop a deletion.

@mihir-kandoi #61423 Read
fix stock-manufacturing 1 week ago

BOM Stock Analysis report review follow-up

Maximum Producible Items keeps a unit for a recurring quantity per unit.

@rohitwaghchaure #61429 Read
fix stock-manufacturing 1 week ago

Serial No and Batch Traceability report review follow-up

The backward trace follows an intermediate batch to the entry that made it.

@rohitwaghchaure #61428 Read
fix stock-manufacturing 1 week ago

Production Planning Report review follow-up

Raw material returned from a Work Order is no longer treated as already issued.

@rohitwaghchaure #61431 Read
fix stock-manufacturing 1 week ago

Production Plan Summary report review follow-up

Pending qty is correct when a second Work Order replaces lost units.

@rohitwaghchaure #61430 Read
fix stock-manufacturing 1 week ago

Incorrect Stock Value Report review follow-up

Item rows show only warehouses of the selected stock account.

@rohitwaghchaure #61432 Read
fix stock-manufacturing 1 week ago

Available Serial No report review follow-up

Opening serial numbers include entries that have no Serial and Batch Bundle.

@rohitwaghchaure #61433 Read
fix stock-manufacturing 1 week ago

Landed Cost Voucher review follow-up

A Landed Cost Voucher with both a purchase and a return row can be submitted.

@rohitwaghchaure #61434 Read
fix stock-manufacturing 1 week ago

Stock Closing Entry review follow-up

The final check before publishing a closing balance also looks for changed ledger entries and pending revaluations, so no posting is missed.

@rohitwaghchaure #61435 Read
fix stock-manufacturing 1 week ago

Stock ledger, reposting and closing fixes (backport)

Backports bug-review fixes for stock ledger, reposting, bin and closing doctypes to version-16-hotfix.

@rohitwaghchaure #61384 Read
fix stock-manufacturing 1 week ago

Review follow-ups of the bug-review backports (backport)

Backports review follow-ups for traceability, BOM stock analysis, production plan, landed cost, stock closing and more to version-16-hotfix.

@rohitwaghchaure #61516 Read
fix stock-manufacturing 1 week ago

Item master, variant, pricing, settings and batch fixes (backport)

Backports bug-review fixes for nine item-master, pricing, settings and batch doctypes to version-16-hotfix.

@rohitwaghchaure #61476 Read
fix stock-manufacturing 1 week ago

Subcontracting Receipt batch review follow-up

A disabled batch can no longer be consumed as a supplied raw material on a Subcontracting Receipt.

@rohitwaghchaure #61505 Read
fix stock-manufacturing 1 week ago

Item merge review follow-up

Merging items keeps the source item's open orders, which were lost when its stock balance rows were deleted.

@rohitwaghchaure #61504 Read
fix accounting 1 week ago

Include subsidiaries of a selected group company

Selecting a group company includes its subsidiaries' ledgers, as the Consolidated Financial Statement does.

@nabinhait #61464 Read
fix accounting 1 week ago

Show delivery worked out from order or invoice

The Delivery Note column shows the value derived from the Sales Order or update-stock invoice.

@nabinhait #61467 Read
fix accounting 1 week ago

Warn when the serial no is not delivered to the claim customer

A Warranty Claim warns when its Serial No was not delivered to the claim's customer.

@nabinhait #61465 Read
fix accounting 1 week ago

Record resolution metrics and opening time without an SLA

Resolution date, resolution time and hold time are recorded for Issues that have no SLA.

@nabinhait #61466 Read
fix accounting 1 week ago

Reverse returns at the lower deduction certificate rate

A debit note reverses TDS at the lower certificate rate, not the category rate, once the certificate is used up or expired.

@nabinhait #61460 Read
fix accounting 1 week ago

Allow deleting draft assets and log all repair events

Draft assets can be deleted, and repair events are all logged.

@nabinhait #60020 Read
fix accounting 1 week ago

Keep an entered depreciation rate on reschedule

With Written Down Value and a salvage value, an entered depreciation rate is no longer replaced on every reschedule.

@nabinhait #61473 Read
fix accounting 1 week ago

Require finance book on value adjustment for assets with named books

An Asset Value Adjustment on an asset with named finance books must name one, so its journal entry and asset row update the same book.

@nabinhait #61459 Read
fix accounting 1 week ago

Keep sale and return entries of an asset stable on repost

Reposting ledger entries no longer changes an asset's sale and return entries.

@nabinhait #61461 Read
fix stock-manufacturing 1 week ago

Share revaluation adjustments with split assets

Revaluation adjustments move with the new assets when an asset is split, so disposal credits the right amount.

@nabinhait #61462 Read
fix stock-manufacturing 1 week ago

Delivery Note credit note review follow-up

Fixes credit notes for returns in another unit, which came out smaller than they should, plus one more credit note bug.

@rohitwaghchaure #61515 Read
fix stock-manufacturing 1 week ago

Packing, shipment, delivery note and delivery trip fixes (backport)

Backports bug-review fixes for Packing Slip, Shipment, Delivery Note and Delivery Trip to version-16-hotfix.

@rohitwaghchaure #61510 Read
fix stock-manufacturing 1 week ago

Net adjustment entries on Serial and Batch Wise Stock Balance batch rows

Applies the same netting to batch rows of the Serial and Batch Wise Stock Balance report, so they match the item row.

@mihir-kandoi #61447 Read
fix stock-manufacturing 1 week ago

Net adjustment entries in the Stock Balance snapshot

Stock Balance's In and Out columns net an Adjustment Entry into one change, instead of showing all stock going out and back in.

@mihir-kandoi #61446 Read
fix stock-manufacturing 1 week ago

POS serial check and cross-table serial picks for auto picked serial and batch rows

Follow-up to #61449: fixes the POS serial check and serial picks on auto-picked serial and batch rows, where the Serial No field stayed empty.

@rohitwaghchaure #61539 Read
fix stock-manufacturing 1 week ago

Do not fetch serial nos for batch items when using serial/batch fields (backport #61449)

Backport of #61449 to version-15-hotfix.

@rohitwaghchaure #61536 Read
fix stock-manufacturing 1 week ago

Do not fetch serial nos for batch items when using serial/batch fields (backport #61449)

Backport of #61449 to version-16-hotfix.

@rohitwaghchaure #61535 Read
fix stock-manufacturing 1 week ago

Do not fetch serial nos for batch items when using serial/batch fields

With Use Serial / Batch fields on, picking a batch for a serial-and-batch item no longer fills the Serial No field, and three related row fixes are included.

@rohitwaghchaure #61449 Read
fix stock-manufacturing 1 week ago

Do not count produced rows as consumed

An empty source warehouse on a produced row is treated like a missing one, so a semi-finished good is no longer counted as consumed when made.

@mihir-kandoi #61500 Read
fix stock-manufacturing 1 week ago

Do not reserve semi-finished goods the work order makes itself

Work Orders stop reserving semi-finished goods that an earlier operation of the same order makes; rework items stay reserved.

@mihir-kandoi #61518 Read
fix stock-manufacturing 1 week ago

Remove the Stock Delivered But Not Billed account from the US chart

On version-16-hotfix only, removes account 11430 from the US chart, so creating a company with that chart works again.

@raghavisruia #61541 Read
fix accounting 1 week ago

Limit prospects report to permitted records

Same change as #61044.

@nabinhait #61046 Read
fix accounting 1 week ago

Limit prospects report to permitted records

Same change as #61044.

@nabinhait #61045 Read
fix accounting 1 week ago

Limit prospects report to permitted records

Prospects Engaged But Not Converted lists only the Leads, Opportunities, Quotations and Issues the user can read.

@nabinhait #61044 Read
fix accounting 1 week ago

Apply party permissions to contracts

User Permissions on Customer, Supplier and Employee now limit contract access, since Party Name is a Dynamic Link.

@nabinhait #61471 Read
fix accounting 1 week ago

Territory-wise Sales report amount and permission bugs

Same change as #61530, for another branch.

@Shllokkk #61531 Read
fix accounting 1 week ago

Territory-wise Sales report amount and permission bugs

Manual backport of #61524, fixing the report's amount and permission handling.

@Shllokkk #61530 Read
Frappe 11k 8 updates
feat ui-ux 1 week ago

Optional sections component

Adds a component for optional form sections that users add with a button and remove again.

@deepeshgarg007 #44565 Read
fix framework 1 week ago

Revised priority icons

Replaces the priority and signal icons in the framework and the kanban board.

@nishkagosalia #44698 Read
feat framework 1 week ago

Allow make attachment public in customize form

Adds "Make Attachment Public (by default)" to Customize Form for Attach fields on standard doctypes.

@iamejaaz #44700 Read
feat ui-ux 1 week ago

Desk draws its charts with frappe-ui charts

New sites draw Desk charts and number cards with frappe-ui; existing sites stay on the classic charts through a setting.

@nextchamp-saqib #44593 Read
fix framework 1 week ago

Let Vite pick its minifier

Island builds on Vite 8 no longer fail, because the minifier is left to Vite's default instead of being named as esbuild.

@nextchamp-saqib #44705 Read
fix framework 1 week ago

CSV-to-PO translation migration

The bench migrate-csv-to-po command keeps translations of strings containing %, merges CSV files of one locale into one PO file, and keeps existing translations.

@Copilot #44726 Read
fix framework 1 week ago

Users created with a password never get a forced reset

Users created with a password through the API or data import fall back to the account's creation date for the reset date, so the forced reset applies to them.

@kaulith #44706 Read
fix framework 1 week ago

Parenthesise permission hook conditions in linked JOIN

Wraps hook and Server Script conditions in parentheses in linked-document JOINs, so an OR in a permission hook can no longer change how the join matches rows.

@rtdany10 #44693 Read
HR 9k 4 updates
feat hr-payroll 1 week ago

Employee Overview dashboard and simpler New Employee dialog

Adds an Overview tab to Employee with pay, attendance, leave and pending-items figures, and a simpler New Employee dialog.

@deepeshgarg007 #5443 Read
fix hr-payroll 1 week ago

Validate goal start and end dates

Passes the field names to the date validator, so goals with an end date before the start date are rejected.

@nareshkannasln #5459 Read
fix hr-payroll 1 week ago

Restore add button for users without a linked employee

Users with create permission but no linked Employee get the Add button back on Employee Checkin.

@asmitahase #5456 Read
fix hr-payroll 1 week ago

Keep salary slips that fail to submit in draft

A salary slip that fails partway through payroll entry submission goes back to draft, instead of staying submitted with no accrual, loan repayment or email.

@kaulith #5432 Read
CRM 3.9k 3 updates
feat crm-sales 1 week ago

Call any deal contact from its options menu

Adds Make a Call to each contact's menu on the deal side panel.

@asimdelvi #3005 Read
feat crm-sales 1 week ago

User availability status

Users set Active, Away, Unavailable or custom status, shown on avatars, and assignment rules favour available users.

@michellealva #3092 Read
fix crm-sales 1 week ago

Only list outgoing email accounts in From dropdown

The From dropdown lists only accounts with outgoing enabled, so the chosen address is the one that sends.

@michellealva #3077 Read
LMS 3.3k 7 updates
feat other-apps 1 week ago

Paging, missing inputs and fixes for scripts that use the API (backport #3062)

Home page lists take start and limit_page_length, so scripts can read past the first page.

@pateljannat #3082 Read
feat other-apps 1 week ago

Add the frappe-learning agent skill, and let frappectl reach Learning methods (backport #3079)

Backport of #3079.

@pateljannat #3081 Read
feat other-apps 1 week ago

Add the frappe-learning agent skill, and let frappectl reach Learning methods

Adds an agent skill for managing a Learning site, and lets frappectl call Learning methods.

@pateljannat #3079 Read
fix other-apps 1 week ago

Fit the new course form, allow beautifulsoup4 4.15, and let Mergify open conflicting backports

The new course form fits a laptop-sized window, so the description editor is no longer cut off.

@pateljannat #3075 Read
fix other-apps 1 week ago

Open the newest question, show lesson tabs on first load, and publish releases to the marketplace

The Community tab opens the newest question, and lesson tabs show on a direct first load.

@pateljannat #3077 Read
fix other-apps 1 week ago

Store course reviews as plain text and print them as text

Reviews are stored as plain text with tags stripped, and the Multiple Testimonials block prints them escaped, so review markup no longer reaches the public page.

@pateljannat #3069 Read
fix other-apps 1 week ago

Store course reviews as plain text and print them as text (backport #3069)

Reviews are stored as plain text with tags stripped, and the Multiple Testimonials block prints them escaped, so review markup no longer reaches the public page.

@pateljannat #3076 Read
Insights 1k 1 update
fix other-apps 1 week ago

Pin a fiscal-year axis' ticks to its years

Fiscal-year axis ticks sit on the fiscal years, so labels no longer repeat or go missing.

@nextchamp-saqib #1516 Read
p Press 575 2 updates
fix other-apps 1 week ago

Stop invoice dialog request loop on snapshot lines

Invoices with two or more snapshot lines no longer send requests forever, so the item table shows.

@balamurali27 #7792 Read
fix other-apps 1 week ago

List every role in the invite user dialog

Team admins see every Press role in the invite dialog, not just the first 20.

@ssiyad #7796 Read
o Other 47 updates
fix other-apps 1 week ago

Let onboarding tests run on Frappe v16

Lets the onboarding tests mock a function that exists only on develop, so they run on v16.

@GursheenK #1030 Read
fix other-apps 1 week ago

A click reads again only what it changed, and opening a thread waits on nothing

Opening a thread no longer waits on user and mailbox reloads, and a write re-reads only what it changed.

@krantheman #1032 Read
fix other-apps 1 week ago

Move only the affected subtree on reorder

Moving a page updates only its subtree and rejects moves under its own child, instead of rebuilding every page on the site.

@gajjug004 #871 Read
feat other-apps 1 week ago

Add a toggle to turn off PDF download

Adds an Allow PDF Download switch in space access settings; when off, the Download action is hidden and the endpoint returns 403.

@gajjug004 #865 Read
feat other-apps 1 week ago

Explain drain failures and start a drain from the Metal Server form

Shows why a drain migration failed and starts a drain from the Metal Server form.

@the-bokya #442 Read
feat other-apps 1 week ago

Drain a Metal Server

Adds a tracked drain operation that moves every VM off a Metal Server with limited, parallel migrations.

@the-bokya #440 Read
feat other-apps 1 week ago

Add x markers, line options and donut onClick

Adds vertical x markers, per-dataset line options including dashed and gap handling, and a donut click handler.

@nishkagosalia #440 Read
feat ui-ux 1 week ago

Progress bar on NumberCard

Adds an optional progress bar to NumberCard, drawn from a caller-supplied percentage.

@nextchamp-saqib #1309 Read
feat ui-ux 1 week ago

Calendar heatmap, percentage bar, and what desk needs to drop frappe-charts

Adds the calendar heatmap and percentage bar charts that Desk needs in order to drop frappe-charts.

@nextchamp-saqib #1307 Read
feat other-apps 1 week ago

Bookmark comments, and open the bookmarked post from Bookmarks

Any comment can be bookmarked, and the Bookmarks list opens the saved post.

@Jeesha09 #612 Read
feat other-apps 1 week ago

Send Suite's emails from Suite Cloud templates

Adds a Suite Cloud endpoint that renders and sends Suite's fixed catalog of emails from its own templates.

@s-aga-r #31 Read
feat other-apps 1 week ago

Unsubscribe from a list beside the sender, held for Undo

Shows an Unsubscribe action beside the sender of mail with a List-Unsubscribe header, with Undo available.

@krantheman #1031 Read
feat other-apps 1 week ago

Ask Suite Cloud for Suite's emails by type (backport #1029 to #881)

Backport of #1029 onto the Drive layer branch.

@s-aga-r #1040 Read
feat other-apps 1 week ago

Ask Suite Cloud for Suite's emails by type

Suite's emails are requested from Suite Cloud by type, so the site no longer needs its own sender.

@s-aga-r #1029 Read
feat other-apps 1 week ago

Y.Doc schema for collab, with row/col id lists and a size benchmark

Defines the shared Sheets document layout and a size benchmark; nothing is wired to the editor yet.

@krishpinto #1042 Read
feat other-apps 1 week ago

Allow datum updates from desk

Lets Datum updates run from Desk.

@Aradhya-Tripathi #102 Read
feat other-apps 1 week ago

Robust telemetry and failure points

Adds telemetry and failure-point metrics for the garage work.

@Aradhya-Tripathi #103 Read
feat other-apps 1 week ago

Configure garage gateway & storage to send logs via vector

Sends gateway and storage logs through vector, redacts signatures, and drops sync and health-ping noise.

@Aradhya-Tripathi #105 Read
fix other-apps 1 week ago

Remove --chmod from COPY instructions for podman compatibility

Moves group permission changes into the builder RUN step, so Podman and Buildah images build.

@sujaldev #2026 Read
fix ai 1 week ago

Hide AI page actions in non-public spaces

Hides Open in ChatGPT and Open in Claude on spaces guests cannot read, since those services cannot fetch the page.

@gajjug004 #864 Read
fix other-apps 1 week ago

Autosave while typing

Autosaves 2 s after typing stops, with a 10 s maximum wait, so nonstop typing also saves.

@gajjug004 #878 Read
fix other-apps 1 week ago

Show the recipient in a Suite email's To header

Suite emails sent straight from Suite Cloud show the recipient in the To header, not a placeholder.

@s-aga-r #32 Read
fix other-apps 1 week ago

Toasts say so on the click, and the sidebar rings what has focus

Mail action toasts appear on click, and a refused write removes its toast and says why.

@krantheman #1033 Read
fix other-apps 1 week ago

Mail read in the Unread filter stays on the list until the list changes

A conversation read in the Unread filter stays on the list until the folder, filter or tab changes.

@krantheman #1035 Read
fix other-apps 1 week ago

The sender card lists, and View all finds, what the sender has sent

The sender card lists mail from that sender, and View all searches for the same.

@krantheman #1036 Read
fix other-apps 1 week ago

Undo and failures put back all they took, unsubscribing stays done, and filtered lists keep to their filter

Undo and failed actions restore everything they took, unsubscribes stay done, and filtered lists keep their filter.

@krantheman #1037 Read
fix other-apps 1 week ago

Do not show administrator and blur issue on Safari

Fixes the Administrator label and blur issue on Safari.

@nikkothari22 #2320 Read
fix other-apps 1 week ago

Accept bare log array as well

Datum accepts a bare log array, not only an object wrapping one.

@Aradhya-Tripathi #19 Read
fix other-apps 1 week ago

Update fluent-bit to cap pushes and refused request log

Caps fluent-bit pushes and the refused-request log, referencing datum #19.

@Aradhya-Tripathi #671 Read
fix other-apps 1 week ago

Send the Datum branch as branch in the telemetry config

Telemetry sends the Datum branch under the name Cargo now uses; Cargo's change must merge first.

@Aradhya-Tripathi #438 Read
fix other-apps 1 week ago

A key's own limit rows replace the tier's per metric, not wholesale

A key that pins only some limits keeps the tier's other limits, such as total tokens.

@phot0n #64 Read
fix ai 1 week ago

Some ui aberrations

No description; UI fixes for the LLM console.

@phot0n #509 Read
fix other-apps 1 week ago

Round a fractional disk up for resize

Resize config rounds a fractional disk up to whole GB, so a resize no longer fails on a 12.5 GB disk.

@prathameshkurunkar7 #511 Read
fix other-apps 1 week ago

Set the tab title once when the page mounts

Sets the tab title once on mount, which closes studio #318.

@ruchamahabal #319 Read
fix ui-ux 1 week ago

Tag-size chips, no empty suggestion list

Recipient chips use the tag size, and the suggestion list opens only when it has something to show.

@aerodeval #1306 Read
fix other-apps 1 week ago

Allow frappe v15 and above

Relaxes the frappe pin to `>=15.0.0`, so main deploys on v15 benches pass the dependency check.

@balamurali27 #565 Read
fix other-apps 1 week ago

Import BaseDocument from base_document

Fixes bench migrate failing with an ImportError when Jinja hooks load after Frappe moved BaseDocument.

@iamejaaz #566 Read
fix other-apps 1 week ago

Add missing permission checks to wiki endpoints

Adds read checks to change request diffs, listings, breadcrumbs and the space route list, requires Approved status to retry a merge, and limits external links to http, https and mailto.

@gajjug004 #868 Read
fix other-apps 1 week ago

Restrict revision doctypes to managers

Wiki User and Approver roles lose direct REST access to revision tables, and the change request code writes them itself.

@gajjug004 #867 Read
fix other-apps 1 week ago

Only the owner can edit a profile, admins included

Only a profile's own user can edit it; Gameplan admins can still create, delete and manage roles from Settings.

@netchampfaris #626 Read
fix other-apps 1 week ago

Tighten search filters, comment reindex on move and draft commit targets

Search accepts only the filters the search page offers, comment search entries follow their discussion to a new space, and drafts can be committed only to the document they were written for.

@netchampfaris #628 Read
fix other-apps 1 week ago

Tighten invitation lifecycle

Invitation links work once, opening one never signs in an existing account, onboarding runs only on a new site, and admins manage invitation records.

@netchampfaris #629 Read
fix other-apps 1 week ago

Save child rows through their parents and check space communities on every save

Child rows such as poll votes and members can be saved only with their parent, and a new space starts with its creator as the only member.

@netchampfaris #631 Read
fix other-apps 1 week ago

Scope guest access, activity, search feedback, follows and tags to the people they concern

Limits who can read or delete these records to the people each one concerns, and lets only the server change the records it writes.

@netchampfaris #632 Read
fix other-apps 1 week ago

Apply row and field permissions in list endpoints

Gameplan's own list endpoints apply Frappe's row and field permission checks, so each user sees the same rows and fields as the standard API.

@netchampfaris #627 Read
fix other-apps 1 week ago

Use stored documents for controller actions

Controller actions reload the document from the database and check read access first, instead of trusting a copy sent by the browser.

@netchampfaris #630 Read
fix other-apps 1 week ago

Lock the space row before moving main_revision

Locks the space row before any merge or edit moves main_revision and re-reads data after the wait, so two merges into one space no longer drop one of the changes.

@gajjug004 #875 Read

Monday, October 19

ERPNext 40.6k 68 updates
fix stock-manufacturing 1 week ago

Carry reserved serial and batch to delivery note row fields

A Delivery Note made from reserved serial or batch stock now fills the row fields, so submit no longer fails with "Serial and Batch Bundle None not found".

@mihir-kandoi #61249 Read
fix accounting 1 week ago

Validate payment mode accounts and enabled status

Mode of Payment default accounts must be cash or bank, not group, income, payable or disabled, and disabled modes are rejected on transactions.

@Pandiyan5273 #61257 Read
fix accounting 1 week ago

Correct the dunning letter example

The Dunning Type letter example uses fields that no longer exist, so copied placeholders now resolve to invoice details.

@Pandiyan5273 #61262 Read
fix accounting 1 week ago

Show rates in the item price's currency (backport)

Backport of #61314.

@mihir-kandoi #61316 Read
fix accounting 1 week ago

Show rates in the item price's currency (backport)

Backport of #61314.

@mihir-kandoi #61315 Read
fix stock-manufacturing 1 week ago

Show rates in the item price's currency in Item Price Stock report

Buying and Selling Rate columns use each Item Price's own currency instead of the default currency.

@mihir-kandoi #61314 Read
fix accounting 1 week ago

Skip the source discount when no rows are added (backport)

Backport of #61296.

@mihir-kandoi #61297 Read
fix accounting 1 week ago

Skip the source discount when no rows are added

When an order adds no rows to a receipt, its header discount is cleared, so it no longer applies to the receipt's existing rows.

@mihir-kandoi #61296 Read
fix stock-manufacturing 1 week ago

Convert returns to sales order UOM in order progress (backport)

Backport of #60569.

@mihir-kandoi #61286 Read
fix stock-manufacturing 1 week ago

Convert returns to sales order UOM in order progress (backport)

Backport of #60569.

@mihir-kandoi #61283 Read
fix stock-manufacturing 1 week ago

Convert returns to sales order UOM in order progress

Returns are converted to the Sales Order's UOM, so delivered, returned and billed quantities on the order are correct.

@mihir-kandoi #60569 Read
fix stock-manufacturing 1 week ago

Convert returns and credit notes to delivery note UOM when invoicing (backport)

Backport of #60570.

@mihir-kandoi #61287 Read
fix stock-manufacturing 1 week ago

Convert returns and credit notes to delivery note UOM when invoicing (backport)

Backport of #60570.

@mihir-kandoi #61284 Read
fix stock-manufacturing 1 week ago

Convert returns and credit notes to delivery note UOM when invoicing

Returns and credit notes are converted to the Delivery Note's UOM, so Create Sales Invoice offers the correct remaining quantity.

@mihir-kandoi #60570 Read
fix accounting 1 week ago

Leave order-neutral debit notes out of billed qty (backport)

Backport of #61336, also including the invoice return fix from #60571.

@mihir-kandoi #61338 Read
fix accounting 1 week ago

Leave order-neutral debit notes out of billed qty (backport)

Backport of #61336, also including the invoice return fix from #60571.

@mihir-kandoi #61337 Read
fix accounting 1 week ago

Leave order-neutral debit notes out of billed qty when making a Purchase Invoice

Make Purchase Invoice no longer subtracts debit notes that do not update the Purchase Order.

@mihir-kandoi #61336 Read
fix stock-manufacturing 1 week ago

Convert receipts, returns and debit notes to purchase order UOM (backport)

Backport of #60571, the same change as #61285 on another branch.

@mihir-kandoi #61288 Read
fix stock-manufacturing 1 week ago

Convert receipts, returns and debit notes to purchase order UOM (backport)

Backport of #60571, converting received, returned and billed qty. Receipts now count by stock when only the conversion factor changes.

@mihir-kandoi #61285 Read
fix stock-manufacturing 1 week ago

Convert receipts, returns and debit notes to purchase order UOM

Receipts, returns and debit notes are converted to the Purchase Order's UOM, so received, returned and billed quantities match the order.

@mihir-kandoi #60571 Read
fix accounting 1 week ago

Sales Person-wise Transaction Summary: closed-document double-counting

Closed documents no longer double-count amount and total.

@Shllokkk #61289 Read
fix accounting 1 week ago

Sales Person Commission Summary: group sales person filter and amount total

Fixes the sales person filter grouping and the amount total.

@Shllokkk #61180 Read
fix accounting 1 week ago

Sales Partner Transaction Summary: account for return entries by default (backport)

Same change as #61119 on another branch.

@Shllokkk #61118 Read
fix accounting 1 week ago

Sales Partner Transaction Summary: account for return entries by default

Return entries are included by default in the report.

@Shllokkk #61119 Read
fix stock-manufacturing 1 week ago

BOM Operations Time report bug fix

Fixes the sub-assembly BOM count, which counted draft and cancelled parents and repeated rows.

@rohitwaghchaure #60973 Read
fix stock-manufacturing 1 week ago

BOM Variance Report bug fixes

Shows real variances, not only extra output, for Work Orders that consumed more material than planned.

@rohitwaghchaure #60975 Read
fix stock-manufacturing 1 week ago

BOM Stock Analysis report bug fixes

A material used directly and inside a phantom BOM is no longer checked twice against the same stock.

@rohitwaghchaure #60974 Read
fix accounting 1 week ago

Cost of Poor Quality Report bug fixes

Job Cards are costed only for the periods they fall in, not their full cost in every period they touch.

@rohitwaghchaure #60976 Read
fix accounting 1 week ago

Exponential Smoothing Forecasting report bug fixes

Stops the forecast from shrinking toward zero in future periods.

@rohitwaghchaure #60977 Read
fix accounting 1 week ago

Production Plan Summary report bug fix

Process loss on a completed Work Order no longer shows as pending.

@rohitwaghchaure #60982 Read
fix accounting 1 week ago

Production Planning Report bug fixes

Required Qty is now in the stock unit of measure, matching stock and open Purchase Order quantities.

@rohitwaghchaure #60985 Read
fix accounting 1 week ago

Quality Inspection Summary report bug fixes

Fixes a KeyError that made the report fail when an inspection has status Cancelled.

@rohitwaghchaure #60987 Read
fix accounting 1 week ago

Work Order Summary report bug fixes

Work Orders planned to start later are now listed.

@rohitwaghchaure #60990 Read
fix stock-manufacturing 1 week ago

Work Order Stock Report bug fixes

Multi-level Work Orders are checked against their exploded raw materials, not the BOM's own lines.

@rohitwaghchaure #60989 Read
fix accounting 1 week ago

Work Order Consumed Materials report bug fixes

Returned Qty is now converted to the stock unit of measure, like the other quantity columns.

@rohitwaghchaure #60988 Read
fix accounting 1 week ago

Work Orders in Progress report bug fix

Completed Work Orders with process loss no longer stay listed as in progress.

@rohitwaghchaure #60991 Read
fix accounting 1 week ago

Itemwise Recommended Reorder Level report bug fixes

Components delivered through Product Bundles are now counted in consumption.

@rohitwaghchaure #60947 Read
fix accounting 1 week ago

Downtime Entry bug fixes

Overlapping downtime entries for the same workstation are now rejected.

@rohitwaghchaure #60521 Read
fix accounting 1 week ago

Delivery Note review follow-ups

Fixes the creditable quantity for credit notes after a reduced-rate invoice.

@rohitwaghchaure #60508 Read
fix accounting 1 week ago

Pick List review follow-up

Submitting a changed Pick List now recalculates its stock quantity and conversion factor.

@rohitwaghchaure #60832 Read
fix stock-manufacturing 1 week ago

Serial and batch fixes for subcontracting inward returns (backport)

Picks only the pending batch qty when returning customer material and matches consumed serial and batch entries by serial number.

@mihir-kandoi #60482 Read
fix accounting 1 week ago

Combining documents keeps each source's discount

Each row carries its source's additional discount, so combining documents no longer applies the last source's discount to every row.

@mihir-kandoi #60723 Read
fix stock-manufacturing 1 week ago

Subcontracting Order and Subcontracting BOM bug review fixes (backport)

Backports the Subcontracting bug review fixes, including refusing draft BOMs on subcontracting rows and requiring an active, submitted Finished Good BOM.

@mihir-kandoi #60489 Read
fix accounting 1 week ago

Project material cost counted once (backport)

Backport of #60720.

@mihir-kandoi #60749 Read
fix accounting 1 week ago

Project material cost counted once (backport)

Backport of #60720.

@mihir-kandoi #60747 Read
fix accounting 1 week ago

Project material cost counted once

Stock bought or manufactured for a project is no longer counted twice in gross margin, and Delivery Note stock is now counted.

@mihir-kandoi #60720 Read
fix stock-manufacturing 1 week ago

Manufacture and Repack outputs carry exactly the consumed value (backport)

Backport of #60393.

@mihir-kandoi #60395 Read
fix stock-manufacturing 1 week ago

Manufacture and Repack outputs carry exactly the consumed value (backport)

Backport of #60393.

@mihir-kandoi #60394 Read
fix stock-manufacturing 1 week ago

Manufacture and Repack outputs carry exactly the consumed value

Finished goods are valued to the exact value consumed, so the 0.01 difference no longer goes to Stock Adjustment.

@kaulith #60393 Read
fix stock-manufacturing 1 week ago

Repost Item Valuation review follow-up

A resumed repost no longer skips reposts queued while it was running.

@rohitwaghchaure #60831 Read
fix accounting 1 week ago

COGS By Item Group report bug fix

Counts a stock movement as COGS only when it posts to the COGS account, not every movement in a voucher that touches COGS.

@rohitwaghchaure #60836 Read
fix stock-manufacturing 1 week ago

Incorrect Serial and Batch Bundle report bug fixes

Stops listing bundles of unconsolidated POS Invoices as incorrect.

@rohitwaghchaure #60841 Read
fix stock-manufacturing 1 week ago

Stock Analytics report bug fixes

Fixes 4 bugs, starting with periods before the first movement showing 0 instead of the opening balance.

@rohitwaghchaure #60967 Read
fix accounting 1 week ago

Production Plan bug fixes

Fixes 13 Production Plan bugs, starting with consolidating two orders giving two rows with the combined quantity.

@rohitwaghchaure #60628 Read
fix stock-manufacturing 1 week ago

BOM Creator bug fixes

Fixes 13 BOM Creator bugs, starting with a sub-assembly used in two branches being costed with both sets of raw materials.

@rohitwaghchaure #60625 Read
fix accounting 1 week ago

Material Requirements Planning Report bug fixes

Fixes 10 report bugs, starting with raw material quantity ignoring the BOM quantity.

@rohitwaghchaure #60980 Read
fix accounting 1 week ago

Master Production Schedule bug fixes

Fixes 5 bugs, starting with To Date being overwritten on every save.

@rohitwaghchaure #60553 Read
fix accounting 1 week ago

Blanket Order bug fixes

Fixes 9 Blanket Order bugs, starting with Update Items raising a submitted order past the Blanket Order quantity.

@rohitwaghchaure #60557 Read
fix accounting 1 week ago

Material Request bug fixes

Fixes 11 Material Request bugs, including non-Purchase requests from a Sales Order not updating the requested quantity.

@rohitwaghchaure #60432 Read
fix accounting 1 week ago

Purchase Receipt bug fixes

Fixes 11 Purchase Receipt bugs, including rejected quantity being subtracted from returns when the setting is off.

@rohitwaghchaure #60415 Read
fix accounting 1 week ago

Item bug fixes

Fixes 12 Item bugs, starting with merging items dropping the target's reservations.

@rohitwaghchaure #60431 Read
fix stock-manufacturing 1 week ago

Stock Reservation Entry bug fixes

Fixes 14 bugs in Stock Reservation Entry and sets the company on the Serial and Batch Bundle built for reserved deliveries.

@rohitwaghchaure #60428 Read
fix accounting 1 week ago

Job Card bug fixes

Fixes 19 Job Card bugs, including sub-operations with two operators halving the completed quantity.

@rohitwaghchaure #60650 Read
fix accounting 1 week ago

Work Order bug fixes

Fixes 15 Work Order bugs from the bug review, including Closed and Stopped orders reverting to In Process when a Job Card is cancelled.

@rohitwaghchaure #60647 Read
fix accounting 1 week ago

Production Analytics report bug fix

Work Order counts in the report now respect User Permissions.

@rohitwaghchaure #60981 Read
fix accounting 1 week ago

Correct payment cancellation and reject negative amounts

Cancelling a payment restores the payment schedule's company-currency balance instead of subtracting it again. Internal Transfers no longer accept negative amounts or exchange rates.

@Pandiyan5273 #61273 Read
fix accounting 1 week ago

Keep balances within the requested finance books

Account balances no longer add entries from every finance book when no book is selected, so they match General Ledger and Trial Balance.

@Pandiyan5273 #61266 Read
fix stock-manufacturing 1 week ago

Apply warehouse permissions to Stock Ledger opening row

Checks the Warehouses filter against the user's warehouse User Permissions, and fixes seven other Stock Ledger report bugs.

@rohitwaghchaure #60968 Read
Frappe 11k 12 updates
feat framework 1 week ago

Search and notifications on the dock

Adds search and notifications to the dock on the version-16 hotfix branch, backported from #44436.

@sokumon #44679 Read
fix framework 1 week ago

Compare saved timestamps as datetimes (backport)

A document inserted at a whole second can be saved and submitted again, instead of raising TimestampMismatchError.

@mihir-kandoi #44490 Read
fix framework 1 week ago

Preload logger before forking worker pool

`bench worker-pool` no longer hangs when a job starts while a worker's scheduler is first importing the logger.

@iamejaaz #44669 Read
fix framework 1 week ago

Chrome pdf and print view bugs from open issues

Chrome no longer keeps running when `chromium_path` is a wrapper script, `@page size` sets the PDF size, and Report Builder print gets the Include filters option.

@iamejaaz #44648 Read
fix framework 1 week ago

Failed chromium start adds a misleading error log

Cleanup disconnects the browser session only when one was opened, so the misleading AttributeError log is gone.

@kaulith #44653 Read
fix framework 1 week ago

New announcement stays hidden for users who closed the previous one

A changed announcement clears the old dismissed flag before the navbar is drawn, so it shows on the first reload.

@kaulith #44652 Read
fix ui-ux 1 week ago

Desk links break for documents with # or ? in their name

Desk form links escape # and ? in the document name, so they open the right document.

@kaulith #44658 Read
fix framework 1 week ago

Portal links break for documents with # or ? in their name

Web form and portal links encode the document name, so names with # or ? no longer open "Page not found".

@kaulith #44665 Read
fix framework 1 week ago

Added columns overwrite same-named columns in export

Added report columns with the same name as an existing column no longer put their value in both.

@kaulith #44664 Read
fix framework 1 week ago

Export keeps the sort order after filtering a column

Column filters no longer reset the visible row order, so export matches the sorted report on screen.

@kaulith #44671 Read
fix ui-ux 1 week ago

Keep the sidebar toggle working when the window is resized

The small-screen sidebar closes when the window gets wide, and Toggle Sidebar opens it even if it was hidden before.

@TANMAY2006-UX #44289 Read
fix developer-experience 1 week ago

User still has to reset password after bench set-password

`bench set-password` now records today as the last password reset date, so users with expired passwords are not asked to reset again.

@kaulith #44657 Read
b Builder 2.5k 2 updates
feat ui-ux 1 week ago

Show Edit for properties that have a control in More Styles

The More Styles picker shows "Edit" for properties that have their own control, which scrolls to and focuses that control.

@stravo1 #914 Read
fix ui-ux 1 week ago

Install on frappe develop, plus editor type, lint and test fixes

Unblocks install on frappe develop, where Web Page View is now virtual, and fixes editor types, lint and tests.

@surajshetty3416 #964 Read
o Other 7 updates
fix other-apps 1 week ago

Insert the File before patching generate_file_name

Inserts the File before the patch, so the mock doesn't bind for the rest of the run and fail six server tests.

@gajjug004 #882 Read
feat other-apps 1 week ago

Tune MemoryHigh, MemoryMax & Innodb Snapshot Isolation

Lets MariaDB memory limits be updated, raising them up to 90% of projected total RAM.

@AyshaHakeem #649 Read
feat other-apps 1 week ago

Central Team and policy-bearing API keys

Introduces Central Team as the ledger, and API keys that carry geography, groups, allow/deny lists, rate limits and a spend cap that keeps the team's balance covered.

@phot0n #59 Read
feat other-apps 1 week ago

Keys carry their geography and cap

Team AI keys carry a geography and a spend cap, with an overview of balance, unallocated amount and this month's usage.

@phot0n #439 Read
fix other-apps 1 week ago

Free-row merge patch runs again, without the billed column

Fixes a data patch so the free-row merge runs once and without the billed column.

@phot0n #63 Read
fix ui-ux 1 week ago

Stepper classes and docs

Stepper's classes are scanned for Tailwind, and its docs build from `frappe-ui/experimental`, unblocking main.

@nextchamp-saqib #1308 Read
fix other-apps 1 week ago

Sheets

Wrapped rows refit to their text on paste, fill, clear and AI writes, and typed numbers like 1,000 are stored as numbers and right-aligned.

@krishpinto #1027 Read

Sunday, October 18

ERPNext 40.6k 55 updates
fix stock-manufacturing 1 week ago

Inventory Dimension review follow-up

A backdated issue is no longer refused because of a later transfer within the dimension.

@rohitwaghchaure #60828 Read
fix stock-manufacturing 1 week ago

Workstation Type bug fixes

Type-only operations skip disabled workstations.

@rohitwaghchaure #60517 Read
fix stock-manufacturing 1 week ago

Manufacturing Settings bug fixes

Time Between Operations of 0 is no longer read as 10 minutes.

@mihir-kandoi #60544 Read
fix stock-manufacturing 1 week ago

BOM bug fixes

Ten BOM fixes, including Update Cost no longer saving unsaved form changes.

@rohitwaghchaure #60561 Read
fix stock-manufacturing 1 week ago

Available Batch Report bug fixes

fix(stock): Available Batch Report bug fixes

@rohitwaghchaure #60833 Read
fix stock-manufacturing 1 week ago

Available Serial No report bug fixes

fix(stock): Available Serial No report bug fixes

@rohitwaghchaure #60834 Read
fix stock-manufacturing 1 week ago

Batch Item Expiry Status report bug fixes

Batches are filtered by expiry date, not the creation date of the Batch record.

@rohitwaghchaure #60835 Read
fix stock-manufacturing 1 week ago

Delayed Item Report bug fixes

Sales returns are no longer listed as late deliveries.

@rohitwaghchaure #60837 Read
fix stock-manufacturing 1 week ago

Delayed Order Report bug fixes

An order delivered in parts is judged by its last delivery.

@rohitwaghchaure #60838 Read
fix stock-manufacturing 1 week ago

FIFO Queue vs Qty After Transaction Comparison bug fixes

fix(stock): FIFO Queue vs Qty After Transaction Comparison bug fixes

@rohitwaghchaure #60839 Read
fix stock-manufacturing 1 week ago

Incorrect Balance Qty After Transaction report bug fixes

Differences below 0.5 are now reported.

@rohitwaghchaure #60840 Read
fix stock-manufacturing 1 week ago

Incorrect Stock Value Report bug fixes

fix(stock): Incorrect Stock Value Report bug fixes

@rohitwaghchaure #60908 Read
fix stock-manufacturing 1 week ago

Item Prices report bug fixes

Last Purchase Rate is per stock unit of measure, not per purchase unit.

@rohitwaghchaure #60942 Read
fix stock-manufacturing 1 week ago

Item Shortage Report bug fixes

fix(stock): Item Shortage Report bug fixes

@rohitwaghchaure #60943 Read
fix stock-manufacturing 1 week ago

Item Variant Details report bug fixes

Open Sales Orders excludes delivered and closed orders.

@rohitwaghchaure #60944 Read
fix stock-manufacturing 1 week ago

Item-wise Consumption report bug fixes

Material Transfers for Manufacture no longer count as consumption.

@rohitwaghchaure #60945 Read
fix stock-manufacturing 1 week ago

Landed Cost Report bug fixes

Filtered by a receipt, the cost shown is that receipt's share, not the whole voucher's total.

@rohitwaghchaure #60948 Read
fix stock-manufacturing 1 week ago

Material Requests without Supplier Quotations report bug fixes

Cancelled or draft Supplier Quotations no longer hide a request.

@rohitwaghchaure #60949 Read
fix stock-manufacturing 1 week ago

Product Bundle Balance report bug fixes

The Date filter is now applied.

@rohitwaghchaure #60950 Read
fix stock-manufacturing 1 week ago

Requested Items To Be Transferred report bug fix

fix(stock): Requested Items To Be Transferred report bug fix

@rohitwaghchaure #60951 Read
fix stock-manufacturing 1 week ago

Reserved Stock report bug fixes

Available Qty to Reserve is computed live rather than from the snapshot at reservation time.

@rohitwaghchaure #60952 Read
fix stock-manufacturing 1 week ago

Serial and Batch Summary report bug fixes

Group warehouses now return their child warehouses' bundles.

@rohitwaghchaure #60953 Read
fix stock-manufacturing 1 week ago

Serial No and Batch Traceability report bug fixes

fix(stock): Serial No and Batch Traceability report bug fixes

@rohitwaghchaure #60954 Read
fix stock-manufacturing 1 week ago

Serial No Warranty Expiry report bug fixes

The report shows Warranty Expiry Date instead of AMC Expiry Date.

@rohitwaghchaure #60956 Read
fix stock-manufacturing 1 week ago

Stock and Account Value Comparison report bug fix

The report no longer comes back empty when As On Date is cleared.

@rohitwaghchaure #60957 Read
fix stock-manufacturing 1 week ago

Items To Be Requested report bug fix

Disabled items are no longer listed.

@rohitwaghchaure #60946 Read
fix stock-manufacturing 1 week ago

Stock Ledger Invariant Check report bug fix

Show Incorrect Entries now catches wrong valuation rates.

@rohitwaghchaure #60959 Read
fix stock-manufacturing 1 week ago

Stock Ledger Variance report bug fix

fix(stock): Stock Ledger Variance report bug fix

@rohitwaghchaure #60960 Read
fix stock-manufacturing 1 week ago

Stock Projected Qty report bug fixes

Shortage Qty now accounts for quantity reserved for unconsolidated POS sales.

@rohitwaghchaure #60961 Read
fix stock-manufacturing 1 week ago

Stock Qty vs Serial No Count report bug fixes

fix(stock): Stock Qty vs Serial No Count report bug fixes

@rohitwaghchaure #60962 Read
fix stock-manufacturing 1 week ago

Warehouse Wise Stock Balance report bug fix

Stock in disabled warehouses is now included in parent totals.

@rohitwaghchaure #60964 Read
fix stock-manufacturing 1 week ago

Stock Ageing report bug fixes

fix(stock): Stock Ageing report bug fixes

@rohitwaghchaure #60966 Read
fix stock-manufacturing 1 week ago

Issued Items Against Work Order report bug fixes

Material returned to the store is no longer listed as another issue.

@rohitwaghchaure #60978 Read
fix stock-manufacturing 1 week ago

Stock Balance report bug fix

Warehouse Type is no longer ignored when a warehouse is also selected.

@rohitwaghchaure #60958 Read
fix accounting 1 week ago

Warn about fieldname conflicts only when the dimension fieldname changes

fix(accounts): warn about fieldname conflicts only when the dimension fieldname changes

@mihir-kandoi #61098 Read
fix accounting 1 week ago

Validate... / fix(accounts): Accounting dimension fieldname conflicts

The fieldname conflict warning appears only when the dimension's fieldname changes, not on every re-save.

@mihir-kandoi #61097 Read
fix accounting 1 week ago

Keep the visitor session and site host on appointment verification

Appointment verification keeps the visitor's session and builds links from the site host.

@nabinhait #60823 Read
fix accounting 1 week ago

Ignore cancelled gl entries when comparing voucher entries during repost

fix(accounts): ignore cancelled gl entries when comparing voucher entries during repost

@Afsalsyed #60590 Read
fix accounting 1 week ago

Preserve pricing discounts on quantity changes

Changing quantity keeps the pricing rule discount instead of resetting to the Price List Rate.

@Pandiyan5273 #60522 Read
fix accounting 1 week ago

Combine balances of groups sharing an account type

Groups with the same Account Type are summed rather than the last one overwriting the rest.

@ervishnucs #60891 Read
fix accounting 1 week ago

Validate POS profile write-off settings

Write-off accounts and cost centres must be ledgers of the same company.

@Pandiyan5273 #60591 Read
fix accounting 1 week ago

Rate limit appointment slot lookups on the booking page

Rate limits `get_appointment_slots` on `/book_appointment`.

@nabinhait #60782 Read
fix accounting 1 week ago

Permissions, credit notes, Closed orders and modernization in Inactive Customers report

fix: permissions, credit notes, Closed orders and modernization in Inactive Customers report

@Shllokkk #60337 Read
fix accounting 1 week ago

Pending qty, request matching and user scope in Pending SO Items for Purchase Request report

fix: pending qty, request matching and user scope in Pending SO Items for Purchase Request report

@Shllokkk #60541 Read
fix accounting 1 week ago

Pending qty, request matching and user scope in Pending SO Items for Purchase Request report

fix: pending qty, request matching and user scope in Pending SO Items for Purchase Request report

@Shllokkk #60540 Read
fix accounting 1 week ago

Pending qty, request matching and user scope in Pending SO Items for Purchase Request report

Restricted users only see their own permitted Sales Orders, and delivered quantities are subtracted from pending.

@Shllokkk #60536 Read
fix stock-manufacturing 1 week ago

Sales Order Analysis permissions, closed orders, credit notes and warehouse filter

fix: Sales Order Analysis permissions, closed orders, credit notes and warehouse filter

@Shllokkk #60792 Read
fix stock-manufacturing 1 week ago

Correct permissions, closed orders, credit notes and warehouse filter in Sales Order Analysis

Stops restricted users seeing other customers' orders through the chart and Group by Item, and fixes pending figures for Closed orders.

@Shllokkk #60788 Read
fix stock-manufacturing 1 week ago

Item Price Stock report bug fixes

Users without Item Price read access no longer see buying and selling prices.

@rohitwaghchaure #60941 Read
fix stock-manufacturing 1 week ago

Warehouse wise Item Balance Age and Value report bug fixes

Warehouse columns and totals are limited to warehouses the user can read.

@rohitwaghchaure #60965 Read
fix stock-manufacturing 1 week ago

Total Stock Summary report bug fix

Group By Company totals no longer add in warehouses the user cannot read.

@rohitwaghchaure #60963 Read
fix accounting 1 week ago

Store imported supplier invoice XML as private file

The XML extracted during Supplier Invoice import was attached as a public file; it is now private.

@diptanilsaha #61043 Read
fix accounting 1 week ago

Check asset read permission when fetching a depreciation schedule

Backport of #59883 to version-15.

@diptanilsaha #61062 Read
fix accounting 1 week ago

Check asset read permission when fetching a depreciation schedule

Backport of #59883 to version-16.

@diptanilsaha #61063 Read
fix accounting 1 week ago

Check read permission in whitelisted helpers

Adds read permission checks to serial and batch lookups, the subscription plan rate, the opening invoice company lookup, and the opening invoice summary.

@diptanilsaha #61066 Read
Frappe 11k 24 updates
fix framework 1 week ago

Don't delete frappe.local.sites_path in realtime config test

Fixes a test that broke every later server test module on CI.

@barredterra #44605 Read
feat framework 1 week ago

Serve on the socket systemd passes, across restarts

Runners keep their listening socket open across restarts, so requests queue instead of getting 502s.

@tanmoysrt #44592 Read
feat framework 1 week ago

Add line numbers for strings from JSON files

POT entries from DocType, Report and Workspace JSON now point to their exact line.

@barredterra #44603 Read
feat framework 1 week ago

Page background, paper size and orientation in the print format editor

feat(print): page background, paper size and orientation in the print format editor

@iamejaaz #44407 Read
feat framework 1 week ago

Page background, paper size and orientation in the print format editor

Adds a page background image with opacity, and saved paper size and orientation, to print formats.

@iamejaaz #44392 Read
feat framework 1 week ago

Storage v2: content-addressed blobs, pluggable storage backends, and signed file URLs

Alpha, behind a `storage_v2` site setting: each upload is stored once as a File Blob, regardless of attachment count. Apps outside Suite should not build on it yet.

@netchampfaris #42407 Read
fix framework 1 week ago

Bulk delete failure lists names without a reason

The bulk delete dialog gives the reason for each document that could not be deleted.

@kaulith #44266 Read
fix framework 1 week ago

Read notification shows as unread again after a reload

The notification list is fetched fresh, not from the browser cache.

@kaulith #41709 Read
fix developer-experience 1 week ago

Answer client acknowledgements with the handler result

Acknowledgements from the Python realtime server now return the handler's result, as the Node server does.

@tanmoysrt #44591 Read
fix framework 1 week ago

Find sites from inside the sites folder

The standalone realtime server finds sites when started from inside the sites folder.

@tanmoysrt #44594 Read
fix ui-ux 1 week ago

Password changed in desk still forces a reset at login

A password changed in desk now counts as a reset, so the expiry is cleared.

@kaulith #44396 Read
fix framework 1 week ago

Add roles does nothing for a user created outside the form

The Add Roles button opens the user's form on the roles tab, from the list and from the form.

@kaulith #44604 Read
fix framework 1 week ago

Count connections per link field when a doctype is linked twice

Connection counts follow each link field, so a record isn't dropped or double-counted.

@kaulith #44480 Read
fix framework 1 week ago

Query string redirects stop working after a visit without one

Requests skip the "no redirect" cache so query-string redirect rules keep matching.

@kaulith #44473 Read
fix ui-ux 1 week ago

Logging out shows the session expired dialog

Logout no longer shows a Session Expired dialog before the login page.

@kaulith #44621 Read
fix framework 1 week ago

Translated template headers stop matching their fields

Column header maps are cached per request, so templates in another language import correctly.

@kaulith #43400 Read
fix framework 1 week ago

Drop saved group by fields that cannot be queried

Reopening a Report view saved with "Group By: Comments" no longer fails and stays empty.

@KerollesFathy #44601 Read
fix ui-ux 1 week ago

Stray closing tag when announcement can't be dismissed

Moves the close button's closing tag inside the same `{% if %}` as its opening tag.

@kaulith #44626 Read
fix framework 1 week ago

Setup wizard fails on servers without deprecated timezone names

Picking India no longer preselects `Asia/Calcutta`, which newer Debian and Ubuntu releases don't ship.

@kaulith #44267 Read
fix framework 1 week ago

Cached hook lists keep growing on every route cache miss

Route cache rebuilds stop appending to the cached `website_generators` and `website_route_rules` lists.

@kaulith #44632 Read
fix framework 1 week ago

RQ Job list fails to load after a queued function is renamed

Jobs whose function no longer imports are skipped during matching, and the RQ Job list shows them so they can be deleted.

@kaulith #44610 Read
fix framework 1 week ago

Multiselect fields still suggest values already picked

The dropdown skips values already picked, in both pills and the comma-separated multiselect.

@kaulith #44635 Read
fix framework 1 week ago

Second message in a dialog hides the first message's action button

A message without an action no longer hides a button set by a message still on screen.

@kaulith #44638 Read
fix ui-ux 1 week ago

Send session in Cookie header instead of query string

The realtime server sends the session in a Cookie header rather than the URL, matching v16 and develop.

@iamejaaz #44532 Read
CRM 3.9k 1 update
feat crm-sales 1 week ago

Link the docs from every Automation & Rules settings page

Adds a "View documentation" icon to Assignment Rules, SLA Policies and Forms, as Workflow Automations already has.

@michellealva #3079 Read
o Other 20 updates
feat other-apps 1 week ago

Advertise b0d5d5c1

feat(insights): advertise b0d5d5c1

@tanmoysrt #43 Read
feat other-apps 1 week ago

Advertise 04ccdb91

feat(gameplan): advertise 04ccdb91

@netchampfaris #42 Read
feat other-apps 1 week ago

Advertise ec8679ad

feat(gameplan): advertise ec8679ad

@netchampfaris #44 Read
fix other-apps 1 week ago

Add the Bluebird team to its private spaces

fix(demo): add the Bluebird team to its private spaces

@netchampfaris #617 Read
feat other-apps 1 week ago

Compress memory and disk migration transfers

Memory snapshots are zstd-compressed and disk blocks are sent as ZFS stores them, cutting VM downtime during migration.

@tanmoysrt #434 Read
feat other-apps 1 week ago

Onboarding

feat: onboarding

@TITANiumRox #2308 Read
feat other-apps 1 week ago

Add Metal Server Console to run a script on many hosts

Runs one shell script as root across many Metal Servers at once, with live output per server.

@tanmoysrt #431 Read
feat other-apps 1 week ago

Answer the custom-domain pre-authorize check with the zone

Lets Central check that custom domains point at the region, including domains behind a CDN.

@tanmoysrt #436 Read
feat other-apps 1 week ago

Choose SSH or TTY for the web console

Members pick SSH or the serial console; Central no longer switches between them on its own.

@prathameshkurunkar7 #503 Read
feat other-apps 1 week ago

Host Suite sites on Frappe Cloud through Central and Pilot

Adds a Hosting module that provisions servers and sites in Central, with a pool of ready sites per region.

@s-aga-r #29 Read
feat other-apps 1 week ago

App-declared processes and restarts without 502s

Apps can declare background processes in `pyproject.toml` that the bench runs alongside their site.

@AryamanSharma14 #294 Read
fix ui-ux 1 week ago

Leave checked rows unfilled, report the highlight, name the list

fix(frappe-ui multiselect): leave checked rows unfilled, report the highlight, name the list

@nextchamp-saqib #1298 Read
fix other-apps 1 week ago

Make sorting work in both directions

Sorting runs on the client, column headers sort on click, and a second click reverses the order.

@Jeesha09 #620 Read
fix other-apps 1 week ago

Feat(metal) / fix(atlas): Recover VM migrations from memory and temporary failures

Migrations survive short failures, fall back to a disk-only move when memory can't move, and can't get stuck with the VM stopped.

@tanmoysrt #430 Read
fix other-apps 1 week ago

Fetch an update target without its history in a shallow clone

Shallow clones fetch only the target commit, so the update check stops timing out on large repos.

@tanmoysrt #666 Read
fix other-apps 1 week ago

Allow database settings without bench management

Database settings such as restart and buffer pool no longer require bench management; process kill and binlog purge stay gated.

@tanmoysrt #667 Read
fix other-apps 1 week ago

Keep the database enabled, build frappe's assets in init, and keep the web socket open on restart

Database units stay enabled after a retried init, and restarts keep the websocket open.

@tanmoysrt #664 Read
feat other-apps 1 week ago

Pre-authorize... / fix(signups): close the gaps between free trials and billing

Closes six gaps: restarting trials after a left trial, teams with unpaid invoices opening free servers, and trial servers not sleeping in production.

@saurabh6790 #502 Read
fix other-apps 1 week ago

Pass the marketplace security scan

Clears the 11 Critical and Major findings that blocked the marketplace release.

@netchampfaris #618 Read
fix other-apps 1 week ago

Prevent editing other users profiles

Adds ownership validation to GP User Profile so members can no longer edit another member's profile or bio through the REST API or `set_value`.

@ebrahimgamdiwala #619 Read

Saturday, October 17

ERPNext 40.6k 54 updates
fix accounting 2 weeks ago

Embed only quotation fields on the RFQ portal page

The supplier RFQ portal page embeds only the fields the quotation form uses.

@nabinhait #60821 Read
fix accounting 2 weeks ago

Fetch only displayed columns in portal project list

The portal project list fetches only the columns it shows.

@nabinhait #60808 Read
fix accounting 2 weeks ago

Remove demo account from Philippines chart

Removes the "Raw Materials - Demo" account, so new companies no longer get it in their production chart.

@AdleenaLobo #60761 Read
fix accounting 2 weeks ago

Clean file name and escape values in code list import

The file name of an imported Genericode file is cleaned before it is saved.

@nabinhait #60810 Read
fix accounting 2 weeks ago

Save edited notes through the document

Edited CRM notes are saved through the document, the same way adding and deleting notes works.

@nabinhait #60807 Read
fix accounting 2 weeks ago

Item dashboard add dialog rate (backport)

fix: item dashboard add dialog rate (backport)

@mihir-kandoi #60903 Read
fix accounting 2 weeks ago

Item dashboard add dialog rate (backport)

fix: item dashboard add dialog rate (backport)

@mihir-kandoi #60902 Read
fix accounting 2 weeks ago

Item dashboard add dialog rate

The Rate field in the Add dialog is prefilled, and an empty rate no longer fails Create Stock Entry.

@mihir-kandoi #60901 Read
fix accounting 2 weeks ago

Fetch buying exchange rate in supplier quotation (backport)

fix: fetch buying exchange rate in supplier quotation (backport)

@mihir-kandoi #60899 Read
fix accounting 2 weeks ago

Fetch buying exchange rate in supplier quotation (backport)

fix: fetch buying exchange rate in supplier quotation (backport)

@mihir-kandoi #60898 Read
fix accounting 2 weeks ago

Fetch buying exchange rate in supplier quotation

Supplier Quotation uses the buying rate and POS Invoice uses the selling rate, instead of the latest rate of either type.

@mihir-kandoi #60897 Read
fix accounting 2 weeks ago

Refresh exchange rate on auto-repeated documents

Auto Repeat fetches the exchange rate for the new posting date. If no rate is found, it stops the schedule and notifies the owner.

@khushi8112 #60815 Read
fix accounting 2 weeks ago

Bound link option results in ar, ap and gl report filters

The Party filter loads a bounded set of options, so the browser no longer freezes on large customer lists.

@ervishnucs #59795 Read
fix accounting 2 weeks ago

Match special-character filters, update codes on re-import, report rows

Import filters containing & or apostrophes now match, re-imports update existing codes, and row results are reported.

@nabinhait #60009 Read
fix accounting 2 weeks ago

Average calendar time and add a company filter

Averages calendar time only, instead of mixing it with SLA working time, and adds a company filter.

@nabinhait #60030 Read
fix accounting 2 weeks ago

Require a positive default factor and allow editing the default

Shift-based schedules need a positive default factor, and the default can now be edited.

@nabinhait #60035 Read
fix accounting 2 weeks ago

Restore schedule on cancel and keep booked entries

Cancelling an allocation restores the previous depreciation schedule and keeps entries already booked.

@nabinhait #60017 Read
fix accounting 2 weeks ago

Respect As on Date, fix returns and list asset receipts

Uses the As on Date for billing and returns, and lists asset receipts.

@nabinhait #59991 Read
fix accounting 2 weeks ago

Respect as on date, debit notes and service rows

Uses the As on Date for receipt and billing, and handles debit notes and service rows.

@nabinhait #60042 Read
fix accounting 2 weeks ago

Preserve opening invoice balances

Opening invoices convert the entered company-currency amount into the party's currency, instead of posting the raw amount.

@Pandiyan5273 #60277 Read
fix accounting 2 weeks ago

Validate bank ledgers and exclude disabled defaults

A Company Bank Account must link to a Bank ledger of its own company, and a disabled account cannot stay as the default.

@Pandiyan5273 #60441 Read
fix stock-manufacturing 2 weeks ago

Preserve forward trace direction

Forward traces keep their direction, instead of marking positive finished goods as Backward.

@Pandiyan5273 #60830 Read
fix stock-manufacturing 2 weeks ago

Include sales invoice qty in recommended reorder level

Delivered quantity now includes Delivery Notes and Sales Invoices with Update Stock, so the reorder level is not understated.

@Pandiyan5273 #60817 Read
fix stock-manufacturing 2 weeks ago

Filter batch expiry by report date

Available Batch Report excludes batches that expired before the selected date, not only when the date is today.

@Pandiyan5273 #60773 Read
fix stock-manufacturing 2 weeks ago

Correct serial number status report columns

Serial No Status shows a Status column, so Delivered and Consumed serials can be told apart.

@Pandiyan5273 #60829 Read
fix stock-manufacturing 2 weeks ago

Use opening history in Incorrect Serial No Valuation

Serials received before the period count toward the opening, so they are no longer flagged as incorrect.

@mihir-kandoi #60915 Read
fix stock-manufacturing 2 weeks ago

Filter BOM search status and retain direct sub-assembly matches

Draft and cancelled BOMs and Product Bundles are excluded. Direct sub-assembly matches stay in the results.

@Pandiyan5273 #60785 Read
fix accounting 2 weeks ago

Reset sales order advance paid on unreconcile

Unreconciling an advance resets the Sales Order's Advance Paid amount.

@Pandiyan5273 #60587 Read
fix accounting 2 weeks ago

Validate inclusive referenced tax rows

Inclusive On Previous Row Total taxes now check the referenced row, so item rates match net amount plus included taxes.

@Pandiyan5273 #60586 Read
fix accounting 2 weeks ago

Block disabling payment methods used by POS profiles

Disabling a Mode of Payment is blocked when a POS Profile uses it. The check previously looked in the wrong table.

@Pandiyan5273 #60290 Read
fix accounting 2 weeks ago

Apply user permissions in payment ledger report

fix: apply user permissions in payment ledger report

@diptanilsaha #59953 Read
fix accounting 2 weeks ago

Permissions, credit notes, Closed orders and modernization in Inactive Customers report

fix: permissions, credit notes, Closed orders and modernization in Inactive Customers report

@Shllokkk #60336 Read
fix accounting 2 weeks ago

Permissions, credit notes, Closed orders and modernization in Inactive Customers report

Enforces territory and customer group permissions, ignores credit notes when judging orders, and prorates partly delivered Closed orders.

@Shllokkk #60332 Read
fix accounting 2 weeks ago

Open the banking page only for desk users

fix(accounts): open the banking page only for desk users

@nabinhait #60822 Read
fix accounting 2 weeks ago

Check sales order read in get_work_order_items

fix(selling): check sales order read in get_work_order_items

@nabinhait #60781 Read
fix accounting 2 weeks ago

Check document access in SLA reset and payment reference count

Resetting an SLA requires write access to the document, and the payment reference count requires read access to the voucher.

@nabinhait #60783 Read
fix stock-manufacturing 2 weeks ago

Apply read permissions in Item Where Used report

Lists only BOMs, Product Bundles and other documents the user can read, and checks read permission on the selected Item.

@mihir-kandoi #60916 Read
fix stock-manufacturing 2 weeks ago

Correct warehouse capacity sorting and permissions

Sorting covers all rules instead of one page, Putaway Rule and Item permissions apply, and a nonexistent parent warehouse no longer raises a TypeError.

@Pandiyan5273 #60778 Read
fix stock-manufacturing 2 weeks ago

Respect stock summary permissions and warehouse groups

Stock Summary honours Item User Permissions. Selecting a group warehouse shows stock from its child warehouses.

@Pandiyan5273 #60779 Read
fix accounting 2 weeks ago

Restrict sales partner summary reports to permitted companies

fix: restrict sales partner summary reports to permitted companies

@Shllokkk #60896 Read
fix accounting 2 weeks ago

Restrict sales partner summary reports to permitted companies

fix: restrict sales partner summary reports to permitted companies

@Shllokkk #60895 Read
fix accounting 2 weeks ago

Restrict sales partner summary reports to permitted companies

The Sales Partner Commission and Transaction Summary reports now include only companies the user may access.

@Shllokkk #60861 Read
fix accounting 2 weeks ago

Permissions, duplicate reasons and value split in Lost Quotations report

fix: permissions, duplicate reasons and value split in Lost Quotations report

@Shllokkk #60419 Read
fix accounting 2 weeks ago

Permissions, duplicate reasons and value split in Lost Quotations report

fix: permissions, duplicate reasons and value split in Lost Quotations report

@Shllokkk #60420 Read
fix accounting 2 weeks ago

Permissions, duplicate reasons and value split in Lost Quotations report

Figures are limited to quotations the user can see. A value counts once per reason and is split evenly across reasons, so Lost Value % sums to 100%.

@Shllokkk #60411 Read
fix stock-manufacturing 2 weeks ago

Sales Order Analysis permissions, closed orders, credit notes and warehouse filter

fix: Sales Order Analysis permissions, closed orders, credit notes and warehouse filter

@Shllokkk #60791 Read
fix accounting 2 weeks ago

Correct achievement, permissions and sales team scope in item-group target variance reports

fix: correct achievement, permissions and sales team scope in item-group target variance reports

@Shllokkk #60983 Read
fix accounting 2 weeks ago

Correct achievement, permissions and sales team scope in item-group target variance reports

fix: correct achievement, permissions and sales team scope in item-group target variance reports

@Shllokkk #60986 Read
fix accounting 2 weeks ago

Correct achievement, permissions and sales team scope in item-group target variance reports

Overall targets now count the holder's sales. Achieved figures respect the user's company, customer and territory permissions. The Sales Team join is limited to its parent doctype.

@sumitjain236 #60911 Read
fix accounting 2 weeks ago

Validate permission and company of reference document

Checks read permission and company of the reference document when a Payment Request is saved.

@diptanilsaha #60996 Read
fix accounting 2 weeks ago

Restrict reference doctype, print format and resend email

Restricts the reference DocType and print format of a Payment Request. The resend payment email uses the saved values.

@diptanilsaha #61003 Read
fix accounting 2 weeks ago

Resolve portal customers from portal users

Issue and Timesheet portal lists use the Customer's Portal Users, like the document view. Portal document checks apply only to Customer and Supplier users.

@diptanilsaha #60910 Read
fix accounting 2 weeks ago

Return only displayed fields in portal transaction list

Portal quotation, order and invoice lists fetch only the fields each row shows, not whole documents.

@diptanilsaha #61012 Read
fix accounting 2 weeks ago

Protect immutable ledgers and correct settings access …

Deleting a cancelled transaction no longer removes immutable ledger entries, and Accounts User can read the settings that Chart of Accounts and deferred accounting need.

@nabinhait #60440 Read
Frappe 11k 13 updates
feat framework 2 weeks ago

Mobile shell

On phones the desk shows a bottom tab bar and a navigation sheet from the page title, instead of the sidebar drawer.

@sokumon #44070 Read
feat ui-ux 2 weeks ago

Add a built-in MCP server

Adds a /api/v2/mcp endpoint with 15 tools for reading and changing documents and calling whitelisted methods. It reuses Frappe's permissions, and MCP Settings control it per site.

@aryadharmadhikari #44431 Read
fix ui-ux 2 weeks ago

Move the page-island toolchain out of ui/

Moves the toolchain beside ui/, so copying sites/assets with symlinks no longer fails on a cyclic link.

@sokumon #44582 Read
fix developer-experience 2 weeks ago

Allow localhost redirect URIs for dynamic clients

MCP clients such as Claude Code can register http localhost redirect URIs on sites outside developer mode.

@ankush #44559 Read
fix framework 2 weeks ago

Compare saved timestamps as datetimes (backport)

A document inserted at a whole second can be saved and submitted again.

@mihir-kandoi #44491 Read
fix framework 2 weeks ago

Rename param retry to rq_retry in frappe.enqueue

The retry value was passed to RQ instead of the queued method, so resetting a user's OTP secret failed before the email was queued.

@harshp4114 #44439 Read
fix framework 2 weeks ago

Go back past a new document after it is saved

Back after saving or renaming a new document goes to the previous page, not the same document.

@mainshivam #44545 Read
fix framework 2 weeks ago

Add fallback perm. check in absence of doc & name

fix(email): add fallback perm. check in absence of doc & name

@AarDG10 #44537 Read
fix framework 2 weeks ago

Bind social-login state to the initiating browser

A short-lived HttpOnly cookie ties each social login state to the browser that started the login.

@AarDG10 #42697 Read
fix framework 2 weeks ago

Sanitize and bound web_search inputs

fix(global_search): sanitize and bound web_search inputs

@AarDG10 #44507 Read
fix framework 2 weeks ago

Canonicalize and confine print image thumbnail paths

Print image thumbnail paths are resolved and must stay inside the allowed folder.

@AarDG10 #44541 Read
fix framework 2 weeks ago

Only ignore user permissions through a field the user can type in

fix(search): only ignore user permissions through a field the user can type in

@sumitjain236 #44430 Read
fix framework 2 weeks ago

Only ignore user permissions through a field the user can type in

Link search ignores User Permissions only when the searched field is one the user can edit. This closes a path that listed every record of a DocType.

@sumitjain236 #44424 Read
HR 9k 1 update
fix hr-payroll 2 weeks ago

Perm errors for employees on holidays, approvers and HRA declaration

fix(hrms): perm errors for employees on holidays, approvers and HRA declaration

@iamkhanraheel #5447 Read
CRM 3.9k 1 update
feat crm-sales 2 weeks ago

Warn and block send when an email recipient has unsubscribed

feat: warn and block send when an email recipient has unsubscribed

@ps173 #3045 Read
LMS 3.3k 23 updates
feat other-apps 2 weeks ago

Say when a search or filter matched nothing

An empty search result says "Nothing matches" and offers a Clear filters button, on Courses, Batches, Jobs and Programs.

@raizasafeel #3046 Read
feat other-apps 2 weeks ago

Paging, missing inputs and fixes for scripts that use the API

Home page lists take start and limit_page_length, My batches can include past batches, and live classes return their batch and time.

@pateljannat #3062 Read
fix other-apps 2 weeks ago

Batch enroll button, reason when closed, and login redirect

Batches without a seat count show Register or Enroll, and the overlay explains why enrolment is unavailable. Guest login returns to the same page.

@raizasafeel #3035 Read
fix other-apps 2 weeks ago

Batch page not-found state and Published badge for managers only

A batch the viewer can't see shows a Not Found page instead of a blank one, and the Published badge is shown only to managers.

@raizasafeel #3034 Read
fix other-apps 2 weeks ago

Mark the invoicing consent checkbox as required

fix: mark the invoicing consent checkbox as required

@raizasafeel #3052 Read
fix other-apps 2 weeks ago

Award badges to owner and skip manual ones on save

fix: award badges to owner and skip manual ones on save

@raizasafeel #3049 Read
fix other-apps 2 weeks ago

Keep the settings dialog content within its width

fix: keep the settings dialog content within its width

@raizasafeel #3048 Read
fix other-apps 2 weeks ago

Hide lesson progress for guests and explain locked lessons

fix: hide lesson progress for guests and explain locked lessons

@raizasafeel #3036 Read
fix other-apps 2 weeks ago

Job logo fallback and relative times in the site timezone

fix: job logo fallback and relative times in the site timezone

@raizasafeel #3037 Read
fix other-apps 2 weeks ago

Let quizzes without questions count as passed

fix: let quizzes without questions count as passed

@raizasafeel #3053 Read
fix other-apps 2 weeks ago

Show a neutral note for unknown content blocks

Unknown lesson blocks show "This content is not available" instead of EditorJS's internal type name.

@raizasafeel #3041 Read
fix other-apps 2 weeks ago

Floor quiz submission score at zero

With negative marking, a score can no longer go below 0.

@raizasafeel #3043 Read
fix other-apps 2 weeks ago

Count only course lessons and cap progress at 100

Progress counts only lessons still in the course, so it can no longer exceed 100%.

@raizasafeel #3042 Read
fix other-apps 2 weeks ago

Course page progress and certificate PDFs without letter head

The course card shows the learner's progress, and certificate PDFs render when the site's default Letter Head would fail.

@raizasafeel #3039 Read
fix other-apps 2 weeks ago

Compare batch dates with getdate

Batch date checks compare dates on both sides, which fixes a TypeError on partial REST updates.

@raizasafeel #3044 Read
fix other-apps 2 weeks ago

Return no results when the search index is missing

Ctrl+K search returns no results while the index is missing, instead of showing "Could not search just now" on every keystroke.

@raizasafeel #3050 Read
fix other-apps 2 weeks ago

Fetch batch courses once the batch name is known

Batch courses are requested once the batch name is known, so moving between batches no longer keeps the old batch's courses.

@raizasafeel #3040 Read
fix other-apps 2 weeks ago

Mark required sign-up fields

Full Name and Email on sign-up show a required marker, so users can see what the disabled button is waiting for.

@raizasafeel #3051 Read
fix other-apps 2 weeks ago

Translate assessment type labels

The Quiz, Assignment and Programming Exercise labels in Add Assessment are now translated.

@raizasafeel #3045 Read
fix other-apps 2 weeks ago

Check required fields before creating a record

New Course, New Batch and New Assignment check required fields first and name the missing one, instead of sending an empty form.

@raizasafeel #3047 Read
fix other-apps 2 weeks ago

Course ZIP re-upload, chart ranges and guest access for statistics and jobs

A course ZIP can be re-imported when the same bytes were already uploaded by someone else. Chart ranges and guest access for statistics and jobs are also fixed.

@pateljannat #3060 Read
fix other-apps 2 weeks ago

Evaluator save and currency picker access

The evaluator on a member's open certificate request can now save it. Moderators keep their access.

@raizasafeel #3038 Read
fix other-apps 2 weeks ago

Course ZIP import and lesson file types

Course ZIP import opens only the ZIP the importer uploaded. Private lesson files keep their stored type.

@pateljannat #3004 Read
b Builder 2.5k 1 update
fix ui-ux 2 weeks ago

Require the frappe release that ships @framework/ui telemetry

Builder declares the minimum Frappe release that ships the telemetry module, so an older bench no longer fails the asset build.

@surajshetty3416 #963 Read
p Press 575 2 updates
fix other-apps 2 weeks ago

Harden SSH, encryption key check, team 2FA and version log

Sets SSH MaxAuthTries to 4, runs the encryption key check that never ran, and records changes to access-related doctypes in the version log.

@ssiyad #7782 Read
fix other-apps 2 weeks ago

Apply Press Roles to notifications, incidents and benches

Restricted team members no longer see notifications, incidents or benches outside their Press Role.

@ssiyad #7786 Read
o Other 37 updates
feat other-apps 2 weeks ago

Add kamra to the registry

Adds Kamra PMS, a property management system built on Frappe v16, to the app registry.

@azzaxp #33 Read
feat other-apps 2 weeks ago

One set of rules for Archive, Move, Junk and Trash

Archive, Move, Junk and Trash follow one set of server-side rules, so every view files a conversation the same way.

@krantheman #1013 Read
feat other-apps 2 weeks ago

All Inboxes files by the same rules, with Unarchive

All Inboxes files mail by the same rules as a single account, with one Undo that restores every account's moves.

@krantheman #1017 Read
feat other-apps 2 weeks ago

Search lists conversations, each opened on its newest match

Search lists one row per conversation, the way a folder does, and opening it lands on the newest matching message.

@krantheman #1020 Read
feat other-apps 2 weeks ago

Settings-only configuration, tenant owners with the Suite Tenant role, optional tenant cluster

Reads all configuration from Suite Cloud Settings, adds a TLS check for the Stalwart API, and lets tenant owners use the Suite Tenant role.

@s-aga-r #28 Read
feat other-apps 2 weeks ago

Allow force app builds given the image

feat: Allow force app builds given the image

@Aradhya-Tripathi #98 Read
feat other-apps 2 weeks ago

Integrate machine actions in cargo

feat: Integrate machine actions in cargo

@Aradhya-Tripathi #97 Read
feat other-apps 2 weeks ago

Telemetry ping, garage node monitoring & clickhouse versioning

feat: Telemetry ping, garage node monitoring & clickhouse versioning

@Aradhya-Tripathi #96 Read
feat other-apps 2 weeks ago

Build Pilot images for a 1 GB VM with swap and lean memory settings

Lets a Pilot bench with one site run on a 1 GB VM, by disabling unused services and adding a memory setup service at boot.

@tanmoysrt #95 Read
fix other-apps 2 weeks ago

Polish the payment method and top up flows

Asks for the billing country first and adds a payment method where it is needed. Gateway failures show a message the customer can act on.

@prathameshkurunkar7 #498 Read
feat other-apps 2 weeks ago

Trial to paid upgrade and plan change progress page

Trial users can upgrade from the console, and a public progress page follows a plan change until the site answers.

@prathameshkurunkar7 #495 Read
feat other-apps 2 weeks ago

Let Pilots read private repositories through a GitHub App

Adds a GitHub tab in Central Settings. Pilots get a read-only token for one chosen repository, valid for about an hour.

@tanmoysrt #496 Read
feat other-apps 2 weeks ago

Connect GitHub through Frappe Cloud

A Pilot managed by Frappe Cloud reads private repositories through the Frappe Cloud GitHub App, with no stored personal access token.

@tanmoysrt #653 Read
feat other-apps 2 weeks ago

Change the site plan from the billing tab

Change plan opens an inline plan list in the billing tab. During a trial it shows when the welcome credit ends.

@prathameshkurunkar7 #652 Read
feat other-apps 2 weeks ago

Pin the framework app to a commit on its branch

pilot init --commit checks out the framework app at a commit and keeps it on its branch.

@tanmoysrt #654 Read
feat other-apps 2 weeks ago

Raise the x86 CPU baseline to x86-64-v3 and add a host setting to boot VMs without a CPU template

Guests on x86 hosts get the x86-64-v3 instruction set. An operator can boot a Metal Server's VMs without a CPU template.

@the-bokya #425 Read
feat other-apps 2 weeks ago

Support dynamic tab title for pages

feat: support dynamic tab title for pages

@ruchamahabal #312 Read
feat other-apps 2 weeks ago

Mobile app

Packages the PWA as a native app with Capacitor.

@TITANiumRox #2265 Read
fix other-apps 2 weeks ago

Bump litellm to 1.95.0 for python 3.14 support

Benches on Python 3.14 can install the litellm pin, which previously had no matching package.

@ruchamahabal #313 Read
fix other-apps 2 weeks ago

Check out shell scripts with LF line endings

Shell scripts are checked out with LF endings, so Windows checkouts no longer produce containers that fail with "no such file or directory" on the entrypoint.

@AntonioVCruz #2029 Read
fix other-apps 2 weeks ago

Show commit labels when an update targets the branch tip

The update dialog shows commit hashes when the target is the branch tip, instead of registry versions that can look unchanged.

@tanmoysrt #660 Read
fix other-apps 2 weeks ago

Read follow_branch from bench.toml when loading apps

The follow_branch setting in bench.toml is now honoured, so updates move the app to the branch tip.

@tanmoysrt #659 Read
fix other-apps 2 weeks ago

Download prebuilt assets for a commit pinned behind its branch tip

A clean commit pinned behind its branch tip now downloads its prebuilt archive instead of building on the server.

@tanmoysrt #658 Read
fix other-apps 2 weeks ago

Hide site skeletons during cached refreshes

Sites page shows skeletons only when nothing is cached. During a refresh the cached list stays visible.

@BreadGenie #657 Read
fix other-apps 2 weeks ago

Call Pilot over loopback from the site

Sites call Pilot on their own host, so Cloud Settings works on a new signup instead of failing with a name resolution error.

@prathameshkurunkar7 #644 Read
fix other-apps 2 weeks ago

Initialise frappe at its commit with pilot init --commit

Image builds check out Frappe at the commit that has published prebuilt assets, so the VM no longer rebuilds them and runs out of memory.

@tanmoysrt #100 Read
fix other-apps 2 weeks ago

Quoted text can be edited, and forwards and inline answers aren't trimmed

fix(mail): quoted text can be edited, and forwards and inline answers aren't trimmed

@krantheman #1019 Read
fix other-apps 2 weeks ago

Quoted text can be edited, and forwards and inline answers aren't trimmed

The quote can be edited in place, forwards stay visible, and answers typed between quoted lines are no longer hidden.

@krantheman #1018 Read
fix other-apps 2 weeks ago

Apple Mail quotes fold away, and only the sender opens their card

Apple Mail and Thunderbird quoted trails fold away again, and the empty space after the sender's address no longer opens their card.

@krantheman #1021 Read
fix ui-ux 2 weeks ago

Scroll menus that are taller than the screen

Dropdowns and context menus stop at the screen edge and scroll, so items at the end can be reached.

@michellealva #1300 Read
fix ui-ux 2 weeks ago

Make the code languages plugin work with Vite 8's dev server

Dependency pre-bundling no longer fails on Vite 8, so apps don't have to turn the plugin off.

@ps173 #1301 Read
fix ui-ux 2 weeks ago

Keep external content syncs out of undo history

Content set from outside no longer counts as an undo step, so Cmd+Z can't restore an empty document over a saved draft.

@netchampfaris #1299 Read
fix other-apps 2 weeks ago

Let many people react to a post at once

Each reaction is its own row instead of a child row inside the post. Two people reacting at once no longer hit a TimestampMismatchError.

@netchampfaris #615 Read
fix other-apps 2 weeks ago

Separate visiting sites from admin login

Open site now goes to the regular site URL. Admin login is a separate action, so visiting no longer replaces the existing site session.

@BreadGenie #655 Read
fix other-apps 2 weeks ago

Restore a WireGuard address that NetworkManager removed

The apply script now checks that each address is still on the link and restores it if NetworkManager removed it, instead of exiting on an unchanged file.

@tanmoysrt #422 Read
fix other-apps 2 weeks ago

Keep PCLMULQDQ in the x86 CPU templates

ClickHouse crashed with SIGILL on guests without PCLMULQDQ, so the x86 templates now pass it through and require it on the host.

@Aradhya-Tripathi #423 Read
fix other-apps 2 weeks ago

Restart metald after configure-wireguard restarts wg0

Mesh traffic dropped after WireGuard config changes until metald was restarted. The script now restarts metald after wg0, so the mesh programs attach to the new interface.

@tanmoysrt #426 Read

Friday, October 16

ERPNext 40.6k 21 updates
feat accounting 2 weeks ago

Supplier Overview Dashboard

Adds an Overview tab to Supplier with KPIs, purchase and payment charts, payables ageing and recent transactions.

@khushi8112 #60554 Read
fix accounting 2 weeks ago

Keep each source's discount when combining documents

Each row keeps its source's additional discount, so combining documents no longer applies the last discount to every row.

@mihir-kandoi #60724 Read
fix accounting 2 weeks ago

Putaway Rule bug fixes

Keeps the rejected quantity on rows rebuilt by Apply Putaway Rule.

@rohitwaghchaure #60426 Read
fix accounting 2 weeks ago

Sales Forecast bug fixes

Generated periods now start on From Date, so the first week or month is no longer skipped.

@rohitwaghchaure #60546 Read
fix stock-manufacturing 2 weeks ago

Stock Entry bug fixes

Fixes eleven Stock Entry bugs, including Repack, Material Issue and Disassemble cases.

@rohitwaghchaure #60421 Read
fix accounting 2 weeks ago

Production Plan Schedule bug fixes

Editing a draft plan now replaces its old schedule instead of keeping stale workstation bookings.

@rohitwaghchaure #60545 Read
fix accounting 2 weeks ago

Workstation bug fixes

Fixes six Workstation bugs, including Manufacture entry and split-shift scheduling order.

@rohitwaghchaure #60595 Read
fix stock-manufacturing 2 weeks ago

BOM Update Log bug fixes

Update Cost now completes when there is no leaf BOM, and fixes four other log bugs.

@rohitwaghchaure #60549 Read
fix accounting 2 weeks ago

Bank Clearance Summary matches bank amounts

Matches bank amounts for taxed payments, POS and foreign invoices.

@nabinhait #60044 Read
fix accounting 2 weeks ago

Deferred Revenue and Expense forecast past last fiscal year

Fixes a report failure when a service period runs past the last created fiscal year.

@nabinhait #60039 Read
fix accounting 2 weeks ago

Accounts Payable Summary fixes

Adds the not-yet-due column to the party total and fixes GL balance and advance in summaries.

@nabinhait #60040 Read
fix accounting 2 weeks ago

Calculated Discount Mismatch fixes

Lets accounts roles run the report and returns numeric amounts.

@nabinhait #60041 Read
fix accounting 2 weeks ago

Asset Maintenance next due date, status, ToDos and deletion

Fixes an end date that blanked the next due date, plus In Maintenance status and ToDo handling.

@nabinhait #59998 Read
fix accounting 2 weeks ago

Telephony Call Type search and submitted-only types

Fixes Call Type search in the incoming call popup and accepts only submitted Call Types.

@nabinhait #60031 Read
fix accounting 2 weeks ago

Purchase Invoice Trends falls back to posting date

Invoices with no bill date now appear in the Billing Date view using their posting date.

@nabinhait #60045 Read
fix accounting 2 weeks ago

Item-wise Purchase Register fixes

Includes other charges in the total, fixes child item groups, PO receipts and the percent-of-total column.

@nabinhait #60047 Read
fix accounting 2 weeks ago

Use values passed to dialog primary actions

Removes redundant second get_values() calls in dialog handlers that caused false "Missing Values Required" errors.

@barredterra #60798 Read
fix accounting 2 weeks ago

Make the Set as Lost primary action use dialog values

Fixes a false "Lost Reasons missing" error on slow connections for Opportunity and Quotation.

@barredterra #60795 Read
fix accounting 2 weeks ago

Item-wise Sales History respects user permissions

Item-wise Sales History respects user permissions

@Shllokkk #60403 Read
fix accounting 2 weeks ago

Item-wise Sales History respects user permissions

Item-wise Sales History respects user permissions

@Shllokkk #60402 Read
fix accounting 2 weeks ago

Item-wise Sales History respects user permissions

Limits rows and the chart to Sales Orders the user may see, since the chart had leaked other customers' totals.

@Shllokkk #60350 Read
Frappe 11k 15 updates
feat ui-ux 2 weeks ago

Rename the builder to Print Format Editor

Rename the builder to Print Format Editor

@iamejaaz #44476 Read
feat framework 2 weeks ago

Notify a user when someone else changes their password

Adds a bell notification for password changes made by someone else.

@iamejaaz #44525 Read
feat ui-ux 2 weeks ago

Data Import wizard matches Desk

*(Listed under Refactors.)*

@ps173 #44221 Read
fix framework 2 weeks ago

Leave the owner column out of report view exports

The Created By column that permission checks added to exports is removed from the file.

@michellealva #44484 Read
fix framework 2 weeks ago

Read domains added with an SSL certificate in report PDF

Fixes a TypeError when exporting a Script Report to PDF on a site with an SSL domain.

@KerollesFathy #44483 Read
fix framework 2 weeks ago

Don't send password alert on second save of a new user

Social login no longer emails a "password changed" alert to every new user on the second save.

@ssiyad #44344 Read
fix ui-ux 2 weeks ago

Short circuit websocket if in Frappe Cloud

Short circuit websocket if in Frappe Cloud

@ssiyad #44503 Read
fix ui-ux 2 weeks ago

Short circuit websocket if in Frappe Cloud

Realtime no longer calls the web server back through the CDN for auth and room checks, which the CDN blocked.

@ssiyad #44502 Read
fix framework 2 weeks ago

Keep doctype sort order for empty link search

Link dropdowns with an empty search use the DocType's sort field and order instead of alphabetical order.

@KerollesFathy #44448 Read
fix framework 2 weeks ago

Fall back to document name when title field is empty

Fall back to document name when title field is empty

@iamejaaz #44508 Read
fix framework 2 weeks ago

Don't count unsubscribed emails as newsletter recipients

Newsletters no longer stay on "Sending" forever when group members have unsubscribed.

@iamejaaz #44521 Read
fix framework 2 weeks ago

Queue every bulk email before sending

Queue every bulk email before sending

@iamejaaz #44519 Read
fix framework 2 weeks ago

Queue every bulk email before sending

Queue every bulk email before sending

@iamejaaz #44520 Read
fix framework 2 weeks ago

Use values passed to dialog primary actions

Dialog actions use the values the dialog passes in, so "Missing Values Required" no longer appears when all fields are filled.

@barredterra #44527 Read
fix framework 2 weeks ago

Preserve child-table rows in report view export

Preserve child-table rows in report view export

@Shllokkk #44452 Read
HR 9k 3 updates
fix hr-payroll 2 weeks ago

Select employee before advance account

Select employee before advance account

@iamkhanraheel #5428 Read
fix hr-payroll 2 weeks ago

Expense claims: allow roles with write access to create claims for other employees

Expense claims: allow roles with write access to create claims for other employees

@iamkhanraheel #5407 Read
fix hr-payroll 2 weeks ago

Validate records in attendance, leave expiry and roster methods (v15)

Adds record-level validation to the attendance, leave expiry and roster methods.

@iamkhanraheel #5450 Read
CRM 3.9k 14 updates
feat crm-sales 2 weeks ago

Data import page built on the new framework components

*(Listed under Refactors.)*

@ps173 #3009 Read
feat crm-sales 2 weeks ago

Shorter, consistent settings page descriptions and titles

Shorter, consistent settings page descriptions and titles

@michellealva #3031 Read
feat crm-sales 2 weeks ago

Group leads and deals into a summary with counts and totals

Adds a Group button to Leads and Deals list views with counts and aggregates, saved on the view.

@michellealva #3043 Read
feat crm-sales 2 weeks ago

Tidy up enrichment settings layout

Tidy up enrichment settings layout

@ps173 #3051 Read
feat crm-sales 2 weeks ago

Enrich button states, undo and enriched-field icons

Disables Enrich without a website, shows progress, and asks before re-enriching a record.

@Shindhu-Ramaswamy #3017 Read
feat crm-sales 2 weeks ago

Data enrichment for Lead, Deal and Organization

Backports the data enrichment feature with its sitemap, settings and button changes.

@ps173 #3059 Read
feat crm-sales 2 weeks ago

Migrate to frappe-ui 1.0.0-rc.2

*(Listed under Refactors.)*

@ps173 #3052 Read
feat crm-sales 2 weeks ago

Make kanban activity counts clickable in Leads and Deals

Clicking a count on a Kanban card opens the record on that tab.

@Shindhu-Ramaswamy #2986 Read
fix crm-sales 2 weeks ago

Show users in email multiselect

The users list was always empty because a Pinia store value was destructured without storeToRefs.

@ps173 #3072 Read
fix crm-sales 2 weeks ago

Replace removed surface-modal tokens

Swaps removed tokens for surface-elevation-2 so grid rows and workflow error nodes are no longer transparent.

@ps173 #3071 Read
fix crm-sales 2 weeks ago

Use EmailMultiSelect from develop for email and user inputs

Replaces the old recipient inputs with the develop component, whose dropdown had a transparent background.

@ps173 #3070 Read
fix crm-sales 2 weeks ago

Enrichment edge cases

Enrichment edge cases

@ps173 #3064 Read
fix crm-sales 2 weeks ago

Keep lead notes visible in deal activity groups

Keep lead notes visible in deal activity groups

@ps173 #3063 Read
fix crm-sales 2 weeks ago

Tighten access checks on enrichment runs

Tighten access checks on enrichment runs

@ps173 #3062 Read
LMS 3.3k 4 updates
feat other-apps 2 weeks ago

Make course and batch creation easier to find

Adds New Course and New Batch buttons beside their Import menus.

@pateljannat #2983 Read
fix other-apps 2 weeks ago

Let enrolled students open unpublished courses

Course detail no longer redirects enrolled students away from a course that was unpublished.

@harshpwctech #2972 Read
fix other-apps 2 weeks ago

Nine small bugs surfaced by the test cleanup

Nine small bugs surfaced by the test cleanup

@raizasafeel #2968 Read
fix other-apps 2 weeks ago

Live classes use only the batch's or your own conferencing account, and only instructors schedule

Stops anyone from using another member's Zoom or Meet account, and removes scheduling rights from batch evaluators.

@pateljannat #2982 Read
Insights 1k 3 updates
fix other-apps 2 weeks ago

Validate json_value and keep the string null

Validate json_value and keep the string null

@nextchamp-saqib #1511 Read
fix other-apps 2 weeks ago

Validate json_value and keep the string null

Validate json_value and keep the string null

@nextchamp-saqib #1509 Read
fix other-apps 2 weeks ago

Match ERPNext dashboard templates to ERPNext reports

Aligns AR/AP, cash flow and other dashboard templates with the ERPNext reports users compare them against.

@nextchamp-saqib #1503 Read
p Press 575 6 updates
fix other-apps 2 weeks ago

Send the storage limit notice to sites at 100% or more

Send the storage limit notice to sites at 100% or more

@regdocs #7762 Read
fix other-apps 2 weeks ago

Don't chown Docker's data dir recursively

Don't chown Docker's data dir recursively

@regdocs #7666 Read
fix other-apps 2 weeks ago

Mint the OAuth state on click and allow 30 minutes

Mint the OAuth state on click and allow 30 minutes

@regdocs #7770 Read
fix other-apps 2 weeks ago

Correct OCI firewall attachment and detachment

Correct OCI firewall attachment and detachment

@20vikash #7767 Read
fix other-apps 2 weeks ago

Keep asset store access out of the build

Keep asset store access out of the build

@regdocs #7755 Read
fix other-apps 2 weeks ago

Open deploys, dependencies and jobs to support agents

Support Access grants now cover the pipelines, builds and jobs under a release group or site, so agents can debug failed deploys.

@ssiyad #7772 Read
p Payments 180 1 update
fix integrations 2 weeks ago

Authenticate M-Pesa account balance callbacks with a per-request token

Adds the same per-request token check to the account balance callback.

@diptanilsaha #265 Read
o Other 37 updates
feat ui-ux 2 weeks ago

Add Stepper component

Adds a Stepper for ordered flows and jobs, with vertical, clickable and state options.

@shahzeelahmed #1276 Read
feat other-apps 2 weeks ago

Cargo telemetry setup

Cargo telemetry setup

@Aradhya-Tripathi #94 Read
feat other-apps 2 weeks ago

Add Datum token push and Cargo telemetry setup

Pushes a Datum token to Cargo so it can report its metrics, and rotates it.

@Aradhya-Tripathi #492 Read
feat other-apps 2 weeks ago

Let agents configure site access

The agent guide now covers the auth commands, and agents log in with --oauth.

@ankush #66 Read
feat other-apps 2 weeks ago

Create India-specific payroll configurations in job offer compensation

Adds EFP and ESI fields to the job offer compensation section.

@asmitahase #130 Read
feat other-apps 2 weeks ago

Tighter thread view, list and sidebar

Tighter thread view, list and sidebar

@krantheman #996 Read
feat other-apps 2 weeks ago

Authenticate to Suite Cloud as a tenant

Replaces Suite Site with Suite Tenant, authenticated by id and secret.

@s-aga-r #27 Read
feat other-apps 2 weeks ago

Authenticate to Suite Cloud as a tenant

Suite Settings holds a tenant id and secret, and the client uses the Tenant authorization header.

@s-aga-r #1012 Read
feat other-apps 2 weeks ago

Faster migrations

Adds an optional memory snapshot migration so running VMs resume their state; disk-only remains the default.

@the-bokya #375 Read
feat other-apps 2 weeks ago

Backport observability and BMC telemetry

Backport observability and BMC telemetry

@tanmoysrt #395 Read
feat other-apps 2 weeks ago

Monitor host hardware through the BMC

Reads BMC health, sensors and event logs over Redfish every 5 minutes and sends them to Datum.

@tanmoysrt #390 Read
feat other-apps 2 weeks ago

Push Atlas and Metal telemetry to Datum

Sends host, VM, migration and error metrics to the regional Datum, and installs Vector on each host.

@tanmoysrt #386 Read
feat other-apps 2 weeks ago

Move migration traffic from WireGuard to the private network

Migration traffic uses the private IPv4 address by default, with a setting to move it back to WireGuard.

@the-bokya #396 Read
feat other-apps 2 weeks ago

Show the Vector install of Configure Telemetry as an SSH Task

The Vector install now runs as a visible SSH Task, and the button asks for confirmation first.

@tanmoysrt #397 Read
feat other-apps 2 weeks ago

Add a Re-install Firewall action to Metal Server

Re-applies the host firewall without restarting metald.

@tanmoysrt #412 Read
feat other-apps 2 weeks ago

Add an In Maintenance flag to Metal Server

Hosts marked In Maintenance get no new VMs while their existing VMs keep running.

@tanmoysrt #420 Read
feat other-apps 2 weeks ago

Show the discussion sort dropdown in spaces too

Spaces share one saved sort preference with the community feed.

@Jeesha09 #613 Read
feat other-apps 2 weeks ago

Skip the backup and migrate when no app change needs a migrate

Code- or asset-only updates skip the site backup and migrate, and only apps that need a migrate trigger one.

@tanmoysrt #650 Read
fix other-apps 2 weeks ago

Ensure webhook secrets are stored

Ensure webhook secrets are stored

@Aradhya-Tripathi #493 Read
fix other-apps 2 weeks ago

Install split for datum installation

Install split for datum installation

@Aradhya-Tripathi #645 Read
fix other-apps 2 weeks ago

Open the matching Central page from each cloud settings link

Change plan, server logs and billing links now point to the right Central pages.

@prathameshkurunkar7 #647 Read
fix other-apps 2 weeks ago

Do not count warm image units when a metald upgrade checks its VMs

Stops a metald upgrade from restoring the old build on healthy hosts because a warm image build unit looked like a lost VM.

@tanmoysrt #408 Read
fix other-apps 2 weeks ago

Repair BMC power control and guard the VM migration network change

Supports BMCs that list reset types in ActionInfo and avoids a blocking BMC call on every Metal Server form load.

@tanmoysrt #402 Read
fix other-apps 2 weeks ago

Announce a public address when a host claims it

Sends a gratuitous announcement so the provider router updates to the new host when a static public IP moves.

@tanmoysrt #417 Read
fix other-apps 2 weeks ago

Cold boot a VM whose saved state no longer fits Firecracker

A saved state that differs only in Firecracker build or CPU template is treated as no saved state, so the VM cold boots after a metald upgrade.

@tanmoysrt #404 Read
fix other-apps 2 weeks ago

Do not fail a kill when systemd only fails the auxiliary signal

A kill that systemd partly fails is treated as done, so stuck migrations in cutting_over can finish.

@tanmoysrt #415 Read
fix other-apps 2 weeks ago

Release the VM lock of a migration that ended without settle

A VM locked by a migration that was hand-edited to a finished state is unlocked by the migration worker.

@tanmoysrt #410 Read
fix other-apps 2 weeks ago

Undo brings back a draft's last edits and takes folder ticks back in All Inboxes

Undo brings back a draft's last edits and takes folder ticks back in All Inboxes

@krantheman #1011 Read
fix other-apps 2 weeks ago

Reload screen when the IronCalc worker crashes

Shows a reload screen instead of freezing when the spreadsheet worker dies, since reloading restores the last saved copy.

@krishpinto #1002 Read
fix other-apps 2 weeks ago

Don't count unsubscribed emails as newsletter recipients

Don't count unsubscribed emails as newsletter recipients

@iamejaaz #20 Read
fix other-apps 2 weeks ago

Don't count unsubscribed emails as newsletter recipients

Don't count unsubscribed emails as newsletter recipients

@iamejaaz #19 Read
fix other-apps 2 weeks ago

Fix TLS, database sizing, realtime and task recovery bugs

Fixes a version-16 bench install failure, a lost site after a failed certificate, and several realtime and task recovery bugs found on a test VM.

@tanmoysrt #643 Read
fix other-apps 2 weeks ago

Say "left" when the only admin removes themselves

The admin-handover system message now says the member left, not that they were removed by themselves.

@nikkothari22 #2310 Read
fix other-apps 2 weeks ago

Accept the self-signed certificate of a BMC

The Redfish client stops verifying BMC TLS certificates so requests succeed; password authentication stays, but TLS is no longer verified.

@tanmoysrt #400 Read
fix other-apps 2 weeks ago

Student records access and SQL injection hardening

Stops students from reading other students' records and replaces SQL built with string formatting.

@tuwafula #516 Read
fix other-apps 2 weeks ago

Recover VM migrations after host failures

Recovers committed memory migrations after the destination host is lost by recreating networking and cold-booting the current disk, and keeps failure causes and cancellation accurate.

@the-bokya #411 Read
fix other-apps 2 weeks ago

Save before reload or tab close

Starts a save on beforeunload when there are unsaved sheet edits, so the last couple of seconds of edits survive a reload or closed tab.

@krishpinto #1001 Read

Wednesday, October 14

ERPNext 40.6k 43 updates
fix accounting 2 weeks ago

Take back additional costs on Subcontracting Receipt returns (backport #59913)

Takes back additional costs on Subcontracting Receipt returns, so they are not spread over rejected rows again.

@mihir-kandoi #60472 Read
fix accounting 2 weeks ago

Quality Management bug review fixes (backport #59872)

v16 hotfix backport of the Quality Management fixes.

@mihir-kandoi #60484 Read
fix accounting 2 weeks ago

Quality Management bug review fixes (backport #59872)

Keeps scheduled quality reviews open until reviewed, creates one review per goal and day, and reviews quarterly goals on their date.

@mihir-kandoi #60483 Read
fix accounting 2 weeks ago

Keep Include Closed Orders out of the other trends reports (backport #59912)

v16 hotfix backport of the trends report fix.

@mihir-kandoi #60481 Read
fix accounting 2 weeks ago

Keep Include Closed Orders out of the other trends reports

The Include Closed Orders option applies only to its own report.

@mihir-kandoi #60480 Read
fix accounting 2 weeks ago

Translate document type labels in Sales Analytics "All" view (backport #60575)

v15 backport of the translation fix.

@mihir-kandoi #60576 Read
fix accounting 2 weeks ago

Translate document type labels in Sales Analytics "All" view

Document type names in the Sales Analytics "All" view are translated into the user's language.

@mihir-kandoi #60575 Read
fix accounting 2 weeks ago

Fixes for review findings on the maintenance and projects backports

A schedule where every day is a holiday is refused with a message, instead of putting visits on a holiday.

@mihir-kandoi #60563 Read
fix accounting 2 weeks ago

Skip schedule date reset when the doctype has no such field

Changing a Supplier Quotation's date no longer fails with "Field schedule_date not found" on v15.

@mihir-kandoi #60560 Read
fix accounting 2 weeks ago

Fixes for review findings on the projects backports

Set Project Status closes tasks without moving the planned dates of their dependents.

@mihir-kandoi #60505 Read
fix accounting 2 weeks ago

Buying Settings and Supplier bug review fixes (backport #59871)

v16 hotfix backport of the Buying Settings fixes.

@mihir-kandoi #60507 Read
fix accounting 2 weeks ago

Buying Settings and Supplier bug review fixes (backport #59871)

Applies blanket order allowance, skips receipt checks on returns and stock-updating invoices, and honours disabled suppliers.

@mihir-kandoi #60506 Read
fix accounting 2 weeks ago

Supplier Scorecard bug review fixes (backport #59869)

v16 hotfix backport of the Supplier Scorecard fixes.

@mihir-kandoi #60504 Read
fix accounting 2 weeks ago

Supplier Scorecard bug review fixes (backport #59869)

Validates scorecard formulas with zero variables and manual periods, and counts only submitted orders in late days.

@mihir-kandoi #60503 Read
fix accounting 2 weeks ago

Purchase reports bug review fixes (backport #59865)

v16 hotfix backport of the purchase reports fixes.

@mihir-kandoi #60475 Read
fix accounting 2 weeks ago

Purchase reports bug review fixes (backport #59865)

Includes child item groups in the purchase history filter, runs without dates, and counts analytics quantities in stock UOM.

@mihir-kandoi #60474 Read
fix accounting 2 weeks ago

Keep Procurement Tracker actual cost in company currency (backport #59911)

Keeps Procurement Tracker actual cost in company currency.

@mihir-kandoi #60478 Read
fix accounting 2 weeks ago

Procurement Tracker and subcontracting reports bug review fixes (backport #59868)

v16 hotfix backport of the Procurement Tracker fixes.

@mihir-kandoi #60477 Read
fix accounting 2 weeks ago

Procurement Tracker and subcontracting reports bug review fixes (backport #59868)

Lists every Purchase Order line, adds up every invoice in actual cost, and keeps unordered request rows.

@mihir-kandoi #60476 Read
fix accounting 2 weeks ago

Purchase Order bug review fixes (backport #59832)

v16 hotfix backport of the Purchase Order fixes.

@mihir-kandoi #60468 Read
fix accounting 2 weeks ago

Purchase Order bug review fixes (backport #59832)

Resets the Sales Order delivery on drop-ship cancel, refuses UOM changes on received rows, and links inter-company orders.

@mihir-kandoi #60467 Read
fix accounting 2 weeks ago

Follow-up fixes for the bug review PRs (backport #60280)

v16 hotfix backport of the follow-up fixes.

@mihir-kandoi #60466 Read
fix accounting 2 weeks ago

Follow-up fixes for the bug review PRs (backport #60280)

Counts packed qty on Delivery Note returns, treats empty project fields as unset on time logs, and checks BOM required qty per raw material.

@mihir-kandoi #60465 Read
fix accounting 2 weeks ago

Projects reports bug review fixes (backport #59863)

Groups issued items by project, counts update-stock invoices as delivered, and leaves cancelled and template tasks out of delayed tasks.

@mihir-kandoi #60494 Read
fix accounting 2 weeks ago

Timesheet bug review fixes (backport #59867)

Bills the right time logs, uses the timesheet currency and exchange rate, and computes amounts when no activity rate is found.

@mihir-kandoi #60461 Read
fix accounting 2 weeks ago

Projects masters and settings bug review fixes (backport #59864)

v15 backport of the projects masters fixes.

@mihir-kandoi #60495 Read
fix accounting 2 weeks ago

Projects masters and settings bug review fixes (backport #59864)

Checks activity cost uniqueness per employee, refuses disabled activity types and templates, and validates project template tasks.

@mihir-kandoi #60459 Read
fix accounting 2 weeks ago

Task bug review fixes (backport #59870)

Reschedules dependent tasks, allows timesheets outside expected dates, clears Overdue when dates move, and allows deleting subtasks.

@mihir-kandoi #60498 Read
fix stock-manufacturing 2 weeks ago

Fix YouTube batch update and read video ids from all URL forms

The batch YouTube statistics update now writes to the Video it matches, and video ids are read from every URL form.

@nabinhait #59962 Read
fix accounting 2 weeks ago

Export linked contacts and addresses with records

Customer and Supplier exports include their linked Contacts and Addresses, so the file can be edited and imported back.

@sumitjain236 #60142 Read
fix accounting 2 weeks ago

Accept supplier invoice date objects

Accepts a date object for the supplier invoice date, so Purchase Invoices created from Purchase Receipts with a custom date field no longer fail.

@Pandiyan5273 #60437 Read
fix accounting 2 weeks ago

Support favorite articles page views

Web Page View queries no longer join across databases, so favourite article page views work with SQLite log storage.

@rameensh #60596 Read
fix stock-manufacturing 2 weeks ago

Filter Delivery Note list indicators on status

Clicking a Delivery Note indicator filters by status, not per_billed, so "To Bill" no longer also matches "Return Issued" notes.

@barredterra #60603 Read
fix accounting 2 weeks ago

Hide fully returned delivery notes in Get Items From (backport #60602)

v16 hotfix backport of the returned delivery note fix.

@barredterra #60610 Read
fix accounting 2 weeks ago

Hide fully returned delivery notes in Get Items From

Fully returned delivery notes no longer appear in Get Items From, which stopped batch invoicing with "already invoiced/returned".

@barredterra #60602 Read
fix accounting 2 weeks ago

Request for Quotation and Supplier Quotation bug review fixes (backport #59855)

Same supplier portal fixes on the v15 line.

@mihir-kandoi #60491 Read
fix accounting 2 weeks ago

Request for Quotation and Supplier Quotation bug review fixes (backport #59855)

Keeps draft and cancelled RFQs off the supplier portal, and builds portal quotations from the RFQ's own rows.

@mihir-kandoi #60490 Read
fix accounting 2 weeks ago

Add permission checks from the bug reviews (backport #59935)

Same permission checks on the v16 line.

@mihir-kandoi #60470 Read
fix accounting 2 weeks ago

Add permission checks from the bug reviews (backport #59935)

Applies permission checks to the Project Summary, Delayed Tasks Summary, Item-wise Purchase History and Purchase Order Analysis reports.

@mihir-kandoi #60469 Read
fix accounting 2 weeks ago

Check task read permission before listing its child tasks (backport #60152)

v15 backport of the child task permission check.

@mihir-kandoi #60499 Read
fix accounting 2 weeks ago

Check task read permission before listing its child tasks (backport #60152)

Checks read permission on the task before listing its child tasks.

@mihir-kandoi #60464 Read
fix stock-manufacturing 2 weeks ago

Value, date and cancel consumed stock with the repair, keep asset status in sync

Consumed stock is valued from the Stock Entry's outgoing value, so the asset value matches the GL. Cancelling a repair also reverses its consumed stock.

@nabinhait #59927 Read
fix accounting 2 weeks ago

Count all payments, use company currency and fix POS view

Payments from different sources with equal amounts are now all counted, instead of being merged by UNION. Amounts are shown in company currency.

@nabinhait #59989 Read
Frappe 11k 22 updates
feat ui-ux 2 weeks ago

Add automation canvas to framework ui

Moves the CRM workflow builder's flow canvas into the framework so any app can draw automation flows.

@shahzeelahmed #43816 Read
feat framework 2 weeks ago

Add hover reveal cells

Cells marked for hover reveal show only on the hovered or focused row, and always show on touch screens.

@nishkagosalia #44381 Read
feat framework 2 weeks ago

Add SQLite-backed virtual DocTypes for log storage

Adds the log database connection and makes Error Log, Activity Log, Access Log, Route History and Web Page View virtual DocTypes backed by SQLite.

@rameensh #43000 Read
fix framework 2 weeks ago

Keep distinct results when counting comments (backport #44391)

v15 backport of the distinct comment count fix.

@RitvikSardana #44400 Read
fix framework 2 weeks ago

Keep distinct results when counting comments

Distinct queries count comments only when they select the document's own name or *. Other distinct queries skip comment counting, so duplicate-looking rows no longer appear.

@RitvikSardana #44391 Read
fix framework 2 weeks ago

Pink, cyan and light blue indicators show as purple and blue

Pink and cyan states get their own colours, and light blue gets a lighter background than blue, so states can be told apart in lists.

@kaulith #44340 Read
fix framework 2 weeks ago

Bulk delete skips selected rows on other pages

Bulk delete removes every selected row across pages, not only the rows on the current page.

@kaulith #43513 Read
fix framework 2 weeks ago

Select all columns after unticking a shown column

In the column picker, Select All now ticks a column that was shown and then unticked.

@mainshivam #44384 Read
fix ui-ux 2 weeks ago

Letter head dropdown cut off in the print sidebar

The print sidebar fills the window height, so Link dropdowns such as Letter Head show in full.

@iamejaaz #44398 Read
fix framework 2 weeks ago

Email style with another format and font override check

Emailing with a different format uses that format's style and page settings. A non-text print font override is ignored instead of failing the print.

@iamejaaz #44372 Read
fix framework 2 weeks ago

Email format and page count on the print page

Emails from the print page use the format and letter head picked there. The page count counts HTML formats that wrap each page in .page-break.

@iamejaaz #44357 Read
fix framework 2 weeks ago

Close the empty help panel once onboarding status loads

Closes the Getting started panel once the saved onboarding status loads, if the user has already finished onboarding.

@michellealva #44355 Read
fix framework 2 weeks ago

Give a new user a username when their first name is taken

A new user whose first name matches an existing username gets the next free name, such as krishna_kumar-1, instead of an empty Username.

@sokumon #44323 Read
fix ui-ux 2 weeks ago

Postion the anchor on right side for rtl

Positions the anchor on the right side in RTL layouts, so the datepicker opens in the right place.

@Bowrna #44363 Read
fix framework 2 weeks ago

Let a failed uninstall be finished by running it again

Re-running `bench uninstall-app` after a failure now finds the remaining modules and tables, so leftover tables are no longer orphaned.

@dankgarlic1 #44335 Read
fix framework 2 weeks ago

Keep a new private page in the module it was made in

A new private page opens in the sidebar it was created from, and creating, renaming or deleting a workspace refreshes the list the router reads.

@sokumon #44394 Read
fix ui-ux 2 weeks ago

Open non-desk apps like CRM on their own page

Non-desk apps open in the same tab. Desk apps and full URLs work as before.

@TANMAY2006-UX #44365 Read
fix ui-ux 2 weeks ago

Let a title match its own module in another case

`bench migrate` no longer fails with "VAT Compliance is another module's name" when the sidebar title differs from the module name only in case.

@sokumon #44362 Read
fix ui-ux 2 weeks ago

Keep a converted sidebar off the dock of an app the site no longer has

Skips the sidebar conversion for apps the site no longer has, so `bench migrate` no longer stops at convert_custom_sidebars.

@regdocs #44274 Read
fix ui-ux 2 weeks ago

Keep a converted sidebar off the dock of an app the site no longer has (backport #44274)

Lets `bench migrate` finish when a custom module's app was removed. The converted sidebar is left off every dock.

@sokumon #44364 Read
fix framework 2 weeks ago

Make password reset keys single use

Locks the user row and clears the reset key on first use, so two parallel password updates with the same key cannot both succeed.

@sumitjain236 #44312 Read
fix framework 2 weeks ago

Stop exposing _comments through list queries (backport #42927)

v15 backport. Filtering on _comments is rejected explicitly because v15 does not check filter fields against field permissions.

@RitvikSardana #44390 Read
CRM 3.9k 5 updates
feat crm-sales 2 weeks ago

Notes refresh – view, linked record, copy link, mentions and pinning

Adds a read-only note view, shows the linked lead or deal on note cards, adds Copy link, and mentions and pinning for notes.

@michellealva #3020 Read
feat crm-sales 2 weeks ago

Let each user set the default email subject for leads and deals

Each user can set a default email subject for leads and deals in Email Settings, using fields such as organization. It can still be changed before sending.

@michellealva #3026 Read
feat crm-sales 2 weeks ago

Create a deal from a contact or organization page

Adds a New Deal button to the Contact page and the Organization page's Deals tab, with the contact and organization pre-filled.

@michellealva #3036 Read
fix crm-sales 2 weeks ago

Use the tasks icon on the empty Tasks list

The empty Tasks list shows the tasks icon from the sidebar instead of an envelope.

@michellealva #3029 Read
fix crm-sales 2 weeks ago

Keep the default view when a standard view is edited

Saving a standard view no longer resets its default setting, so a default view such as Group By keeps opening on load.

@nextchamp-saqib #3035 Read
Helpdesk 3.4k 1 update
feat other-apps 2 weeks ago

Filter the panel by read state and category

Adds All/Unread and category filters to the notifications panel, applied on the server with Load more paging through the filtered feed.

@RitvikSardana #3874 Read
LMS 3.3k 18 updates
feat other-apps 2 weeks ago

Send each step a site takes to Pulse

Sends each setup step a site takes, such as publishing a course or enrolling a learner, to Pulse, with a flag for the site's first step. Names and titles are never sent.

@pateljannat #2936 Read
fix other-apps 2 weeks ago

Refuse a first name of only spaces

The Edit Profile form rejects a first name made of only spaces before it sends the save.

@FawazAlhafiz #2944 Read
fix other-apps 2 weeks ago

Quiz rejects repeated questions

A quiz submission holds exactly one result row per question, so a total can no longer exceed score_out_of.

@raizasafeel #2945 Read
fix other-apps 2 weeks ago

Retry invites while the calendar does not push

Inviting fails while Google push is off, so the class stays in Retrying and the learners are invited once push is back on.

@raizasafeel #2941 Read
fix other-apps 2 weeks ago

Enrol program learners through the program's member table

Self-enrollment writes program member rows under a row lock, and a patch repairs rows saved under the wrong parentfield.

@raizasafeel #2940 Read
fix other-apps 2 weeks ago

Persist reordered courses

Keeps the course order from the drag and drop and saves the new order with the next Program save.

@MinHyeong-Lee #2671 Read
fix other-apps 2 weeks ago

Limit onboarding lookups to managers and whitelist the batch one

Restricts the first-course and first-batch lookups to System Managers and Moderators, and whitelists the batch lookup so its step stops returning 403.

@raizasafeel #2929 Read
fix other-apps 2 weeks ago

Keep learners' emails private on invites, and retry invites Google fails

Invites go out on a private Google event with the guest list hidden. Learners whose invite failed are retried.

@pateljannat #2928 Read
fix other-apps 2 weeks ago

Limit enrolments and lesson notes to the people they belong to

Enrolments are visible only to the learner, the course authors and the batch instructors. Lesson notes are visible only to the learner who wrote them.

@pateljannat #2942 Read
fix other-apps 2 weeks ago

Keep closed jobs and unpublished drafts out of guest reads

Closed jobs and unpublished courses and batches stay hidden from guests in lists, details and meta tags.

@raizasafeel #2946 Read
fix other-apps 2 weeks ago

Escape the invite code on the sign-up page

Escapes the invite_code query parameter on the sign-up page, which blocks markup injection from a crafted link.

@raizasafeel #2949 Read
fix other-apps 2 weeks ago

Export only course files the exporter may read

Course export includes only assets the exporter can read. This closes a path traversal through lesson upload URLs and a leak of other users' private files.

@raizasafeel #2948 Read
fix other-apps 2 weeks ago

Send no caller another user's email

LMS endpoints no longer return another user's login email in name, owner, evaluator, member or sender fields, staff included. Callers still get their own.

@raizasafeel #2950 Read
fix other-apps 2 weeks ago

Limit restricted-batch self-enrollment to that batch's staff

Only that batch's tagged instructors and evaluators, Moderators and site admins can self-enroll in a batch closed to self-enrollment.

@raizasafeel #2947 Read
fix other-apps 2 weeks ago

Keep child rows and unsaved state on program save

Saving a program keeps course rows past the 20th and keeps the unsaved badge when a save fails.

@raizasafeel #2937 Read
fix other-apps 2 weeks ago

Scope evaluation edits and show saved assignment work to graders (backport #2954)

v16 hotfix backport of the evaluation scope fix.

@raizasafeel #2958 Read
fix other-apps 2 weeks ago

Scope evaluation edits and show saved assignment work to graders (backport #2954)

v15 backport of the evaluation scope fix.

@raizasafeel #2957 Read
fix other-apps 2 weeks ago

Scope evaluation edits and show saved assignment work to graders

Checks the course and batch assignment on every evaluation save, not just create, so an evaluator cannot move a Pass onto a course or member they do not evaluate.

@raizasafeel #2954 Read
Insights 1k 5 updates
fix other-apps 2 weeks ago

Cap Frappe version range to supported versions

Limits the version-3 branch to Frappe 15 and 16, so it is not offered to Frappe 17.

@Aradhya-Tripathi #1494 Read
fix other-apps 2 weeks ago

Cap Frappe version range to supported versions

Limits the develop branch to Frappe 17 dev, so it no longer installs on Frappe 15 or 16 benches where the asset build fails.

@Aradhya-Tripathi #1493 Read
fix other-apps 2 weeks ago

Pass the marketplace semgrep check

Clears 9 blocking semgrep findings for the develop release, using the same changes as the version-3 fix.

@nextchamp-saqib #1496 Read
fix other-apps 2 weeks ago

Pass the marketplace semgrep check

Clears 34 blocking semgrep findings for the version-3 release. Endpoints that committed writes by hand now take POST, and an import job scrubs table names during validation.

@nextchamp-saqib #1497 Read
fix other-apps 2 weeks ago

Cap every DuckDB connection, never above DuckDB's default

Sets a memory limit on every DuckDB connection from the site config or 4 GB, whichever is lower. This stops a large compaction copy from being OOM-killed on insights.frappe.io.

@nextchamp-saqib #1499 Read
p Press 575 3 updates
feat other-apps 2 weeks ago

Turn the asset store back on for public groups

Same asset store change on the press line.

@regdocs #7741 Read
feat other-apps 2 weeks ago

Record when each build step ended

Adds an End Time field to Deploy Candidate Build Step, set the first time the step's DONE line is seen.

@regdocs #7745 Read
fix other-apps 2 weeks ago

Draw uptime bars as flat, evenly spaced blocks

Uptime bars are flat blocks with a fixed gap, and the date labels get their background, which bg-opacity could not apply to CSS variable colours.

@ssiyad #7735 Read
o Other 30 updates
fix other-apps 2 weeks ago

Improve team switching and usability

Team switching keeps the current section, adds a searchable team dropdown, moves Theme into the profile menu, and simplifies invitations.

@prathameshkurunkar7 #472 Read
feat other-apps 2 weeks ago

Add v16 Desk sidebar and dock for Education

Adds a v16 Desk sidebar and dock for Education.

@tuwafula #514 Read
feat other-apps 2 weeks ago

Add an enabled option to useMessages

Adds an enabled option to useMessages, default true, that stops fetching messages and joining realtime rooms when false.

@ps173 #49 Read
feat other-apps 2 weeks ago

Roll out metald builds with Metald Update

Adds a Metald Update rollout that upgrades Metal servers in batches, with a health check after each batch and state that survives format changes.

@tanmoysrt #368 Read
feat other-apps 2 weeks ago

Stamp each build step's DONE line with when it ended

Appends the UTC time to each build step's DONE line, so Press can record when each step ended.

@regdocs #634 Read
feat other-apps 2 weeks ago

Enforce prebuilt assets for all marketplace apps

Requires prebuilt assets for every marketplace app.

@Aradhya-Tripathi #35 Read
feat other-apps 2 weeks ago

Add a skill that takes a finished branch to a merge-ready PR

Adds a /ship-it skill that runs review, tests, docs, lint and PR steps in order, asking the developer only for decisions that are theirs.

@netchampfaris #26 Read
feat other-apps 2 weeks ago

Pick which UI suites run; purchase cycle browser test

Each Cypress spec declares its app, `run.js` runs only the chosen specs, and a new purchase cycle browser test is added.

@umairsy #10 Read
feat other-apps 2 weeks ago

Choose app and test suites for UI runs

Adds an app picker and test suite picker to the Run page, and marks suites whose app is not installed on the site.

@umairsy #7 Read
feat other-apps 2 weeks ago

List every recipient of a site in one paged call

Adds a site endpoint that lists every mailing list recipient in one paged call, so the index no longer uses one call per list.

@s-aga-r #20 Read
feat other-apps 2 weeks ago

Choose the Inbox's categories, and clear a list in one go

Lets each person choose which categories split their Inbox, and adds a View menu for the split.

@krantheman #984 Read
feat other-apps 2 weeks ago

Category tabs over the Inbox

Splits the Inbox into Primary, Updates, Forums and Promotions tabs, with unread counts on each.

@krantheman #982 Read
feat other-apps 2 weeks ago

Open cloud settings from the rail

Adds a Cloud Settings button to the desktop rail for Pilot-managed sites, opening Billing, Domains and Advanced.

@prathameshkurunkar7 #2290 Read
fix other-apps 2 weeks ago

Restore usage card backgrounds

Restores the card background on server and storage usage meters so each resource stands apart.

@prathameshkurunkar7 #473 Read
fix other-apps 2 weeks ago

Harden CSI download against Sandbox's documented responses

The TDS CSI download now follows Sandbox's documented responses, so a failure shows at the download step instead of as a later filing error.

@deepeshgarg007 #138 Read
fix other-apps 2 weeks ago

Explain Frappe commands, preserve piped input, warn when development serves one site

Explains the `pilot frappe` command syntax, keeps piped input when `pilot start` runs, and warns when development serves only one site.

@netchampfaris #612 Read
fix other-apps 2 weeks ago

Build the mailing list index in two Suite Cloud calls (backport to forge/drive-layer)

Same index fix on the forge/drive-layer line.

@s-aga-r #989 Read
fix other-apps 2 weeks ago

Build the mailing list index in two Suite Cloud calls

The mailing list index reads all lists and recipients in two calls and keeps the last good index when a refresh fails.

@s-aga-r #988 Read
fix other-apps 2 weeks ago

Size image volumes to the image

Image volumes are the image size rounded up to a whole MiB, without the extra 64 MiB, so VMs whose disk equals their image size can be snapshotted.

@tanmoysrt #366 Read
fix other-apps 2 weeks ago

Default the memory snapshot disk to the rootfs size

A memory snapshot without a requested disk size uses the larger of the VM disk and the rootfs size, so the snapshot validates.

@tanmoysrt #367 Read
fix other-apps 2 weeks ago

Ensure validation failures are also pruned

Prunes the build context even when a validation error occurs.

@Aradhya-Tripathi #632 Read
fix other-apps 2 weeks ago

Show push settings from boot without asking older sites

Push settings come from boot data, so older sites do not need an extra request to show them.

@TITANiumRox #2304 Read
fix other-apps 2 weeks ago

Keep a sheet open when it opens as another closes

On Android Firefox, the poll sheet no longer closes straight after it opens from the actions sheet.

@nikkothari22 #2303 Read
fix other-apps 2 weeks ago

Serve version-3 to Frappe 15 and 16 benches

Serves the version-3 Insights release to Frappe 15 and 16 benches, and the develop release to Frappe 17 dev.

@nextchamp-saqib #38 Read
fix ui-ux 2 weeks ago

Give an installed iOS 26 app its full-screen viewport

In an installed iOS 26 app, the mobile shell fills the screen, and the tab bar's bottom padding clears the home indicator.

@netchampfaris #1289 Read
fix ui-ux 2 weeks ago

List the best search matches first

Combobox and MultiSelect rank matches inside each group, so an exact or starts-with match shows above looser matches.

@michellealva #1290 Read
fix ui-ux 2 weeks ago

Make editor menus clickable inside a Dialog and rank @mentions

@mention menus inside a Dialog can be clicked, and mention results are ranked so an exact match such as @sar shows the closest name first.

@michellealva #1288 Read
fix other-apps 2 weeks ago

Include retaining allowance in pf wages

Counts Retaining Allowance as a PF wage component, so the employee EPF deduction and the ECR export include it, as EPF Act s.6 requires.

@nareshkannasln #132 Read
fix other-apps 2 weeks ago

Validate webhook request signatures

Checks the X-Twilio-Signature header on the guest Twilio webhooks and rejects requests when the auth token is missing.

@RitvikSardana #24 Read
fix other-apps 2 weeks ago

Pass marketplace semgrep checks

Clears 8 blocking semgrep findings for Raven 3.0.0. Dynamic agent instructions now render through Frappe's sandboxed template engine.

@nikkothari22 #2301 Read

Tuesday, October 13

ERPNext 40.6k 37 updates
fix stock-manufacturing 2 weeks ago

Run negative batch report in the background

The Negative Batch Report runs in the background, so large sites don't hit the web-request timeout.

@Pandiyan5273 #60471 Read
fix stock-manufacturing 2 weeks ago

Correct work order dashboard values and translations

Duplicated Work Orders no longer show "NaN items produced", and operation statuses are translated.

@Pandiyan5273 #60442 Read
fix stock-manufacturing 2 weeks ago

Invalid depends_on expression in stock entry report view

Opening a Stock Entry preview from Report View in a fresh tab no longer fails with an invalid depends_on expression.

@Pandiyan5273 #60443 Read
fix accounting 2 weeks ago

Task status in embedded list

Task status shows correctly in the embedded list.

@nishkagosalia #60439 Read
fix accounting 2 weeks ago

Follow-up fixes for the bug review PRs

Follow-up fixes from a second review of the bug review PRs, including supplier hold, each with a test.

@mihir-kandoi #60280 Read
fix accounting 2 weeks ago

Children of every selected group and refunds of earlier credit notes

Children of every selected cost center group are included.

@nabinhait #59959 Read
fix accounting 2 weeks ago

Resolved by, closed claims, cancel with active visits and warranty status date

Five Warranty Claim bugs are fixed, including a Sales Person written into Resolved By.

@nabinhait #59951 Read
fix accounting 2 weeks ago

Fix deposit sign and paid purchase invoices

Deposits no longer show as withdrawals.

@nabinhait #59993 Read
fix accounting 2 weeks ago

Call summaries, transferred agent and linking customers and past calls

The agent who took a call can save its summary.

@nabinhait #59949 Read
fix accounting 2 weeks ago

Keep amounts at different rates in separate rows

Amounts at different withholding rates are no longer merged into one row.

@nabinhait #59938 Read
fix accounting 2 weeks ago

Return no rows for a shareholder that does not exist

A saved report for a deleted shareholder returns no rows, instead of raising an error.

@nabinhait #59937 Read
fix accounting 2 weeks ago

Show parent company as text

Permissions on a parent company no longer hide a subsidiary's rows.

@nabinhait #59936 Read
fix accounting 2 weeks ago

Drop the ageing chart when companies use different currencies

The ageing chart is dropped when companies use different currencies, instead of mixing them.

@nabinhait #59957 Read
fix accounting 2 weeks ago

Count other operating and investment income in the ratios template

The Financial Ratios Analysis template includes other operating and investment income in profit.

@nabinhait #59958 Read
fix accounting 2 weeks ago

Require API key and frequency to enable YouTube tracking

YouTube tracking can't be enabled without an API key and frequency.

@nabinhait #59966 Read
fix accounting 2 weeks ago

Count every issue in exactly one time slot

Issues created after 11 PM are counted in a slot.

@nabinhait #59965 Read
fix accounting 2 weeks ago

Correct assignee averages, SLA counts and Assigned To filter

Assignee averages no longer count missing values as zero.

@nabinhait #59963 Read
fix accounting 2 weeks ago

Periods, quarters, user permissions and assigned to filter

Periods beyond 52 are no longer cut off, and the report applies user permissions.

@nabinhait #59952 Read
fix accounting 2 weeks ago

Flag allocations to cancelled invoices and deleted vouchers

Payment ledger rows still pointing at cancelled invoices are reported.

@nabinhait #59994 Read
fix accounting 2 weeks ago

Allocate POS change once per invoice (v15 backport)

POS change is allocated once per invoice.

@krishna-254 #60297 Read
fix accounting 2 weeks ago

Recalculate totals on disable rounded total toggle

Toggling Disable Rounded Total updates Rounded Total and Rounding Adjustment immediately.

@Pandiyan5273 #60451 Read
fix accounting 2 weeks ago

Update requested quantities for subcontracting

Submitting a subcontracting Material Request updates the Sales Order Item's requested quantity, so later requests don't double-count it.

@Pandiyan5273 #60446 Read
fix stock-manufacturing 2 weeks ago

Subcontracting Order and Subcontracting BOM bug review fixes

Subcontracting Order and Subcontracting BOM bugs from the bug review are fixed, one commit and test each.

@mihir-kandoi #59874 Read
fix stock-manufacturing 2 weeks ago

Subcontracting receipt bug review fixes

Eleven Subcontracting Receipt bugs are fixed, including rejected-only rows consuming raw material.

@mihir-kandoi #59879 Read
fix stock-manufacturing 2 weeks ago

Delivery Trip bug fixes

Nine Delivery Trip bugs are fixed. A removed stop no longer leaves its Delivery Note linked to the trip.

@rohitwaghchaure #60433 Read
fix stock-manufacturing 2 weeks ago

Stock Reconciliation bug fixes

Eight Stock Reconciliation bugs are fixed, each with its own regression test.

@rohitwaghchaure #60435 Read
fix stock-manufacturing 2 weeks ago

Filter serial service contract expiry report

The Serial No service contract expiry report no longer shows consumed or delivered serials without a contract.

@Pandiyan5273 #60525 Read
fix stock-manufacturing 2 weeks ago

Correct serial ledger filters and row details

Serial Ledger includes child warehouses for a group, applies warehouse permissions to every row, and returns rows when As On Date is cleared.

@Pandiyan5273 #60524 Read
fix accounting 2 weeks ago

Split metrics, receiving inbox, list status validation, sent-mail issues and assignments

Portal users can no longer set an issue's customer or status. Those values come from the saved issue.

@nabinhait #59950 Read
fix accounting 2 weeks ago

Filter by finance book, skip closing entries

The report reads dimension values and GL entries with the user's permissions.

@nabinhait #59992 Read
fix accounting 2 weeks ago

Label the company currency total column correctly

The report keeps only rows whose Customer or Supplier the user can read.

@nabinhait #59995 Read
fix accounting 2 weeks ago

Add finance book filters to exclude other books' entries

Parties are read with the user's permissions, and the report filters by finance book.

@nabinhait #59996 Read
fix accounting 2 weeks ago

List only payments against invoices and apply user permissions

The report lists only payments and applies user permissions.

@nabinhait #59933 Read
fix accounting 2 weeks ago

User permissions, credit notes and company and date filters

Invoice totals are read with the user's permissions, so only invoices the user can read are counted.

@nabinhait #59932 Read
fix accounting 2 weeks ago

Company permission and balance sheet openings at the closing rate

The report checks read permission on every selected company before running.

@nabinhait #59931 Read
fix stock-manufacturing 2 weeks ago

Respect permissions in downtime analysis

The Downtime Analysis chart no longer shows workstation names and totals the user cannot access.

@Pandiyan5273 #60448 Read
fix accounting 2 weeks ago

Sync only the selected account and skip failing transactions

Later pages of a sync kept the account filter, so syncing one account no longer imports other accounts' transactions.

@nabinhait #59964 Read
Frappe 11k 9 updates
feat ui-ux 2 weeks ago

Add system fields to card and preview pickers

Created By, Created On, Last Updated By and Last Updated On can be shown on Kanban cards and previews.

@sumitjain236 #44328 Read
feat framework 2 weeks ago

Style picker for the standard print format

The Standard print format gets a style picker and a font choice, and paper size and orientation can be set. Email attaches the PDF with the same settings.

@iamejaaz #44232 Read
fix ui-ux 2 weeks ago

A sidebar v16 generated from an app workspace is the app's

Sidebars that v16 generated for app workspaces are now the app's own, so frappe.io no longer gets duplicate custom modules.

@sokumon #44186 Read
fix framework 2 weeks ago

Allow retrying failed app installations

A failed app install no longer blocks retries. The install is committed only after its hooks and patches run.

@dankgarlic1 #44171 Read
fix framework 2 weeks ago

Show include filters when a report print format is selected

The Include filters checkbox shows when a report print format is selected.

@iamejaaz #44313 Read
fix framework 2 weeks ago

Open shell URLs for users who cannot see the shell

A desk link naming a module the user cannot see opens the document in a visible shell, instead of showing "No permission for Page."

@sokumon #44305 Read
fix framework 2 weeks ago

Awesombar should pick the correct shell

Opening a doctype from the awesomebar switches to the sidebar it belongs to, instead of staying on the current one.

@sokumon #44332 Read
fix framework 2 weeks ago

Permission checks in workspace update_page and onboarding step update

Public workspaces can no longer be unpublished by users without roles, and the onboarding step update ignores fields other than skip and complete. Both now have tests.

@sokumon #44322 Read
fix framework 2 weeks ago

Prevent --dry-run from executing uninstall hooks

`uninstall-app --dry-run` no longer runs the app's before and after uninstall hooks, which could commit or change files.

@dankgarlic1 #44174 Read
HR 9k 2 updates
feat hr-payroll 2 weeks ago

Show Holiday List Assignment in Holiday List connections

The Holiday List connections tab shows which employees and companies use the list.

@akhtarmohsin #5397 Read
fix hr-payroll 2 weeks ago

Update telemetry milestone claim to hide duplicate name message

Saving a second document no longer shows a red duplicate-name dialog for a telemetry milestone that already exists.

@nareshkannasln #5331 Read
CRM 3.9k 1 update
fix crm-sales 2 weeks ago

Skip desk setup wizard for Frappe Cloud signups

Frappe Cloud signups skip the desk setup wizard, since their details were already saved.

@shahzeelahmed #3012 Read
LMS 3.3k 3 updates
feat other-apps 2 weeks ago

Polish save tooltip, preview badge and lesson title focus ring

The save tooltip is plain text, the preview badge uses theme colors, and the lesson title has a focus ring.

@raizasafeel #2916 Read
fix other-apps 2 weeks ago

Assessment placement scope and settings review findings

Placing another author's assessment in your lesson no longer makes it editable. Write, delete and share stay with its authors.

@raizasafeel #2918 Read
fix other-apps 2 weeks ago

Inverted discount calculation for fixed amount coupons

Fixed-amount coupons were charging the coupon value instead of the price minus the discount. A ₹1,000 course with a ₹200 coupon now charges ₹800.

@rs-rethik #2896 Read
b Builder 2.5k 4 updates
feat ui-ux 2 weeks ago

Install extensions from Builder Hub and manage them in the editor

Extensions install from Builder Hub in a queued job, and an Extensions panel is added to the editor.

@stravo1 #955 Read
feat ui-ux 2 weeks ago

Let an extension create and change its own doctypes

Extensions can create, read, update and delete their own custom doctypes, with a permission check and a confirmation dialog.

@stravo1 #954 Read
feat ui-ux 2 weeks ago

Let extensions edit the page and add more surfaces

Extensions get methods to edit documents, blocks, state and windows, plus a context menu, property sections, a left panel tab and a settings page.

@stravo1 #953 Read
feat ai 2 weeks ago

Bob / commands for models, providers and credits

AI settings move from the Settings dialog into Bob's composer as slash commands, such as /model, with a single menu.

@surajshetty3416 #946 Read
Insights 1k 1 update
fix other-apps 2 weeks ago

Copy every row at a cursor value an import stops on

Table Import no longer skips rows that share the cursor value where it stopped, either within a run or in later runs. Second-precision and date cursors were the usual cases.

@nextchamp-saqib #1489 Read
o Other 21 updates
fix other-apps 2 weeks ago

Restore beta releases with npm trusted publishing

The beta publish workflow uses GitHub Actions OIDC instead of the expired npm token.

@netchampfaris #437 Read
feat other-apps 2 weeks ago

Allow data from central site

Cargo can take data from the central site.

@Aradhya-Tripathi #77 Read
feat other-apps 2 weeks ago

Upload download delete S3 actions

S3 upload, download and delete actions are added.

@Aradhya-Tripathi #463 Read
feat other-apps 2 weeks ago

Show the free trial end in the billing panel

The billing panel shows when a free trial ends, and the data deletion date for stopped trial sites.

@prathameshkurunkar7 #619 Read
feat other-apps 2 weeks ago

Frappe-ui style axis, bars, legend and tooltip

Axis charts get rounded bars, a nicer Y-axis step, a dotted grid, a new legend, and a tooltip beside the hovered column.

@khushi8112 #435 Read
feat ui-ux 2 weeks ago

Find the bench for an app linked into apps/

An app symlinked into a bench's apps folder builds and runs in Vite dev.

@netchampfaris #1283 Read
feat other-apps 2 weeks ago

Schedule posts

Discussion drafts can be scheduled to publish later, and stay editable until then.

@Jeesha09 #590 Read
feat other-apps 2 weeks ago

Setup Raven Cloud via Frappe Cloud

Raven turns on push notifications through Frappe Cloud, with no sign-up or key pasting.

@prathameshkurunkar7 #2291 Read
fix other-apps 2 weeks ago

Show what matched in recipient suggestions

Recipient suggestions show the matched text in bold and read the address at the row's own size.

@krantheman #978 Read
feat other-apps 2 weeks ago

Select threads in All accounts

Threads can be selected across all accounts, with bulk actions that run per account.

@krantheman #977 Read
feat other-apps 2 weeks ago

IronCalc as the only engine; remove the old engine

IronCalc is the only spreadsheet engine in Sheets, and the old JS engine files are removed.

@krishpinto #972 Read
feat other-apps 2 weeks ago

Add hostels, room booking, and buildings and floors for rooms

Adds hostel management with term-based billing, room booking, and a Building and Floor structure. Room becomes the single room master, and a patch merges Class Room into it.

@tuwafula #512 Read
fix ui-ux 2 weeks ago

Reach the bottom edge in an iOS 26 installed PWA

The mobile shell fills the screen to the bottom edge in an installed iOS 26 PWA, and the tab bar clears the home indicator.

@netchampfaris #1284 Read
fix other-apps 2 weeks ago

Install app JS dependencies with the package manager the lockfile names

Pilot installs app JS packages with Yarn or pnpm, based on the lockfile, with a frozen install.

@netchampfaris #617 Read
fix other-apps 2 weeks ago

Resize dialog crash

The resize dialog no longer crashes.

@prathameshkurunkar7 #461 Read
fix other-apps 2 weeks ago

Ignore aborted requests when loading resize options

An aborted catalog request no longer shows "Couldn't load resize options" over valid data.

@prathameshkurunkar7 #462 Read
fix other-apps 2 weeks ago

Refetch the open channel after background when its window is deep or was jumped to

An open channel reloads after the app returns from background, even if its window was deep or jumped to.

@TITANiumRox #2281 Read
fix other-apps 2 weeks ago

Hide spaces the user cannot open from the space switcher

The space switcher lists only published spaces the user can read.

@gajjug004 #861 Read
fix other-apps 2 weeks ago

Await draft commit before closing edit mode

Saving a comment edit waits for the draft commit before closing edit mode, so the draft row is not left behind.

@ebrahimgamdiwala #600 Read
fix other-apps 2 weeks ago

Set allmulticast on the mesh uplink in host setup

Hosts with Broadcom bnxt_en NICs use allmulticast instead of promiscuous mode, because firmware 214 blocks receive traffic in all-multicast mode. Mumbai hosts now run firmware 230, which fixes the stall.

@tanmoysrt #359 Read
fix other-apps 2 weeks ago

Close the gaps in the product trial lifecycle

The trial starts when Central records the site, readiness is recorded by a background probe, and failing steps are retried. This stops free servers from running with no end date and paying customers' servers from being stopped after a failed conversion.

@prathameshkurunkar7 #470 Read

Monday, October 12

ERPNext 40.6k 7 updates
fix accounting 2 weeks ago

Require company

The Company filter is now mandatory, so the report always runs for one company.

@nabinhait #59939 Read
fix stock-manufacturing 2 weeks ago

Use the quality inspection's own template for job card criteria

Job Card inspections judge readings against the quality inspection's own template, not the Item's.

@rohitwaghchaure #60412 Read
fix stock-manufacturing 2 weeks ago

Inventory Dimension bug fixes

Fixes 5 bugs, including a mandatory dimension being created as optional because the document field's dict was mutated.

@rohitwaghchaure #60164 Read
fix stock-manufacturing 2 weeks ago

Delivery Note bug fixes

Fixes 8 Delivery Note bugs from the bug review, each with a regression test.

@rohitwaghchaure #60413 Read
fix stock-manufacturing 2 weeks ago

Repost Item Valuation bug fixes

Fixes 6 bugs, including a backdated entry submitted during a running repost losing its own repost.

@rohitwaghchaure #60407 Read
fix stock-manufacturing 2 weeks ago

Serial and Batch Bundle bug fixes

Fixes 4 bugs, including a standalone bundle changing batch valuation without a Stock Ledger Entry.

@rohitwaghchaure #60423 Read
fix stock-manufacturing 2 weeks ago

Pick List bug fixes

Fixes 15 Pick List bugs, including Delivery Note and Sales Invoice overwriting each other's delivered qty. Each fix has a regression test.

@rohitwaghchaure #60425 Read
Frappe 11k 11 updates
fix ui-ux 2 weeks ago

Bar_list hover tooltip and layout polish

Adds a hover tooltip with name and tooltip_format options, lets the chart fill its host's height, and thickens the bars.

@khushi8112 #44226 Read
feat ui-ux 2 weeks ago

Composer allowedFileTypes and attachments slot, align trailing labels

Adds an allowedFileTypes prop to the composer that filters picked files, and an attachments slot so hosts can render their own attachment chips.

@aerodeval #43059 Read
fix ui-ux 2 weeks ago

Centre activity timeline loading and empty states, stop load-more flash

Centres the loading and empty states in the activity timeline and stops the "Show previous activity" control flashing over cached rows.

@aerodeval #44122 Read
fix ui-ux 2 weeks ago

Settings dialog layout on mobile

On small screens the settings tabs become a scrollable row above full-width content.

@KerollesFathy #44261 Read
fix framework 2 weeks ago

Default margins for classic formats converted at print time

Classic formats with all margins at 0 now print with the default margins instead of flush against the paper edge.

@iamejaaz #44260 Read
fix framework 2 weeks ago

Use the print format's @page margin in chrome pdfs

Chrome PDFs use the @page margin from the print format's CSS. Values that cannot be converted fall back to 15mm.

@iamejaaz #44263 Read
fix framework 2 weeks ago

Convert inch lengths in convert_uom

Restores PDF downloads for print formats with inch @page margins, which had broken since #44255.

@iamejaaz #44270 Read
fix ui-ux 2 weeks ago

Show the help center when onboarding completes after the help modal mounts

The help modal could stay on "Getting started" and show an empty panel if onboarding completed after it mounted. It now switches to the Help center.

@RitvikSardana #44288 Read
fix ui-ux 2 weeks ago

Build web-process URL from server config

The realtime server builds the web-process URL from webserver_host, or 127.0.0.1:webserver_port, instead of the incoming connection. Tenant routing still uses the site-name header.

@ShrihariMahabal #44282 Read
fix framework 2 weeks ago

Use shared request session

Webhook requests use the shared session, and scheduled retries are preserved.

@ShrihariMahabal #44283 Read
fix framework 2 weeks ago

Leave report scripts out of the pdf header and footer

Report PDF headers, footers and bodies drop scripts and inline event handlers before the pages are built; page numbers still work.

@iamejaaz #44256 Read
Helpdesk 3.4k 2 updates
fix other-apps 2 weeks ago

Opening a ticket doesn't clear its notification count

Tickets are marked seen on every switch and on mobile, and the sidebar count refreshes. Needs frappe/frappe#43658.

@kaulith #3818 Read
fix other-apps 2 weeks ago

Customer manager portal permissions

Customer Manager invitees get both the HD Customer and HD Customer Manager roles, and doctype permissions are added so they can open tickets instead of seeing "Ticket not found".

@Abinand-KR #3821 Read
b Builder 2.5k 1 update
feat ui-ux 2 weeks ago

Add the extension protocol, frame host and toolbar surface

Adds the editor-to-extension protocol, the frames that run extensions, a dev loader, and toolbar buttons as the first extension surface.

@stravo1 #943 Read
p Press 575 1 update
feat other-apps 2 weeks ago

Add Skip Migrate option for the restore on destination

Adds a Skip Migrate check to Site Migration, so a site can move even when migrate would fail on the destination.

@regdocs #7730 Read
o Other 18 updates
feat other-apps 2 weeks ago

Sync docs-site repos without Markdown changes

Git-synced spaces can take docs-site repos as they are: root-relative links resolve, sidebar URLs keep their intended slugs, and the sidebar and page titles are handled without edits.

@NagariaHussain #856 Read
feat other-apps 2 weeks ago

Allow skipping migrate in New Site from Backup

The restore endpoint accepts an optional skip_migrate flag, so migrate can be run later.

@regdocs #626 Read
feat other-apps 2 weeks ago

Finish product trials

Signup sites are free for a set number of days, then stop and are later deleted. Adding a payment method converts them to paid sites and grants the welcome credit.

@prathameshkurunkar7 #456 Read
feat other-apps 2 weeks ago

Attach and detach public addresses with IPv4 billing

Teams can attach or detach public IPv4 (billed monthly) and IPv6 (free) addresses from the Networking tab.

@prathameshkurunkar7 #455 Read
feat other-apps 2 weeks ago

Edit ssh keys and termination protection on a server

Adds SSH key editing through the Atlas tenant API and a lock button to turn termination protection on or off.

@prathameshkurunkar7 #452 Read
feat other-apps 2 weeks ago

Edit the firewall of a server

Adds a server:network capability and a Networking tab to view, edit and copy a server's firewall. Changes are sent to Atlas.

@prathameshkurunkar7 #453 Read
fix other-apps 2 weeks ago

Simplify firewall edits and correct resize selection

Resize cards, the summary and the submitted target agree on storage, and firewall entries are edited inline with explicit pending changes.

@prathameshkurunkar7 #459 Read
fix ui-ux 2 weeks ago

Expose an accessible name on the progressbar

The progressbar gets an aria-label from the label prop, or the name "Progress" when no label is given.

@Prakhar-Pandey28 #1113 Read
fix ui-ux 2 weeks ago

Discard stale suggestion popup positions

Late popup position results from overlapping runs are discarded, and a ResizeObserver repositions the popup when its height changes.

@RitvikSardana #1161 Read
fix ui-ux 2 weeks ago

Paint no fill behind an image

Subtle rail items with an image have no background fill. Items without an image keep theirs.

@netchampfaris #1272 Read
fix ui-ux 2 weeks ago

Stop echarts cutting an already shortened category label

Shortened axis labels such as "Referral…Network" display as shortened, without ECharts cutting them a second time.

@netchampfaris #1279 Read
fix ui-ux 2 weeks ago

Keep native drag payload in read-only editors

Links in read-only editors can be dragged into other fields again.

@kaulith #1104 Read
fix ui-ux 2 weeks ago

Use logical start/end instead of left/right for prefix/suffix slots

Prefix and suffix slots follow the page's text direction, so they work under dir="rtl".

@magic-peach #1230 Read
fix ui-ux 2 weeks ago

Stop media plugin sizing images and videos on document open

Width and height are added to media only after the person's own edit. Opening a document no longer changes it.

@GursheenK #1266 Read
fix ui-ux 2 weeks ago

Correct the checked hover state

Checked and indeterminate checkboxes lighten on hover and press, and the non-padded control stays flat.

@jacob-salvi #1186 Read
fix ui-ux 2 weeks ago

Re-emit doctype_subscribe on socket (re)connect

Realtime list and document resources keep receiving updates after a reconnect. Subscriptions are tracked per socket.

@waterWang #1105 Read
fix other-apps 2 weeks ago

Leave the uplink receive mode to host setup

WG Mesh no longer sets allmulticast on the private uplink, which stalls bnxt_en NICs; host setup now chooses the receive mode.

@tanmoysrt #354 Read
fix other-apps 2 weeks ago

Keep bnxt_en uplinks in promiscuous mode

Sets promiscuous mode on Broadcom bnxt_en uplinks before each metald start and blacklists bnxt_re, so hosts with that NIC stop going offline once they run more than about 16 VMs.

@tanmoysrt #355 Read

Sunday, October 11

ERPNext 40.6k 29 updates
fix accounting 2 weeks ago

Prepare pdf tests and formats for chrome-only rendering

Bank statement tests and the Proforma Invoice format use `get_pdf` with Chrome, and CI installs Chromium, so ERPNext works once wkhtmltopdf is removed.

@iamejaaz #60405 Read
fix stock-manufacturing 2 weeks ago

Validate opening stock serial and batch settings

Opening stock for serialized or batched items is now validated against the naming settings, so it no longer gets silently skipped. Also stops a background job from being queued when it would create no stock.

@Pandiyan5273 #60319 Read
fix stock-manufacturing 2 weeks ago

Allow stock users to submit linked purchase receipts

Stock Users can submit a Purchase Receipt linked to a Production Plan through a subcontracting Purchase Order, because the receipt no longer needs write access to the plan.

@Pandiyan5273 #60322 Read
fix accounting 2 weeks ago

Match the file country code to the stored lowercase code

Import Supplier Invoice now matches uppercase Italian country codes on PostgreSQL, so it no longer fails on every file.

@mihir-kandoi #60345 Read
fix stock-manufacturing 2 weeks ago

Delivery Settings bug fixes

Delay between Delivery Stops can no longer be negative, which made ETAs go backwards. Fixes two bugs in total.

@rohitwaghchaure #60131 Read
fix stock-manufacturing 2 weeks ago

Shipment Parcel Template bug fixes

Stock Manager can now use Add Template on a Shipment. Fixes two bugs in total.

@rohitwaghchaure #60132 Read
fix stock-manufacturing 2 weeks ago

Item Variant Settings bug fixes

Allow Different UOM is no longer undone by saving a template. Fixes two bugs in total.

@rohitwaghchaure #60128 Read
fix stock-manufacturing 2 weeks ago

Item Alternative bug fixes

Substitutes used in Work Order transfers are now checked against Item Alternative and the Work Order setting, and the transfer is no longer credited to the original item. Fixes two bugs in total.

@rohitwaghchaure #60130 Read
fix stock-manufacturing 2 weeks ago

Quality Inspection Template bug fixes

A formula-based row must have a formula before the template saves. Fixes two bugs in total.

@rohitwaghchaure #60139 Read
fix stock-manufacturing 2 weeks ago

Packing Slip bug fixes

Packing slip rows must belong to the slip's own Delivery Note, so another DN's row can no longer be packed. Fixes three bugs in total.

@rohitwaghchaure #60197 Read
fix stock-manufacturing 2 weeks ago

Quality Inspection bug fixes

A row's Quality Inspection is now checked against its document and item on Delivery Note, Sales Invoice and other documents, not only Purchase Receipt. Fixes six bugs in total.

@rohitwaghchaure #60240 Read
fix stock-manufacturing 2 weeks ago

Quick Stock Balance bug fixes

Past-date qty and value now use the same cut-off, so later entries that day are counted in both. Fixes two Quick Stock Balance bugs in total.

@rohitwaghchaure #60133 Read
fix stock-manufacturing 2 weeks ago

Stock Entry Type bug fixes

Add to Transit ticked on the standard Material Transfer type no longer traps goods in transit. Fixes two Stock Entry Type bugs in total.

@rohitwaghchaure #60137 Read
fix stock-manufacturing 2 weeks ago

Item Standard Cost bug fixes

Entries before a same-day revaluation and cancelled entries are no longer skipped by the backdating rule. Fixes six Item Standard Cost bugs in total.

@rohitwaghchaure #60213 Read
fix stock-manufacturing 2 weeks ago

Item Manufacturer bug fixes

Duplicate manufacturer part numbers are now caught on edit, and the Item default is no longer cleared by a non-default row. Fixes three Item Manufacturer bugs in total.

@rohitwaghchaure #60159 Read
fix stock-manufacturing 2 weeks ago

Shipment bug fixes

Shipments from a Delivery Note are valued at the DN total including taxes, not the net item amounts. Fixes seven Shipment bugs in total.

@rohitwaghchaure #60217 Read
fix stock-manufacturing 2 weeks ago

Item Attribute bug fixes

Changing an abbreviation no longer renames variants that have a user-chosen item code. Fixes three Item Attribute bugs in total.

@rohitwaghchaure #60160 Read
fix stock-manufacturing 2 weeks ago

Warehouse bug fixes

A plain save can no longer flip a warehouse between group and ledger, and the ledger check now runs on update. Fixes eight Warehouse bugs in total.

@rohitwaghchaure #60201 Read
fix stock-manufacturing 2 weeks ago

Item Lead Time bug fixes

The scheduler no longer applies Daily Yield twice, so planned quantities are correct. Fixes five Item Lead Time bugs in total.

@rohitwaghchaure #60163 Read
fix stock-manufacturing 2 weeks ago

Serial No bug fixes

Fixes three Serial No bugs, including cancelling a Stock Reconciliation wrongly marking its serials as delivered.

@rohitwaghchaure #60162 Read
fix stock-manufacturing 2 weeks ago

Batch bug fixes

Expiry from shelf life counts from the receipt date, not today, for batches created by backdated receipts. Fixes five Batch bugs in total.

@rohitwaghchaure #60147 Read
fix stock-manufacturing 2 weeks ago

Price List bug fixes

Changing a price list's currency now converts the prices, not just the label. Fixes three Price List bugs in total.

@rohitwaghchaure #60153 Read
fix stock-manufacturing 2 weeks ago

Item Price bug fixes

Customer and batch prices now take priority over a general price with a later valid-from date. Fixes three Item Price bugs in total.

@rohitwaghchaure #60158 Read
fix stock-manufacturing 2 weeks ago

Consume alternative items in the ratio they were transferred

Duplicate of #60090 with the same change.

@rohitwaghchaure #60092 Read
fix stock-manufacturing 2 weeks ago

Consume alternative items in the ratio they were transferred

Duplicate of #60090 with the same change.

@rohitwaghchaure #60091 Read
fix stock-manufacturing 2 weeks ago

Consume alternative items in the ratio they were transferred

Splits raw material consumption between an item and its alternatives in the ratio they were transferred. Same change as #60091 and #60092.

@rohitwaghchaure #60090 Read
fix stock-manufacturing 2 weeks ago

Stock Settings bug fixes

Makes the ledger and repost logic use the Default Valuation Method correctly, so backdated entries are reposted under Standard Cost. Fixes five Stock Settings bugs in total.

@rohitwaghchaure #60205 Read
fix stock-manufacturing 2 weeks ago

Landed Cost Voucher bug fixes

Sums vendor invoice claims across vouchers instead of overwriting them, caps claims at the invoice amount, and stops cancellation from zeroing claims. Fixes four bugs in total.

@rohitwaghchaure #60207 Read
fix stock-manufacturing 2 weeks ago

Bin bug fixes

Locks the Bin row when only ordered, reserved, indented or planned qty changes, so a concurrent stock movement is no longer overwritten. Fixes three Bin bugs in total.

@rohitwaghchaure #60143 Read
Frappe 11k 10 updates
breaking framework 2 weeks ago

Refactor!: remove wkhtmltopdf and render every pdf with chrome

Removes wkhtmltopdf and pdfkit, so every PDF renders with Chrome. This is a breaking change: print formats set to wkhtmltopdf switch to Chrome on migrate, and the PDF Generator setting is removed.

@iamejaaz #44253 Read
fix framework 2 weeks ago

Close only the topmost dialog on escape

Esc on a message popup over a dialog closes only the popup, and the dialog keeps what was typed.

@iamejaaz #44234 Read
fix framework 2 weeks ago

Encode meta image url in share tags

Share previews show the page image when its file name has spaces or non-ASCII characters.

@iamejaaz #44248 Read
fix framework 2 weeks ago

Honour page breaks and Print if empty in Typst PDFs

Typst PDFs now break pages at Page Break blocks and print labels for empty "Print if empty" fields.

@iamejaaz #44243 Read
fix framework 2 weeks ago

Preview a chrome format with its own @page margin

The print preview uses a Chrome format's own `@page` margin, so it matches the PDF.

@iamejaaz #44244 Read
fix framework 2 weeks ago

Preview a chrome format with its own @page margin

The print preview uses a Chrome format's own `@page` margin, so it matches the PDF. Backport of #44244.

@iamejaaz #44246 Read
fix framework 2 weeks ago

Match Chromium for zero values and empty sections in Typst PDFs

Typst PDFs now print zero values for "Print if empty" fields and skip empty labelled sections with their page breaks, as Chromium PDFs do.

@iamejaaz #44247 Read
fix framework 2 weeks ago

Use the print format's @page margin in chrome pdfs

Chrome PDFs use the `@page` margin from a print format's Custom CSS, so they match the preview.

@iamejaaz #44255 Read
fix framework 2 weeks ago

No message when a generated pdf cannot be shrunk

Large PDFs that cannot be shrunk now fall back silently to the original, and the "Failed to optimize PDF" message shows only on uploads.

@iamejaaz #44259 Read
fix framework 2 weeks ago

Export import provider tables with records

Exports for DocTypes with an import provider fill the provider's extra tables and offer an ID column so the file can re-import as an update.

@sumitjain236 #44074 Read
b Builder 2.5k 3 updates
feat ui-ux 2 weeks ago

Compact Filter and Sort with Created by, Access and Unpublished changes filters

Status and Sort selects become a Filter popover with a count chip and a Sort menu, with new filters for creator, access and unpublished changes.

@surajshetty3416 #947 Read
fix ui-ux 2 weeks ago

Stop page client script modal from shifting on scroll

Caps the Page Client Script editor height so the modal always fits the window and no longer jumps when scrolled.

@SmrutiSawant #949 Read
fix ui-ux 2 weeks ago

Select the entire canvas on Ctrl/Cmd+A

Ctrl/Cmd+A outside a text block selects the whole canvas, not the editor UI.

@SmrutiSawant #948 Read
o Other 20 updates
feat other-apps 2 weeks ago

App Favicon, combined Settings Dialog

Studio apps get a favicon setting and can be renamed from the frontend. App and Studio settings merge into one Settings dialog.

@ruchamahabal #298 Read
feat other-apps 2 weeks ago

Build Ubuntu images from the latest release and kernel

The image builder uses the latest Ubuntu cloud image and supported kernel for each release, and adds minimal images for all versions.

@tanmoysrt #349 Read
feat other-apps 2 weeks ago

Join and leave workspaces from the mobile workspaces drawer

Users can join and leave workspaces from the mobile workspaces drawer.

@TITANiumRox #2283 Read
feat other-apps 2 weeks ago

Add chart skeletons and plan limits to usage charts

Usage charts show loading placeholders, and the CPU and memory y-axes stop at the plan limit.

@prathameshkurunkar7 #449 Read
feat other-apps 2 weeks ago

Enhance server transition animations and improve layout

Smoother transitions between servers, with the list on the right and the map in the centre.

@prathameshkurunkar7 #448 Read
feat other-apps 2 weeks ago

Add smooth slidein animation for server detail page

The server detail page slides in smoothly.

@siduck #446 Read
feat other-apps 2 weeks ago

Servers map revamped

The servers page now has an always-open list, an inset map card, a regions toggle, richer spot cards, and a map refactor. Also fixes truncated labels.

@prathameshkurunkar7 #447 Read
feat other-apps 2 weeks ago

Server page actions, clearer resize and fractional vCPU

The server page gets the server list's Actions menu, with Rename added. The resize dialog explains its choices and loads the current size on every open, and fractional vCPU sizes are supported.

@prathameshkurunkar7 #445 Read
fix other-apps 2 weeks ago

Use the chrome header template when no pdf generator is set

Letter head headers and footers stop disappearing from reports, auto email reports and email attachments when no PDF generator is set.

@iamejaaz #563 Read
fix other-apps 2 weeks ago

Bug reports from the #gameplan channel

Fixes eight reported bugs, including wrong discussion after navigating, rail badges drifting off their icons, slow reactions, and a broken digest email.

@netchampfaris #605 Read
fix other-apps 2 weeks ago

Settle a restart when the server reads running

A restart now succeeds once the server reads as Running, instead of sitting at "Restarting" for ten minutes and then failing.

@prathameshkurunkar7 #450 Read
fix other-apps 2 weeks ago

Install modules for the pinned kernel in every image

Every image gets modules for the kernel it boots, so Docker and BPF tools work on Ubuntu 22.04 and 26.04 VMs.

@tanmoysrt #348 Read
fix other-apps 2 weeks ago

Report guest memory use from the balloon device

New VMs boot with a balloon device that reports guest memory and returns freed pages to the host, so the memory chart matches the guest.

@tanmoysrt #347 Read
fix other-apps 2 weeks ago

Multiple UI fixes

Keeps mention read state when a message is edited, stops soft 404 pages from previewing, makes polls inert on the threads page, and fixes mobile Later and print dialog layouts. Also fixes CI tests and adds keyboard workspace switching.

@nikkothari22 #2298 Read
fix other-apps 2 weeks ago

Show custom emoji in last message in DMs

Shows custom emoji in the last-message preview in DMs.

@TITANiumRox #2276 Read
fix other-apps 2 weeks ago

Look up a channel missing from the list before showing a DM as not found

Looks up a channel that is missing from the list before reporting a DM as not found.

@TITANiumRox #2282 Read
fix other-apps 2 weeks ago

Delete admin members using controller when user is deleted

Admin members are removed through the controller when a user is deleted.

@nikkothari22 #2299 Read
fix other-apps 2 weeks ago

Keep NDP lookups intact under checksum offload

Guest checksum offload could write into the NDP target address, so VM-to-VM lookups across hosts failed. The solicitation now carries a valid target and checksum.

@tanmoysrt #353 Read
fix other-apps 2 weeks ago

Select unicast NDP before VMs start

metald picks unicast NDP mode before any VM sends NDP, so hosts on networks without IPv6 multicast stop losing their uplink on each metald start.

@tanmoysrt #350 Read
fix other-apps 2 weeks ago

Set allmulticast only in multicast mode

Stops WG Mesh from enabling allmulticast in unicast NDP mode, which made Broadcom `bnxt_en` hosts stop receiving all traffic. Also reverts the metald change from #350.

@tanmoysrt #351 Read

Saturday, October 10

ERPNext 40.6k 51 updates
fix accounting 3 weeks ago

Drop the full cache clear on save

Employee saves no longer clear the entire site cache, since the nested-set fix now refreshes user permissions.

@mihir-kandoi #59752 Read
fix stock-manufacturing 3 weeks ago

Default quality inspection sample size to one

Same change as #60292, the original PR.

@Pandiyan5273 #60283 Read
feat accounting 3 weeks ago

Soft module icons

feat: soft module icons

@sokumon #60257 Read
fix accounting 3 weeks ago

Let sales users read and sales master managers maintain segments

fix(market-segment): let sales users read and sales master managers maintain segments

@nabinhait #59921 Read
fix accounting 3 weeks ago

Give sales users read access to sales stages

fix(sales-stage): give sales users read access to sales stages

@nabinhait #59920 Read
fix accounting 3 weeks ago

Purchase Order bug review fixes

Thirteen Purchase Order bugs are fixed, including drop-ship cancellation leaving the Sales Order delivered.

@mihir-kandoi #59832 Read
fix accounting 3 weeks ago

Add company filter and apply permissions

fix(first-response-time-for-opportunity): add company filter and apply permissions

@nabinhait #59922 Read
fix accounting 3 weeks ago

Validate company and vat accounts, follow company renames, limit settings roles

fix(uae-vat-settings): validate company and vat accounts, follow company renames, limit settings roles

@nabinhait #59903 Read
fix accounting 3 weeks ago

Vat charged as an actual amount and user permissions

fix(vat-audit-report): vat charged as an actual amount and user permissions

@nabinhait #59897 Read
fix accounting 3 weeks ago

Sales roles, submitted invoices, recipients format and one row per lead

fix(lead-conversion-time): sales roles, submitted invoices, recipients format and one row per lead

@nabinhait #59909 Read
fix accounting 3 weeks ago

Opportunity rate, company for amounts and missing sales stage

Foreign-currency opportunities convert at their stored rate.

@nabinhait #59908 Read
fix accounting 3 weeks ago

Apply minimum lead age to older leads

Minimum Lead Age keeps leads older than the cut-off, not younger.

@nabinhait #59923 Read
fix accounting 3 weeks ago

Include child territories and show every lost reason when filtering by one

fix(lost-opportunity): include child territories and show every lost reason when filtering by one

@nabinhait #59918 Read
fix accounting 3 weeks ago

Include child territories, list each lead once and list leads without a company

fix(lead-details): include child territories, list each lead once and list leads without a company

@nabinhait #59917 Read
fix accounting 3 weeks ago

Render terms ending in a file extension and blank contract fields as empty

Terms ending in .html or .txt render, and blank contract fields show as empty.

@nabinhait #59919 Read
fix accounting 3 weeks ago

Offer slots with no agents, require a positive duration and refuse overlapping slots

Appointment slots work with no agents, and overlapping or zero-length slots are refused.

@nabinhait #59914 Read
fix accounting 3 weeks ago

Timestamp update for lead and opportunity, quotation validity on the server and carry forward

The "update timestamp on new communication" setting applies only to Lead and Opportunity.

@nabinhait #59915 Read
fix accounting 3 weeks ago

Count partly ordered quotations and activity after conversion, apply permissions

fix(campaign-efficiency): count partly ordered quotations and activity after conversion, apply permissions

@nabinhait #59916 Read
fix accounting 3 weeks ago

Apply campaign pricing rules, allow deleting campaigns and fix campaign efficiency counts

Campaign pricing rules apply to sales transactions, and campaigns can be deleted.

@nabinhait #59906 Read
fix accounting 3 weeks ago

Asset permissions, disposed asset values and reversed depreciation

Grouped views only include assets the user can read, and disposed values are corrected.

@nabinhait #59928 Read
fix accounting 3 weeks ago

Correct disposals, finance books and reversals, add adjustment column

fix(asset-depreciations-and-balances): correct disposals, finance books and reversals, add adjustment column

@nabinhait #59925 Read
fix accounting 3 weeks ago

Take back additional costs on Subcontracting Receipt returns

Returns of Subcontracting Receipts reverse the additional cost they originally booked.

@mihir-kandoi #59913 Read
fix accounting 3 weeks ago

IFRS template double-counts short-term borrowings and drops uncategorised accounts

The IFRS cash flow template no longer counts short-term borrowings twice or drops uncategorised accounts.

@nabinhait #60178 Read
fix accounting 3 weeks ago

Keep service dates after the period end in order on auto-repeated invoices

Service dates past the period end stay in order, so the invoice saves.

@barredterra #60296 Read
fix accounting 3 weeks ago

Keep short service ranges after the period end on auto-repeated invoices (version-15)

Same fix as #60328, for v15.

@barredterra #60329 Read
fix accounting 3 weeks ago

Keep short service ranges after the period end on auto-repeated invoices

Service dates on auto-repeated invoices are shifted correctly, so a short range doesn't land in the wrong month.

@barredterra #60328 Read
fix accounting 3 weeks ago

Link lead quotations and opportunities to its customer

Quotations and Opportunities of a Lead move to the Customer made from it, so they show on its dashboard.

@mihir-kandoi #60279 Read
fix accounting 3 weeks ago

Link lead quotations and opportunities to its customer (v15)

fix(selling): link lead quotations and opportunities to its customer (v15)

@mihir-kandoi #60282 Read
fix accounting 3 weeks ago

Link lead quotations and opportunities to its customer (v16)

fix(selling): link lead quotations and opportunities to its customer (v16)

@mihir-kandoi #60281 Read
fix accounting 3 weeks ago

Keep dimensions on duplicated rows

Duplicated rows keep their own dimensions instead of taking the header value.

@mihir-kandoi #60269 Read
fix accounting 3 weeks ago

One header to row copy for accounting dimensions (backport #59753)

A header dimension change now updates every row, through one handler.

@mihir-kandoi #60266 Read
fix stock-manufacturing 3 weeks ago

Prevent planning a sales order line more than once

Same fix as #60272, the original PR.

@mihir-kandoi #60271 Read
fix stock-manufacturing 3 weeks ago

Prevent planning a sales order line more than once (backport #60271)

Production Plan fetches only the unplanned qty of each Sales Order line and blocks plans that exceed it.

@mihir-kandoi #60272 Read
fix stock-manufacturing 3 weeks ago

Default job card completion to previous operation output

Same fix as #60278, the original PR.

@mihir-kandoi #60275 Read
fix stock-manufacturing 3 weeks ago

Default job card completion to previous operation output (backport #60275)

The Complete Job dialog defaults Completed Quantity to what the previous operation allows.

@mihir-kandoi #60278 Read
fix stock-manufacturing 3 weeks ago

Handle multiple batches in pick list bundles

Allocating a Pick List item with several batches in another open Pick List no longer raises a KeyError.

@Pandiyan5273 #60301 Read
fix stock-manufacturing 3 weeks ago

Validate item conversions and work order links

Alternate UOMs need a positive conversion factor, and a component of a submitted Work Order can't have Maintain Stock turned off.

@Pandiyan5273 #60318 Read
fix stock-manufacturing 3 weeks ago

Respect unreserved work order components

Same fix as #60289, the original PR.

@Pandiyan5273 #60161 Read
fix stock-manufacturing 3 weeks ago

Fix(manufacturing): respect unreserved work order components (backport #60161)

A Work Order shows Stock Reserved only when every component is reserved.

@Pandiyan5273 #60289 Read
fix accounting 3 weeks ago

Keep prospects on lead delete, one prospect per lead and convert to customer once

Deleting a lead no longer deletes its Prospect with its notes, opportunity rows and linked contacts.

@nabinhait #59907 Read
fix accounting 3 weeks ago

Correct disposal GL and sold status, validate asset sale, split and opening depreciation

Disposal credits the full asset cost, so the fixed asset and accumulated depreciation accounts no longer drift.

@nabinhait #59901 Read
fix accounting 3 weeks ago

Depreciation schedule double posting, manual schedule validation and booked months

Depreciation rows already booked are no longer posted again when the daily job runs by index range after a cancelled entry.

@nabinhait #59883 Read
fix accounting 3 weeks ago

Validate cost center changes and preserve numeric names

Same change as #60276, the original PR. Also stops renames of names that start with digits from corrupting the display name.

@Pandiyan5273 #60237 Read
fix accounting 3 weeks ago

Validate cost center changes and preserve numeric names (backport #60237)

Cost Center saves can no longer change company, use cross-company parents or convert groups in ways that skip the GL and allocation checks.

@Pandiyan5273 #60276 Read
fix accounting 3 weeks ago

Delete Company: remove password verification

Drops the client-side password prompt; the existing type-the-company-name confirmation stays.

@harshp4114 #59645 Read
fix stock-manufacturing 3 weeks ago

Apply user permissions in stock reconciliation balance lookups

fix(stock): apply user permissions in stock reconciliation balance lookups

@diptanilsaha #60263 Read
fix stock-manufacturing 3 weeks ago

Check putaway rule permission in get_available_putaway_capacity

fix(stock): check putaway rule permission in get_available_putaway_capacity

@diptanilsaha #60260 Read
fix stock-manufacturing 3 weeks ago

Apply user permissions in get_stock_balance (backport #60245, #60260)

fix(stock): apply user permissions in get_stock_balance (backport #60245, #60260)

@diptanilsaha #60262 Read
fix stock-manufacturing 3 weeks ago

Apply user permissions in get_stock_balance (backport #60245, #60260)

fix(stock): apply user permissions in get_stock_balance (backport #60245, #60260)

@diptanilsaha #60261 Read
fix stock-manufacturing 3 weeks ago

Apply user permissions in get_stock_balance

fix(stock): apply user permissions in get_stock_balance

@diptanilsaha #60245 Read
fix stock-manufacturing 3 weeks ago

Enforce pick list delivery permissions

Delivery mappers check read permission on the Pick List before using it.

@Pandiyan5273 #60311 Read
Frappe 11k 26 updates
feat framework 3 weeks ago

Soft module icons

Framework dock icons become single-colour soft icons that follow the tile's ink.

@sokumon #44190 Read
feat framework 3 weeks ago

Group by multiple fields and aggregate multiple columns

Report View supports several group by fields and several aggregates (Count, Sum, Average, Min, Max).

@barredterra #44219 Read
feat framework 3 weeks ago

List all fields on focus and keep keyboard focus in filter and group by popovers

The field picker lists all fields on focus, and keyboard focus stays inside the filter and group by popovers.

@barredterra #44218 Read
fix framework 3 weeks ago

Trim tables on sqlite and clear stale column cache

Trim-tables drops orphaned columns one at a time on SQLite and clears the column cache.

@mihir-kandoi #43444 Read
fix framework 3 weeks ago

List and drop ghost tables on Postgres in trim-database

`bench trim-database` no longer crashes on Postgres.

@mihir-kandoi #43396 Read
fix ui-ux 3 weeks ago

Link preview popover rebuilds on control value change

fix: link preview popover rebuilds on control value change

@karm1000 #43852 Read
fix ui-ux 3 weeks ago

Show Field as read-only in form builder

The Field dropdown in the Web Form builder shows the value instead of an empty select.

@g-sowani #44080 Read
fix framework 3 weeks ago

Validate series options and default together

Naming series options and default are validated together.

@Bowrna #44079 Read
fix framework 3 weeks ago

Show password field even if it's an fc site

The setup wizard shows the password field on Frappe Cloud sites too, since no reset email is sent during setup.

@phot0n #43287 Read
fix framework 3 weeks ago

Filter amended documents in audit trail

The Audit Trail Document field lists only amended transactions (v15 backport).

@krishna-254 #43290 Read
fix framework 3 weeks ago

Revert "fix: clear include filters and hide column picker when a print format is set (backport #42528)"

Reverts #42546 for the same reason.

@iamejaaz #44223 Read
fix framework 3 weeks ago

Revert include filters and column picker change

Reverts #42528, which hid the Include filters checkbox and column picker when a print format is set.

@iamejaaz #44222 Read
fix framework 3 weeks ago

Global search shows permission errors for hits the user cannot read

Same fix as #44214, the original PR.

@kaulith #44212 Read
fix developer-experience 3 weeks ago

Report links do nothing when split view is off or on ctrl-click

Same fix as #44205, the original PR.

@kaulith #44203 Read
fix framework 3 weeks ago

Form goes blank after a table multiselect row is changed

Same fix as #44211, the original PR.

@kaulith #44207 Read
fix framework 3 weeks ago

Accept form-encoded new_page and save_page args

Creating a private workspace and saving a workspace on v16 work again; both requests were failing with a type error.

@sokumon #44225 Read
fix framework 3 weeks ago

Disabled about and contact pages still appear in sitemap.xml

fix: disabled about and contact pages still appear in sitemap.xml

@kaulith #44216 Read
fix framework 3 weeks ago

Count fieldname bytes against the Postgres identifier limit

Long non-ASCII custom field names no longer get truncated on Postgres, which caused duplicate-column failures on every later schema sync.

@mihir-kandoi #43555 Read
fix framework 3 weeks ago

Normalize Unicode passwords before hashing

Passwords are hashed in NFC form, so the same password typed on different keyboards or OSes is accepted.

@harshp4114 #43904 Read
fix framework 3 weeks ago

Refresh user permissions when the tree changes

Adding or moving a tree node now clears cached user permissions for other users, so permission changes apply without a full cache clear.

@mihir-kandoi #43784 Read
fix framework 3 weeks ago

Override comment_email & comment_by

Comment author fields are derived on the backend instead of trusting client values.

@AarDG10 #44204 Read
fix framework 3 weeks ago

Check create, not write, to run a method on an unsaved doc

Running a whitelisted method on an unsaved document now requires create permission rather than write.

@mihir-kandoi #43706 Read
fix framework 3 weeks ago

Validate string and Literal annotations

Whitelisted methods using string or `from __future__ import annotations` annotations are now type-validated, so crafted dict arguments are rejected.

@mihir-kandoi #43412 Read
fix framework 3 weeks ago

Replace `verify_password` util with Confirm Sensitive Action dialog

Replaces the client-only password prompt with a confirm dialog, since the old prompt guarded nothing on the server.

@harshp4114 #43611 Read
fix ui-ux 3 weeks ago

Hardening desk onboarding step

fix(security): hardening desk onboarding step

@eagledot #44195 Read
fix ui-ux 3 weeks ago

Require permissions for public workspaces editing

Editing a public workspace now checks permissions.

@eagledot #44201 Read
HR 9k 2 updates
fix hr-payroll 3 weeks ago

Clear local caches after HRMS test rollback

Clears process-local caches after the test rollback so tests stop reusing stale data.

@nareshkannasln #5409 Read
feat hr-payroll 3 weeks ago

Soft module icons

HRMS dock gets the soft icons.

@sokumon #5405 Read
CRM 3.9k 3 updates
fix crm-sales 3 weeks ago

Show priority bars on tasks and in the priority dropdown

Priority shows as signal bars on tasks and in the dropdown; the dot never rendered before.

@michellealva #3000 Read
fix crm-sales 3 weeks ago

Keep brand favicon on dashboard, data import and onboarding pages

Same fix as #3006, the original PR.

@asimdelvi #3003 Read
fix crm-sales 3 weeks ago

Save when only 'Create Lead from Incoming Emails' changes

Same fix as #3004, the original PR.

@michellealva #3002 Read
Helpdesk 3.4k 4 updates
feat other-apps 3 weeks ago

Use frappe-ui/charts on the dashboard

The dashboard uses the new frappe-ui charts, and number cards show change against the previous period.

@michellealva #3856 Read
fix other-apps 3 weeks ago

Move agents off an agent status when it is disabled (backport #3433)

Agents are moved off an agent status when it is disabled.

@aerodeval #3865 Read
fix other-apps 3 weeks ago

Correct SLA deadline timezone and hold-time deduction (backport #3776)

Corrects SLA deadlines for timezone and deducts hold time properly.

@aerodeval #3866 Read
fix other-apps 3 weeks ago

Park a re-fetched mail only once

Same fix as #3869, the original PR.

@aerodeval #3868 Read
b Builder 2.5k 2 updates
fix ui-ux 3 weeks ago

Keep components lean, edit instance content in place

fix(skill): keep components lean, edit instance content in place

@surajshetty3416 #945 Read
feat ui-ux 3 weeks ago

Make navbar items link to pages, sections or external URLs

Navbar items can link to a page, an on-page section or an external URL.

@SmrutiSawant #944 Read
p Press 575 4 updates
feat other-apps 3 weeks ago

Add build, New Bench and prune charts

Build Server Stats shows its charts in a grid, with eight new charts for builds, New Bench and prune activity.

@balamurali27 #7713 Read
fix other-apps 3 weeks ago

Allow users to purchase credits based on outstading amount

Users with a small outstanding balance (e.g. ₹66.25) can pay through Razorpay; the minimum and default amounts now agree.

@saurabh6790 #7719 Read
fix other-apps 3 weeks ago

Send Raven alerts to the real channel ID

Same fix as #7720, the original PR.

@balamurali27 #7711 Read
fix other-apps 3 weeks ago

Retry the agent install while apt is locked

Same fix as #7723, the original PR.

@regdocs #7722 Read
o Other 14 updates
feat other-apps 3 weeks ago

Fill each field of GitHub's new advisory form

feat(draft-security-advisory): fill each field of GitHub's new advisory form

@diptanilsaha #24 Read
fix other-apps 3 weeks ago

Collections & Delinquency Management (#1489)

Manual backport of #1489 to version-16-hotfix.

@Nihantra-Patel #1501 Read
feat other-apps 3 weeks ago

Collections & Delinquency Management module

Adds a collections module that opens cases for delinquent loans, assigns officers, tracks payment promises and sends reminders.

@Nihantra-Patel #1489 Read
feat other-apps 3 weeks ago

Send site mail under the site name from the bench mailbox

New sites send mail under their site name through the bench mailbox.

@tanmoysrt #594 Read
feat other-apps 3 weeks ago

Sync with statutory system

feat: Sync with statutory system

@saurabh6790 #378 Read
feat other-apps 3 weeks ago

Give each new server a mailbox from its region's mail service

Each new server gets a send-only mailbox from its region's FrappeMail Service.

@tanmoysrt #430 Read
feat other-apps 3 weeks ago

List a server's hostnames in team identity tokens

Team identity tokens list the hostnames of the team's sites on the server.

@prathameshkurunkar7 #440 Read
feat other-apps 3 weeks ago

Take the SMTP endpoint from the Suite site

FrappeMail Services take their SMTP server and port from the Suite site, with a Refresh SMTP Info button.

@tanmoysrt #443 Read
fix other-apps 3 weeks ago

Resume the selected product

Returning customers resume onboarding for the product they picked and reopen their existing site.

@prathameshkurunkar7 #431 Read
fix other-apps 3 weeks ago

Refill the mailbox pool only to its minimum

A mailbox refill creates only the mailboxes the pool is missing, not a fixed 50.

@tanmoysrt #441 Read
fix ui-ux 3 weeks ago

Keep text color on bold text in every prose variant

Bold text keeps its named color in every prose variant, not only prose-v3.

@michellealva #1277 Read
fix other-apps 3 weeks ago

Report the requested disk size as the desired size

Resizing a VM without changing its disk size no longer fails with "Disk size can only increase".

@tanmoysrt #346 Read
fix other-apps 3 weeks ago

Point chromium_path at the real Chromium binary

Chrome PDF renders no longer leave Chromium processes running, since the path now points at the real binary instead of a wrapper.

@tulayha #2008 Read
fix other-apps 3 weeks ago

Remove a mailbox only through the background removal

Deleting a User Mail Account is blocked; removal runs in the background and deletes the Suite member first, so the mailbox password stops working.

@tanmoysrt #442 Read

Friday, October 9

ERPNext 40.6k 30 updates
feat stock-manufacturing 3 weeks ago

Allow submit with confirmed stock value difference within 1%

A Period Closing Voucher can be submitted when the stock asset difference is within 1%, after the user confirms the amounts.

@rohitwaghchaure #60170 Read
feat accounting 3 weeks ago

Add United States chart of accounts template

Adds a US GAAP chart of accounts template used for companies with Country set to United States.

@raghavisruia #57279 Read
fix accounting 3 weeks ago

Hide Overview tab on unsaved customers

The Overview tab is hidden on new Customers until they are saved.

@khushi8112 #60206 Read
fix stock-manufacturing 3 weeks ago

Pool group sub assembly warehouse stock in production plan (backport #60210)

Backport of #60210.

@mihir-kandoi #60211 Read
fix stock-manufacturing 3 weeks ago

Pool group sub assembly warehouse stock in production plan

Sub-assembly stock across child warehouses of a group is summed into one pool for netting, so Production Plan no longer under-produces.

@mihir-kandoi #60210 Read
fix stock-manufacturing 3 weeks ago

Exclude the current company's retention warehouse from source pickers (backport #60189)

Backport of #60189.

@mihir-kandoi #60190 Read
fix stock-manufacturing 3 weeks ago

Exclude the current company's retention warehouse from source pickers

Source warehouse pickers on Stock Entry refresh the Sample Retention Warehouse when the company changes.

@mihir-kandoi #60189 Read
fix accounting 3 weeks ago

Look up party addresses by DocType name

On PostgreSQL, selecting a Customer or Supplier on a Tax Rule now fills the billing and shipping addresses.

@mihir-kandoi #60195 Read
fix accounting 3 weeks ago

Conversion rate, periods across years, filters and permissions

Foreign-currency opportunities convert at the rate stored on the opportunity, periods work across years, and filters and permissions are fixed.

@nabinhait #59894 Read
fix accounting 3 weeks ago

Validate vat accounts, refuse company change, limit settings roles

VAT accounts are validated (company, group, duplicates, empty rows), so the VAT Audit Report picks the right rows. Company changes are refused and settings roles are limited.

@nabinhait #59904 Read
fix accounting 3 weeks ago

Import line quantities, credit notes, surcharges and suppliers as in the file

Payment codes are read from the correct field, and line quantities, credit notes, surcharges and suppliers import as they appear in the file.

@nabinhait #59902 Read
fix accounting 3 weeks ago

Lapsed fulfilment, status, signature and checklist after submit, linked document party

The daily job sets Fulfilment to Lapsed when a deadline passes, and status, signature and checklist behaviour after submit is corrected.

@nabinhait #59893 Read
fix accounting 3 weeks ago

Supplier pan, rate and limit checks, and locking used certificates

Certificate PAN is kept in line with the supplier, rate and limit checks are added, and used certificates are locked.

@nabinhait #59898 Read
fix accounting 3 weeks ago

Net payments in company currency and company permission

Total Payments excludes cancelled payments and debit notes, nets off refunds, works in company currency, and respects company permission.

@nabinhait #59896 Read
fix accounting 3 weeks ago

Reverse charge debit notes, returns, missing emirate and box 9 amounts

Reverse charge debit notes are subtracted in boxes 3 and 10, and returns, missing emirates and box 9 amounts are corrected.

@nabinhait #59895 Read
fix accounting 3 weeks ago

Invoice permissions, bundle, drop-ship and sales order buying amounts, and group-by totals

Applies the user's Sales Invoice permissions to the report, corrects buying amounts for bundles, drop-ship and sales orders, and fixes group-by totals.

@nabinhait #59885 Read
fix accounting 3 weeks ago

Ledger view signs, party permission, outstanding conversion, internal transfers and tree filters

Ledger view uses one sign convention, applies party permissions, fixes outstanding conversion and internal transfers, and corrects tree filters.

@nabinhait #59888 Read
fix accounting 3 weeks ago

Round ledger-view invoice debits, convert outstanding only for foreign receivables, expand customer groups

Ledger view debits use the rounded grand total so the running balance matches the GL, and foreign-currency outstanding is converted only for foreign receivables.

@nabinhait #59930 Read
fix stock-manufacturing 3 weeks ago

Stock Closing Entry bug fixes

Stock Balance filters apply to the closing opening, and six further closing-entry bugs are fixed, each with a regression test.

@rohitwaghchaure #60127 Read
fix accounting 3 weeks ago

Correct fiscal year selection and creation

Fiscal year selection prefers the company-specific year over an overlapping global one, Feb 28 year-end rollover is fixed for leap years, and automatic creation can recover from a missed run.

@Pandiyan5273 #60216 Read
fix accounting 3 weeks ago

Keep payment terms, PO no and service dates on auto-repeated invoices

Auto Repeat invoices keep the payment terms template, PO No and shifted item service dates from the reference invoice.

@barredterra #60256 Read
fix accounting 3 weeks ago

Mark fully depreciated assets without schedules (backport #52309)

Submitted assets marked Is Fully Depreciated with Calculate Depreciation unchecked now move to the correct status in v16 instead of staying Submitted.

@Pandiyan5273 #60248 Read
fix stock-manufacturing 3 weeks ago

Derive actual dates from submitted entries

Work Orders without operations take actual start and end dates from submitted Stock Entries only, and cancellation clears stale dates.

@Pandiyan5273 #60196 Read
fix stock-manufacturing 3 weeks ago

Combine material request receipt quantities

A Purchase Receipt and a Purchase Invoice with Update Stock no longer overwrite each other's received quantity on a Material Request, so a fully received request now shows as fully received.

@Pandiyan5273 #60208 Read
fix stock-manufacturing 3 weeks ago

Keep job card qty in material request transfer (backport #60246)

Backport of #60246.

@mihir-kandoi #60247 Read
fix stock-manufacturing 3 weeks ago

Keep job card qty in material request transfer

Job Cards could not be submitted after a Material Request transfer because the Work Order branch of the Stock Entry mapper zeroed the finished-goods qty. It now zeroes only for Work Order requests without a Job Card.

@mihir-kandoi #60246 Read
fix stock-manufacturing 3 weeks ago

Disable update stock for sales invoice created from DN (backport #60230)

Backport of #60230.

@nishkagosalia #60235 Read
fix stock-manufacturing 3 weeks ago

Disable update stock for sales invoice created from DN

Sales Invoices created from a Delivery Note now force Update Stock off.

@nishkagosalia #60230 Read
fix stock-manufacturing 3 weeks ago

Keep each batch's rate through a material transfer

Each inward batch keeps its outward rate plus the row's additional cost, and a repost repairs entries already saved with flat batch rates.

@mihir-kandoi #60209 Read
fix stock-manufacturing 3 weeks ago

Refresh the stock entry after recalculating picked bundles

After batches are auto-picked at submit, the entry is reloaded so GL additional-cost splits and target legs use the recalculated values, not the save-time ones.

@mihir-kandoi #60214 Read
Frappe 11k 31 updates
fix ui-ux 3 weeks ago

Restyle the color picker on Espresso tokens

Backport of #44139.

@iamejaaz #44140 Read
fix ui-ux 3 weeks ago

Restyle the color picker on Espresso tokens

The colour picker drops the uppercase headings, uses Espresso's palette with a selected ring, and works in dark mode.

@iamejaaz #44139 Read
fix framework 3 weeks ago

Explain why a section is greyed out on hover

Backport of #44160.

@iamejaaz #44159 Read
fix framework 3 weeks ago

Explain why a section is greyed out on hover

Hovering a greyed-out section shows whether it is hidden by its visibility condition or has no values for the preview record.

@iamejaaz #44160 Read
fix framework 3 weeks ago

Show number stepper as a single input with inline buttons

Same change as #44148, against the main branch.

@iamejaaz #44147 Read
fix framework 3 weeks ago

Show number stepper as a single input with inline buttons

Number fields in the print editor are one full-width input with inline −/+ buttons, and arrow keys step the value.

@iamejaaz #44148 Read
feat framework 3 weeks ago

Read use_ssl from site config for outgoing mail

Setting use_ssl in site config enables SSL for outgoing mail, so port 465 works.

@tanmoysrt #44134 Read
fix framework 3 weeks ago

Optimize pdf during upload

Uploaded PDFs are optimized as well as images.

@Bowrna #43282 Read
fix framework 3 weeks ago

Widen empty state description

Empty state descriptions are widened from 320px to 384px so most fit on one line.

@Abdeali099 #44143 Read
fix framework 3 weeks ago

Give the info card an opaque background

The field info card uses a defined background token, so page text no longer shows through it on v16.

@KerollesFathy #44123 Read
fix framework 3 weeks ago

Round the section selection ring to its radius (backport #44153)

Backport of #44153.

@iamejaaz #44155 Read
fix framework 3 weeks ago

Round the section selection ring to its radius

The selection ring around a print section follows the section's corner radius.

@iamejaaz #44153 Read
fix ui-ux 3 weeks ago

Stop cutting off the bottom of badge text

Descenders in badge text (g, y, p) are no longer clipped.

@TANMAY2006-UX #44162 Read
fix framework 3 weeks ago

Compare is set filters with the column's empty value (backport #43537)

Is Set filters compare against each column's empty value on v16.

@mihir-kandoi #43863 Read
fix framework 3 weeks ago

Show Image field in report side panel preview

The Image field in Report View's side panel shows the image instead of the missing-image placeholder.

@mainshivam #44151 Read
fix developer-experience 3 weeks ago

Icon picker stays open when clicking elsewhere in a child table

The icon picker closes when clicking elsewhere in a child table.

@kaulith #44157 Read
fix framework 3 weeks ago

Unread count stays stale when the feed is reloaded

Reloading the notification feed also refreshes the unread count badge.

@kaulith #43658 Read
fix framework 3 weeks ago

Show participant events in the calendar

The calendar now includes events where the user is a participant, such as Maintenance Schedule visits assigned to a Sales Person.

@mihir-kandoi #43845 Read
fix framework 3 weeks ago

Let select-only users search linked addresses

Address link fields using address_query with link_doctype and link_name filters no longer raise PermissionError for select-only users.

@barredterra #43867 Read
fix framework 3 weeks ago

Show correct status in User list for select-only users

Select-only users no longer see every user as Disabled in the User list.

@TANMAY2006-UX #43854 Read
fix framework 3 weeks ago

Keep the file's modified on a DocType data import

Data imports keep the file's modified timestamp, so repeated migrates no longer change fixture DocTypes. Model sync still sets modified to now.

@mihir-kandoi #43394 Read
fix framework 3 weeks ago

Redis_cache returns None when a parallel worker caches the result

If another worker saves the cached result between the read and the exists check, the key is read again instead of returning None.

@kaulith #43787 Read
fix framework 3 weeks ago

Round robin repeats a user on concurrent saves

The last assigned user is read with a row lock, so two documents created close together no longer go to the same user.

@kaulith #44128 Read
fix framework 3 weeks ago

Track index progress for every doctype

A fresh search index build seeds a progress row for every configured doctype, not only the last one.

@mihir-kandoi #44138 Read
fix framework 3 weeks ago

Use a limit SQLite accepts for offset without limit

get_list with an offset but no limit works on SQLite.

@mihir-kandoi #43410 Read
fix framework 3 weeks ago

Limit DocType names to the Postgres identifier length

DocType names are capped at 60 characters on Postgres, so long names no longer create truncated tables that break re-saving.

@mihir-kandoi #43395 Read
fix framework 3 weeks ago

Unbound import in apply_workflow on cancel

Workflow cancellation with Queue in Background enabled no longer fails with UnboundLocalError.

@Pandiyan5273 #44176 Read
fix framework 3 weeks ago

Fix(bank statement) / fix(data_import): skip payload_count write when the import doctype lacks the column

Bank Statement Import fails on every run since #39887 with an unknown-column error on payload_count. The write is skipped when the doctype lacks the column.

@diptanilsaha #44163 Read
fix framework 3 weeks ago

Calculate invoice period from the reference document

Auto Repeat periods now cover Daily, Weekly and Fortnightly frequencies, the first generated document, and month-end dates that no longer drift.

@barredterra #44189 Read
fix framework 3 weeks ago

Validate requests and normalize domains

Validates allowed paths, monitoring windows and configuration payloads, requires POST for actions, and keeps domain rows consistent without duplicates.

@prathameshkurunkar7 #44075 Read
fix framework 3 weeks ago

Add write check to get_workflow_state_count

Adds a write permission check to the workflow state count API.

@AarDG10 #43258 Read
HR 9k 1 update
fix hr-payroll 3 weeks ago

Show conditional components related to leave_without_pay

Same fix as #5401, against the main branch.

@akhtarmohsin #5399 Read
LMS 3.3k 1 update
feat other-apps 3 weeks ago

Quiz sharing, proctored attempt and result improvements

Adds a Copy link button for quizzes, shows students only the quiz title in the breadcrumb, and improves the proctored attempt and results.

@pateljannat #2907 Read
Insights 1k 4 updates
fix other-apps 3 weeks ago

Keep a cleared filter cleared after a reload

A filter the reader cleared stays cleared after Refresh or an owner save, instead of the default filling it back in.

@nextchamp-saqib #1484 Read
fix other-apps 3 weeks ago

Open the folder of the open query or chart

Opening a query or chart in a collapsed folder expands that folder.

@nextchamp-saqib #1483 Read
fix other-apps 3 weeks ago

Resume an incremental import from the store's newest cursor

Incremental imports now take the bookmark from the newest cursor actually written to the store, so a failed bookmark save no longer makes the next run reprocess or skip rows.

@nextchamp-saqib #1486 Read
fix other-apps 3 weeks ago

Keep an incremental table's rows when its sync settings change

Changing Cursor Column or Sync From no longer drops stored rows of an Incremental table, so history the source has purged is kept. Switching a Full copy to Incremental still drops the Full copy.

@nextchamp-saqib #1488 Read
p Press 575 4 updates
fix other-apps 3 weeks ago

Better feedback on security tab

Improves the feedback shown on the server security tab.

@ssiyad #7710 Read
fix other-apps 3 weeks ago

Fix(site-backup): Repair a crashed global search table on the site's bench

Manual backport of #7667 to master.

@regdocs #7716 Read
fix other-apps 3 weeks ago

Repair a crashed global search table on the site's bench

Backups failing on a crashed MyISAM `__global_search` table now trigger a repair job that runs on the site's bench. The old job call had no bench or site and never ran.

@regdocs #7667 Read
fix other-apps 3 weeks ago

Check press roles in protected endpoints

Checks press roles in the protected decorator and write-access check, so a member whose role lacks a release group can no longer deploy through bench.deploy_and_update or other protected endpoints. Teams without roles keep full access.

@ssiyad #7707 Read
o Other 20 updates
feat other-apps 3 weeks ago

Feat/unicommerce charges as invoice items

Unicommerce COD, gift wrap and shipping charges are added as invoice items, so orders with charges invoice without GST mismatch errors.

@Bhavathariniya #468 Read
feat other-apps 3 weeks ago

Report page actions menu use from the reader

Reports Download, Copy page, ChatGPT and Claude use from the reader as one telemetry event.

@gajjug004 #854 Read
feat other-apps 3 weeks ago

Screen new senders in the Inbox, and make Block send mail to Junk

New senders appear in the Inbox with an icon and a No/Yes prompt, and blocking a sender moves its mail to Junk.

@krantheman #965 Read
feat other-apps 3 weeks ago

Add server detail page

Adds a server detail page.

@siduck #436 Read
feat other-apps 3 weeks ago

SSH keys in settings and on each server

Adds SSH key management in settings and on each server.

@siduck #437 Read
feat other-apps 3 weeks ago

Product signups for Frappe Cloud apps

Each Frappe Cloud app can offer a signup from its own page, with setup handled by the app.

@mihir-kandoi #427 Read
feat other-apps 3 weeks ago

Add Raven and Builder signups

Adds Raven and Builder to the apps prepared for product signup images.

@prathameshkurunkar7 #75 Read
fix other-apps 3 weeks ago

Misc

fix: Misc

@phot0n #12 Read
fix ai 3 weeks ago

The overview asks Grove on every open, uncached

The AI overview fetches month usage fresh on every open, so it matches the usage page.

@phot0n #434 Read
fix other-apps 3 weeks ago

Page the team lists at 10 rows without the size picker

Team lists page at 10 rows with no page-size picker.

@prathameshkurunkar7 #438 Read
fix other-apps 3 weeks ago

EmbedFrame border radius

Corrects the border radius of the embed frame.

@TITANiumRox #2293 Read
fix other-apps 3 weeks ago

Close sheets on back instead of leaving the page

The back action closes an open sheet rather than leaving the page.

@TITANiumRox #2295 Read
fix other-apps 3 weeks ago

Compile published app templates in production mode

Published apps compile templates in production mode, so HTML comments no longer make a fragment root that drops block styles.

@ruchamahabal #296 Read
fix ui-ux 3 weeks ago

Make room for data labels only when one would clip

Charts reserve space for data labels only when one would clip, instead of always leaving an empty band.

@nextchamp-saqib #1270 Read
fix ui-ux 3 weeks ago

Inset a line's ends from the value axis

Line charts get the same inset from the value axis that bar charts already had, so data labels no longer collide with ticks.

@nextchamp-saqib #1273 Read
fix other-apps 3 weeks ago

Moves AST parsing into subprocess scripts run by bench Python

App validation parses code with the bench's own Python, so apps using newer syntax no longer fail on the host interpreter.

@ai-sadhu #587 Read
fix other-apps 3 weeks ago

Stale workspace responses and picture captions

Responses for a space or change request that changed mid-flight are dropped, and captioned pictures render their caption correctly.

@gajjug004 #853 Read
fix other-apps 3 weeks ago

Add dhparam

Adds the DH parameters file to the nginx setup.

@ssiyad #621 Read
fix other-apps 3 weeks ago

Add the site name to streamed backup file names (backport #613)

Backport of #613.

@regdocs #623 Read
fix other-apps 3 weeks ago

Add the site name to streamed backup file names

Streamed backup file names now include the site slug, both locally and in S3, so the file says which site it belongs to.

@regdocs #613 Read

Thursday, October 8

ERPNext 40.6k 41 updates
fix accounting 3 weeks ago

One header to row copy for accounting dimensions

Accounting dimension copying from header to rows is now consistent across all doctypes.

@mihir-kandoi #59753 Read
fix accounting 3 weeks ago

Require a company

Electronic Invoice Register now requires a company filter.

@nabinhait #59905 Read
fix stock-manufacturing 3 weeks ago

Reject manual costs above the consumed cost on save, floor them on repost

Manual finished good costs above consumed cost are now rejected instead of silently discarded.

@rohitwaghchaure #60168 Read
fix stock-manufacturing 3 weeks ago

Warehouse Type bug fixes

Built-in Transit warehouse type can no longer be deleted.

@rohitwaghchaure #60118 Read
fix stock-manufacturing 3 weeks ago

UOM Category bug fixes

Two-step UOM conversions no longer bridge unrelated categories.

@rohitwaghchaure #60119 Read
fix stock-manufacturing 3 weeks ago

Stock Ledger Entry bug fixes

Fixed fallback rate calculation for stock issued while negative.

@rohitwaghchaure #60123 Read
fix stock-manufacturing 3 weeks ago

Stock Reposting Settings bug fixes

Fixed timeslot format and reposting start messaging.

@rohitwaghchaure #60124 Read
fix stock-manufacturing 3 weeks ago

Refresh POS item stock qty on new order

POS item grid stock quantities now refresh correctly when starting a new order.

@Shllokkk #60110 Read
fix accounting 3 weeks ago

Fail loudly when the reposting data file is missing or corrupt

Reposting now fails with clear errors instead of silently using empty checkpoints.

@nabinhait #57974 Read
fix stock-manufacturing 3 weeks ago

Pick outward batches before valuing the stock entry

Batches are auto-picked before rates are set, preventing incorrect valuations.

@mihir-kandoi #59661 Read
fix accounting 3 weeks ago

Set employee salary currency from company

Employee salary currency now defaults from the company instead of global defaults.

@akhtarmohsin #59206 Read
fix stock-manufacturing 3 weeks ago

Allow back-to-back working hours

Back-to-back workstation shifts no longer trigger overlap errors.

@Pandiyan5273 #60144 Read
fix stock-manufacturing 3 weeks ago

Reject invalid downtime intervals

Downtime entries now reject To Time earlier than From Time.

@Pandiyan5273 #60145 Read
fix accounting 3 weeks ago

Slot capacity, portal time zones and holidays, agent assignment and calendar event

Fixed slot capacity, timezone handling and holiday/calendar event conflicts.

@nabinhait #59892 Read
fix accounting 3 weeks ago

Unsubscribe handling, start-day and late steps, duplicate sends and template fields

Campaigns now include unsubscribe links, handle late steps correctly and avoid duplicate sends.

@nabinhait #59889 Read
fix accounting 3 weeks ago

Stale status, repeat conversion, delete permission and phone sync

Lead status no longer stays stuck after opportunity/quotation is deleted.

@nabinhait #59891 Read
fix accounting 3 weeks ago

Status from quotations, RFQ conversion factor, duplicate customers and prospect rows

Opportunity status now updates when quotations expire and RFQ mapping uses correct conversion factors.

@nabinhait #59890 Read
fix accounting 3 weeks ago

Opening entries, cross-year profit, opening balance and accumulated totals

Cash Flow correctly handles opening entries, profit across fiscal years and accumulated totals.

@nabinhait #59886 Read
fix accounting 3 weeks ago

Yearly profit, creditor turnover sign, company-currency averages and report roles

Report now uses yearly profit, correct signs and company currency for ratio calculations.

@nabinhait #59887 Read
fix accounting 3 weeks ago

Report roles, child-only account conversion and cash flow working capital

Fixed account conversion rates and cash flow calculations for multi-currency consolidation.

@nabinhait #59884 Read
fix accounting 3 weeks ago

Make the Account column a link to Account

Account column now respects user permissions.

@nabinhait #60026 Read
fix accounting 3 weeks ago

Apply user permissions to opening balances

User permissions on accounts now apply to opening balance queries.

@nabinhait #60002 Read
fix accounting 3 weeks ago

Periods across fiscal years and net profit without gross accounts

Date ranges crossing fiscal years and net profit calculations now include all relevant entries.

@nabinhait #59960 Read
fix accounting 3 weeks ago

Correct grand total %, tax columns and subtotals

Report now respects filters in % calculations and shows correct tax columns and subtotals.

@nabinhait #60027 Read
fix accounting 3 weeks ago

Start income and expense balances at the fiscal year

Account balances for income and expense accounts now respect fiscal year boundaries.

@nabinhait #60014 Read
fix accounting 3 weeks ago

Age rows without a bill date and fix bulk payment amounts

Accounts Payable now ages invoices without bill dates and calculates bulk payment amounts correctly.

@nabinhait #60015 Read
fix accounting 3 weeks ago

Fix cleared withdrawals and invoice currency

Fixed balance calculation for transactions cleared before posting date and multi-currency invoices.

@nabinhait #60024 Read
fix accounting 3 weeks ago

Split same-named parties and vouchers, fix company currency for foreign accounts

General Ledger no longer merges customers and suppliers with the same name.

@nabinhait #60046 Read
fix accounting 3 weeks ago

Make the Party column a dynamic link on Party Type

Party names in Payment Ledger are now clickable links to the customer or supplier.

@nabinhait #60025 Read
fix accounting 3 weeks ago

Honour over delivery allowance in Delivery Note mapper

Delivery Note can now include over-delivery quantities within the configured allowance.

@mihir-kandoi #60140 Read
fix accounting 3 weeks ago

Apply transaction date exchange rate to purchase receipts

Purchase Receipts now use the correct posting date exchange rate instead of the order date rate.

@mihir-kandoi #60180 Read
fix stock-manufacturing 3 weeks ago

Keep each batch's rate through a material transfer

Batch-wise valuation no longer shifts value between batches during transfers.

@mihir-kandoi #59657 Read
fix stock-manufacturing 3 weeks ago

Split manufacture cost over all finished good rows

Manufacturing cost is now correctly divided across multiple finished good receipt rows.

@rohitwaghchaure #59881 Read
fix stock-manufacturing 3 weeks ago

Reserve sub-assembly items taken from stock

Production Plan now correctly reserves sub-assembly stock taken from the warehouse.

@mihir-kandoi #60134 Read
fix stock-manufacturing 3 weeks ago

Do not auto-pick the same batch qty for every Stock Entry row

Auto-picked batches now correctly reduce available qty for subsequent rows.

@mihir-kandoi #60120 Read
fix stock-manufacturing 3 weeks ago

Stock Closing Balance bug fixes

Fixed valuation rate tracking and FIFO queue handling for stock closing entries.

@rohitwaghchaure #60126 Read
fix accounting 3 weeks ago

Use the group company column for consolidated profit totals

Consolidated Financial Statement profit rows no longer double-count subsidiary amounts.

@mihir-kandoi #59983 Read
fix accounting 3 weeks ago

Convert cash flow account type rows to the presentation currency

Cash Flow sections and Net Change in Cash now show correct totals when Presentation Currency is set.

@mihir-kandoi #59984 Read
fix accounting 3 weeks ago

Check task read permission before listing its child tasks

Child task listing now respects user permissions on parent tasks.

@mihir-kandoi #60152 Read
fix stock-manufacturing 3 weeks ago

Validate transaction context in item detail endpoints

Added context validation to prevent unauthorized access to item pricing and batch detail endpoints.

@mihir-kandoi #59860 Read
fix accounting 3 weeks ago

Add permission check for `get_company_defaults`

API endpoint now checks user permissions before returning company defaults.

@diptanilsaha #60167 Read
Frappe 11k 14 updates
fix developer-experience 3 weeks ago

Fix user input for lowercase boolean in set-config

fix(cli): Fix user input for lowercase boolean in set-config

@Bowrna #43885 Read
feat ui-ux 3 weeks ago

Show custom label first in the builder properties panel

Web Form builder now shows Custom Label first, followed by relevant properties per field type.

@g-sowani #43627 Read
feat ui-ux 3 weeks ago

Add avatar group component

New avatar group component with overlapping display, +N indicator and optional add button.

@sumitjain236 #43884 Read
feat framework 3 weeks ago

Scope a workflow to documents with conditions

Workflows can now be applied conditionally to documents based on field values, with priority support.

@mihir-kandoi #42689 Read
feat framework 3 weeks ago

Data import for child tables

Child tables now support CSV import with Insert, Update and Upsert modes, field pickers, column mapping and validation.

@ruchiigadgil #42812 Read
fix framework 3 weeks ago

Fix(installer)!: prefer flag over config for admin password during `new-site`

Command-line `--admin-password` flag now takes precedence over config file values.

@harshp4114 #43772 Read
fix framework 3 weeks ago

Not found error shows two messages in the same dialog

404 errors no longer show duplicate messages.

@kaulith #43870 Read
fix framework 3 weeks ago

Owner notifications skip documents created by Administrator

Notifications to document owner now resolve Administrator's email.

@kaulith #43340 Read
fix ui-ux 3 weeks ago

Name pages in the form builder

Web Form pages retain their names after builder saves.

@g-sowani #43636 Read
fix ai 3 weeks ago

Prompt user to update reply-to when email account address changes

Email account address changes now prompt to update Reply-To rows.

@shahzeelahmed #44064 Read
fix developer-experience 3 weeks ago

Crash on clicking Add tab in the sidebar

Form builder no longer crashes when adding tabs.

@g-sowani #44069 Read
fix framework 3 weeks ago

Show prepared report errors in the report view

Report failures now display error messages in the UI instead of silently failing.

@Abdeali099 #43534 Read
fix ui-ux 3 weeks ago

Keep standard builder formats on their shipped renderer

Standard print formats remain on their original renderers during migrations.

@iamejaaz #44085 Read
fix developer-experience 3 weeks ago

Discard client parsed validate_rename in whitelisted api

Removed client-side validation override in rename API to prevent privilege escalation.

@AarDG10 #44068 Read
HR 9k 1 update
fix hr-payroll 3 weeks ago

Block a half-day request on a full leave day

Half-day attendance requests are now correctly blocked when a full leave covers that day.

@iamkhanraheel #5390 Read
CRM 3.9k 5 updates
feat crm-sales 3 weeks ago

Feat(enrichment settings UI)

Enrichment settings now have a UI with toggle, crawl budget, and social profile rules.

@Shindhu-Ramaswamy #2927 Read
fix crm-sales 3 weeks ago

Readable email colors in dark mode and resizable editor

Email text and border colors are now readable in dark mode.

@ps173 #2989 Read
fix crm-sales 3 weeks ago

Use NestedSet for CRM Territory so lft/rgt and tree filters work

CRM Territory tree filters now work correctly with proper NestedSet implementation.

@Shindhu-Ramaswamy #2879 Read
fix crm-sales 3 weeks ago

Count unique deals per funnel stage

Funnel chart no longer counts the same deal multiple times when it moves between stages.

@svliantiss #2642 Read
fix crm-sales 3 weeks ago

Link Task/Note created from Call Log modal to its Lead/Deal

Tasks and Notes created from Call Log modal now link to the referenced Lead/Deal.

@Shindhu-Ramaswamy #2775 Read
LMS 3.3k 2 updates
fix other-apps 3 weeks ago

Show configured limit for oversized lesson uploads

File upload limit is now shown to users before upload.

@bvnaik05 #2898 Read
fix other-apps 3 weeks ago

Programming exercise saving and other misc issues

Students can now save programming exercise submissions with server-side grading.

@pateljannat #2899 Read
b Builder 2.5k 2 updates
feat ai 3 weeks ago

Create Bob chat sessions on the first message and stop autosave writing over Bob's edits

AI sessions now create on first message instead of on page load, and autosave respects AI edits.

@surajshetty3416 #941 Read
feat ui-ux 3 weeks ago

Add the server access model for extensions

Extensions can now declare and request capabilities on specific doctypes.

@stravo1 #877 Read
Insights 1k 1 update
feat other-apps 3 weeks ago

Stack a line chart's areas

Line charts can now be stacked to sum overlapping areas.

@nextchamp-saqib #1482 Read
o Other 19 updates
fix other-apps 3 weeks ago

Drop entry and frappe_cloud

fix(telemetry): drop entry and frappe_cloud

@gajjug004 #840 Read
fix other-apps 3 weeks ago

Keep page meta when extendRoute replaces route.meta

fix: keep page meta when extendRoute replaces route.meta

@ruchamahabal #294 Read
feat other-apps 3 weeks ago

Feat!: remove Desk access from Suite User and Suite Admin

Suite User and Suite Admin roles no longer grant Desk access.

@s-aga-r #971 Read
feat other-apps 3 weeks ago

Support Generic provider and Ubuntu 26.04 in atlas-vm

Generic provider and Ubuntu 26.04 guest image support added.

@tanmoysrt #339 Read
feat other-apps 3 weeks ago

Switch theme from search by typing dark or light

Typing "dark" or "light" in search now shows theme switch actions.

@vishwajeet-13 #839 Read
feat other-apps 3 weeks ago

Add an embeddable settings UI

Cloud Settings now available as typed SDK for use in any app with optional shared dialog.

@prathameshkurunkar7 #593 Read
feat other-apps 3 weeks ago

Split the canvas into typed modules, with editing fixes

Canvas refactored into ~28 typed modules with editing fixes for selections and fills.

@krishpinto #968 Read
feat other-apps 3 weeks ago

IronCalc calculation core, previewed behind ?engine=ironcalc

IronCalc calculation engine integrated as an optional backend for Sheets.

@krishpinto #966 Read
feat other-apps 3 weeks ago

Split delivery for relaying domains, and S3 blob store bootstrap

Mail routing now properly handles relaying domains and S3 blob store initialization.

@s-aga-r #18 Read
feat other-apps 3 weeks ago

Create accounts that send mail but do not receive it

Suite Cloud accounts can be created with receiving disabled via Stalwart permissions.

@s-aga-r #19 Read
feat other-apps 3 weeks ago

Invite accounts that send mail but do not receive it

Mail accounts can now be created send-only with receiving disabled.

@s-aga-r #964 Read
fix other-apps 3 weeks ago

Complete Generic setup without a provider catalog

Generic provider setup no longer requires provider catalog records.

@tanmoysrt #340 Read
fix other-apps 3 weeks ago

Offer empty partitions as the Generic storage pool device

Host setup now accepts empty partitions and RAID arrays as storage devices.

@tanmoysrt #341 Read
fix other-apps 3 weeks ago

Answer ARP for attached public IPv4 addresses

VM public IPv4 addresses now respond to ARP requests.

@tanmoysrt #342 Read
fix other-apps 3 weeks ago

Answer NDP for attached public IPv6 addresses

VM public IPv6 addresses now respond to neighbor discovery.

@tanmoysrt #343 Read
fix other-apps 3 weeks ago

Claim public addresses on the public interface

Metal now claims public addresses on the correct interface.

@tanmoysrt #344 Read
fix other-apps 3 weeks ago

Give Suite Cloud 30 seconds to accept a connection

Suite Cloud connection timeout increased from 5 to 30 seconds.

@s-aga-r #969 Read
fix other-apps 3 weeks ago

Make the zone file export importable into Route 53

Zone file exports now split long TXT values and properly format target records.

@s-aga-r #970 Read
fix other-apps 3 weeks ago

Sync invoices on ERPNext v15+

Fixed failing Unicommerce invoice sync by using item-wise tax flow.

@Shllokkk #471 Read

Wednesday, October 7

ERPNext 40.6k 27 updates
feat accounting 3 weeks ago

Report to find and fix uncancelled SLEs of cancelled vouchers

New Stock report finds Stock Ledger Entries with is_cancelled=0 whose voucher is cancelled, so admins can repair entries affected by repost race condition.

@rohitwaghchaure #60021 Read
feat stock-manufacturing 3 weeks ago

Stock Valuation Comparison report

Report of actual vs expected stock valuation for auditing ledger accuracy (v16-hotfix backport).

@rohitwaghchaure #60059 Read
feat stock-manufacturing 3 weeks ago

Stock Valuation Comparison report of actual vs expected valuation

New script report shows every Stock Ledger Entry's actual vs expected balance qty, value and rate with basis for expected (FIFO queue, batch average, serial rate, reconciliation).

@rohitwaghchaure #59487 Read
fix accounting 3 weeks ago

Add permission checks from the bug reviews

Permission findings from bug reviews added systematically across multiple doctypes.

@mihir-kandoi #59935 Read
fix accounting 3 weeks ago

Request for Quotation and Supplier Quotation bug review fixes

RFQ and Supplier Quotation workflow and comparison report bugs fixed across 16 commits.

@mihir-kandoi #59855 Read
fix accounting 3 weeks ago

Maintenance Schedule and report bug review fixes

Maintenance Schedule, Visit and report permission and calculation bugs fixed.

@mihir-kandoi #59875 Read
fix accounting 3 weeks ago

Procurement Tracker and subcontracting report bugs

Tracker and subcontracting report edge cases and calculations fixed.

@mihir-kandoi #59868 Read
fix accounting 3 weeks ago

Quality Management bug review fixes

Corrective action and other Quality module bugs fixed with individual commits per issue.

@mihir-kandoi #59872 Read
fix accounting 3 weeks ago

Project bug review fixes

Project status transitions now validate correctly and other project flow bugs fixed.

@mihir-kandoi #59866 Read
fix accounting 3 weeks ago

Timesheet bug review fixes

Timesheet and Sales Invoice row billing edge cases corrected.

@mihir-kandoi #59867 Read
fix accounting 3 weeks ago

Buying Settings and Supplier bug review fixes

Buying Settings and Supplier permission and validation bugs fixed.

@mihir-kandoi #59871 Read
fix accounting 3 weeks ago

Task bug review fixes

Task dependents never rescheduled and other task workflow bugs fixed.

@mihir-kandoi #59870 Read
fix accounting 3 weeks ago

Reject stale standing part in Supplier Scorecard

Supplier Scorecard bugs fixed: status calculation, period windows and other edge cases now correct.

@mihir-kandoi #59869 Read
fix accounting 3 weeks ago

Guard acc_frozen_upto reads in pre-v16 patches

Three old patches crashed on develop when they read removed Accounts Settings field; now guarded with existence check.

@nabinhait #58775 Read
fix accounting 3 weeks ago

Skip reporting-currency conversion when no reporting currency is set

v14 migration crashed with ReportingCurrencyExchangeNotFoundError when company had no reporting currency; now skips conversion.

@nabinhait #58774 Read
fix accounting 3 weeks ago

V15 asset depreciation schedule patch on current develop

v15 migration crashed when it called removed helper function; now uses current API with same field mapping.

@nabinhait #58773 Read
fix stock-manufacturing 3 weeks ago

Validate material request transfer warehouses

Material Request transfer had no warehouse validation, allowing mismatched from/to warehouses; added validation.

@Pandiyan5273 #59878 Read
fix accounting 3 weeks ago

Include child territories and groups in Inactive Sales Items report

Territory filter matched the invoice's own territory only, missing child and group territories; now includes all descendants and ignores credit note returns.

@nabinhait #60043 Read
fix accounting 3 weeks ago

Scope accounting dimension defaults to the asset's company

Every company's dimension settings applied to asset entries, so another company's mandatory field stamped values that failed validation; now scoped to the asset's company.

@nabinhait #59734 Read
fix stock-manufacturing 3 weeks ago

Honour Price Not UOM Dependent in transactions

Price list flag had no effect because code read a key that never existed; now uses the correct key.

@nabinhait #59736 Read
fix accounting 3 weeks ago

Fix two develop tests broken by crossed merges

Tests written before a validation merged failed on develop; now follow the correct flow that the validation allows.

@mihir-kandoi #60105 Read
fix accounting 3 weeks ago

Keep a task in its parent task's project

Duplicated projects left child tasks pointing at the original parent's project; now updated to point at the copied parent.

@mihir-kandoi #60104 Read
fix accounting 3 weeks ago

Bill the remaining amount after the full qty is billed

SO rows with milestone billing (full qty at lower rate) could not bill the remaining amount; mapper, picker and button now count full qty as billed.

@mihir-kandoi #59974 Read
fix accounting 3 weeks ago

Convert PO amount to company currency for budget validation

Foreign currency POs compared against budget without rate conversion and bypassed Over Budget check; now multiplied by order rate.

@ervishnucs #60109 Read
fix accounting 3 weeks ago

Check overproduction only on the job card's operation

Lowered overproduction allowance on one operation blocked all others in the Work Order; now checks only the Job Card's own operation.

@mihir-kandoi #60065 Read
fix accounting 3 weeks ago

Do not allow finished good qty above finished good quantity

Manufacture entries with finished good rows raised above the entry qty bypassed validation; now checked against both process loss and entry qty.

@rohitwaghchaure #59877 Read
fix stock-manufacturing 3 weeks ago

Do not reserve existing stock for produced serial no rows

SO rows with "Ensure Delivery Based on Produced Serial No" had their existing stock double-reserved when the SO submitted; now skipped for those rows.

@Sudharsanan11 #59828 Read
Frappe 11k 23 updates
feat ui-ux 3 weeks ago

Publish prebuilt assets for Pilot

Frappe assets built in CI and published across develop, version-16 and hotfix branches for Pilot benches.

@tanmoysrt #43827 Read
feat framework 3 weeks ago

Add dedicated "Add Roles" and "Remove Roles" bulk actions

User list view now has safe "Add Roles" and "Remove Roles" actions that append or strip roles without overwriting existing ones.

@dankgarlic1 #42581 Read
feat framework 3 weeks ago

Sort tree view nodes alphabetically

Tree view toolbar now has a Sort dropdown for client-side alphabetical sorting of tree nodes.

@sumitjain236 #43839 Read
feat ui-ux 3 weeks ago

Add frappe.ui.BottomSheet for phones

New phone-friendly bottom sheet component with steps, auto Back button, drag to resize or dismiss, loaded on demand like chart components.

@sumitjain236 #43767 Read
fix framework 3 weeks ago

Child table links hide direct links on the same field

Reverse relationships with same fieldname kept only child link in automation picker; now includes both with deduplicated names.

@kaulith #43283 Read
fix framework 3 weeks ago

Worker re-registration when Redis key expires

Worker registration expired in Redis if heartbeat missed TTL; now re-registers on heartbeat to stay visible.

@mihir-kandoi #43377 Read
fix framework 3 weeks ago

Review bot posts the same review twice when dispatched twice

CI dispatch race condition caused duplicate review posts; now protected against concurrent posts.

@kaulith #43857 Read
fix framework 3 weeks ago

Download with more relevant filename

Print download filename improved when print happens via printview API.

@Bowrna #43832 Read
fix framework 3 weeks ago

Query recorder leaves sql on connection, breaks later tests

Query capture in tests failed after recording or assertRowsRead left sql on connection; both now clear it.

@kaulith #43829 Read
fix ui-ux 3 weeks ago

Release fixes for the print format builder

Missing format no longer shows blank page, letter head footer positioning fixed, page breaks and table defaults corrected for release.

@iamejaaz #43893 Read
fix ui-ux 3 weeks ago

Field list spacing and search box size in print format builder

Print format editor left panel had spacing and sizing inconsistencies; fixed search box height, field row height, group divider spacing.

@iamejaaz #43891 Read
fix framework 3 weeks ago

Int field used as the document name becomes a string

autoname with Int field turned `3` into `"3"` on save; with set-only-once the second save failed with "Value cannot be changed". Name now converted to field type.

@mergify #43861 Read
fix framework 3 weeks ago

Keep sites before the setup wizard on Apps

Standby sites upgraded ahead of signup were pinned to desktop icon grid and shown the "try new navigation" banner; now left alone until setup wizard completes.

@sokumon #43900 Read
fix framework 3 weeks ago

Restore pre-upgrade workspace edits from version history

v16→v17 upgrade re-imported workspaces and lost all custom edits; now offers `/desk/workspace-restore` to rebuild edits as Custom Workspaces.

@sokumon #43888 Read
fix ui-ux 3 weeks ago

Add icons to top-level sidebar links missing one

Top-level sidebar links in Contacts, Geo and other shipped sidebars rendered with empty icon slots; added icons for all.

@sokumon #43887 Read
fix framework 3 weeks ago

List custom modules in the block-module editor

Custom modules without an app never got checkboxes and were quietly unblocked on form save; now listed and checkboxes work.

@sokumon #43881 Read
fix framework 3 weeks ago

Fix print format editor fixes for missing formats, footer position and layers

Opening editor for deleted format showed blank page; footer appeared at content bottom instead of page bottom with repeat off; header/footer zones unnamed in inspector.

@iamejaaz #43892 Read
fix framework 3 weeks ago

Use indexed modified column in large table check

Meta rebuild queried creation column without an index on v15; now uses indexed modified column to avoid full table scan.

@balamurali27 #43894 Read
fix framework 3 weeks ago

Run automation drains at read committed

Repeatable-read snapshot made TimestampMismatchError retry reread stale rows; MariaDB 11.6+ rejects locking read outright. Drains now run at READ COMMITTED.

@shahzeelahmed #43831 Read
fix framework 3 weeks ago

Table in a dialog ignores read only

Grid outside a form treated tables as editable even when read_only was set, and toggling it back failed; now respects read_only flag.

@kaulith #43417 Read
fix framework 3 weeks ago

Open count link drops the document filter on the list

Clicking a dashboard's open count routed to the list twice and the second route dropped filters; now routes once with both filters.

@kaulith #43515 Read
fix framework 3 weeks ago

Currency field keeps the old precision after the currency changes

Rows added under one currency dropped decimals when the document's currency changed; control now reads current currency on every save.

@kaulith #43809 Read
fix framework 3 weeks ago

Save cell value on tab from last column before switching rows

Tabbing out of the last editable column skipped blur and reverted the typed value; now commits before switching rows.

@KerollesFathy #43033 Read
HR 9k 9 updates
feat hr-payroll 3 weeks ago

Publish prebuilt assets for Pilot

HRMS assets built in CI and published for Pilot; frontend and roster SPAs declared in bench.assets.

@tanmoysrt #5365 Read
feat hr-payroll 3 weeks ago

Module onboarding, documentation links and icons

Each HR module workspace opens with first-transaction onboarding; DocTypes and reports now link to documentation; Lucide icons and sidebar refinements added.

@deepeshgarg007 #5384 Read
fix hr-payroll 3 weeks ago

Setup Shift Schedule duplicate assignment on end date

Repeating Shift Schedule ending on schedule week's last day created final assignment twice; now resets start date after end-date insert.

@mergify #5369 Read
fix hr-payroll 3 weeks ago

Add hook for module redirection

HR module needed code-only hook declaration so custom HR Setup heir can handle navigation and dock entry.

@sokumon #5378 Read
fix hr-payroll 3 weeks ago

Resolve conflicts in CheckInPanel

Merge conflict markers left in CheckInPanel broke CI check; resolved.

@nareshkannasln #5382 Read
fix hr-payroll 3 weeks ago

Remove old salary slip print formats

Old salary slip formats superseded by Classic/Detailed/Compact; patch deletes them and migrates links to replacements.

@mergify #5371 Read
fix hr-payroll 3 weeks ago

Improve validations in interview workflows

Interview form validations apply to workflow documents; improved error messages and edge case handling.

@mergify #5373 Read
fix hr-payroll 3 weeks ago

Allocate leaves left in annual quota instead of skipping allocation

Earned Leave Schedule rounded up and exceeded quota, skipping later periods and throwing errors; now capped to annual allocation.

@mergify #5314 Read
fix hr-payroll 3 weeks ago

Show Start Date and End Date in system date format in Salary Register

Start and End Date columns ignored System Settings date format unlike other date fields; changed field type to respect the format setting.

@mergify #5372 Read
CRM 3.9k 6 updates
feat crm-sales 3 weeks ago

Publish prebuilt assets for Pilot

CRM assets built for main branch against Frappe version-16; Pilot benches download instead of building on install.

@tanmoysrt #2971 Read
fix crm-sales 3 weeks ago

Add trailing semicolons to ERPNext doctype_js scripts

Missing semicolon at end of doctype script let next script's array literal run as previous statement; added trailing semicolons.

@SridharNeti #2970 Read
fix crm-sales 3 weeks ago

Deal contact organization filter

Contact dropdown listed every contact, ignoring the Deal's Organization; now filters by organization and lets users set company_name from the deal form.

@Shindhu-Ramaswamy #2770 Read
fix crm-sales 3 weeks ago

Show the call's referenced lead or deal instead of a phone number match

Call log contact name came from phone lookup even when the reference document was available; now reads from reference first.

@ps173 #2974 Read
fix crm-sales 3 weeks ago

Keep the time of day and site time zone in the Meta lead sync window

Meta lead sync skipped leads created between site midnight and UTC midnight on sites ahead of UTC; now converts to Unix timestamp and preserves time of day.

@ps173 #2979 Read
fix crm-sales 3 weeks ago

Show save error on the failing step when a wait has arms

Save errors on WaitForEvent branches attached to wrong step or were dropped; now correctly marked on the failing step.

@rs-rethik #2975 Read
Helpdesk 3.4k 1 update
feat other-apps 3 weeks ago

Publish prebuilt assets for Pilot

Helpdesk assets built in CI and published for Pilot download; benches skip slowest asset build step on install/update.

@tanmoysrt #3841 Read
LMS 3.3k 6 updates
feat other-apps 3 weeks ago

Link self-hosted sites to the Payments repo, not the marketplace

LMS Settings Payments missing warning now links to GitHub repo for self-hosted, Frappe Cloud marketplace for Frappe Cloud.

@sofyan-ahmad #2704 Read
feat other-apps 3 weeks ago

Let Course Creators manage the batches they are tagged on

Course Creators now edit tagged batches, enrol students and run live classes; cannot create/delete batches. Moderators create and tag them.

@mergify #2845 Read
feat other-apps 3 weeks ago

Restrict who can assign a badge

Only staff roles can create LMS Badge Assignment; automatic awarding still works so students get earned badges.

@mergify #2846 Read
fix other-apps 3 weeks ago

Show the server's message when a course import fails

Course import toast showed exception class but dropped the reason; now reports server's error messages.

@anufrien #2689 Read
fix other-apps 3 weeks ago

Limit what a course archive can create

Course imports ran permission checks only on first insert; now run normal permissions for Course Evaluators and keep only existing users and evaluators.

@raizasafeel #2895 Read
fix other-apps 3 weeks ago

Serve private question images like lesson media

Quiz images uploaded to private paths blocked student access; now rewritten to a secure endpoint that vouches file access to the question author.

@harshpwctech #2864 Read
b Builder 2.5k 4 updates
feat ui-ux 3 weeks ago

Publish prebuilt assets for Pilot

Builder assets built in CI and published for Pilot on develop and master branches.

@tanmoysrt #932 Read
feat ui-ux 3 weeks ago

Add frappe-builder agent skill

Coding agents (Claude Code, Codex) can now manage Builder sites via frappectl; one tool for sites, pages and components; settings > agents shows one-line prompt.

@surajshetty3416 #906 Read
fix ui-ux 3 weeks ago

Drop weak-model handholding from Bob's prompts

AI generation prompts had weak-model guards; refactored to sentence case without em dashes and added AI-tells rule to catch stock phrases.

@surajshetty3416 #942 Read
fix ui-ux 3 weeks ago

Give every pasted image its own file name

Pasting multiple images left them empty as uploads raced on same `.temp-image.png` path; each now gets unique name.

@surajshetty3416 #939 Read
Insights 1k 3 updates
feat other-apps 3 weeks ago

Publish prebuilt assets for Pilot

Insights frontend SPA built in CI and published for Pilot benches.

@tanmoysrt #1479 Read
feat other-apps 3 weeks ago

Read a dashboard's span as the Period of a Number card that states none

Number cards now read dashboard `within` span as Period so comparison has previous span to step back from, fixing comparison on adhoc filters.

@nextchamp-saqib #1480 Read
fix other-apps 3 weeks ago

Clear old Insights Query Execution Logs

Query execution log grows unbounded and reached 1.1GB on production; now has clear_old_logs method registered in Log Settings for user-configured purge.

@chdecultot #1469 Read
p Press 575 4 updates
feat other-apps 3 weeks ago

Revive clamav

ClamAV file scanning service restored on servers for virus detection.

@ssiyad #7673 Read
fix other-apps 3 weeks ago

Queue Deploy Now on the build queue

Deploy Now jobs sat queued behind the long queue backlog; now queue on build queue like Release Pipeline does.

@regdocs #7684 Read
fix other-apps 3 weeks ago

Reject control characters in environment variables

Newlines in environment variables broke Dockerfile rendering and executed arbitrary directives; now validated on save and before rendering.

@ssiyad #7678 Read
fix other-apps 3 weeks ago

Type pagination arguments that reach the query builder

Limit and offset reached the query as SQL text instead of type-coerced integers; now annotated as int on get_notifications.

@ssiyad #7683 Read
o Other 19 updates
feat other-apps 3 weeks ago

Move frappe apps to their branch heads and add whatsapp

Registry updated: 17 frappe apps now point to branch heads; whatsapp app added since crm develop depends on it.

@tanmoysrt #30 Read
feat other-apps 3 weeks ago

Stream remote backup files into the site

Remote site restores now stream file archives into tar instead of copying to disk; idle tasks send heartbeats so long restores don't block Admin.

@tanmoysrt #574 Read
feat other-apps 3 weeks ago

Publish prebuilt assets for Pilot (version-16)

Blog assets published for version-16 branch and Pilot benches.

@tanmoysrt #30 Read
feat other-apps 3 weeks ago

Publish prebuilt assets for Pilot

Blog assets built in CI and published for Pilot benches on develop and version-16.

@tanmoysrt #29 Read
feat other-apps 3 weeks ago

Classify incoming mail by its headers

Mail sorted into Primary, Promotions, Social, Updates and Forums from headers on first fetch; category stored as keyword on server.

@s-aga-r #962 Read
feat other-apps 3 weeks ago

Publish prebuilt assets for Pilot

Lending assets built in CI and published for Pilot; benches download prebuilt archives and skip asset build.

@tanmoysrt #1482 Read
feat other-apps 3 weeks ago

Send Pilot telemetry as pilot-common-config

Central telemetry settings now sent in pilot-common-config metadata format; Pilot merges into common_config.toml for cleaner config management.

@tanmoysrt #428 Read
feat other-apps 3 weeks ago

Send a common site config to every new server

Central Settings Common Site Config JSON field sent to every server at bootstrap so apps get settings on install or later.

@prathameshkurunkar7 #429 Read
feat other-apps 3 weeks ago

Apply config patches from instance metadata

Central can set any key in common_config.toml, bench.toml or common_site_config.json via instance metadata without Pilot code changes.

@tanmoysrt #589 Read
feat other-apps 3 weeks ago

Sign in trial owners and keep one address for trial sites

Trial owners now sign in as themselves with token from Pilot; site can be renamed and Central provides team identity token.

@prathameshkurunkar7 #590 Read
fix other-apps 3 weeks ago

Run the Ansible pinned with the app, not the host's

Verify SSH failed with host Ansible too old; now runs Ansible pinned with the app.

@s-aga-r #14 Read
fix other-apps 3 weeks ago

Hold Ansible at the 12 line so Ubuntu 20.04 nodes work

Ansible-core 2.20+ requires Python 3.9 but Ubuntu 20.04 has 3.8; pinned to ansible 12 line with ansible-core 2.16.

@s-aga-r #15 Read
fix other-apps 3 weeks ago

Install the static stalwart-cli so Ubuntu 20.04 nodes can bootstrap

Ubuntu 20.04 glibc too old for gnu stalwart-cli; now downloads musl build which is statically linked.

@s-aga-r #16 Read
fix other-apps 3 weeks ago

PDF loading state for public PDF embeds

PDF embeds showed empty strip until PDF.js rendered; now show page-shaped skeleton during load.

@gajjug004 #835 Read
fix other-apps 3 weeks ago

Wiki v3 on Frappe v15 support

Wiki v3 only ran on v16+, failing install and migration on v15; now one codebase with API detection for both versions.

@gajjug004 #833 Read
fix other-apps 3 weeks ago

Skip lowercase component names in build, treat them as native elements

Build tool incorrectly treated lowercase component names as Vue components; now skips them as native elements.

@ruchamahabal #291 Read
fix other-apps 3 weeks ago

Pre-bundle every prosemirror package so TextEditor and frappe-ui/editor share one copy

ActivityTimeline failed to load in dev with duplicate selection JSON ID error; now bundles prosemirror to avoid duplication.

@ruchamahabal #292 Read
fix other-apps 3 weeks ago

Clear loan closure_date when a closing repayment is cancelled

Cancelled payment left closure_date on loan so it looked closed despite amount due; now clears the date.

@Nihantra-Patel #1490 Read
fix other-apps 3 weeks ago

Strip embedded JavaScript from invoice PDFs before attaching

Unicommerce PDFs with auto-print scripts blocked sync; now sanitized before saving to strip JS while keeping page destinations and forms intact.

@Bhavathariniya #476 Read

Tuesday, October 6

ERPNext 40.6k 18 updates
fix stock-manufacturing 3 weeks ago

Allow group warehouse for raw material availability in production plan

Add optional Raw Material Group Warehouse; sum availability across children while receiving into For Warehouse.

@mihir-kandoi #59760 Read
fix accounting 3 weeks ago

Project UX cleanup

Improve Project form: regroup timeline fields, bring tasks into the project, allow task assignment, improve portal users section.

@nishkagosalia #59586 Read
fix stock-manufacturing 3 weeks ago

Enforce UOM restrictions in sales and purchases

Apply UOM conversion rule in Item defaults and transactions when "Allow UOM with conversion rate" is on.

@mihir-kandoi #59754 Read
fix stock-manufacturing 3 weeks ago

Raw material group warehouse fixes in production plan

Prevent For Warehouse from being the group itself; count group stock once; fix custom warehouse search.

@mihir-kandoi #59759 Read
fix stock-manufacturing 3 weeks ago

Allocate only the untransferred qty of reserved batches

Return untransferred qty from get_reserved_materials instead of full qty after partial transfers.

@mihir-kandoi #59756 Read
fix stock-manufacturing 3 weeks ago

Allocate reserved batches up to the requested qty

Distribute reserved batches to the requested qty instead of always transferring the full reserved amount.

@mihir-kandoi #59755 Read
fix stock-manufacturing 3 weeks ago

Count a split batch once across work order reservations

Count each reservation's share of a split batch, not the full moved qty.

@mihir-kandoi #59758 Read
fix stock-manufacturing 3 weeks ago

Fetch BOM rows in stock UOM when getting items

Return BOM rows in stock UOM without extra UOM/conversion-factor fields to prevent double conversion.

@mihir-kandoi #59803 Read
fix accounting 3 weeks ago

Use imported query functions in scorecard variables

Fix AttributeError in Supplier Scorecard variables by importing query functions instead of using frappe.qb.fn.

@mihir-kandoi #59799 Read
fix accounting 3 weeks ago

Apply company restriction in standard cost item query

Apply Item company restrictions when picking items for Standard Cost.

@mihir-kandoi #59840 Read
fix accounting 3 weeks ago

Clear advances from invoice returns

Remove advance allocations from credit notes instead of copying invalid rows.

@Pandiyan5273 #59612 Read
fix accounting 3 weeks ago

Validate Delivery Note return rows without dn_detail

Check unlinked return rows against item's total delivered qty; throw if item not in original.

@Pandiyan5273 #59796 Read
fix accounting 3 weeks ago

Keep Include Closed Orders out of the other trends reports

Prevent Include Closed Orders filter from leaking between trend reports via shallow-copied shared filters.

@mihir-kandoi #59912 Read
fix accounting 3 weeks ago

Procurement Tracker actual cost in company currency

Show Procurement Tracker actual cost for uninvoiced lines in company currency, not order currency.

@mihir-kandoi #59911 Read
fix stock-manufacturing 3 weeks ago

Serial and batch fixes for subcontracting inward returns and consumption

Fix serial and batch allocation and validation in subcontracting inward returns.

@mihir-kandoi #59910 Read
fix accounting 3 weeks ago

Subcontracting Inward Order bug review fixes

Fix batch-wise and serial-wise return validation for subcontracting inward orders.

@mihir-kandoi #59876 Read
fix accounting 3 weeks ago

Split shared invoices over all their sales orders in payment terms status report

Divide invoice amounts correctly between all sales orders when one invoice covers several orders.

@diptanilsaha #60000 Read
fix accounting 3 weeks ago

Make currency parameters optional in get_exchange_rate

Prevent `FrappeTypeError` when opening a Quotation without a preset Company.

@Afsalsyed #59702 Read
Frappe 11k 7 updates
fix developer-experience 3 weeks ago

Clear client supplied content hash for remote files

Ignore client-supplied content hash for remote files since they have no real hash.

@AarDG10 #43820 Read
fix ui-ux 3 weeks ago

Enforce Desk User read permissions on attachments

Hide the add attachment button from users without write access.

@kaulith #43847 Read
fix framework 3 weeks ago

Int field used as the document name becomes a string

Convert Int-field document names to the field's type before set-only-once checks.

@kaulith #43844 Read
fix framework 3 weeks ago

Drop the duplicate Logout from the apps screen menu

Remove stray Logout entry that was duplicated during backport conflict resolution.

@sokumon #43856 Read
fix framework 3 weeks ago

Letter head, version history and print page fixes

Fix letter head editing, version history sidebar, and print page in the print form builder.

@iamejaaz #43838 Read
fix framework 3 weeks ago

Letter head Based on toggle switches to Image

Show the image upload when picking Image for a letter head with existing HTML content.

@iamejaaz #43841 Read
fix framework 3 weeks ago

Size dock icons with icon-size classes only

Remove contextual CSS overrides and set dock icon sizes via icon-md and icon-lg classes.

@sokumon #43840 Read
HR 9k 2 updates
fix hr-payroll 3 weeks ago

Improve validations in interview workflows

Improve interview workflow validation logic.

@iamkhanraheel #5340 Read
fix hr-payroll 3 weeks ago

Show Start Date and End Date in system date format in Salary Register

Apply the system date format to Salary Register Start Date and End Date columns.

@akhtarmohsin #5370 Read
CRM 3.9k 1 update
fix crm-sales 3 weeks ago

Multi-select picker for in / not in operators

Use MultiSelect picker for in / not in filter operators matching the field type.

@Neha611 #2891 Read
Helpdesk 3.4k 1 update
fix other-apps 3 weeks ago

Show translated field labels in the customer portal

Apply `__()` to field labels so translations are used in the customer sidebar and template.

@RitvikSardana #3839 Read
LMS 3.3k 3 updates
fix other-apps 3 weeks ago

Make a11y: make learner pages usable by keyboard and screen readers

WCAG 2.2 AA audit fixes: video controls visibility on focus, proper buttons for keyboard navigation, screen reader support.

@raizasafeel #2848 Read
fix other-apps 3 weeks ago

Change all batches tab to active and implemented dynamic title name

Replace "All" tab with "Active" for admins and make page title reflect selected tab.

@ajzal-byte #2727 Read
fix other-apps 3 weeks ago

Create lesson only once its title is typed

Create new lessons on idle, blur or Ctrl/Cmd+S instead of immediately inserting an untitled placeholder.

@raizasafeel #2852 Read
b Builder 2.5k 9 updates
feat ui-ux 3 weeks ago

Preview state styles during canvas drags

Canvas drag handles now read and write the active state style instead of falling back to base style.

@stravo1 #684 Read
feat ai 3 weeks ago

Offer the latest models in AI setup, drop the cheap tiers

Refresh Builder's AI model list to include Claude Sonnet 5.5, Opus 5.5, Fable 5.1 and the latest OpenAI/Google models.

@surajshetty3416 #927 Read
feat ui-ux 3 weeks ago

Ask before saving a client script shared by other pages

Prompt to update all pages or save as copy for this page when editing a shared client script.

@surajshetty3416 #936 Read
fix ui-ux 3 weeks ago

Fix page editor Cmd/Ctrl+S to save a version

Add a dialog offering to save the current state as a version; repeat presses save directly with a toast.

@stravo1 #931 Read
fix ui-ux 3 weeks ago

Drop the stale Builder Component connection on client scripts

Remove the Builder Component connection backed by a table that was already deleted.

@surajshetty3416 #934 Read
fix ui-ux 3 weeks ago

Give copied client scripts a fresh hash instead of appending one

Swap trailing hash chain for one fresh hash when copying pages to avoid name bloat.

@surajshetty3416 #933 Read
fix ui-ux 3 weeks ago

Keep newly drawn text block in edit mode

Ignore outside clicks while in text mode so the trailing mouseup click doesn't clear the new block.

@SmrutiSawant #937 Read
fix ui-ux 3 weeks ago

Keep canvas history tracking resumable when a batched callback throws

Wrap history resume in finally block so undo/redo tracking resumes even if batch callback fails.

@magic-peach #918 Read
fix ui-ux 3 weeks ago

Make client script editing reliable

Prevent unsaved text loss when a save is in flight; send modified timestamp to catch stale saves.

@surajshetty3416 #938 Read
o Other 11 updates
feat other-apps 3 weeks ago

Add @frappe/cloud-sdk package

Add cloud SDK package to Pilot.

@siduck #569 Read
feat other-apps 3 weeks ago

Remove add-on service

Replace Add-on Service DocType with a Select field on Team Service.

@prathameshkurunkar7 #422 Read
feat other-apps 3 weeks ago

Take site links from the www/sitemap page instead of rebuilding frappe's

Let app sitemap overrides take effect by reading site links from the page instead of rebuilding.

@surajshetty3416 #831 Read
feat other-apps 3 weeks ago

Add frappe-wiki-skill agent skill with wikictl helper

Add skill and stdlib-only CLI for agents to edit wiki pages over frappectl.

@NagariaHussain #834 Read
feat other-apps 3 weeks ago

BMC support for generic provider

Add Baseboard Management Controller (Redfish) support for generic Atlas provider: power state, boot options.

@the-bokya #338 Read
feat other-apps 3 weeks ago

Extensible routing and boot data

Add thin abstraction layer for app routing extensions, aliases, guards and router options.

@ruchamahabal #260 Read
breaking other-apps 3 weeks ago

Pre-bundle prosemirror to avoid breaking TextEditor in dev mode

Pre-bundle prosemirror and remove frappe-ui from optimizeDeps to fix TextEditor in dev.

@ruchamahabal #288 Read
fix other-apps 3 weeks ago

Theme-aware canvas and color-scheme for rendered apps

Set color-scheme and page background to match browser dark mode; fix iframe backdrop color.

@ruchamahabal #286 Read
fix other-apps 3 weeks ago

Focus the invite email and dialog-hosted forms

Apply autofocus to the invite email input and first text input in dialog-hosted forms.

@prathameshkurunkar7 #425 Read
fix other-apps 3 weeks ago

Focus the first text input of forms and dialogs

Set autofocus on first text input in auth pages and form dialogs.

@prathameshkurunkar7 #423 Read
fix other-apps 3 weeks ago

Keep search and notifications in history when opening a result

Prevent back button from skipping Search/Notifications page after opening a result; use redirect guards correctly.

@Jeesha09 #603 Read

Monday, October 5

ERPNext 40.6k 6 updates
feat accounting 3 weeks ago

Default import template fields and descriptions for common DocTypes

Common ERPNext doctypes now have default import fields and user-facing descriptions.

@nikkothari22 #59775 Read
feat stock-manufacturing 3 weeks ago

Map raw material serial / batch to finished good serial / batch for traceability

Serial and Batch Traceability report now maps raw materials used in production to the finished goods they became, enabling accurate supplier recalls and customer traceability.

@rohitwaghchaure #59706 Read
fix accounting 3 weeks ago

Convert PO amount to company currency

Over Budget restriction was not enforced on purchase orders in foreign currency.

@ervishnucs #59161 Read
fix accounting 3 weeks ago

Check tax template access in get_taxes_and_charges

Validates read access to tax templates before returning them for forms.

@diptanilsaha #59784 Read
fix accounting 3 weeks ago

Check read on purchase document in get_values_from_purchase_doc

Validates user can read the purchase document before filling asset details from it.

@diptanilsaha #59788 Read
fix stock-manufacturing 3 weeks ago

Do not revive cancelled stock ledger entry during reposting

Item valuation reposting was saving cancelled stock ledger entries back to the database, marking them as active again; reposting now updates only valuation figures, leaving entry status untouched.

@rohitwaghchaure #59768 Read
Frappe 11k 10 updates
feat framework 3 weeks ago

Default import template fields for Address, Contact and User

Default import fields are now defined for Address, Contact and User doctypes.

@nikkothari22 #43800 Read
feat framework 3 weeks ago

Shared pages open in any shell, system pages in none

Pages now open in the shell they were launched from (e.g. printing an Item from Stock opens the Stock shell) instead of always using their module's shell; system pages open without a shell.

@sokumon #43771 Read
fix ui-ux 3 weeks ago

Run an expanded group's rule under its icon

Expanded group's connector line ran near the icon's left edge instead of under its centre; alignment is now correct.

@nikkothari22 #43790 Read
fix framework 3 weeks ago

Show Import on an empty list even when filters are set

Import button was missing on empty filtered lists; it now appears on filtered and unfiltered lists.

@nikkothari22 #43797 Read
fix ui-ux 3 weeks ago

Bring the Desktop Icons grid up to v16 and onto the Apps screen's look

Sites using Desktop Icons mode were seeing an old unstyled icon grid; icon grid now extends the Apps page class and shares its styling.

@sokumon #43810 Read
breaking framework 3 weeks ago

Nest sublists indented by 2-3 spaces

CommonMark-style list nesting with 2–3 spaces was breaking numbered lists; showdown now accepts CommonMark indentation.

@barredterra #43804 Read
fix framework 3 weeks ago

Number card shows NaN for a zero value when currency is set

Number cards with zero values and currency formatting displayed NaN instead of 0; report cards with no aggregate data now show N/A.

@barredterra #43802 Read
fix ui-ux 3 weeks ago

Restore frappe's desktop icons on version-16

Desktop icon JSON files were deleted during v16 polish, causing migrate to remove them as orphans and lose all desktop folder navigation.

@sokumon #43812 Read
fix ui-ux 3 weeks ago

Keep spacers and skip item groups in the v16 conversion

v16 sidebar migration aborts on Spacer and Sidebar Item Group rows; conversion now skips unsupported types instead.

@sokumon #43813 Read
fix ui-ux 3 weeks ago

Keep Sidebar Item Group on version-16

Restores Sidebar Item Group doctype deleted during v16 polish to prevent migrate from removing it as an orphan.

@sokumon #43814 Read
Helpdesk 3.4k 1 update
fix other-apps 3 weeks ago

Ticket trend sla line shows a count, not a percentage

Chart was plotting raw ticket counts on a 0–100 % axis, making the line unreadable; now plots actual percentages.

@kaulith #3823 Read
b Builder 2.5k 3 updates
feat ai 3 weeks ago

Split progress bar for the AI setup steps

AI settings now uses a frappe-ui Progress component with three segments instead of tab buttons for the Provider / Connect / Models setup flow.

@surajshetty3416 #926 Read
fix ui-ux 3 weeks ago

List only indexable Builder Pages, skip redirects, home page at the site root

Sitemap was listing all Builder Pages including disabled and login-only ones; now respects Builder's indexing rules.

@surajshetty3416 #928 Read
fix ai 3 weeks ago

Show the server's message when AI setup fails

Error messages showed only the URL and exception type; now displays the server's detailed error message.

@surajshetty3416 #923 Read
p Press 575 5 updates
feat other-apps 3 weeks ago

Deploy a scheduled group now from its row

Scheduled Deploy Settings rows now have a **Deploy Now** button to deploy a group immediately instead of waiting for its scheduled hour.

@regdocs #7662 Read
feat other-apps 3 weeks ago

Track how fast sites adopt new deploys

Site Adoption Snapshot doctype tracks each site's current bench, filled hourly and kept for 30 days; identifies which sites are stuck and how fast rollouts spread.

@regdocs #7660 Read
feat other-apps 3 weeks ago

Allow Pilot to download backups after team approval

Pilot can request access to Frappe Cloud v1 site backups; a team member approves with a passcode and Pilot gets 12 hours to download them.

@tanmoysrt #7656 Read
feat other-apps 3 weeks ago

Deploy bench groups on a schedule from settings

Scheduled Deploy Settings doctype lets operators define bench groups and their deploy times instead of editing server scripts; deploy schedule is now visible and auditable.

@regdocs #7604 Read
fix other-apps 3 weeks ago

Read machine availability from server types

Hetzner deprecated the GET /datacenters API on Oct 1; availability now comes from server type locations via hcloud >= 2.26.0.

@phot0n #7650 Read
o Other 19 updates
feat other-apps 3 weeks ago

Theme-aware images with caption, align and resize

Wiki editor images now support captions, left/centre/right alignment, separate light/dark mode images and resizing via corner grip.

@gajjug004 #829 Read
feat other-apps 3 weeks ago

VM Metrics

Collect VM CPU, memory, disk and network metrics on Metal every 10 seconds; retain seven days of daily JSONL history locally and serve on demand through Metal and Atlas APIs.

@kodykebab #299 Read
feat other-apps 3 weeks ago

Bucket VM metrics by max samples

VM metrics requests now return at most 300 samples by default; buckets are sized per range so every request returns a consistent chart-sized response.

@tanmoysrt #334 Read
feat other-apps 3 weeks ago

Restore a site from a Frappe Cloud v1

Restore dialog now includes Frappe Cloud v1 as a source for site restoration.

@tanmoysrt #566 Read
feat other-apps 3 weeks ago

Show display names instead of internal IDs

Notifications, billing rows and customer copy now use display names instead of internal record IDs and service names.

@prathameshkurunkar7 #420 Read
feat other-apps 3 weeks ago

Show server IDs, group the menu and open servers from Pilot

Server list and overview now show Atlas VM IDs; server menu is grouped by action frequency; servers can be opened from Pilot console links.

@prathameshkurunkar7 #421 Read
feat other-apps 3 weeks ago

Link Central entries to this server in Central

Admin dashboard now links to this server's overview and resize dialog in Central.

@prathameshkurunkar7 #565 Read
feat other-apps 3 weeks ago

Stabilize Pilot and add restore, branch switch and site actions

Admin dashboard now supports restore, reinstall, build assets and branch switch operations; fixes stability issues and closes 20 open issues.

@tanmoysrt #564 Read
fix other-apps 3 weeks ago

Fix admin port, proxy scheme and Socket.IO origin

Admin site returned 502 errors in Supervisor mode using the wrong port; Socket.IO now works behind HTTPS reverse proxy.

@SAKTHIKUMAR1234 #494 Read
fix other-apps 3 weeks ago

Send event_type and reference_name in pilot events

Pilot was sending wrong field names for events (sending `event` instead of `event_type`); Central now receives and deduplicates alerts correctly.

@prathameshkurunkar7 #563 Read
fix other-apps 3 weeks ago

Keep the table still and fit snapshot columns

Selection bar now replaces search row instead of pushing the table; snapshot columns now auto-fit to content width.

@prathameshkurunkar7 #419 Read
fix other-apps 3 weeks ago

Preserve preferred affinity fallback during resize

Resize with affinity matching was skipping the Preferred fallback; nonmatching servers with capacity are now available as fallback.

@ryzenate1 #316 Read
fix other-apps 3 weeks ago

Accept resource limit alerts from pilot

Adds missing Notification Event Type for `resource_limit_breached` alerts so Pilot resource warnings reach teams.

@prathameshkurunkar7 #417 Read
fix other-apps 3 weeks ago

Going back to all spaces resets the filter to published

Chosen filter was not remembered when navigating back to All Spaces; filter now persists for the browser tab.

@kaulith #828 Read
fix other-apps 3 weeks ago

Make terminal text selection visible

Setup wizard terminal text selection was invisible due to black selection highlight on the dark terminal background.

@balamurali27 #431 Read
fix other-apps 3 weeks ago

Preserve disk cleanup after cancellation

Failed disk create rollback was skipped if the request context was cancelled; rollback now continues independently.

@ryzenate1 #321 Read
fix other-apps 3 weeks ago

Prevent resize deadlock

Resize and network update could deadlock; resize no longer holds the allocation lock since capacity comes from the host.

@ryzenate1 #319 Read
fix other-apps 3 weeks ago

Validate restored node numbers

Peer restore now rejects node numbers above 65535 that would overflow the client address field.

@ryzenate1 #317 Read
fix other-apps 3 weeks ago

Use the site's own db_type for drop, restore and reinstall

Drop, restore and reinstall were using the bench's db_type instead of the site's own, causing database password mismatches.

@mihir-kandoi #534 Read

Sunday, October 4

ERPNext 40.6k 6 updates
feat accounting 3 weeks ago

Add Designation column in Lead Details report

Lead Details report now shows Designation field.

@Shllokkk #59745 Read
feat accounting 3 weeks ago

Add Designation column in Address and Contacts report

Address and Contacts report now shows Designation field.

@Shllokkk #59744 Read
feat accounting 3 weeks ago

First-transaction onboardings, Setup as home, simpler sidebars

Module onboardings now center on the first real transaction, Setup becomes a module on Home, and sidebars are simplified for each area.

@nikkothari22 #59766 Read
fix accounting 3 weeks ago

Take POS change off one payment row per invoice

POS change calculations now apply correctly when multiple payment modes exist and accounts change mid-shift.

@mihir-kandoi #59514 Read
fix accounting 3 weeks ago

Recalculate totals when adding time log rows

Timesheet totals now update automatically when rows are added or duplicated.

@Pandiyan5273 #59725 Read
fix stock-manufacturing 3 weeks ago

Allow serial no of consumed raw material on repacked item

Finished goods in a Repack now accept the serial number of a consumed raw material when they represent the same physical unit (e.g., a notebook with a case).

@barredterra #59729 Read
Frappe 11k 22 updates
feat framework 3 weeks ago

Improved setup wizard

Setup wizard is redesigned, apps can show custom help text, and analytics track per-step progress.

@nikkothari22 #43713 Read
feat ui-ux 3 weeks ago

Add label_position option to Stepper

Stepper component now supports label positioning at "right", "left", "top", or "bottom".

@g-sowani #43622 Read
feat framework 3 weeks ago

Server-side jinja rendering for report printing

Report print formats can now be written in Jinja instead of the browser-side JS engine, with access to any server data.

@Shllokkk #40344 Read
feat framework 3 weeks ago

Onboarding on workspaces, calmer cards, chart empty states

Onboarding displays as a block on workspaces, steps tick off only when complete, and optional steps don't hold up completion.

@nikkothari22 #43789 Read
fix framework 3 weeks ago

Solve issue in checking js in pdf

The utility function for detecting JavaScript in PDFs now works correctly.

@Bowrna #43506 Read
fix framework 3 weeks ago

Store currency number format without sql escaping

Currency number formats no longer store SQL escape characters, so formatting works correctly across databases.

@mihir-kandoi #43436 Read
fix ui-ux 3 weeks ago

Link to an unreadable doctype reports an error about page

Opening a desk link to an unreadable doctype now shows a permission error for the doctype, not a confusing error about Page.

@kaulith #43040 Read
fix ui-ux 3 weeks ago

Resolve a declared package in an app file through vite

App files can now import packages declared in `desk.package.json` through Vite resolution.

@shariquerik #43763 Read
fix framework 3 weeks ago

Avoid unavailable is_empty in v15 multiselect

V15 multiselect validation now uses a compatible check instead of the unavailable `is_empty` utility.

@aryadharmadhikari #43776 Read
fix framework 3 weeks ago

Add accessible names to unlabelled controls and images

Screen readers now announce alt text for images, aria-labels for buttons and inputs, and proper tab order.

@raizasafeel #43770 Read
fix framework 3 weeks ago

Emailed prints ignore the chosen print language

Email queue prints now respect the selected print language instead of resetting to the sender's language mid-print.

@kaulith #43773 Read
fix framework 3 weeks ago

Prints attached in a background job ignore the user's language

Attached prints from background jobs now use the job user's language consistently instead of falling back to stale English.

@kaulith #43774 Read
fix framework 3 weeks ago

Group by sums show foreign amounts in company currency

Grouped sums now show without a currency symbol when they mix multiple currencies, preserving symbols only for single-currency groups.

@kaulith #43341 Read
fix ui-ux 3 weeks ago

Preserve literal values in list view filters

Clicking a list cell with `User` or `Today` no longer resolves to the logged-in user or current date; only indicator filters resolve these special values.

@aryadharmadhikari #43420 Read
fix framework 3 weeks ago

Bump PyPika to fix arithmetic with Table and subquery operands

Restore arithmetic operations on Table and subquery objects, which crashed with "Field object is not callable" in ERPNext queries like `has_potentially_billable_items`.

@dankgarlic1 #43779 Read
fix framework 3 weeks ago

Correct currency minor units and Angola's currency code

Fix currency configuration so zero-decimal currencies (JPY, KRW, etc.) and JOD format correctly in `money_in_words()`.

@mihir-kandoi #43748 Read
fix framework 3 weeks ago

Keep generated columns out of deleted-field cleanup

Schema sync no longer drops database-generated columns, which were incorrectly treated as deleted user fields.

@mihir-kandoi #43610 Read
fix framework 3 weeks ago

Stop caching data-dependent dynamic links

The Links dialog now finds newly-created dynamic links instead of hiding them until the doctype cache is cleared.

@mihir-kandoi #43413 Read
fix developer-experience 3 weeks ago

Ignore lft, rgt and old_parent sent by the client

Tree structures now reject stale client values that could corrupt nested set bounds when a tree changes during an edit.

@mihir-kandoi #43708 Read
fix framework 3 weeks ago

Restrict get_email_html preview to System Manager

Require System Manager permission for the email preview endpoint to close an admin-only API exposure.

@kaulith #43691 Read
fix framework 3 weeks ago

Don't load virtual single doc for doctype permission check

Stop instantiating virtual doctypes during permission checks to prevent recursion that enqueues background jobs and crashes the queue when overloaded.

@iamejaaz #43758 Read
fix framework 3 weeks ago

Don't print object attributes in tracebacks

Prevent database passwords and other sensitive object attributes from leaking into error tracebacks by disabling object details in traceback-with-variables.

@mihir-kandoi #43649 Read
CRM 3.9k 1 update
feat crm-sales 3 weeks ago

Use frappe-ui/charts on the dashboard

Dashboard now uses the new `frappe-ui/charts` components (NumberCard, Line/Area/BarChart, DonutChart) instead of experimental charts.

@michellealva #2966 Read
Helpdesk 3.4k 1 update
fix other-apps 3 weeks ago

Small layout fixes on the ticket page

Timeline no longer shifts after jumping to pinned comments, and the scroll centers consistently.

@RitvikSardana #3820 Read
LMS 3.3k 4 updates
fix other-apps 3 weeks ago

Drop the border around non-assessment lesson embeds

Embedded videos and media no longer show a 1px outline; assessment blocks keep their border.

@raizasafeel #2854 Read
fix other-apps 3 weeks ago

Render and save an assessment block on insert

Embedding a quiz in a lesson now renders and saves correctly instead of appearing blank until refresh.

@raizasafeel #2853 Read
fix other-apps 3 weeks ago

Put the cursor in Title when adding a chapter

The cursor now focuses the Title field when "Add chapter" opens, on desktop and mobile.

@raizasafeel #2851 Read
fix other-apps 3 weeks ago

Add vertical padding around the sidebar user dropdown

Sidebar user dropdown now has proper vertical spacing.

@raizasafeel #2849 Read
b Builder 2.5k 1 update
feat ui-ux 3 weeks ago

Detach the preview into its own tab

The preview can open in its own browser tab, Ctrl+P toggles between editor and preview tabs, and full screen mode hides the header.

@stravo1 #874 Read
o Other 25 updates
feat other-apps 3 weeks ago

Upgrade to debian trixie and support openshift arbitrary uid

Docker images now use Debian Trixie and support OpenShift restricted-v2 with arbitrary non-root UID.

@revant #1995 Read
feat other-apps 3 weeks ago

Show page views in a meta line under the title

Page reading time, views in the last 30 days and last edit now show in a line under the title; clicking views opens analytics.

@gajjug004 #824 Read
feat other-apps 3 weeks ago

Misc improvements

Web console and SSH now work for every image, SSH keys are optional, and server creation shows progress in the button.

@prathameshkurunkar7 #404 Read
feat other-apps 3 weeks ago

Accept a plan's transfer row on resize

Server resize from the console now passes validation and logs failures with full traceback.

@prathameshkurunkar7 #400 Read
feat other-apps 3 weeks ago

Add bucket page

New bucket page added to the console.

@siduck #403 Read
feat other-apps 3 weeks ago

Grant temporary host access through Warpgate

People get temporary SSH access to Metal hosts through one Warpgate per region; Central grants and revokes access through the Atlas API.

@tanmoysrt #312 Read
feat other-apps 3 weeks ago

Move Atlas management traffic to private WireGuard

Atlas now manages Metal hosts and service VMs only through WireGuard on the provider network; no management traffic on public addresses.

@tanmoysrt #311 Read
feat other-apps 3 weeks ago

Give customer devices WireGuard access to tenant VMs

Customer devices reach private VM addresses through a replicated cluster of WireGuard gateway nodes, registered through a Central endpoint.

@tanmoysrt #314 Read
feat other-apps 3 weeks ago

Close a person's Warpgate sessions through the API

The API now closes every live Warpgate session of one person, HTTP and SSH; Central uses it when admin access ends.

@tanmoysrt #329 Read
feat other-apps 3 weeks ago

Add warpgate sign-in and host access grants

Central is now an OpenID Connect provider so operators can give time-limited SSH access to region hosts through Warpgate.

@tanmoysrt #411 Read
feat other-apps 3 weeks ago

Enhanced sign in and sign up

Every email now gets a 6-digit code; known emails sign in, new emails become accounts after verification.

@prathameshkurunkar7 #412 Read
feat other-apps 3 weeks ago

Bulk invite

Team admins can now invite up to 10 people at once from the team page, each with a role and resource.

@prathameshkurunkar7 #409 Read
feat other-apps 3 weeks ago

Send clear invitations and upload profile and team images

Team invitations now email directly with an accept button, and users can upload profile and team logos.

@prathameshkurunkar7 #406 Read
feat other-apps 3 weeks ago

Create the first team in console onboarding

New users now name their own team in an onboarding dialog instead of getting an automatic personal team.

@prathameshkurunkar7 #407 Read
feat other-apps 3 weeks ago

Replace host access grant with warpgate access

Warpgate Access replaces Host Access Grant, giving time-limited access to one host, all hosts, or the Warpgate admin UI.

@tanmoysrt #416 Read
feat other-apps 3 weeks ago

Publish the API reference and a generated client

The docs site now publishes the WireGuard gateway API reference and a generated Python client.

@tanmoysrt #330 Read
fix other-apps 3 weeks ago

Close all live Warpgate sessions on revoke

Revoking host access now closes all open SSH sessions immediately instead of blocking only new sessions.

@tanmoysrt #327 Read
fix other-apps 3 weeks ago

Keep caption streams alive through audio inactivity

Caption decoder and STT connections now wait for resumed audio instead of restarting on RTP inactivity.

@BreadGenie #955 Read
fix other-apps 3 weeks ago

Use isinstance for the Interval arithmetic override

Query arithmetic now checks types correctly instead of using hasattr, which falsely matched Table and QueryBuilder objects.

@dankgarlic1 #11 Read
fix other-apps 3 weeks ago

Make the Atlas VM safe to upgrade and stop

The Atlas VM runs the Node.js realtime server, setup updates existing Atlas apps, and stop shuts the guest down cleanly.

@tanmoysrt #323 Read
fix other-apps 3 weeks ago

Reset the idle clock when a VM starts

Metal now restarts the idle clock when a VM starts, so a sleepy VM gets its full idle timeout after each start.

@tanmoysrt #322 Read
fix other-apps 3 weeks ago

Fix Warpgate start and Atlas VM kernel upgrade

Warpgate now owns its configuration and Atlas VM setup stops with recovery instructions when the kernel is too old.

@tanmoysrt #320 Read
fix other-apps 3 weeks ago

Update the Warpgate atlas role on every setup

The Warpgate installer now updates the `atlas-sync` role on every run, so running regions get new permissions without a full reinstall.

@tanmoysrt #328 Read
fix other-apps 3 weeks ago

Treat a missing route as already deleted

WireGuard Mesh treats missing routes as deleted, so reset and VM removal can recover from partial failures.

@tanmoysrt #325 Read
fix other-apps 3 weeks ago

Drop the page slug field from page settings

The Slug field is removed so Route is the only URL control; PDF downloads now use the route instead of a stale slug.

@gajjug004 #823 Read

Thursday, October 1

ERPNext 40.6k 13 updates
feat accounting 1 month ago

Allow bulk edit on transaction child tables

Older DocTypes now have bulk edit enabled on their child tables.

@nikkothari22 #59692 Read
feat accounting 1 month ago

Add consolidated summary reports to the accounts sidebar

Consolidated summary reports now appear in the Accounts sidebar.

@Shllokkk #59693 Read
feat accounting 1 month ago

Add standard Kanban boards for common doctypes

Beautiful default Kanban boards for common ERPNext doctypes.

@nikkothari22 #59699 Read
feat accounting 1 month ago

Add standard list layouts for common doctypes

ERPNext ships default list layouts for common doctypes, visible only in Developer Mode, with pre-configured column filters.

@nikkothari22 #59691 Read
fix accounting 1 month ago

Preload only the postgres driver in test shards

Postgres shards failed because Frappe preloaded MariaDB driver by default. Now preloads only the configured driver.

@mihir-kandoi #59651 Read
fix accounting 1 month ago

Keep allocation selection in the unreconcile dialog

Unreconcile dialog's read_only flag on allocations table disabled row selection. Cells stay read-only through child fields instead.

@kaulith #59517 Read
fix accounting 1 month ago

Set opportunity_type default via set_value for translated doctype

Opportunity type default was not translated across languages on creation.

@Shllokkk #59665 Read
fix stock-manufacturing 1 month ago

Accounting dimension shows in connections tab on stock entry, asset

Stock Entry and Asset forms lacked the `dimension_col_break` field, so accounting dimensions dropped to the Connections tab. Renamed their break to match other doctypes.

@kaulith #59658 Read
fix accounting 1 month ago

Add a tooltip explaining "Represents Company" on Supplier and Customer

The Represents Company field (for inter-company transactions) had no explanation. Now has a tooltip.

@Henil666 #59471 Read
fix accounting 1 month ago

Validate Journal Entry account belongs to Company on save, not just submit

Journal Entry validation only checked account-company mismatch on submit, leaving mismatched drafts in place. Now validated on save.

@Henil666 #59655 Read
fix accounting 1 month ago

Skip pricing calculations for RFQs

Changing quantity on RFQ items triggered pricing calculations for fields that don't exist on RFQ items. Now skipped for RFQs.

@Pandiyan5273 #59662 Read
fix stock-manufacturing 1 month ago

Filter reservation warehouses by company

Stock Reservation warehouse dropdown listed warehouses from other companies. Now filtered by company.

@Pandiyan5273 #59647 Read
fix accounting 1 month ago

Enforce work order details permissions

Work Order details endpoint returned data without checking read permission and ignored the company argument. Now enforces both.

@Pandiyan5273 #59678 Read
Frappe 11k 22 updates
feat framework 1 month ago

A return visit after a script or DocType change paints the old version, then the new

Return visits after Client Script or DocType changes now paint the old version from cache, then refresh with new schema on the background read.

@shariquerik #43644 Read
feat framework 1 month ago

Much better looking email composer

Redesigned email composer with improved UI.

@Vibhuti410 #42170 Read
feat framework 1 month ago

Pin the dock by default

Dock now starts pinned beside the sidebar instead of floating. Existing users keep their setting.

@sokumon #43674 Read
feat framework 1 month ago

The feed store lives as long as the record's cache entry

Activity feed stores now live exactly as long as the record's cache entry, preventing orphaned stores and keeping memory usage predictable.

@shariquerik #43628 Read
feat framework 1 month ago

Paint a returning list from the shared cache

Return visits to lists and saved views now paint from the shared cache with no skeleton, reading again quietly in the background.

@shariquerik #43625 Read
feat framework 1 month ago

The currency lookup reads linked currencies from the shared data cache

Currency fields reading from linked records now use the shared data cache, so changed linked currencies show on next visit and on record save.

@shariquerik #43623 Read
feat developer-experience 1 month ago

OnOpen, a Client Script handler that runs once per visit

Client Script `onOpen(page)` handler runs once per visit after first replay, not on replays, for setup-only logic.

@shariquerik #43630 Read
feat developer-experience 1 month ago

Page.cached, server data a Client Script reads without a second paint

Client Scripts can export `onRefresh(page)` to read and cache server data without a second repaint on return visits.

@shariquerik #43632 Read
feat framework 1 month ago

The record page restores its view on a return visit

Record pages restore their tabs, scroll positions, and Details form tab on return visits, both within and across app navigation.

@shariquerik #43661 Read
feat framework 1 month ago

Default list layouts shipped by app

Apps can ship default list layouts for their doctypes, visible only in Developer Mode.

@nikkothari22 #43657 Read
feat ui-ux 1 month ago

New kanban board

Configurable Kanban board for any DocType, opt-in via a Kanban Board setting. Card fields, display format (icon/text), and grouping are customizable per board.

@sumitjain236 #41412 Read
fix ui-ux 1 month ago

Navbar menu button shows no icon on mobile

Website navbar menu button showed an empty box on mobile. Lucide icons need stroke; old CSS rules hid it.

@kaulith #43608 Read
fix ui-ux 1 month ago

Minor UI fixes

Empty states in global search, Espresso buttons in layout manager, single connection toast, avatar fallback in email composer, truncated badge labels, docs links in dropdown menus.

@nikkothari22 #43679 Read
fix framework 1 month ago

Postgres fixes (multiple)

Scope site role access to its own database, fix column type changes, persist manual indexes, fix query builder and Engine issues, keep index names in sync, and let managed root drop databases.

@mihir-kandoi #43592 Read
fix framework 1 month ago

Keep a site's own board on sync and allow a DocType's hidden title

Sync replaced a site's own Kanban Board with a shipped one of the same name. Now skips if a non-standard board exists.

@nikkothari22 #43676 Read
fix ui-ux 1 month ago

Header size for sidebar header

Lucide icons in the sidebar header looked incorrect. Replaced with better-sized icons.

@sokumon #43655 Read
fix framework 1 month ago

Keep tab remove button inside the tab strip

Form Builder's tab remove button overflowed the tab on hover, causing unwanted scrollbars. Now positioned inside.

@g-sowani #43635 Read
fix framework 1 month ago

Form shows stale defaults and saves them back

System Settings form showed database defaults instead of saved values on load, then saved them back, reverting manual changes like timezone corrections.

@kaulith #43037 Read
fix framework 1 month ago

Show separators in non-Mac menu shortcuts

Espresso menu migration removed separators from keyboard shortcuts, showing `CtrlE` instead of `Ctrl+E` on Linux and Windows. Restored with regression test.

@aryadharmadhikari #43673 Read
fix ui-ux 1 month ago

A kept feed store no longer keeps the page that built it

Activity feed store kept entire record pages in memory even after navigation. Idle stores now release when the record's cache entry leaves.

@shariquerik #43669 Read
fix framework 1 month ago

Check write perm. on attachment

File attachment deletion did not verify write permission on the attachment.

@AarDG10 #43571 Read
fix ui-ux 1 month ago

Close the four medium security gaps in desk v2

Fixed four medium-severity issues in desk v2: email frame innerHTML injection, unsafe field access from chat frames, unsafe sidebar actions, and unvalidated user code.

@shariquerik #43614 Read
HR 9k 1 update
fix hr-payroll 1 month ago

Guard against a blank account row when returning an advance

Returning a paid employee advance left a Journal Entry with a blank required Account row when the company lacked a default cash account.

@iamkhanraheel #5323 Read
CRM 3.9k 5 updates
feat crm-sales 1 month ago

Show linked ERPNext quotations in a deal tab

Quotations tab on Deal view lists quotations linked to the deal, with live refresh for same-site and remote ERPNext.

@michellealva #2938 Read
feat crm-sales 1 month ago

New whatsapp integration

Replaces community WhatsApp app with official Frappe WhatsApp integration on CRM.

@ps173 #2244 Read
fix crm-sales 1 month ago

Command palette stale search and lost lead conversion

Command palette search results stayed stale on navigation, and lead-to-deal conversion was lost.

@shahzeelahmed #2952 Read
fix crm-sales 1 month ago

Send qualified follow up only on qualification

Workflow automation sent qualified follow-ups on unrelated state changes.

@shahzeelahmed #2953 Read
fix crm-sales 1 month ago

Remove the single All tab from the notifications panel

Notifications panel showed a redundant All tab alongside specific notification types.

@ps173 #2951 Read
Helpdesk 3.4k 3 updates
fix other-apps 1 month ago

Pinned comments

Agents can now pin up to 5 internal comments on a ticket. Pinned comments show in a bar under tabs, newest first.

@RitvikSardana #3813 Read
fix other-apps 1 month ago

Name a reply sent from a shared email after the agent

Agent replies sent from a shared email flipped from agent name to email owner once the server row loaded. Timeline now consistently names the reply after the agent.

@aerodeval #3814 Read
fix other-apps 1 month ago

Field-level permissions for agent-only ticket fields

Portal customers could set agent-only fields (priority, sla, response_by) on their own tickets through the REST API. Now gated behind permission levels.

@aerodeval #3544 Read
LMS 3.3k 5 updates
feat other-apps 1 month ago

Register the assessment permission pair

Quizzes, assignments and programming exercises now have list and document permission hooks, scoped through lesson embeds or batch enrollment.

@raizasafeel #2826 Read
fix other-apps 1 month ago

Keep students off assignment list pages after redirect

Student access to `/assignments` and `/assignment-submissions` was redirected to Courses, but filter hydration immediately cancelled that navigation.

@harshpwctech #2774 Read
fix other-apps 1 month ago

Put a question's explanation fields behind permlevel 1

Question explanation fields were hidden only in the UI. Now gated behind a permission level so students cannot read them before attempting.

@raizasafeel #2844 Read
fix other-apps 1 month ago

Scope batch evaluator writes on LMS Certificate

Batch evaluators could create, edit or delete certificates for any course, not just their assigned ones. Now scoped to evaluator's courses and batches.

@raizasafeel #2817 Read
fix other-apps 1 month ago

Keep scorm package deletion inside the chapter's own package

Deleting a SCORM chapter used `shutil.rmtree` on an unsafe path that could be traversed outside the chapter's directory. Import now strips unsafe SCORM metadata.

@raizasafeel #2829 Read
b Builder 2.5k 1 update
feat ui-ux 1 month ago

Import a template group into its own folder

Template import now groups pages into a folder, so internal page links work.

@surajshetty3416 #892 Read
Insights 1k 3 updates
fix other-apps 1 month ago

Find a Data Store table whose name holds regex characters

Table name lookup used unescaped regex, so tables like `orders_(eu)` were not found on append/upsert imports.

@nextchamp-saqib #1468 Read
fix other-apps 1 month ago

Keep an appended table when the Data Store cannot list its tables

Data Store append imports treated `list_tables` errors as "no table exists" and overwrote the table. Now propagates the error.

@nextchamp-saqib #1466 Read
fix other-apps 1 month ago

Let a reader sort a table chart

Dashboard readers lost sort arrows when charts moved to server-side derivation. Sort now goes with the request instead of modifying the chart config.

@nextchamp-saqib #1473 Read
p Press 575 10 updates
feat other-apps 1 month ago

Add a date filter to site jobs

Site Jobs page now has a Date filter with presets (Today, Last 7/14/30/90 days) and custom range picker.

@Shariqk3 #7611 Read
feat other-apps 1 month ago

Add Build Server Stats report

New script report showing one row per build server and registry server, with throughput, load, and IO metrics for operators to monitor builds.

@balamurali27 #7414 Read
feat other-apps 1 month ago

Daily Raven digest of sites with no backup attempt

Companion digest surfaces sites due for backup that the scheduler never picked up, complementing the existing failed-backups digest.

@regdocs #7628 Read
feat other-apps 1 month ago

Daily Raven digest of sites whose backups keep failing

New daily server-alerts digest lists sites that hit the daily failed backup limit. Same as the team email but in one message.

@regdocs #7577 Read
fix other-apps 1 month ago

Make the restore tables confirm button black, not red

Restore Tables dialog's red confirm button signaled error instead of recovery. Changed to black to match recovery intent.

@huzan-kazi #7608 Read
fix other-apps 1 month ago

Log the server activity once per incident, not per run

Incident logging fired every 2 minutes for the life of a confirmed incident instead of once. Now deduplicated by job tag.

@huzan-kazi #7607 Read
fix other-apps 1 month ago

App Source doctype validation

App Source validation fixes.

@AyshaHakeem #7612 Read
fix other-apps 1 month ago

Send failing and missed backups as one Raven message

Daily backup failure alerts were sent as two separate Raven messages. Now consolidated into one with two tables.

@regdocs #7630 Read
fix other-apps 1 month ago

Warn that backups may fail when the disk is full

Disk full banners only mentioned sites may stop responding, missing that backups also fail, leaving data unprotected.

@regdocs #7631 Read
fix other-apps 1 month ago

Hide unused chart toolbox buttons

Dashboard charts had unused zoom, reset and brush buttons that did nothing. Removed them while preserving drag-to-zoom.

@balamurali27 #7583 Read
o Other 10 updates
feat other-apps 1 month ago

Show frappe storage provider in case pilot is central enabled

Pilot now shows Frappe storage provider when Central is enabled.

@Aradhya-Tripathi #551 Read
feat other-apps 1 month ago

Bring credit-funded provisioning into v0.2

Teams can create servers while credits cover the cost. Billing details only needed when credits run out.

@prathameshkurunkar7 #346 Read
feat other-apps 1 month ago

Redesign new server page

Fresh UI for the new server creation page.

@siduck #387 Read
fix other-apps 1 month ago

Overflow of long ahh status in PWA

Long status messages overflowed in the PWA.

@TITANiumRox #2278 Read
fix other-apps 1 month ago

Allow lower-resolution cameras

Desktop camera capture required 960 × 540 minimum, causing OverconstrainedError for lower-res cameras. Now requests 1280 × 720 preferred but accepts any supported resolution.

@BreadGenie #951 Read
fix ui-ux 1 month ago

Label the funnel tooltip value with its stage

Funnel chart tooltips showed "Value 741" instead of the stage name. Now labeled "Active 741".

@nextchamp-saqib #1234 Read
fix ui-ux 1 month ago

Print a second axis' data labels in its format

Chart data labels printed in the series' format, not the axis', so a right-axis percent showed `0.3` next to a `30%` tick. Labels now use their axis' format.

@nextchamp-saqib #1232 Read
fix other-apps 1 month ago

Typing lag on large pages

Editor lag of 2–3 seconds on large pages caused by repeated tokenizer registration, triple markdown parse per keystroke, and inline base64 images. Now uses per-editor marked instance and external image storage.

@NagariaHakeem #820 Read
fix other-apps 1 month ago

Address Greptile review on #818

Sidebar navigation retained robots tag from previous page, page views logged wrong URLs, and analytics ingest held exclusive locks. Fixed all three.

@gajjug004 #821 Read
fix other-apps 1 month ago

Flag side effects in whitelisted methods that accept GET

New semgrep rule catches whitelisted methods that accept GET requests but have side effects (commits, sends email, enqueues jobs) that bypass CSRF protection.

@barredterra #45 Read

Wednesday, September 30

ERPNext 40.6k 19 updates
feat accounting 1 month ago

Dual-tone module icons for the dock and sidebar headers

ERPNext modules now have two-tone dock icons that animate on hover, matching the sidebar header.

@sokumon #59590 Read
fix stock-manufacturing 1 month ago

Respect serial / batch activation in stock settings and item

Disabling serial/batch activation now hides dependent settings and blocks Item enabling.

@rohitwaghchaure #59573 Read
fix stock-manufacturing 1 month ago

Value batch and serial returns at the receipt rate

Subcontracting receipt returns of batch/serial items now post at the correct value.

@mihir-kandoi #59597 Read
fix stock-manufacturing 1 month ago

Validate combined material request quantities

Material Request validation now prevents multiple rows for the same Production Plan item from exceeding remaining qty.

@Pandiyan5273 #59615 Read
fix stock-manufacturing 1 month ago

Planned qty zero validation in production plan

Production Plan items now reject zero or negative Planned Qty values.

@Pandiyan5273 #59555 Read
fix accounting 1 month ago

Surface download errors and guard no-data statement in Process Statement Of Accounts

Report now handles download errors gracefully and prevents crashes when no data is returned.

@Shllokkk #59629 Read
fix stock-manufacturing 1 month ago

Check duplicate items on purchase invoices without update stock

Duplicate item check now runs on every Purchase Invoice instead of only when Update Stock is on.

@mihir-kandoi #59598 Read
fix stock-manufacturing 1 month ago

Check item access and map pending quantities

Supplier lookup now checks item read permissions, and partial orders now use remaining qty instead of full qty.

@Pandiyan5273 #59589 Read
fix stock-manufacturing 1 month ago

Enforce party specific item restrictions on save

Party Specific Item rules now block saves with disallowed items instead of only filtering the search.

@mihir-kandoi #59636 Read
fix stock-manufacturing 1 month ago

Allow component returns only on completed or closed work orders

Component returns are now server-side validated to occur only on completed or closed work orders.

@mihir-kandoi #59617 Read
fix stock-manufacturing 1 month ago

Net work order returns off transferred materials

Work order component returns now reduce the WIP balance instead of adding a second balance in the source warehouse.

@mihir-kandoi #59616 Read
fix stock-manufacturing 1 month ago

Consume batches from every transfer in manufacture entries

Manufacture entries now consume batches from all transfers instead of only the last one.

@mihir-kandoi #59600 Read
fix stock-manufacturing 1 month ago

Skip batch qty reserved by other vouchers in manufacture entries

Manufacture entries now cap transferred batch qty at unreserved amounts when stock reservation is on.

@mihir-kandoi #59601 Read
fix stock-manufacturing 1 month ago

Prevent duplicate serial and batch reservations

Work order and subcontracting reservations now enforce allowed qty checks and count all reservations to prevent duplicates.

@mihir-kandoi #59604 Read
fix accounting 1 month ago

Guard against missing customer in Item-wise Sales Register

Report no longer crashes when an invoice row's customer doesn't resolve to a Customer record.

@Shllokkk #59624 Read
fix stock-manufacturing 1 month ago

Prevent transfer value drift

Stock value drifts are prevented by including additional cost in transfer valuations.

@mihir-kandoi #59594 Read
fix stock-manufacturing 1 month ago

Value a transfer's inward leg at what left the source

Material transfers no longer leave rounding differences in Stock Adjustment by valuing inward at the actual outbound value.

@mihir-kandoi #59546 Read
fix stock-manufacturing 1 month ago

Validate material requests before creating work orders

Work order creation API now validates read permission and enforces Material Request type and status restrictions.

@Pandiyan5273 #59584 Read
fix accounting 1 month ago

Repost not created for backdated entry submitted concurrently

Concurrent stock transactions no longer produce incorrect running balances or missing reposting entries.

@rohitwaghchaure #59370 Read
Frappe 11k 26 updates
fix framework 1 month ago

Postgres CI failures in session hash and backup tests

Two flaky Postgres tests fixed: session hash lookup and backup timestamp ties.

@mihir-kandoi #43536 Read
feat developer-experience 1 month ago

Show the desk architecture at /desk-architecture in developer mode

Developers can now visualize desk v2 architecture at `/desk-architecture` with layer diagrams and import graphs.

@shariquerik #43503 Read
feat ui-ux 1 month ago

Redesign the editor with Form Builder and field picker

Web Form editor is now redesigned with Form Builder sections and a field picker, replacing the flat grid.

@g-sowani #42757 Read
feat framework 1 month ago

Dock preference

End users can now choose whether the dock is floating or pinned.

@sokumon #43545 Read
fix framework 1 month ago

Parenthesize subqueries in rendered permission conditions

Permission criterion subqueries are now properly parenthesized, fixing Company Restriction queries on all databases.

@mihir-kandoi #43388 Read
fix framework 1 month ago

Compare is set filters with the column's empty value

`is set` / `is not set` filters now compare with each column type's correct empty value instead of an empty string.

@mihir-kandoi #43537 Read
fix framework 1 month ago

Check the DocType name length when syncing its table

DocType name length is now checked when syncing tables, preventing Postgres truncation on import.

@mihir-kandoi #43554 Read
fix framework 1 month ago

Pdf is blank when the letterhead leaves a tag open

PDFs with unclosed letterhead tags are no longer blank by balancing tags before rendering.

@kaulith #43368 Read
fix framework 1 month ago

Cut long Postgres index names by bytes

Postgres index names are now truncated at 52 bytes instead of characters, preventing non-ASCII collisions.

@mihir-kandoi #43558 Read
fix framework 1 month ago

Skip virtual fields when saving singles

Single doctypes no longer store virtual fields in `tabSingles`.

@mihir-kandoi #43435 Read
fix ui-ux 1 month ago

Show Link titles for child table columns in Report Builder

Report Builder now shows Link titles for child table columns.

@mihir-kandoi #43389 Read
fix ui-ux 1 month ago

Format sidebar template with $.format instead of __()

Global search sidebar template is now formatted correctly instead of trying to translate it.

@kaulith #43532 Read
fix framework 1 month ago

Skip SMTP login when authentication is disabled

SMTP login is now skipped when disabled, including for OAuth and basic accounts with saved passwords.

@kaulith #43418 Read
fix framework 1 month ago

Missing file under /files returns 500 instead of 404

Missing files under `/files/` now return 404 instead of 500.

@kaulith #43531 Read
fix framework 1 month ago

Contact search link filter, select permission and ranking

Contact search now filters links through Dynamic Link subqueries, respects select permissions, and ranks case-insensitively.

@mihir-kandoi #43594 Read
fix framework 1 month ago

Pick the PDF engine for the doctype's default format

Print, attach_print and multi-document PDF download now use the correct PDF engine for the default format instead of always using the standard one.

@mihir-kandoi #43363 Read
fix ui-ux 1 month ago

Keep button hover off touch screens

Buttons no longer stay grey after tapping by using `@media (hover: hover)` for hover styles.

@sumitjain236 #43569 Read
fix ui-ux 1 month ago

Align list view toolbar on mobile

Mobile list toolbar ID box and quick filter columns are now properly aligned.

@sumitjain236 #43570 Read
fix ui-ux 1 month ago

Keep list view columns in place after a refresh

List view columns no longer shift right after reload by aligning header and row widths.

@sumitjain236 #43575 Read
fix ui-ux 1 month ago

Saving settings fails on a board with no card fields

Kanban settings can now be saved when no card fields are configured.

@kaulith #43402 Read
fix framework 1 month ago

Web forms ignore link filters on link fields

Web forms now respect link field filters instead of showing the full list.

@kaulith #43533 Read
fix framework 1 month ago

Prevent currency symbols overlapping grid amounts

Currency symbol overlap in editable table rows is now prevented by sizing padding from the rendered width.

@aryadharmadhikari #43376 Read
fix framework 1 month ago

Prevent crash when focusing child table fields on touch

Removed the broken touch-only grid shift that crashed on focus.

@aryadharmadhikari #43390 Read
fix framework 1 month ago

Apply field permissions to query aliases and goal aggregates

Field permissions now apply to query aliases and aggregate functions, closing permission bypass paths.

@mihir-kandoi #43596 Read
fix ui-ux 1 month ago

Validate output path before compiling theme css

Validates output paths before compilation to prevent path traversal during theme CSS compilation.

@AarDG10 #43552 Read
fix framework 1 month ago

Validate private file access before inserting

Validates access to private files before insertion, preventing unauthorized file handling.

@eagledot #43565 Read
CRM 3.9k 4 updates
fix crm-sales 1 month ago

Align child table header with rows

Child table header borders now match row column widths.

@Priyashanmugasundaram005 #2929 Read
fix crm-sales 1 month ago

Translate untranslated crm user-facing messages

CRM user messages are now wrapped in translation functions.

@Praveenku-mar #2930 Read
fix crm-sales 1 month ago

Keep Data tab header and Save button sticky while scrolling

Data tab header and Save button stay in view while scrolling.

@michellealva #2939 Read
fix crm-sales 1 month ago

Stamp target doctype in public form submission

Public CRM forms now send the server-provided doctype to prevent 403 errors when overrides resolve the type from payload.

@michellealva #2934 Read
Helpdesk 3.4k 1 update
fix other-apps 1 month ago

Cover customers and contacts, fix manager edits on user contacts

Agent Managers can now edit contacts with user accounts, with E2E test coverage.

@RitvikSardana #3811 Read
LMS 3.3k 18 updates
fix other-apps 1 month ago

Regenerate the root lockfile for the Playwright swap

LMS CI now passes after Playwright replaced Cypress in package.json.

@raizasafeel #2820 Read
feat other-apps 1 month ago

Preview assessment blocks as summary cards in the lesson editor

Lesson editor now shows lightweight preview cards for quizzes, assignments and exercises instead of full components.

@raizasafeel #2838 Read
feat other-apps 1 month ago

Redesign assessment blocks and render them inline in lessons

Quizzes, assignments and programming exercises are now restyled as cards and render inline in lessons instead of in iframes.

@raizasafeel #2823 Read
fix other-apps 1 month ago

Sanitise JSON-shaped rich text on save

Assignment comments and quiz results are now properly sanitized even when HTML is wrapped in JSON.

@raizasafeel #2816 Read
fix other-apps 1 month ago

Render schedule badges as the true instant

Quiz intro card now shows correct Opens/Closes times for learners in different timezones.

@raizasafeel #2835 Read
fix other-apps 1 month ago

Keep public and private course assets apart on import

Course import now stores assets under separate `assets/files/` and `assets/private/files/` folders matching their URLs.

@raizasafeel #2825 Read
fix other-apps 1 month ago

Migrate Raven conditions stored against the old rule vocabulary

Raven channel mappings created before v2.63 now sync correctly by migrating old rule names to new ones.

@raizasafeel #2837 Read
fix other-apps 1 month ago

Vouch lesson media on the lesson its owner created

Private lesson media remains accessible after an instructor is removed, by validating against the lesson not the instructor's current courses.

@raizasafeel #2827 Read
fix ai 1 month ago

Make the user category placeholder read as a prompt

User category select now shows a visible placeholder instead of a greyed "Category" option.

@FawazAlhafiz #2810 Read
fix other-apps 1 month ago

Let evaluators and creators save batch/course meta tags

Evaluators and creators can now save course/batch meta tags (title, keywords) with proper permission checks.

@raizasafeel #2836 Read
fix other-apps 1 month ago

Only attach files the user uploaded for the document

Assignment and job application uploads are now checked to ensure only files the user created are attached.

@raizasafeel #2834 Read
fix other-apps 1 month ago

Lock enrollment course, member and batch after insert

Enrollment core fields are now immutable after insert, preventing students from switching courses/batches via API.

@raizasafeel #2832 Read
fix other-apps 1 month ago

Scope batch authoring and lesson moves to the owning resource

Batch and lesson edits now require ownership role, and live classes enforce batch permission checks.

@raizasafeel #2831 Read
fix other-apps 1 month ago

Require quiz access to check an answer

Unenrolled users can no longer check quiz answers by calling the endpoint directly.

@raizasafeel #2818 Read
fix other-apps 1 month ago

Check progress against the lesson's own course

Progress checks now validate against the lesson's actual course, not the client-provided one, preventing cross-course progress manipulation.

@raizasafeel #2833 Read
fix other-apps 1 month ago

Scope LMS Coupon to the courses and batches it discounts

Coupons are now only editable by instructors of their courses/batches, preventing unauthorized coupon access.

@raizasafeel #2815 Read
fix other-apps 1 month ago

Cap how far an uploaded archive may expand

Prevents ZIP bombs by capping expansion to 1 GB total, 10,000 members max, and 1 MB per member with 100:1 compression limit.

@raizasafeel #2830 Read
fix other-apps 1 month ago

Serve only the statistics charts from get_chart_data

Endpoint now returns only the three public statistics charts instead of any Dashboard Chart by name, preventing unauthorized data access.

@raizasafeel #2828 Read
b Builder 2.5k 6 updates
breaking ui-ux 1 month ago

Keep one malformed dynamic route from breaking the others

One malformed dynamic route no longer breaks all other dynamic page routing.

@surajshetty3416 #908 Read
fix ui-ux 1 month ago

Number copy titles inside the parentheses

Duplicate page titles now number inside the parentheses as `Home (Copy 2)` instead of `Home (Copy) 2`.

@surajshetty3416 #916 Read
fix ui-ux 1 month ago

Scope block client-script CSS in the canvas like the published page

Builder canvas now properly scopes block client-script CSS, making `:scope` rules work.

@surajshetty3416 #912 Read
fix ui-ux 1 month ago

Let data.page_data carry dates and decimals

Data scripts can now put record dates and decimals into `data.page_data` without 500 errors.

@surajshetty3416 #911 Read
fix ui-ux 1 month ago

Render whole-number props without a trailing .0

Builder whole-number props like `29` now stay as `29` instead of rendering as `29.0`.

@surajshetty3416 #910 Read
fix ui-ux 1 month ago

Stop serving stale cached pages

Component data scripts and client script changes now bust the cache correctly.

@surajshetty3416 #909 Read
Insights 1k 1 update
fix other-apps 1 month ago

Tell cohorts apart by ERPNext alone

Telemetry cohorts now classified by ERPNext usage instead of Frappe Cloud state.

@nextchamp-saqib #1456 Read
p Press 575 2 updates
fix other-apps 1 month ago

Give restore jobs the backup timeout of the origin site

Site restore jobs now use the origin site's backup timeout instead of the default 4h, preventing lock timeouts on large restores.

@regdocs #7598 Read
fix other-apps 1 month ago

Redeploy button on failed deploys

Failed deploys now show the Redeploy button.

@siduck #7601 Read
o Other 8 updates
feat other-apps 1 month ago

Command palette, keyboard shortcuts, and copy/paste styles

Studio now has a command palette, keyboard shortcuts dialog, and copy/paste style functionality.

@ruchamahabal #279 Read
feat other-apps 1 month ago

Add company-scoped campus support

Campus is now a company-scoped site so multi-location institutions can split rooms, admissions, enrollment and fees while sharing one Company.

@tuwafula #503 Read
feat other-apps 1 month ago

Bring back underline

Wiki editor now has underline in the toolbar, bubble menu, and Ctrl+U shortcut.

@gajjug004 #816 Read
feat other-apps 1 month ago

Internal links between pages

Wiki pages can now link to each other with `[[page-name]]` syntax that survives page moves and route changes.

@gajjug004 #817 Read
feat other-apps 1 month ago

Open the app on the Overview page

Wiki now opens to the Overview for managers instead of All Spaces; non-managers still see All Spaces.

@gajjug004 #819 Read
fix other-apps 1 month ago

Remove an incomplete image import before a new import

Incomplete image imports are now removed and reimported instead of causing "has no manifest" errors on every VM start.

@tanmoysrt #302 Read
fix other-apps 1 month ago

Keep TTY console viewers attached across VM restarts

TTY console viewers stay connected across VM stop/restart and show the next boot.

@tanmoysrt #303 Read
fix other-apps 1 month ago

Weird scroll gap in the new server page

Server page no longer has a weird scroll gap in Chromium.

@siduck #385 Read

Tuesday, September 29

ERPNext 40.6k 36 updates
feat accounting 1 month ago

Show the latest quotation revision as latest

Latest submitted revision of a quotation now shows **Latest** instead of **Open**; a hidden Is Latest Revision flag tracks it.

@mihir-kandoi #59485 Read
feat accounting 1 month ago

Consolidated AR/AP summary reports

Summary reports show one row per company per party, followed by that party's total across all selected companies.

@Shllokkk #59482 Read
feat accounting 1 month ago

Consolidated accounts receivable and payable reports

New multi-company AR/AP reports show outstanding invoices across related companies; rows carry company context and can be grouped.

@Shllokkk #59481 Read
feat accounting 1 month ago

Group Purchase Order Analysis by item

Purchase Order Analysis now has a **Group by Item** filter that sums qty/amount across orders; total pending is now answerable.

@mihir-kandoi #59503 Read
feat accounting 1 month ago

Ship the standard dashboards as Insights dashboards

Accounts, Payments, Selling, Buying, Stock and Asset dashboards are now available as standard Insights workbooks.

@nextchamp-saqib #59437 Read
feat accounting 1 month ago

Party import tool integrated with data import tool

Customers and Suppliers can now be imported with their Contacts and Addresses from a single file; linked records are created and set as primary.

@sumitjain236 #57932 Read
fix accounting 1 month ago

Remove stale duplicates of five standard records

Print Format POS Invoice, Onboarding Steps and Module Onboarding duplicates are removed; each record has one file.

@mihir-kandoi #59473 Read
fix accounting 1 month ago

Post the purchase return after timed receipts

Purchase return test now posts at 12:00 after receipts; test no longer fails when CI runs before 08:00 in site timezone.

@mihir-kandoi #59516 Read
fix accounting 1 month ago

Read company when account filters are applied in Invoice Discounting

Invoice Discounting now reads the company from the account filter instead of relying on context; filtering works correctly.

@Shllokkk #59549 Read
fix accounting 1 month ago

Compare the invoice rate against the receipt's net amount

Invoice-rate landed cost now compares against the receipt's base_net_amount (after discount, before inclusive tax) instead of the rate.

@mihir-kandoi #59476 Read
fix stock-manufacturing 1 month ago

Leave the batch out of the sample limit alert when there is none

Sample retention alert for batched items now names only the item when the batch is missing.

@mihir-kandoi #59466 Read
fix accounting 1 month ago

Remove unfilled backdated message placeholder

Backdated stock transaction error now shows the list of authorized users instead of an empty placeholder.

@Pandiyan5273 #59538 Read
fix accounting 1 month ago

Correct terms and typos in the AU chart of accounts

Australian chart of accounts terms are corrected for accounting clarity.

@mihir-kandoi #59499 Read
fix accounting 1 month ago

Avoid too many writes in main item code patch

Material Request Plan Item patch now batches data loads and uses bulk_update; large migrations no longer fail with TooManyWritesError.

@mihir-kandoi #59541 Read
fix stock-manufacturing 1 month ago

Refresh POS item stock qty on new order

POS item stock quantity now refreshes when a new order is created; quantity is no longer stale from the previous order.

@Shllokkk #59576 Read
fix accounting 1 month ago

Prevent duplicate total rows in trends reports

Trends reports now return `skip_total_row` to prevent Frappe from adding a duplicate total row with doubled values.

@Pandiyan5273 #59491 Read
fix accounting 1 month ago

Show correct currency for outstanding invoices in bank reconciliation

Outstanding invoices now fetch the transaction currency instead of the company default.

@ervishnucs #59188 Read
fix accounting 1 month ago

Render bank reconciliation vouchers after dialog opens

DataTable stylesheet is now created only after the Actions dialog is attached; matching vouchers render correctly.

@Pandiyan5273 #59493 Read
fix accounting 1 month ago

Judge each party account on its own in the invoice limit

Payment Reconciliation prefilter now groups by account; Journal Entry with equal and opposite entries across accounts no longer disappears.

@mihir-kandoi #59515 Read
fix accounting 1 month ago

Split Trial Balance (Simple) rows by finance book

Trial Balance now groups by finance book so each row holds one book's entries; no longer sums across books incorrectly.

@mihir-kandoi #59513 Read
fix stock-manufacturing 1 month ago

Sum repeated lines in BOM Stock Analysis qty per unit

BOM Stock Analysis now sums repeated item lines to produce matching Qty Per Unit and Maximum Producible Items columns.

@mihir-kandoi #59505 Read
fix stock-manufacturing 1 month ago

Sum repeated components in Available Stock for Packing Items

Product Bundle qty is now grouped by item before dividing by stock; bundles with repeated items now show correct packable quantity.

@mihir-kandoi #59506 Read
fix stock-manufacturing 1 month ago

Cancel reconciliation entries when recreating stock ledgers

Repost Item Valuation now cancels Stock Reconciliation entries before resubmitting; incomplete ledgers no longer fail.

@mihir-kandoi #59530 Read
fix accounting 1 month ago

Apply zero reconciliation to closing balance

Stock Reconciliation that resets qty to zero is now applied in closing balances; zero is no longer treated as missing data.

@Pandiyan5273 #59489 Read
fix accounting 1 month ago

Ignore incomplete closings for opening balances

Stock Balance and subsequent closings now skip Failed, Queued and In Progress closings and use only completed ones.

@Pandiyan5273 #59494 Read
fix stock-manufacturing 1 month ago

Preserve zero batch values in closing balances

Stock Closing keeps zero batch values instead of replacing them with the entire ledger entry.

@Pandiyan5273 #59496 Read
fix accounting 1 month ago

Refresh landed cost on every receipt of invoiced order lines

Landed cost difference now refreshes on receipts whose billed qty moves but billed amount stays put.

@mihir-kandoi #59484 Read
fix accounting 1 month ago

Derive process loss from the finished good rows

Process loss on Manufacture/Repack is now derived from received rows instead of a separate input; loss stays in sync with finished good qty.

@mihir-kandoi #59475 Read
fix accounting 1 month ago

Bill purchase orders by qty when landed cost follows invoice rate

Purchase Order over-billing check now compares qty instead of amount, matching the billing behavior of receipts.

@mihir-kandoi #59478 Read
fix accounting 1 month ago

Split order-level invoices over receipts for invoice-rate landed cost

Each receipt now prices its rows from the invoiced qty against its own portion, not the entire order quantity.

@mihir-kandoi #59480 Read
fix accounting 1 month ago

Bill purchase receipts by qty when landed cost follows invoice rate

Receipt billing now tracks by qty instead of amount; receipts of 100 units billed at 25 units no longer mark as Complete.

@mihir-kandoi #59477 Read
fix accounting 1 month ago

Scope reports to the user's permitted companies

Many reports now filter results to the companies the user has access to; bins are scoped to warehouses of permitted companies.

@mihir-kandoi #59464 Read
fix accounting 1 month ago

Hide company-restricted masters in reports

18 reports now apply company restrictions to Item, Customer and Supplier masters that are scoped to other companies.

@mihir-kandoi #59463 Read
fix accounting 1 month ago

Hide records linked to company-restricted masters

Item Alternative, Party Specific Item and other linked records are now hidden when they reference company-restricted Items, Customers or Suppliers.

@mihir-kandoi #59462 Read
fix stock-manufacturing 1 month ago

Add company permission check for `get_valuation_rate`

Validates that the user can access the company before returning valuation rate.

@diptanilsaha #59560 Read
fix accounting 1 month ago

Copy lead comments to opportunity without permission check

Validates read access on the source Lead before carrying forward comments and activities to the Opportunity.

@Shllokkk #59568 Read
Frappe 11k 16 updates
feat framework 1 month ago

Data import wizard: Config → Preview → Fix → Import

Data import form is now a 4-step wizard showing clear progress; each step does one thing, and the Import step shows live activity counts.

@sumitjain236 #40979 Read
fix framework 1 month ago

Skip reports with deleted DocType

Reports on deleted doctypes no longer trigger "DocType not found" error on every desk rebuild.

@sokumon #43380 Read
fix framework 1 month ago

Open a page route in the shell that lists it

Pages with sub-routes (e.g., Insights at `insights/dashboard`) now open in the correct shell instead of their own module.

@nextchamp-saqib #43405 Read
fix framework 1 month ago

Restore the statement timeout after counting dashboard links

Statement execution timeout is now restored after dashboard link count; later ALTER TABLE statements no longer timeout on slow CI runners.

@mihir-kandoi #43399 Read
fix framework 1 month ago

Ignore network errors in Frappe Cloud current_site_info

Network errors fetching trial banner info now return None instead of a 500 error dialog; gunicorn workers can't hang.

@ShrihariMahabal #43448 Read
fix framework 1 month ago

Allow ordering by expression aliases on postgres

Postgres grouped queries can now order by arithmetic expression aliases; complex sorting works correctly.

@mihir-kandoi #43411 Read
fix framework 1 month ago

Stop a new comment showing up twice

Activity timeline pending rows are now removed correctly; comments no longer show as duplicates until a hard reload.

@shariquerik #43508 Read
fix framework 1 month ago

Nested __() calls in JavaScript missing from POT file

Translation extraction now finds strings nested inside other __() calls; translators now see `Email Inbox` and other inner strings.

@kaulith #43416 Read
fix framework 1 month ago

Fix login page tab title translation

Login page tab title is now translated instead of staying in English.

@kaulith #43403 Read
fix framework 1 month ago

Sync calendar year with date input

Date field calendar now updates when only the year is changed in the input; picker and input stay in sync.

@aryadharmadhikari #43419 Read
fix framework 1 month ago

Fall back to docname when title lookup target is unreadable

Link fields no longer show "Not permitted" dialog for every unreadable value; the docname is shown instead.

@kaulith #43505 Read
fix framework 1 month ago

Support sticky columns in RTL

Grid sticky columns now work correctly in right-to-left layouts.

@KerollesFathy #43504 Read
fix framework 1 month ago

Multiselect pills adds an unselected option after picking one

Unlabeled multiselect options now fall back to their value; picking a user no longer adds an unselected one.

@kaulith #43401 Read
fix framework 1 month ago

Keep typed value when Time picker is shown again

Time field picker no longer reverts to the previous value after a manual edit; the refresh now preserves the typed input.

@barredterra #43524 Read
fix framework 1 month ago

Don't expose imported functions from module-path hooks

Jinja hook functions now only expose what is defined in the hook, not imported modules.

@AarDG10 #43374 Read
fix framework 1 month ago

Stop exposing `_comments` through list queries

Comment preview cache is no longer returned in list reads; only Comment-permitted users can see preview text.

@RitvikSardana #42927 Read
HR 9k 1 update
feat hr-payroll 1 month ago

Ship the standard dashboards as Insights dashboards

Human Resource, Expense Claims, Payroll and Attendance dashboards are now available as standard Insights workbooks.

@nextchamp-saqib #5320 Read
CRM 3.9k 3 updates
feat crm-sales 1 month ago

Command palette with search, navigation and actions

CRM now has a Cmd/Ctrl+K command palette for searching leads/deals/contacts, navigating pages, creating records and acting on open pages.

@shahzeelahmed #2921 Read
fix crm-sales 1 month ago

Keep select dropdown below trigger on email template pages

Email template Content Type and For dropdowns now stay below their triggers; list position is stable across selections.

@Shindhu-Ramaswamy #2868 Read
fix crm-sales 1 month ago

Respect make_attachment_public setting

File uploads now respect the make_attachment_public setting; attachments are not forced public.

@ps173 #2918 Read
Helpdesk 3.4k 4 updates
fix other-apps 1 month ago

Include helpdesk in docker image

Docker image build now passes apps.json via secret-files and verifies helpdesk is included before pushing.

@aerodeval #3800 Read
fix other-apps 1 month ago

Pending row avatar and comment delete toast

Pending comment row now shows the current user's avatar before save; delete toast works correctly.

@RitvikSardana #3805 Read
fix other-apps 1 month ago

Keep a ticket paused past its deadlines while on hold

SLA status no longer shows Failed when a held ticket is edited; hold time is preserved and deadlines are recalculated correctly.

@RitvikSardana #3807 Read
fix other-apps 1 month ago

Agents & ticket permissions

Agents can no longer create HD Agent records or delete tickets; agent role grants now go through User Invitation only.

@RitvikSardana #3806 Read
LMS 3.3k 7 updates
fix other-apps 1 month ago

Date pickers respect the site's configured date format

Date field pickers now show the site's configured date format instead of always showing ISO YYYY-MM-DD.

@michellealva #2795 Read
fix other-apps 1 month ago

Bulk insert enrollment shares to stay under the write limit

Share insertion now uses bulk_insert instead of single saves; sites with tens of thousands of enrollments no longer hit TooManyWritesError.

@raizasafeel #2794 Read
fix other-apps 1 month ago

Hold the share_enrollment lock for the patch's transaction

Enrollment share migration now uses a FOR UPDATE row lock; overlapping runs block before reading and see the first run's shares.

@raizasafeel #2809 Read
fix other-apps 1 month ago

Keep SCORM package location off the read every account holds

SCORM launch file and package paths moved to permlevel 1, readable only by System Manager, Course Creator and Moderator.

@raizasafeel #2790 Read
fix other-apps 1 month ago

Scope Course Chapter to the course it belongs to

Course Chapter now follows its parent course's permissions; only instructors and Moderators can edit or delete.

@raizasafeel #2804 Read
fix other-apps 1 month ago

Enforce can_modify_course on generic API doors

LMS Course permissions now apply to read, write, delete and share endpoints, not just 11 dedicated API paths.

@raizasafeel #2803 Read
fix other-apps 1 month ago

Scope learner records to the course they belong to

Course Progress, Video Watch Duration and Course Review rows now enforce that only the learner who owns them, course instructors, or Moderators can read them.

@raizasafeel #2813 Read
b Builder 2.5k 3 updates
fix ui-ux 1 month ago

Make translation actually callable as `_(...)` in page data scripts

Page data scripts can now call `frappe._()` for translation; attribute access restrictions no longer block it.

@suparikoli #745 Read
fix ui-ux 1 month ago

Render dotted data keys whose root is missing

Blocks copied to pages with missing root bindings (e.g., `hero.title` on a page with no `hero`) now render safely instead of throwing.

@surajshetty3416 #812 Read
fix ui-ux 1 month ago

Clear inline span colours when Text Color is set from the panel

Setting Text Color from the properties panel now clears inline span styles that were overriding it.

@surajshetty3416 #913 Read
Insights 1k 2 updates
feat other-apps 1 month ago

Import each stored table on its own cron schedule

Stored table sync now runs on a per-table schedule instead of all-daily; operational dashboards can refresh hourly.

@nextchamp-saqib #1448 Read
feat other-apps 1 month ago

Render Insights dashboards and charts inside desk pages

Insights dashboards can now be opened as desk pages, and desk dashboards can be drawn by Insights with permission-filtered access.

@nextchamp-saqib #1422 Read
p Press 575 7 updates
feat other-apps 1 month ago

Scan changed bench scripts with YARA

YARA scanning is now driven by Wazuh file integrity monitoring on changed scripts; threats are logged for inspection.

@ssiyad #7530 Read
feat other-apps 1 month ago

Add Recent Issues link to Help menu

Help menu now links to known Frappe Cloud issues page; users see known problems before opening a support ticket.

@Shariqk3 #7595 Read
fix other-apps 1 month ago

Reject apps without frappe dependency in pyproject

GitHub app validation now rejects pyproject.toml without a frappe key; broken dependency declarations are caught early.

@balamurali27 #7592 Read
fix other-apps 1 month ago

Mark all notifications read for the current team

Mark-all-read now sends the team header; notification state updates correctly.

@siduck #7581 Read
fix other-apps 1 month ago

Close dialog before opening Razorpay checkout

Razorpay checkout dialog now opens cleanly after the payment dialog closes; no modal nesting issues.

@siduck #7584 Read
fix other-apps 1 month ago

Cancel job through endpoint instead of doc method

Cancel Job button now works for dashboard users; the endpoint bypasses doc-level permission checks.

@balamurali27 #7565 Read
fix other-apps 1 month ago

Keep the user logged in after Stop Deploy

Dashboard users are no longer logged out after stopping a deploy; session state is preserved.

@balamurali27 #7586 Read
o Other 31 updates
fix other-apps 1 month ago

Align STT image Torch dependency

STT image Torch dependency now allows NVIDIA base image; build runs on pull requests.

@BreadGenie #942 Read
fix other-apps 1 month ago

Match caption fades to meeting surface

Caption fade overlays now use meeting surface token instead of black; pill contrast and layout are preserved.

@BreadGenie #944 Read
fix other-apps 1 month ago

Restore rounded production captions

Production caption styling restored to rounded appearance.

@BreadGenie #943 Read
feat other-apps 1 month ago

Add bwh_shipping to the marketplace registry

BWH Shipping (AfterShip and Shiprocket orchestrator) now appears in the marketplace.

@Rl0007 #26 Read
feat other-apps 1 month ago

Add bwh_payments to the marketplace registry

BWH Payments (Stripe, Razorpay, Tabby, Telr integration) now appears in the Integrations marketplace.

@Rl0007 #25 Read
feat other-apps 1 month ago

Add Reset SSH Host Keys to Stalwart Node

New Reset SSH Host Keys action clears pinned keys after server reinstall; Provision stays blocked until keys are re-verified.

@s-aga-r #10 Read
feat other-apps 1 month ago

Reorder blocks directly on the canvas

Studio editor blocks can now be reordered by dragging on the canvas; family components are prevented from leaving their group.

@ruchamahabal #267 Read
feat other-apps 1 month ago

Tighten subject scheduling and restrict faculty to assigned subjects

Subject Schedule now validates that faculty members teach the chosen subject; empty slots, disabled batches and overlaps are caught.

@tuwafula #500 Read
feat other-apps 1 month ago

Disable search engine indexing for a page

Pages can now be flagged to send noindex robots meta tag and X-Robots-Tag header; sitemaps and llms.txt still include them.

@gajjug004 #807 Read
feat other-apps 1 month ago

Measure STT delivery and provision dashboard

STT delivery is now measured and provisioned on a Prometheus/Grafana dashboard; audio seconds and caption counts are exported.

@BreadGenie #946 Read
feat other-apps 1 month ago

Bias captions for room names and Frappe terminology

Captions now bias Nemotron for room names and Frappe-specific terminology; caption accuracy is improved with curated vocabulary.

@BreadGenie #945 Read
feat other-apps 1 month ago

Captions with live transcription and speaker attribution

Meet now has opt-in live captions using Nemotron STT with per-participant attribution, bounded VAD, and subscriber-only delivery.

@BreadGenie #284 Read
feat other-apps 1 month ago

Archive Pulse Event months older than 180 days to Parquet

Old Pulse events are now archived to Parquet files; the 22.5M-row table stays bounded and queries stay fast.

@nextchamp-saqib #15 Read
feat other-apps 1 month ago

Add a Health dashboard and Pulse sidebar

New Health dashboard answers whether anything is wrong, charting accepted events, rejection rates, latency and app-wide activity against baselines.

@nextchamp-saqib #16 Read
feat other-apps 1 month ago

Add the unified Suite shell, Home, and Files

First complete slice of the unified Suite frontend with shared shell, Home page and Files section built on the Drive-layer.

@netchampfaris #880 Read
fix other-apps 1 month ago

Stalwart nodes start without configuration errors

New Stalwart 0.16.20 nodes no longer log configuration errors on startup; spam filter rules are version-pinned.

@s-aga-r #11 Read
fix other-apps 1 month ago

Stream image transfers without extra disk passes

Image uploads now compress while downloading the next part; downloads write directly to ZFS without temporary files.

@tanmoysrt #297 Read
fix other-apps 1 month ago

Hash snapshot uploads beside compression

Metal now hashes disk snapshots while compressing; the disk is read once and progress starts immediately.

@tanmoysrt #296 Read
fix other-apps 1 month ago

Browser zoom over panels and popovers in editor

Slides editor now cancels modifier-wheel events at the window level; zoom no longer breaks layout over panels and pickers.

@GursheenK #939 Read
fix other-apps 1 month ago

Shortcuts firing behind buttons and dropdowns

Keyboard shortcuts now only fire when appropriate (e.g., Enter on a focused button runs the button, not the default action).

@GursheenK #936 Read
fix other-apps 1 month ago

Neutral slide outline in navigation panel

Current slide outline is now neutral gray with a gap; focused slides show a darker ring instead of blue.

@GursheenK #938 Read
fix other-apps 1 month ago

Extra undo press after some actions that change nothing

Slides editor no longer adds extra history entries for unchanged states; undo skips no-op actions.

@GursheenK #937 Read
fix other-apps 1 month ago

Crash on weekly loan disbursement with amortized BPI

Weekly loan disbursement now calculates broken period interest; amortized BPI methods no longer crash.

@Nihantra-Patel #1468 Read
fix other-apps 1 month ago

Update EPF wage ceiling to ₹25,000

PF wage ceiling raised from ₹15,000 to ₹25,000 effective 17 Sept 2026; older slips reprocess unchanged.

@nareshkannasln #111 Read
fix other-apps 1 month ago

Hash whatsapp profile name to avoid collision

WhatsApp profile name is now hashed; multiple accounts no longer collide on the same profile.

@ps173 #42 Read
fix other-apps 1 month ago

Drop frappe from required_apps in tally_migrator

Frappe is now removed from required_apps; app install no longer fails on Pilot.

@mihir-kandoi #85 Read
fix other-apps 1 month ago

Sync Student and Guardian Contact Details report

Enrollment report now references Course Enrollment instead of the deleted Program Enrollment; migration updates it.

@mihir-kandoi #502 Read
fix other-apps 1 month ago

Trim image caption before serializing to markdown

Image captions are now trimmed before writing to markdown; extra whitespace is removed.

@gajjug004 #810 Read
fix other-apps 1 month ago

Keep the pivot table reachable on wide screens

Pivot table toolbar menu now stays visible above 1280px; users on wide screens can now discover the feature.

@netchampfaris #935 Read
fix other-apps 1 month ago

Open someone else's shared draft read-only

Shared drafts now open read-only and never create a fork; draft sync no longer saves a copy on image or code block rewrites.

@netchampfaris #601 Read
fix other-apps 1 month ago

Harden console token bridge

Console session bridge is now safe under concurrent opens and token window is shortened to reduce replay risk.

@tanmoysrt #298 Read

Saturday, September 26

ERPNext 40.6k 23 updates
feat accounting 1 month ago

Add Remarks field to Purchase Order

Add Remarks field to Purchase Order

@mihir-kandoi #59420 Read
feat accounting 1 month ago

Revise quotations without cancelling

Submitted Quotations can now create named revisions (like BOM versions) instead of cancel-and-amend.

@mihir-kandoi #59378 Read
fix stock-manufacturing 1 month ago

Create stock entry bundles before updating the work order

Material Transfer for Manufacture didn't mark reserved batches as moved, blocking remaining stock.

@mihir-kandoi #59417 Read
fix accounting 1 month ago

Show month names in user language in Customer Acquisition and Loyalty report

Monthly report showed English month names for every user language.

@mihir-kandoi #59410 Read
fix accounting 1 month ago

Deadlock when setting item default income account

Concurrent Sales Invoices deadlocked updating Item Defaults when rows were in different order.

@mihir-kandoi #59414 Read
fix accounting 1 month ago

Keep customer shipping address on drop ship purchase order

Company trigger replaced customer shipping address on drop ship POs when duplicating or changing company.

@mihir-kandoi #59415 Read
fix stock-manufacturing 1 month ago

Count only matched batches on work order reservations

Batch-wise Work Order reservations blocked unrelated batches after moving a different batch.

@mihir-kandoi #59424 Read
fix accounting 1 month ago

Proforma Invoice fixes

Proformas could be amended and recreated; descriptions lost between orders.

@mihir-kandoi #59401 Read
fix accounting 1 month ago

Validate Proforma Invoice lines in the controller

Proforma Invoices created via REST API skipped validation, allowing cancelled orders and mismatched amounts.

@mihir-kandoi #59402 Read
fix accounting 1 month ago

Work order UX cleanup

Work order UX cleanup

@nishkagosalia #59228 Read
fix accounting 1 month ago

Refresh planned qty after work order status update

Manufacture entries with process loss left stale planned_qty in Bins.

@Pandiyan5273 #59419 Read
fix stock-manufacturing 1 month ago

Release the work order reservation before previewing a stock entry

Stock Ledger and Accounting previews failed for Work Orders with Reserve Stock enabled.

@mihir-kandoi #59425 Read
fix stock-manufacturing 1 month ago

Use Text Editor for manufacturing descriptions copied from items

Work Order descriptions copied as-is from Text Editor but stored in Text fields, printing with literal tags.

@mihir-kandoi #59434 Read
fix accounting 1 month ago

Scope secondary items to job card

Split Job Cards lost scrap rows when both used the same secondary item.

@mihir-kandoi #59435 Read
fix accounting 1 month ago

Use Text Editor for fields that store HTML

Delivery address and Asset fields stored HTML but were plain Text, printing with literal tags once frappe escapes them.

@mihir-kandoi #59432 Read
fix accounting 1 month ago

Filter purchase register by supplier group from supplier master

Purchase Register dropped older invoices when filtered by Supplier Group (unfilled fetch_from field).

@Sudharsanan11 #59430 Read
fix accounting 1 month ago

Replace removed validate_import_file call in Bank Statement Import

Saving Bank Statement Import threw AttributeError after Frappe's Data Import refactor.

@Shllokkk #59448 Read
fix stock-manufacturing 1 month ago

Offset plan reservations across warehouses

Production Plan reservations didn't track when Work Orders used different warehouses, overstating reserved stock.

@Pandiyan5273 #59429 Read
fix stock-manufacturing 1 month ago

Explode phantom BOM rows by their stock qty

Phantom sub-BOM rows exploded using display qty instead of stock qty, inflating component requests 1000x for unit conversions.

@mihir-kandoi #59445 Read
fix accounting 1 month ago

Show only company bank accounts in Bank Statement Import

Show only company bank accounts in Bank Statement Import

@Shllokkk #59447 Read
fix accounting 1 month ago

Keep a closed production plan closed until it is reopened

Auto status updates on a Production Plan silently reopened manually Closed plans.

@mihir-kandoi #59454 Read
fix accounting 1 month ago

Release plan reservations when the plan completes

Production Plans didn't recalculate reserved stock when completing, leaving stale reservations.

@mihir-kandoi #59449 Read
fix accounting 1 month ago

Open a blanket order without marking it unsaved

Opening a submitted Blanket Order showed "Not Saved" and an Update button due to null-to-empty party field conversion.

@mihir-kandoi #59461 Read
Frappe 11k 14 updates
feat framework 1 month ago

Per-field date format for Date and Datetime fields

Date and Datetime fields in print formats now support per-field date format via inspector with live preview.

@iamejaaz #43373 Read
feat framework 1 month ago

Paint a returning record from the shared cache

Record pages now paint instantly on return visits from the shared in-memory cache before a quiet background refresh.

@shariquerik #43382 Read
fix framework 1 month ago

Adding right align support in embedded list column

Adding right align support in embedded list column

@nishkagosalia #43356 Read
fix framework 1 month ago

Skip stale Custom DocPerm entries in File permission query

Skip stale Custom DocPerm entries in File permission query

@AarDG10 #43375 Read
fix ui-ux 1 month ago

Follow-ups from end-to-end testing of the print format builder

Classic format conversion lost section headings, margins, fonts; Chrome PDFs skipped pages; print previews misdated.

@iamejaaz #43339 Read
fix framework 1 month ago

Disable automation queue toast

Background Task toasts appeared for silent automation runs.

@shahzeelahmed #43327 Read
fix framework 1 month ago

Do not write unset settings back on settings dialog

Do not write unset settings back on settings dialog

@nikkothari22 #43369 Read
fix framework 1 month ago

Drop :where() from the standard cell rule for wkhtmltopdf

wkhtmltopdf's WebKit dropped the entire table cell rule, losing padding and alignment in PDFs.

@iamejaaz #43385 Read
fix framework 1 month ago

Start the preview overlay at the page head's real bottom edge

Print format preview started below the page head; backdrop also failed to paint due to Chromium rendering issue.

@iamejaaz #43384 Read
fix framework 1 month ago

Don't show an error for a deleted Number Card

Missing Number Card on a dashboard left an error message even though the card was handled gracefully.

@sokumon #43381 Read
fix framework 1 month ago

Child table row closes after uploading or clearing a file

Uploading/clearing files in Attach fields collapsed open rows, forcing reopens for multi-field edits.

@kaulith #43387 Read
fix framework 1 month ago

Five open print issues

Print Settings font size was overridden by Redesign style, default layout ignored Tab Break.

@iamejaaz #43336 Read
fix ui-ux 1 month ago

E2E findings on the new builder renderers

Email attachments carried wrong letterheads, classic format migration lost settings, Typst renderers had incomplete coverage.

@iamejaaz #43337 Read
fix framework 1 month ago

Prevent File.optimize_file from operating on a mismatched file_url

Prevent File.optimize_file from operating on a mismatched file_url

@AarDG10 #43298 Read
HR 9k 3 updates
fix hr-payroll 1 month ago

Use frappe.log_error instead of frappe.error_log

Company creation failed silently when a salary component insert failed due to invalid frappe.error_log call.

@nareshkannasln #5311 Read
fix hr-payroll 1 month ago

Allocate leaves left in annual quota instead of skipping allocation

Earned leave rounding inflated monthly allocations beyond the annual policy, causing scheduler failures.

@nareshkannasln #5041 Read
fix hr-payroll 1 month ago

Count a half day holiday as half a working day

Half-day holidays deducted as full days from payroll, inflating per-day rates and skewing pro rata pay.

@nareshkannasln #5042 Read
CRM 3.9k 1 update
fix ai 1 month ago

Add error handling and Lost Reason prompt to Kanban drag-and-drop

Failed drag-drop saved silently, leaving card in wrong position without user notification.

@Lokesh-287 #2884 Read
Helpdesk 3.4k 2 updates
fix other-apps 1 month ago

Open the welcome ticket after skipping the questionnaire

Skipping onboarding landed admins on Home instead of the seeded welcome ticket.

@aerodeval #3792 Read
fix other-apps 1 month ago

Correct SLA deadline timezone and hold-time deduction

SLA badges showed wrong deadlines across timezones; agents saw deadlines 2.5 hours early on some sites.

@aerodeval #3776 Read
b Builder 2.5k 6 updates
feat ui-ux 1 month ago

Reload preview when the page is saved elsewhere

Builder preview reloads when saved in another tab.

@stravo1 #873 Read
feat ui-ux 1 month ago

Show the open folder's pages above the layers tree

Builder now shows pages from the current folder at the top of Layers, one-click switching between related pages.

@surajshetty3416 #890 Read
feat ui-ux 1 month ago

Add gap handlers for flex and grid containers

Flex and grid containers now have draggable on-canvas gap handles, like padding already did.

@SmrutiSawant #792 Read
fix ui-ux 1 month ago

Create duplicate pages as numbered drafts and add rename to page actions

Duplicating a page kept the original title; copies inherited publish state.

@SmrutiSawant #896 Read
fix ui-ux 1 month ago

Hide the pages list scrollbar and skip redundant list loads

Pages list scrollbar appeared unnecessarily; page switch triggered duplicate list loads.

@surajshetty3416 #899 Read
fix ui-ux 1 month ago

Restore the develop frontend build

Build was broken due to duplicate identifier and changed js-yaml default export.

@surajshetty3416 #898 Read
Insights 1k 1 update
fix other-apps 1 month ago

A division by zero returns null on PostgreSQL

PostgreSQL aborted division queries while MariaDB returned NULL; queries behaved differently across databases.

@nextchamp-saqib #1447 Read
p Press 575 1 update
feat other-apps 1 month ago

Auto expire after 7 days

Auto expire after 7 days

@ssiyad #7575 Read
o Other 27 updates
feat other-apps 1 month ago

Add static pool dialog for Generic provider

Generic provider operators can now add static IP pools from a short dialog.

@tanmoysrt #279 Read
feat other-apps 1 month ago

Redesign Addons/Object storage page

Redesign Addons/Object storage page

@siduck #369 Read
feat other-apps 1 month ago

Add Visit site and Open server to site server actions

Site server actions menu now shows both "Visit site" and "Open server".

@prathameshkurunkar7 #372 Read
feat other-apps 1 month ago

Register a region's Cargo automatically once it answers

Central automatically registers Cargo after it answers health checks; no manual URL entry needed.

@prathameshkurunkar7 #371 Read
feat other-apps 1 month ago

Apply the datum credential from bootstrap metadata

Pilot parses and applies Datum telemetry config from bootstrap metadata.

@prathameshkurunkar7 #529 Read
feat other-apps 1 month ago

Pass the datum credential to a new pilot

New Pilot servers receive Datum endpoint and token in bootstrap metadata for telemetry.

@Aradhya-Tripathi #375 Read
feat other-apps 1 month ago

Build host binaries and images in Docker on macOS

macOS developers can now build Atlas binaries and Ubuntu images in Docker without Linux headers.

@tanmoysrt #282 Read
feat other-apps 1 month ago

Pass the Datum host config to Cargo

Cargo now accepts Datum Host config during provisioning via the dialog.

@Aradhya-Tripathi #281 Read
feat other-apps 1 month ago

Advance slides on their own and present on loop

Slideshows can now auto-advance after a delay per slide for unattended booth displays.

@GursheenK #934 Read
feat other-apps 1 month ago

Bound guest metadata to a 256 KiB MMDS cap

VM metadata now validated against Firecracker's 256 KiB MMDS limit to prevent guest hangs.

@tanmoysrt #283 Read
feat other-apps 1 month ago

Type Admin dashboard codebase

Type Admin dashboard codebase

@siduck #521 Read
fix other-apps 1 month ago

Datum setup fixes

Datum setup fixes

@Aradhya-Tripathi #74 Read
fix other-apps 1 month ago

Fit small diagrams on desktop

Small flow diagrams scrolled horizontally despite fitting in the reading column.

@tanmoysrt #278 Read
fix other-apps 1 month ago

Bound the NDP payload length for the verifier

Kernel BPF verifier rejected WG Mesh uplink program.

@20vikash #280 Read
fix other-apps 1 month ago

List disabled authors in the author filter

Search author filter listed only enabled users, blocking filters by posts of disabled accounts.

@netchampfaris #597 Read
fix other-apps 1 month ago

A cell fill keeps the grid lines around it

Cells with background colour erased top and left grid lines.

@netchampfaris #933 Read
fix other-apps 1 month ago

Use frappe-ui ScrollArea for native scrollbars in dark mode

Dark mode showed light browser scrollbars on emoji picker and dialogs.

@ebrahimgamdiwala #599 Read
fix other-apps 1 month ago

Send Pilot storage and telemetry as their own guest metadata values

Every Pilot server create failed when metal-central metadata exceeded 1024-byte limit.

@prathameshkurunkar7 #376 Read
fix other-apps 1 month ago

Read storage and telemetry from their own instance metadata attributes

Pilot read storage from bloated pilot-central, exceeding cloud's 1 KiB metadata limit.

@prathameshkurunkar7 #532 Read
fix other-apps 1 month ago

Read the dispatch time in the system time zone

Server creation marked as "not created" due to timezone mismatch in recovery search.

@prathameshkurunkar7 #374 Read
fix other-apps 1 month ago

Pass the document to controller method calls

Eight desk buttons failed with "Failed to get method" (Test Connection, Enroll Atlas, etc.) because `frm.call` didn't specify the document.

@prathameshkurunkar7 #373 Read
fix other-apps 1 month ago

Prepare host storage and retire unused warm images

Metal setup could write state before ZFS dataset mounted; warm image retirement didn't account for in-use disks.

@tanmoysrt #284 Read
fix other-apps 1 month ago

Sweep only images with a site file retention time

Expired site file sweep saved every Object Storage image every 15 minutes, polluting audit logs.

@tanmoysrt #285 Read
fix other-apps 1 month ago

Reclaim retired image artifacts after six hours

Replacing System images left old artifacts in storage indefinitely.

@tanmoysrt #286 Read
fix other-apps 1 month ago

Wake a sleeping VM on start

Start request did nothing for sleeping VMs; only new traffic woke them.

@tanmoysrt #288 Read
fix other-apps 1 month ago

Boot Ubuntu 22.04 images with the 24.04 kernel

Ubuntu 22.04 guests failed to boot with kernel panic on missing root device.

@tanmoysrt #295 Read
fix other-apps 1 month ago

Settle public IP intents for VMs that Metal does not hold

Stale draft VMs created 49,000 error logs by failing IP updates every minute.

@tanmoysrt #294 Read

Friday, September 25

ERPNext 40.6k 14 updates
feat stock-manufacturing 1 month ago

Serial and batch wise stock balance report

Serial and Batch Wise Stock Balance report lists batch nos and serial nos per item with opening, in, out and balance qty/value.

@mihir-kandoi #59321 Read
feat stock-manufacturing 1 month ago

Use template BOM for variant finished goods

Variant finished goods without their own BOM now fall back to the template's default BOM in subcontracting.

@mihir-kandoi #59373 Read
feat accounting 1 month ago

Subcontracting inward reports

Three reports for Subcontracting Inward Orders: summary, raw materials to be received, finished goods to be delivered.

@mihir-kandoi #59395 Read
feat accounting 1 month ago

Show invoice/payment/difference totals

Payment Reconciliation now shows totals for invoice amount, payment amount and difference; updates live as rows are checked.

@gajjug004 #59233 Read
fix stock-manufacturing 1 month ago

BOM UX cleanup

BOM form layout and spacing improvements.

@nishkagosalia #59178 Read
fix stock-manufacturing 1 month ago

Use per-unit BOM qty for process loss receipt

Process loss receipt multiplied lost qty by BOM's `stock_qty` (qty for whole BOM), not per-unit qty; now uses `qty_consumed_per_unit`.

@mihir-kandoi #59397 Read
fix stock-manufacturing 1 month ago

Drop unused serial balance from Stock Ledger

Stock User without Serial/Batch Bundle write got PermissionError on Stock Ledger report when ledger rows stored serial nos as text; removed unused code.

@mihir-kandoi #59392 Read
fix accounting 1 month ago

Resolve scorecard variable paths in modules not yet imported

`import_string_path` failed for paths into a submodule not yet imported; now imports the longest dotted prefix that is a module and resolves the rest as attributes.

@mihir-kandoi #59396 Read
fix accounting 1 month ago

Respect permissions on sales and purchase invoice actions

Sales and Purchase Invoice Create dropdown showed actions without checking permission to create the target document.

@Pandiyan5273 #59367 Read
fix accounting 1 month ago

Skip activities fetch on unsaved CRM doc

Opening an unsaved CRM document fetched activities with no reference doc, so it threw.

@Shllokkk #59386 Read
fix accounting 1 month ago

Convert service cost to company currency

Subcontracting Order service items were mapped straight from a foreign-currency Purchase Order with no conversion, adding supplier currency to company currency.

@Sudharsanan11 #59334 Read
fix accounting 1 month ago

Set correct transaction type on args copy while evaluating item wise pricing rule

Pricing rule evaluation on an args copy left the copied transaction type empty, so rules scoped to transaction type never matched.

@diptanilsaha #59406 Read
fix stock-manufacturing 1 month ago

Restrict delivery to reserved serial nos when ensure delivery by serial no is set

Delivery Note and Sales Invoice with Update Stock could deliver any serial no even when the Sales Order Item required specific reserved serial nos.

@Sudharsanan11 #59381 Read
fix stock-manufacturing 1 month ago

Count same-instant rows in dimension negative stock check

Two rows of the same voucher both passed negative stock check because it only looked at rows with posting_datetime strictly before the current row; now uses <=.

@mihir-kandoi #59398 Read
Frappe 11k 35 updates
feat framework 1 month ago

Private shell

Private shell lets users craft their own shell.

@sokumon #43185 Read
feat ui-ux 1 month ago

App-built page islands and sidebar item routes

`assets.json` is now the island registry; apps declare page islands built as entry assets, islands kept if app is installed.

@nextchamp-saqib #43050 Read
feat framework 1 month ago

Allowlisted pilot passthrough

`pilot_request` allowlisted pass-through to pilot for Cloud Settings features like backups.

@siduck #43106 Read
feat ui-ux 1 month ago

Open every record on Details, and draw skeletons while content loads

Record page opens on Details for every doctype; desk v2 draws skeletons instead of spinners while regions load.

@shariquerik #43261 Read
feat ui-ux 1 month ago

Refetch meta, form layouts and list settings after a DocType change

Desk v2 now listens for `doctype_update` and drops memos for that DocType, so Customize Form changes take effect immediately.

@shariquerik #43311 Read
feat ui-ux 1 month ago

Second addresses for the standard list and record page

New addresses `/:doctype/view/list` and `/:doctype/view/record` for standard pages; saved views moved under list kind.

@shariquerik #43307 Read
feat ui-ux 1 month ago

Find and resolve replacement page declarations

Build finds pages that replace a DocType's record or list page and resolves which one wins.

@shariquerik #43310 Read
feat ui-ux 1 month ago

Shared data cache for records and lists, fed by the API wrapper

In-memory data cache added for records and lists in @framework/ui; API v2 wrapper feeds it from every response.

@shariquerik #43309 Read
feat ui-ux 1 month ago

Open a DocType's declared replacement page at its main address

A DocType can replace its record or list page with an app's own page; main address opens the declared replacement, standard page at second address.

@shariquerik #43313 Read
feat framework 1 month ago

Let users choose the import type

Import type selector added to New Data Import dialog; Update Existing and Insert or Update are now reachable from UI.

@michellealva #43312 Read
feat ui-ux 1 month ago

The page name-clash check in the router, the build and the server

One URL segment after an app prefix can belong to a page, DocType or module; name clashes now checked, DocType/module always kept.

@shariquerik #43317 Read
feat ui-ux 1 month ago

Record page paints once

Record page paints once by fetching scripts early and drawing them once per handler; slow scripts have a 500ms timeout.

@shariquerik #43321 Read
feat ui-ux 1 month ago

Feat!: backport new print format builder

New print format builder with Classic builder option; WeasyPrint becomes explicit deprecated renderer.

@iamejaaz #43250 Read
fix framework 1 month ago

Hide db-column-only field properties for no-value fieldtypes

Index, Unique and Not Nullable checkboxes showed for Table, Section Break, HTML, Button fields; now hidden.

@Shllokkk #43220 Read
fix ui-ux 1 month ago

Keep the builder away from file-backed standard formats

Standard formats whose HTML ships as a file had the Edit Format button even though the builder cannot edit them.

@iamejaaz #43326 Read
fix ui-ux 1 month ago

Remove orphaned navbar search

`/search` route was removed but navbar form still submitted to it; removed the orphaned form.

@aryadharmadhikari #43328 Read
fix framework 1 month ago

Sorting by the status column after resizing it throws

Sorting list view by a resized status column threw because column width changes broke the sort index.

@kaulith #43335 Read
fix framework 1 month ago

Duplicate doctypes in the user permission applicable for list

Applicable for list repeated a child doctype per parent or table reaching it; now drops duplicates and fixed pagination slicing.

@kaulith #43253 Read
fix framework 1 month ago

Sort Link columns by their title

Link columns for doctypes with "Show Title in Link Fields" displayed title but sorted by name; now passes sortValue hook for title-based sorting.

@mihir-kandoi #43314 Read
fix framework 1 month ago

Show formats created before print_format_for existed

Old print formats with NULL print_format_for were hidden from the picker; now treats NULL as DocType.

@iamejaaz #43254 Read
fix framework 1 month ago

Bring version-16-polished CI back to green

Kanban endpoints, duration picker, saved layout restoration and Cypress helper fixes.

@iamejaaz #43316 Read
fix framework 1 month ago

Stop the import-list search box from collapsing

Status select on the import list stretched to form height; now wrapped in fixed-width container.

@michellealva #43315 Read
fix framework 1 month ago

Preventing meta dependency in the check_if_large_table

Large table check triggered Meta recursion; resolved by preventing Meta dependency.

@eagledot #43285 Read
fix framework 1 month ago

Datetime direct usage to prevent Meta dependency

`add_to_date` led to recursive `Meta(__doc__)` calls during `Meta.__init__`; now uses datetime directly.

@eagledot #43293 Read
fix framework 1 month ago

Read the letter head zone source from what it renders

Letter head HTML zone showed **Image** in the builder even with HTML content; now treats a zone with content but no image as HTML.

@iamejaaz #43292 Read
fix framework 1 month ago

Keep h3 and h4 bold in print view and pdf

Headings lost bold in print after the global `h3, h4 { font-weight: bold }` rule was dropped; now added to print.bundle.scss only.

@iamejaaz #43306 Read
fix framework 1 month ago

Keep no-value fields out of the default layout

Fresh default layout picked up every labelled field including no-value fields like Tab Breaks; now skips them in both JS and Python.

@iamejaaz #43295 Read
fix framework 1 month ago

Do not lose edits when an autosave fails

Failed autosave was silent; page left after a failure silently discarded edits; now reports the failure, re-arms autosave on the next edit, and flushes before leaving.

@iamejaaz #43296 Read
fix framework 1 month ago

Errors and cron check-ins from jobs never reach sentry

rq ends work horses with `os._exit`, which skips Sentry SDK's atexit flush; anything in the transport queue is dropped; now calls `sentry_sdk.flush()` before teardown.

@kaulith #43036 Read
fix framework 1 month ago

Oauth discovery advertises http urls behind an https proxy

`/.well-known/openid-configuration` advertised http URLs behind an SSL-terminating proxy; now respects `host_name` in site_config.json.

@kaulith #43251 Read
fix framework 1 month ago

Parse numbers using the user's number format

Importing CSV with decimal-comma numbers (e.g., 19,18) silently corrupted them by stripping the comma, saving 1918.0; now explicitly parses using the user's active NumberFormat.

@dankgarlic1 #43308 Read
fix framework 1 month ago

Close the Typst and page-break gaps against Chrome

Typst-rendered formats had newlines after `
`, missing list markers, wrong default font, and collapsed aligned sections; now match Chrome and HTML preview.

@iamejaaz #43299 Read
fix framework 1 month ago

Setting the deprecated role profile field applies no roles

A user created with only `role_profile_name` set got no roles because the field was cleared before it moved into `role_profiles`; the move now only happens when the caller changed it.

@kaulith #43329 Read
fix framework 1 month ago

Direct links are dropped when a child table links the same doctype

`get_linked_fields` dropped direct links when the same doctype also linked through a child table, so linked documents through the header went missing.

@kaulith #43252 Read
fix framework 1 month ago

Phone fields and fields without fieldname lose defaults

Currency fields without a fieldname shared one key in form data, so each overwrote the previous; phone fields with a default like "+91-" showed empty with no country code.

@kaulith #43319 Read
CRM 3.9k 10 updates
feat crm-sales 1 month ago

Open CRM Lead and CRM Deal on Activity

CRM Lead and CRM Deal now open on Activity first; desk v2 finds record scripts at `/doctype//frontend/record.js`.

@shariquerik #2898 Read
fix crm-sales 1 month ago

Add tooltip to side panel edit layout button

Edit layout pencil in the side panel had no tooltip while others showed "Edit Fields Layout".

@Shindhu-Ramaswamy #2876 Read
fix crm-sales 1 month ago

Complete web link attachment upload and surface its errors

Web link attachment upload left the dialog open, failed silently, and never reset loading state.

@Shindhu-Ramaswamy #2831 Read
fix crm-sales 1 month ago

Add auto-create for Link fields in SidePanelLayout

Link fields in the side panel lacked auto-create; now opens CreateDocumentModal and writes the new doc back.

@Shindhu-Ramaswamy #2834 Read
fix crm-sales 1 month ago

Quick filter input reset

Self-triggered view reload made the quick filter input reset stale; now counts pending reloads and skips the reload.

@Shindhu-Ramaswamy #2822 Read
fix crm-sales 1 month ago

Prevent quick filter select dropdown from clipping options

Quick filter select dropdown options were clipped by a parent overflow.

@Shindhu-Ramaswamy #2842 Read
fix crm-sales 1 month ago

Reply from the user's own email account

Replying to an email set From to the sender; now uses the user's own email account if it appears on the email.

@shahzeelahmed #2897 Read
fix crm-sales 1 month ago

Play call recordings stored as site files

Call Details player used a recording proxy that only fetches http(s) links, rejecting file paths; now loads file paths directly.

@Shindhu-Ramaswamy #2874 Read
fix crm-sales 1 month ago

Guard primary contact before reading its mobile number

Calling a deal with no primary contact threw TypeError instead of showing the "No Primary Contact Set" toast.

@Shindhu-Ramaswamy #2903 Read
fix crm-sales 1 month ago

Preserve unsaved filter change on saved-view re-entry

Returning to a saved view reset unsaved filter changes; now keeps the change until the view is saved.

@michellealva #2905 Read
Helpdesk 3.4k 1 update
fix other-apps 1 month ago

Show a field value the fetched options do not carry

Option fields fetched from an API showed "Set Site Name..." while holding a value the agent never saw and could overwrite.

@RitvikSardana #3791 Read
b Builder 2.5k 5 updates
feat ui-ux 1 month ago

Label the components panel

Components tab now opens with **Components** heading like other panel sections.

@surajshetty3416 #889 Read
feat ui-ux 1 month ago

Keep canvas zoom and pan when switching pages

Switching pages in editor keeps zoom and pan; opening a page still fits it; shorter page scrolls to top at same zoom.

@surajshetty3416 #886 Read
fix ui-ux 1 month ago

Set the route variable example in monospace

Route hint `/users/:id` now renders as code.

@surajshetty3416 #887 Read
fix ui-ux 1 month ago

Tighter social preview card in page meta settings

Social preview card stretched to form height; now sizes to content with proper link preview layout.

@surajshetty3416 #888 Read
fix ui-ux 1 month ago

Normalize nested block selections

Multi-selection could contain a block and a nested block; copy and paste then duplicated the nested; now keeps only outermost blocks.

@stravo1 #839 Read
Insights 1k 1 update
feat other-apps 1 month ago

Make the filter picker's key hints clickable

Filter picker's Back, Select and Apply hints now clickable ghost buttons; dashboard filter clear icon sized.

@nextchamp-saqib #1445 Read
p Press 575 7 updates
feat other-apps 1 month ago

Add process snapshot script

`press/scripts/ps_snapshot.sh` saves a timestamped snapshot of all processes with user, PID, CPU, memory, state and command line.

@balamurali27 #7561 Read
feat other-apps 1 month ago

Exempt teams from 7 day wait for SSH access if they have a subscription or have paid an invoice

Teams with subscriptions or paid invoices bypass SSH access wait period.

@phot0n #7528 Read
fix other-apps 1 month ago

Open the full plan list on unified Hetzner servers

CPU and Memory only resize checkbox started checked, hiding full plan list; now starts unchecked.

@huzan-kazi #7492 Read
fix other-apps 1 month ago

Try connecting to agent a couple of times when trying to poll jobs

Server resize retries agent connection on transient failures.

@phot0n #7572 Read
fix other-apps 1 month ago

Hide the plan change notice when the plan never changed

Change-plan dialog showed "Plan last changed on..." for sites that never changed their plan; now hides the line for Initial Plan entries with no from_plan.

@Shariqk3 #7560 Read
fix other-apps 1 month ago

Wait until the site answers before login redirect

After signup, the proxy sometimes redirected to the dashboard before its upstream was loaded; now waits until the site answers a request.

@tanmoysrt #7564 Read
fix other-apps 1 month ago

Date the initial plan change of a standby site at signup

Plan History dated the Initial Plan row to site.creation, so a standby site claimed after days in the pool showed the pooling date, not signup.

@huzan-kazi #7543 Read
o Other 36 updates
fix ui-ux 1 month ago

Rename side to edge with start/end values

Tabs `side` renamed to `edge` with start/end values matching text direction; line and selected tab styling updated.

@netchampfaris #1210 Read
feat ui-ux 1 month ago

KeyboardShortcut draws + only between text keys; LoadingIndicator is now Spinner

KeyboardShortcut writes shortcuts naturally ("⌘K" not "⌘+K"), LoadingIndicator made same component as Spinner; auto plus rule for cross-platform readability.

@netchampfaris #1208 Read
feat ui-ux 1 month ago

App-shell layout, one structure for component pages, rewritten migration guide and changelog

Docs site now has app-like layout, one page structure for every component, plain-English migration guide and changelog fact-checked against originals.

@netchampfaris #1203 Read
feat ui-ux 1 month ago

Rewrite for the 1.0 release

README rewritten to show current shape of package, skipping 2022 origin story and adding everything 1.0 brings.

@netchampfaris #1192 Read
feat ui-ux 1 month ago

Run transform once, and keep each user's cache apart

Cached list with transform no longer crashes on second open; each signed-in user gets their own cache with no setup.

@netchampfaris #1211 Read
feat other-apps 1 month ago

Don't clone full repo for pinned full sha

Pinned full SHA no longer clones the full repo.

@Aradhya-Tripathi #524 Read
feat other-apps 1 month ago

Pilot image with apps

Pilot images can now have apps baked in.

@Aradhya-Tripathi #70 Read
feat other-apps 1 month ago

Route automatic IPv6 on AWS and Scaleway

Atlas setup now enables Route Automatic IPv6 for AWS and Scaleway.

@tanmoysrt #271 Read
feat other-apps 1 month ago

Add IPv6 routers, public IP pools, and VM routes

VMs can get public IPv6 through an IPv6 router or direct `/128`; Public IP Pool replaces Metal Server IP Address; one route list replaces egress mode.

@tanmoysrt #268 Read
feat other-apps 1 month ago

Ubuntu and ssh flow

Team SSH key management and per-server key selection for Ubuntu VMs; public IPv4 with SSH-only inbound access; clear connection instructions.

@prathameshkurunkar7 #365 Read
feat other-apps 1 month ago

Add dashboard facing APIs for Object storage

Bucket management routes for the dashboard: list, create, rotate, cap and delete buckets with tenant/region prefix.

@prathameshkurunkar7 #366 Read
feat other-apps 1 month ago

Enforce server-scoped role grants

Role granted on one server now applies only to that server; team-wide grants and server-scoped grants both supported.

@prathameshkurunkar7 #367 Read
feat other-apps 1 month ago

Public ipv6, firewall, and web console

Servers can request public IPv6 address and Atlas firewall; web console opened from dashboard; server overview shows public addresses and SSH command.

@prathameshkurunkar7 #368 Read
feat other-apps 1 month ago

Search events from the command palette

Calendar search now finds events from shared calendars and shows results on a phone search page; searches and ranks improved.

@krantheman #932 Read
fix other-apps 1 month ago

Billing sidebar and snapshot

Billing sidebar collapse, badge display and snapshot UI fixes.

@prathameshkurunkar7 #363 Read
fix other-apps 1 month ago

Skip evaluating `_strip_eval` on empty expression for `_or_whatsapp` and `_and_not_whatsapp`

Installation evaluation on empty expressions threw.

@diptanilsaha #41 Read
fix other-apps 1 month ago

Validator use bench python environment for app syntax validation

App validation now uses bench's Python environment instead of Pilot's, so modern syntax on newer Python versions passes.

@ai-sadhu #510 Read
fix other-apps 1 month ago

Remove silently introduced dependency

Removed unintended dependency.

@Aradhya-Tripathi #525 Read
fix other-apps 1 month ago

Pilot image utilities

Pilot image utilities and machine doc updates.

@Aradhya-Tripathi #72 Read
fix other-apps 1 month ago

Pilot image fixes

Pilot image improvements.

@Aradhya-Tripathi #71 Read
fix other-apps 1 month ago

Refuse a non-empty bucket delete as invalid input

Non-empty bucket delete now shows "Bucket still holds objects" instead of "Could not confirm".

@prathameshkurunkar7 #69 Read
fix other-apps 1 month ago

Serve the VM console page to every user

Console link returned 403 for users without a Frappe session; now serves `/vm_console` to every user, token validates access.

@tanmoysrt #274 Read
fix other-apps 1 month ago

Harden the tenant networking API

Network changes on one VM run serially; API returns clear conflict messages; IPv6-only VMs can now resolve names.

@tanmoysrt #270 Read
fix other-apps 1 month ago

Fix IPv6 router setup, catalog sync, and node console

Router creation, Scaleway catalog sync and node console access restored.

@tanmoysrt #273 Read
fix other-apps 1 month ago

Remount the guest root read-only on errors

Guest with ext4 errors kept writing to damaged disk; base images now set ext4 error behavior to remount-ro.

@tanmoysrt #276 Read
fix other-apps 1 month ago

Warm-start only a new VM disk

Warm image memory is valid only with the image disk it was captured with; now resumes only on first boot.

@tanmoysrt #275 Read
fix other-apps 1 month ago

Keep custom app builds working with the v1 code field

App builder build failed with codemirror/lezer conflicts; skips pages with no blocks.

@ruchamahabal #270 Read
fix other-apps 1 month ago

A collapsed row keeps its height when the cursor arrives

Collapsed mail rows rose ~2px under the cursor when the preview was empty; now states the same 20px height on the name.

@krantheman #931 Read
fix other-apps 1 month ago

Show the caret when clicking below the compose body

Clicking below the compose body gave focus with no caret because an empty non-editable node at the end became the default block.

@s-aga-r #927 Read
fix other-apps 1 month ago

The attachment viewer keeps clear of the iOS safe areas

Attachment viewer teleported to body had no safe-area insets, so buttons went under the status bar and home indicator.

@krantheman #929 Read
breaking other-apps 1 month ago

Keep image caption styled when soft breaks render as

Image captions lost their italic style because soft breaks between image and caption rendered as `
`, breaking the CSS selector.

@gajjug004 #808 Read
fix other-apps 1 month ago

Update discussion title optimistically

Renaming a discussion showed the new title only after the server answered; now shows it at once.

@netchampfaris #589 Read
fix other-apps 1 month ago

Open a page again after returning to the pages list

Opening a page again after returning to the Pages tab showed the URL change but the Pages list stayed on screen; Teleport target was missing.

@ebrahimgamdiwala #594 Read
fix other-apps 1 month ago

Drop foreign sources without a gateway return route

IPv6 router translated every public address in its block to mesh; WG Mesh now delivers foreign-source packets only when the VM has a gateway route back.

@tanmoysrt #272 Read
fix other-apps 1 month ago

Screen ham with a positive spam score

Stalwart v0.16.19+ hands Sieve a graded spamtest value instead of 1 or 10; mail with a small positive score (≥0.1) skipped screening and was delivered to the Inbox.

@s-aga-r #930 Read
fix other-apps 1 month ago

Permission-check logs, sends without a reference, and account sync endpoints

Whitelisted endpoints for logs, sends and syncs required no permission check, so any logged-in user could read business logs, send from the business number, or trigger a sync; now each requires matching DocType permission.

@ps173 #39 Read

Thursday, September 24

ERPNext 40.6k 28 updates
fix accounting 1 month ago

Handle missing and item group default supplier in MRP make_order

fix: handle missing and item group default supplier in MRP make_order

@Shllokkk #59353 Read
fix accounting 1 month ago

Skip ERPNext persona for HRMS signups

fix: Skip ERPNext persona for HRMS signups

@deepeshgarg007 #59292 Read
fix accounting 1 month ago

Production plan layout

fix: production plan layout

@rohitwaghchaure #59185 Read
fix accounting 1 month ago

Job card cleanup

fix(UX): Job card cleanup

@nishkagosalia #59329 Read
feat stock-manufacturing 1 month ago

GL-only reposting from Stock and Account Value Comparison report

A **Create GL Reposting Entries** button queues `Repost Item Valuation` with `repost_only_accounting_ledgers` set, rebuilding the ledgers without touching valuations.

@rohitwaghchaure #59307 Read
feat accounting 1 month ago

Make bank reconciliation dialog voucher types extensible

The Bank Reconciliation Tool dialog now uses a registry so apps can add their own bank-affecting vouchers like Loan Repayments.

@deepeshgarg007 #59276 Read
feat stock-manufacturing 1 month ago

Close individual blanket order items

Blanket Order rows now have Close Items and Reopen Items actions, letting rows stay closed while unordered qty remains.

@mihir-kandoi #59343 Read
feat stock-manufacturing 1 month ago

Close and re-open blanket orders

Blanket Orders now have a status (Draft, Submitted, Closed, Cancelled) and Close/Re-open actions; closed orders hide Create buttons and drop out of pickers.

@mihir-kandoi #59341 Read
feat accounting 1 month ago

Email templates for customer-facing emails

Proforma Invoices and POS receipts can now use Email Templates for subject and body, with templates receiving the document as context.

@mihir-kandoi #59332 Read
fix stock-manufacturing 1 month ago

Add permission checks for serial/batch creation using scanning

Serial/Batch creation via scanning now validates user permissions.

@rohitwaghchaure #59325 Read
fix stock-manufacturing 1 month ago

Negative stock value for moving average items with mixed batchwise valuation

Forward port of two hotfix PRs fixing Moving Average items whose batches mix batchwise and non-batchwise valuation.

@rohitwaghchaure #59291 Read
fix accounting 1 month ago

Report uae vat 201 sales vat in company currency

UAE VAT 201 now reports foreign-currency Sales Invoice VAT in the company currency, matching the Sales Register.

@Sudharsanan11 #59168 Read
fix accounting 1 month ago

Count complete opening depreciation periods accurately

Fixed straight-line depreciation to preserve month-end boundaries and count whole periods correctly.

@khushi8112 #59304 Read
feat accounting 1 month ago

Put a customer on hold

Customers can now be put on hold with a release date, blocking Sales Orders, Delivery Notes, Sales Invoices and POS Invoices until release, mirroring the Supplier hold feature.

@mihir-kandoi #59303 Read
fix stock-manufacturing 1 month ago

Stop ordering against an expired blanket order

All Create buttons (Purchase Order, Sales Order, Quotation) and the item details picker now block expired Blanket Orders consistently.

@mihir-kandoi #59346 Read
fix accounting 1 month ago

Throw clear message when MRP purchase item has no default supplier

Material Requirements Planning now throws "Default Supplier for {items} not found" before attempting to create a supplier-less PO.

@Shllokkk #59349 Read
fix accounting 1 month ago

Translate doctype name values in report columns

36 report columns holding DocType names now render translations on screen and in print.

@mihir-kandoi #59342 Read
fix accounting 1 month ago

Keep against voucher link in general ledger for non-english users

General Ledger's Against Voucher Dynamic Link now renders as a link for non-English users instead of plain text.

@mihir-kandoi #59345 Read
fix accounting 1 month ago

Block Quality Inspection submit without a sample size

Quality Inspection now requires Sample Size > 0 at submit (drafts still save with 0), preventing zero-sample inspections.

@mihir-kandoi #59330 Read
fix accounting 1 month ago

Round running allocation balance in payment reconciliation

Payment reconciliation now rounds the running FIFO allocation balance to currency precision, fixing "allocated amount greater than unadjusted" failures.

@ervishnucs #58393 Read
fix accounting 1 month ago

Use preferred addresses in customer quotations

Creating a quotation from a customer now uses the preferred billing and shipping addresses instead of the latest linked ones.

@Pandiyan5273 #59336 Read
fix accounting 1 month ago

Reset stale selected mode of payment on new invoice

Intermittent POS invoices with `paid_amount = 0` and status Unpaid are now fixed by resetting stale Mode of Payment selections between invoices in a session.

@ervishnucs #59308 Read
fix accounting 1 month ago

Quote the reversed row's rate on a consolidated credit note

POS Closing Entry consolidation now correctly applies invoice-level discounts to reversed rows, fixing rate validation failures.

@diptanilsaha #59320 Read
fix stock-manufacturing 1 month ago

Subtract consumption entries from available materials

Return Components and backflush now correctly account for consumed materials, preventing proposals to return already-consumed material.

@mihir-kandoi #59310 Read
fix stock-manufacturing 1 month ago

Finish a work order after partial material consumption

Work orders can now complete after partial Material Consumption entries when "Get Raw Materials Cost from Consumption Entry" is enabled, by excluding consumed materials from the Manufacture entry.

@mihir-kandoi #59311 Read
fix stock-manufacturing 1 month ago

Continuous raw material consumption with bom validation

Manufacturing now compares the BOM against consumption entries when "Validate Components and Quantities Per BOM" is on, fixing validation failures on partial material consumption.

@mihir-kandoi #59314 Read
fix accounting 1 month ago

Add permission checks to whitelisted methods and the DocPerm rows they need

Backports the same permission hardening to v16-hotfix, affecting stock, accounting, and CRM workflows.

@diptanilsaha #59284 Read
fix accounting 1 month ago

Add permission checks to whitelisted methods and the DocPerm rows they need

Backports six permission-checking fixes to v15-hotfix. Whitelisted methods on several doctypes now validate user rights before executing, preventing unauthorized access to doctypes like Material Request, Stock Entry, and others.

@diptanilsaha #59283 Read
Frappe 11k 27 updates
fix framework 1 month ago

Attribute document events to the doctype's app

fix(telemetry): attribute document events to the doctype's app

@nextchamp-saqib #43226 Read
feat ui-ux 1 month ago

Drop the field template section from the print format builder library

feat: drop the field template section from the print format builder library

@iamejaaz #43224 Read
fix ui-ux 1 month ago

Update IntermediateStepModal to new Dialog API

fix(ui): update IntermediateStepModal to new Dialog API

@michellealva #43228 Read
fix ui-ux 1 month ago

Drop Beta from the print format builder field label

fix(print): drop Beta from the print format builder field label

@iamejaaz #43239 Read
fix ui-ux 1 month ago

Hide the print format builder flag

fix(print): hide the print format builder flag

@iamejaaz #43244 Read
fix ui-ux 1 month ago

Print format builder folds the sidebar instead of hiding it

The print format builder now folds the sidebar to its icon rail instead of hiding it, keeping navigation available.

@iamejaaz #43193 Read
feat ui-ux 1 month ago

Let a Filter host choose its fields and popover alignment

`Filter` components now let the host pick fields and declare custom ones, and choose popover alignment.

@nextchamp-saqib #43222 Read
fix ui-ux 1 month ago

Catch up on writes made while a build ran

Search index builds now catch up on writes made during the build, preventing stale text in results.

@mihir-kandoi #43171 Read
feat ui-ux 1 month ago

Add frappe.ui.form.set_controller

`frappe.ui.form.set_controller(doctype, ControllerClass)` now registers class-based form controllers without needing to extend `cscript`.

@mihir-kandoi #43198 Read
feat framework 1 month ago

Pass the form to link query functions

Link and Autocomplete controls now pass the form as a fourth argument to query functions, letting them act on the form without reaching for `cur_frm`.

@mihir-kandoi #43199 Read
feat framework 1 month ago

Support using an Email Template for content

Notifications can now link an Email Template for dynamic subject and message content instead of inline text.

@iamkhanraheel #42950 Read
feat ui-ux 1 month ago

Draw the record tab strip on the generated page

The generated record page now draws its own tab strip; Client Scripts can switch to named tabs, and the reader's tab lives in the address.

@shariquerik #43221 Read
feat ui-ux 1 month ago

The activity feed on the generated record page

The generated record page now draws real Activity, Emails and Files tabs with live content; Client Scripts can read and extend the feed.

@shariquerik #43229 Read
feat ui-ux 1 month ago

The composer band and the comment writer on the record page

A composer band at the bottom of Activity and Emails tabs lets readers write comments; a `page.composer` list lets Client Scripts open it by name.

@shariquerik #43245 Read
fix framework 1 month ago

Edge case in the new routing

Fixed an edge case in the new routing where Audit trail in India Compliance was causing issues.

@sokumon #43166 Read
fix framework 1 month ago

Stop two test state leaks that fail unrelated v16 tests

Two tests that leaked state into later shards are now fixed.

@mihir-kandoi #43196 Read
fix ui-ux 1 month ago

Menu stays open after navigating back

Dropdowns now close when `frappe.router` fires `change`, preventing menus from floating over the new page after a back-button navigation.

@kaulith #43189 Read
fix developer-experience 1 month ago

Mark notification as read when clicked

Clicking an unread notification now marks it read, clears its dot and lowers the badge count.

@iamejaaz #43188 Read
fix ui-ux 1 month ago

Render relative links to avoid storing hardcoded absolute url

Relative links are now rendered instead of storing hardcoded absolute URLs.

@Bowrna #43223 Read
fix framework 1 month ago

Skip invalid GitHub release tags

`check_for_update` no longer fails on non-semver release tags and now strips leading `v` before parsing.

@aryadharmadhikari #43194 Read
fix framework 1 month ago

Accept a dict as the on_parent target

`get_mapped_doc` now handles dict `target_doc` in the `on_parent` branch, fixing mapping into child rows of dict parents.

@mihir-kandoi #43200 Read
feat ui-ux 1 month ago

Email writer in the record composer

A built-in email writer on `page.composer` lets readers send emails directly from the record page; sent emails appear in the feed at once.

@shariquerik #43247 Read
feat ui-ux 1 month ago

Float the record composer in the shell

The record page composer now floats in a window, staying visible as the reader navigates to other pages.

@shariquerik #43249 Read
fix framework 1 month ago

Add perm. conditions in perm. hooks

Permission hooks now include comprehensive permission checks, preventing unauthorized report access.

@AarDG10 #40868 Read
fix framework 1 month ago

Generate print_by_server temp file path server-side

Temp file paths for server-side printing are now generated server-side instead of accepting arbitrary `file_path` input.

@AarDG10 #43169 Read
fix framework 1 month ago

Stop password reset flow from bypassing 2FA

Password reset now respects 2FA settings, closing a hardening gap in the login flow.

@AarDG10 #43192 Read
fix framework 1 month ago

Store hashed session ids

Session IDs are now hashed in storage (`tabSessions` and cache); only the client cookie holds the raw sid, so a database breach no longer exposes active session tokens.

@sagarvora #43201 Read
CRM 3.9k 2 updates
fix crm-sales 1 month ago

Keep server metadata out of automation undo snapshots

fix: keep server metadata out of automation undo snapshots

@shahzeelahmed #2886 Read
feat crm-sales 1 month ago

Add "Capture leads with a form" step

A new onboarding step nudges users to build a web form, raising feature visibility.

@michellealva #2887 Read
LMS 3.3k 4 updates
fix other-apps 1 month ago

Narrow write on a program to the people named on it

fix(perms): narrow write on a program to the people named on it

@raizasafeel #2787 Read
fix other-apps 1 month ago

Perms on assignment

fix: perms on assignment

@raizasafeel #2780 Read
fix other-apps 1 month ago

Lowercase 'content' in course content empty state

fix: lowercase 'content' in course content empty state

@michellealva #2782 Read
fix other-apps 1 month ago

Remove appointment booking icon from sidebar

fix: remove appointment booking icon from sidebar

@michellealva #2783 Read
b Builder 2.5k 5 updates
fix ui-ux 1 month ago

Restore dashboard sidebar header menu

The Builder dropdown in the sidebar now shows options after the frappe-ui 1.0.0-beta.76 upgrade.

@surajshetty3416 #878 Read
fix ui-ux 1 month ago

Let the editor demo open when the canvas is ready first

The editor demo now opens reliably when the canvas is ready before the page finishes loading.

@surajshetty3416 #880 Read
fix ui-ux 1 month ago

Load real italic faces in the editor and at inherited weights

Italic text now loads real italic faces at inherited weights instead of browser-slanted romans.

@surajshetty3416 #879 Read
fix ui-ux 1 month ago

Stop dark-mode image sources adding an extra layout gap

Dark-mode images no longer add an extra gap by hiding `` elements properly.

@surajshetty3416 #882 Read
fix ui-ux 1 month ago

Keep the editor demo from capturing the page's edit link

The Builder demo no longer hijacks the edit link by clearing its `window.name` assignments.

@surajshetty3416 #881 Read
Insights 1k 3 updates
feat other-apps 1 month ago

List workbooks and dashboards by access, with quick filters

Lists now show owned and shared workbooks and dashboards with quick filters by title, data source, and other fields.

@nextchamp-saqib #1443 Read
fix other-apps 1 month ago

Map and number card regressions from the frappe-ui upgrade

Maps without data and Number cards now render correctly after frappe-ui chart token and type-scale changes.

@nextchamp-saqib #1444 Read
fix other-apps 1 month ago

Show the exception message when the traceback ends with SQL context

DuckDB errors now show the message from the last traceback line instead of just the bare exception name.

@nextchamp-saqib #1441 Read
p Press 575 9 updates
fix other-apps 1 month ago

Hide the take backup button on archived sites

fix(dashboard): Hide the take backup button on archived sites

@Shariqk3 #7519 Read
fix other-apps 1 month ago

Don't restart benches when Increase Disk Size resizes nothing

Disk resize jobs no longer restart benches when no resize actually happens, preventing unnecessary container recreation during prolonged disk-full alerts.

@regdocs #7542 Read
fix other-apps 1 month ago

Allow bool in the stored value type selects

Press Workflow tasks that return booleans no longer fail on save.

@tanmoysrt #7548 Read
fix other-apps 1 month ago

Skip trial requests without a site in subscription job

The subscription job now skips trial requests with no site, preventing `AttributeError` on missing `creation`.

@tanmoysrt #7552 Read
fix other-apps 1 month ago

Wait for proxy upstream before marking site created

Standby trials no longer get marked "Site Created" before the proxy's upstream job finishes, preventing early `site_not_found` redirects.

@tanmoysrt #7553 Read
fix other-apps 1 month ago

Skip Bahrain and UAE in orphan cleanup

Unreachable Bahrain and UAE clusters are now excluded from orphan snapshot deletion.

@tanmoysrt #7555 Read
fix other-apps 1 month ago

Skip in-use snapshots in orphan cleanup

Orphan snapshot cleanup now correctly skips snapshots linked to live Server Snapshots.

@tanmoysrt #7550 Read
fix other-apps 1 month ago

Cycle chart colours when series outnumber them

The Disk I/O chart no longer crashes on hover when series outnumber theme colours.

@balamurali27 #7525 Read
fix other-apps 1 month ago

Show replica charts, add slow queries by query

Database replica analytics now show charts and the Slow Queries card displays breakdowns by query name.

@balamurali27 #7524 Read
o Other 31 updates
fix other-apps 1 month ago

Create bench env before get-app validation

fix(validation): Create bench env before get-app validation

@Aradhya-Tripathi #23 Read
feat other-apps 1 month ago

Grow disk on resize and adopt the unified Atlas resize API

feat(servers): grow disk on resize and adopt the unified Atlas resize API

@prathameshkurunkar7 #356 Read
fix other-apps 1 month ago

Remove routes on terminate and close resize gaps

fix(servers): remove routes on terminate and close resize gaps

@prathameshkurunkar7 #358 Read
fix other-apps 1 month ago

Pin the sidebar collapse knob at the middle of its edge

fix(ui): pin the sidebar collapse knob at the middle of its edge

@prathameshkurunkar7 #362 Read
fix other-apps 1 month ago

Tidy the server overview snapshots card

fix: tidy the server overview snapshots card

@prathameshkurunkar7 #361 Read
fix other-apps 1 month ago

Recompute sticky column offsets on column resize

Pinned columns stay aligned after resize drag and double-click auto-fit.

@iamejaaz #241 Read
feat other-apps 1 month ago

Add frappe_microsoft365

Microsoft 365 integration for Frappe and ERPNext with two-way Outlook calendar sync, Teams meeting creation, and sign-in with Microsoft.

@Suraj787 #22 Read
feat other-apps 1 month ago

Add buzz to the registry

Buzz, an open-source event management app, is now in the app registry.

@harshtandiya #24 Read
feat other-apps 1 month ago

Bucket via doctype model

Adds a Bucket doctype and removes the custom arbiter model in favor of garage arbiter.

@Aradhya-Tripathi #68 Read
feat other-apps 1 month ago

Use NDP discovery and add support for VM gateways

WG Mesh now uses NDP for discovery, supports tenant-0 VMs as network gateways, and public IPv6 blocks without per-VM public addresses.

@20vikash #250 Read
feat other-apps 1 month ago

Show missing fields and allow removing them

The data source editor now detects and displays fields configured but missing from the schema, so they can be removed.

@ruchamahabal #268 Read
feat other-apps 1 month ago

Add RBI Key Facts Statement (KFS)

The loan flow now includes a Key Facts Statement as required by the RBI, showing amount, interest rate, tenure, instalment and repayment schedule.

@Nihantra-Patel #4 Read
feat other-apps 1 month ago

Create Loan Repayment from Bank Reconciliation Tool

Loan Repayments can now be created directly from the Bank Reconciliation Tool, the same way Payment Entries and Journal Entries are.

@deepeshgarg007 #1457 Read
feat other-apps 1 month ago

Take, bill, keep and restore VM snapshots

Customers can take, keep, delete and restore server snapshots; Central owns each snapshot's record, price and deletion.

@prathameshkurunkar7 #359 Read
feat other-apps 1 month ago

Give app publishers read access to their events

App publishers now get read-only database access to the Pulse Event view, filtered to their apps.

@nextchamp-saqib #14 Read
feat other-apps 1 month ago

Delete a space from space settings

Spaces can now be deleted from Space Settings, with a confirmation dialog listing what will be deleted.

@gajjug004 #805 Read
feat ui-ux 1 month ago

Add create-frappe-ui, to start a frappe-ui app in one command

`npm create frappe-ui@latest` now starts a frappe-ui app with one command, automating the dozen manual setup steps.

@netchampfaris #1204 Read
fix other-apps 1 month ago

Mobile settings

Settings on phones now display without squeezing, using the More menu for tabs and full-width panels.

@Jeesha09 #591 Read
fix other-apps 1 month ago

Fix/unicommerce old order returns sync

Old Unicommerce orders now get RTO credit notes by fetching the facility code from each package's Sales Invoice.

@Bhavathariniya #463 Read
fix other-apps 1 month ago

Print format fixed

Printing a discussion now produces a usable document without sidebar and with all comments visible.

@Jeesha09 #593 Read
fix other-apps 1 month ago

Fix search focus

Search now accepts Enter and Backspace without being manually focused.

@Jeesha09 #574 Read
fix ui-ux 1 month ago

Join active line highlight to gutter

The active-line highlight now extends to the line-number gutter while text keeps its inset.

@netchampfaris #1202 Read
fix ui-ux 1 month ago

Capture review comment ID reliably

Barista review comment tracking is now reliable by reading marker files instead of trusting state.

@netchampfaris #1201 Read
fix other-apps 1 month ago

Search mail from the command palette

Mail search moves from a separate modal into the command palette behind a filters button, unifying mail search with the rest of the app.

@krantheman #914 Read
fix other-apps 1 month ago

Measure a message body with a box, not without one

Message bodies now measure with a visible box, fixing cases where the iframe resizer reported 1px height on empty bodies.

@krantheman #919 Read
fix other-apps 1 month ago

A lone draft fills the reading pane, and reply drafts stop hovering grey

A draft opened from Drafts now stretches to the pane, and reply drafts under other mail no longer pick up hover styling.

@krantheman #918 Read
fix other-apps 1 month ago

Collapse quote trails from every client, and keep quotes intact through the composer

Mail now collapses quoted content from Gmail, Suite, Yahoo, Proton, Zoho, Outlook Web, and Apple Mail/Thunderbird, and preserves quotes through the composer.

@krantheman #916 Read
fix other-apps 1 month ago

A filled cell takes its ink from the fill, not the theme

Color-scale rules in dark mode now use the cell's effective fill for text color, making values readable.

@netchampfaris #922 Read
fix other-apps 1 month ago

Enter opens the selected cell for editing

Pressing Enter on a selected cell now opens it for editing instead of moving the selection down.

@netchampfaris #921 Read
fix ui-ux 1 month ago

Remove issue triage

Barista's issue triage workflow is removed; fix and review modes stay, now reading the issue directly instead of triage comments.

@netchampfaris #1207 Read
fix ui-ux 1 month ago

Make the visibility toggle a focusable button

The Password component's eye toggle is now a proper button, keyboard-focusable with a tooltip showing the `Mod+I` shortcut.

@netchampfaris #1206 Read

Monday, September 21

ERPNext 40.6k 2 updates
fix stock-manufacturing 1 month ago

Validate warehouse account belongs to selected company

Prevents warehouse creation with an account belonging to a different company by validating account company on warehouse change.

@Afsalsyed #59191 Read
fix stock-manufacturing 1 month ago

Valuation of serialized items after disabling serial no wise valuation

Fixes outward stock entries retaining per-serial rates through repost when disabling serial-wise valuation, restoring clean Moving Average calculation.

@rohitwaghchaure #59197 Read
Frappe 11k 7 updates
feat framework 1 month ago

Split view in report view

Adds split-view option in report view to display linked documents side-by-side, enabled via user settings.

@nishkagosalia #41496 Read
feat ui-ux 1 month ago

Collaboration writes go to /api/v2 document sub-resources

Routes assign, share, tag, favourite, follow, and comment operations through /api/v2 sub-resources instead of legacy endpoints.

@shariquerik #43004 Read
fix framework 1 month ago

Restore blue selection ring and marquee

Restores blue selection styling after accidental gray override.

@iamejaaz #43009 Read
fix framework 1 month ago

Doctype field editor labels the standard filter option differently

Renames `in_standard_filter` label from "In List Filter" to "In Standard Filter" to match other UI surfaces.

@kaulith #43054 Read
fix framework 1 month ago

Canvas renders author html and zones the way the print does

Brings HTML block canvas rendering and print rendering into agreement by applying the same sanitization rules to both surfaces.

@iamejaaz #43025 Read
fix framework 1 month ago

Harden runtime and run pull request CI

Enforces safe transaction boundaries for SQLite, retries background jobs, hardens document locking and setup callbacks, and adds SQLite to pull request CI.

@AyshaHakeem #42986 Read
fix framework 1 month ago

Double fetch calls on sending email and broken socket connection

Moves activity timeline subscription to a shared store with reference counting, coalesces duplicate refreshes, and restores socket rooms after reconnection.

@RitvikSardana #43001 Read
Helpdesk 3.4k 2 updates
fix other-apps 1 month ago

Add optimistic reply and comment in the timeline

Wires composer emit, sends comments optimistically through the timeline, and ensures socket-less replies still appear without refresh.

@RitvikSardana #3777 Read
fix other-apps 1 month ago

Save a link field once when the value is cleared then picked

Defers field clear so a link field picker that lands immediately after cancels the clear, preventing duplicate saves and timeline entries.

@RitvikSardana #3780 Read
LMS 3.3k 1 update
fix other-apps 1 month ago

Fix!: show data to intended users

Restricts access to private lesson files, sanitizes saved rich-text content, and restricts evaluation access so evaluators only work with assignments they are actually assigned to.

@raizasafeel #2768 Read
b Builder 2.5k 2 updates
feat ui-ux 1 month ago

Make the draft status dot hollow

Makes draft status dot hollow to match the "filled means live, hollow means not live" rule across all page statuses.

@surajshetty3416 #843 Read
feat ui-ux 1 month ago

Show page status as a dot in the meta line

Replaces prominent Live badge with small status dot in meta line; shows live (green), staging (violet), or draft (grey) with hollow dot for unpublished changes.

@surajshetty3416 #841 Read
Insights 1k 2 updates
feat other-apps 1 month ago

Review a large change by question, in stages

Splits large code reviews into multi-stage runs: plan step, per-question readers up to ~25 files, merge step to apply findings.

@nextchamp-saqib #1430 Read
fix other-apps 1 month ago

Corrections from the first site scans

Fixes site scan metrics: reads installation age from oldest Patch Log, adds DuckDB catalog reader, excludes unknown charts from totals.

@nextchamp-saqib #1427 Read
o Other 15 updates
feat other-apps 1 month ago

Manual override for build memory cap via bench.toml

Adds `[build] memory_limit_mb` setting in bench.toml to override auto-sized build memory cap.

@AryamanSharma14 #496 Read
feat other-apps 1 month ago

Move the user switcher into the account menu and the You page

Removes floating dev user switcher and integrates it into the account menu on desktop and Developer group on the You page mobile.

@netchampfaris #586 Read
feat ui-ux 1 month ago

Feat(typography)!: text-* line height is 1.35, leading-tighter keeps 1.15

Changes default text line height from 1.15 to 1.35 for better readability on wrapped text, adds leading-tighter class for single-line text.

@netchampfaris #1182 Read
breaking ui-ux 1 month ago

Feat(Sidebar)!: settle five sidebar family behaviours before 1.0

Settles SidebarItem icon behavior, attribute split, nav landmark, and other family-wide inconsistencies with breaking changes before 1.0 release.

@netchampfaris #1185 Read
feat other-apps 1 month ago

Delete identities from settings

Adds Delete button in Mail Settings > Identity with confirmation, using server-reported deletability and bulk_delete backend.

@s-aga-r #903 Read
feat other-apps 1 month ago

DMARC reports are copied from the clusters and served to sites

Copies DMARC aggregate reports from cluster receivers hourly into `DMARC Report` documents and retains them per site settings.

@s-aga-r #8 Read
feat other-apps 1 month ago

A DMARC Reports page in the Mail Admin Dashboard

Displays DMARC aggregate reports with pass-rate tiles, sending sources, reporters, and per-source verification records grouped by domain and period.

@s-aga-r #896 Read
feat other-apps 1 month ago

Page view analytics

Adds Web Page View logging for published wiki pages, Overview page with views, visitors, and top content metrics, and per-space/per-page analytics in settings.

@gajjug004 #796 Read
fix other-apps 1 month ago

Use wiki logo as /wiki-app favicon

Replaces Frappe favicon with Wiki logo and removes stray favicon from highlight build output.

@gajjug004 #795 Read
fix other-apps 1 month ago

Add Overview tab to the bottom nav

Adds Overview tab to mobile bottom nav for Wiki Managers and keeps Change Requests active on the review route.

@gajjug004 #797 Read
fix other-apps 1 month ago

Bullet and numbered list fixes

Fixes bullet and number markers drifting from text on mixed font sizes, running into numbers in aligned lists, and improper spacing.

@GursheenK #904 Read
fix other-apps 1 month ago

Hide the bottom nav on discussion and editor pages, float the comment button

Hides mobile bottom nav on discussion and editor routes, floats the comment button with proper clearance above the nav in PWAs.

@netchampfaris #582 Read
fix other-apps 1 month ago

Resize body cells while dragging a column

Applies column width updates and body style changes on every mouse move during resize, preventing header-column misalignment during drag.

@kaulith #240 Read
fix other-apps 1 month ago

Scope the task list to spaces the user can see

Restricts task list queries to only spaces the user can access, preventing users from reading tasks in private spaces.

@netchampfaris #588 Read
fix other-apps 1 month ago

Check community access on space move, guests cannot manage or move

Enforces community access check when moving a space and revokes guest ability to manage or move spaces.

@netchampfaris #587 Read

Saturday, September 19

ERPNext 40.6k 7 updates
feat stock-manufacturing 1 month ago

GL-only reposting from Stock and Account Value Comparison report

Adds Create GL Reposting Entries button for rebuilding General and Payment Ledgers while preserving stock valuations.

@rohitwaghchaure #59127 Read
fix stock-manufacturing 1 month ago

Clarify revaluation journal filters

Renames "Revaluation Journals" label to clarify that the checkbox controls inclusion of revaluation journals.

@Pandiyan5273 #59181 Read
fix accounting 1 month ago

Validate bank reconciliation date ranges

Consistently validates reversed date ranges in both normal and reference-date modes.

@Pandiyan5273 #59081 Read
fix stock-manufacturing 1 month ago

Continue putaway allocation after undersized whole-uom rules

Allows putaway to continue through later warehouse rules when an earlier rule cannot accommodate whole units.

@Pandiyan5273 #59155 Read
fix accounting 1 month ago

Validate shipping rule account company

Validates that a Shipping Rule's account belongs to the selected company.

@Pandiyan5273 #59142 Read
fix stock-manufacturing 1 month ago

Respect manual picking when mapping sales orders

Prevents automatic serial/batch allocation when Pick Manually is enabled in Pick List creation.

@Pandiyan5273 #59170 Read
fix stock-manufacturing 1 month ago

Forward company to outward batch lookup

Passes company filter to batch availability lookup during outward auto-selection.

@Pandiyan5273 #59160 Read
Frappe 11k 23 updates
feat ui-ux 1 month ago

Desk-owned fetch wrapper over /api/v2

Adds @framework/ui/api module for all server calls in ui/src, exporting getDocument, listDocuments, countDocuments and CRUD operations.

@shariquerik #42947 Read
feat ui-ux 1 month ago

Record page reads and saves through the v2 wrapper

Routes record page reads and saves through the v2 API wrapper with include parts and meta-with-children support.

@shariquerik #42990 Read
feat ui-ux 1 month ago

Lists, counts and link search go to /api/v2

Routes every list, count, link search and list-settings call through desk-owned /api/v2 wrapper.

@shariquerik #43002 Read
feat framework 1 month ago

Linked fields in typst, bold/font size on every field, clearer renderer hint

Renders linked fields through Typst renderer, adds bold/font size controls to all fields, improves renderer hint organization.

@iamejaaz #42982 Read
feat framework 1 month ago

Version history with restore, undo and redo buttons

Adds version history tracking with restore, undo and redo buttons to Print Format Builder.

@iamejaaz #42995 Read
fix framework 1 month ago

Revert "fix(timeline): double fetch calls on sending email and broken socket connection"

Revert "fix(timeline): double fetch calls on sending email and broken socket connection"

@RitvikSardana #42998 Read
fix framework 1 month ago

Set patch as completed when after_install completes

Marks patches as completed when their after_install hook completes per issue #42090.

@Bowrna #42991 Read
fix ui-ux 1 month ago

Use theme-aware tokens in sidebar for dark mode

Updates sidebar to use theme-aware design tokens for proper dark mode rendering.

@KerollesFathy #43006 Read
fix ui-ux 1 month ago

Inspector spacing and builder review fixes

Fixes spacing issues in Print Format Builder inspector and reorganizes section border controls.

@iamejaaz #43008 Read
fix framework 1 month ago

Missing linked target, canvas row spacing and once-only footer position

Handles missing linked targets gracefully, removes print-format class for correct row spacing, positions letterhead footer at page bottom.

@iamejaaz #42978 Read
fix ui-ux 1 month ago

Custom table columns, slash field picker and zoom dropdown in the builder

Adds slash command field insertion, canvas zoom dropdown, and fixes custom table column rendering.

@iamejaaz #42962 Read
fix framework 1 month ago

Create the run lookup index with a portable helper

Replaces raw ALTER TABLE with portable frappe.db.add_index helper for cross-database compatibility.

@mihir-kandoi #42958 Read
fix ui-ux 1 month ago

Build a search index that does not exist yet

Fixes logic that prevented automatic search index creation when the scheduler calls build_index.

@mihir-kandoi #42968 Read
fix framework 1 month ago

Drop with_link_titles from report view exports

Removes the with_link_titles parameter before passing report args to export_query to prevent unexpected keyword argument errors.

@mihir-kandoi #42977 Read
fix framework 1 month ago

Allow filtering User by user_type with read permission

Allows filtering User by user_type with read permission per issue #42902.

@AarDG10 #42989 Read
fix framework 1 month ago

Double fetch calls on sending email and broken socket connection

Moves subscription to shared store with reference counting, coalesces refresh calls, and rejoins rooms on reconnect.

@RitvikSardana #42988 Read
fix framework 1 month ago

Write whole number indent in excel export

Converts tree indent levels to integers before writing to Excel to comply with spec requirements.

@kaulith #43010 Read
fix framework 1 month ago

Strip quote marker from link labels in export

Removes quote markers from Link and Dynamic Link columns in Excel/CSV exports to match desk display of linked titles.

@kaulith #43012 Read
fix framework 1 month ago

Add SQL execution compatibility

Translates MariaDB SQL through SQLGlot before SQLite execution to handle placeholder conversion, quoting, and function compatibility.

@AyshaHakeem #42983 Read
fix ui-ux 1 month ago

Support query builder and search

Adds SQLite ON CONFLICT support, date/time and JSON functions, and FTS5 MATCH behavior for the query builder.

@AyshaHakeem #42984 Read
fix framework 1 month ago

Make schema changes and backups safe

Preserves columns, indexes, constraints, triggers during table rebuilds and makes uncommitted schema metadata transaction-local.

@AyshaHakeem #42985 Read
fix ui-ux 1 month ago

Require write permission before fetching openid_configuration

Prevents unpermissioned users from fetching openid_configuration URLs via run_doc_method.

@AarDG10 #42935 Read
fix framework 1 month ago

Check read perm for get_print_settings_to_show

Enforces read permission on the get_print_settings_to_show endpoint per Ticket 77686.

@AarDG10 #42974 Read
HR 9k 2 updates
fix hr-payroll 1 month ago

Validate search input

Backports search input validation to version-14.

@asmitahase #5285 Read
fix hr-payroll 1 month ago

Resolve holiday lists via Holiday List Assignment for the document period

Resolves holidays via Holiday List Assignment over the document period instead of ignoring period coverage.

@deepeshgarg007 #5275 Read
CRM 3.9k 2 updates
fix crm-sales 1 month ago

Validate cached onboarding lead/deal before navigating

Validates that cached lead/deal IDs still exist and are readable before navigating to them in onboarding.

@Shindhu-Ramaswamy #2861 Read
fix crm-sales 1 month ago

Skip password setup for LDAP users

Skips password setup for LDAP users in CRM per issue #2844.

@ews-pgasser #2846 Read
b Builder 2.5k 2 updates
fix ui-ux 1 month ago

Stop settings modal from shifting on scroll

Limits modal height and makes only tab content scroll so the settings modal stays fixed during scrolling.

@SmrutiSawant #838 Read
fix ai 1 month ago

Let Bob edit components and make sync update pages

Allows component editing via Bob and updates componentVersion pin when syncing instances.

@surajshetty3416 #823 Read
Insights 1k 2 updates
fix other-apps 1 month ago

Infer json_extract types from non-null values

Fixes type inference for json_extract to use non-null values instead of treating JSON null as Decimal.

@nextchamp-saqib #1418 Read
feat other-apps 1 month ago

Add json_value and read valid JSON without normalizing

Adds json_value function to query builder for reading JSON without normalization.

@nextchamp-saqib #1417 Read
p Press 575 1 update
fix other-apps 1 month ago

Bind search string in parquet lookup

Binds binlog search strings as parameters to fix malformed queries containing quotes.

@tanmoysrt #7496 Read
o Other 41 updates
fix other-apps 1 month ago

Centre emojis in their grid cells

fix(emoji-picker): centre emojis in their grid cells

@netchampfaris #585 Read
fix other-apps 1 month ago

Stop the quoted-by badge scrolling posts and tables

fix(quotes): stop the quoted-by badge scrolling posts and tables

@netchampfaris #584 Read
feat other-apps 1 month ago

Retry dead tasks

feat: Retry dead tasks

@Aradhya-Tripathi #60 Read
feat other-apps 1 month ago

Add stop image build button

feat: Add stop image build button

@Aradhya-Tripathi #59 Read
feat other-apps 1 month ago

Add webhook registry endpoint

feat: Add webhook registry endpoint

@Aradhya-Tripathi #58 Read
feat other-apps 1 month ago

Service & Auth Integration

Integrates service and authentication systems in Central.

@Aradhya-Tripathi #335 Read
feat other-apps 1 month ago

Add host supply and strategy trials

Adds configurable VM placement with provider host expansion and reproducible strategy trials.

@the-bokya #256 Read
feat other-apps 1 month ago

Feature/credit decisioning

Adds credit decisioning engine for Loan Leads with rule-based approval logic and decision tracking.

@TanviKamath #1424 Read
feat other-apps 1 month ago

Sync Accounts action on User Settings

Adds button to User Settings form to manually sync JMAP accounts.

@s-aga-r #890 Read
feat other-apps 1 month ago

Sort on a value returned by the column

Adds sortValue column option so columns can sort on a derived value instead of displayed content.

@mihir-kandoi #239 Read
feat other-apps 1 month ago

Server restart and sync + site trial

Adds server restart, sync, and site trial features to Central.

@prathameshkurunkar7 #337 Read
feat other-apps 1 month ago

Pick the trial image by its Frappe version

Adds SIGNUP_IMAGE_TAGS configuration so signups land on a known Frappe version build.

@tanmoysrt #341 Read
feat other-apps 1 month ago

Integrations settings panels

Ports Webhooks, Message Actions, and Document Notifications settings panels from Raven v2.

@TITANiumRox #2201 Read
feat other-apps 1 month ago

Reminders

Adds reminders feature to Raven with visual scheduling interface.

@TITANiumRox #2184 Read
feat other-apps 1 month ago

Scheduled message

Adds scheduled message functionality to Raven with UI controls for scheduling messages.

@TITANiumRox #2229 Read
feat other-apps 1 month ago

Release v3

feat: release v3

@nikkothari22 #2261 Read
feat other-apps 1 month ago

Add AWS server support

Adds AWS as a server provider for Atlas regions with infrastructure, catalog, server operations and bootstrap configuration.

@tanmoysrt #249 Read
feat ui-ux 1 month ago

Feat(tokens)!: one canonical design-token source, exported from frappe-ui/tailwind/tokens

Restructures design token pipeline with one canonical source and public API for token access.

@netchampfaris #1181 Read
fix other-apps 1 month ago

Use room ID in untitled recording emails

Uses room ID instead of generic untitled label in recording notification emails when Meet Room has no title.

@BreadGenie #895 Read
fix other-apps 1 month ago

Use app dialog for leave confirmation

Removes browser-level beforeunload warning from Meet in favor of standard Frappe UI leave confirmation.

@BreadGenie #897 Read
fix other-apps 1 month ago

Restore navigation and palette actions

Restores Writer new-document command palette action and fixes Vite navigation by prebundling feather-icons.

@BreadGenie #901 Read
fix other-apps 1 month ago

Restore unload warning

Restores native unload warning for dirty editable presentations while preserving draft save behavior.

@BreadGenie #902 Read
fix other-apps 1 month ago

The domain field is there before the domains arrive

Initializes domains resource with empty array so domain fields appear in mail dialogs before data arrives.

@s-aga-r #888 Read
fix other-apps 1 month ago

Sync participant state after reconnect

Broadcasts participant media state to existing viewers after reconnect to keep indicators in sync.

@BreadGenie #900 Read
fix other-apps 1 month ago

An invite email names the occurrence it is about

Renders recurring event rescheduling emails from the occurrence's view with override folded in.

@krantheman #850 Read
fix other-apps 1 month ago

Invite mail goes out with CRLF line endings

Sends calendar invites with CRLF line endings to pass DKIM verification and land in inbox instead of junk.

@krantheman #899 Read
fix other-apps 1 month ago

Install the deprecated timezone names

Installs tzdata-legacy on Pilot images to support deprecated timezone aliases for sites upgrading to Ubuntu 24.04.

@tanmoysrt #61 Read
fix other-apps 1 month ago

Delete workflows with the document they link to

Allows documents with workflows to be deleted by removing dynamic links when workflows are deleted.

@tanmoysrt #57 Read
fix other-apps 1 month ago

Preserve pending capacity response

Documents the 503 pending capacity response and regenerates the Atlas API client for typed error handling.

@the-bokya #258 Read
fix other-apps 1 month ago

Accept a delete of an image already retired

Makes image delete idempotent by accepting 202 for images already Archived or Deleting.

@tanmoysrt #255 Read
fix other-apps 1 month ago

Send state updates only on a status change

Adds webhook condition to send Virtual Machine State deliveries only on insert or status change.

@tanmoysrt #254 Read
fix other-apps 1 month ago

Allow Retry Transfer for System images

Allows Retry Transfer action for failed System image transfers, not just Machine images.

@tanmoysrt #259 Read
fix other-apps 1 month ago

Keep the staging clone when a VM is released

Promotes dependent staging clones instead of destroying them so snapshot uploads survive VM deletion.

@tanmoysrt #260 Read
fix other-apps 1 month ago

Retry the site sign-in faster

Reduces initial login retry delay from 2 seconds to 1 second for faster site readiness confirmation.

@tanmoysrt #342 Read
fix other-apps 1 month ago

Cache the IP country with the Frappe cache API

Fixes get_country_from_ip cache call to use the Frappe cache API correctly, restoring welcome credits for new teams.

@tanmoysrt #339 Read
fix other-apps 1 month ago

Claim routed Pilot admin hostname

Claims routed Pilot admin hostname after a server reports its routed gateway.

@tanmoysrt #338 Read
fix other-apps 1 month ago

Keep routed hostnames out of the proxy map

Treats auto-routed VM hostnames as live instead of making proxy calls for them.

@tanmoysrt #340 Read
fix other-apps 1 month ago

Skip the site alias while the bench has no site

Makes --site-pattern optional by skipping alias while bench has no site so Central setup succeeds at provisioning.

@tanmoysrt #504 Read
fix other-apps 1 month ago

Resolve renamed sites in login endpoint

Resolves retained old hostnames to the renamed site in login endpoint and returns current site URL.

@tanmoysrt #507 Read
fix other-apps 1 month ago

Verify Central tokens during bootstrap

Uses staged IMDS JWKS issuer during bootstrap window, then persisted configuration after completion.

@tanmoysrt #509 Read
fix other-apps 1 month ago

Resolve site routes by any claimed hostname

Resolves Admin API routes using site directory name, custom domain, or pre-rename hostname.

@tanmoysrt #513 Read

Friday, September 18

ERPNext 40.6k 9 updates
fix accounting 1 month ago

Validation and line reference corrections for FRT

Fixed formula division-by-zero during validation, context variable shadowing and math function duplication.

@Abdeali099 #59084 Read
fix accounting 1 month ago

Reset ordered_qty when a cancelled Sales Order is unlinked from its Purchase Orders

Cancelled Sales Orders left stale `ordered_qty` values that never cleared even when the Purchase Order link was removed.

@mihir-kandoi #59120 Read
fix stock-manufacturing 1 month ago

Retain bom components without warehouse stock

BOM Stock Analysis removed components with no Bin record, overstating maximum production when stock wasn't yet stocked.

@Pandiyan5273 #59116 Read
fix accounting 1 month ago

Report a Prospect quotation's territory

Quotations raised to a Prospect were reporting no territory after a prior change removed that case from the territory lookup.

@mihir-kandoi #59133 Read
fix accounting 1 month ago

Take the POS summary labels off one invoice, not a text sort

POS summary rows were pairing cost_center and payment mode from different invoices due to text-based aggregation.

@mihir-kandoi #59130 Read
fix stock-manufacturing 1 month ago

Take the requested-item UOM pair off one line

Material Requirements report could pair one item's UOM with another's when the same item appeared twice in a request.

@mihir-kandoi #59132 Read
fix stock-manufacturing 1 month ago

Take the job card secondary UOM off the representative line

Secondary items report was pairing one line's UOM with another's due to text-based sorting across database engines.

@mihir-kandoi #59129 Read
fix stock-manufacturing 1 month ago

Include the mrp bucket that ends on to_date

MRP buckets starting on the To Date filter were never created, silently dropping demand records from that period.

@Sudharsanan11 #59143 Read
fix stock-manufacturing 1 month ago

Reserve product bundle components from a Pick List

Reserve Stock failed for product bundle components because the reserve logic keyed on the bundle item instead of the component.

@mihir-kandoi #59134 Read
Frappe 11k 12 updates
feat framework 1 month ago

Post-review workflow can reply inside existing review threads

Review workflow can post follow-up replies inside existing review threads instead of opening new reviews.

@iamejaaz #42955 Read
feat framework 1 month ago

Add never_skip_patches hook to stop migration on patch failure

Apps can list patches in `never_skip_patches` that should halt migrations on failure instead of being skipped.

@rohitwaghchaure #42961 Read
feat ui-ux 1 month ago

Static text, linked field and barcode elements for the beta builder

Print format builder now supports static text, linked fields and barcode elements with full canvas preview.

@iamejaaz #42261 Read
feat ui-ux 1 month ago

Drag recipients between the composer's To, CC and BCC rows

Mail composer recipient chips can now be dragged between To, CC and BCC rows, with rows opening on drag start.

@aerodeval #42966 Read
fix framework 1 month ago

Disable tab selection in awesomplete settings

Tab key was committing awesomplete's auto-highlighted first entry instead of moving to the next field.

@ShrihariMahabal #42924 Read
fix framework 1 month ago

Accept fractional seconds and unpadded hours in validate

Web Form datetime validation rejected valid dates with fractional seconds and unpadded hours.

@mainshivam #42911 Read
fix framework 1 month ago

Standardise text editor heading and list typography

Text editor headings and lists used Quill's stock sizing instead of frappe-ui's prose scale.

@iamejaaz #42926 Read
fix ui-ux 1 month ago

Use the amber badge theme

Onboarding chip, email delivery status and data import badges appeared grey after frappe-ui dropped the orange theme.

@RitvikSardana #42951 Read
fix ui-ux 1 month ago

Require document type and field in add column dialog

Query report add-column dialog threw `TypeError` when submitted without required fields instead of listing the missing values.

@kaulith #42952 Read
fix framework 1 month ago

Respect dark mode in splash screen

Splash screen remained in light mode even when dark mode was enabled globally.

@sokumon #42957 Read
breaking framework 1 month ago

Don't overwrite saved values with field defaults on edit

Field defaults were overwriting saved values when editing a submission, causing data loss and breaking dependent fields.

@mainshivam #42912 Read
fix framework 1 month ago

Prevent renaming Single DocTypes

Rejects attempts to rename Single DocTypes at the backend, hides the rename action in the toolbar, and forces allow_rename to remain disabled.

@aryadharmadhikari #42934 Read
HR 9k 2 updates
fix hr-payroll 1 month ago

Preserve last checkin log during background reloads

First checkout from the mobile app was sometimes recorded as checkin after a morning checkin due to stale state during background reloads.

@iamkhanraheel #5243 Read
fix hr-payroll 1 month ago

Grant leave access based on document read permission

Leave Application access was incorrectly checking for leave_approver instead of respecting workflow-based reviewer permissions.

@iamkhanraheel #5276 Read
LMS 3.3k 4 updates
feat other-apps 1 month ago

Translate student-facing interface messages

Discussion replies, billing login notice and cover image picker messages are now translated for all locales.

@sridharkalaibala #2731 Read
feat other-apps 1 month ago

Add migration testing

LMS migration testing from v2.0.0 to current version following Frappe engineering handbook guidance.

@raizasafeel #2755 Read
fix other-apps 1 month ago

Stop marking the profile image as mandatory

Profile image field showed the required asterisk despite being optional.

@FawazAlhafiz #2762 Read
fix other-apps 1 month ago

Reset submission view when switching assignments

Navigating between assignments displayed the first assignment's submission on all assignments, confusing both learners and evaluators.

@AbhishekNegi25 #2735 Read
b Builder 2.5k 4 updates
feat ui-ux 1 month ago

Open the template picker fully painted

Template picker preloads thumbnails so cards appear fully painted on first open instead of loading on scroll.

@surajshetty3416 #837 Read
breaking ui-ux 1 month ago

Match the command palette backdrop to other dialogs

Command Palette had a custom backdrop while the Keyboard Shortcuts modal used the default, breaking visual consistency.

@SmrutiSawant #836 Read
breaking ui-ux 1 month ago

Upload favicons and meta images as public files

Site favicon, page favicon and meta image uploads were private, breaking guest access and causing broken images.

@surajshetty3416 #835 Read
fix ui-ux 1 month ago

Escape route variable values rendered in the route preview

Prevents XSS by escaping route variable values that are interpolated into HTML rendered in the page title preview.

@SmrutiSawant #833 Read
Insights 1k 3 updates
fix other-apps 1 month ago

Number card retry placement and result row count copy

Failed number card's Retry button was hidden, and result row count display was missing the actual count value.

@nextchamp-saqib #1403 Read
fix other-apps 1 month ago

Read valid JSON rows without normalizing in json_value

JSON normalization regex was corrupting valid documents and causing 3x slowdown on data store queries.

@nextchamp-saqib #1415 Read
fix other-apps 1 month ago

Row limit and pivot counts

v3 migrator was losing half of migrated table rows and miscounting pivot aggregations from v2 workbooks.

@nextchamp-saqib #1414 Read
p Press 575 6 updates
feat other-apps 1 month ago

Warn on capitalised email and lowercase it on login

Login now warns on capital letters in email and normalizes it, matching signup behavior.

@regdocs #7481 Read
fix other-apps 1 month ago

Sync upstream-added domains to site config

Domains activated via upstream path were routed by nginx but never written to site config.

@regdocs #6894 Read
fix other-apps 1 month ago

Restore configs truncated by a full disk or a reboot

Config files were restored truncated after disk-full incidents, causing sites and benches to fail on restart.

@balamurali27 #7369 Read
fix other-apps 1 month ago

Draw analytics chart lines at 1px

Dense analytics charts (CPU, Load Average) had overlapping 2px lines that hid each other, making them unreadable.

@balamurali27 #7479 Read
fix other-apps 1 month ago

Add purge binlog action to server overview query

Site action dialogs failed to open because purge binlog wasn't whitelisted in the Server Overview query.

@regdocs #7488 Read
fix other-apps 1 month ago

Limit Wazuh update scope

Wazuh updates were applying across all hosts instead of targeting the specific server.

@regdocs #7461 Read
o Other 38 updates
fix other-apps 1 month ago

Even though the docs say otherwise i am pretty sure this works

Small fix despite documentation ambiguity.

@ps173 #31 Read
feat other-apps 1 month ago

New state delivery wire up

Integration for new state delivery events from Atlas servers.

@prathameshkurunkar7 #327 Read
feat other-apps 1 month ago

Fall back to the admin password when a target has no API key

Targets authenticate with stored admin password when API key is missing or lost, improving resilience.

@s-aga-r #6 Read
feat other-apps 1 month ago

Keep a Mail Domain out of the hourly DNS verification

Mail Domain can skip scheduled DNS verification so hand-verified domains aren't unchecked by the hourly job.

@s-aga-r #7 Read
feat other-apps 1 month ago

Serve small, cacheable template thumbnails to the picker

Builder Hub serves small cacheable thumbnails alongside full preview images for faster picker rendering.

@surajshetty3416 #11 Read
feat other-apps 1 month ago

Edit properties for multi select

Bulk editing in Slides now supports stroke width, shadow, opacity, borders and text properties across selections.

@GursheenK #870 Read
feat other-apps 1 month ago

Keyboard shortcuts dialog

Calendar has a keyboard shortcuts dialog opened with `?` or from sidebar menu, with `E` to create events.

@krantheman #885 Read
feat other-apps 1 month ago

Create, edit and delete calendars

Users can create, rename, recolor, set default and delete calendars from sidebar or settings, with color persistence.

@krantheman #884 Read
feat other-apps 1 month ago

Shared calendars

Calendars shared from other accounts appear under Shared Calendars without switching accounts, read-only with full permissions control.

@krantheman #886 Read
feat other-apps 1 month ago

Add Suite command palette

Suite now has a command palette with contextual search, app navigation, creation actions and consolidated commands.

@BreadGenie #848 Read
feat other-apps 1 month ago

Add bind mount overrides for docker volumes

Docker compose now supports bind mount overrides for volumes without requiring compose file customization.

@lungsin #1987 Read
feat other-apps 1 month ago

Add helpers to rename a server admin domain and a site

Central helpers let operators rename admin domains and sites on a server through the Pilot API.

@tanmoysrt #331 Read
feat other-apps 1 month ago

Create servers through durable regional operations

Central creates servers on configured regions via durable operations that record state before dispatch, preventing double-creation.

@prathameshkurunkar7 #325 Read
feat ui-ux 1 month ago

The code editor family at frappe-ui/code-editor

ADR and spec for redesigning CodeEditor as a family supporting multiple use cases and rendering contexts.

@netchampfaris #1167 Read
feat ui-ux 1 month ago

The code editor family at frappe-ui/code-editor

CodeMirror 6 component family with engine, renderless component, and kit at frappe-ui/code-editor.

@netchampfaris #1169 Read
feat other-apps 1 month ago

Route site and custom domains through the regional proxy

Central can route sites and custom domains through the regional Atlas proxy, recording route state and failure reasons.

@tanmoysrt #326 Read
feat other-apps 1 month ago

Check and subscribe the app to the WABA webhook

WhatsApp account form can verify webhook subscription and fix it in one click if the app wasn't subscribed.

@ps173 #32 Read
feat other-apps 1 month ago

Resize servers through Atlas

Customers can resize servers via Central, which stops the VM, applies compute and disk changes, then restarts.

@tanmoysrt #330 Read
feat other-apps 1 month ago

Add provider-defined domain route policies

Providers can define TLS termination and proxy behavior for each route policy accepted during domain registration.

@tanmoysrt #497 Read
feat other-apps 1 month ago

Let pilot register verified domains

Pilots can register verified custom domains with DNS record validation, storing the route on Central.

@tanmoysrt #332 Read
feat other-apps 1 month ago

Bake the domain provider into the pilot image

Pilot image now includes the domain provider for direct custom domain routing without per-region setup.

@tanmoysrt #56 Read
feat other-apps 1 month ago

Configure Central webhooks

Central-only endpoint configures signed Atlas webhook deliveries with stable payload contracts and retry policies.

@tanmoysrt #252 Read
fix other-apps 1 month ago

Template header color should inherit

WhatsApp template header color wasn't inheriting from parent styles.

@ps173 #30 Read
fix other-apps 1 month ago

Send cpu millicores and a disabled firewall to Atlas

Central was sending vCPU count instead of millicores to Atlas, causing server creation to fail.

@tanmoysrt #329 Read
fix other-apps 1 month ago

Point Wiki desktop icon at /wiki-app on existing sites

Wiki desktop icon on existing sites still pointed to the old `/wiki` path, returning 404.

@gajjug004 #793 Read
fix other-apps 1 month ago

Keep pilot admin sessions open for one hour

Admin sessions opened from Central ended after 5 minutes, forcing frequent re-logins.

@tanmoysrt #333 Read
fix other-apps 1 month ago

Blank print designer page when page_head is undefined

Print designer page opened blank on Frappe v15 because `page_head` only exists from v16 onwards.

@kaulith #559 Read
fix ui-ux 1 month ago

Remove misleading ⌘K hint from search slots example

Combobox search example showed a misleading ⌘K hint that wasn't wired to anything.

@jacob-salvi #1173 Read
fix ui-ux 1 month ago

Fix!: picker open at mount, List select-all, Tabs reset, TabButtons.focus()

Pickers mounted open had no draft, no aria-controls ID, and no focus move; List select-all, Tabs and other behaviors were broken.

@netchampfaris #1168 Read
fix ui-ux 1 month ago

Migrate ListFooter page length picker from removed buttons prop to options

ListFooter page length picker rendered nothing after frappe-ui dropped the `buttons` prop from TabButtons.

@kingmakeruix #1172 Read
fix other-apps 1 month ago

Repoint pilot_endpoint when the admin domain changes

Renaming an admin domain didn't update `pilot_endpoint` in site configs, leaving sites pointing to the old domain.

@tanmoysrt #495 Read
fix other-apps 1 month ago

Separate public site TLS from certificates

Public site TLS state and origin certificate termination were conflated, preventing edge-terminated wildcard sites from working over HTTPS.

@tanmoysrt #498 Read
fix other-apps 1 month ago

Keep the requested host on ACME challenges

HTTP-01 ACME challenges for custom domains returned 404 at the proxy because the forwarded host was incorrect.

@tanmoysrt #251 Read
fix other-apps 1 month ago

Name the certificate domain when issuance fails

Certificate issuance errors reported the site hostname instead of the actual domain being issued.

@tanmoysrt #499 Read
fix other-apps 1 month ago

Widen the wildcard suffix and the domain dialog

Long wildcard suffixes and domain DNS tables were truncated in the New Site and Add Domain dialogs.

@tanmoysrt #502 Read
fix other-apps 1 month ago

Use https for a wildcard admin endpoint

Admin endpoints under wildcard domains were incorrectly falling back to HTTP instead of using HTTPS at the edge.

@tanmoysrt #500 Read
fix other-apps 1 month ago

Clear the bench cache after an admin domain change

Frappe cached site config prevented `pilot_endpoint` from updating, so sites still pointed to the old admin domain.

@tanmoysrt #501 Read
fix other-apps 1 month ago

Show newly created spaces at the top of the sidebar

Newly created spaces had NULL `last_edited` timestamps and were invisible in the sidebar on sites with 50+ spaces.

@gajjug004 #794 Read

Thursday, September 17

ERPNext 40.6k 12 updates
feat stock-manufacturing 1 month ago

Use serial no wise valuation switch on item

Items can now opt out of serial-number-wise valuation to handle millions of serial numbers without individual cost tracking.

@rohitwaghchaure #59082 Read
fix accounting 1 month ago

Update modified for last purchase rate

Updated modified timestamp when last purchase rate changes.

@rohitwaghchaure #59044 Read
fix accounting 1 month ago

Render letter head jinja in statement of accounts pdf

Statement of Accounts PDF now renders template-based letter head Jinja correctly instead of showing broken template syntax.

@Shllokkk #59078 Read
fix stock-manufacturing 1 month ago

Negative stock value for moving average item with mixed batchwise valuation

Moving Average items with mixed batchwise valuation now calculate outward rates correctly instead of draining stock value.

@rohitwaghchaure #59099 Read
fix stock-manufacturing 1 month ago

Filter item group defaults by company and non-group records

Item Group defaults now filter accounts and warehouses by company and exclude group records.

@Pandiyan5273 #58923 Read
fix stock-manufacturing 1 month ago

Use stored posting_datetime when reposting stock ledger entries

Stock ledger reposting now uses stored posting_datetime instead of rebuilding it, preventing skipped entries and wrong balances.

@Sudharsanan11 #58998 Read
fix accounting 1 month ago

Avoid pricing rule help template errors

Pricing Rule help text no longer triggers template compilation errors when already-rendered HTML is reassigned.

@Pandiyan5273 #59097 Read
fix accounting 1 month ago

Prevent max recursion on supplier scorecard save

Creating or updating a Supplier Scorecard for a supplier created on the last day of a month no longer causes infinite recursion.

@ervishnucs #58706 Read
fix stock-manufacturing 1 month ago

Clear stock value for zero-quantity balances

Zero-quantity balances now have zero stock value, preventing ledger entries with zero quantity and non-zero value.

@Pandiyan5273 #58899 Read
fix accounting 1 month ago

Show item description in Classic print formats

Item descriptions now appear as secondary lines under item names in Classic transaction print formats.

@khushi8112 #59085 Read
fix stock-manufacturing 1 month ago

Apply mrp manufacturing buffer as a duration

Manufacturing buffer now correctly adds to lead time instead of reducing it.

@Pandiyan5273 #59007 Read
fix stock-manufacturing 1 month ago

Allow zero completed quantity and handle process loss in job cards

Job cards can now save with zero completed quantity when units are lost as process loss.

@Afsalsyed #59104 Read
Frappe 11k 21 updates
fix ui-ux 1 month ago

Drop the editor stylesheet import frappe-ui no longer exports

Removed unsupported frappe-ui stylesheet subpath import from ActivityTimeline component.

@shariquerik #42878 Read
feat framework 1 month ago

Workflow automations

Frappe now supports declarative workflow automations: when something happens to a record, do these things in order without code.

@shahzeelahmed #41976 Read
feat developer-experience 1 month ago

Publish an import map for stored Client Scripts

Stored Client Scripts now have access to vue, vue-router, and app-published packages through an import map.

@shariquerik #42879 Read
feat ui-ux 1 month ago

Let an app publish names to the import map with an `import_map` hook

Apps can now declare import_map hooks to publish names to the record page's import map for stored Client Scripts.

@shariquerik #42895 Read
feat ui-ux 1 month ago

Header ownership — props forwarding, component in both zones, pinned Save, clear()

Record page header now supports props forwarding, component placement in both zones, pinned Save button, and clear() method.

@shariquerik #42886 Read
feat ui-ux 1 month ago

Page.frame, bands above, between and below the page's regions

Record page now surfaces page.frame as one list with header and body regions that can host bands before, between, or after.

@shariquerik #42889 Read
feat ui-ux 1 month ago

Add page.body, the body row as one list of columns

Record page body row is now exposed as one list of columns with built-in form and panel columns.

@shariquerik #42897 Read
feat ui-ux 1 month ago

Keep docinfo live over the docinfo_update socket

Record page docinfo now stays fresh over the socket instead of staling when assignments or comments happen in other tabs.

@shariquerik #42896 Read
feat ui-ux 1 month ago

Publish docinfo_update for shares, tags and favourites

Record page now receives live docinfo updates for shares, tags, and favourites made in other tabs.

@shariquerik #42908 Read
feat ui-ux 1 month ago

Page.form, the Details form as one list, and page.form.tabs

Record page Details form now surfaces as one list with section ownership and tab support.

@shariquerik #42910 Read
feat ui-ux 1 month ago

Let a host place a component part in a FormLayout column or between sections

FormLayout now accepts custom Vue components as parts in columns or between sections for deep customization.

@shariquerik #42909 Read
fix developer-experience 1 month ago

Listen to client_script_changed and drop the cached scripts

Stored Client Scripts now invalidate correctly when changed in another tab.

@shariquerik #42915 Read
fix framework 1 month ago

Render rich-text merged fields as HTML in print formats

Editor fields in merged cells now render as HTML in print formats instead of stripped plain text.

@khushi8112 #42881 Read
fix framework 1 month ago

Show configured Link titles in reports

Doctypes with "Show Title in Link Fields" now display titles consistently in both query reports and Report Builder.

@mihir-kandoi #42838 Read
fix framework 1 month ago

Truncate legend in non circular chart

Non-circular chart legends now truncate correctly after regression fix.

@asmitahase #42851 Read
fix framework 1 month ago

Translate dock entry titles on resolve

Dock entry titles now translate on resolve.

@KerollesFathy #42905 Read
fix ui-ux 1 month ago

Sort selector in list view

Sort selector now shows correct icon and title.

@barredterra #42907 Read
fix framework 1 month ago

Align file preview row in RTL

RTL languages now display file preview rows with correct alignment.

@KerollesFathy #42816 Read
fix framework 1 month ago

Revalidate length after sanitization

HTML sanitization can mutate fields after validation; length check now runs after sanitization to prevent data loss from exceeding column limits.

@aryadharmadhikari #42837 Read
fix framework 1 month ago

Validate condition fields on every save

Naming rule conditions now validate on every save, not just when the document type changes.

@mihir-kandoi #42817 Read
fix framework 1 month ago

Harden File list permissions

Honor if_owner on attached doctype in File list permissions.

@AarDG10 #41678 Read
HR 9k 1 update
feat hr-payroll 1 month ago

Pass separate Journal Entry for employer contributions

Employer Contribution salary components now create separate Journal Entries with Liability Accounts instead of passing through Payroll Payable.

@deepeshgarg007 #5271 Read
CRM 3.9k 2 updates
feat crm-sales 1 month ago

Publish `crm/lib` to the record page's import map

CRM now publishes crm/lib to the record page's import map for stored Client Scripts.

@shariquerik #2851 Read
fix crm-sales 1 month ago

Map Exotel call statuses to valid Call Log options

Exotel call statuses now map correctly to valid Call Log status options.

@Shindhu-Ramaswamy #2780 Read
LMS 3.3k 2 updates
feat other-apps 1 month ago

Adopt frappe-ui Password, Spinner, Alert, ErrorMessage and CodeEditor

LMS now adopts frappe-ui Password, Spinner, Alert, ErrorMessage, and CodeEditor components across Settings and Payment Gateway forms.

@raizasafeel #2751 Read
feat other-apps 1 month ago

Adopt frappe-ui components

LMS frontend now uses frappe-ui Command Palette, Tooltip, and Drawer components instead of custom implementations.

@raizasafeel #2748 Read
Insights 1k 6 updates
fix other-apps 1 month ago

Blank a non-finite value before the result is cached

Non-finite values now blanked before caching to prevent deserialization failures on both versions.

@nextchamp-saqib #1400 Read
feat other-apps 1 month ago

Notify admins of an Insights release with security fixes

Insights admins now see security update notices in the sidebar, not just in Desk.

@nextchamp-saqib #1402 Read
feat other-apps 1 month ago

Telemetry event catalogue and the events that answer its questions (backport #1408)

Version 3 backport of telemetry event catalogue.

@nextchamp-saqib #1410 Read
feat other-apps 1 month ago

Telemetry event catalogue and the events that answer its questions

Insights now ships telemetry event catalogue documenting shipping section events with performance and query metrics.

@nextchamp-saqib #1408 Read
fix other-apps 1 month ago

Store a chart config in one shape, instead of repairing it on load

Chart configs are now stored and validated once instead of repaired on every load.

@nextchamp-saqib #1407 Read
fix other-apps 1 month ago

Dashboard filter picker and number card title

Dashboard filter operators now default correctly, and unticked filters no longer remain applied.

@nextchamp-saqib #1406 Read
o Other 37 updates
feat other-apps 1 month ago

Find and label images by their tags

Cargo now finds Atlas images by tag and labels Pilot images for later search.

@tanmoysrt #48 Read
fix other-apps 1 month ago

Disable the VTS module by default

Nginx VTS module now disabled by default, removing unused shared memory overhead and metrics dumps.

@balamurali27 #601 Read
feat ui-ux 1 month ago

An Agenda view, and the grids at phone width

Calendar library now supports Agenda view and responsive grid layouts at phone width with 52 clean commits.

@krantheman #1158 Read
fix ui-ux 1 month ago

Hover styles only where hovering is possible

Hover styles now only apply on devices that support hovering, fixing ghost hovers on touch screens.

@krantheman #1159 Read
feat other-apps 1 month ago

DKIM keys under fixed selectors that never rotate

Domains keep automatic DKIM management with fixed selectors and rotation pinned a century out for stable records.

@s-aga-r #5 Read
feat other-apps 1 month ago

Soften the reaction chip border and add a hover fill

Reaction chips now have softer styling with hover fill to indicate interactivity.

@ps173 #26 Read
feat other-apps 1 month ago

Send on enter and break the line with shift+enter

Composer now sends on Enter and breaks lines with Shift+Enter like standard messaging apps.

@ps173 #24 Read
feat other-apps 1 month ago

Add getting started and troubleshooting guide

WhatsApp app now has getting started and troubleshooting documentation for site admins.

@ps173 #25 Read
feat other-apps 1 month ago

Default All Spaces filter to Published and group unpublished spaces

All Spaces view now defaults to Published filter and groups unpublished spaces in their own collapsed sidebar section.

@gajjug004 #787 Read
feat other-apps 1 month ago

Add cmd+k command palette

Wiki now has a command palette (⌘K) for cross-space page search and navigation.

@gajjug004 #780 Read
feat other-apps 1 month ago

Add Atlas signing credentials

Central can now issue Atlas regional credentials with Ed25519 signing while preserving Pilot and service authentication.

@prathameshkurunkar7 #324 Read
feat other-apps 1 month ago

Assign permanent team tenant ids

Central Teams now have permanent numeric tenant IDs for Atlas network isolation.

@prathameshkurunkar7 #323 Read
feat other-apps 1 month ago

Add Atlas Tag labels and unlink virtual machines from their image

Resources now use arbitrary key-value tags instead of fixed fields; virtual machines no longer hold links to their boot image.

@tanmoysrt #242 Read
feat other-apps 1 month ago

Keep tenant addresses with a reserved flag

Public IPv4 addresses now persist on reserved flag; unreserved addresses return to the shared pool when detached.

@tanmoysrt #247 Read
feat other-apps 1 month ago

Oversubscribe virtual CPUs on a host

Hosts now oversubscribe CPU while placing VMs based on available memory and storage only.

@tanmoysrt #244 Read
feat other-apps 1 month ago

Support fractional CPU entitlements

Virtual machines now support fractional CPU sizes from 100 to 32000 millicores with exact systemd CPU quota enforcement.

@tanmoysrt #246 Read
feat other-apps 1 month ago

Respect the 24-hour customer service window in the composer

Composer now respects Meta's 24-hour customer service window and requires templates to reopen conversations.

@ps173 #27 Read
feat other-apps 1 month ago

Return variable mappings from get_sendable_templates

Template variable mappings now return with sendable templates so users can preview and fill variables before sending.

@ps173 #28 Read
fix other-apps 1 month ago

Report skipped coverage as unchanged

Suite CI now reads coverage from completed test steps and reuses base-branch coverage only for intentionally skipped suites.

@BreadGenie #878 Read
feat other-apps 1 month ago

Mobile layout, event cards and agenda view

Calendar now supports mobile layouts with month, week, day, and agenda views; events display as bottom sheets on phones.

@krantheman #869 Read
feat other-apps 1 month ago

An app switcher, mail's search in the title row, and the suite as one PWA

Mobile apps now have a unified app switcher with the suite as one PWA and mail's search in the title row.

@krantheman #876 Read
feat other-apps 1 month ago

Add firewall support

Virtual machines now support configurable firewalls for public and mesh traffic with stateful IPv4 and IPv6 filtering.

@tanmoysrt #248 Read
fix other-apps 1 month ago

Wait for space capabilities before opening a change request

Read-only users no longer enter change request mode and see perpetual loading skeletons.

@gajjug004 #788 Read
fix other-apps 1 month ago

Don't mark spaces with the All role as restricted

Spaces with only an "All" role no longer show a restricted lock icon.

@gajjug004 #789 Read
fix other-apps 1 month ago

Store events in the database during ingest

Pulse events now persist to the database immediately, with 503 on failure to trigger client retries.

@nextchamp-saqib #13 Read
fix other-apps 1 month ago

Make each WireGuard peer routable

WireGuard mesh tunnels now route correctly between hosts with proper address prefixes.

@tanmoysrt #245 Read
fix other-apps 1 month ago

Clear tree cache when a space route is renamed

Space route renames now clear the sidebar tree cache, fixing stale 301 redirects.

@tomysmile #758 Read
fix other-apps 1 month ago

Scroll rail to keep active heading visible

Table of contents now scrolls to keep the active heading visible.

@gajjug004 #784 Read
fix ui-ux 1 month ago

The title inset's variable survives Tailwind

Mobile page header title inset CSS variables now compile correctly through Tailwind and lightningcss.

@krantheman #1160 Read
fix ui-ux 1 month ago

Fix(TreeView)!: expansion is a keyed model, not a write to your nodes

Tree expansion state is now managed as a keyed model instead of writing to caller nodes, fixing shallow watchers and undo logs.

@netchampfaris #1165 Read
fix other-apps 1 month ago

Cap memory for asset builds

Asset builds that exceed memory limits now fail gracefully instead of being killed by the kernel.

@AryamanSharma14 #466 Read
fix other-apps 1 month ago

Tail bench log dir only, not the site mirror

Bench-level logging no longer duplicates site-level log lines in datum.logs.

@AryamanSharma14 #444 Read
fix other-apps 1 month ago

Use the real fluent-bit install path, not a guess

Log shipper no longer crashes on fresh installs by checking the actual fluent-bit installation path.

@AryamanSharma14 #440 Read
fix other-apps 1 month ago

Lazy load S3 deps

S3 dependencies now load lazily to avoid import failures.

@BreadGenie #648 Read
fix other-apps 1 month ago

Match the host address in a port forward

Guest VMs can now reach remote servers on ports 80 and 443 with corrected port forward address matching.

@tanmoysrt #243 Read
fix ui-ux 1 month ago

The Week grid's cursor, lucide SVGs that ignore their size, and a sheet warning

Week grid cursor, lucide SVG sizing, and BottomSheet accessibility improvements.

@krantheman #1162 Read
fix other-apps 1 month ago

Validate spaces list in wiki space APIs

Type validation prevents SQL injection when querying spaces.

@gajjug004 #790 Read

Wednesday, September 16

ERPNext 40.6k 10 updates
fix accounting 1 month ago

Handle missing bank reconciliation document types

Normalizes omitted document types in bank reconciliation to prevent TypeError in get_linked_payments.

@krishna-254 #58688 Read
fix accounting 1 month ago

Show linked record count on Supplier Scorecard connections

Removes overridden method that was suppressing record counts on the Supplier Scorecard dashboard.

@mihir-kandoi #59079 Read
fix stock-manufacturing 1 month ago

Consume batch slots newest first for LIFO items

Fixes LIFO item valuation to consume batch slots in the correct order, preventing incorrect reporting of issued stock.

@mihir-kandoi #59062 Read
fix stock-manufacturing 1 month ago

Scope stock ageing batch and serial age to the warehouse

Scopes batch and serial age cache to include the warehouse to prevent inconsistent aging across different warehouse filters.

@mihir-kandoi #59058 Read
fix accounting 1 month ago

Do not decorate self-referential links with the row's own title

Prevents Link fields that reference the same doctype from being decorated with a title, which was displaying incorrect information.

@mihir-kandoi #59023 Read
fix accounting 1 month ago

Item selection writes to the child table that fired it

Fixes item selection callbacks that were inadvertently writing to standard `items` table instead of the custom child table that triggered the selection.

@mihir-kandoi #59068 Read
fix stock-manufacturing 1 month ago

Value stock entry rows as of the posting date

Values stock entry rows using the valuation rate as of the entry's posting date instead of the current rate, preventing drift on reposts.

@mihir-kandoi #59042 Read
fix accounting 1 month ago

Asset depreciation table stays empty if you check the box before entering the amount

Ensures depreciation table populates correctly when Calculate Depreciation is enabled before entering the purchase amount.

@Henil666 #58941 Read
fix stock-manufacturing 1 month ago

Ask for a BOM before creating MRP work orders

Replaces error-only flow with a dialog allowing users to select or specify a BOM before creating work orders for items without a default BOM.

@barredterra #58511 Read
fix stock-manufacturing 1 month ago

Classify MRP rows by purchase item, not missing BOM

Fixes classification of manufactured items without a default BOM to prevent them being incorrectly marked as purchase items.

@barredterra #58510 Read
Frappe 11k 15 updates
feat ui-ux 1 month ago

Draw a stored script's icon from the shell's sprite

Renders client script lucide icons from the shell's sprite instead of frappe-ui's, supporting icons even without prior bundle use.

@shariquerik #42836 Read
fix framework 1 month ago

Show mobile list subject bold only for unread rows

Shows bold subject text only for unread list items on mobile, improving visual distinction.

@Shllokkk #42755 Read
fix framework 1 month ago

Keep the remote error message in FrappeException

Preserves remote error messages in FrappeException instead of raising exceptions with no message.

@kaulith #42644 Read
fix framework 1 month ago

Dock z-index issue

Resolves z-index conflict between dock and grid components.

@sokumon #42835 Read
fix ui-ux 1 month ago

Open a single doctype on its record, never a list

Fixes sidebar items for Single doctypes to open the record page instead of a non-existent list view.

@shariquerik #42809 Read
fix framework 1 month ago

Improve contrast of checked checkboxes

Increases contrast of checked checkboxes in dark mode for better visibility.

@KerollesFathy #42823 Read
fix framework 1 month ago

Make welcome message translatable and close div tag

Makes portal welcome message translatable and fixes an unclosed HTML div tag.

@KerollesFathy #42848 Read
fix framework 1 month ago

Make child table heading text visible in dark mode

Improves contrast of child table headings in dark mode for better readability.

@KerollesFathy #42789 Read
fix framework 1 month ago

Keep RTL languages from flipping nav arrows

Extends rtl:ignore block to prevent calendar navigation arrows from flipping in RTL mode.

@KerollesFathy #42790 Read
fix framework 1 month ago

Show Link titles in print previews

Displays Link field titles in print previews, matching behavior in PDF output and standard views.

@mihir-kandoi #42785 Read
fix framework 1 month ago

Clear button busy state when callback returns a jQuery deferred

Fixes buttons that return frappe.call to properly clear busy state instead of throwing "response.finally is not a function".

@mainshivam #42811 Read
fix framework 1 month ago

Keep list format filters when merging link filters

Preserves list-format link filters when merging with set_query filters, preventing search errors on combined filter conditions.

@kaulith #42739 Read
fix framework 1 month ago

Drop filter values from export file name

Removes filter suffixes from report export filenames to avoid exceeding the 140-character file name limit.

@iamejaaz #42864 Read
fix framework 1 month ago

500 with an unparseable body when an after commit callback fails

Returns valid JSON error responses when after-commit callbacks fail, instead of HTML that cannot be parsed.

@kaulith #42643 Read
fix framework 1 month ago

Confine write_file target to the files directory

Restricts file write operations to prevent path traversal attacks.

@diptanilsaha #42847 Read
HR 9k 1 update
fix hr-payroll 1 month ago

Prevent half-posted Expense Claim when an advance row is not fully linked

Prevents submission of expense claims with incompletely linked advances that would leave the general ledger unbalanced.

@iamkhanraheel #5252 Read
CRM 3.9k 2 updates
fix crm-sales 1 month ago

Stable home default view and derive doctype in set_as_default

Resolves home default view in a fixed order and derives doctype from name when not provided in set_as_default.

@ps173 #2837 Read
fix crm-sales 1 month ago

Remove duplicate error toast on lead and deal field update

Removes duplicate error toasts shown when field updates fail due to server-side errors.

@Shindhu-Ramaswamy #2821 Read
LMS 3.3k 3 updates
fix other-apps 1 month ago

Ignore autorepeat keydown for command palette shortcut

Ignores autorepeat keydown events for the command palette shortcut to prevent multiple triggers from key hold.

@raizasafeel #2738 Read
fix other-apps 1 month ago

Russian "Checkout" wording implied payment

Updates Russian translation of "Checkout the course" to "View" since the links open free content without payment.

@ZubikIT #2739 Read
fix other-apps 1 month ago

Preserve batch discussion hash in notifications

Preserves the URL fragment when navigating to batch discussions from notifications.

@JavierProjects #2658 Read
b Builder 2.5k 3 updates
feat ui-ux 1 month ago

Add Staging status for pages

Adds a Staging status for pages so they can be Draft, Staging, or Live with corresponding badges and filters.

@surajshetty3416 #825 Read
fix ui-ux 1 month ago

Show creation timestamp when sorting pages by Last Created

Shows creation timestamp on page cards when sorted by Last Created instead of always showing last modified.

@SmrutiSawant #820 Read
fix ui-ux 1 month ago

Select the arrowed-to option with Enter in autocomplete inputs

Fixes Enter key to select the highlighted autocomplete suggestion instead of submitting typed text.

@surajshetty3416 #828 Read
Insights 1k 3 updates
feat other-apps 1 month ago

Charts render through frappe-ui charts v2

Integrates frappe-ui's chart library for consistent rendering, number formatting, and currency display across number cards, bar charts, and other visualizations.

@nextchamp-saqib #1383 Read
fix other-apps 1 month ago

Stack bars beside a right-axis line, and drop cleared axis bounds

Restores stacking for bars when an SLA line is on the right axis and drops empty axis bounds on load.

@nextchamp-saqib #1396 Read
fix other-apps 1 month ago

A division by zero returns null, as on the live connection

Handles division by zero in DuckDB to return null instead of infinity, matching live connection behavior.

@nextchamp-saqib #1397 Read
p Press 575 4 updates
fix other-apps 1 month ago

Show the shared badge on the server page to every user

Shows the Shared server badge to all users, not just support staff.

@balamurali27 #7465 Read
fix other-apps 1 month ago

Hide Update Available while Restore Tables shows

Hides the Update Available button when table restore is needed to prevent confusing update prompts.

@balamurali27 #7453 Read
fix other-apps 1 month ago

Refuse a table restore when the site answers requests

Prevents table restore when the site is responsive to avoid overwriting user data entered during maintenance mode.

@balamurali27 #7468 Read
fix other-apps 1 month ago

Build the agent endpoint link from the real agent URL

Constructs the agent endpoint link from the real agent URL to work correctly behind NAT and on non-standard ports.

@balamurali27 #7467 Read
o Other 16 updates
fix other-apps 1 month ago

Path to redisearch docs

fix: path to redisearch docs

@mahsem #344 Read
fix other-apps 1 month ago

Add translation of address_picker_card.html

fix: add translation of address_picker_card.html

@mahsem #170 Read
fix other-apps 1 month ago

Login and translation in macros.html

fix: login and translation in macros.html

@mahsem #163 Read
feat other-apps 1 month ago

Setup central for humans and agents

Establishes contribution guidelines for both human and agent developers.

@prathameshkurunkar7 #320 Read
feat ui-ux 1 month ago

DateCalendar, DateRangeCalendar, PickerShell on Popover

Adds standalone DateCalendar and DateRangeCalendar components, rebuilds three date pickers on them, and introduces PickerShell on Popover with manual trigger and auto-focus control.

@nextchamp-saqib #1140 Read
fix other-apps 1 month ago

Stop /g writing an Error Log per git call

Prevents git operation errors from creating error logs that can cascade into infinite loops.

@netchampfaris #580 Read
fix other-apps 1 month ago

Adapt shopping cart to erpnext permission checks

Updates cart to use TaxService and create sales transactions as Admin to bypass permission checks on Item and Account.

@barredterra #405 Read
breaking other-apps 1 month ago

Resolve the job timeout without ever failing the enqueue

Hardens job timeout resolution to handle JSON arrays, string values, and missing keys without breaking the enqueue path.

@regdocs #595 Read
fix other-apps 1 month ago

Show audio indicator in preview

Shows local microphone audio indicator in the meeting preview and publishes replacement stream after microphone switches.

@BreadGenie #861 Read
fix other-apps 1 month ago

Animate audio bars with transforms

Uses center-origin transforms for audio bar animation instead of interrupted height transitions.

@BreadGenie #863 Read
fix other-apps 1 month ago

Improve mobile overflow controls

Moves meeting information to mobile overflow menu and shows it in a mobile-friendly dialog.

@BreadGenie #865 Read
fix other-apps 1 month ago

Use consistent tooltips

Replaces native title hover text with frappe-ui Tooltip components for consistent styling.

@BreadGenie #864 Read
fix other-apps 1 month ago

Stabilize raised hand E2E selector

Exposes raised-hand indicator through accessible label and updates E2E assertions.

@BreadGenie #866 Read
fix other-apps 1 month ago

Edits lost on save

Implements web locks to prevent concurrent edits, prevents stale saves from overwriting edits, and maintains correct state across multiple tabs.

@GursheenK #867 Read
fix other-apps 1 month ago

Misc editor fixes

Fixes slide deletion navigation, transition duplication on paste, and Cmd+X to remove and copy elements.

@GursheenK #868 Read
fix other-apps 1 month ago

Allow page titles longer than 140 characters

Changed `title` field from `Data` to `Small Text` on Wiki Document and Wiki Revision Item to accommodate titles over 140 characters.

@gajjug004 #782 Read

Monday, September 14

ERPNext 40.6k 1 update
fix accounting 1 month ago

Validate project across the subcontracting flow

Project field was not carried from Purchase Order Items to Subcontracting Orders, allowing project mismatch that corrupted stock ledger and GL entries; now validates project consistency across the entire flow.

@Sudharsanan11 #58965 Read
Frappe 11k 5 updates
fix framework 1 month ago

Keep the table qualifier in the legacy MAX() sort column

Ambiguous column reference in postgres when joining tables with unselected group-by and order-by; table qualifier now preserved in MAX() argument.

@mihir-kandoi #42791 Read
fix framework 1 month ago

Drop the exists() rewrite for child-table filters

Legacy exists() rewrite removed joins needed for child table resolution and changed result cardinality; reverted to preserve join behavior.

@mihir-kandoi #42792 Read
fix framework 1 month ago

Cast JSON columns in order by, group by and distinct selects

Extended JSON casting to ordering, grouping, and distinct operations; fixes list sidebar grouping and sort selectors on JSON fields.

@mihir-kandoi #42795 Read
fix framework 1 month ago

Cast JSON columns before comparing them in filters

Postgres json columns lack equality operators; queries now cast to varchar before comparison to avoid operator-not-found failures.

@mihir-kandoi #42794 Read
fix developer-experience 1 month ago

Fix(oauth2)!: require PKCE for public clients

Public OAuth clients without a secret are vulnerable to authorization code interception; PKCE is now required per updated RFC guidance to protect the authorization code exchange.

@barredterra #41548 Read
o Other 8 updates
feat other-apps 1 month ago

Prewarm Frappe memory snapshots

One-shot Pilot boot service in baked images performs real Frappe login and Desk load before Atlas captures warm memory snapshot.

@tanmoysrt #44 Read
feat other-apps 1 month ago

Warm the Pilot admin before the snapshot

Admin is now warm in memory snapshot by reading bind config and probing its API before snapshot is taken.

@tanmoysrt #45 Read
feat other-apps 1 month ago

Verify remote tokens from an on-disk JWKS cache

Added JwksCache to persist issuer public keys on disk; remote tokens now verify from cache without network fetch when key is present and cache is fresh.

@tanmoysrt #490 Read
fix other-apps 1 month ago

Narrow the JWKS cache record before the staleness check

Type checking issue where mypy rejected passing potentially-None cached record to staleness check; now validates non-None before lookup.

@tanmoysrt #491 Read
fix other-apps 1 month ago

Keep the socket-activated admin alive for 10 minutes

Admin idle timeout of 60 seconds caused it to stop before snapshot was taken; raised to 10 minutes so admin remains warm in memory.

@tanmoysrt #489 Read
fix other-apps 1 month ago

Send a valid prewarm login request

Prewarm login lacked site Host header and valid JSON body, so desk and admin remained cold in snapshot; request now properly formatted.

@tanmoysrt #46 Read
fix other-apps 1 month ago

Reset guest DNS and time sync after resume

VMs resumed from snapshots waited 40 seconds for DNS and clock sync; now resets these services immediately after resume.

@tanmoysrt #240 Read
fix other-apps 1 month ago

Write back guest disk flushes

Firecracker defaults to Unsafe cache type which discards guest flushes; switched to Writeback so files written before snapshot are persisted.

@tanmoysrt #239 Read

Sunday, September 13

ERPNext 40.6k 1 update
breaking accounting 1 month ago

Remove seven tests that cannot fail

Removes seven tests that pass even when the code they protect is deleted, breaking the validator early-return guards in Stock Entry.

@mihir-kandoi #59024 Read
Frappe 11k 7 updates
fix ui-ux 1 month ago

Record page and shell polish from a walk

Small polish from a walk of the desk v2 record page: breadcrumbs refactor, record dropdown cleanup, icon bindings, and whitespace fixes.

@shariquerik #42781 Read
feat ui-ux 1 month ago

Favourite star in the header and image upload on identity

Adds a favourite star on page.header to toggle the reader's favourite and list everyone who favourited the record; enables image upload on the identity built-in.

@shariquerik #42777 Read
fix framework 1 month ago

Treat page_length=0 as no limit in link search

MultiSelectList filters on translated doctypes showed "No values to show" because raw-SQL link queries received LIMIT 0 instead of respecting the no-limit convention.

@ShrihariMahabal #42778 Read
fix ui-ux 1 month ago

Dereference symlink in pre-build asset packaging

The tar archive pointed to symlinks in node_modules that did not exist in pre-built assets.

@tanmoysrt #42782 Read
fix developer-experience 1 month ago

Bind refresh tokens to clients

Refresh-token validation checked only the token hash and status, not the authenticated client, so Client A could redeem Client B's refresh token in violation of RFC 6749 section 6.

@barredterra #41550 Read
fix developer-experience 1 month ago

Bind token revocation to clients

Token revocation searched only by token hash without verifying the token belonged to the authenticated client, allowing any client to revoke another client's tokens in violation of RFC 7009 section 2.1.

@barredterra #41549 Read
fix developer-experience 1 month ago

Enforce client authentication

Frappe's auth rejected OAuth HTTP Basic credentials before OAuthLib received them, and the OAuth validator accepted both Basic and POST secrets regardless of the configured Token Endpoint Auth Method, violating RFC 6749 section 2.3.1.

@barredterra #41546 Read
Insights 1k 1 update
fix other-apps 1 month ago

Read a money measure's currency from its data, not from the site

Sales Performance dashboard printed the wrong currency symbol on KPI cards when filtering by Company because it used the site currency instead of the data's currency.

@nextchamp-saqib #1384 Read
o Other 25 updates
fix other-apps 1 month ago

Misc

Retires images safely, reclaims archived Machine images, filters image listings, and allows virtual machines to claim unowned pool addresses.

@tanmoysrt #233 Read
fix other-apps 1 month ago

Map a public IPv4 for host-originated traffic

The public IPv4 map applied only to forwarded traffic; this adds the same map for traffic that a host process starts.

@tanmoysrt #234 Read
fix other-apps 1 month ago

Offer shared pool addresses when provisioning

fix(cargo-server): Offer shared pool addresses when provisioning

@tanmoysrt #237 Read
fix other-apps 1 month ago

Complete recording publication

Accepts recorder upload query parameters, aligns SFU grant lifetime with startup, and sends room owners branded, templated completion emails with Drive artifact links.

@BreadGenie #855 Read
fix other-apps 1 month ago

Make participant cleanup resilient

Centralizes participant cleanup and completes independent cleanup steps even when one removal fails.

@BreadGenie #853 Read
fix other-apps 1 month ago

Reserve bench names that collide with host-wide units

Reserves bench names `pilot`, `bench`, and `site` to prevent collisions with host-wide systemd units.

@tanmoysrt #481 Read
feat ui-ux 1 month ago

Settle the 1.0.0 API decisions

Settles 14 API decisions for frappe-ui charts v1.0.0, including label props, data label display, and funnel percentage handling.

@nextchamp-saqib #1141 Read
feat other-apps 1 month ago

Add `pilot setup central`

Adds a command to enable Central management from the CLI with validated hostname patterns instead of hand-editing config files.

@tanmoysrt #483 Read
feat other-apps 1 month ago

Add --no-dev to skip apps' dev extras

Adds --no-dev flag to skip apps' dev extras, fixing unresolvable dependencies on frappe develop.

@tanmoysrt #486 Read
feat other-apps 1 month ago

Track Pilot image releases

Atlas enables Cargo Pilot release tracking after bootstrap image migration completes, with System Manager controls to enable or disable it.

@tanmoysrt #238 Read
feat other-apps 1 month ago

Ask for the default storage cluster

Atlas now asks for the default storage cluster during setup.

@tanmoysrt #236 Read
feat other-apps 1 month ago

Configure Atlas from deployer settings

Complete provider, DNS, catalog, certificate, and system image setup from one validated TOML file before the VM reports ready.

@tanmoysrt #235 Read
fix other-apps 1 month ago

Initialize Pilot images without dev dependencies

Passes --no-dev when Pilot initializes the baked image bench to avoid unresolvable dev dependencies.

@tanmoysrt #42 Read
feat other-apps 1 month ago

Sync Pilot releases every minute

Changes the sync_pilot_releases scheduler from hourly to every minute.

@tanmoysrt #41 Read
feat other-apps 1 month ago

Add system image snapshots and release tracking commands

Creates built Cargo images as Atlas System images and adds commands to enable or disable Pilot release tracking per site.

@tanmoysrt #40 Read
feat other-apps 1 month ago

Spawn the region's cluster without an operator

Cargo now builds and sets up a region's Garage cluster on its own via scheduled ensure_cluster instead of requiring manual setup.

@tanmoysrt #39 Read
feat other-apps 1 month ago

Verify the image before it goes to Central

The bake now verifies the image serves its site before handing the host to Central, using `pilot setup central` instead of a staged Python file.

@tanmoysrt #38 Read
fix other-apps 1 month ago

Wait for the build machine to boot

Builds now wait up to 60 seconds for the machine to respond to ping and 180 seconds for sshd before sending the provision script.

@tanmoysrt #37 Read
fix other-apps 1 month ago

Fix the names, the password and the wait in a build

Standardizes bench and site names across builds, removes stored site passwords, and adds boot waits to prevent SSH timeouts.

@tanmoysrt #36 Read
fix other-apps 1 month ago

Find the base image instead of naming it

Builds now find the base System image by querying Atlas instead of naming it, fixing the "image does not exist" error on every build.

@tanmoysrt #35 Read
feat other-apps 1 month ago

Track Pilot releases and keep one image per pair

An image is now one Pilot release on one Frappe version; Cargo can follow Pilot's releases by itself with a new "Track Pilot Releases" setting in Cargo Settings.

@tanmoysrt #34 Read
fix other-apps 1 month ago

Restore apps submenu content

The Apps submenu rendered an unlabeled empty row instead of mounting AppSelector after frappe-ui changed how it handled legacy component menu options.

@netchampfaris #577 Read
fix other-apps 1 month ago

Flush the build machine before snapshotting it

A VM booted from a baked Pilot image served 502 on every site because the image contained empty files; flushing the page cache before snapshotting prevents this.

@tanmoysrt #43 Read
fix other-apps 1 month ago

Reveal the current page in the editor tree

Opening a page in the editor from the reader's Edit link left its parent groups collapsed and the page off screen.

@gajjug004 #777 Read
fix other-apps 1 month ago

Serve public files of every extension

Public files were served off disk only for an extension allowlist; anything else 404ed despite being on disk.

@tanmoysrt #484 Read

Saturday, September 12

ERPNext 40.6k 9 updates
feat stock-manufacturing 2 months ago

Show reserved stock in batch balance history

Batch-Wise Balance History now shows how much stock is reserved for each batch using aggregated query.

@Pandiyan5273 #59008 Read
fix accounting 2 months ago

Expect a naming rule counter per resolved prefix

Updated test after frappe#42690 moved document naming counters from rule-wide to one per resolved prefix.

@mihir-kandoi #59000 Read
fix accounting 2 months ago

Fix(regional)!: remove `irs_1099_print` whitelisted method

Removed an obsolete whitelisted method that exposed unrestricted document access.

@diptanilsaha #58976 Read
fix accounting 2 months ago

Add permission checks on `invoice_discounting.get_invoices`

The method returned unpermissioned invoice data; whitelist enforcement now honors read permission on Invoice.

@diptanilsaha #58975 Read
fix stock-manufacturing 2 months ago

Coerce cost_allocation_per to float in BOM cost allocation

BOM cost allocation rate comparison treated string and float values separately, failing when a rate was stored as text.

@Shllokkk #58979 Read
fix accounting 2 months ago

List billable sales orders oldest first

The Sales Invoice "Get Items From > Sales Order" picker re-sorted custom-query results by relevance, placing oldest orders last and disrupting selection order.

@mihir-kandoi #59010 Read
fix stock-manufacturing 2 months ago

Prevent disabled items from being used in BOM

A BOM copied or amended retained disabled Item rows; the Item link field filter and validation were inconsistent.

@Pandiyan5273 #58997 Read
fix stock-manufacturing 2 months ago

Calculate batch bundle valuation per unit

Amending a Material Receipt to swap batch details inflated unit rate by dividing bundle value by 1 instead of actual bundle quantity.

@Pandiyan5273 #58994 Read
fix accounting 2 months ago

Stop the SLA link filter patches from aborting migrate on PostgreSQL

Two migration patches queried JSON columns with a comparison operator that PostgreSQL does not support, blocking `bench migrate` on production systems.

@mihir-kandoi #59018 Read
Frappe 11k 10 updates
feat ui-ux 2 months ago

Draw the record page's panel from page.panelSections

Panel now renders from a declarative `page.panelSections` list with three built-ins (Info, Activity, Comments) and doctype-defined Side Panel sections.

@shariquerik #42753 Read
feat ui-ux 2 months ago

The record page's field region — Details form, save channel, dialog hosts

Builds the Details form region, save flow, and dialog infrastructure for the desk v2 record page.

@shariquerik #42768 Read
feat framework 2 months ago

Add `Ignore Versioning` setting for docfields

New setting allows fields to opt out of document versioning, reducing version overhead for high-frequency updates.

@Abdeali099 #42624 Read
feat ui-ux 2 months ago

Make the panel's people built-in editable

Panel people section now supports inline assign/unassign, share/unshare, and tag/untag from the record page.

@shariquerik #42773 Read
fix framework 2 months ago

Key naming rule counters per resolved prefix

Document Naming Rules kept one counter for all resolved prefixes, so `.YYYY.` prefixes incremented across year boundaries; now keyed per resolved value.

@mihir-kandoi #42690 Read
fix framework 2 months ago

Close inherited descriptors before the re-exec

Bench runner leaks file descriptors across restarts because exec preserves non-close-on-exec descriptors; accumulation hits system limits after ~1000 restarts.

@mihir-kandoi #42742 Read
fix framework 2 months ago

Add request back into render_safe_globals

Breadcrumb rendering in print format needed the `request` object in template globals.

@AarDG10 #42748 Read
fix framework 2 months ago

Honour an explicit Currency Precision of 0 in System Settings

Currency Precision of 0 was treated as unset across `get_field_precision()` and `fmt_money()`, ignoring explicit zero-decimal configuration.

@Bowrna #42083 Read
fix ui-ux 2 months ago

FormLayout tabs select by value on frappe-ui beta.63, and a Link title before search

FormLayout was binding `activeIndex` instead of `value` after frappe-ui beta.63, leaving tabs unselected; also adds Link title support before search state.

@shariquerik #42769 Read
fix framework 2 months ago

Fade email bottom edge only while more remains below

Email fade gradient stayed visible at the very end of content; now collapses to transparent when scroll reaches the last line.

@RitvikSardana #42770 Read
HR 9k 1 update
feat hr-payroll 2 months ago

Add unread notification filter with show all toggle

HR notifications view now toggles Show All/Show Unread with unread default; pagination consolidated into single refresh helper.

@nareshkannasln #5257 Read
CRM 3.9k 5 updates
fix crm-sales 2 months ago

Keep POT updates in a single self-updating PR

Weekly POT regeneration job now reuses single stable branch instead of creating dated branches, eliminating accumulation and merge conflicts.

@shahzeelahmed #2811 Read
fix crm-sales 2 months ago

Prevent conversion of lost leads

Disabled lost-lead conversion UI and enforces restriction in conversion API.

@shahzeelahmed #2813 Read
fix crm-sales 2 months ago

Translate Select field option labels in frontend

Select field options rendered English labels from DocType meta even when translations existed; wrapping in `__()` now shows localized text.

@Shindhu-Ramaswamy #2810 Read
fix crm-sales 2 months ago

Show quick filters in mobile list view

Quick filter fields were only rendered in desktop ViewControls, so mobile users had to open a popover to filter by standard fields.

@Shindhu-Ramaswamy #2786 Read
fix crm-sales 2 months ago

Timeline does not live-update for new emails or read-receipts

Activities panel only subscribed to `docinfo_update` events for comments, ignoring communications socket events for new emails.

@ohvignas #2797 Read
LMS 3.3k 4 updates
feat other-apps 2 months ago

Add google api, calendar, badge assignments; redo settings ui

Restructures LMS settings architecture into separate config/list/form pages for Coupons, Transactions, Payment Gateways, Zoom, Google Meet, and Badges; settings now URL-driven instead of modal state.

@raizasafeel #2722 Read
fix other-apps 2 months ago

Stop offering evaluation slots that have already started today

Evaluation slot picker showed today's past slots (e.g., 09:30 at 14:47) without comparing against the clock; validation rejected submission.

@raizasafeel #2724 Read
fix other-apps 2 months ago

Carry contact-us images inside the email instead of linking them

Pasted images in Contact Us form arrived as links to private files; recipients' mail apps could not open them; now embedded as proper inline attachments.

@raizasafeel #2726 Read
fix other-apps 2 months ago

Let a student reach the evaluation scheduler on a course

Certification page read course title with a `get_value` call on LMS Course, which students have no permission for; `get_certification_details` now returns the needed data.

@raizasafeel #2725 Read
p Press 575 5 updates
feat other-apps 2 months ago

Enable Wazuh in all servers

Deploys Wazuh security agent across all servers for threat detection.

@ssiyad #7454 Read
fix other-apps 2 months ago

Install rclone on servers created from an image

Dashboard-created servers boot from pre-baked images and skipped the full setup playbooks that install rclone.

@regdocs #7253 Read
fix other-apps 2 months ago

Show only a server's own sites under a bench group

Bench groups showed the entire group's site list under each server card; site count and deployment status badges also counted across the group instead of per-server.

@regdocs #7355 Read
fix other-apps 2 months ago

Add server side validation for new site and server

Unpaid teams were prevented from creating sites and servers only on the client; server-side enforcement now blocks unauthorized creation.

@shadrak98 #7455 Read
fix other-apps 2 months ago

Block SSRF via customer webhook endpoints

Webhook endpoints can execute requests from the Press control plane; three validation gaps allowed URLs pointing to private IP ranges and loopback addresses to bypass checks.

@regdocs #7459 Read
o Other 27 updates
fix other-apps 2 months ago

Update README formatting and remove outdated information

fix: update README formatting and remove outdated information

@sumitjain236 #8 Read
feat other-apps 2 months ago

Add integration with cargo.

Integrates Atlas with Cargo for coordinated infrastructure operations.

@tanmoysrt #229 Read
feat other-apps 2 months ago

Remove support cloud init flag from vm image

Removes obsolete cloud-init configuration flag from VM images.

@tanmoysrt #230 Read
feat other-apps 2 months ago

Bind each token to its issuer, scopes, and tenant

Tokens now carry issuer namespace, scopes, and tenant in signed claims; callers need no validator changes for new tokens.

@tanmoysrt #220 Read
feat other-apps 2 months ago

Serve and migrate bootstrap images without object storage

Atlas can publish and boot first VM image as public site Files, then migrate into object storage after credentials are available.

@tanmoysrt #221 Read
feat other-apps 2 months ago

Complete the desk setup wizard

Install now walks the setup wizard without answers and pins time zone to UTC (or configured zone), unblocking subsequent operations.

@tanmoysrt #227 Read
feat other-apps 2 months ago

Install a production Atlas machine from one script

Single script installs Pilot, bench, site, atlas app, production nginx, and first guest image on fresh Ubuntu 24.04 without operator interaction.

@tanmoysrt #226 Read
feat other-apps 2 months ago

Add the atlas-deployer CLI

Adds `atlas-deployer` command with create, start, stop, restart, status, ssh, logs, setup, resize, and destroy operations for managing Atlas VMs.

@tanmoysrt #231 Read
feat other-apps 2 months ago

Virtual Machine Migration

End-to-end VM migration across Atlas control plane and Metal hosts with Ed25519 keys, scoped JWTs, durable migration records, and resumable ZFS copies.

@the-bokya #223 Read
feat other-apps 2 months ago

Add email templates for notifications and more

Adds email templates for notification and communication flows.

@siduck #316 Read
feat other-apps 2 months ago

Service backend

Ensures internal admin calls route via IPv6 address, sets up service backend and public URLs, adds webhook-based telemetry delivery.

@Aradhya-Tripathi #27 Read
feat other-apps 2 months ago

Atlas integration

Integrates Cargo with Atlas for infrastructure management.

@Aradhya-Tripathi #25 Read
feat other-apps 2 months ago

Add sync machine button & correct network address

Adds machine sync controls and corrects network address configuration.

@Aradhya-Tripathi #29 Read
feat other-apps 2 months ago

Take Atlas and Proxy bearer tokens

Enrolment now accepts signed bearer tokens for Atlas and Proxy instead of key/secret pairs, enabling token-based auth.

@tanmoysrt #28 Read
feat other-apps 2 months ago

Publish gateway proxy routes

Cargo publishes regional S3 and S3 admin domains through proxy before object storage cluster becomes Active, with wildcard domain mapping.

@tanmoysrt #30 Read
feat other-apps 2 months ago

Gateway nginx

Adds nginx on gateway node to route between admin and S3 API, removing other dead ports.

@Aradhya-Tripathi #31 Read
feat other-apps 2 months ago

Bake Pilot images for Central auto bootstrapping

Baked Pilot images now boot as managed hosts awaiting Central credentials, reaching a running state without manual setup.

@tanmoysrt #33 Read
feat ai 2 months ago

AI settings section

New AI settings panel in Raven for configuring AI-related features.

@TITANiumRox #2237 Read
fix ui-ux 2 months ago

Spend the sequential ramp from the deep end

Single-series bar charts used paler color than first series in stacked chart; ramp now starts from deep end with consistent spacing.

@nextchamp-saqib #1137 Read
fix ui-ux 2 months ago

Support mobile video fullscreen and empty tab slots

Native WebKit fullscreen on iPhone was blocked; now enters fullscreen when standard Fullscreen API is disabled, with synchronized transitions.

@netchampfaris #1136 Read
fix other-apps 2 months ago

Keep the space logo picker inside the viewport

Space Logo picker popover pushed off the top of short windows; repositioned to stay inside viewport bounds.

@gajjug004 #774 Read
fix other-apps 2 months ago

Keep a page deleted in a draft visible until the merge

Pages deleted in draft mode vanished from the editor tree, so authors never published the deletion; now stays visible with a struck-through "Deleted" status.

@gajjug004 #768 Read
fix other-apps 2 months ago

Use friendly date format in event and schedule pickers

Event and schedule pickers now render user-friendly date format instead of raw strings.

@BreadGenie #849 Read
fix other-apps 2 months ago

Update maharashtra women's professional tax exemption to 25000

Bumped ceiling for women's Professional Tax exemption from the prior limit to ₹25,000 inclusive.

@nareshkannasln #103 Read
fix other-apps 2 months ago

Install the app after production setup

Install hooks enqueued jobs before Redis started; moved install after production setup brings up workload services.

@tanmoysrt #228 Read
fix other-apps 2 months ago

Resolve the Go toolchain path

Build failed on hosts without system Go because toolchain path was relative; now resolved to absolute path.

@tanmoysrt #224 Read
fix other-apps 2 months ago

Let a host read a published public file

Hosts could not download public Files from the Atlas site; `/files/` added to guest path prefixes.

@tanmoysrt #225 Read

Friday, September 11

ERPNext 40.6k 8 updates
fix accounting 2 months ago

Align monthly bucket labels with demand dates

Fix Material Requirements Planning report bucket labels appearing one month ahead of demand dates.

@Sudharsanan11 #58963 Read
fix stock-manufacturing 2 months ago

Do not rebuild the Warehouse tree on an account map miss

Stop treating missing warehouse account maps as corruption that requires tree rebuild.

@mihir-kandoi #58956 Read
fix accounting 2 months ago

Recompute reference doc reqd on asset type change

Recompute mandatory flags on purchase_receipt/purchase_invoice when asset type changes.

@khushi8112 #58983 Read
fix accounting 2 months ago

Avoid TypeError on new Work Order when company is not set

Fix get_default_warehouse() TypeError when creating Work Order with multiple companies and no default.

@Pandiyan5273 #58969 Read
fix accounting 2 months ago

Exclude fully billed orders from the invoice picker

Exclude fully billed Sales Orders from Get Items From selection when invoice mapping checks pending quantity.

@mihir-kandoi #58966 Read
fix stock-manufacturing 2 months ago

Recalculate billing status of returned delivery notes

Recalculate billing percentage for Delivery Notes that remain to Bill or Partially Billed after returns.

@barredterra #58953 Read
fix stock-manufacturing 2 months ago

Apply company restriction to Item Price

Item Price now inherits Company Restriction from the Item it links to.

@mihir-kandoi #58948 Read
fix accounting 2 months ago

Add permission checks on `execute_repost_payment_ledger`

fix(accounts): add permission checks on `execute_repost_payment_ledger`

@diptanilsaha #58980 Read
Frappe 11k 15 updates
feat ui-ux 2 months ago

Composer submitting state, footer slot, toolbar start and body fade

Add submitting state, footer slot, toolbar start slot, and body fade animation to email/comment composers.

@aerodeval #42696 Read
feat ui-ux 2 months ago

A Desk v2 row in desk v1's user menus

feat: a Desk v2 row in desk v1's user menus

@shariquerik #42716 Read
feat ui-ux 2 months ago

The user avatar and its menu at the foot of the rail

Add user avatar at foot of rail with menu for settings, theme, Desk v1 link, and logout.

@shariquerik #42714 Read
feat ui-ux 2 months ago

Persist the list's columns, sort and quick filters per person and per site

Save list customizations per user and support site defaults for System Managers to set.

@shariquerik #42702 Read
fix framework 2 months ago

Dashboard count and connection filter use the wrong child table with a duplicate link field

Use correct child table when dashboard connection link appears in multiple child tables.

@kaulith #42377 Read
fix framework 2 months ago

Render website analytics group by column as text

Escape grouped field values in website analytics to render as text instead of HTML.

@kaulith #42149 Read
fix ui-ux 2 months ago

Align form builder selector icons with their input

Align Icon, Color, and Phone field selector icons with their input containers in form builder preview.

@aryadharmadhikari #42687 Read
fix framework 2 months ago

Implicitly fetch parent name for child queries in QB

Auto-inject parent name field into child table queries to prevent silent data loss.

@dankgarlic1 #42639 Read
fix framework 2 months ago

Handle missing preload library in Postgres Query Stats

Show instructions when pg_stat_statements extension exists but server library is not preloaded.

@mihir-kandoi #42626 Read
fix framework 2 months ago

Translate only backtick-delimited identifiers for postgres and sqlite

Only translate backticks that delimit SQL identifiers, not backticks inside string literals or comments.

@diptanilsaha #42531 Read
fix framework 2 months ago

Render overlays in the top layer

Render island overlays in the top layer to prevent desk chrome from painting over dialogs.

@nextchamp-saqib #42741 Read
fix framework 2 months ago

Don't prefill child table when link is on the parent

Stop prefilling child table rows when creating from Connections tab if link already exists on parent.

@mihir-kandoi #42686 Read
fix framework 2 months ago

Clear doctype cache when a workflow is deleted

Clear doctype cache on workflow deletion to prevent DoesNotExistError on subsequent saves.

@mihir-kandoi #42688 Read
fix framework 2 months ago

Backfill the social login key configs

fix(social_login_key): backfill the social login key configs

@AarDG10 #42691 Read
fix framework 2 months ago

Reject blank search_term and cap page_length in get_names_for_mentions

Prevent abuse of mention search by rejecting blank terms and capping results to 20 per page.

@AarDG10 #42735 Read
HR 9k 5 updates
feat hr-payroll 2 months ago

Add configurable option to mark absent on same day

Add Absent Buffer (Days) field to Shift Type (default 1); set to 0 to mark absent same day.

@iamkhanraheel #5083 Read
fix hr-payroll 2 months ago

Load translations from the endpoint frappe v17 exposes

Fix PWA translation loading by using frappe v17 endpoint instead of removed v16 method.

@phet2 #5148 Read
fix hr-payroll 2 months ago

Mark absent for overlapping shift assignments in auto attendance

Fix auto attendance not marking Absent when employee has multiple overlapping shift assignments and no default shift.

@Shllokkk #5091 Read
fix hr-payroll 2 months ago

Reset hardcoded letter head on reports

Remove developer-site letter head hardcoding from Employee Exits, Leave Ledger, and Income Tax Computation reports.

@Shllokkk #5248 Read
fix hr-payroll 2 months ago

Remove Leave Period from Employee Grade connections

Remove Leave Period from Employee Grade dashboard connections since the link doesn't exist.

@akhtarmohsin #5254 Read
CRM 3.9k 2 updates
fix crm-sales 2 months ago

Resolve false not-permitted redirect and broken session expiry handling

Fix rapid reload causing false not-permitted redirects; add return statement to abort navigation on in-flight request cancellation.

@AdnanQuazi #2261 Read
fix crm-sales 2 months ago

Default view is now tracked per doctype instead of a single global slot

Setting default view for one doctype no longer clears defaults for all other doctypes.

@asimdelvi #2722 Read
LMS 3.3k 7 updates
feat other-apps 2 months ago

Add availability scheduling for quizzes and assignments

Add opt-in scheduling to limit quiz/assignment availability to a configured time window.

@harshpwctech #2719 Read
feat other-apps 2 months ago

Replace pager with wrapping question chips and add Previous

Replace windowed question pager with wrapping numbered chips and add Previous button for better navigation.

@harshpwctech #2713 Read
fix other-apps 2 months ago

Reveal the signup result banners on released frappe

Make signup success/failure banners visible by wrapping relative-time text in span.

@FawazAlhafiz #2712 Read
fix other-apps 2 months ago

Improve text contrast in programming exercise submission

Fix run button text color override and improve compiler error message visibility.

@LeoDanielA01 #2698 Read
fix other-apps 2 months ago

Resolve attributeError in count_matching

Fix batch count query using outdated method that broke batch list footer.

@LeoDanielA01 #2697 Read
fix other-apps 2 months ago

Enrollment update

Move enrollment count updates to after_insert/after_delete hooks and use atomic SQL to avoid race conditions.

@AbdullahAnsari-03 #2683 Read
fix other-apps 2 months ago

Duplicate courses and batches in created lists

Add `.distinct()` to course and batch queries to prevent duplicates when course has multiple instructors.

@zaveshaa #2686 Read
b Builder 2.5k 3 updates
fix ui-ux 2 months ago

Use consistent title casing for shortcut and menu labels

fix: Use consistent title casing for shortcut and menu labels

@SmrutiSawant #801 Read
fix ui-ux 2 months ago

Open color pickers from the swatch only, and show the value in the New Token dialog

fix: open color pickers from the swatch only, and show the value in the New Token dialog

@surajshetty3416 #818 Read
fix ui-ux 2 months ago

Type colors into the Background field and keep its label in sync

Allow typing hex, rgb, hsl colors or image paths into Background field with label sync.

@surajshetty3416 #816 Read
p Press 575 10 updates
feat other-apps 2 months ago

Add "Redeploy without cache" for cache build failures

Add "Redeploy Without Cache" button on pipeline detail page for Docker build cache failures.

@huzan-kazi #7187 Read
feat other-apps 2 months ago

Show the archived sites when a team has no live sites

feat(dashboard): Show the archived sites when a team has no live sites

@Shariqk3 #7426 Read
feat other-apps 2 months ago

Show the auto update window in the site dashboard

Display auto update time window and site timezone in Configure Auto Update dialog.

@Shariqk3 #7418 Read
feat other-apps 2 months ago

Link the restore doc in the archived site banner

feat(dashboard): Link the restore doc in the archived site banner

@Shariqk3 #7423 Read
feat other-apps 2 months ago

Add set additional config button and group the actions

Add Set Additional Config button to Server, Database Server, and Proxy Server forms for easier retries after job failures.

@balamurali27 #7447 Read
fix other-apps 2 months ago

Allow parsing of anchor tag in notif panel

fix(ui): Allow parsing of anchor tag in notif panel

@siduck #7435 Read
fix other-apps 2 months ago

Name the app that lists frappe as a Python dependency

Identify which app declares frappe as a Python dependency causing uv resolution failures.

@huzan-kazi #7424 Read
fix other-apps 2 months ago

Read the chromium path from launchOptions

Fix PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH environment variable being ignored.

@balamurali27 #7443 Read
fix other-apps 2 months ago

Stop automated snapshots on Frappe Compute

Disable automated snapshots on Frappe Compute (bare metal) which fail on every run.

@balamurali27 #7415 Read
fix other-apps 2 months ago

Pass proxy's IP

Pass proxy IP for Nginx allow/deny firewall rules.

@ssiyad #7440 Read
o Other 12 updates
feat other-apps 2 months ago

Add block_administrator app

feat: add block_administrator app

@iamimmanuelraj #18 Read
feat other-apps 2 months ago

Cargo for production

feat: Cargo for production

@Aradhya-Tripathi #26 Read
feat other-apps 2 months ago

Copy-paste entire page or blocks

Copy and paste entire pages or individual blocks with conflict detection and dependency resolution.

@ruchamahabal #262 Read
feat other-apps 2 months ago

Add the Atlas sidebar and dashboard

feat(desk): Add the Atlas sidebar and dashboard

@tanmoysrt #217 Read
feat other-apps 2 months ago

Auto-boostrap pilot in cloud

Apply Central credentials during host boot, cut credential-to-serving from 833ms to 110ms, add zero-downtime site rename and admin domain updates.

@tanmoysrt #468 Read
feat other-apps 2 months ago

Hide Central surfaces on a self-hosted bench

Hide Central-only UI elements and API calls on self-hosted benches without Central integration.

@tanmoysrt #473 Read
fix other-apps 2 months ago

Make the iOS home screen icon full-bleed and opaque

fix(pwa): make the iOS home screen icon full-bleed and opaque

@netchampfaris #573 Read
fix other-apps 2 months ago

Mark fully discounted order lines as free items

fix(shopify): mark fully discounted order lines as free items

@Shllokkk #462 Read
fix other-apps 2 months ago

Handle out-of-sync Yarn lockfiles during app install

Retry app installation with pure-lockfile mode if frozen-lockfile fails due to lockfile drift.

@aakvatech #470 Read
fix other-apps 2 months ago

Apply Central credentials during host boot

Apply Central credentials at boot time instead of waiting for first Admin request.

@tanmoysrt #475 Read
fix other-apps 2 months ago

Raise the descriptor limit on bench units

Raise file descriptor limit to 65535 to prevent request failures after idle restarts.

@mihir-kandoi #474 Read
fix other-apps 2 months ago

Pass proxy's IP

fix(nginx): Pass proxy's IP

@ssiyad #597 Read

Thursday, September 10

ERPNext 40.6k 17 updates
fix accounting 2 months ago

Read posting date confirmation setting from boot data

Cached posting date confirmation setting in session boot to avoid extra settings lookup on every save.

@khushi8112 #58909 Read
fix accounting 2 months ago

Add permission checks on send_proforma_email

Proforma email send endpoint lacked permission validation.

@diptanilsaha #58933 Read
fix accounting 2 months ago

Add email permission check on send_emails

Email send endpoints lacked permission checks, allowing unauthorized users to send emails.

@diptanilsaha #58935 Read
fix accounting 2 months ago

Keep a dunning claimable until its interest is paid too

Dunning marked as Resolved when principal was paid without interest/fee, making interest uncollectible.

@Pandiyan5273 #58227 Read
fix accounting 2 months ago

Calculate holiday list totals for half days

Half-day holidays were counted as full days; now calculated as 0.5.

@ervishnucs #58792 Read
breaking stock-manufacturing 2 months ago

Validate shelf life for automatically created expiring batches

Items with auto-batch and expiry enabled could be saved with zero shelf life, breaking inward transactions.

@Pandiyan5273 #58911 Read
fix accounting 2 months ago

Reset price list fallback when changing parties

Changing customer/supplier kept old party's Price List selected if new party had no default.

@Pandiyan5273 #58893 Read
fix stock-manufacturing 2 months ago

Guard inventory dimension lookup without reference document

Empty Reference Document in Inventory Dimension caused server error; now guards lookup.

@Pandiyan5273 #58889 Read
fix stock-manufacturing 2 months ago

Use correct field when reading previous stock closing balance

Stock valuation used wrong field when reading prior period closing balance.

@krishna-254 #55898 Read
fix stock-manufacturing 2 months ago

Set item_name to fetch if empty in packing slip item

Packing Slip overwrote custom item names from Delivery Note upon save, reverting to defaults from item master.

@Afsalsyed #58925 Read
fix stock-manufacturing 2 months ago

Handle empty bom cost allocation

Clearing Cost Allocation Per field caused TypeError during cost calculation; now normalizes empty values to zero.

@Pandiyan5273 #58939 Read
fix stock-manufacturing 2 months ago

Handle empty raw materials in workstation

Selecting "Transfer Materials" crashed when Job Card's Raw Materials table was empty.

@Pandiyan5273 #58927 Read
fix stock-manufacturing 2 months ago

Ignore disabled price lists on transactions

Disabled Price Lists persisted in boot defaults and party defaults, prefilling orders that then failed on price fetch.

@mihir-kandoi #58926 Read
fix stock-manufacturing 2 months ago

Remove empty delivery stops after mapping

Fetching Delivery Notes left an empty default Delivery Stop row that prevented saving.

@Pandiyan5273 #58896 Read
fix stock-manufacturing 2 months ago

Stop counting received qty on non-stock invoice returns

Non-stock Purchase Invoices don't write Stock Ledger Entries, so `received_qty` validation never ran; partial returns then locked out the rest of the invoice.

@mihir-kandoi #58924 Read
fix accounting 2 months ago

% Amount Billed exceeds 100% on fully rejected Purchase Receipts

Billed % calculation used only accepted qty as denominator when rejected billing was on, inflating the percentage; now uses accepted + rejected qty.

@Shllokkk #58885 Read
fix accounting 2 months ago

Cannot select Against Finished Good on customer receipt

Link validation re-runs custom queries with `txt` set to docname, but `get_fg_reference_names` only searched `item_code`, rejecting valid Subcontracting Inward Order Item selections.

@mihir-kandoi #58949 Read
Frappe 11k 14 updates
feat ui-ux 2 months ago

List, ListFooter and ListBulkBar on frappe-ui's list molecule

Exports `@framework/ui/experimental/List` with presentational List, ListFooter, and ListBulkBar components on frappe-ui's list molecule.

@shariquerik #42661 Read
feat framework 2 months ago

Compose the generated list page on the list components

Generated list page now composes list controls and experimental List module instead of drawing its own table.

@shariquerik #42673 Read
feat framework 2 months ago

Page type

New page type for crafting Frappe UI screens directly on desk pages.

@sokumon #42647 Read
fix framework 2 months ago

Fix(oauth): misc. oauth fixes

Reverted due to breakages.

@AarDG10 #42662 Read
fix developer-experience 2 months ago

Fix(oauth): require client authentication on token introspection endpoint

Reverted due to breakages.

@AarDG10 #42663 Read
fix framework 2 months ago

Allow list values for JSON fieldtypes in get_valid_dict

JSON field validation rejected list values in get_valid_dict.

@Bowrna #42633 Read
fix framework 2 months ago

Data import: run the import through the document's own importer

`start_import` bypassed custom `get_importer` overrides, forcing apps to fork the entire method to customize import behavior.

@mihir-kandoi #42648 Read
fix ui-ux 2 months ago

Move Filter, SortBy and ColumnSettings to frappe-ui's Popover slots

Updated components to use frappe-ui's new Popover API with slot-based triggers and refined placement props.

@shariquerik #42672 Read
fix ui-ux 2 months ago

Add fade prop to TimelineContainer

Adds optional fade prop to TimelineContainer, defaults to true.

@RitvikSardana #42685 Read
fix ui-ux 2 months ago

Notification panel not visible on mobile

Notification dropdown clipped by collapsed mobile sidebar; pinned it to viewport instead.

@ShrihariMahabal #42652 Read
fix framework 2 months ago

Fix dock dropdown

Dock dropdown rendering fix.

@sokumon #42675 Read
fix framework 2 months ago

Correct the child table row form backdrop and remove duplicate button

Row form backdrop rendered near-white instead of dimmed dark; "Insert Below" appeared twice with identical functionality.

@aryadharmadhikari #42681 Read
fix framework 2 months ago

Prevent Document.get_tags from dropping the first tag

Legacy code used `[1:]` slice to strip a leading comma that modern Frappe no longer writes, accidentally removing the first tag instead.

@dankgarlic1 #42653 Read
fix developer-experience 2 months ago

Enforce client binding on refresh token grant

Implements RFC 6749 compliance for refresh token grants to prevent token reuse across different clients.

@AarDG10 #42552 Read
HR 9k 6 updates
feat hr-payroll 2 months ago

Add partially paid status for expense claim

Expense Claims now show "Partially Paid" when partially reimbursed, differentiating from fully outstanding.

@nareshkannasln #5071 Read
fix hr-payroll 2 months ago

Show loan repayment in salary slip print formats

Salary Slip printed with loan repayment subtracted but never shown, making totals unreconcilable.

@nareshkannasln #5220 Read
fix hr-payroll 2 months ago

Handle zero payment days in payroll correction

Payroll Correction raised ZeroDivisionError on zero payment days; now shows validation message instead.

@nareshkannasln #5161 Read
fix hr-payroll 2 months ago

Validate salary structure for timesheet salaries

Prevents Salary Slip creation from submitted Timesheet when employee lacks valid timesheet-based Salary Structure.

@nareshkannasln #5212 Read
fix hr-payroll 2 months ago

Better api endpoint & perm check

API endpoint and permission improvements.

@iamkhanraheel #5221 Read
fix hr-payroll 2 months ago

Slip eval context

Salary component evaluation lost custom fields during refactor; restored evaluation context.

@asmitahase #5237 Read
CRM 3.9k 2 updates
fix crm-sales 2 months ago

Persist details bar width across page refresh

Details panel width reset on every page refresh.

@Shindhu-Ramaswamy #2754 Read
fix crm-sales 2 months ago

Hide permlevel restricted fields from activity timeline

Activity tab showed changes to fields the current user had no permission to read.

@Shindhu-Ramaswamy #2800 Read
Helpdesk 3.4k 1 update
fix other-apps 2 months ago

Assignment notification backlog, deprecate replaced doctypes

Migrated helpdesk doctypes to core equivalents; patches old notification backlog and deprecates replaced types.

@RitvikSardana #3765 Read
b Builder 2.5k 4 updates
fix ui-ux 2 months ago

Clear editor console warnings and errors

Editor logged 8 errors and ~200 warnings from itself; marked component-valued registry items raw and fixed prop control issues.

@surajshetty3416 #810 Read
fix ui-ux 2 months ago

Hide popovers and dialogs on small screens

Below 1024px the builder hides but open popovers/dialogs remained visible floating over the "Screen too small" message.

@SmrutiSawant #807 Read
fix ui-ux 2 months ago

Move the color token dropdown from the picker popover to the Background field

Token dropdown on color picker popover was read-only; moved it to Background field matching Text Color's pattern.

@surajshetty3416 #813 Read
fix ui-ux 2 months ago

Duplicate a standard page as a plain page

Duplicating a standard page kept `is_standard` and `app` flags, opening read-only or writing duplicate exports.

@surajshetty3416 #811 Read
p Press 575 9 updates
feat other-apps 2 months ago

Let users pick backup times from the dashboard

Users can now change logical backup schedule from dashboard instead of desk, avoiding working-hour slowdowns.

@Shariqk3 #7195 Read
feat other-apps 2 months ago

Show last plan change date in the change-plan dialog

Displays previous plan change date and details when user opens Change Plan dialog.

@Shariqk3 #6832 Read
feat other-apps 2 months ago

Show who archived a site, when, and why

Activity tab now visible for archived sites, showing archive actor, timestamp, and reason.

@Shariqk3 #7218 Read
feat other-apps 2 months ago

Warn about 30-day downgrade lock when upgrading to $50+ plan

Displays downgrade lock constraint right on plan selection so users confirm before upgrading.

@Shariqk3 #6971 Read
feat other-apps 2 months ago

Let teams pick their storage alert threshold

`storage_alert_threshold_percent` setting (default 90, valid 50–95) on Server and Database Server; teams can warn earlier or later than hardcoded 90%.

@huzan-kazi #7405 Read
fix other-apps 2 months ago

Change the Performance Schema notice for shared hosting

Same notice shown to all users even though Performance Schema is available only on dedicated servers; now differentiates shared vs. dedicated.

@Shariqk3 #7412 Read
fix other-apps 2 months ago

Search the servers list by name as well as title

Server search only matched title, not name; now matches both so users can find servers by either identifier.

@Shariqk3 #7358 Read
fix other-apps 2 months ago

Show the exact time when hovering a relative date

Tooltips carrying full datetime were never opening on relative time text; wrapping text in span fixed attachment.

@huzan-kazi #7413 Read
fix other-apps 2 months ago

Require a minimum sample size before auto-disabling webhooks

Webhooks were disabled on 70% failure rate with no minimum sample size, causing false disables on single or few events; now requires minimum attempts before auto-disabling.

@huzan-kazi #7381 Read
o Other 15 updates
feat other-apps 2 months ago

Local metrics store

Local metrics storage capability.

@Aradhya-Tripathi #21 Read
feat other-apps 2 months ago

Datum spawning and management

Datum instance spawning and lifecycle management.

@Aradhya-Tripathi #23 Read
feat other-apps 2 months ago

Spaces-first navigation and space identity on frappe-ui beta.55

Navigation now spaces-first with spaces as first-class identity; upgraded frappe-ui from beta.25 to beta.55.

@NagariaHussain #752 Read
breaking ui-ux 2 months ago

Frappe-ui: SidebarRail rename, xs–lg input scale, form typography and responsive List columns

Breaking changes for v1 RC: SidebarRail rename, input scale refactor, form typography fix, responsive List columns.

@netchampfaris #1133 Read
feat ui-ux 2 months ago

Frappe-ui: tooltip columns, reference line labels, and chart fixes

Adds `tooltipColumns` prop to BarChart, LineChart, and AreaChart for tooltip-only data; adds reference line labels and other chart refinements.

@nextchamp-saqib #1128 Read
feat other-apps 2 months ago

Allow ignoring files for validations

Configuration option to exclude files from validation checks.

@Aradhya-Tripathi #467 Read
feat other-apps 2 months ago

Stable REST API

Typed REST API system with API docs, tenant ID isolation, and JWKS test server.

@tanmoysrt #206 Read
feat other-apps 2 months ago

Add the virtual machine sleep policy

Virtual machines can now sleep when idle and wake on network packet; policy set via `is_sleepy` and `idle_timeout_seconds` flags.

@the-bokya #210 Read
fix ui-ux 2 months ago

Frappe-ui: export defineModel props, add ContextMenuEmits, TabButtonsSlots

Exported missing type definitions for HoverCard, KeyboardShortcutsDialog, Tree open/expanded props and ContextMenu emits.

@waterWang #1091 Read
fix ui-ux 2 months ago

Frappe-ui: remove duplicate update:open / update:query emit declarations

Combobox and MultiSelect declared emits twice (via defineModel and *Emits interface), causing merged signature to lose type info for consumers.

@waterWang #1098 Read
fix other-apps 2 months ago

Ecommerce integrations: clear global default warehouse and fix amazon test setup

Test suite failures from item creation hitting global default warehouse company mismatch; cleared default and fixed setup.

@Bhavathariniya #467 Read
fix other-apps 2 months ago

Enforce Node.js 24 requirement in install.sh

Script silently skipped Node setup if any version existed; now validates major version and enforces Node 24.

@ai-sadhu #452 Read
fix other-apps 2 months ago

Install.sh on Ubuntu 26.04

Installation script compatibility fix for Ubuntu 26.04.

@vg #455 Read
fix other-apps 2 months ago

FC-scripts: grep hooks.py for asset includes instead of using bench console

Asset include grep rewrite missed a merged PR; switched to direct grep of hooks.py like other hook finders.

@balamurali27 #27 Read
fix ui-ux 2 months ago

Frappe-ui: mute the categorical red

Chart red was too loud; adjusted tone for better visual hierarchy.

@nextchamp-saqib #1135 Read

Wednesday, September 9

ERPNext 40.6k 15 updates
fix stock-manufacturing 2 months ago

Sum consolidated sub-assembly required quantity (v16)

Consolidation now sums both `required_qty` and `qty` fields for sub-assembly demands.

@mihir-kandoi #58833 Read
fix stock-manufacturing 2 months ago

Share transfer stock across Production Plan rows (v16)

Transfer stock is now fetched once per item in stock UOM and consumed across requirements instead of being reused per batch.

@mihir-kandoi #58834 Read
fix stock-manufacturing 2 months ago

Apply safety stock once across Production Plan rows (v16)

Safety stock is now counted once across requirements for the same item and warehouse before transfers and MOQ.

@mihir-kandoi #58832 Read
fix stock-manufacturing 2 months ago

Apply MOQ once across Production Plan rows (v16)

Minimum Order Quantity is now applied once across related Purchase demand rows and carries purchase surplus into later Sales Orders.

@mihir-kandoi #58831 Read
fix stock-manufacturing 2 months ago

Allow parent item groups in filters

Parent item groups are now available in Set Filters when users select Descendants Of, instead of being hidden by field metadata.

@mihir-kandoi #58839 Read
fix stock-manufacturing 2 months ago

Carry accounting dimensions from Landed Cost Voucher

fix(stock): carry accounting dimensions from Landed Cost Voucher

@ervishnucs #58548 Read
fix stock-manufacturing 2 months ago

Preserve rates for unsaved mapped rows

Rate-locked source rows are now resolved from the current mapped item context before child names are assigned.

@krishna-254 #58852 Read
fix accounting 2 months ago

Bind issue split to its own timeline

fix(support): bind issue split to its own timeline

@diptanilsaha #58890 Read
fix stock-manufacturing 2 months ago

Prevent excess process loss from inflating plan quantities

Validates cumulative finished quantity plus recorded process loss against Work Order quantity to prevent negative Production Plan commitments.

@mihir-kandoi #58847 Read
fix stock-manufacturing 2 months ago

Distribute additional costs when incoming items have no value

When all incoming Stock Entry rows had zero basic amount, additional costs were not assigned; now distributes across incoming items using transfer quantity as fallback.

@Sudharsanan11 #58842 Read
fix stock-manufacturing 2 months ago

Account for process loss in Production Plan Work Orders

Production Plan quantity checks now account for recorded process loss on both finished-goods and sub-assembly Work Orders.

@mihir-kandoi #58799 Read
fix accounting 2 months ago

Restrict linked material requests to permitted documents

fix(buying): restrict linked material requests to permitted documents

@diptanilsaha #58855 Read
fix accounting 2 months ago

Enforce account field allow-list on financial report filters

fix(accounts): enforce account field allow-list on financial report filters

@diptanilsaha #58790 Read
fix accounting 2 months ago

Add permission checks to Chart of Accounts Importer methods

fix(accounts): add permission checks to Chart of Accounts Importer methods

@diptanilsaha #58892 Read
fix accounting 2 months ago

Reject disabled price lists in buying and selling

Transactions could retain a disabled Price List during save or submit when the list was disabled in another tab.

@Pandiyan5273 #58891 Read
Frappe 11k 17 updates
feat framework 2 months ago

Fill Subject and Message from Email Template

Notifications can now fetch Subject and Message from Email Templates via a new dialog.

@raizasafeel #42438 Read
feat framework 2 months ago

Record hooks.py handler calls on the timeline

Hooks.py handler execution is now recorded on the timeline with hook name, app, duration, and query count.

@iamejaaz #42394 Read
feat ui-ux 2 months ago

A page frame with a pinned header row

Added PageFrame component that provides a root for generated pages with pinned headers that teleport into DesktopShell.

@shariquerik #42619 Read
feat ui-ux 2 months ago

The customize dialog replaces the arrange drawer

The arrangement drawer becomes a CustomizeSidebarDialog mounted in the shell, opened by hash instead of overlays.

@shariquerik #42620 Read
feat ui-ux 2 months ago

The record page's header row moves into PageFrame

Record page headers now move into the shell's pinned page frame, staying in place while the body scrolls.

@shariquerik #42622 Read
fix ui-ux 2 months ago

Correct pointer-events property in desktop title input

Fixed typo `pointers-events` → `pointer-events` in title input CSS rule.

@iamejaaz #42602 Read
fix framework 2 months ago

Dark mode issues

Fixed dark mode styling issues across multiple UI elements.

@sokumon #42607 Read
fix framework 2 months ago

Replace menu with dropdown component

Replaced a custom menu component with the reusable dropdown component.

@sokumon #42610 Read
fix framework 2 months ago

Export query report dates as real for excel

Query report date exports to Excel now use real date formatting instead of text.

@Bowrna #42623 Read
fix framework 2 months ago

Change dock based on doctype

The dock now changes based on the current doctype when using the awesome bar to navigate between modules.

@sokumon #42632 Read
fix framework 2 months ago

Omit empty options from PDF link

Print view PDF links now omit empty options to avoid broken links.

@krishna-254 #42611 Read
fix framework 2 months ago

Html sanitize html in email without overwriting content

Email sanitization now preserves existing content instead of overwriting it.

@Bowrna #42613 Read
fix ui-ux 2 months ago

Keep the user on the same tab while navigating using prev / next buttons in form view

Users now stay on the same tab when scrolling between records using prev/next buttons instead of jumping to the default tab.

@akurungadam #42490 Read
fix framework 2 months ago

No access to dashboard shouldn't take the site down

fix: no access to dashboard shouldn't take the site down

@sokumon #42635 Read
fix framework 2 months ago

Keep child table dropdowns anchored to the field when the page is scrolled

Link/Autocomplete dropdowns in child tables were positioned incorrectly; now stay anchored to the field when the page scrolls.

@sokumon #42615 Read
fix framework 2 months ago

Add ip revalidation on every hop

Added IP revalidation on each redirect to prevent SSRF attacks and added safe-request timeout configuration.

@ps173 #41806 Read
fix framework 2 months ago

Check reference document permission in auto repeat

Auto Repeat did not check user permissions on the referenced document before writing to it or copying it during scheduled runs.

@kaulith #42604 Read
CRM 3.9k 1 update
feat crm-sales 2 months ago

Remove quick enrichment, better settings UI, better description picking

Removed quick enrichment and improved the settings UI with better description picking for lead/deal enrichment.

@ps173 #2681 Read
LMS 3.3k 3 updates
feat other-apps 2 months ago

Add Slovak language support and complete Czech translations

Added full Slovak language support and completed Czech translations with corrections for UI terminology.

@vavrecan #2665 Read
feat other-apps 2 months ago

Feat(quiz)!: rebuild quiz authoring around a shared question bank

Questions are now written once and reused across quizzes instead of being duplicated; a new Questions list shows every question on the site.

@raizasafeel #2710 Read
fix other-apps 2 months ago

Fix(lesson)!: stop lesson content being destroyed on save

Lesson content JSON is no longer destroyed by HTML quote rewriting on save.

@raizasafeel #2709 Read
b Builder 2.5k 5 updates
fix ui-ux 2 months ago

Patch release

fix: Patch release

@surajshetty3416 #805 Read
feat ui-ux 2 months ago

Carry the page through its lifecycle events

Page lifecycle events now carry page name, source (template/duplicate/blank/import), and block count for telemetry.

@surajshetty3416 #804 Read
fix ui-ux 2 months ago

Render form controls in the canvas as real but inert elements, and align property control label widths

Native form controls now render as real elements in the canvas and option labels are edited inline without nesting rich-text editors.

@surajshetty3416 #806 Read
fix ui-ux 2 months ago

Match globe icon styling with toolbar icons

Globe icon in the page title bar now matches the visual style of surrounding toolbar icons.

@SmrutiSawant #802 Read
fix ai 2 months ago

Reserve mono for code literals in the AI debug UI

Removed mono font from stat-tile numbers and labels, keeping it only for genuine code literals like tool names and log output.

@surajshetty3416 #808 Read
p Press 575 2 updates
feat other-apps 2 months ago

Alert on Raven when hourly backup success rate drops below 97%

Backup health is now monitored hourly with Raven alerts when success rate falls below 97%.

@regdocs #7382 Read
fix other-apps 2 months ago

Handle a branch deleted on GitHub

App sources with deleted GitHub branches now show a clear error message instead of generic Action Required.

@regdocs #7353 Read
o Other 11 updates
fix other-apps 2 months ago

Preserve VMs across daemon restarts

VM PTY master file descriptors are now preserved across metald restarts using systemd's file descriptor store.

@tanmoysrt #197 Read
feat other-apps 2 months ago

Metrics integration

Added storage metrics collection with long-term telemetry data and threshold-based event firing.

@Aradhya-Tripathi #20 Read
feat other-apps 2 months ago

Add static VM hostname routing

Added deterministic VM routing from regional hostnames by deriving IPv6 address from tenant and VM IDs.

@tanmoysrt #202 Read
feat other-apps 2 months ago

Use base36 in auto-proxy domains

Auto-proxy domains now use base36-encoded tenant and VM IDs instead of decimal suffixes for cleaner URLs.

@tanmoysrt #203 Read
feat other-apps 2 months ago

Sleepy VMs + warm snapshot refactor

Added sleepy VM support with automatic snapshot-based sleeping, packet-triggered wake-up, and eBPF-tracked network activity.

@the-bokya #201 Read
fix other-apps 2 months ago

Register drive domain callback before generating google auth url

fix: register drive domain callback before generating google auth url

@krishna-254 #35 Read
fix other-apps 2 months ago

Stabilize startup and reconnects

Aligned initial camera/microphone setup timing, preserved participant connection identity across reconnects, and fixed media lifecycle.

@BreadGenie #836 Read
fix other-apps 2 months ago

Serialize concurrent room creation

Concurrent first joins to the same Meet Room now share one in-flight room creation, preserving both admitted peers and avoiding orphaned routers.

@BreadGenie #837 Read
fix other-apps 2 months ago

Tolerate unavailable local storage

Local storage write and removal failures are now treated as best-effort so quota or browser availability failures don't interrupt Meet.

@BreadGenie #843 Read
fix other-apps 2 months ago

Stop the editor TOC rail squashing rows on long pages

Editor's "On this page" rail now allows flex items to grow, preventing text clipping on pages with many headings.

@gajjug004 #773 Read
fix other-apps 2 months ago

Only validate route uniqueness when the route changes

Merging a change request that only reorders pages no longer fails with duplicate route errors from unrelated existing duplicates.

@gajjug004 #771 Read

Tuesday, September 8

ERPNext 40.6k 14 updates
fix stock-manufacturing 2 months ago

Refresh cached production plans before assertion

Fixed intermittent test failures by clearing request cache before final assertions in Production Plan tests.

@mihir-kandoi #58801 Read
fix accounting 2 months ago

Check write permission in whitelisted document methods

Added write permission checks to whitelisted document methods that mutate the document, preventing unauthorized changes.

@rohitwaghchaure #58702 Read
fix accounting 2 months ago

Avoid full grid re-render per row in set_exchange_rate

Fixed performance issue where refreshing exchange rates on large Journal Entries caused full grid re-renders per row instead of per-field updates.

@Jatin3128 #58803 Read
fix stock-manufacturing 2 months ago

Use existing warehouse fixtures in Pick List tests

Fixed Pick List tests on version 15 by using standard warehouse fixtures instead of non-existent test warehouses.

@mihir-kandoi #58840 Read
fix accounting 2 months ago

Support drop-shipped items in Gross Profit report

Added support for drop-shipped items in the Gross Profit report by loading buying costs from Purchase Invoices, fixing missing cost calculations.

@mihir-kandoi #58686 Read
fix stock-manufacturing 2 months ago

Share transfer stock across Production Plan rows

Fixed transfer stock being reused across all production rows instead of being shared once per item, preventing inventory overspend.

@mihir-kandoi #58812 Read
fix stock-manufacturing 2 months ago

Sum required quantity when consolidating sub-assemblies

Fixed consolidated sub-assembly rows not summing required quantity, causing incorrect stock reservation for combined requirements.

@mihir-kandoi #58807 Read
fix stock-manufacturing 2 months ago

Apply safety stock once across Production Plan rows

Fixed safety stock being added to every raw-material row when projected quantity was negative, now applied once across all rows.

@mihir-kandoi #58806 Read
fix stock-manufacturing 2 months ago

Apply MOQ once across Production Plan rows

Fixed Minimum Order Qty being applied to each purchase row separately instead of once across combined requirements, preventing excessive purchase quantities.

@mihir-kandoi #58805 Read
fix accounting 2 months ago

Subtract billed qty for zero-amount Sales Order rows

Fixed zero-amount Sales Order rows being mapped repeatedly on every invoice due to billed quantity not being subtracted.

@mihir-kandoi #58816 Read
fix accounting 2 months ago

Fetch orders within billing allowance

Fixed Sales Invoice picker and button to show orders within global or item-level over-billing allowance, making 100%-billed orders visible again when allowed.

@mihir-kandoi #58751 Read
fix stock-manufacturing 2 months ago

User not able to set valuation rate zero in stock reco

Fixed validation preventing users from setting valuation rate to zero in stock reconciliation.

@rohitwaghchaure #58800 Read
fix accounting 2 months ago

UI cleanup and better statement parsing

Improved bank reconciliation UI: search scroll resets to top, date filter is more accurate, UI is more compact, and statement importer correctly detects Cr/Dr values.

@nikkothari22 #58817 Read
fix accounting 2 months ago

Federal bank dark logo

Fixed dark mode logo for Federal bank in banking module.

@nikkothari22 #58844 Read
Frappe 11k 23 updates
feat framework 2 months ago

Mapreduce

Added first-class MapReduce support for parallelizing long-running computationally-intensive work across smaller independent tasks.

@ruthra-kumar #41441 Read
feat framework 2 months ago

Home COMPATIBILITY.md and port the dialog layout files

Moved COMPATIBILITY.md documentation to the main directory and ported Record Page dialog layout files to desk-v2.

@shariquerik #42563 Read
feat ui-ux 2 months ago

Draw the record page's header row from page.header

Built record page header rendering from page.header engine, replacing page.headerActions with flat item list supporting left/right zones and client script naming.

@shariquerik #42567 Read
feat developer-experience 2 months ago

Land the stored-script tier's tables, on Client Script and Form Layout

Added Record view to Client Script and run_order field, giving the record-page engine a home for stored scripts without a new doctype.

@shariquerik #42559 Read
feat framework 2 months ago

Dock interaction

Added new Dock and Sidebar interaction patterns for improved navigation.

@sokumon #42509 Read
feat framework 2 months ago

Cancel linked documents in dependency order

Fixed Cancel All to process linked documents deepest-first, preventing LinkExistsError when cancelling documents still referenced by submitted docs.

@mihir-kandoi #42054 Read
feat framework 2 months ago

Delete all linked documents in dependency order

Added "Delete All Linked Documents" dialog to recursively delete blocking documents in dependency order, resolving LinkExistsError issues.

@mihir-kandoi #42055 Read
feat framework 2 months ago

Process large linked document sets in the background

Added background queuing for Cancel All and Delete All operations when more than 50 linked documents exist, preventing request timeouts.

@mihir-kandoi #42175 Read
feat ui-ux 2 months ago

The shell frame on frappe-ui's components

Built Desk v2's shell frame using frappe-ui's DesktopShell, Rail, and Sidebar components with proper scroll handling and layout.

@shariquerik #42586 Read
fix framework 2 months ago

Check every core doctype in the permitted fields test

Fixed flaky test that randomly failed when it landed on User doctype by checking all core doctypes instead.

@mihir-kandoi #42515 Read
fix framework 2 months ago

Clear include filters and hide column picker when a print format is set

Fixed include filters leaking into the print template as a subtitle and column picker staying visible when a print format is selected.

@Shllokkk #42528 Read
fix framework 2 months ago

Prepared report automation flags the reference report instead of the custom report

Fixed prepared report automation updating the wrong report, causing custom reports to never be flagged for caching.

@kaulith #42140 Read
fix framework 2 months ago

Detect web tier concurrency without /proc

Fixed concurrent_limit detection failing on macOS by detecting gunicorn via SERVER_SOFTWARE environment variable instead of relying on /proc.

@nextchamp-saqib #42564 Read
fix framework 2 months ago

Surface progress and errors when generating report PDF

Added progress indication and error messaging for long-running PDF report generation, fixing silent failures that left users uncertain if the report was still generating.

@kaulith #42496 Read
fix framework 2 months ago

Keep chart data when last_synced_on write conflicts

Fixed dashboard charts being lost when concurrent users generate results simultaneously and encounter write conflicts on the last_synced_on field.

@kaulith #42522 Read
fix framework 2 months ago

Hide bulk export when user lacks export permission

Hidden bulk export action in list view for users with owner-only export permissions, while keeping it available in Data Export and report export flows.

@iamejaaz #42577 Read
fix ui-ux 2 months ago

Settle the panel's state before it is drawn

Fixed second sidebar showing randomly by settling the panel state before rendering.

@sokumon #42592 Read
fix framework 2 months ago

Remove notification_title and notification_description

Removed separate notification title/description fields that complicated notification rendering across channels.

@ps173 #42472 Read
fix framework 2 months ago

Added owner check before attaching doctype info to File

Added owner verification before attaching doctype information to files to prevent unauthorized access.

@Bowrna #42574 Read
fix framework 2 months ago

Scope read access to the referenced document

Decoupled comment permissions from document access, allowing apps to restrict comment visibility (e.g. internal notes on support tickets) without overriding endpoints.

@RitvikSardana #42082 Read
fix developer-experience 2 months ago

Require client authentication on token introspection endpoint

Added validation layer to require client authentication on the OAuth token introspection endpoint.

@AarDG10 #42461 Read
fix framework 2 months ago

Misc. oauth fixes

Removed the deprecated Resource Owner Password Credentials Grant (RFC 9700 forbids it) and added client_secret validation in the authenticate_client endpoint.

@AarDG10 #42501 Read
fix ui-ux 2 months ago

Fix(oauth)!: require verified email before logging in via social login

Hardened OAuth by fixing a boolean logic bug in email verification and normalizing verification signals across OAuth providers (Google, GitHub, Facebook, Office 365, Frappe-as-IdP). Users logging in via social login now have their email verified before account access is granted.

@AarDG10 #42402 Read
HR 9k 1 update
fix hr-payroll 2 months ago

HR form cleanup

Cleaned up HR form structure and removed redundant fields.

@deepeshgarg007 #4912 Read
CRM 3.9k 3 updates
fix crm-sales 2 months ago

Deal contacts permission

Added permission check before fetching contacts for a deal.

@shahzeelahmed #2788 Read
fix crm-sales 2 months ago

Propagate no_of_employees to organization on lead/deal conversion

Fixed employee count field being lost or reset to default when converting leads or deals to organizations.

@Shindhu-Ramaswamy #2751 Read
fix crm-sales 2 months ago

Check read permission in get_call_log

Added read permission check to the call log retrieval endpoint.

@ps173 #2787 Read
LMS 3.3k 1 update
feat other-apps 2 months ago

Feat(raven)!: sync channel membership from LMS rules

Added Settings > Raven to map LMS courses, students, and instructors to Raven workspace channels, with automatic membership sync following defined rules.

@raizasafeel #2706 Read
b Builder 2.5k 2 updates
fix ui-ux 2 months ago

Two keyboard shortcut bugs

Fixed Ctrl+Shift+C leaking listeners and Ctrl+Shift+L being bound twice with a dead store field.

@SmrutiSawant #796 Read
fix ui-ux 2 months ago

Close block context menu when a keyboard command runs

Fixed context menu staying open on top of the keyboard shortcuts modal.

@SmrutiSawant #795 Read
Insights 1k 4 updates
feat other-apps 2 months ago

Agent skill for authoring workbooks over frappectl

Added agent skill enabling agents to build and edit Insights workbooks on any site with frappectl, using only a shipped contract without server-side install.

@nextchamp-saqib #1380 Read
fix other-apps 2 months ago

Match the import log status a finished import writes

Fixed table stats not reporting import duration by matching the correct import log status ("Completed" instead of "Success").

@nextchamp-saqib #1374 Read
fix other-apps 2 months ago

Keep one record per remote table when its name changes

Fixed duplicate table imports when a PostgreSQL table name changes due to schema prefix editing by resolving names to their actual tables.

@nextchamp-saqib #1373 Read
fix other-apps 2 months ago

Wait for readers before opening the warehouse for a write

Fixed DuckDB warehouse import failures by waiting for read connections before opening the file for writing, addressing 169 of 323 failed imports in 30 days on insights.frappe.io.

@nextchamp-saqib #1375 Read
p Press 575 4 updates
fix other-apps 2 months ago

Consider upgradable server for site/bench creation

Updated server selection logic to consider server upgradability in addition to health when creating sites and benches.

@AyshaHakeem #7389 Read
fix other-apps 2 months ago

Include disk usage

Added root-disk utilization alerting to server health checks with a 90% threshold.

@AyshaHakeem #7391 Read
fix other-apps 2 months ago

Add platform check when getting similar plans

Added platform check to plan selection logic to prevent incompatible plan recommendations.

@Aradhya-Tripathi #7393 Read
fix other-apps 2 months ago

Ship headless Chromium in the bench image

Fixed missing Chromium in Docker images when print_designer is installed, resolving "Chromium not executable" errors on deployed apps.

@regdocs #7350 Read
o Other 16 updates
fix other-apps 2 months ago

Use region from provisioning backends

Passed region parameter during backend selection for regional services.

@Aradhya-Tripathi #311 Read
fix other-apps 2 months ago

Ensure metadata bucket creation

Fixed metadata bucket creation to be idempotent when the bucket already exists.

@Aradhya-Tripathi #17 Read
feat other-apps 2 months ago

Inform central on cluster health changes

Added cluster health change notifications to Central from Cargo provisioning backend.

@Aradhya-Tripathi #15 Read
feat other-apps 2 months ago

Release machines on demand

Added on-demand machine release capability to Frappe Cargo infrastructure.

@Aradhya-Tripathi #16 Read
feat other-apps 2 months ago

Email alerts to configured recipients

Added email as a third alert sink, allowing benches to send alerts directly to configured inbox recipients alongside webhooks and Central.

@AryamanSharma14 #403 Read
feat other-apps 2 months ago

Add open-in-new-tab action and Cmd+Enter shortcut

Added "Open in new tab" option in the right-click menu and Cmd/Ctrl+Enter keyboard shortcut for Drive files and folders.

@BreadGenie #831 Read
feat other-apps 2 months ago

Drag threads onto a folder to move them

Added drag-and-drop to move mail threads onto sidebar folders as an alternative to the "Move to" menu.

@BreadGenie #832 Read
feat other-apps 2 months ago

HTTP Proxy & TLS Management

Added automated proxy server spawning, multi-IP DNS for high availability, auto-recovery/bootstrapping, automatic leader selection, and daily password rotation for Frappe Atlas infrastructure.

@tanmoysrt #196 Read
fix other-apps 2 months ago

Save slides by client_id with conflict detection

Fixed presentation slides being wiped when two editors had the same deck open by tracking slides with client IDs and adding conflict detection.

@s-aga-r #705 Read
fix other-apps 2 months ago

Saving a Studio Component breaks

Fixed Studio Component save failures by serializing the block field before saving.

@ruchamahabal #261 Read
fix other-apps 2 months ago

A PDF attachment draws on iOS

Fixed PDF attachments rendering as a black screen on iOS by configuring pdf.js worker and fixing the viewer initialization.

@krantheman #829 Read
fix other-apps 2 months ago

Every folder reaches the sidebar, not just the first twenty

Fixed mail folders beyond 20 disappearing from sidebar, folder settings, and move menus on accounts with many folders.

@krantheman #833 Read
fix ui-ux 2 months ago

Keep RichTextKit demo headings out of the page TOC

Fixed demo preview headings leaking into "On this page" table of contents on documentation pages.

@raizasafeel #1127 Read
fix other-apps 2 months ago

Check the account belongs to the caller before reading it

Added ownership checks to `get_mailboxes` and `get_quota` endpoints to prevent unauthorized access to other users' mail accounts.

@krantheman #830 Read
fix other-apps 2 months ago

Add missing loan permission checks across lending APIs

Backport of #1433 to the active branch.

@Nihantra-Patel #1434 Read
fix other-apps 2 months ago

Add missing loan permission checks across lending APIs

Added permission checks to whitelisted lending APIs that were reading or changing loan data without verifying the caller's access to those records.

@Nihantra-Patel #1433 Read

Monday, September 7

ERPNext 40.6k 3 updates
feat accounting 2 months ago

Add subcontracting receipt ledger previews

Adds accounting and stock ledger previews to Subcontracting Receipt before submission without requiring data submission.

@Pandiyan5273 #58698 Read
fix accounting 2 months ago

Add permission checks to whitelisted methods

fix: add permission checks to whitelisted methods

@diptanilsaha #58787 Read
fix stock-manufacturing 2 months ago

Add permission checks to BOM whitelisted methods

fix(manufacturing): add permission checks to BOM whitelisted methods

@diptanilsaha #58789 Read
Frappe 11k 9 updates
fix framework 2 months ago

Cast non-text fields for like filters

Casts non-text columns to varchar before PostgreSQL LIKE comparisons to enable pattern matching on numeric fields.

@mihir-kandoi #42449 Read
fix framework 2 months ago

Cast autoincrement names in joins

Casts autoincrement name columns to varchar in PostgreSQL joins to fix type comparison failures.

@mihir-kandoi #42448 Read
fix framework 2 months ago

Support managed database ownership

Supports managed PostgreSQL root users by checking permissions before setting site roles and revoking temporary access.

@mihir-kandoi #42450 Read
fix framework 2 months ago

Enable recorder query optimization

Enables query optimization by reading PostgreSQL index metadata and MariaDB information schema with parameterized filters.

@mihir-kandoi #42452 Read
fix framework 2 months ago

Honor default user permissions

Falls back to User Permission defaults when stored defaults are missing or not permitted for the user.

@mihir-kandoi #42451 Read
fix ui-ux 2 months ago

Preserve query builder distinct ordering

Extends distinct ordering preservation to query builder with support for aliases, qualified names, and grouped queries.

@mihir-kandoi #42454 Read
fix framework 2 months ago

Preserve valid distinct ordering

Preserves ORDER BY in distinct queries on PostgreSQL when all ordered fields appear in the result set.

@mihir-kandoi #42453 Read
fix framework 2 months ago

Make custom button labels translatable

fix: make custom button labels translatable

@barredterra #42539 Read
fix framework 2 months ago

Bind column metadata filters

Prevents SQL injection vulnerabilities in PostgreSQL column metadata queries via bound parameter values.

@mihir-kandoi #42455 Read
p Press 575 2 updates
fix other-apps 2 months ago

Switch to prepaid credits when card is not on stripe

Handles payment failures for Razorpay UPI Autopay when token expires by switching to prepaid credits.

@shadrak98 #7379 Read
fix other-apps 2 months ago

Remove renewal card

Allows partners to add/update company logo and adds a sales email field for partner communications.

@shadrak98 #7378 Read
o Other 5 updates
feat other-apps 2 months ago

Allow addition of storage nodes on the fly

feat: Allow addition of storage nodes on the fly

@Aradhya-Tripathi #12 Read
fix other-apps 2 months ago

Add as on date filter to Loan Outstanding Report

Adds historical date filtering and fixes incorrect calculations from mixing today's values with past-date queries.

@Nihantra-Patel #1425 Read
fix other-apps 2 months ago

Handle empty cell values in JSON and CSV exports when hide group value selected

Respects "Hide Group Amounts" filter in CSV and JSON exports, preventing raw group values from appearing in exports.

@codisfy #1404 Read
fix other-apps 2 months ago

Update parent doc link field when nested Quick Edit Form

Fixes newly-created linked records from nested Quick Edit Forms not being linked back to the parent document.

@the-narwhal #1506 Read
fix other-apps 2 months ago

PDF and video embeds break on filenames with spaces and parens

Fixes regex in pdf-block.js and video-block.js that incorrectly truncated URLs containing parentheses and spaces.

@gajjug004 #759 Read

Sunday, September 6

ERPNext 40.6k 3 updates
fix accounting 2 months ago

Restore hover tooltip on Profit and Loss dashboard chart

Restores hover tooltip functionality on P&L dashboard charts.

@Shllokkk #58769 Read
fix stock-manufacturing 2 months ago

Show actual outgoing rate in ledger preview

Displays actual FIFO outgoing rates instead of average valuation rate and formats as currency in stock ledger preview.

@Afsalsyed #58700 Read
fix accounting 2 months ago

Check write permission in whitelisted document methods

Adds `check_permission("write")` to whitelisted document methods that mutate data, preventing unauthorized modifications.

@rohitwaghchaure #58701 Read
Frappe 11k 3 updates
feat ui-ux 2 months ago

Let an app mount its own UI inside a desk page

Enables apps to mount Vue UI with frappe-ui in shadow roots within desk pages, isolating styling and dependencies from the framework.

@nextchamp-saqib #41714 Read
fix ui-ux 2 months ago

Constrain captured image size in camera preview

Constrains preview image dimensions in camera upload dialog to prevent overflow and stacking across grid columns.

@kaulith #42518 Read
fix ui-ux 2 months ago

Make capture preview remove control readable over photos

Updates camera preview close button styling to remain visible over dark backgrounds.

@kaulith #42529 Read
Insights 1k 1 update
fix other-apps 2 months ago

Accept a numeric workbook name on insert

Handles legacy numeric workbook names from old fixtures to prevent `bench migrate` failures when syncing.

@nextchamp-saqib #1367 Read
o Other 7 updates
feat other-apps 2 months ago

Add disk throughput and IOPS limits

Adds disk throughput and IOPS limit controls for metal VMs.

@tanmoysrt #192 Read
feat other-apps 2 months ago

Add support for traffic bandwith limit and ip attach/detach

Adds traffic bandwidth limits for public and private internet, cleans up egress options, and enables public IP attach/detach without VM restart.

@tanmoysrt #191 Read
feat other-apps 2 months ago

Integrate Atlas WG Mesh

Integrates WireGuard mesh for private tenant networking, builds metald and wg-mesh binaries locally, and auto-configures machines from warm snapshots.

@tanmoysrt #193 Read
feat other-apps 2 months ago

Add query and index analysis to the DB analyzer

Adds read-only performance analysis covering time-consuming queries, full table scans, unused indexes, and redundant indexes via Performance Schema.

@sadiqxansari #429 Read
fix ui-ux 2 months ago

Re-evaluate slot-derived computeds when a slot toggles

Fixes TextInput prefix and suffix icons rendering incorrectly when toggling visibility.

@netchampfaris #1093 Read
fix ui-ux 2 months ago

Ignore a file dropped on a read-only editor

Prevents file uploads and image insertion into read-only editors, which were incorrectly mutating document content.

@netchampfaris #1124 Read
fix other-apps 2 months ago

Remove backtick notation from order_by

Removes invalid backtick notation that was returning HTTP 417 errors across multiple page routes, blocking site access.

@netchampfaris #3 Read

Friday, September 4

ERPNext 40.6k 2 updates
feat accounting 2 months ago

Disabled marker and cost center parity in tree views

Shows disabled status as badges in Account and Cost Center tree views; makes Account Type visible in previews and adds cost center parity.

@sumitjain236 #58726 Read
feat accounting 2 months ago

More sidebar improvements

Adds general sidebar enhancements.

@sokumon #58729 Read
Frappe 11k 14 updates
feat framework 2 months ago

Draw a navigation item's authored icon

Renders authored navigation item icons that were defined and shipped but not drawn in the UI.

@shariquerik #42468 Read
feat framework 2 months ago

Keep the reader in the panel they are already in

When a navigation destination exists in multiple panels, keeps the reader in their current panel instead of always switching to one panel.

@shariquerik #42476 Read
feat framework 2 months ago

Open a shut section the address is standing in

Fixes sidebar section expansion so a section automatically opens when the address points to an item within it, even if keep_closed is set.

@shariquerik #42478 Read
feat framework 2 months ago

Weigh each boot key and log the ones over budget

Implements boot budget checking by logging each key's size and flagging those exceeding the 40 KB budget.

@shariquerik #42482 Read
feat ui-ux 2 months ago

A history entry carries the sidebar it was read in

Fixes back button navigation for items that appear in multiple sidebars by storing which sidebar the page was opened in.

@shariquerik #42491 Read
fix framework 2 months ago

Typecast ref_name and docname

Updates autoincrement doctypes with correct typecasting for ref_name and docname fields.

@sokumon #42477 Read
fix framework 2 months ago

Give parent docs identity to link child table with attach field

Fixes file attachment linking in child table fields by ensuring parent documents have proper identity.

@Bowrna #42163 Read
fix framework 2 months ago

Quote boolean literals so they work as conditions too

Quotes boolean literals in SQL conditions to fix postgres type errors when booleans are used in WHERE clauses.

@Abdeali099 #42409 Read
fix framework 2 months ago

Keep the right column aligned across rows

Fixes list view layout where timestamps, comment counts, and avatars had variable widths, misaligning columns.

@sumitjain236 #42466 Read
fix framework 2 months ago

Duplicate intro messages on first save of new document

Deduplicates intro messages that were being shown multiple times on first document save.

@kaulith #42481 Read
fix framework 2 months ago

CSV conversion of prepared report fails when report has total row

Handles list-format total rows in CSV conversion that was expecting only dict rows.

@kaulith #42411 Read
fix framework 2 months ago

Escape in get_csv_bytes too

Escapes special characters when exporting CSV files to prevent formatting issues with leading characters.

@AarDG10 #42483 Read
fix framework 2 months ago

Translated doctype search repeats rows across pages

Fixes pagination for doctypes with translated fields, which previously repeated rows across pages due to filtering translated values in Python after SQL offset.

@kaulith #41855 Read
fix developer-experience 2 months ago

Add client_secret in blocklist of traceback_sanitizer

Masks client_secret credentials when they appear in error tracebacks to prevent credential leakage.

@AarDG10 #42458 Read
HR 9k 3 updates
fix hr-payroll 2 months ago

Set print_format_for to doctype in standard formats

Makes bundled print formats (Salary Slip variants) visible in the print dropdown by setting the print_format_for field.

@nareshkannasln #5099 Read
fix hr-payroll 2 months ago

Clear unused dates when Is Recurring is toggled

Clears hidden date fields in Additional Salary when toggling recurring mode to prevent false duplicate/overlap validation errors.

@akhtarmohsin #5190 Read
fix hr-payroll 2 months ago

Exclude cancelled Job Offers in JobApplicant.onload

Filters out cancelled job offers from job applicant UI to prevent linking to dead records.

@pratheep-bit #5019 Read
Helpdesk 3.4k 2 updates
fix other-apps 2 months ago

Write portal defaults without saving the whole document

Fixes migration failures by writing portal settings without validating broken link references in unrelated menu rows.

@aerodeval #3746 Read
fix other-apps 2 months ago

Stop mail loops from bounces and autoresponders

Prevents inbound mail loops by screening machine-generated messages and blocking replies to bounces and out-of-office responses.

@aerodeval #3628 Read
Insights 1k 1 update
fix other-apps 2 months ago

Native SQL queries with a CTE fail with "Duplicate query name"

Fixes ibis query compilation which was writing CTEs twice, causing sqlglot to reject duplicate names.

@nextchamp-saqib #1364 Read
p Press 575 3 updates
fix other-apps 2 months ago

Use parsed GitHub url when adding app in new app dialog

Parses GitHub URLs correctly when adding apps to prevent format-related errors.

@siduck #7374 Read
fix other-apps 2 months ago

Allow a pull update on a site with a large database

Enables app pull updates on large databases (108 GB+) without requiring a full physical backup.

@balamurali27 #7366 Read
fix other-apps 2 months ago

Don't archive a site when the archive step was skipped

Prevents accidental deletion of a site's backups and metadata when the archive step fails or is skipped, which was mistakenly treated as success.

@balamurali27 #7373 Read
o Other 10 updates
feat other-apps 2 months ago

Standardize app page metadata

Standardizes document titles and favicons across Suite apps with dynamic, workbook-aware metadata.

@BreadGenie #812 Read
feat other-apps 2 months ago

Retain html formatting when pasting text content

Preserves rich text formatting (lists, inline styles) when pasting between slides instead of stripping to plain text.

@BreadGenie #815 Read
feat other-apps 2 months ago

Scroll table horizontally when columns exceed width

Allows horizontal scrolling of tables when added columns exceed viewport width instead of shrinking all columns.

@Jeesha09 #566 Read
feat ui-ux 2 months ago

Number card target and delta prefix

Adds optional `target` field to show target value and `deltaPrefix` for units in NumberCard; removes per-series emphasis on axis chart hovers.

@nextchamp-saqib #1115 Read
feat other-apps 2 months ago

Introduce Project

Adds a new Project feature to the billing module.

@shadrak98 #298 Read
feat other-apps 2 months ago

QOL sidebar shortcut

Adds Cmd+B keyboard shortcut to toggle the sidebar across the app.

@prathameshkurunkar7 #308 Read
feat other-apps 2 months ago

Storage cluster stage handling

Adds state toggles at every storage cluster stage for better recovery from failed deployment states.

@Aradhya-Tripathi #11 Read
feat other-apps 2 months ago

Ask how far a recurring change reaches

Unifies the dialog for recurring calendar event changes (edit, drag, delete, RSVP) with consistent UI asking whether to modify one instance or the entire series.

@krantheman #809 Read
feat other-apps 2 months ago

Drive the pictures sidebar from the Theme doctype

Makes theme categories configurable via the Theme doctype with Show in Pictures Sidebar and Sidebar Order fields, eliminating hardcoded sidebar lists.

@netchampfaris #2 Read
fix other-apps 2 months ago

Stop task detail blanking on server-scoped tasks

Fixes task detail page going blank for server-scoped tasks by removing undefined route reference.

@sadiqxansari #449 Read

Thursday, September 3

ERPNext 40.6k 17 updates
feat accounting 2 months ago

Contribute the Default Company navigation item kind

First navigation item kind from a non-frappe app; demonstrates that extensibility is first-class with a two-file, one-hook contribution.

@shariquerik #58717 Read
feat accounting 2 months ago

Ship ERPNext's module-primary rail and its module sidebars

Ships one Rail record (20 items) and 18 module Sidebar records (317 rows); ERPNext navigation arrives as JSON with no navigation code.

@shariquerik #58713 Read
fix accounting 2 months ago

Skip zero quantity items in production plan material requests

Backports v16 behavior to v15: zero-quantity rows stay in Production Plan for bin reservation but are skipped when creating Material Requests.

@krishna-254 #58642 Read
fix stock-manufacturing 2 months ago

Allow creating stock closing balances

Non-Administrator users were getting permission failures when generating Stock Closing Balance records.

@krishna-254 #58590 Read
fix stock-manufacturing 2 months ago

Rearrange fields in BOM Operation

fix: rearrange fields in BOM Operation

@rohitwaghchaure #58683 Read
fix accounting 2 months ago

Check read permission on lead in add_lead_to_prospect

The method wasn't checking whether the user could read the lead before converting it to a prospect.

@Shllokkk #58684 Read
fix stock-manufacturing 2 months ago

Prorate landed cost charge into transaction currency

Landed cost charge GL entries were using the entire item net amount instead of the applicable charge when posting in transaction currency.

@ervishnucs #58575 Read
fix accounting 2 months ago

Use company-currency change amount when netting pos gl entries

Multi-currency Sales Invoices were netting POS change amount in invoice currency instead of company currency, producing incorrect GL entries.

@ervishnucs #58599 Read
fix accounting 2 months ago

Include payment deductions in sales/purchase register ledger bal…

Sales Register ledger view incorrectly showed discounted amounts as outstanding customer balance when payment entries posted discounts to Sales Discount accounts.

@ervishnucs #58437 Read
fix stock-manufacturing 2 months ago

Filter cancelled BOMs in BOM Stock Analysis

The BOM selector was including submitted but now-cancelled BOMs.

@krishna-254 #58647 Read
fix accounting 2 months ago

Filter fully ordered items when creating RFQ from Material Request

RFQ creation was copying all items including those fully covered by POs; now filters on pending qty like the PO flow does.

@Shllokkk #58534 Read
fix stock-manufacturing 2 months ago

Use item warehouses in production plan work orders

Work orders from a production plan were using the sub-assembly target warehouse as source for all raw materials instead of respecting each item's defaults.

@Pandiyan5273 #58663 Read
fix accounting 2 months ago

Validate contact email before saving an email campaign

Email campaigns for contacts with no primary email were saving and silently failing to send; now validates email presence first.

@kaulith #58667 Read
fix stock-manufacturing 2 months ago

Subtract stock qty of same-document rows from batch availability

Batch filtering was subtracting transaction-UOM qty from stock-UOM quantities, allowing assignment of batches that can't cover alternate-UOM rows.

@mihir-kandoi #58669 Read
fix stock-manufacturing 2 months ago

Assign batch_no only when the first batch covers the full qty

Auto-pick was assigning a batch that couldn't fulfil the full quantity when qty spanned multiple batches; now leaves batch empty so the auto-created bundle splits it correctly.

@mihir-kandoi #58668 Read
fix stock-manufacturing 2 months ago

Preserve exchange gain loss journals in lcv

Submitting a Landed Cost Voucher was cancelling the exchange gain/loss Journal Entry it was meant to work with.

@Pandiyan5273 #58505 Read
fix accounting 2 months ago

Check write permission in whitelisted document methods

`run_doc_method` was only checking read permission; writes via `db_set`, `db_update`, and direct SQL were accessible to any read-permitted user.

@rohitwaghchaure #58689 Read
Frappe 11k 18 updates
feat ui-ux 2 months ago

Resolve desk v2 navigation into boot

New `frappe/shell/navigation.py` resolves rails and sidebars into boot, implementing the design settled by "Where does desk v2 resolve navigation layers?"

@shariquerik #42399 Read
feat framework 2 months ago

Let an app extend another app's rail, and drop mount_on

One app can now extend another app's rail while keeping its own; resolves the mounting and ordering question for multi-app navigation.

@shariquerik #42404 Read
feat framework 2 months ago

Render every navigation item kind, through the contribution door

All eight Navigation Item Type records now render in AppRail.vue instead of silently dropping seven of them; implements the contribution pathway.

@shariquerik #42425 Read
feat ui-ux 2 months ago

Filter desk v2 navigation on the bucket each item type declares

Builds the single navigation filter designed for "Filter an authored rail"; applies the bucket each item type declares.

@shariquerik #42431 Read
feat ui-ux 2 months ago

Draw the sidebar a linked rail item opens

Renders the sidebar panel that opens when clicking a linked rail item; implements charter point 1 of the rail/sidebar design.

@shariquerik #42430 Read
feat framework 2 months ago

Save a navigation arrangement as anchors, not positions

Desk v2's first user-state write: saves navigation arrangements (which items are pinned/hidden) as anchors rather than screen positions for consistency across devices.

@shariquerik #42410 Read
fix framework 2 months ago

Print format onboarding follow-ups

Print format builder had several follow-up fixes: unified empty-header check, restored letterhead margin in PDF, and copy-from-New-dialog fix.

@iamejaaz #42262 Read
fix framework 2 months ago

Give the IMAP sync rule test account a unique email id

Test was reusing an email already owned by another test account, causing backports to v15 (where email_id is unique on its own) to fail.

@kaulith #42408 Read
fix framework 2 months ago

Changing the file private/public should not throw FilealreadyExists error

fix(file): Changing the file private/public should not throw FilealreadyExists error

@Bowrna #42397 Read
fix framework 2 months ago

Correct typo. in cache invalidation key

User `allowed_in_mentions` changes weren't invalidating the cache because the handler checked the typo'd field name `allow_in_mentions`.

@AarDG10 #42389 Read
fix framework 2 months ago

Populate footer parent_label options on page load

Footer Items' Parent Label select stayed empty on page load and only populated after editing; mirrors the fix already applied to Top Bar Items.

@khushi8112 #41434 Read
fix framework 2 months ago

Open workspace by slug in Workspaces tab

Workspace routing was using raw names instead of slugs, causing lookups to miss and show 404s.

@khushi8112 #41928 Read
fix ui-ux 2 months ago

Apply the module veto to a sidebar addressed at that module

`block_modules` was gating Module items but missing Sidebar items addressed at blocked modules; now applies the veto consistently.

@shariquerik #42436 Read
fix framework 2 months ago

Force render_safe_globals context

Web pages no longer need to parse `exec_safe_globals` — `render_safe_globals` is sufficient for the use case.

@AarDG10 #42386 Read
fix framework 2 months ago

Remove request completely

fix(safe_exec): remove request completely

@AarDG10 #42387 Read
fix ui-ux 2 months ago

Use query builder for contact search

PostgreSQL couldn't execute the Contact link query's MySQL IF function; rebuilt with the query builder to work across databases.

@mihir-kandoi #42376 Read
fix framework 2 months ago

Read app data files as UTF-8, not the locale default

Fixes `UnicodeDecodeError` that blocked all site migrations when running under C/POSIX locales with ASCII encoding.

@gajjug004 #42165 Read
fix framework 2 months ago

Keep json payloads parseable

Ensures JSON payloads remain parseable, preventing data corruption during serialization.

@sokumon #42457 Read
CRM 3.9k 7 updates
fix crm-sales 2 months ago

Dim assignee, timestamp and favourite columns for visited rows

Visited-row dimming was only applied to text columns; now extends to assignee avatar, timestamp, and favourite heart columns, plus adds data patch for existing records.

@Shindhu-Ramaswamy #2767 Read
fix crm-sales 2 months ago

Manual backport of visited records dimming (#2693, #2767)

#2693 was never backported due to a merge commit; manually applied #2693 and #2767 to main-hotfix and fixed a subsequent migrate failure.

@ps173 #2769 Read
feat crm-sales 2 months ago

Add fetch_from support in fields

feat: add fetch_from support in fields

@ps173 #2763 Read
feat crm-sales 2 months ago

Add chart options API and update AddChartModal component

Moves chart definitions from hardcoded frontend to a backend API, providing an extension point for apps to contribute custom dashboard charts.

@trufurs #2416 Read
feat crm-sales 2 months ago

Ship CRM's rail and its four doctype sidebars

CRM's rail is now authored in source as standard rows instead of derived at runtime; implements the doctype-primary half of the navigation design.

@shariquerik #2771 Read
fix crm-sales 2 months ago

Prevent IntegrityError when syncing items without a standard rate

Item sync was writing NULL to the NOT NULL currency column when an item had no Item Price; now coerces the rate with `flt()`.

@Kie70 #2738 Read
fix crm-sales 2 months ago

Make website column clickable in Leads and Deals list views

Website field now opens URLs in a new tab instead of showing as plain text.

@Shindhu-Ramaswamy #2749 Read
Helpdesk 3.4k 2 updates
fix other-apps 2 months ago

Dedupe vue-router and dompurify for the linked @framework/ui

Building against frappe/ui source was failing because vue-router wasn't installed next to that source; added deduplication.

@aerodeval #3743 Read
fix other-apps 2 months ago

Move agents off an agent status when it is disabled

Disabling an HD Agent Status left agents stuck on it because the picker hid disabled statuses; now auto-moves them to the default status.

@aerodeval #3433 Read
Insights 1k 1 update
fix other-apps 2 months ago

Read the condition off the whole expression

Drill down on conditions with commas was parsing only up to the first comma; switched to a full-expression parser that respects nesting.

@nextchamp-saqib #1362 Read
p Press 575 3 updates
feat other-apps 2 months ago

Find sites with outdated framework in n days

Introduces a daily audit job that snapshots the aggregate count of sites with outdated framework versions.

@ssiyad #7360 Read
feat other-apps 2 months ago

Warning for outdated framework version

Shows a banner in bench and site dashboards if the Frappe Framework is more than 30 days old.

@ssiyad #7357 Read
fix other-apps 2 months ago

Print each site that loses its rate limit

The rate-limit removal patch was silent on success; now prints the site name after each successful config update.

@balamurali27 #7359 Read
o Other 15 updates
fix other-apps 2 months ago

Align writer and sheets navbars

Adds the shared app switcher, theme control, and account action to Writer and Sheets; aligns navbar chrome with Slides and adds editable Sheets breadcrumbs.

@BreadGenie #807 Read
feat other-apps 2 months ago

Better password set

feat: Better password set

@Aradhya-Tripathi #445 Read
feat other-apps 2 months ago

Build golden images

feat: Build golden images

@Aradhya-Tripathi #10 Read
feat other-apps 2 months ago

Atlas controller - Phase 1

Bare metal provisioning with Scaleway and Route53; adds server provider and DNS provider abstraction, HTTP proxy build, and automates wireguard + metal daemon setup.

@tanmoysrt #182 Read
feat other-apps 2 months ago

Warm snapshots + image promotion

VM snapshots, promotion to images, and cloning from warm snapshots; refreshes VM metadata on clone.

@the-bokya #184 Read
feat other-apps 2 months ago

Feat/timetable generation

Automated timetable generation for schools; administrators describe rules once and the generator builds conflict-free weeks, replicates across terms as Course Schedule records, and reports unplaceable items.

@EmilioCliff #491 Read
fix other-apps 2 months ago

Keep the broken-file-log compensation test off stderr

Test captured stderr printing, which made CI runners look like failures even though the test passed; now redirects stderr to a StringIO.

@s-aga-r #806 Read
fix other-apps 2 months ago

Time edits the event modal wouldn't take

Three issues: recurring event times were overwritten on save, DST transitions weren't handled, and date validation was missing.

@krantheman #805 Read
fix other-apps 2 months ago

Delete the site's push subscriptions when a user is disabled

Disabling a user now cleans up push subscriptions on the mail server so they can't accumulate orphaned entries.

@s-aga-r #811 Read
fix other-apps 2 months ago

Let the account switcher keep its rows

The account submenu closed when moving the pointer toward the list; fixed by using a proper list component instead of hand-built slots.

@krantheman #810 Read
fix other-apps 2 months ago

Self-heal push subscriptions and seed missing sync state

Mail realtime wasn't working because push subscriptions were never created, only renewed; added auto-creation and sync state seeding.

@krantheman #727 Read
fix other-apps 2 months ago

Triage that reaches the end of a list keeps going

Triaging the last thread in a list closed the reading pane and deselected it; triaging from the bottom now wraps to the top to keep the flow going.

@krantheman #803 Read
fix other-apps 2 months ago

Actions that stopped at a removed toast call

Mail and Calendar actions were calling the removed `toast.removeAll()` from a frappe-ui bump; replaced with guard checks.

@krantheman #802 Read
fix other-apps 2 months ago

Restore the mobile gap above a poll in the timeline

Polls sat flush against post bodies on mobile; restored the mobile padding that was inadvertently removed.

@netchampfaris #565 Read
fix other-apps 2 months ago

Repayment schedule dates stop advancing when schedule type is blank

When schedule type was empty, `get_next_payment_date` was returning the same date every loop iteration instead of advancing.

@suparikoli #1383 Read

Wednesday, September 2

ERPNext 40.6k 6 updates
feat accounting 2 months ago

Track supplier quotation order status

Supplier Quotation now tracks whether items have been ordered, reusing the status field and adding ordered_qty.

@mihir-kandoi #58572 Read
fix accounting 2 months ago

Round party balances to currency precision in Trial Balance for Party

GL balances rounded to currency precision eliminate floating-point residuals that bypassed the Exclude Zero Balance filter.

@Shllokkk #58607 Read
fix stock-manufacturing 2 months ago

Handle BOM price list currency update

New BOMs no longer error when selecting an item triggers price list currency updates.

@Pandiyan5273 #58638 Read
fix stock-manufacturing 2 months ago

Ignore cancelled batch entries in valuation

Batch quantity calculations during manufacture exclude cancelled outward entries.

@Pandiyan5273 #58659 Read
fix accounting 2 months ago

Add permission checks on payment entry whitelisted methods

fix: add permission checks on payment entry whitelisted methods

@diptanilsaha #58643 Read
fix accounting 2 months ago

Add missing perm checks on various whitelisted methods

Enforce permission checks on multiple whitelisted methods that were previously bypassed.

@diptanilsaha #58652 Read
Frappe 11k 17 updates
feat framework 2 months ago

More improvements for the editor

Sidebar editor now supports item deletion and direct app shipping.

@sokumon #42291 Read
feat ui-ux 2 months ago

Author Rail and Navigation Item on desk-v2

New Rail and Navigation Item doctypes for desk v2's navigation model.

@shariquerik #42352 Read
feat ui-ux 2 months ago

Extend Sidebar for desk v2 with an address, layers and Navigation Item rows

Desk v2's sidebar gains link_doctype, layers, and Navigation Item row support.

@shariquerik #42365 Read
fix framework 2 months ago

Better message for migrate

Framework errors during migrate now display less scary messages.

@sokumon #42338 Read
fix framework 2 months ago

Make RQ job id creation idempotent

fix: make RQ job id creation idempotent

@sagarvora #42351 Read
fix framework 2 months ago

Use postgres-compatible quoting in SQL strings and aliases

Postgres no longer rejects double-quoted string literals and aliases; uses SQL-standard single quotes.

@Abdeali099 #42290 Read
fix framework 2 months ago

Cast boolean values to strings for PostgreSQL compatibility

fix: cast boolean values to strings for PostgreSQL compatibility

@Abdeali099 #42129 Read
fix framework 2 months ago

Use Redis heartbeat for process health

Containerized deployments now correctly detect scheduler status via Redis heartbeat instead of file locks.

@kaulith #40866 Read
fix framework 2 months ago

Allow export when report exceeds max_report_rows

Reports over the row limit can now be exported (which the UI recommends).

@gajjug004 #42250 Read
fix framework 2 months ago

Rounding inflates exactly representable values at high precision

Float rounding epsilon now scales with precision to prevent inflating exact values.

@kaulith #42273 Read
fix framework 2 months ago

Calendar all day fallback

fix: calendar all day fallback

@nishkagosalia #41439 Read
fix framework 2 months ago

Render the doc passed by the caller

Print rendering now handles unsaved preview documents correctly via `frappe.get_print()`.

@Pandiyan5273 #42369 Read
fix framework 2 months ago

Filter User fields based on perms instead of ret. unconditionally

User fields now respect normal permission checks instead of returning all fields regardless of access.

@AarDG10 #40248 Read
fix framework 2 months ago

Make `after_response` callbacks reliable

One failing callback no longer skips database cleanup; failures are logged with tracebacks.

@sagarvora #42371 Read
fix ui-ux 2 months ago

Ignore reindexed uids when building IMAP sync rule

IMAP sync handles UIDVALIDITY changes without getting stuck on invalid sync requests.

@kaulith #42092 Read
fix framework 2 months ago

Allowed file extensions setting not enforced for files with an unknown mimetype

File upload validation now checks extensions directly instead of relying on mimetype table lookups, preventing unintended accepts when OS/Python versions don't recognize extensions.

@kaulith #42375 Read
fix framework 2 months ago

Harden public signup against enumeration and abuse

Rate limit public signups to 500 per IP per minute and return generic failure messages to prevent email enumeration.

@barredterra #38339 Read
CRM 3.9k 5 updates
fix crm-sales 2 months ago

Email template selection break

fix: email template selection break

@ps173 #2753 Read
fix crm-sales 2 months ago

Allow custom values for autocomplete fields

Combobox fields now allow custom values like Frappe's Autocomplete field.

@Anish59312 #2675 Read
fix crm-sales 2 months ago

Bulk edit reports failures and supports lost reason

Bulk edit now reports which records failed to save and supports required lost reason on status changes.

@asimdelvi #2733 Read
fix crm-sales 2 months ago

Prevent 'Document not found' error flash on lead delete

Delete success is now silent instead of showing a misleading error before navigation.

@Shindhu-Ramaswamy #2726 Read
fix crm-sales 2 months ago

Show filter date fields in the system date format

Date/date-range filters now display in the configured system date format.

@michellealva #2756 Read
Helpdesk 3.4k 2 updates
fix other-apps 2 months ago

Blank empty states, always-visible Update Account, false typing indicator

Settings screens (Agents, Email Accounts, Saved Replies, Field Dependencies) now render empty states instead of blank.

@aerodeval #3741 Read
fix other-apps 2 months ago

Avoid improper reply box closing for Grammarly suggestions

Grammarly's suggestion card no longer triggers reply box closure.

@aerodeval #3742 Read
p Press 575 2 updates
fix other-apps 2 months ago

Strip unwanted fields from save

Dashboard forms no longer reject saves over computed fields returned by the resource read.

@ssiyad #7348 Read
fix other-apps 2 months ago

Add error states for notif panel & server name in incidents card

fix(ui): Add error states for notif panel & server name in incidents card

@siduck #7351 Read
o Other 26 updates
feat other-apps 2 months ago

Apply dynamic rate limits to all public endpoints

All public meeting endpoints (join, approval, etc.) protected with configurable rate limits seeded on install.

@dankgarlic1 #734 Read
feat other-apps 2 months ago

Delete and a legible title in the event modal

Event modal gains delete from a ⋯ menu and editable title with visual affordance.

@krantheman #794 Read
feat other-apps 2 months ago

Project recorded shared stage

Record the ordered shared stage from SFU; gate FFmpeg capture on frame commits and media attachment.

@BreadGenie #791 Read
feat other-apps 2 months ago

Separate recorder health and admission

Recorder deployment health separate from atomic admission decisions with typed policy/capacity/recovery contracts.

@BreadGenie #798 Read
feat other-apps 2 months ago

Left right layout

feat: left right layout

@TITANiumRox #2239 Read
fix ui-ux 2 months ago

Stop the delete shortcut eating Backspace

Popover isOpen state no longer swallows Backspace/Delete keypresses from the page.

@krantheman #1114 Read
fix other-apps 2 months ago

Broken expresisons in custom field

fix: Broken expresisons in custom field

@deepeshgarg007 #95 Read
fix other-apps 2 months ago

Give composer errors and checkbox options room to breathe

fix(polls): give composer errors and checkbox options room to breathe

@adityapradhan10 #552 Read
fix other-apps 2 months ago

Vote in a single-answer poll with radios

Single-answer polls now render radio buttons instead of checkboxes.

@netchampfaris #564 Read
fix other-apps 2 months ago

Table toolbar, header columns, click-to-select, wrap and auto-fit

Table toolbar unified; adds cell fill/border, text color, font selector, header controls.

@bvnaik05 #557 Read
fix other-apps 2 months ago

Delay tooltips for two seconds

Tooltip hover delay now consistent across toolbar and teleported popovers.

@bvnaik05 #583 Read
fix other-apps 2 months ago

Label elbow corner style and provide clear tooltips

fix: label elbow corner style and provide clear tooltips

@bvnaik05 #593 Read
fix other-apps 2 months ago

Render fill and border on text box shapes

fix: render fill and border on text box shapes

@bvnaik05 #594 Read
fix other-apps 2 months ago

Mirror shape rotation and connector geometry in SVG thumbnails/exports

fix: mirror shape rotation and connector geometry in SVG thumbnails/exports

@bvnaik05 #591 Read
fix other-apps 2 months ago

Compact Fill and Border popovers

fix: compact Fill and Border popovers

@bvnaik05 #586 Read
fix other-apps 2 months ago

Smooth laser trail spine points

Laser pointer trails eased to follow fluid gestures instead of hand jitter.

@bvnaik05 #584 Read
fix other-apps 2 months ago

Smooth freehand stroke capture

Freehand strokes retain intended shape by filtering low-amplitude samples.

@bvnaik05 #585 Read
fix other-apps 2 months ago

Drop the 10 MB cap on inserted images

Removed client-side image size check; limits now enforced below the app layer.

@bvnaik05 #558 Read
fix other-apps 2 months ago

Empty-canvas nudge stays gone once a tool is armed

fix: empty-canvas nudge stays gone once a tool is armed

@bvnaik05 #565 Read
fix other-apps 2 months ago

Language migration and sync race

fix: language migration and sync race

@ps173 #14 Read
fix other-apps 2 months ago

Show meet avatar fallback in join/leave toasts

Join/leave notifications now display themed avatar initials instead of a generic user icon.

@BreadGenie #799 Read
fix other-apps 2 months ago

Crash when amount paid check runs before payable amount is set

Loan repayment validation moved after payable amount is set to prevent crashes on "Validate Payments" enabled products.

@Nihantra-Patel #1415 Read
fix other-apps 2 months ago

A mail to yourself reads once in its thread

Self-addressed messages no longer appear twice (Sent copy and delivery copy collapsed into one).

@krantheman #796 Read
fix other-apps 2 months ago

A scroll never pages the thread

Swipe-to-page now tracks touch movement along its path instead of just endpoints, preventing accidental thread pagination during scroll.

@krantheman #797 Read
fix other-apps 2 months ago

Stop double charge debit on write off recovery payment account

Write-off recovery payments no longer double-charge the bank account when covering a charge with its own invoice.

@Nihantra-Patel #1417 Read
fix other-apps 2 months ago

Verify Digio webhook using X-Digio-Checksum header

Digio webhooks now verified with correct HMAC-SHA256 checksum header instead of rejected plaintext secret.

@Nihantra-Patel #5 Read

Tuesday, September 1

ERPNext 40.6k 23 updates
feat stock-manufacturing 2 months ago

Valuation method for BOM secondary items

BOM Secondary Item gets a Valuation Type select with three modes: % of FG Cost (existing), Valuation Rate (pre-v16 method: bin-average valuation), and AQ (average qty).

@mihir-kandoi #58431 Read
feat accounting 2 months ago

Production plan visualizer page and summary report fix

Fixes Production Plan Summary report (finished good rows emitted after work order rows, Order Qty showed remainder chain) and adds production plan visualizer page.

@rohitwaghchaure #58541 Read
feat accounting 2 months ago

Add multi-currency support to Blanket Orders

Blanket Orders now support transaction currency, exchange rates, and selling/buying price lists with price list currency conversion.

@mihir-kandoi #58472 Read
feat accounting 2 months ago

Enhance tree view functionality for accounts and cost centers

Builds on Frappe tree redesign with accounting-specific actions: account-number badge, freeze indicator, row actions for Add Child, View Ledger, Convert, Move, Delete.

@sumitjain236 #58520 Read
feat accounting 2 months ago

Close individual transaction items

Adds a `closed` flag on Purchase Order, Sales Order, Delivery Note and Purchase Receipt item tables to close individual rows instead of the whole document.

@mihir-kandoi #57596 Read
fix accounting 2 months ago

Skip tax addition for invoice created from opening invoice tool

Opening invoices automatically fetched taxes when enabled in Account Settings, but opening entries are inclusive and should not auto-add.

@ljain112 #58483 Read
fix accounting 2 months ago

Restore isolated loyalty and subcontracting tests

Loyalty Program test module failed in isolated process; Skip-transfer Manufacture Stock Entries replaced Work Order item warehouses incorrectly.

@mihir-kandoi #58587 Read
breaking accounting 2 months ago

Prevent update_doctypes from exporting files

Utility test called update_doctypes against real schema, saving standard child DocTypes to the app checkout and breaking later migrations.

@mihir-kandoi #58589 Read
fix accounting 2 months ago

Translate label in party validation

Party validation label in error messages was not wrapped for translation.

@barredterra #58624 Read
fix stock-manufacturing 2 months ago

Widen item name in stock projected qty

Stock Projected Qty report allocated only 100 pixels to Item Name while Description had 200, truncating longer names.

@Pandiyan5273 #58598 Read
fix stock-manufacturing 2 months ago

Correct BOM sorting and stock translations

BOM item sorting used an invalid comparator for equal item codes; two stock validation messages had formatting issues preventing translation or silently discarding arguments.

@Pandiyan5273 #58605 Read
fix accounting 2 months ago

Keep closed rows out of Update Items

Closed rows remained editable in Update Items dialog and reachable via the whitelisted method; server now excludes them.

@mihir-kandoi #58609 Read
fix stock-manufacturing 2 months ago

Handle duplicate root BOM items

Adding the same raw material twice under a root BOM Creator raised `StopIteration` instead of a duplicate validation error.

@mihir-kandoi #58614 Read
fix stock-manufacturing 2 months ago

Compare updated item quantities in stock UOM

Update Items compared quantities stored in different UOMs, rejecting valid updates or accepting invalid reductions when conversion factors differed.

@mihir-kandoi #58603 Read
fix accounting 2 months ago

Correct reservation and pick list quantities

Only the final batch had its delivered quantity updated; picked quantities spanning multiple locations were deducted repeatedly; allocated serial numbers were not removed from leftover locations.

@Pandiyan5273 #58613 Read
fix accounting 2 months ago

Do not map the same row twice in "Get Items From"

Selecting the same Delivery Note twice in a Sales Invoice added two sets of lines for the same rows; button now enforces idempotence.

@barredterra #58617 Read
fix accounting 2 months ago

Explain missing fields when loading party details or taxes

When Company, party, or date was missing, the form cleared user input and showed a vague "Mandatory" message; now explains what was cleared and what must be set first.

@barredterra #58627 Read
fix accounting 2 months ago

Add permission checks on get_invoices

POS invoice endpoint was accessible without permission checks.

@diptanilsaha #58591 Read
fix accounting 2 months ago

Add permission checks on get_available_payment_schedules

Payment schedule endpoint lacked permission validation.

@diptanilsaha #58588 Read
fix accounting 2 months ago

Check read permission on source in create_duplicate_project

Project duplication did not verify read access to the source project.

@Shllokkk #58325 Read
fix accounting 2 months ago

Add missing permission validation on get_contract_template

CRM contract template endpoint was accessible without permission checks.

@diptanilsaha #58621 Read
fix accounting 2 months ago

Validate POS Settings invoice and search fields on the server

API requests could store invalid fields or excluded items in POS Settings, bypassing browser validation.

@diptanilsaha #58611 Read
fix stock-manufacturing 2 months ago

Validate serial batch bundle company

A stock voucher could retain a Serial and Batch Bundle from a different company after the voucher company was changed.

@Pandiyan5273 #58608 Read
Frappe 11k 12 updates
feat ui-ux 2 months ago

Cleaner tree view UI

Tree view redesign with improved layout and visual hierarchy.

@sumitjain236 #42189 Read
fix framework 2 months ago

Add connect timeout for requests to Frappe Cloud

Frappe Cloud integration lacked timeouts, allowing network issues to block gunicorn workers indefinitely.

@tanmoysrt #42254 Read
fix framework 2 months ago

Log lock path on filelock timeout

Diagnostic log in `filelock()` used a plain string, logging literal `Filelock: Failed to aquire {lock_path}` instead of the actual path.

@kaulith #42162 Read
fix framework 2 months ago

Apply field level permission on attachments in right pane

Field-level permissions were not applied to attachments in the right pane.

@Bowrna #42292 Read
fix framework 2 months ago

Add link for partner discovery

Billing card now links to partners page.

@sokumon #42298 Read
fix framework 2 months ago

Make "rows selected" toast readable in dark mode

Datatable selection toast was hard to read in dark mode.

@KerollesFathy #42191 Read
fix ui-ux 2 months ago

Disabled reports still appear in desk search

Disabled Reports appeared in Desk search, List View dropdowns, and recent routes when linked through Custom Roles or with no roles.

@kaulith #42188 Read
fix framework 2 months ago

2FA login says the code was emailed when nothing was sent

`send_token_via_email` returned `True` even when `frappe.sendmail` did not queue; login page showed false success on unsubscribed or muted emails.

@kaulith #42183 Read
fix framework 2 months ago

Don't advise deleting the lock file on lock timeout

Lock timeout message incorrectly told users to delete the file; deleting while held allows concurrent database operations.

@kaulith #42164 Read
fix framework 2 months ago

Show print format field only for query/script reports

Print Settings dialog rendered Print Format field in doctype report view and treeview where it does not apply.

@Shllokkk #42253 Read
fix framework 2 months ago

Escape docname used as default link text in get_form_link

Removes dependency on docname validation by escaping fallback link text.

@kaulith #42159 Read
fix framework 2 months ago

Add roles table to SMS Settings

System Managers can now configure which roles are allowed to send SMS.

@AarDG10 #42285 Read
HR 9k 3 updates
feat hr-payroll 2 months ago

Add icons for Update Progress and Mark as Completed

Goal tree row actions now display icons for Update Progress and Mark as Completed.

@sumitjain236 #5181 Read
fix hr-payroll 2 months ago

False Exchange Gain/Loss on Expense Claims in base currency

Expense Claims booked false gains/losses when linked advance's exchange rate was missing/zero; now skips calculation when no real rate exists.

@iamkhanraheel #5158 Read
fix hr-payroll 2 months ago

Update system date format for password in salary slip

Date fields in password policy template stringified as ISO regardless of System Settings format; employee told password is their date of birth in dd-mm-yyyy tries 08-05-1990 and cannot open PDF.

@nareshkannasln #5092 Read
CRM 3.9k 4 updates
fix crm-sales 2 months ago

Dim visited deals/leads in list view using frappe's _seen field

Dims deal and lead rows in list view once opened, using Frappe's built-in `_seen` tracking instead of client-side store.

@Shindhu-Ramaswamy #2693 Read
fix crm-sales 2 months ago

Wrap hardcoded user-facing strings in __() for translation

Error banners, modal fallbacks, and validation messages on Deal/Lead pages were not wrapped for translation extraction.

@Kie70 #2740 Read
fix crm-sales 2 months ago

Typos in user-facing messages and parameter names

Fixed intergration→integration (Exotel error), charaters→characters, seperate→separate, and extention→extension parameter.

@Kie70 #2737 Read
fix crm-sales 2 months ago

Cannot read properties of null in quickfilters

Quick filters failed on cold list-view loads when list.params was null.

@shahzeelahmed #2731 Read
Helpdesk 3.4k 1 update
fix other-apps 2 months ago

Download attachments the browser cannot preview

Attachments with unrenderable mime types (`.dwg`, `.avi`) got stuck in preview dialog without download links; preview eligibility is now an explicit allowlist.

@aerodeval #3739 Read
Insights 1k 5 updates
feat other-apps 2 months ago

Migrate v2 dashboards to v3 workbooks

Adds a migrator copying v2 dashboards into new v3 workbooks; v2 queries, expressions, charts and dashboards are translated, with post-migration validation comparing results.

@nextchamp-saqib #1351 Read
fix other-apps 2 months ago

Give the SQL column operation the same contract as develop

Migrator wrote `sql_column` field but develop reworked it to `raw_sql`, causing data loss on upgrade.

@nextchamp-saqib #1358 Read
fix other-apps 2 months ago

Finish the sql_column rename to raw_sql

Tests still referenced the old `sql_column` field name after rename to `raw_sql`.

@nextchamp-saqib #1359 Read
fix other-apps 2 months ago

Carry a SQL column expression through an ibis query

Migrator writes `sql_column` operation for v2 constructs; ensures the operation contract matches develop so columns are not lost on upgrade.

@nextchamp-saqib #1355 Read
fix other-apps 2 months ago

Report failures and rerun script queries on input changes

Script query failures were not published to the Logs panel; Force Run and variable changes did not rerun due to persistent code cache.

@nextchamp-saqib #1354 Read
p Press 575 3 updates
fix other-apps 2 months ago

Clamp MSS

MSS clamping for NAT to prevent fragmentation.

@ssiyad #7343 Read
fix other-apps 2 months ago

Say drop bench, not archive bench

Bench action menu was the only place that said "archive" instead of "drop" like other destructive actions.

@balamurali27 #7345 Read
fix other-apps 2 months ago

Fix TypeError in OCI attach_to_firewall

Virtual machine OCI attachment had a type error.

@tanmoysrt #7344 Read
o Other 23 updates
breaking ui-ux 2 months ago

Pre-tag surface trims, the toast contract, and the type errors that reach consumers

Eight breaking changes for 1.0.0 tag: `ThemeSwitcher` moves to experimental, DatePicker stops re-exporting utils, `Button` drops exposed `rootRef`, `HoverCard` declares side/align/portalTo, Toast compat shims removed, Toast `description` becomes required.

@netchampfaris #1110 Read
feat other-apps 2 months ago

Multi-company India Payroll

Adds multi-company mode to Payroll Settings with a child table holding statutory registration details per company, supporting multiple ESIC employer codes and EPF establishment codes.

@deepeshgarg007 #88 Read
feat other-apps 2 months ago

Pre-filled default reminders, all-day alert fixes

New events open with default reminder pre-filled as an editable row; all-day swaps respect defaults; flipping All Day swaps an untouched row between defaults.

@krantheman #776 Read
feat other-apps 2 months ago

Refactor HTTP Proxy

HTTP proxy implementation refactored with token-authenticated control endpoints for maps, certificates, health, readiness, and targeted PATCH/DELETE operations for site and custom-domain mappings.

@tanmoysrt #175 Read
feat other-apps 2 months ago

Restrict cross-tenant access to privileged VMs

Adds controller-managed privileged VM whitelist for tenant 0, permitting cross-tenant traffic only when either endpoint is whitelisted.

@tanmoysrt #176 Read
feat other-apps 2 months ago

Replace LVM with ZFS — snapshots, resize, restart

Storage infrastructure refactor from LVM to ZFS.

@the-bokya #180 Read
feat other-apps 2 months ago

Better field mapping for actions and support for all WhatsApp languages

WhatsApp integration improvements for field mapping and language support.

@ps173 #11 Read
feat other-apps 2 months ago

Add Frappe app scaffold at repo root

Scaffolds atlas Frappe app with monorepo coding and documentation guidance.

@tanmoysrt #181 Read
feat other-apps 2 months ago

Lay the submission details page out as a ledger

Outbox submission details redesigned as one narrow column with subject, merged delivery state, state actions, activity list, and message facts.

@s-aga-r #774 Read
feat other-apps 2 months ago

Make the undo send period configurable per user

User Settings gets a Compose section with `undo_send_period` select (5, 10, 20, 30 seconds, default 5).

@s-aga-r #769 Read
feat other-apps 2 months ago

Add shortcuts for undo send, schedule send and the outbox

Cmd/Ctrl+Shift+Enter opens Schedule Send; Cmd/Ctrl+Z undoes sent mail while server holds it.

@s-aga-r #770 Read
feat other-apps 2 months ago

Separate recording budgets and storage reservations

Adds explicit Drive storage reservations for recording budgets, growing them from durable cumulative segment progress.

@BreadGenie #772 Read
feat other-apps 2 months ago

Version recording contracts

Versions recording commands, callbacks, browser lifecycle, and Recording Grant proof seams with immutable v1 semantic vectors.

@BreadGenie #777 Read
feat other-apps 2 months ago

Finalize recording artifacts durably

Adds durable Frappe finalization state and authenticated status protocol for recording artifacts, making artifact validation, Drive publication and owner notifications recoverable and idempotent.

@BreadGenie #779 Read
feat other-apps 2 months ago

Event reminders that reach the browser

Calendar alerts now publish a realtime event to open suite tabs and become toasts with an Open action plus system notifications when permitted.

@krantheman #775 Read
fix other-apps 2 months ago

Fix Restore PF wage aggregation in EPF register

Version-16-hotfix merge into develop left `_aggregate_salary_detail` in half-merged state with undefined `company_by_slip` references, causing NameError on every call.

@deepeshgarg007 #92 Read
fix other-apps 2 months ago

Give the mail actions menu its options back

Mail ⋯ menu showed "No options"; frappe-ui menu groups changed to `{ group, options }` but code still used `items` key.

@krantheman #771 Read
fix other-apps 2 months ago

Keep a selected image ring under the pinned author row

Full-width image selection ring in discussions scrolled above and was visible behind the pinned author row; now masked with z-index.

@netchampfaris #563 Read
fix other-apps 2 months ago

Tolerate the root-redirect race in open_root

E2E test `test_logs_into_admin` failed intermittently with navigation interruption race; added tolerance for root → /sites redirect.

@badal8381 #428 Read
fix other-apps 2 months ago

Uploaded image overwrites an earlier one with the same filename

Pasted clipboard images all saved as `image.png`, with WebP versions overwriting previous images to the same URL; now generates unique names via `generate_file_name`.

@kaulith #751 Read
fix other-apps 2 months ago

Preserve active media attachments

Media element manager replaced unchanged srcObject streams after 60 seconds, interrupting playback with brief black frames on routine Vue updates.

@BreadGenie #780 Read
fix other-apps 2 months ago

Keep the drafts list in the doctype store

New drafts did not appear in the list and deleted drafts persisted until page reload; moved bare useCall into listStore for sync.

@netchampfaris #561 Read
fix other-apps 2 months ago

Stop failing a publish over an edit that arrived mid-save

User could not publish a draft on first attempt; post body never reached the server and publication refused to proceed.

@netchampfaris #562 Read

Monday, August 31

ERPNext 40.6k 4 updates
fix accounting 2 months ago

Work Order picks wrong Delivery Date when Sales Order has the same item in multiple rows

Backport to version-16-hotfix.

@Henil666 #58526 Read
fix accounting 2 months ago

Work Order picks wrong Delivery Date when Sales Order has the same item in multiple rows

Backport to version-15-hotfix.

@Henil666 #58527 Read
fix stock-manufacturing 2 months ago

Use packed row delivery date

Work Orders for packed items now correctly pick delivery dates from their corresponding Sales Order rows instead of the first matching item, fixing wrong date assignments when the same item appears multiple times.

@mihir-kandoi #58568 Read
fix accounting 2 months ago

Scoping whitelisted methods output to projects and timesheets that are accessible to users

Restricts whitelisted method output to user-accessible projects and timesheets, preventing unauthorized data exposure.

@diptanilsaha #58267 Read
Frappe 11k 3 updates
feat ui-ux 2 months ago

Address every doctype under every prefix, with a module segment

Moves slug table out of boot to serve per-bench routing with module-name mapping, allowing doctypes to be addressed under every prefix via a module segment.

@shariquerik #42277 Read
fix framework 2 months ago

Enforce one primary contact per party

Prevents multiple contacts from being marked as primary on the same party, eliminating ambiguity in transaction contact selection.

@Pandiyan5273 #42219 Read
fix framework 2 months ago

Don't break job system on invalid workers config

Guards queue timeout retrieval to fall back to defaults instead of crashing when workers config is malformed, preventing entire background job system failure.

@iamejaaz #42104 Read
HR 9k 1 update
feat hr-payroll 2 months ago

Copy applicant data when creating an Employee

Creating an Employee from a Job Applicant now uses mapped document creation, copying name, email, phone, designation, salary currency, and job opening details instead of opening a blank form.

@barredterra #5101 Read
p Press 575 1 update
fix other-apps 2 months ago

Permission error on toggle

Adds missing editable field declaration so users can enable/disable firewalls without permission errors.

@ssiyad #7341 Read
o Other 5 updates
feat other-apps 2 months ago

Private multicast network mesh

Establishes a private multicast network mesh with a reserved tenant ID for cross-IP connectivity on private networks.

@tanmoysrt #167 Read
feat other-apps 2 months ago

Add unicast discovery relay

Adds a discovery relay for environments without multicast support, forwarding WHO_HAS and NOW_HERE messages over UDP unicast to configured peers with automatic reload and logging.

@tanmoysrt #169 Read
feat other-apps 2 months ago

Make recording startup durable

Persists recorder startup milestones before recording begins and replays/retries startup callbacks until capture launch is acknowledged.

@BreadGenie #762 Read
feat other-apps 2 months ago

Recover recording interruptions

Recovers transient FFmpeg capture failures within a fixed 60-second recovery window, persisting omission bounds, callbacks, and retry state; shows participants the interrupted state and recovery countdown.

@BreadGenie #764 Read
fix other-apps 2 months ago

Advertise routable local SFU address

Respects WebRTC bind address in development and advertises the detected local IPv4 for local media transport.

@BreadGenie #760 Read

Sunday, August 30

ERPNext 40.6k 2 updates
fix accounting 2 months ago

Load available serial no report

Fixed inventory-dimension helper referencing wrong report name, which left filters undefined. Backports: [#58561](https://github.com/frappe/erpnext/pull/58561), [#58562](https://github.com/frappe/erpnext/pull/58562)

@Pandiyan5273 #58558 Read
fix accounting 2 months ago

Added permission checks on multiple payment entry whitelisted methods

Added permission checks on multiple payment entry whitelisted methods

@diptanilsaha #58555 Read
Frappe 11k 2 updates
feat ui-ux 2 months ago

Add ConditionBuilder, a nested and/or condition editor

New UI component for building nested boolean condition trees, built on Filter's operator and value-control logic.

@raizasafeel #41784 Read
fix framework 2 months ago

Calendar view breaks for users in a different timezone than the system

Converts date range explicitly: start to start-of-day, end keeps its time to avoid excluding records on the last day. Backports: [#42255](https://github.com/frappe/frappe/pull/42255), [#42256](https://github.com/frappe/frappe/pull/42256)

@kaulith #42251 Read
LMS 3.3k 1 update
feat other-apps 2 months ago

Quiz proctoring with violation tracking

Instructors can enable proctoring per quiz and set violation tolerance; learner camera is monitored during attempt with full event history for review.

@pateljannat #2659 Read
Insights 1k 1 update
feat other-apps 2 months ago

Draw a reference line where the data says

Reference lines can now follow plotted data (average, median, min, max) instead of only fixed values, and update with filters or new periods.

@nextchamp-saqib #1349 Read
o Other 13 updates
fix other-apps 2 months ago

Litmus prepare opts the user in; matcher handles CR lines

WebDAV compliance setup now creates Drive Settings with webdav_enabled; ledger matcher handles carriage-return progress lines.

@s-aga-r #752 Read
feat other-apps 2 months ago

Bulk-add members with a searchable picker

Replaced single-person picker with searchable multi-select list and "add everyone" one-click for communities with hundreds of members.

@netchampfaris #559 Read
fix other-apps 2 months ago

Add currency details for Georgia in countryInfo.json

Added missing `currency` and `currency_name` fields; fixed `currency_symbol`.

@demonno #1447 Read
fix other-apps 2 months ago

Fix horizontal scroll, off-center page, and dynamic rescaling (ReportPrintView)

Page preview had horizontal clipping, was offset right, and scale didn't update on window resize.

@the-narwhal #1511 Read
fix other-apps 2 months ago

Foreign currency invoices incorrectly marked as "Partly Paid" on submit

Payment status checked were comparing base currency amounts instead of invoice currency amounts.

@the-narwhal #1508 Read
fix other-apps 2 months ago

General Ledger Ref Name filter dropdown empty & Accounting Entries navigation broken

General Ledger Ref Name filter dropdown empty & Accounting Entries navigation broken

@vishram2997 #1497 Read
fix other-apps 2 months ago

Link field search stops working after clearing selection

Component cached database results; clearing the field didn't invalidate cache, so subsequent searches returned stale results.

@willneill #1459 Read
breaking other-apps 2 months ago

German translations broken by corrupted CSV quoting

Three lines had mismatched quotes breaking RFC 4180 parser; fixed quoting to restore German translations.

@willneill #1458 Read
fix other-apps 2 months ago

SalesQuote list view shows 'Paid' status incorrectly

Switched from invoice status column (which shows payment states) to document status, and removed misleading outstanding amount column.

@willneill #1457 Read
fix other-apps 2 months ago

Force Latin digits in number formatting for all locales

Arabic locales defaulted to Arabic-Indic numbering; now forced to Latin digits globally.

@willneill #1452 Read
fix other-apps 2 months ago

Sum outstanding amounts across all references in payment validation

Multiple invoice payment validation was using assignment instead of accumulation, keeping only the last value.

@willneill #1451 Read
fix other-apps 2 months ago

Use startsWith('Sales') for party labels in print templates

Hard-coded `entryType === 'SalesInvoice'` caused non-invoice sales types to show wrong labels ("Supplier" instead of "Customer").

@willneill #1450 Read
fix other-apps 2 months ago

Fix negative tax rate adds to grand total instead of reducing it

Tax amounts were passed through `.abs()` which stripped the sign from negative taxes like withholding tax.

@willneill #1448 Read

Saturday, August 29

ERPNext 40.6k 6 updates
feat accounting 2 months ago

Alternative finished goods conversion against work order

Work orders can now regrade/convert to alternative finished goods during QC; remains linked to original work order.

@rohitwaghchaure #58479 Read
feat stock-manufacturing 2 months ago

Batch split operation to produce child batches per piece

BOM Operations gain Batch Split checkbox and Weight Per Piece field to auto-create child batches per unit during production.

@rohitwaghchaure #58530 Read
feat accounting 2 months ago

Erpnext sidebars and workspaces

ERPNext adopts Sidebar fixtures replacing workspace sidebars for curated navigation.

@sokumon #58476 Read
fix accounting 2 months ago

Sum item and its alternate transferred qty on work order

fix: sum item and its alternate transferred qty on work order

@Shllokkk #58500 Read
fix stock-manufacturing 2 months ago

Persist redistributed additional costs during stock entry repost

fix: persist redistributed additional costs during stock entry repost

@Afsalsyed #58433 Read
fix accounting 2 months ago

Check write permission in edit_note

fix(crm): check write permission in edit_note

@Shllokkk #58324 Read
Frappe 11k 20 updates
feat framework 2 months ago

New creation flow

Print format creation now starts with builder as the front door; new dialog for format type selection; HTML-only report formats route to form.

@iamejaaz #41715 Read
feat ui-ux 2 months ago

Run the record-page engine's tests from the shell

Adds vitest harness to run 14 record-page unit test files from the frappe shell, closing test infrastructure gap.

@shariquerik #42174 Read
feat ui-ux 2 months ago

Run contributed record customizations through the engine

Record-page engine accepts contributed customizations (fields, sections, buttons) and runs them against the live form.

@shariquerik #42173 Read
feat developer-experience 2 months ago

Host the SPA shell at /apps from one bench-wide build

Central SPA shell now hosts contributed record-page customizations through a seam; one build per bench instead of per-app.

@shariquerik #42172 Read
feat ui-ux 2 months ago

Serve apps by declared prefix under /apps

Routes apps by declared URL prefix instead of hardcoding paths, unifying app hosting policy across the framework.

@shariquerik #42171 Read
feat developer-experience 2 months ago

Read doc and field-level permissions from the client

Adds useUserRoles and enhanced useDoctypeMeta for SPA frameworks to check permissions without boot data.

@shariquerik #42208 Read
feat ui-ux 2 months ago

Add a way for non desk apps to go desk page of the app

feat: add a way for non desk apps to go desk page of the app

@sokumon #42244 Read
fix ui-ux 2 months ago

Add the missing get_current_user_roles endpoint

Record pages were failing to fetch user roles due to missing server endpoint.

@shariquerik #42213 Read
fix ui-ux 2 months ago

Use espresso tokens in sidebar and dock

fix: use espresso tokens in sidebar and dock

@sokumon #42239 Read
fix framework 2 months ago

Add help and menu items back

fix: add help and menu items back

@sokumon #42240 Read
fix developer-experience 2 months ago

Report PDF export clips columns beyond the page width

fix: report PDF export clips columns beyond the page width

@kaulith #42194 Read
fix framework 2 months ago

Web form save fails when the form has a currency field

fix: web form save fails when the form has a currency field

@kaulith #42199 Read
fix framework 2 months ago

Attach files linked by url to attach fields

Extends attach_files_to_document to handle http/https URLs and properly create File records on duplication.

@iamejaaz #42209 Read
fix framework 2 months ago

Honour ignore_if_duplicate on a unique key violation

SQLite `bench new-site` was failing during frappe install; db_insert now honors ignore_if_duplicate flag consistently.

@netchampfaris #42193 Read
fix framework 2 months ago

Email dialog ignores document's print language

Print language defaulted to system language despite document's setting; now respects guess_language() logic.

@kaulith #42145 Read
fix framework 2 months ago

Validate group_by args before saving report

Validates `group_by` arguments against a strict whitelist before persisting report definitions.

@AarDG10 #40461 Read
fix framework 2 months ago

Revalidate redirect targets in get_web_image()

fix(utils): revalidate redirect targets in get_web_image()

@AarDG10 #42195 Read
fix framework 2 months ago

Escape Attach/Img./Sign./Barcode field values in print format temp.

Escapes field values to prevent XSS in print templates.

@AarDG10 #42224 Read
fix framework 2 months ago

Check perm. before unzipping file

fix(file): check perm. before unzipping file

@AarDG10 #42217 Read
fix framework 2 months ago

Enforce permission checks on list and delete

fix(virtual): enforce permission checks on list and delete

@AarDG10 #42138 Read
HR 9k 3 updates
feat hr-payroll 2 months ago

Module sidebars

HRMS navigation moves from workspace sidebars to per-module Sidebar fixtures, with nine semantic navigation-only modules.

@sokumon #5160 Read
fix hr-payroll 2 months ago

Support custom attendance calendars

Attendance calendars now pass sorting through to queries and respect custom view status colors.

@krishna-254 #5088 Read
fix hr-payroll 2 months ago

Error message in html to text

fix: error message in html to text

@AbdullahAnsari-03 #5016 Read
CRM 3.9k 1 update
feat crm-sales 2 months ago

Migrate write TextEditor instances to frappe-ui/editor

Migrates TextEditor, comment areas, email templates, and panels to reusable RichTextField component wrapping frappe-ui/editor.

@Shindhu-Ramaswamy #2658 Read
LMS 3.3k 3 updates
fix other-apps 2 months ago

Align sidebar icon spacing with CRM and Helpdesk

fix: align sidebar icon spacing with CRM and Helpdesk

@michellealva #2695 Read
fix other-apps 2 months ago

Show volume slider on lesson video player

Volume control now visible on both embedded and uploaded lesson videos.

@michellealva #2694 Read
fix other-apps 2 months ago

Keep the signup form independent of frappe develop

Signup form broke on released frappe versions; now defines banner macro locally instead of importing from frappe develop.

@raizasafeel #2691 Read
b Builder 2.5k 2 updates
feat ui-ux 2 months ago

Published status across dashboard and editor

Grid dashboard cards and editor toolbar now display publish status; heading truncation and pb-10 fixes applied.

@SmrutiSawant #785 Read
fix ui-ux 2 months ago

Block traversal segments in standard page export paths

Developer-mode exports now reject `..` segments to prevent writing outside the app directory.

@surajshetty3416 #787 Read
Insights 1k 1 update
feat other-apps 2 months ago

Add an end-to-end test suite

Adds 61 browser-based E2E flows across eight areas (query, workbook, charts, etc.) with zero quarantined tests.

@nextchamp-saqib #1346 Read
p Press 575 5 updates
fix other-apps 2 months ago

Require JSON config values to be an object or array

fix(site-config): Require JSON config values to be an object or array

@regdocs #7337 Read
fix other-apps 2 months ago

Require JSON config values to be an object or array

fix(site-config): Require JSON config values to be an object or array

@regdocs #7326 Read
fix other-apps 2 months ago

Skip rate limit on all dedicated server plans

Rate limiting now correctly skipped for all nine dedicated server plans, not just two.

@balamurali27 #7266 Read
fix other-apps 2 months ago

Add press_otp and press_otp_sent cache to persistent cache keys

fix: Add press_otp and press_otp_sent cache to persistent cache keys

@tanmoysrt #7332 Read
fix other-apps 2 months ago

Replace the automatic table restore with a button

Site updates that fail recovery now offer a manual restore button instead of attempting automatic recovery.

@balamurali27 #7327 Read
o Other 7 updates
fix other-apps 2 months ago

Unify appearance preferences

Consolidated theme preference to User.desk_theme; removed divergent Mail, Calendar, Writer, and Meet theme implementations.

@BreadGenie #745 Read
fix other-apps 2 months ago

A user with no Gameplan role sees onboarding instead of a 403

SPA now correctly renders 403 errors instead of showing onboarding; permission queries fixed to check user roles before returning empty list.

@netchampfaris #558 Read
feat other-apps 2 months ago

Draft and declined events, and a week-aware header

Calendar events now distinguish draft (saved, unsent) from declined state; primary button adapts to Send/Save based on invitation status.

@krantheman #750 Read
feat ui-ux 2 months ago

Draft and declined events, plus follow-up fixes

Adds isDraft and isDeclined flags to calendar events with dashed/struck-through rendering; fixes Tabs and related UI components.

@krantheman #1109 Read
feat other-apps 2 months ago

First-class WebDAV server

Drive now runs as an RFC 4918 Class 1+2+3 WebDAV server at `/dav/`, compatible with Windows Explorer, Finder, rclone, MS Office, and mobile file managers.

@s-aga-r #724 Read
fix other-apps 2 months ago

Don't hardcode studio file access to System Manager, check has perm directly

fix: don't hardcode studio file access to System Manager, check has perm directly

@ruchamahabal #257 Read
fix other-apps 2 months ago

Frappe-ui update fallout — tabs, mobile search, and the details chevron

Migrated tabs to value-based selection, fixed mobile search, and restored chevron in details pane after frappe-ui v1 update.

@krantheman #751 Read

Friday, August 28

ERPNext 40.6k 11 updates
fix accounting 2 months ago

Improve message formatting and translation for validation issues

Improves message formatting and translation for validation issues.

@Abdeali099 #58425 Read
fix stock-manufacturing 2 months ago

Preserve job card qty in mr transfer

Keeps Job Card completed quantity through Material Request mapping instead of resetting to zero via Work Order logic.

@mihir-kandoi #58482 Read
fix stock-manufacturing 2 months ago

Reset bin when a repost finds no stock ledger entries

Zeros bin stock_value and valuation_rate when a repost finds no ledger entries, preventing bin totals from drifting.

@Sudharsanan11 #58434 Read
fix accounting 2 months ago

Sum item and its alternate transferred qty on work order

Fixes transferred quantity calculation for items with alternates on work orders.

@Shllokkk #58502 Read
fix accounting 2 months ago

Set pos profile on invoices respecting user permissions

Respects user permissions when setting POS profile on invoices.

@diptanilsaha #58508 Read
fix accounting 2 months ago

Ignore cancelled invoices in timesheet portal

Excludes cancelled Sales Invoices from timesheet portal access checks.

@mihir-kandoi #58501 Read
fix accounting 2 months ago

Translate doctype in map msg

Translates doctype names in map validation messages.

@barredterra #58515 Read
fix stock-manufacturing 2 months ago

Classify MRP items without a BOM as Purchase

Sets type_of_material for items without a BOM so they appear and dispatch correctly in MRP reports.

@barredterra #58509 Read
fix accounting 2 months ago

Validate frozen accounts in period closing voucher

Restores frozen-account validation that was being skipped due to argument order in version 15.

@Pandiyan5273 #58477 Read
fix accounting 2 months ago

Check quotation write permission before marking lost

Validates write permission before the `declare_enquiry_lost` endpoint modifies a Quotation.

@Pandiyan5273 #58493 Read
fix accounting 2 months ago

Check sales order permission before work order creation

Blocks unauthorized Work Order creation by users without read access to the Sales Order.

@Pandiyan5273 #58492 Read
Frappe 11k 10 updates
breaking framework 2 months ago

Refactor!: allowing page_length argument for controlling amount of fetched linked items

Introduces `page_length` argument with default 0 (all linked records) for `frappe.db.get_link_options`. Breaking change.

@eagledot #42147 Read
fix framework 2 months ago

Support none filter to avoid stricter type validation

Supports `none` filter to skip stricter type validation.

@Bowrna #42152 Read
feat ui-ux 2 months ago

Module sidebar

Introduces module sidebars that will map 1:1 with module definitions.

@sokumon #41636 Read
fix framework 2 months ago

Allow null filters in custom html block link query

Accepts `None` for the filters parameter in custom block link search.

@iamejaaz #42146 Read
fix developer-experience 2 months ago

Removing unusable button that appears on clicking checkbox

Removes an unusable button that appeared when clicking a grid checkbox.

@Bowrna #42139 Read
fix framework 2 months ago

Allow non-system managers to print report with print format

Allows non-System Manager users to print reports with custom print formats by skipping full Print Format read-permission checks.

@harshp4114 #42108 Read
fix framework 2 months ago

Translate field labels in bulk edit dialog

Builds translated field labels from parts so the Bulk Edit dropdown shows correct language labels.

@kaulith #42169 Read
fix ui-ux 2 months ago

Let the v16 sidebar conversion survive real v16 data

Fixes v16 migration failure caused by bad data during sidebar conversion.

@sokumon #42190 Read
fix ui-ux 2 months ago

Keep a filtered sidebar item, and land on a doctype

Allows a DocType to be the first item in a sidebar.

@sokumon #42192 Read
fix framework 2 months ago

Apply consistent HTTP method validation to whitelisted callback dispatch

Ensures callback dispatch validates HTTP methods consistently, closing a permission bypass.

@AarDG10 #42176 Read
CRM 3.9k 4 updates
fix crm-sales 2 months ago

Pin primary contact to top of Deal contacts list

Orders CRM Contacts by is_primary before idx so primary contact always appears first.

@Shindhu-Ramaswamy #2699 Read
fix crm-sales 2 months ago

Preserve scroll position in grouped list view

Preserves scroll position when reopening a record in a grouped list view.

@Shindhu-Ramaswamy #2700 Read
fix crm-sales 2 months ago

Kanban three-dot click — In Task Page

Fixes kanban task card menu to open dropdown without the edit modal and adds delete confirmation.

@Shindhu-Ramaswamy #2711 Read
fix crm-sales 2 months ago

Keep deal activities visible when the lead is not readable

Skips lead history when not readable instead of failing the whole activity load.

@ps173 #2725 Read
Helpdesk 3.4k 1 update
fix other-apps 2 months ago

Truncate long recipient names in the popover

Truncates long contact names so option rows fit within the email recipient popover width.

@aerodeval #3724 Read
Insights 1k 4 updates
fix other-apps 2 months ago

Stop an unrelated comment from cancelling a review

Moves iris review concurrency group to job level so unrelated comments don't cancel running reviews.

@nextchamp-saqib #1342 Read
fix other-apps 2 months ago

Run a public execution as its publisher, not with checks off

Runs public executions as their publisher instead of as Administrator with checks disabled.

@nextchamp-saqib #1341 Read
fix other-apps 2 months ago

Let the client reach get_site_info, and land an invitee in Insights

Changes `get_site_info` from GET-only to allow POST so frappe-ui's `call` succeeds.

@nextchamp-saqib #1343 Read
fix other-apps 2 months ago

Check the referenced document, not the one that names it

Fixes five permission-check defects where endpoints read/wrote a second document without validating access.

@nextchamp-saqib #1326 Read
p Press 575 2 updates
fix other-apps 2 months ago

Remove duplicate countries in local compliance dropdown

Filters duplicate countries from the local compliance dropdown.

@siduck #7328 Read
fix other-apps 2 months ago

Reuse team prefix validation

Reuses team prefix validation for remote files.

@ssiyad #7330 Read
o Other 19 updates
fix other-apps 2 months ago

Use --dev flag instead of --serve-assets for frappe runner

Uses `--dev` flag for frappe runner and installs dev extras on dev benches.

@tanmoysrt #424 Read
fix other-apps 2 months ago

Mark fully discounted order lines as free items

Marks 100% discounted Shopify order lines as free items so ERPNext keeps the zero rate.

@Shllokkk #460 Read
fix ui-ux 2 months ago

Keep the remembered position when leaving the tray

Stops overwriting remembered panel position when expanding out of the tray.

@nextchamp-saqib #1065 Read
feat other-apps 2 months ago

Integration for S3 service

Adds garage service backend for object storage with bucket creation on demand and pilot integration.

@Aradhya-Tripathi #297 Read
feat other-apps 2 months ago

Serve site storage from a six-hourly report

Serves site storage sizes from a cached six-hourly report instead of computing inline on every request.

@mihir-kandoi #423 Read
feat other-apps 2 months ago

Add open presentation link to desk form

Adds "Open Presentation" web link on Presentation Desk form.

@BreadGenie #741 Read
feat ui-ux 2 months ago

Size month rows to their events instead of hiding them

Month view rows grow to fit their events instead of using fixed 5–6 row grids with "n more" buttons.

@krantheman #1108 Read
feat other-apps 2 months ago

Multi-day spans, a sidebar mini month, and upcoming events

Draws multi-day events across their date spans, adds a sidebar mini-month calendar, and lists upcoming events.

@krantheman #739 Read
feat other-apps 2 months ago

Let the add-app dialog accept a typed branch

Extends the add-app dialog's branch picker to accept typed custom branches.

@mihir-kandoi #378 Read
feat other-apps 2 months ago

Accept a custom frappe branch in the setup wizard

Allows typing a custom Frappe branch in the setup wizard alongside the curated list.

@mihir-kandoi #377 Read
fix other-apps 2 months ago

Encode presentation slug and fix statement terminators

Encodes presentation slug with `encodeURIComponent` and adds missing semicolons for style consistency.

@BreadGenie #742 Read
fix other-apps 2 months ago

Ignore xss filter for block & route fields

Ignores XSS filter for block and route fields since the framework now sanitizes JSON fields.

@ruchamahabal #256 Read
fix other-apps 2 months ago

List every branch via one git ls-remote

Lists all branches using `git ls-remote` instead of paginated REST API, ensuring version branches like `version-16-hotfix` appear.

@mihir-kandoi #380 Read
fix other-apps 2 months ago

Open sites on their served origin and hint when the host cannot resolve

Opens sites on their actual served origin (handles http/non-default ports) and clarifies errors when the host cannot resolve.

@badal8381 #418 Read
fix other-apps 2 months ago

Exclude the app-update poller from task listings server-side

Hides the `fetch-all-app-updates` poller from task listings by adding an `is_listed` flag.

@badal8381 #417 Read
fix other-apps 2 months ago

Expand chat composer to four lines

Raises chat input max-height from 44px to 88px to prevent long messages from being clipped.

@BreadGenie #743 Read
fix other-apps 2 months ago

Reduce mobile camera workload

Requests lower-resolution, lower-frame-rate camera on mobile and uses distinct simulcast layers to reduce encoding load.

@BreadGenie #746 Read
fix other-apps 2 months ago

Render search palette content

Binds Mail's search content to the dynamic overlay's default slot so the desktop palette renders.

@BreadGenie #744 Read
fix other-apps 2 months ago

EPF calcualtion logic

Fixes EPF wage calculation to use basic wages plus dearness allowance per EPF Act 1952, not gross minus allowances.

@deepeshgarg007 #89 Read

Thursday, August 27

ERPNext 40.6k 22 updates
feat accounting 2 months ago

Fix!: tax net_amount and not_applicable

Adds net_amount fields to tax rows and 'Not Applicable' marker for Item Tax Template Detail.

@barredterra #54687 Read
feat accounting 2 months ago

Fix/payment-request-subscription-plans-population

Payment Request now populated with subscription plan details when created from subscription-based invoices.

@ervishnucs #57494 Read
feat accounting 2 months ago

Option to skip delivery note for service items in sales order

New Selling Settings checkbox skips delivery note creation for service items (opt-in, off by default).

@rohitwaghchaure #58297 Read
feat accounting 2 months ago

Filter sales and purchase analytics by entity

Adds Entity multi-select filter to Purchase and Sales Analytics.

@Sudharsanan11 #58402 Read
fix accounting 2 months ago

Skip missing checkbox columns in asset type patch

Asset type migration handles v15 upgrades by checking which checkbox columns exist.

@barredterra #58416 Read
fix stock-manufacturing 2 months ago

Carry accounting dimensions from Landed Cost Voucher charges

Mandatory accounting dimensions now properly carried to Taxes and Charges rows on Landed Cost.

@ervishnucs #56981 Read
fix accounting 2 months ago

Added missing filters for cost_center and projects

Party Ledger Summary now filters by cost center and projects.

@diptanilsaha #58411 Read
fix accounting 2 months ago

Keep source rate on re-fetch when maintain same rate is enabled

Skips price list fetch for rows mapped from source documents when "maintain same rate" is on.

@barredterra #58332 Read
fix accounting 2 months ago

Split bank charges from exchange gain/loss on multi-currency transfers

Multi-currency transfers can now have both bank charges and exchange gain/loss on separate rows.

@Jatin3128 #58071 Read
fix accounting 2 months ago

Resolve subscription plans for any reference doctype in Payment Request

Payment Request now resolves subscription plans for Purchase Invoice, not just Sales Invoice.

@Jatin3128 #58438 Read
fix stock-manufacturing 2 months ago

Reset hardcoded letter head on Incorrect Serial and Batch Bundle report

Removes hardcoded letterhead from report configuration.

@Shllokkk #58440 Read
fix accounting 2 months ago

Clarify duplicate internal party messages

Error message now identifies which existing internal party blocks creation.

@Pandiyan5273 #58469 Read
fix accounting 2 months ago

Grant select on link targets to roles with write access

Grants `select` permission on link targets to roles that have `write` access.

@barredterra #58334 Read
fix stock-manufacturing 2 months ago

Keep pick list links when refetching stock entry items

Preserves pick list link when user re-fetches stock entry item details.

@Sudharsanan11 #58374 Read
fix stock-manufacturing 2 months ago

Preserve LCV quantity across stock reconciliation

Stops filtering next Stock Reconciliation by legacy batch number, preserving LCV repricing.

@mihir-kandoi #58309 Read
fix stock-manufacturing 2 months ago

Guard serial batch editor grid lookup

Prevents grid lookup errors when form validation delays table initialization.

@Pandiyan5273 #58464 Read
fix accounting 2 months ago

Prevent child table doctypes as accounting dimensions

Hides child table/single doctypes from Accounting Dimension picker and blocks them server-side.

@khushi8112 #58412 Read
fix stock-manufacturing 2 months ago

Validate serial inventory dimensions

Validates serial item availability at the inventory dimension level, not just warehouse.

@Pandiyan5273 #58394 Read
fix accounting 2 months ago

Work Order picks wrong Delivery Date when Sales Order has the same item in multiple rows

Work Order now uses the correct Delivery Date when created from rows with duplicate items.

@Henil666 #58448 Read
fix stock-manufacturing 2 months ago

Account for pending job card qty

Excludes pending quantity from Job Card validation to allow follow-up cards.

@Pandiyan5273 #58466 Read
fix accounting 2 months ago

Respect zero currency precision

When Currency Precision is set to 0, amounts now display without decimal places.

@Pandiyan5273 #58395 Read
fix accounting 2 months ago

Validate items against source Sales Order in Material Request

Blocks Material Request from deviating from source Sales Order items.

@Shllokkk #58443 Read
Frappe 11k 16 updates
feat framework 2 months ago

Add support to serve socketio and wsgi app through uvicorn single process

Adds support to serve socketio, wsgi, and rq in single uvicorn process.

@tanmoysrt #41867 Read
feat framework 2 months ago

New control "Attachment Gallery"

Adds Attachment Gallery form control for viewing, uploading, previewing, and deleting attachments.

@aerodeval #40963 Read
feat ui-ux 2 months ago

Composer — intuitive API, host extensions, real-life stories

Composer API refactored for intuitive prop handling with host extensions support.

@aerodeval #42119 Read
feat framework 2 months ago

Add post_fixture_sync patch section for migrations

New PatchType.post_fixture_sync runs patches after fixture and customization sync.

@niraj2477 #42106 Read
fix developer-experience 2 months ago

Install mariadb client tools from ubuntu archives

Removes dependency on external mariadb repo, uses ubuntu archives for client tools.

@barredterra #42057 Read
fix framework 2 months ago

Quote tabSingles during DocType rename

PostgreSQL now finds tabSingles with quoted identifiers during Single DocType rename.

@mihir-kandoi #42137 Read
fix ui-ux 2 months ago

Align the timeline gutter line with the icon axis

Timeline gutter icon now centered on line; even white space around comment/email avatar.

@RitvikSardana #42142 Read
fix framework 2 months ago

Handle workspace rendering

Makes workspace rendering robust against bad JSON.

@sokumon #42087 Read
fix framework 2 months ago

Data validation as guest in web forms

Validates form data for guest users in web forms.

@sokumon #42132 Read
fix framework 2 months ago

Key link title lookups by doctype and value

Report view now correctly resolves link titles when multiple Link columns contain same value.

@kaulith #41830 Read
fix framework 2 months ago

Scope child item selection to filtered parents

Scopes child item selection table to filtered parents instead of leaking all parent rows.

@barredterra #42044 Read
fix framework 2 months ago

Avoid duplicate DROP INDEX for accent/case-colliding fields during schema sync

Handles case/accent-colliding column names on MariaDB during schema sync.

@Shllokkk #41887 Read
fix framework 2 months ago

Escape backslashes in filter condition values on MariaDB

Prevents backslash injection in filter condition values.

@AarDG10 #42084 Read
fix framework 2 months ago

Apply parent's row-level permissions to child table queries

Enforces parent doctype's row-level permissions on child table queries.

@AarDG10 #42103 Read
fix framework 2 months ago

Validate request trace ID format

Validates X-Frappe-Request-Id format before use in queries to prevent injection.

@AarDG10 #42089 Read
fix framework 2 months ago

Validate redirect target against parsed origin

Adds validation layer to redirect target to prevent open redirect vulnerabilities.

@AarDG10 #42109 Read
HR 9k 2 updates
fix hr-payroll 2 months ago

Skip reference field patch if payment_entry column is missing

fix(expense_claim): skip reference field patch if payment_entry column is missing

@barredterra #5152 Read
feat hr-payroll 2 months ago

Show employer contribution in salary slip

Employer contributions now shown on salary slip doc for transparency.

@asmitahase #5149 Read
CRM 3.9k 2 updates
feat crm-sales 2 months ago

Backport Forms to main-hotfix

Backports Forms feature from develop to main-hotfix branch.

@ps173 #2713 Read
fix crm-sales 2 months ago

Validate form field mappings on save

Form builder now re-validates field mappings against allowed catalog on save.

@ps173 #2719 Read
LMS 3.3k 1 update
fix other-apps 2 months ago

Treat an unset profile field as empty, not as a change

Clearing a never-set profile field no longer latches the "Not Saved" badge.

@FawazAlhafiz #2684 Read
Insights 1k 4 updates
feat other-apps 2 months ago

Read the PR thread, answer questions, review the delta

Iris review now reads PR thread, tracks settled findings, and reviews delta from prior commits.

@nextchamp-saqib #1330 Read
fix other-apps 2 months ago

Tighten permission and input handling

Expression context isolation, invitation key hashing, and permission boundary hardening.

@nextchamp-saqib #1321 Read
fix other-apps 2 months ago

Mark an email alert as one, and check its recipients at save

Validates alert recipients at save time and bounds them to site accounts.

@nextchamp-saqib #1333 Read
fix other-apps 2 months ago

Rendered output, exported files and database connections

Eight independent fixes including credential permlevel, SSL certificate handling, and connection security.

@nextchamp-saqib #1332 Read
p Press 575 10 updates
feat other-apps 2 months ago

Link chart cards to the docs

feat(dashboard): Link chart cards to the docs

@balamurali27 #7298 Read
feat other-apps 2 months ago

Open advanced analytics by default

Advanced analytics section now open by default; toggle still available to collapse.

@balamurali27 #7320 Read
feat other-apps 2 months ago

Allow renaming a press role

Team owners can now rename Press Roles via title field.

@barredterra #7305 Read
feat other-apps 2 months ago

Add OOM kills chart to server analytics

Adds OOM Kills chart to server analytics alongside Memory chart.

@balamurali27 #7323 Read
fix other-apps 2 months ago

Revert "fix(invoice): Set Amount due as zero once paid"

Reverts previous invoice amount due change.

@shadrak98 #7308 Read
fix other-apps 2 months ago

Ensure dependant apps are added before the main app

Dependent apps now added before main app to resolve dependency order.

@Aradhya-Tripathi #7302 Read
fix other-apps 2 months ago

Reuse team prefix validation

Adds team prefix validation to remote file's new and restore methods.

@ssiyad #7314 Read
fix other-apps 2 months ago

Oversample slow queries before normalizing

Top Slow Queries chart now useful by oversampling before grouping by normalized text.

@balamurali27 #7316 Read
fix other-apps 2 months ago

Show the job error banner without impersonation

Agent job error banner now visible to system users and support agents without impersonation.

@balamurali27 #7322 Read
fix other-apps 2 months ago

Show resource titles in the role resource picker

Resource picker now shows title instead of autogenerated name for servers and benches.

@barredterra #7307 Read
o Other 39 updates
feat other-apps 2 months ago

Add support for traces

feat: Add support for traces

@Aradhya-Tripathi #11 Read
fix other-apps 2 months ago

Remove unclosed string from headers

fix(nginx): Remove unclosed string from headers

@the-bokya #591 Read
fix other-apps 2 months ago

Resolve missing kwargs for get_sql

fix: resolve missing kwargs for get_sql

@eagledot #3 Read
feat other-apps 2 months ago

Container security checks

feat(actions): container security checks

@DanielRadlAMR #1971 Read
feat other-apps 2 months ago

Enforce single participant connection

Enforces at most one active Participant Connection per participant and Meet Room.

@BreadGenie #732 Read
fix other-apps 2 months ago

Hide tooltips with toolbar

Toolbar button tooltips hidden when Meet auto-hides controls.

@BreadGenie #731 Read
feat other-apps 2 months ago

Include the meet link in the ICS LOCATION

Frappe Meet link appended to LOCATION property in generated ICS files.

@s-aga-r #736 Read
feat ui-ux 2 months ago

Feat(Calendar)!: span multi-day events across the days they cover

Multi-day calendar events now span their full range with proper rendering for month and week views.

@krantheman #1106 Read
fix other-apps 2 months ago

Refine home scheduling UI

Refines home scheduling UI with shared AM/PM options and improved avatar grouping.

@BreadGenie #740 Read
feat other-apps 2 months ago

Reports Redesign, billing overview and payment dialog polish

Design polish on billing console cards and dialogs; parking Payment log door for now.

@sadiqxansari #294 Read
feat other-apps 2 months ago

Notification channel support, auto default account management

Adds notification channel support with automatic default account management.

@ps173 #8 Read
feat other-apps 2 months ago

WhatsApp notification channel + title case template enums

Adds WhatsApp as Frappe Notification channel; fixes template enum capitalization.

@ps173 #5 Read
feat other-apps 2 months ago

Manage the default whatsapp account automatically

First account added becomes default; deletion blocked while others exist.

@ps173 #6 Read
feat other-apps 2 months ago

'Allow Guest Access' option for pages

Pages can now toggle guest access; guests redirected to login if disabled.

@ruchamahabal #246 Read
feat other-apps 2 months ago

Default a new bench to lite mode

New benches default to lite mode (single process) by default.

@tanmoysrt #415 Read
feat other-apps 2 months ago

Add support for Garage S3

Adds S3 support for Garage object storage backend.

@gi-yt #155 Read
feat other-apps 2 months ago

Integrate logs using fluent-bit

Adds `pilot setup logs` command to install fluent-bit and send logs to Datum.

@20vikash #391 Read
feat other-apps 2 months ago

Add co-host promotion in UI

Meet Room owners can now promote authenticated participants to co-host with UI action.

@BreadGenie #640 Read
feat other-apps 2 months ago

Join or leave a community from Settings

Settings dialog now includes entry in account menu and allows joining/leaving communities.

@netchampfaris #554 Read
fix other-apps 2 months ago

Page lists on the server's `has_next` signal

Drive pagination now relies on server's has_next signal instead of client row counting.

@ebrahimgamdiwala #665 Read
fix other-apps 2 months ago

Verify full host stack before skipping packages

Full system dependency check before skipping package installation.

@aakvatech #407 Read
fix other-apps 2 months ago

Merge dialog navigation and global admin access to private communities

Merge dialog navigation fixed; global admin access to private communities enabled.

@netchampfaris #555 Read
fix other-apps 2 months ago

Source keys from Frappe Cloud

Keys sourced from Frappe Cloud instead of hardcoded.

@deepeshgarg007 #83 Read
fix other-apps 2 months ago

Return search results the caller can actually read

Drive search now filters permission before pagination instead of after.

@ebrahimgamdiwala #670 Read
fix other-apps 2 months ago

Simplify muted toolbar buttons and pfp in chat panel

Removes filled red background from muted toolbar controls; adds participant profile images to chat.

@BreadGenie #738 Read
fix other-apps 2 months ago

Restore app switcher navigation

Replaces deprecated custom menu rows with native app-switcher actions.

@BreadGenie #737 Read
fix other-apps 2 months ago

Hide attachments from home

DocType attachments excluded from default home listing.

@BreadGenie #733 Read
fix other-apps 2 months ago

Restrict presence previews

Unapproved users in restricted meetings no longer receive SFU presence-preview tokens.

@BreadGenie #729 Read
fix other-apps 2 months ago

Ensure tmp env uses bench python version

Temporary environment uses correct bench Python version.

@Aradhya-Tripathi #420 Read
fix other-apps 2 months ago

Fix/create sites before dns config

Creates sites directory before writing dns_multitenant config.

@aakvatech #410 Read
fix other-apps 2 months ago

A dangling default_user_image link must not block every Server op

Server operations no longer fail due to dangling Atlas Settings links.

@the-bokya #164 Read
fix other-apps 2 months ago

Derive ssh public key when the .pub sibling is absent

Derives public key from private key with ssh-keygen when .pub file missing.

@the-bokya #14 Read
fix other-apps 2 months ago

Sync-image reconstitution must not flatten rootfs ownership

Distributed images preserve /home/frappe ownership on all hosts.

@the-bokya #11 Read
fix other-apps 2 months ago

Run scheduled backups from cron and save schedules in UTC

Scheduled backups now run from cron with correct module imports and UTC schedule storage.

@tanmoysrt #419 Read
fix other-apps 2 months ago

Curved connector's control-point drag now tracks the cursor at any zoom/pan

Curved connector control-point drag now uses correct coordinate transformation.

@bvnaik05 #560 Read
fix other-apps 2 months ago

Selection box paints above shapes on the unified canvas

Selection chrome now renders above shapes on unified canvas.

@bvnaik05 #559 Read
fix other-apps 2 months ago

Polygon tool icon reads as freeform, not a fixed pentagon

Changes polygon tool icon from fixed pentagon to freeform shape.

@bvnaik05 #561 Read
fix other-apps 2 months ago

Pen/highlighter middle size dot

Evens out preview dot sizes for pen/highlighter size pickers.

@bvnaik05 #562 Read
fix other-apps 2 months ago

Repair chromium exec bit when the binary is already downloaded

Restores executable bit if chromium binary exists but lost permissions.

@kaulith #553 Read

Tuesday, August 25

ERPNext 40.6k 11 updates
fix accounting 2 months ago

Translate get_label results at presentation with DocType context

Field labels now translate at presentation time using the correct DocType context.

@barredterra #57217 Read
fix accounting 2 months ago

Supplier group filter not applied on accounts payable report

Report now correctly filters suppliers by selected Supplier Group.

@ervishnucs #58179 Read
fix accounting 2 months ago

Include time logs ending at midnight in timesheet billing summary

Logs ending exactly at midnight or crossing into the next day are now included correctly.

@mihir-kandoi #58355 Read
fix accounting 2 months ago

Render missing terms before printing

Company default Terms and Conditions now render on printed documents.

@Pandiyan5273 #58358 Read
fix stock-manufacturing 2 months ago

Aggregate child warehouses in Stock Qty vs Serial No Count report

Report now includes stock from child warehouses when a parent warehouse is selected.

@harisansari008 #58134 Read
fix accounting 2 months ago

Handle none price_list_rate in e-invoice xml generation

Prevent Jinja template errors when price_list_rate is None during Italian E-Invoice generation.

@ervishnucs #58242 Read
fix stock-manufacturing 2 months ago

Fix/return qty validation different uom

Fix return quantity validation for items where transaction UOM differs from stock UOM in partial returns.

@ervishnucs #58298 Read
fix accounting 2 months ago

Hide rfq status in supplier portal

Hide submission status badge in supplier RFQ list to avoid confusion.

@Pandiyan5273 #58368 Read
fix accounting 2 months ago

Hide supplier name in rfq portal

Remove redundant supplier name display in RFQ portal view.

@Pandiyan5273 #58373 Read
fix accounting 2 months ago

Prevent duplicate supplier quotations from portal

Portal supplier users can now submit only one Supplier Quotation per Request for Quotation.

@Pandiyan5273 #58377 Read
fix stock-manufacturing 2 months ago

Preserve job card transfer quantity

Skip Work Order coverage cap when Stock Entry links to a Job Card, preserving transfer quantity for tracked semi-finished goods.

@mihir-kandoi #58382 Read
Frappe 11k 5 updates
fix framework 2 months ago

Grant select on link targets to roles that need them

Roles with write permission on a DocType now automatically get select on all its Link targets.

@barredterra #42014 Read
fix framework 2 months ago

Skip link title lookup for blank Link columns in report view

Stop requesting titles for null-valued Link fields in reports.

@kaulith #41943 Read
fix developer-experience 2 months ago

Scroll to `role_html` field when click on Add Roles button

Dialog closes and scrolls to Roles field instead of attempting a no-op route.

@KerollesFathy #42010 Read
fix framework 2 months ago

Raise error with actual reason of denial

Permission error messages now show User Permission restrictions instead of generic denials.

@kaulith #41576 Read
fix framework 2 months ago

Mask sensitive data in activity

Masks sensitive field values in activity logs to prevent exposure.

@Bowrna #42034 Read
CRM 3.9k 1 update
fix crm-sales 2 months ago

Data field tab

Selected tab in Data Fields layout is preserved after saving field edits.

@yuanran32 #2288 Read
Insights 1k 5 updates
fix other-apps 2 months ago

Key release notes on pull requests, not commits

Release notes now build from pull requests instead of commits, avoiding duplication from backports.

@nextchamp-saqib #1313 Read
feat other-apps 2 months ago

Acknowledge /iris review, report a failed run

PR review bot now reacts to acknowledge reviews and reports failed runs.

@nextchamp-saqib #1309 Read
fix other-apps 2 months ago

Remove the env probes that broke CI runs

Fix CI environment variable checks and branch checkout for fork PRs in iris review bot.

@nextchamp-saqib #1306 Read
fix other-apps 2 months ago

Keep column names when the result is empty

Preserve column schema in cached results to prevent KeyError on zero-row filter dropdowns.

@nextchamp-saqib #1303 Read
fix other-apps 2 months ago

Do not force SSL verification on database connections

Properly disable SSL certificate verification for self-signed database connections.

@nextchamp-saqib #1305 Read
p Press 575 3 updates
feat other-apps 2 months ago

Add drag to zoom on the server and site line charts

Drag-to-zoom gesture added to 19 server and site analytics charts for easier time range selection.

@balamurali27 #7275 Read
fix other-apps 2 months ago

Zoom the charts with a pinch on touch devices

Touch devices now pinch-to-zoom charts instead of scroll-to-zoom.

@balamurali27 #7277 Read
fix other-apps 2 months ago

Audit and logo upload issues

Resolves audit failures and logo upload issues in marketplace.

@prathameshkurunkar7 #7280 Read
o Other 14 updates
fix other-apps 2 months ago

Preserve recorder integration evidence

Upgrade Suite CI actions to Node 24-compatible releases and fix artifact upload permissions.

@BreadGenie #701 Read
feat other-apps 2 months ago

Surface meeting info in toolbar

Meeting info popover added to toolbar showing E2EE state, fingerprint, and meeting options.

@BreadGenie #702 Read
feat other-apps 2 months ago

Pick the reply identity from the original message's recipients

Multi-identity reply now automatically selects the identity the message was addressed to.

@s-aga-r #704 Read
feat other-apps 2 months ago

Thread view cleanup

Collapsed messages now show one-line summaries instead of full headers, saving ~50% viewport space per message.

@krantheman #716 Read
fix accounting 2 months ago

Correct service name retrieval (WRT-7)

Use full shipping service name instead of product name to distinguish between services.

@MarcCon #112 Read
fix other-apps 2 months ago

Clip slideshow overflow

Slideshow root clips overflow to prevent scrollbars across different monitor viewports.

@GursheenK #703 Read
fix other-apps 2 months ago

Fail recovery on snapshot errors

Snapshot errors now properly fail recovery instead of silently accepting degraded state.

@BreadGenie #708 Read
fix other-apps 2 months ago

Bound participant snapshot retries

Participant snapshot recovery is limited to three retries and escalates on exhaustion.

@BreadGenie #709 Read
fix other-apps 2 months ago

Don't keep sender copies of custom invite emails

Custom calendar invites are destroyed after sending so they don't clutter sender's mailbox.

@s-aga-r #710 Read
fix other-apps 2 months ago

Compare against actual writer-home route name

Error page Go Home button no longer renders on the home error page itself.

@ebrahimgamdiwala #712 Read
fix other-apps 2 months ago

Remove orphaned temp upload file on quota rejection

Temp files from rejected uploads are now cleaned up to prevent disk leaks.

@ebrahimgamdiwala #713 Read
fix other-apps 2 months ago

Partial Settlement overshoot no longer creates orphan principal demand

Extra principal payments in overshoot settlements are now linked to the repayment schedule.

@Nihantra-Patel #1402 Read
fix other-apps 2 months ago

Stop querying dropped old_name field in translate_old_name

Stop SQL errors from legacy `/drive/{file,folder,document}/` redirects on migrated sites.

@s-aga-r #715 Read
fix other-apps 2 months ago

Remove dead get_docs_attached_to endpoint

Removes an unreachable endpoint that loaded File objects without permission checks, closing a thin existence-only permission gap.

@ebrahimgamdiwala #714 Read

Friday, August 21

ERPNext 40.6k 6 updates
fix accounting 2 months ago

Skip covered rows when ordering from the mrp report

MRP report ordering now correctly skips rows already covered.

@Pandiyan5273 #58312 Read
fix accounting 2 months ago

Respect permissions in timesheet billing summary

Timesheet billing totals now exclude rows the user cannot access; includes backport 58322.

@mihir-kandoi #58320 Read
fix accounting 2 months ago

Correct to and from date filters in timesheet billing summary

Date filters in timesheet billing summary were reversed; includes backport 58318.

@mihir-kandoi #58317 Read
fix accounting 2 months ago

Stop doubling totals in timesheet billing summary

Group By was counting each entry twice, yielding incorrect totals like 21 hours instead of 10.5; includes fixes for 58315, 58318.

@Pandiyan5273 #58311 Read
fix stock-manufacturing 2 months ago

Changing product bundle warehouse should change packed items warehouse

Setting warehouse on a bundle item now updates warehouses in its packed items.

@mihir-kandoi #58316 Read
fix accounting 2 months ago

Avoid full grid re-render per row in set_exchange_rate

Opening a Journal Entry with many rows was slow; each row now only updates itself instead of rebuilding the entire grid.

@Jatin3128 #58328 Read
Frappe 11k 3 updates
fix framework 2 months ago

Fix href link webform in request data

Webform URL links on request-data page now point to correct field.

@Bowrna #41993 Read
fix developer-experience 2 months ago

Onclick link for routes expanded

Navbar routes with onclick links were not expanding; now properly handle dynamic route expansion.

@Bowrna #41989 Read
fix framework 2 months ago

Treat formula-like values as literal text in CSV/XLSX export

Values starting with `=`, `+`, `-`, `@`, etc., are now escaped to prevent formula injection on import.

@AarDG10 #41945 Read
HR 9k 3 updates
fix hr-payroll 2 months ago

Set indicator colors on kanban columns

Job Applicant kanban columns now show indicator colors on board creation; patch backfills existing boards; includes backport 5135.

@iamkhanraheel #5090 Read
fix hr-payroll 2 months ago

Use public scrub API in unpaid expense report

Unpaid Expense Claim report import failing on Frappe v16 fixed by using stable public API instead of internal scrub.

@krishna-254 #5127 Read
fix hr-payroll 2 months ago

Enforce advance currency and account type checks consistently across selection and save

Selecting a valid Employee Advance threw false errors for currency mismatches or non-Receivable accounts; checks now consistent; includes backport 5136.

@iamkhanraheel #5126 Read
Helpdesk 3.4k 1 update
fix other-apps 2 months ago

Consider holidays for outside working hours banner

The "raised outside working hours" banner was ignoring holidays because it queried the wrong parent doctype.

@aerodeval #3711 Read
LMS 3.3k 3 updates
feat other-apps 2 months ago

Improved command palette

Command palette now has functional search and keyboard navigation; most results were routing to wrong pages.

@raizasafeel #2676 Read
feat other-apps 2 months ago

Enforce lesson completion

Per-course enforcement of lesson completion gates; students cannot open a lesson until earlier lessons are complete (opt-in, server-side validated).

@raizasafeel #2674 Read
fix other-apps 2 months ago

Give the Chapters bar the tab strip's height

Chapters bar button height now aligns with tab strip after page shell updated tab button line-height.

@raizasafeel #2677 Read
b Builder 2.5k 5 updates
fix ai 2 months ago

AI design flow session review fixes

Attached reference images in design flow were lost after the turn they were sent; now persisted across session replay.

@surajshetty3416 #773 Read
fix ui-ux 2 months ago

Match builds stay faithful to the named reference

Match builds incorrectly chose an older sibling page's design instead of the named reference geometry.

@surajshetty3416 #774 Read
fix ui-ux 2 months ago

Sync the root lockfile with the workspace manifests

Yarn install failed on clean checkout due to misaligned dependency versions between root and workspace manifests.

@surajshetty3416 #776 Read
fix ui-ux 2 months ago

Send component block as a string when saving

Saving an existing component threw 500 because a dict was passed to SQL instead of JSON string.

@stravo1 #775 Read
fix ui-ux 2 months ago

Restore the site analytics chart under echarts 6

Site Analytics chart was blank since echarts version bump; rendering restored by applying missing color configuration.

@surajshetty3416 #780 Read
o Other 17 updates
feat other-apps 2 months ago

Add raven_integration app

List raven_integration on the Frappe marketplace.

@raizasafeel #19 Read
feat other-apps 2 months ago

Render mermaid diagrams

Published VitePress documentation now renders Mermaid code blocks as interactive fullscreen diagrams with zoom and download.

@DanielRadlAMR #1970 Read
feat other-apps 2 months ago

Add media fault injection coverage

Adds test coverage for SFU producer/consumer creation failures and media endpoint closure recovery.

@BreadGenie #694 Read
feat other-apps 2 months ago

Cover browser lifecycle recovery

Adds test coverage for deterministic browser visibility and connectivity controls in Meet media fault recovery.

@BreadGenie #696 Read
feat other-apps 2 months ago

Show emails in participant search

Calendar participant search now shows email addresses as primary labels with contact names and avatars as secondary.

@BreadGenie #700 Read
feat other-apps 2 months ago

Nested condition trees, derived workspace membership, and host-declared manager roles

Membership rules now support flexible nested condition trees instead of flat AND/OR, enabling complex workspace access policies.

@raizasafeel #1 Read
fix other-apps 2 months ago

Recover fresh participant connections

Converge exhausted recovery operations into one bounded coordinator; rebuild signaling and transports before advancing media health.

@BreadGenie #693 Read
fix other-apps 2 months ago

Recover browser media lifecycle

Suspend media repairs while hidden or offline; reset baselines and retry playback after browser transitions.

@BreadGenie #692 Read
fix other-apps 2 months ago

Reconcile expected media

Track expected media lifecycle state and periodically reconcile missing publications and subscriptions with bounded repairs.

@BreadGenie #691 Read
fix other-apps 2 months ago

Recover decoded video stalls

Distinguish missing RTP from video decode stalls using inbound frame counters; request keyframe before recovery.

@BreadGenie #689 Read
fix other-apps 2 months ago

Recover missing remote streams

Detect and recreate subscriptions for remote consumers missing their first RTP; retry with bounded lifecycle-safe chain.

@BreadGenie #686 Read
fix other-apps 2 months ago

Recover ended local tracks

Reacquire camera or microphone tracks that end unexpectedly and preserve selected-device fallback.

@BreadGenie #685 Read
fix other-apps 2 months ago

Video upload inconsistencies

Toolbar uploads now show progress, media lands on correct slide, and video posters render correctly on slow connections.

@GursheenK #688 Read
fix other-apps 2 months ago

Show scheduled participant avatars

Preserve contact names and profile images for scheduled meeting participants.

@BreadGenie #698 Read
fix other-apps 2 months ago

Allow creating loan repayment directly when it fails to create during payroll

Loan repayment can now be created separately when it fails during payroll without canceling the entire payroll entry; includes backport 1400.

@Nihantra-Patel #1399 Read
fix ui-ux 2 months ago

TabButtons options, Compose screenshot, and editor write fixes

External writes restoring earlier editor values now apply correctly; TabButtons recipe updated with theme-aware options.

@netchampfaris #1099 Read
fix other-apps 2 months ago

Check what a mapping is pointed at on every write path

Prevents Manager-role users from silently repointing mappings through direct API calls, bypassing adoption checks.

@raizasafeel #2 Read

Thursday, August 20

ERPNext 40.6k 19 updates
feat stock-manufacturing 2 months ago

Percentage based BOM

Adds percentage-based BOM for formulations where component quantities derive from percentages that total 100%, with balance item support and automatic UOM conversion.

@rohitwaghchaure #58292 Read
fix accounting 2 months ago

New docs should refetch incoming rates

New documents now refetch incoming rates before calculating cost of goods.

@mihir-kandoi #58097 Read
fix stock-manufacturing 2 months ago

Preserve zero return incoming rates

Sales returns with explicit zero incoming rates now preserve that zero during rate recalculation.

@mihir-kandoi #58302 Read
fix accounting 2 months ago

Handle Transaction Deletion Record CSV edge cases

CSV import now handles short rows and imports with only skipped rows gracefully.

@mihir-kandoi #58300 Read
fix accounting 2 months ago

Use user data fields hook

Privacy rules now load correctly by replacing deprecated `user_privacy_documents` hook with `user_data_fields`.

@mihir-kandoi #58274 Read
fix accounting 2 months ago

Work order finish dialog with process loss qty from job card

Caps the job card completed qty by the minimum from previous operations and shows process loss booked.

@rohitwaghchaure #58256 Read
fix accounting 2 months ago

Skip covered rows when ordering from the mrp report

Material Requirements Planning no longer tries to create orders for rows whose quantities are already covered by existing stock.

@Pandiyan5273 #58249 Read
fix accounting 2 months ago

Allocate drop-ship cost by invoice quantity

Gross Profit now allocates purchase cost proportionally by invoice quantity for drop-ship items instead of assigning the full cost to every row.

@mihir-kandoi #58226 Read
fix accounting 2 months ago

Match returns to source invoice items

Gross Profit now applies returns to the correct invoice rows (not just by item code) and uses the right purchase rate for drop-ship items.

@mihir-kandoi #58250 Read
fix accounting 2 months ago

Prevent TimestampMismatchError resolving Dunning with multiple overdue installments

Payment Entries for multi-installment invoices no longer fail when the invoice appears multiple times in a Dunning's overdue table.

@ruchamahabal #57771 Read
fix stock-manufacturing 2 months ago

Scope secondary items to job card

Scrap item tracking in multi-operation work orders now limits quantities to the current job card, preventing double-booking across operations.

@mihir-kandoi #58260 Read
fix stock-manufacturing 2 months ago

Support shared target UOM conversions

UOM conversions now work when both source and target UOMs convert to a common third UOM.

@mihir-kandoi #58305 Read
fix stock-manufacturing 2 months ago

Fetch item stock UOM in stock reconciliation

Stock Reconciliation now shows each item's correct Stock UOM immediately, instead of falling back to settings defaults.

@Sudharsanan11 #58284 Read
fix stock-manufacturing 2 months ago

Preserve item UOM conversion factor

Saving an Item now keeps explicit UOM conversion factors instead of replacing them with global defaults.

@mihir-kandoi #58299 Read
fix stock-manufacturing 2 months ago

Ignore future stock during batch reservation

Automatic batch reservation now uses a posting timestamp cutoff, preventing reservation of stock from future-dated entries.

@mihir-kandoi #58303 Read
fix stock-manufacturing 2 months ago

Update pick list status for product bundles

Pick lists now correctly track delivery status for product bundles that spawn multiple component rows.

@mihir-kandoi #58306 Read
fix accounting 2 months ago

Escape on status image for workstations in production status

Escapes `on_status_image` in `get_workstations` so both status branches handle values consistently.

@diptanilsaha #58279 Read
fix accounting 2 months ago

Escape interpolated values in text positions across portal and desk templates

Escapes free-text document values interpolated into element text and serializes the RFQ document safely inside its script block.

@diptanilsaha #58286 Read
fix accounting 2 months ago

Escape interpolated values in portal, print and desk templates

Escapes item, warehouse, user and document values interpolated into HTML attributes across portal pages, print formats, form grids, dashboards and client-side templates.

@diptanilsaha #58273 Read
Frappe 11k 8 updates
fix framework 2 months ago

Exclude dynamic routes from sitemap.xml

Dynamic routes with placeholders (e.g. `/blog/:name`) are now skipped from sitemap to avoid invalid URLs like `/project/%3Cname%3E`.

@surajshetty3416 #41985 Read
fix framework 2 months ago

Preserve saved page size on load more

Report page size is now reused when loading more rows instead of resetting.

@krishna-254 #41836 Read
fix framework 2 months ago

File permission flip fix

File permissions can now be toggled correctly.

@Bowrna #41785 Read
fix framework 2 months ago

RQ Job list filters and search-link crash

ID, Job Name, and Status filters now work correctly; fixed autocomplete crash on malformed job names.

@Nihantra-Patel #41990 Read
fix framework 2 months ago

Get encryption key during restore

Prevents generating a new encryption key during restore, which would fail decryption and leave the site in a broken state.

@barredterra #36198 Read
fix framework 2 months ago

Reject non-string Web Form Request keys

Rejects list and tuple keys before they're used as ORM filters, preventing filter mismatches.

@barredterra #41971 Read
fix framework 2 months ago

Scope reference_doc to form fields for key holders

Restricts `reference_doc` to web form fields only, preventing key holders from receiving the full document in the page.

@barredterra #41983 Read
fix framework 2 months ago

Bypass forced sanitization for json fields

Prevents JSON field data corruption by bypassing forced HTML sanitization on fields that store structured data.

@AarDG10 #41963 Read
LMS 3.3k 2 updates
fix other-apps 2 months ago

Require only a first name to save a profile

Profile form now matches the User doctype's actual required fields (first_name only).

@FawazAlhafiz #2656 Read
fix other-apps 2 months ago

Stop a reverted language change from reloading the page

Changing language and then reverting it no longer triggers a full page reload.

@FawazAlhafiz #2660 Read
b Builder 2.5k 7 updates
fix ui-ux 2 months ago

Skip XSS filtering on builder-authored block fields

fix(builders): skip XSS filtering on builder-authored block fields

@mardausdennis #767 Read
feat ui-ux 2 months ago

Fix(property plus affordance recedes until interaction

Property panel plus icons now use lighter color at rest and darken on interaction.

@surajshetty3416 #772 Read
feat ui-ux 2 months ago

Font token values pick from the font dropdown

Design token font values now use a searchable dropdown with per-family previews and custom font uploads instead of free-text entry.

@surajshetty3416 #769 Read
feat ui-ux 2 months ago

Font dropdown keeps a minimum width

Font dropdown options list now maintains a minimum width so family names don't truncate.

@surajshetty3416 #771 Read
feat ui-ux 2 months ago

Preview the selected font and design tokens in their own typeface

Font dropdown field and design token rows now preview values in their own typeface instead of the UI font.

@SmrutiSawant #770 Read
feat ui-ux 2 months ago

Focus point control for cover images

Cover images now have a focal-point picker in a popover with fit tabs, live zoom slider, and preview on canvas.

@surajshetty3416 #768 Read
feat ai 2 months ago

Give Bob one voice across models

AI assistant voice is now defined once and reused across all models, maintaining consistent persona regardless of provider.

@surajshetty3416 #759 Read
p Press 575 7 updates
fix other-apps 2 months ago

Include app name in pyproject error

fix: Include app name in pyproject error

@huzan-kazi #7255 Read
fix other-apps 2 months ago

Keep whitelisted methods on the bench dropdown's group resource

fix(ui): Keep whitelisted methods on the bench dropdown's group resource

@siduck #7268 Read
feat other-apps 2 months ago

Add drilldown in cost by service report

Cost by service report now supports drilldown to see detailed breakdown.

@shadrak98 #7252 Read
fix other-apps 2 months ago

Set Amount due as zero once paid

Invoice amount due now correctly updates to zero after payment.

@shadrak98 #7245 Read
fix other-apps 2 months ago

Scroll the bench log dialog after the body mounts

Deep links to bench logs now scroll to the bottom on load instead of staying at the top.

@balamurali27 #7259 Read
fix other-apps 2 months ago

Make a single command for ssh access dialog

SSH access dialog now shows a single copyable command instead of requiring multiple steps.

@siduck #7233 Read
fix other-apps 2 months ago

Show database uptime as a percent of each bucket

Database uptime chart now shows percentage of time up in each time bucket instead of a flat 0/1 gauge.

@balamurali27 #7270 Read
p Payments 180 1 update
feat integrations 2 months ago

List the refunds on a payment

Razorpay integration now exposes `fetch_refunds(payment_id)` to list all refunds against a payment, enabling reconciliation of refunds made outside the system.

@harshtandiya #251 Read
o Other 36 updates
fix other-apps 2 months ago

Shared-dep resolver so linked frappe-ui can't pull its own @tiptap

fix(scope): shared-dep resolver so linked frappe-ui can't pull its own @tiptap

@ruchamahabal #253 Read
fix other-apps 2 months ago

Missing Popover in build config

fix(builders): missing Popover in build config

@ruchamahabal #251 Read
fix other-apps 2 months ago

Capture build failure error and show in toast

fix(builders): capture build failure error and show in toast

@ruchamahabal #252 Read
fix other-apps 2 months ago

Minor ui things

fix: minor ui things

@BreadGenie #679 Read
fix other-apps 2 months ago

Typo

fix(drive): typo

@BreadGenie #680 Read
fix other-apps 2 months ago

Fix DOCX export and rewrite exporter

fix(writer): fix DOCX export and rewrite exporter

@DikshaJadhav3110 #515 Read
fix other-apps 2 months ago

Correct pagination and margins in Writer PDF/print export

fix(mail): correct pagination and margins in Writer PDF/print export

@DikshaJadhav3110 #671 Read
fix other-apps 2 months ago

Let the 500 page's links escape their iframe

fix(pages): Let the 500 page's links escape their iframe

@balamurali27 #585 Read
fix other-apps 2 months ago

Point the 500 page at the right docs URL

fix(pages): Point the 500 page at the right docs URL

@balamurali27 #587 Read
fix other-apps 2 months ago

Broken stuff

fix(ux): broken stuff

@prathameshkurunkar7 #293 Read
fix other-apps 2 months ago

Sign pre-commit autoupdate commits

fix(actions): sign pre-commit autoupdate commits

@DanielRadlAMR #1960 Read
fix other-apps 2 months ago

Raise z-index of dialog so toasts dont dim

Dialog z-index now stays above toast overlays.

@siduck #400 Read
fix other-apps 2 months ago

Quieter resize handles, sticky text colour, and a typed font size

Resize handles now use neutral grey, sticky notes have text color control, and font size has proper typing.

@bvnaik05 #554 Read
fix other-apps 2 months ago

Make a "+" mean an offer, and a direction change mean direction

Flowchart and mind-map connectors now show `+` only on unconnected sides and properly display decision branch directions.

@bvnaik05 #552 Read
fix other-apps 2 months ago

All five of #544's minor issues

Eraser no longer stays armed after Clear All; Guides label hidden; toolbar triggers fixed.

@bvnaik05 #548 Read
fix other-apps 2 months ago

Let a new object clear an arranged line, not tie with it

New objects now correctly supersede arranged lines in z-order instead of tying with them.

@vibhavkatre #551 Read
fix other-apps 2 months ago

Distinct Lines-menu icons, and lines behave like first-class objects

Lines now show distinct geometry icons in the menu and can be selected, arranged, and deleted like other objects.

@bvnaik05 #545 Read
feat other-apps 2 months ago

Revert "fix: Consider full year calculation for limits"

Reverts a limit calculation change that was incorrect.

@deepeshgarg007 #84 Read
feat other-apps 2 months ago

DOCX import support

Writer now supports importing Word documents directly into the editor using mammoth.js for client-side parsing.

@DikshaJadhav3110 #517 Read
feat other-apps 2 months ago

Redesign the error pages

All error pages (500, 502, 504, 429) now share one consistent layout with icon, heading, error line, and action buttons, with the 500 page linking to the bench's web error log.

@balamurali27 #581 Read
feat other-apps 2 months ago

Better handling of server flows

Atlas now stores and includes correlation IDs on every vm/site event for attribution of outcomes to central requests.

@prathameshkurunkar7 #160 Read
feat other-apps 2 months ago

Make server flow robust

Server flows now have structured error handling, Resource Action tracking, and correlation IDs for matching outcomes to requests.

@prathameshkurunkar7 #288 Read
feat other-apps 2 months ago

Add send_otp/verify_otp entry points for other apps

Telephony now exposes `send_otp` and `verify_otp` entry points for apps that verify recipients as part of their own flow.

@TanviKamath #22 Read
feat other-apps 2 months ago

Align the Draw home page with Drive, remove pinning

Draw home page now uses frappe-ui list primitives matching Drive's design, with sorting on column headers and no pinning.

@bvnaik05 #543 Read
feat other-apps 2 months ago

Efficient table editing — row/column grips, structural edits, header rows, cell ranges

Whiteboard tables now support row/column grips with insert/delete actions, header row designation, and cell range selection for a Google-Docs-style editing experience.

@bvnaik05 #555 Read
feat other-apps 2 months ago

Connectors and line improvements

Lines can now attach to shapes with auto-binding to ports or sides; connectors follow targets through move, resize, and rotate in the same undo entry.

@GursheenK #674 Read
feat other-apps 2 months ago

Saving offline copies and presenting with no network

Presentations can now be saved offline with images, shell, and assets; offline mode works for viewing, presenting, and editing with sync when back online.

@GursheenK #668 Read
fix other-apps 2 months ago

Clip background preview corners

Background effect corners are now clipped to prevent composited video pixels leaking through in Firefox.

@BreadGenie #681 Read
fix other-apps 2 months ago

Isolate participant connections

SFU media ownership is now isolated per participant connection while preserving participant identity.

@BreadGenie #682 Read
fix other-apps 2 months ago

Clean up closed producers

Closed media producers are now finalized idempotently and dependent consumers are cleaned up.

@BreadGenie #683 Read
fix other-apps 2 months ago

Recover initial media publication

Camera and microphone now retry independent publication with bounded retries and proper state tracking.

@BreadGenie #684 Read
fix other-apps 2 months ago

Support in/not in filters end to end

Multi-value filters now work correctly from the UI through data fetches to the Edit Data spreadsheet.

@ruchamahabal #254 Read
fix other-apps 2 months ago

Filter out trashed files from archive downloads

Archive downloads now respect file status checks and exclude trashed files.

@ebrahimgamdiwala #677 Read
fix other-apps 2 months ago

Images replaced on the wrong slide

Image replacements now land on the correct slide when duplicating slides from layouts.

@GursheenK #676 Read
fix other-apps 2 months ago

Images pasted from another tab were not visible to viewers

Cross-presentation paste now attaches images and videos to the destination, making them visible to viewers.

@GursheenK #672 Read
fix other-apps 2 months ago

Block sending during attachment upload

Send and schedule controls are now disabled while file attachments upload to prevent sending incomplete emails.

@BreadGenie #678 Read

Monday, August 17

ERPNext 40.6k 5 updates
feat accounting 2 months ago

Add status filter to Supplier Quotation Comparison report

Supplier Quotation Comparison report now has a Status filter (Draft, Submitted, both); defaults to Submitted to hide drafts.

@Shllokkk #58198 Read
fix accounting 2 months ago

Drop removed Restaurant doctype from sales tax template dashboard

Sales Taxes and Charges Template form loads properly on sites without the Hospitality app; removed reference to Restaurant DocType that was moved to a separate app.

@Pandiyan5273 #58191 Read
fix accounting 2 months ago

Correct Item Group doctype name in item tax template dashboard

Item Tax Template form now loads correctly; dashboard was referencing non-existent "Item Groups" DocType instead of "Item Group".

@Pandiyan5273 #58192 Read
fix accounting 2 months ago

Add missing permission check on `get_import_status`

Adds permission check to the `get_import_status` endpoint to block unauthorized calls.

@diptanilsaha #58217 Read
fix accounting 2 months ago

Add missing permission check on multiple whitelisted methods

Adds missing permission validation on multiple whitelisted methods to prevent unauthorized access.

@diptanilsaha #58221 Read
Frappe 11k 1 update
feat framework 2 months ago

Let apps add search results via hook

Enables in-app docs search and allows apps to add custom search results via hooks for use cases like external APIs and semantic search.

@barredterra #41925 Read
b Builder 2.5k 2 updates
fix ui-ux 2 months ago

Carry the reference into generation, teach the full component system

AI page generation now preserves reference layouts, fonts, components and scripts instead of losing them or rendering fallbacks.

@surajshetty3416 #754 Read
fix ai 2 months ago

Smooth chat panel loading states

AI panel no longer flashes "Set up AI" to configured users on slow networks; chat scrolls to end when loaded behind a closed tab.

@surajshetty3416 #757 Read
o Other 38 updates
feat other-apps 2 months ago

Indent lines with tab and keep whitespace in text

Tab and Shift-Tab now indent/outdent slide text lines with 4-character stops; whitespace is preserved on reload.

@GursheenK #656 Read
feat other-apps 2 months ago

Reduce interruptions for long projector presentations

Presentation mode now suppresses toasts during fullscreen and holds a wake lock to keep screen awake during long talks.

@GursheenK #660 Read
feat other-apps 2 months ago

Add automatic camera framing

Automatic face-aware camera framing with stable crop tracking; users can hold and resume framing from the video preview.

@BreadGenie #655 Read
feat other-apps 2 months ago

Draw the laser trail as one continuous ribbon

Laser trail now renders as smooth continuous ribbon instead of beaded segments; grows from tail to head with consistent width.

@vibhavkatre #452 Read
feat other-apps 2 months ago

Rework the shapes menu, custom polygons and shape rounding

Shapes menu reorganized into 4×2 grid with custom polygon tile (3–15 sides); shapes now support continuous rounding via corner radius slider.

@vibhavkatre #453 Read
feat other-apps 2 months ago

Rebuild Home around the diagram list

Home now centers on the diagram list; removed yellow Drive card and Collections entirely, simplifying the interface.

@vibhavkatre #454 Read
feat other-apps 2 months ago

Persist locked framing across sessions

Locked camera framing now persists across page reloads and future calls; restores with validation and bounds clamping.

@BreadGenie #657 Read
feat other-apps 2 months ago

Serve page definitions to the renderer without Studio roles

Studio page renderer now loads definitions in 1 request instead of 4, and non-studio users can now view rendered pages.

@ruchamahabal #242 Read
feat other-apps 2 months ago

Add Trapezoid and Parallelogram shapes

Two new polygon shapes now available in the Shapes menu alongside existing presets.

@vibhavkatre #480 Read
feat other-apps 2 months ago

Fill the block arrow's box, and make its proportions draggable

Block arrow now fills its bounding box completely; proportions of arrow head are draggable to adjust shape.

@vibhavkatre #483 Read
feat other-apps 2 months ago

Give the eraser three modes, sized tips and Clear all

Eraser now offers three modes (Eraser with adjustable tip sizes, Erase by object, Clear all) via a dropdown menu.

@vibhavkatre #488 Read
feat ui-ux 2 months ago

Print a heatmap's categories, and stand its scale beside the plot

Heatmap categories now print formatted values on axes and in tooltips; scale displays beside the plot instead of as a separate legend.

@nextchamp-saqib #1085 Read
feat other-apps 2 months ago

One colour palette across the app

Unified single Espresso color palette across all menus; three near-duplicate palettes (swatches, whiteboard, components) now use the same grid.

@vibhavkatre #534 Read
feat other-apps 2 months ago

The Lines menu is a line and an arrow for each shape

Lines menu now offers six tools: straight/elbowed/curved as both lines and arrows, with two genuinely new tools (elbowed and curved lines).

@vibhavkatre #535 Read
fix other-apps 2 months ago

Ease camera framing back to full frame

Camera view now eases smoothly back to full frame when auto-framing winds down instead of jumping abruptly.

@BreadGenie #658 Read
fix other-apps 2 months ago

Make Fill read as a fill, and let the corner handle own rounding

Fill button now renders as solid disc instead of looking like a second border control; corner handle independently controls rounding.

@vibhavkatre #479 Read
fix other-apps 2 months ago

Make the toolbar icons one weight and legible apart

Toolbar icon stroke weight and sizes now consistent across all glyphs; previously conflicting sizes made some icons hard to distinguish.

@vibhavkatre #476 Read
fix other-apps 2 months ago

Sit the selection outline tight on the shape, and drop the edit ring

Selection outline no longer stands off shapes; edit ring removed to reduce selection chrome visual noise.

@vibhavkatre #478 Read
fix other-apps 2 months ago

Export the preset polygon shapes as their own outlines

Block arrows, hexagons, pentagons and stars now export correctly to PNG, PDF, thumbnails and minimap; were previously rendering as plain rectangles.

@vibhavkatre #477 Read
fix other-apps 2 months ago

Show white in the colour grid, and align the font menu with Espresso

White swatch now visible in color grid with a real outline instead of disappearing as a hairline on white; font menu now uses single Espresso palette.

@vibhavkatre #481 Read
fix other-apps 2 months ago

Show the Arrange menu tiles as icons only

Arrange menu tiles across four sections now show icons only (tooltips carry the labels), reducing menu width from 300px and eliminating redundant text.

@vibhavkatre #482 Read
fix other-apps 2 months ago

Group the canvas toolbar into Navigation, Creation, Editing

Toolbar now reads in three semantic sections (Navigation/zoom, Creation/insert, Editing/arrange) instead of growing contextual groups that shift everything sideways.

@vibhavkatre #484 Read
fix other-apps 2 months ago

Drop the guide label pill and the Apps entry

Removed redundant label pill from alignment guides and unused Apps menu entry to reduce visual clutter.

@vibhavkatre #485 Read
fix other-apps 2 months ago

Let Escape close a dialog instead of deselecting behind it

Escape key now closes Export, Share and Info dialogs instead of being consumed by the editor's keyboard handler.

@vibhavkatre #486 Read
fix other-apps 2 months ago

Hold the export dialog at one height as the format changes

Export dialog no longer shrinks and recenters when switching between SVG/PNG formats; controls stay in place under the mouse pointer.

@vibhavkatre #487 Read
fix other-apps 2 months ago

Size an insert menu to its tiles, not to a measured box

Lines menu width now matches its tile content instead of leaving visible empty space to the right.

@vibhavkatre #531 Read
fix other-apps 2 months ago

Say whether a failed save needs a retry or a reload

"Save failed" message now distinguishes transient retryable failures from reload-requiring errors (e.g., frontend bundle replaced).

@vibhavkatre #533 Read
fix other-apps 2 months ago

Scale the size preview dots instead of clamping them

Highlighter size preview dots now show three distinct sizes; middle and right options no longer rendered as identical dots due to incorrect clamping.

@vibhavkatre #532 Read
fix other-apps 2 months ago

Type a table cell and a connector label in what they commit to

Text editors for table cells and connector labels now match the appearance of their committed output; alignment and styling were drifting while editing.

@vibhavkatre #529 Read
fix other-apps 2 months ago

Rebuild the connector menu as one kind of control

Connector dash and corner options are now icon cells instead of word-carrying segmented controls; dash pattern is drawn at the connector's own width.

@vibhavkatre #528 Read
fix other-apps 2 months ago

Close the selection outline by moving the handles off it

Selection outline no longer appears "open" at corners; resize handles now sit off the dashed box instead of masking it.

@vibhavkatre #527 Read
fix other-apps 2 months ago

One drag box selects everything, and nothing it cannot act on

Marquee selection now includes whiteboard elements (ink, stickies, lines, tables) that were invisible to it; fixed two opposing filter bugs in the same function.

@vibhavkatre #526 Read
fix other-apps 2 months ago

Render inserted images in the minimap, export and thumbnails

Images now appear in the minimap, SVG/PNG/PDF exports, saved thumbnails and home tiles; were previously rendering as empty rectangles.

@vibhavkatre #525 Read
fix other-apps 2 months ago

No text options on the toolbar for an image

Selecting an image no longer shows text formatting controls (font, size, bold, italic, etc.) that don't apply to it.

@vibhavkatre #524 Read
fix other-apps 2 months ago

Say why an image insert failed, and place it where the user clicks

Failed image inserts now show an error message; images place at the click point instead of a fixed location.

@vibhavkatre #523 Read
fix other-apps 2 months ago

Let a mind map close back up when a node is deleted

Deleting a mind-map node now reflows remaining nodes back toward the parent instead of keeping the spacing of the larger tree.

@vibhavkatre #522 Read
fix other-apps 2 months ago

Stop a mind-map node growing a line at 15 characters

Mind-map node sizing no longer oscillates between one and two lines as text grows; character-width calculation is now consistent at all font sizes.

@vibhavkatre #520 Read
fix other-apps 2 months ago

One mind-map "+" at a time, and a new node opens for naming

Fixed five simultaneous issues where hover and selection marks appeared on different nodes; new nodes now open with a text input ready for naming.

@vibhavkatre #521 Read

Sunday, August 16

ERPNext 40.6k 3 updates
fix accounting 2 months ago

Correct is_frozen description on customer and supplier

Descriptions now accurately state the flag blocks all new transactions, not just ledger entries.

@Pandiyan5273 #58168 Read
feat accounting 2 months ago

Validate purchase receipt exchange rate parity on purchase invoice

Foreign currency invoices at different rates silently booked exchange differences to the wrong account; now validated at submission.

@rohitwaghchaure #58177 Read
fix accounting 2 months ago

Added permission check for `get_msg_html`

Missing permission check allowed unprivileged users to access digest HTML generation.

@diptanilsaha #58197 Read
Frappe 11k 9 updates
fix ui-ux 2 months ago

Name the Page Script save event by its current spelling

Comment updated to reference `beforeSave` instead of deprecated `before_save` handler key.

@shariquerik #41905 Read
feat ui-ux 2 months ago

`after_app_build` hook to hook into another app's build process

New hook allows apps to inject build steps when another app is built, enabling Studio to build app-specific frontends during app installation.

@ruchamahabal #41900 Read
feat framework 2 months ago

A per-render tab override, and announce the resolved tab

FormLayout tabs now support per-render `hidden` and `label` overrides that apply after `depends_on` resolution, and announce which tab is active to callers.

@shariquerik #41908 Read
fix framework 2 months ago

Typed empties for a new child row, and a write-through row-edit dialog

New child rows omitted fields without defaults, making `undefined * undefined` computations fail silently; dialog edits also didn't persist to parent form.

@shariquerik #41895 Read
fix framework 2 months ago

Identify tabs by name, not by position

Tab selection by index broke when `depends_on` tabs appeared or disappeared, silently moving the reader to a neighboring tab without preserving which tab they were on.

@shariquerik #41902 Read
fix framework 2 months ago

Record the source document a notification came from

Mentions in comments only recorded the parent document, not the comment itself, forcing users to search through dozens of comments to find the mention.

@RitvikSardana #41868 Read
fix framework 2 months ago

Report view status column corrupts link title fetch on doctypes without an indicator

Status column built unconditionally then removed mid-render, shifting all subsequent cells onto wrong columns and fetching titles for wrong doctypes.

@kaulith #41880 Read
breaking framework 2 months ago

Preserve POST authorization through login

Guest POST to authorization endpoint lost body parameters (`client_id`, `redirect_uri`, `state`) before resuming, breaking the OAuth flow.

@barredterra #41544 Read
fix framework 2 months ago

Authenticate UserInfo bearer tokens

UserInfo endpoint required Frappe login before OAuth bearer authentication ran, allowing valid tokens to bypass auth. Tokens for missing or disabled User records remained valid, violating RFC 6749.

@barredterra #41545 Read
b Builder 2.5k 3 updates
fix ai 2 months ago

Describe embedded components fully in reference reads

Shared headers, sidebars, and footers now described fully in reference pages, preventing Bob from rebuilding them from guesswork.

@surajshetty3416 #752 Read
feat ai 2 months ago

Site-aware Bob with on-demand orientation, reference reads, and online research

Bob AI agent now reads the actual site and reference pages instead of guessing, performs online research, and understands site identity and structure.

@surajshetty3416 #751 Read
breaking ui-ux 2 months ago

Report the number of blocks changed, not a replacement count

Replacement count incremented once per block regardless of matches inside, breaking both UI reporting and translation strings expecting two separate values.

@mardausdennis #750 Read
o Other 8 updates
fix other-apps 2 months ago

Block installing Suite when a standalone suite app is installed

Install fails with a helpful error listing conflicting standalone apps (Calendar, Drive, Mail, etc.) that must be uninstalled first.

@s-aga-r #646 Read
fix other-apps 2 months ago

Move standard studio app builds from `after_build` to `after_app_build` hook

Studio app builds now only run when Studio itself is built, not on every app build.

@ruchamahabal #174 Read
feat other-apps 2 months ago

Give text elements explicit width modes

Text elements now have explicit `Auto` / `Fixed` width mode control; new text starts centered in Auto mode, and side-handle drag flips to Fixed with a single undo.

@GursheenK #652 Read
fix other-apps 2 months ago

Skip recorder-dependent reconciliation when no recorder is configured

Scheduled job raised `ValueError: URL must be configured` for every pending recording on sites without a recorder, creating error logs on every run.

@s-aga-r #645 Read
fix other-apps 2 months ago

Send RFC 3339 date-time in HOLDUNTIL envelope parameter

Scheduled sends failed against Stalwart >= 0.16.17; HOLDUNTIL now sends RFC 3339 date-time instead of Unix timestamp per corrected RFC 4865 compliance.

@s-aga-r #647 Read
fix other-apps 2 months ago

Ignore stale keyframe requests

Keyframe requests from already-closed consumers were not idempotent, surfacing errors instead of silently ignoring stale work.

@BreadGenie #649 Read
breaking other-apps 2 months ago

Synchronize camera media lifecycle

Camera media ownership changes during device switches and unmounts were not synchronized, breaking recovery and E2EE republish.

@BreadGenie #650 Read
fix other-apps 2 months ago

Table resize preview snapping back mid-drag

Table frame width flashed back to original while dragging column edges due to live document redraws overwriting preview state.

@GursheenK #653 Read

Saturday, August 15

ERPNext 40.6k 17 updates
feat stock-manufacturing 2 months ago

Sync serial no status from stock ledger in Stock Qty vs Serial No Count report

Report now syncs orphaned serial numbers and corrects their warehouse/status from ledger, fixing drift caused by cancelled/amended vouchers.

@rohitwaghchaure #57865 Read
feat accounting 2 months ago

Add shipping contact person to sales order, delivery note and sales invoice

Shipping contact can now be selected separately from billing contact in selling documents.

@Pandiyan5273 #58159 Read
feat accounting 2 months ago

Cross-plan load and overlap validation in production plan scheduling

Production plan scheduler now loads other plans' booked capacity and validates no overlap, preventing concurrent plan slot double-booking.

@rohitwaghchaure #58127 Read
feat accounting 2 months ago

Opt-in 'Consider Accounting Dimension' filter on General Ledger Report

Accounts Settings now has toggle to disable "Consider Accounting Dimension" filter on General Ledger Report, restructuring Reports tab into sections.

@diptanilsaha #58156 Read
feat accounting 2 months ago

Belgian Charts of Accounts (commercial + non-profit, FR + NL)

Replaces placeholder chart with four validated PCMN charts from Belgian legislator, covering commercial and non-profit entities in French and Dutch.

@maasanto #54679 Read
fix accounting 2 months ago

Rewriting overdue billing checkbox description

Overdue billing field description clarified.

@Jatin3128 #58165 Read
fix accounting 2 months ago

Rename misspelled delink_refernce_from_voucher

Internal method spelling corrected from "refernce" to "reference" for naming consistency.

@Pandiyan5273 #58169 Read
fix accounting 2 months ago

Preserve alternative material attribution

Manufacturing now correctly tracks when items satisfy both their own and alternative requirement roles, preventing attribution loss.

@mihir-kandoi #58131 Read
fix accounting 2 months ago

Get items from sales order in sales invoice

Sales invoice item fetch now correctly retrieves items from linked sales order.

@mihir-kandoi #58163 Read
fix accounting 2 months ago

Filter parties by transaction company

Customer and Supplier selectors now respect company restrictions, matching Item selector behavior.

@mihir-kandoi #58147 Read
fix accounting 2 months ago

Validation for task end date check

Task end date validation now enforces proper date ordering.

@nishkagosalia #58167 Read
fix accounting 2 months ago

Fix AttributeError on budget validation

Budget validation error message formatting now handles v15 doctype structure, showing clear validation message instead of crashing.

@Pandiyan5273 #58093 Read
fix accounting 2 months ago

Allow purchase returns against closed purchase orders

Purchase returns can now be created against closed POs, removing an overly restrictive validation.

@Pandiyan5273 #58139 Read
fix accounting 2 months ago

Disallow reversing a reverse journal entry

Prevent double-posting of gain/loss entries by blocking reversal of already-reversed Exchange Rate Revaluation journal entries.

@Pandiyan5273 #58092 Read
fix stock-manufacturing 2 months ago

Ignore historical negative batch stock in outward validation

Outward stock entries no longer blocked by negative periods from years ago that have since recovered; only current balance matters.

@rohitwaghchaure #58148 Read
fix stock-manufacturing 2 months ago

Honor pick serial/batch based on setting in batch selector

Add Batch Nos dialog now respects Stock Settings instead of hardcoding FIFO, allowing expiry-based batch selection when configured.

@Sudharsanan11 #58176 Read
fix stock-manufacturing 2 months ago

Restore subcontracting inward warehouse validation

Warehouse direction handlers now route all four subcontracting inward purposes and restore required warehouse checks that were removed during service refactoring.

@mihir-kandoi #58183 Read
Frappe 11k 9 updates
feat framework 2 months ago

Allow scheduled jobs to override their worker queue

Cron jobs can now specify custom queue and timeout, removing workaround of enqueuing secondary jobs for longer-running tasks.

@kaulith #41263 Read
feat ui-ux 2 months ago

Rebuild address & contact cards and add quick entry

Address and Contact cards rebuilt with espresso components; quick entry now enabled for both doctypes on party forms.

@khushi8112 #41600 Read
feat framework 2 months ago

Dispatch field commits at the mutation site

FormLayout now emits field `change` events at mutation, allowing consumers to react to field edits without deep-watching documents.

@shariquerik #41892 Read
fix framework 2 months ago

Pick RTL layout for supported languages

RTL-supporting languages now detected from framework language definitions and layout switched accordingly.

@Bowrna #41748 Read
fix framework 2 months ago

Fall back to docname when link title lookup target is missing

Report view no longer redirects when a Link column references a deleted document; displays the docname as fallback.

@kaulith #41829 Read
fix ui-ux 2 months ago

Apply permission checks to kanban board methods

Board read permission now enforced across all kanban board API methods.

@AarDG10 #40952 Read
fix framework 2 months ago

Add permission check to assignment rule apply

Assignment rule apply method now validates caller permissions before executing rule assignments.

@AarDG10 #41848 Read
fix framework 2 months ago

Consider document ownership in ToDo permission hooks

Permission checks now properly account for ToDo ownership, preventing unauthorized access to other users' tasks.

@AarDG10 #41869 Read
fix framework 2 months ago

Enforce IP restrictions for header-based authentication

IP allowlist validation now runs for all authentication paths, covering header-based auth that previously bypassed the check.

@AarDG10 #41883 Read
HR 9k 3 updates
feat hr-payroll 2 months ago

Add status filter in Monthly Attendance Sheet

Report now filters by employee status (Active, Inactive, Suspended, Left) with Active as default.

@akhtarmohsin #5104 Read
feat hr-payroll 2 months ago

Quick action menu for assigning important masters to employee

Employee form now has "Create Assignments" menu with shortcuts to Holiday List, Leave Policy, Salary Structure, Shift and Shift Schedule.

@asmitahase #5095 Read
fix hr-payroll 2 months ago

Resolve employee leave balance report error

Report no longer crashes when employee filter is blank; defaults to logged-in user where applicable.

@iamkhanraheel #5069 Read
CRM 3.9k 2 updates
fix crm-sales 2 months ago

Only notify mentions on CRM documents

CRM comment hook no longer errors on non-CRM documents like Helpdesk tickets; scope now restricted to CRM doctype references.

@RitvikSardana #2669 Read
fix crm-sales 2 months ago

Prevent negative values in currency fields

Lead, Deal, and Organization currency fields now reject negative values via framework validation.

@Shindhu-Ramaswamy #2671 Read
b Builder 2.5k 1 update
feat ai 2 months ago

Bob - AI Assistant for Builder

AI assistant Bob now builds pages from single prompts and iteratively edits them, designing tokens, scripts, DocTypes and form wiring in one conversation loop.

@surajshetty3416 #671 Read
p Press 575 5 updates
feat other-apps 2 months ago

Add backup audit trail to site backups tab

Site backups tab now shows downloadable audit trail for past backups, querying server job logs when local records deleted by grandfather-father-son policy.

@saurabh6790 #7213 Read
feat other-apps 2 months ago

Give user an option to reactivate suspended account

Suspended users now see an account status dialog and can choose to reactivate, instead of silent auto-reactivation.

@siduck #7228 Read
fix other-apps 2 months ago

Stop remote builds on stop deploy

Stopping a deploy now cancels remote builds and fixes dockerfile syntax.

@siduck #7219 Read
fix other-apps 2 months ago

Show site list for private benches only

Benches sites tab no longer displays the massive public bench site list, reducing UI clutter.

@siduck #7229 Read
fix other-apps 2 months ago

Only block large-database updates on AWS servers

Large database size check for physical backup eligibility now runs only on AWS, allowing updates on OCI and Hetzner.

@balamurali27 #7223 Read
o Other 26 updates
feat other-apps 2 months ago

Log integration

Datum log ingestion now supported with JWT token minting from central and verification via JWKS.

@20vikash #8 Read
feat other-apps 2 months ago

Auto send metrics by flushing buffer

Metrics now auto-flushed from buffer for timely ingestion.

@Aradhya-Tripathi #10 Read
feat other-apps 2 months ago

Add site-scoped backup jobs endpoint

New GET /sites//backup-jobs endpoint reports Backup Site jobs with status, timings, artifact sizes, and offsite status for audit compliance.

@saurabh6790 #578 Read
feat other-apps 2 months ago

One bake wires signup + server goldens

Chef pilot bake now registers both signup snapshot and server base image via Atlas service API in a single workflow.

@the-bokya #9 Read
feat other-apps 2 months ago

Register goldens as signup/server defaults via service API

Service API can now register baked goldens as default bench snapshot for signups and default image for servers.

@the-bokya #156 Read
feat other-apps 2 months ago

Run_self_serve(bake=False) for external golden

Atlas can now skip built-in golden bake and assert external service-baked golden, enabling chef-as-a-service image sourcing.

@the-bokya #157 Read
feat other-apps 2 months ago

Revamp flowchart UX, node editing and connector routing

Flowchart nodes now measured by actual shape geometry, connector routing avoids passes-through, text fits shape bounds, and the + button stays in reach.

@bvnaik05 #448 Read
feat other-apps 2 months ago

Replace Raw Styles with curated Base Styles editor

Raw Styles replaced with searchable curated CSS property editor supporting per-breakpoint edits, ported from Builder.

@ruchamahabal #232 Read
feat other-apps 2 months ago

Add Notifications Panel to central

New notifications panel UI component added.

@siduck #282 Read
feat other-apps 2 months ago

Notifications in pilot

New notification panel added to pilot.

@siduck #393 Read
feat other-apps 2 months ago

Table element in slides

Insert tables via drag-to-grid toolbar, resize columns without edit mode, configure headers and banding, right-click for structure operations and distribution.

@GursheenK #643 Read
feat other-apps 2 months ago

Dock and minimise the composer

Mail composer now docks to bottom-right as non-modal, minimises to title bar, and remembers prior state—unblocking list/thread navigation while drafting.

@krantheman #641 Read
fix other-apps 2 months ago

Tab title, slideshow video controls and cursor

Slides now shows presentation name in tab title, hides video controls while playing, and hides cursor after idle.

@GursheenK #642 Read
fix other-apps 2 months ago

Scroll selected component into view in layers panel

Layers panel now auto-scrolls to show selected block without manual panel scrolling.

@ruchamahabal #239 Read
fix other-apps 2 months ago

Restore emoji popup background

Meet chat emoji suggestion popup now renders with correct background using current design tokens.

@BreadGenie #639 Read
fix other-apps 2 months ago

Relax host-key checking on ProxyJump host

Atlas builder no longer hangs on fresh containers; ProxyJump host key checking relaxed to match guest.

@the-bokya #12 Read
fix other-apps 2 months ago

Drive golden CLI as pilot post-rename

Self-serve site deployments now locate pilot executable correctly after bench-cli rename.

@the-bokya #158 Read
fix other-apps 2 months ago

Install openssh-client for atlas builder

Atlas builder now has SSH client to reach build VMs, enabling production image baking in docker-compose.

@the-bokya #11 Read
fix other-apps 2 months ago

Wait for SSH after start() before warm_arm

Warm bake mode now waits for guest SSH readiness after boot before attempting snapshot, fixing race condition.

@the-bokya #13 Read
fix other-apps 2 months ago

Keep bench-cli entrypoint for Atlas self-serve deploy

Pilot golden image now preserves bench-cli entrypoint symlink, enabling site deployments via Atlas.

@the-bokya #10 Read
fix other-apps 2 months ago

Cache-bust mermaid loader in SPA

Mermaid preview no longer fails with stale oklch color format; loader asset now versioned for cache busting.

@NagariaHussain #748 Read
fix other-apps 2 months ago

Resolve @tiptap/core from studio for exported apps

Custom TextEditor extensions in exported apps no longer fail to build; @tiptap/core now resolves from Studio's dependency tree.

@aerodeval #237 Read
fix other-apps 2 months ago

Bind dialog's renamed open model

Settings dialog now opens correctly after frappe-ui's v1.0.0-beta.52 model rename.

@sadiqxansari #287 Read
fix other-apps 2 months ago

Drive preview framework attachments

Drive previews now render framework-created attachments by normalizing MIME types and preserving WebP metadata.

@BreadGenie #638 Read
fix other-apps 2 months ago

Tighten chat link wrapping

Long chat URLs no longer wrap at preferred punctuation with misleading gaps; uses link-specific break-all wrapping.

@BreadGenie #644 Read
fix other-apps 2 months ago

Require upload access to probe folder filenames

`does_entity_exist` and `get_new_title` APIs whitelisted without permission checks, allowing any logged-in user to enumerate folder contents and probe for file existence.

@ebrahimgamdiwala #603 Read

Friday, August 14

ERPNext 40.6k 11 updates
fix accounting 2 months ago

Item description in the item price list

Item Description field in Item Price now displays as formatted text instead of raw HTML.

@akhtarmohsin #58084 Read
fix stock-manufacturing 2 months ago

Split fifo/lifo rate across grouped stock item rows

Asset valuations with items at multiple rates now apply FIFO/LIFO correctly per row.

@mihir-kandoi #57820 Read
fix accounting 2 months ago

Apply Sales Person user permissions in Accounts Receivable

Clearing the Sales Person filter no longer bypasses user permissions for sales persons.

@khushi8112 #58078 Read
fix accounting 2 months ago

Describe stale exchange rate settings

Improves error messaging when exchange rate settings are out of date.

@khushi8112 #58120 Read
breaking stock-manufacturing 2 months ago

Qty and UOM not fetched when adding Item in Material Request

Python 3.14's lazy annotations were overriding type validation, breaking item detail fetching in Material Request.

@Henil666 #58118 Read
fix stock-manufacturing 2 months ago

Derive material transfers from actual coverage

Stock entry transfers are now capped to the quantity actually covered by included raw materials, preventing overclaims.

@mihir-kandoi #58110 Read
fix accounting 2 months ago

Delivery note billing based on quantity

Delivery notes now compute billing status on quantity basis in addition to amount basis, fixing cases where rate changes left items permanently "Partially Billed".

@Sudharsanan11 #56149 Read
fix accounting 2 months ago

Keep Currency and Price List section open for foreign currency

The Currency and Price List section now starts expanded when transaction currency differs from company currency, since the exchange rate becomes relevant.

@Jatin3128 #58074 Read
fix accounting 2 months ago

Allow purchase returns against a closed purchase order

Closing a purchase order was blocking returns for its remaining items even when receipts existed against them.

@Pandiyan5273 #58126 Read
fix accounting 2 months ago

Create `crm_deal` fields on enabling frappe crm data synchronization

Creates necessary CRM data synchronization fields on Customer and Quotation when the feature is enabled, with cleanup if disabled.

@diptanilsaha #58141 Read
fix stock-manufacturing 2 months ago

Confirm before changing item qty from the batch selector

The batch selector was silently overwriting item quantities in Delivery Notes, turning a manually-edited batch row into an unintended total.

@Sudharsanan11 #58123 Read
Frappe 11k 6 updates
feat framework 2 months ago

Typst pdf renderer

Replaces Chromium PDF rendering with Typst for 15x faster print generation (1.5s → 90ms), consuming 300MB less memory.

@iamejaaz #41690 Read
fix framework 2 months ago

Consistent link style in toast message

Links in toast messages now use consistent styling instead of being overridden by global CSS.

@asmitahase #41847 Read
fix framework 2 months ago

Limit concurrent PDF generation requests

Caps concurrent PDF renders to prevent resource exhaustion under load.

@ShrihariMahabal #41838 Read
fix framework 2 months ago

Untranslated awesomplete status messages

Awesomplete status messages ("N results found") were hardcoded in English; now route through translation via a subclass.

@ShrihariMahabal #41858 Read
fix ui-ux 2 months ago

Untranslated quill table picker labels

Quill's table picker labels were hardcoded CSS, ignoring user language and custom translations; now render from translatable attributes.

@ShrihariMahabal #41854 Read
fix framework 2 months ago

Honour ignore_user_permissions on link fields with a custom query

Custom queries were ignoring the `ignore_user_permissions` flag, allowing queries to inadvertently apply user permissions even when they should be bypassed.

@kaulith #41820 Read
HR 9k 2 updates
feat hr-payroll 2 months ago

Quick check in/out button on employee checkin doctype

Shows a quick check-in/out button on Employee Checkin list for the session employee, with optional geolocation confirmation.

@asmitahase #5089 Read
fix hr-payroll 2 months ago

Incorrect present/absent/leave count for half-day attendance in summarized view

Half-day "other half" status was ignored, and auto-marked half-days were wrongly counted as leave instead of present.

@iamkhanraheel #5074 Read
CRM 3.9k 1 update
fix crm-sales 2 months ago

Authorize arbitrary notification creation

Adds authorization checks to prevent arbitrary notification creation.

@ps173 #2662 Read
Helpdesk 3.4k 2 updates
feat other-apps 2 months ago

Actions in saved replies

Saved replies can now bundle follow-up actions (status, priority, team, tags) that execute automatically on each use, eliminating repetitive manual steps.

@RitvikSardana #3693 Read
fix other-apps 2 months ago

Hide bulk reply, assign and edit from customer roles

Agent-only bulk actions are no longer shown to customers on the ticket list, and the Delete action's condition is now evaluated.

@RitvikSardana #3696 Read
LMS 3.3k 1 update
fix other-apps 2 months ago

Sanitize what renders and what saves, allowlist bound URL schemes, and pair every permission gate

Replaces v-html with v-safe-html (DOMPurify) to prevent XSS attacks from user-generated content like course descriptions.

@raizasafeel #2664 Read
b Builder 2.5k 2 updates
feat ui-ux 2 months ago

Add dev-setup script for submodule init

Adds a yarn dev-setup script that initializes the frappe-ui submodule and installs dependencies in one step.

@stravo1 #743 Read
feat ui-ux 2 months ago

Wrap user-facing strings across the editor

Wraps labels, tooltips, placeholders, and messages with translation functions, expanding the catalog from 163 to 337 entries.

@surajshetty3416 #721 Read
Insights 1k 1 update
fix other-apps 2 months ago

Stop the weekly cleanup from dropping tables it cannot rebuild

Orphan warehouse table cleanup now preserves tables it can rebuild and reports instead of silently dropping them.

@nextchamp-saqib #1296 Read
p Press 575 3 updates
fix other-apps 2 months ago

Allow updates if other app versions changed

Deployment no longer blocks when other app versions changed, preventing cascading failures.

@Aradhya-Tripathi #7212 Read
feat other-apps 2 months ago

Agent-update: Handle play failures and let servers opt out

Catches Ansible play failures and sets server status to Failure; allows servers to opt out of agent updates.

@tanmoysrt #7209 Read
feat other-apps 2 months ago

Add a button to copy the SSH command

Adds a button to copy the SSH command for server access, including both the Press gateway and cluster proxy hops.

@balamurali27 #7215 Read
o Other 40 updates
feat other-apps 2 months ago

Find asset include hooks in custom apps

Adds find-asset-include-hooks.sh to list JS/CSS/icon bundles custom apps inject into page loads.

@balamurali27 #23 Read
fix other-apps 2 months ago

Ignore commented-out lines in hook scan

Filters commented-out hook registrations from scan results using `^[^#]*` anchoring.

@balamurali27 #22 Read
feat other-apps 2 months ago

Scan for request and job hooks

Adds before_request/after_request and before_job/after_job hook scanning to find-doc-save-hooks.sh.

@balamurali27 #21 Read
feat ui-ux 2 months ago

Add the shortcuts-v1 codemod for the v1 keyboard shortcut config

Provides migration codemod to convert v0 flat-flag shortcut config to v1 combo strings.

@netchampfaris #1077 Read
feat other-apps 2 months ago

Template library: 3 marketing templates + multi-category tagging

Adds three marketing templates (Candor, Fetch, Recipe) with multi-category tagging support.

@surajshetty3416 #8 Read
feat other-apps 2 months ago

Double-click empty canvas to type, in a box that hugs the text

Double-clicking empty canvas now creates a text box sized to fit the typed content instead of a large fixed box.

@vibhavkatre #437 Read
feat other-apps 2 months ago

Lay the share dialog out like the one Slides and Writer share

Rebuilds share dialog to match Drive's ShareDialog layout, with unified invite field and aligned role columns.

@vibhavkatre #432 Read
feat other-apps 2 months ago

Make the mind map a brainstorming surface

Fixes eight mind map interaction bugs: hovering affordances, draggable children, text overflow, and branch jumping.

@bvnaik05 #435 Read
feat other-apps 2 months ago

Replace the briefcase icon with a spanner

Updates the toolbox mark from a briefcase to a spanner, drawn to match Frappe's icon geometry.

@vibhavkatre #255 Read
feat other-apps 2 months ago

Add recipe for datum builds

Adds datum build configs with clickhouse and datum service setup.

@Aradhya-Tripathi #5 Read
feat other-apps 2 months ago

Release tracking (pin tracked upstream repos per bake)

Adds release tracking to pin specific upstream repo commits at bake time, enabling reproducible builds.

@the-bokya #8 Read
feat other-apps 2 months ago

Mint JWT for Datum Log service

Central now mints log tokens for Datum log ingestion.

@20vikash #280 Read
feat other-apps 2 months ago

Overview and Reports - show what the bill is made of

Splits billing cycle into owed and estimated amounts; adds Next payment card and Reports page.

@saurabh6790 #281 Read
feat other-apps 2 months ago

One settings modal — desktop dialog, mobile pages

Consolidates profile, notifications, and team settings into a single SettingsDialog.

@sadiqxansari #276 Read
feat other-apps 2 months ago

One Team page, plus the profile endpoints

Consolidates team settings and roster into one page; adds profile and password endpoints.

@sadiqxansari #275 Read
feat other-apps 2 months ago

View and tune MariaDB variables

Adds a MariaDB variable browser and edit dialog under Settings > Database, with 51-variable catalog and 9-variable editable allowlist.

@AyshaHakeem #388 Read
feat other-apps 2 months ago

Put Duplicate in the sticky note's More menu

Moves Duplicate action to the sticky note's More menu, freeing toolbar space for frequently-used colors.

@vibhavkatre #446 Read
feat other-apps 2 months ago

Add text case control and regroup text properties

Adds text case (As typed, Uppercase, Lowercase) control and regroups text properties into Typography, Paragraph, and Spacing sections.

@GursheenK #631 Read
feat other-apps 2 months ago

Give a tool page one list of tools, not two

Removes duplicate family lists from tool pages, eliminating redundant navigation.

@vibhavkatre #239 Read
feat other-apps 2 months ago

Remove the Weather tool

Removes Weather tool since phones already show forecasts and search engines rank weather results higher.

@vibhavkatre #242 Read
feat other-apps 2 months ago

Give the time-zone converter its own tool, under Convert

Time-zone converter splits from World Clock as a standalone searchable tool, enabling deep links.

@vibhavkatre #243 Read
feat other-apps 2 months ago

Remove the copy control from every result panel

Result copy buttons removed from all tools; users can select and copy as needed.

@vibhavkatre #245 Read
feat other-apps 2 months ago

Open every tool on a worked example

Tools now open showing a realistic worked example (e.g., "100 km/h → 62.1 mph") instead of empty inputs.

@vibhavkatre #246 Read
feat other-apps 2 months ago

Close each written section until somebody opens it

Tool pages now present written sections as closed `

` elements, keeping the page scannable with the tool above.

@vibhavkatre #248 Read
feat other-apps 2 months ago

Give each tool a summary that fits its row

Each tool now carries a short summary (not a full description) that fits its row in All Tools, replacing ellipsis-truncated text.

@vibhavkatre #253 Read
feat other-apps 2 months ago

Make Settings a dialog with its own sidebar

Settings now groups preferences in a dialog with a sidebar, replacing a long single-page layout.

@vibhavkatre #250 Read
fix other-apps 2 months ago

Firefox microphone device fallback

Media capture now retries without exact device constraints and covers Firefox's NotFoundError.

@BreadGenie #624 Read
fix other-apps 2 months ago

Get_template_bundle 403s on a hub with renamed token doctype

Page template loading now works on a hub with a renamed token doctype.

@surajshetty3416 #10 Read
fix other-apps 2 months ago

Unicommerce tax returns backfill

Credit note creation for RTO and customer returns now selects correct invoices, handles multi-package returns, and syncs historical returns.

@Bhavathariniya #459 Read
fix ui-ux 2 months ago

Menu contrast

Danger menu items raised to red-7 for WCAG AA contrast in dark mode.

@netchampfaris #1080 Read
fix ui-ux 2 months ago

FloatingWindow z-index

FloatingWindow drops to z-40 to sit above chrome but below dialogs, fixing dialog unreachability.

@nextchamp-saqib #1064 Read
fix ui-ux 2 months ago

Accessibility and layering

Slider now forwards aria-labelledby to the actual slider element and calls useAttrs() for aria-label support.

@waterWang #1047 Read
fix other-apps 2 months ago

Settings and navigation

Tool checkboxes now have proper spacing; Reset settings now resets the tool list; page scrolling fixed.

@vibhavkatre #240 Read
fix other-apps 2 months ago

Authorizations and owner alignment issues

Mail Cluster Store records are preserved during migration; disabled/deleted users are skipped during RSVP sync; Suite User role permissions aligned.

@s-aga-r #620 Read
fix other-apps 2 months ago

Multiple interaction fixes

"Offline" message now only appears when the server is unreachable; improved text selection and pin fill; fixed selection context clearing.

@vibhavkatre #442 Read
fix other-apps 2 months ago

Fix Map Pins stacked on top left on Safari

Map pins no longer stack in the corner on Safari when navigating to the Servers page.

@sadiqxansari #283 Read
fix other-apps 2 months ago

Show a loading skeleton instead of the empty state

Notifications page now shows a loading state while fetching instead of briefly showing "You're caught up" with an unread badge.

@netchampfaris #548 Read
fix accounting 2 months ago

Load Shipment form script via doctype_js

Shipment form initialization now works correctly through the standard doctype_js mechanism.

@barredterra #110 Read
fix other-apps 2 months ago

Include unbooked and unaccrued interest in Security Deposit Adjustment payable amount

Interest accrued but not yet raised as a Loan Demand was excluded, causing legitimate adjustments to be incorrectly rejected.

@Nihantra-Patel #1379 Read
fix other-apps 2 months ago

Scope mark_as_read to the notification's recipient

Any logged-in user could mark another user's notifications as read, hiding shares and other communications before the recipient saw them.

@ebrahimgamdiwala #621 Read

Thursday, August 13

ERPNext 40.6k 6 updates
feat accounting 3 months ago

Capacity aware scheduling for production plan

Production plans now compute realistic item-wise start/end dates via finite-capacity scheduling before work orders are created.

@rohitwaghchaure #58094 Read
fix stock-manufacturing 3 months ago

Show full date range in MRP chart

MRP chart stopped after 10 dates and checked wrong field for past dates; now shows full range and uses correct delivery_date field.

@mihir-kandoi #58073 Read
fix accounting 3 months ago

Don't count corrective job card transfers as transferred qty

Corrective transfers were inflating material_transferred_for_manufacturing; now excluded from work order rollup.

@mihir-kandoi #58080 Read
fix stock-manufacturing 3 months ago

Refine corrective job cards

Corrective job cards now require both operation fields, use Create for correct label, hide inapplicable fields, and block for semi-finished goods.

@mihir-kandoi #58079 Read
fix accounting 3 months ago

Exclude corrective transfers from item-level transferred qty

Corrective job card transfers were inflating per-item transferred quantities and understating pending demand; now excluded from rollup.

@mihir-kandoi #58091 Read
fix stock-manufacturing 3 months ago

Filter available batch report by company

Available Batch Report now applies the selected company filter to both standard and serial/batch bundle entries.

@krishna-254 #57995 Read
Frappe 11k 7 updates
feat framework 3 months ago

Show_search option for EmbeddedList

`EmbeddedList` now accepts `show_search` option to hide the search input for fixed-row lists.

@khushi8112 #41811 Read
fix framework 3 months ago

Restore Global Search shortcut (⌘G / Ctrl+G)

Desktop Icons page was overriding the global search shortcut without page scope; now page-scoped.

@sumitjain236 #41768 Read
fix framework 3 months ago

Apply export field access

Export now applies field-level access control to child tables.

@krishna-254 #41602 Read
fix framework 3 months ago

Update modified timestamp when Workflow Action is completed

Workflow action completion now updates the document's modified timestamp.

@AarDG10 #41799 Read
fix framework 3 months ago

Handle missing json when updating a custom report

Custom reports created outside `save_report` had no `json` value, causing crashes when updating columns.

@kaulith #41809 Read
fix ui-ux 3 months ago

Show column indicator as colored dot, not column background

Kanban column indicator was tinting the entire column instead of appearing as a small dot in the header.

@iamkhanraheel #41807 Read
fix framework 3 months ago

Validate HTTP method for document calls

Validates that whitelisted document methods are called with the correct HTTP method.

@ankush #40821 Read
HR 9k 4 updates
fix hr-payroll 3 months ago

Add non-negative validation for numeric fields

HR and Payroll numeric fields (Base salary, Standard Working Hours) now reject negative values.

@nareshkannasln #5063 Read
fix hr-payroll 3 months ago

Remove duplicate links

Payroll workspace had 37 unique links and charts shown twice each; deduplicated.

@nareshkannasln #5081 Read
fix hr-payroll 3 months ago

Postgres compatible queries

HR and Payroll queries now work with Postgres.

@deepeshgarg007 #5062 Read
breaking hr-payroll 3 months ago

Update no copy for attendance request in attendance

Duplicating Attendance created outside `save_report` copied the read-only attendance_request link, breaking subsequent saves; now marked no-copy.

@nareshkannasln #5064 Read
CRM 3.9k 2 updates
fix crm-sales 3 months ago

Render Phone field in its own layout branch

Phone field now uses its own layout branch instead of overloading the default one.

@Shindhu-Ramaswamy #2655 Read
fix crm-sales 3 months ago

Range filter not working in dashboard

`DateRangePicker` emits `[from, to]` but dashboard expected comma-separated string; now parses both formats.

@shahzeelahmed #2659 Read
LMS 3.3k 1 update
feat other-apps 3 months ago

Forms become pages, lists become cards, filters move into a sheet, and settings leaves the phone

LMS mobile redesign: create/edit forms are now full-page routes, filters collapse into a sheet, and lists render as cards.

@raizasafeel #2662 Read
b Builder 2.5k 3 updates
feat ui-ux 3 months ago

Sync `builder_files` with page/script delete and rename operations

Page/script deletes and renames now sync to `builder_files` on disk; orphaned directories no longer accumulate.

@asaura08 #507 Read
feat ui-ux 3 months ago

Preview each font in its own typeface

Font dropdown now renders each font name in its own typeface for preview.

@SmrutiSawant #724 Read
fix ui-ux 3 months ago

Render repeater with empty data key as plain container

Empty repeater key compiled to invalid Jinja syntax; now renders as plain container.

@surajshetty3416 #726 Read
p Press 575 5 updates
feat other-apps 3 months ago

Add database audit logging

Enables MariaDB audit plugin from server actions; logs rotate every 2 hours, upload to S3, and are listed/downloaded via dashboard.

@tanmoysrt #7190 Read
fix other-apps 3 months ago

Consider country list present in press when trying to setup account

Signup country list now uses Press data.

@phot0n #7200 Read
fix other-apps 3 months ago

Name the currency in the audit log price

Audit log storage price now displays as `2 INR` / `0.025 USD` instead of bare symbols.

@tanmoysrt #7205 Read
fix other-apps 3 months ago

Fix the audit transition jobs racing the row

Audit trail enabling no longer races against concurrent row writes; in-memory copy is now refreshed before each step.

@tanmoysrt #7202 Read
fix other-apps 3 months ago

Ensure trusted apps are added implicitly

Trusted apps are now added implicitly to Press.

@Aradhya-Tripathi #7206 Read
o Other 35 updates
fix other-apps 3 months ago

Don't cache template list for an hour

Removed redis cache from `get_templates`; bulk query for child rows now replaces per-template get_doc.

@GursheenK #616 Read
fix ui-ux 3 months ago

Clean up dead ink class name and update ink-shift refusal message

Removed stale `text-ink-gray-700` class name and updated ink-shift refusal message.

@waterWang #1040 Read
feat other-apps 3 months ago

Show custom page for werkzeug internal server error

App errors that bypass Frappe now show Frappe Cloud's custom error page instead of bare werkzeug/gunicorn HTML.

@balamurali27 #573 Read
feat other-apps 3 months ago

Trim the unified toolbar to essentials

Toolbar trimmed to core tools; undo/redo, duplicate, and whiteboard-only features removed per product calls.

@bvnaik05 #397 Read
feat other-apps 3 months ago

Delete diagrams instantly and settle the write in the background

Bulk diagram delete is now instant; write settles in background instead of blocking the UI for ~60 seconds.

@bvnaik05 #406 Read
feat other-apps 3 months ago

Pen/highlighter options open on tool click; both get size + opacity

Pen/eraser/sticky/line each open their own popover; pen and highlighter both carry independent size and opacity.

@bvnaik05 #401 Read
feat other-apps 3 months ago

Upload MariaDB audit logs to S3

Rotates `server_audit` logs, reads window metadata, uploads to S3, and deletes from disk.

@tanmoysrt #572 Read
feat other-apps 3 months ago

Add job to check and repair database tables

Adds job/API to run CHECK TABLE and auto-repair corrupted tables (REPAIR for MyISAM, OPTIMIZE for InnoDB).

@tanmoysrt #571 Read
feat other-apps 3 months ago

Rebuild the mobile composer as a page

Mail composer is now a page-route on mobile instead of a dialog, fixing layout bounce and keyboard interaction.

@krantheman #600 Read
feat other-apps 3 months ago

Stripe-first billing: fallback rules, Amex/Diners routing, and the payment order card

Adds payment method fallback on terminal declines, Amex/Diners routing, and customer notifications on method failure.

@saurabh6790 #279 Read
feat other-apps 3 months ago

Feature/sms email otp

Adds Twilio-backed SMS sending and OTP verification plus independent Email OTP via Frappe mail.

@TanviKamath #20 Read
feat other-apps 3 months ago

A rounded rectangle picks its own roundedness, and it survives an export

Rounded rectangles now pick from four corner radius presets; custom radius survives export.

@bvnaik05 #420 Read
feat other-apps 3 months ago

A migrated flowchart routes, retypes and labels itself correctly

Migrated flowcharts now correctly route edges, retype connections, and apply label edits.

@bvnaik05 #423 Read
feat other-apps 3 months ago

Draw freehand strokes as curves, and stop reshaping them on release

Freehand strokes now render as curves via quadratic Béziers instead of polylines, and no longer reshape when the pen is released.

@vibhavkatre #430 Read
feat other-apps 3 months ago

Draw the Shapes tiles with Lucide icons

Shapes menu now draws tiles with Lucide icons instead of shape glyphs, matching the rest of the editor.

@vibhavkatre #431 Read
feat other-apps 3 months ago

Move migrations to a standalone script & init resource rtracking

Migrations now run standalone before service startup; adds resource tracking endpoint with Active/Terminated/Pending status.

@Aradhya-Tripathi #9 Read
fix other-apps 3 months ago

Serve template media in shared presentations

Shared presentations can now access media files attached to templates.

@GursheenK #608 Read
fix ui-ux 3 months ago

Clip the active pill's shadow to the track

Sliding pill indicator's shadow now clips to track; removes shadow bleed past rounded edges.

@netchampfaris #1075 Read
fix other-apps 3 months ago

Regenerate the home tile thumbnail on exit, past the 30s throttle

Diagram thumbnails now regenerate on exit even if the final save lands inside the 30s throttle window.

@bvnaik05 #400 Read
fix other-apps 3 months ago

Restore the tooltip on reaction pills

Reaction tooltip was using outdated Tooltip slot name; updated to `#content`.

@netchampfaris #545 Read
fix other-apps 3 months ago

Force the exit thumbnail only when the session actually saved

Forced thumbnail regeneration on exit now only happens for editable sessions, not read-only views.

@vibhavkatre #408 Read
fix ui-ux 3 months ago

Use text-ink-base on solid red in light mode

Solid red button now uses white text in light mode; dark mode unchanged.

@netchampfaris #1063 Read
fix other-apps 3 months ago

Scale slide previews to their actual card width

Slide thumbnails in grid view now scale to their actual card width.

@GursheenK #604 Read
fix ui-ux 3 months ago

Use text-p tokens and add min height

Textarea used tight text scale instead of paragraph scale; added min-height to prevent collapse.

@netchampfaris #1073 Read
fix other-apps 3 months ago

Rename the diagram title through frappe-ui, so the blue focus ring goes

Rename box was a hand-rolled input with browser focus ring on top of it; now uses frappe-ui's TextInput which handles focus styling.

@bvnaik05 #421 Read
fix other-apps 3 months ago

Take the diagram from the form data when an image is uploaded

Image uploads broke when routed through `upload_diagram_image`; now takes the diagram from form data instead of request context.

@vibhavkatre #428 Read
fix other-apps 3 months ago

Text overflow and selection in editor

Clicking under the multi-selection box now selects the element; text boxes wrap at slide edges; long words wrap whole without hyphenation.

@GursheenK #610 Read
fix other-apps 3 months ago

Compare against the namespaced route names

Six route comparisons still tested against old bare names instead of namespaced names, keeping files openable and star badges hidden in Trash and Favourites.

@ebrahimgamdiwala #605 Read
fix other-apps 3 months ago

Stop Recents from freezing the tab in list view

Recents passed a freshly-built grouper object on every render, causing ListView to retrigger itself infinitely; now memoizes the grouper.

@ebrahimgamdiwala #613 Read
fix other-apps 3 months ago

Guard migration patches against sites missing legacy schemas

Migration patches crashed on sites restored from single-app backups that lacked legacy tables; now guards against missing schemas.

@s-aga-r #618 Read
fix other-apps 3 months ago

Center More menu rows on iOS Safari

More menu rows were vertically misaligned on older iPhones due to WebKit's anonymous inner box; added alignment fix.

@netchampfaris #547 Read
fix ui-ux 3 months ago

Let the browser keep modified arrow keys

Tree was swallowing Alt/Cmd+Arrow and Ctrl+Home/End before checking for modifiers; now returns early when modifier keys are held.

@waterWang #1038 Read
fix ui-ux 3 months ago

Raise z-index above sticky ListGroup headers

Dialog backdrop and content were rendering behind sticky list headers; added z-index containment to fix layering.

@waterWang #1052 Read
fix other-apps 3 months ago

Require site admin to preview files on disk

`sync_preview` had no permission check, allowing any logged-in user to retrieve full listings of staged files with paths, sizes, and MIME types.

@ebrahimgamdiwala #602 Read
fix other-apps 3 months ago

Make every whitelisted write POST-only

Eleven of Draw's write endpoints were accepting GET requests, opening them to cross-site request attacks; now all whitelisted writes require POST.

@vibhavkatre #433 Read

Wednesday, August 12

ERPNext 40.6k 25 updates
fix stock-manufacturing 3 months ago

Repair existing underbilled purchase receipts

New idempotent patch recomputes every candidate PO item from receipts with mixed billing; earlier patch only caught over-billed items.

@mihir-kandoi #58045 Read
feat stock-manufacturing 3 months ago

Multi select item and warehouse filters in warehouse wise item balance

Item and warehouse filters now accept multiple values (MultiSelectList); compare several warehouses without re-running the report per warehouse.

@Sudharsanan11 #58037 Read
feat accounting 3 months ago

Add Bank Charges account for Payment Entry deductions

New optional Bank Charges Account on Company; when a Payment Entry has a paid/received difference (e.g., bank fee), it now books to Bank Charges instead of always Exchange Gain/Loss.

@Jatin3128 #57840 Read
fix accounting 3 months ago

Block disabled/frozen party on Opportunity and Request for Quotation

Disabled/frozen Customer could be saved as Opportunity party, only getting caught later at Quotation stage.

@Jatin3128 #57983 Read
fix accounting 3 months ago

Correct totals and labels in section foo…

Cash flow report section totals and labels were incorrect; now match P&L and Balance Sheet filter display.

@ervishnucs #57336 Read
fix accounting 3 months ago

Item property updates in POS and transactions and add styling

Batch and Serial Number selection fields disappeared from POS Item Details after the item was added to cart.

@ervishnucs #57189 Read
fix accounting 3 months ago

Allow non-admin roles to import chart of accounts

Permission check referenced non-existent DocType "Party Account", blocking all non-admin COA imports with "Insufficient Permission".

@ervishnucs #57454 Read
fix stock-manufacturing 3 months ago

Pass finished goods as list to subcontracting BOM lookup

Function received a `set` but only handled `str` and `list`, causing SQL query failure outside request/test contexts.

@mihir-kandoi #58006 Read
fix stock-manufacturing 3 months ago

Set auto reserve stock flag before packing list generation

With `auto_reserve_stock` enabled, packed items on new Sales Orders were not marked for reserve because the flag was set after packing.

@mihir-kandoi #58041 Read
fix stock-manufacturing 3 months ago

Preserve BOM Creator item details

BOM Creator item selection suppressed the inherited server method, losing item details, rates, and UOM values.

@mihir-kandoi #58050 Read
fix accounting 3 months ago

Preserve original operation idx in manually created Job Cards

Create Job Card dialog used dialog row idx instead of Work Order Operation idx, pulling raw materials from the wrong operation.

@mihir-kandoi #58016 Read
fix stock-manufacturing 3 months ago

Reinstate mandatory manufactured qty check for manufacture entries

Manufacture entries could submit with For Quantity 0, leaving work order progress unupdated.

@mihir-kandoi #58005 Read
fix stock-manufacturing 3 months ago

Reinstate duplicate entry check for manufacture entries

Multiple Manufacture entries against the same work order could submit when qty was already fully covered.

@mihir-kandoi #58004 Read
fix stock-manufacturing 3 months ago

Reinstate operations completed check for manufacture entries

Manufacture entries could submit against work orders whose operations were never completed, bypassing the existing guard.

@mihir-kandoi #58000 Read
fix stock-manufacturing 3 months ago

Validate warehouse accounts when used

Warehouse accounts were validated at build time instead of at use time, leaving incomplete configurations in drafts that would fail on submit.

@mihir-kandoi #58036 Read
fix accounting 3 months ago

Fetch driver address by supplier link

Driver form looked up transporter Address by title, failing when Supplier naming series made the Supplier ID differ from Address title; now uses Dynamic Link.

@mihir-kandoi #58020 Read
fix accounting 3 months ago

Mirror rounding adjustment on distributed_discount_amount

Rounding adjustment was added to both `net_amount` and `distributed_discount_amount` (which are linked by subtraction), double-counting the discount share.

@barredterra #58047 Read
fix accounting 3 months ago

Reset stale item details on item change

Changing an item on a Sales Order reused values from the previously selected item (UOM, conversion factor, weight, barcode); now clears them before server fetch.

@mihir-kandoi #58051 Read
fix accounting 3 months ago

Read overdue amount from payment ledger, not gl tags

With Restrict Customer Over Billing enabled, customers with advance payments allocated after invoice submit were wrongly blocked; now reads from Payment Ledger instead of stale GL tags.

@Sudharsanan11 #57786 Read
fix accounting 3 months ago

Keep PO billed qty in sync when allocating amount to receipts

Amount-capped branch reduced remaining billed amount but not qty, causing later receipts to under-bill because they divided by stale qty.

@mihir-kandoi #58044 Read
fix accounting 3 months ago

Distribute PO-invoice billed amount across receipts without duplication

PO-level invoice amounts were reused across multiple Purchase Receipts during FIFO allocation, overstating billed amounts and marking receipts Completed too early.

@harisansari008 #58021 Read
fix accounting 3 months ago

Keep item code searchable when a barcode matches the same text

Item lookup overwrote the `name LIKE` filter with barcode condition in a dict, making item codes disappear when they overlapped a barcode.

@kaulith #57997 Read
fix accounting 3 months ago

Bill re-delivered sales order quantities

Sales Invoice used zero quantity after a full return/re-delivery cycle because `returned_qty` and `delivered_qty` were not combined correctly.

@mihir-kandoi #58003 Read
fix stock-manufacturing 3 months ago

Correct nested BOM Explorer quantities

BOM Explorer reset accumulated quantity at each nested level, giving wrong component quantities; now carries multiplier through the tree and normalizes child UOMs.

@mihir-kandoi #57963 Read
fix accounting 3 months ago

Require material transfer before job card start and completion

Job cards accepted Start/Complete before Material Transfer for Manufacture existed; added validation gate to both actions.

@mihir-kandoi #58009 Read
Frappe 11k 12 updates
fix framework 3 months ago

Sync support for translated_doctypes in search_widget custom queries

Backports translated-doctype support from develop to v15.

@kaulith #41760 Read
fix framework 3 months ago

Resolve currency precision from the currency's number format

Currency Precision was always read from global number format, ignoring currencies with custom decimal places (BHD, OMR, AED).

@kaulith #41708 Read
feat framework 3 months ago

Prettier email templates

Email templates for registration, password reset, and login redesigned for clarity and visual polish.

@Vibhuti410 #41683 Read
feat framework 3 months ago

Added setup key support in 2fa login

Two-factor authentication can now use either QR code scan or manual setup key entry for authenticator apps.

@sagarvora #39137 Read
feat framework 3 months ago

Add user/doctype filtering to `User Doctype Permissions` report

New filters let you drill into one user or one doctype instead of viewing the full matrix.

@karm1000 #34553 Read
fix framework 3 months ago

Treeview collapse all expand all

fix: treeview collapse all expand all

@khushi8112 #41435 Read
fix framework 3 months ago

Handle None values in PortalSettings menu fields

TypeError when a PortalSettings menu field had a None value; now safely coalesces with helper method.

@khushi8112 #41433 Read
fix framework 3 months ago

Index parent column on child tables

Child table `parent` column was not indexed on PostgreSQL, causing sequential scans on child-row loads and subqueries.

@mihir-kandoi #41756 Read
fix framework 3 months ago

Index creation and modified columns like MariaDB

PostgreSQL was not indexing `creation` and `modified` columns, causing list view sorts to scan every row.

@mihir-kandoi #41757 Read
fix ui-ux 3 months ago

Make headless_shell executable on linux arm64

On linux arm64, `bench setup-chrome` left `chromium/headless_shell` at mode 0644, causing 300s timeout as Chromium could not start.

@regdocs #41661 Read
fix ui-ux 3 months ago

Migrate remaining v1 colour tokens to the v2 token set

Tailwind color utilities (`surface-white`, `outline-gray-modals`) were retired but still used, silently rendering as nothing.

@shariquerik #41767 Read
fix framework 3 months ago

Send workflow email when a document re-enters an approval state

Workflow Action dedup check ignored status, so every return to a state was treated as already handled — no new action, no email.

@Shllokkk #41691 Read
HR 9k 1 update
fix hr-payroll 3 months ago

Correct workspace sidebar icons

fix: correct workspace sidebar icons

@asmitahase #5080 Read
CRM 3.9k 3 updates
feat crm-sales 3 months ago

Add Edit option to Notes three-dot menu

feat: add Edit option to Notes three-dot menu

@Shindhu-Ramaswamy #2652 Read
feat crm-sales 3 months ago

Author field conditional logic in the builder + clear embedded form in place

Web Form authors can now set Visible if / Mandatory if / Read-only if per field in the builder, evaluated live on the public page (framework-style, not DocType-based).

@michellealva #2641 Read
fix crm-sales 3 months ago

Stop logging the author out when previewing a Link-field form

Author was logged out by guest-context Link field option lookup during preview, triggering auth failure on all subsequent requests.

@michellealva #2622 Read
Helpdesk 3.4k 3 updates
feat other-apps 3 months ago

Ticket analytics tab

New Analytics tab shows SLA adherence (deadline vs actual), where time went (by message), and issue tracking with visual deadlines.

@RitvikSardana #3689 Read
fix other-apps 3 months ago

Don't check update perms without a previous version

Creating a ticket from customer portal failed with `AttributeError: 'NoneType' object` when checking update permissions on a new document.

@RitvikSardana #3692 Read
breaking other-apps 3 months ago

Use the passed-in user for team permission checks

Permission checks in `_agent_has_permission()` were using session user instead of the passed-in user, breaking Permission Inspector and delegated queries.

@RitvikSardana #3690 Read
Insights 1k 1 update
feat other-apps 3 months ago

Alerts via web hooks

Alerts can now POST a JSON payload to a user-configured URL with Bearer token auth; restricted to publicly routable addresses (https only, checked at socket open, no redirects/proxies).

@Aradhya-Tripathi #1293 Read
p Press 575 6 updates
fix other-apps 3 months ago

Reduce alert frequency to once a month

fix(2fa): Reduce alert frequency to once a month

@ssiyad #7188 Read
feat other-apps 3 months ago

Cancel button for long running jobs on the dashboard

Long-running jobs (restore, backup, new-from-backup) can now be cancelled from the dashboard; each leaves behind expected state (site Broken, etc.).

@balamurali27 #7160 Read
fix other-apps 3 months ago

Spell out how to fix a blocked retry

Will-fail messages gave the problem name but not the fix; now include what failed, what's unchanged, the action to take, and the escape hatch.

@balamurali27 #7162 Read
fix other-apps 3 months ago

Calculate flat discount on top of item discount

fix(invoice): Calculate flat discount on top of item discount

@shadrak98 #7180 Read
fix other-apps 3 months ago

Skip Frappe version check when a branch declares none

Adding or re-pointing the frappe app crashed when validating version against a branch that declared none.

@regdocs #7181 Read
fix other-apps 3 months ago

Fix(dashboard) : Filter null value from migration choices

fix(dashboard) : Filter null value from migration choices

@tanmoysrt #7175 Read
p Payments 180 1 update
feat integrations 3 months ago

Refunds and a signature-verified refund webhook

Adds `fetch_payment()`, `fetch_refund()`, `refund_payment()` with amount validation against live-fetched state; webhook for Razorpay-settled refunds.

@harshtandiya #248 Read
o Other 26 updates
feat other-apps 3 months ago

Persist inbound events before processing, dedup on event_id

Inbound Atlas events now durably persisted before handling, with unique constraint on event_id for race-safe dedup of retried deliveries.

@kwyj1bo #277 Read
fix other-apps 3 months ago

Use default FUI for listview

fix: Use default FUI for listview

@Aradhya-Tripathi #385 Read
feat other-apps 3 months ago

Serve the font the offline shell already cached

Service worker precached fonts without query strings; stylesheet requested them with query params, cache miss. Service worker now matches on cache-aware key.

@vibhavkatre #216 Read
feat other-apps 3 months ago

Give every page a heading, and the root a link to every tool

Root and data-sources pages now have proper headings and SEO; root includes links to all tools.

@vibhavkatre #213 Read
feat other-apps 3 months ago

Say where every dataset and API comes from

New `/data-sources` page documents dataset licence, version, publish date, import date, and row counts for all bundled data.

@vibhavkatre #212 Read
feat other-apps 3 months ago

Say who made this, and what else they make

New `/about` page explains Toolbox's mission, that tracking is disabled, links to source code and ERPNext.

@vibhavkatre #218 Read
feat ui-ux 3 months ago

Refactor(charts)!: park the old Charts family in experimental

Six old chart components (`AxisChart`, `DoughnutChart`, etc.) move from root export to `frappe-ui/experimental`; Charts v2 at `frappe-ui/charts` is now the supported family.

@netchampfaris #1043 Read
feat ui-ux 3 months ago

Upgrade echarts to v6.1.0

Echarts 6 fixes label clipping and text layout issues via improved `containLabel` and `textStyle` fallback.

@nextchamp-saqib #1061 Read
feat ui-ux 3 months ago

Corner resize handle for images and embeds, gradient video controls

Images and embeds get a single bottom-right grip with diagonal-resize glyph; videos get gradient controls overlay.

@netchampfaris #1050 Read
feat ui-ux 3 months ago

Add the two missing Tabs breaks

Migration guide now documents `direction="right"` → `side="right"` and type export changes for Tabs 2.0.

@netchampfaris #1056 Read
fix other-apps 3 months ago

Set bake job_timeout — arq's 300s default aborts fleet bakes

Async fleet bakes were cancelled after ~300s because WorkerSettings never set job_timeout; real builds take minutes to hours.

@the-bokya #4 Read
feat other-apps 3 months ago

Image propagation from the Chef UI + CLI, and worker-backed baking

Wires image baking and fleet propagation through Chef UI and CLI, backed by Atlas's host-to-host sync API (no S3).

@the-bokya #3 Read
feat other-apps 3 months ago

Expose distribute_image (host-to-host fleet sync, no S3)

New service API entry point for Chef to fan an already-promoted image to the rest of the fleet host-to-host.

@the-bokya #152 Read
feat other-apps 3 months ago

Add event IDs + retry webhook event delivery

Central webhooks now carry event_id for dedup; failed deliveries retry via cron instead of dying after one attempt.

@kwyj1bo #146 Read
fix other-apps 3 months ago

Move the end time when the start time changes

Editing event start time left end time alone, allowing invalid end-before-start; now drags end along to preserve the prior gap.

@krantheman #593 Read
fix ui-ux 3 months ago

End the link when a space is typed at its end

Typing a space after a link pulled the space inside the anchor, and everything after it inherited the mark — whole sentences became accidentally linked.

@netchampfaris #1060 Read
fix other-apps 3 months ago

Include properties when fetching EventNotification

fix: include properties when fetching EventNotification

@s-aga-r #585 Read
fix other-apps 3 months ago

Keep navbar behind dialogs

fix(drive): keep navbar behind dialogs

@BreadGenie #598 Read
fix other-apps 3 months ago

Confine upload staging paths

fix(drive): confine upload staging paths

@BreadGenie #591 Read
fix other-apps 3 months ago

Separate recorder deployment from SFU

Recorder was co-located with SFU; separated into standalone deployment to isolate concerns.

@BreadGenie #589 Read
fix other-apps 3 months ago

Avoid text clipping at the bottom

fix(meet): avoid text clipping at the bottom

@BreadGenie #592 Read
fix other-apps 3 months ago

Avoid false local network warnings

Local downlink warnings were triggered by reported RTP packet loss alone; now driven by confirmed consumer stalls, avoiding false positives.

@BreadGenie #597 Read
fix other-apps 3 months ago

Make the mobile Profile tab a page

Profile was the only tab that opened a bottom sheet instead of navigating; Settings row pointed to a page that had its own Profile row. Collapsed into a single route.

@krantheman #595 Read
fix other-apps 3 months ago

Marking a document as favourite in Writer sync to Drive's Favourites tab

Favouriting a document in Writer didn't sync to Drive, and after a partial fix it made the editor read-only until reload.

@DikshaJadhav3110 #519 Read
fix other-apps 3 months ago

Stop deck saves from retrying deleted thumbnails

Saving a deck logged "Error Attaching File" on every save; two patches disagreed about thumbnail location, causing 404 retries.

@s-aga-r #550 Read
fix other-apps 3 months ago

Keep app-owned folders open for create

App-owned folders were locked down for file creation; restored permission so Mail compose can upload attachments.

@s-aga-r #588 Read

Tuesday, August 11

ERPNext 40.6k 6 updates
fix accounting 3 months ago

Clear deferred revenue/expense fields on uncheck

Unchecking deferral left old values in the fields.

@Pandiyan5273 #57830 Read
fix accounting 3 months ago

Keep asset repair downtime in sync with entered dates

Asset repair downtime only updated when status changed, not when dates were edited, leaving stale values.

@Shllokkk #57822 Read
fix accounting 3 months ago

Skip incoming rate calc when serial no qty is zero

Repost of serial+batch items threw ZeroDivisionError when Stock Reconciliation qty recomputed to zero.

@Shllokkk #57427 Read
fix accounting 3 months ago

Re-check future SLE before queuing repost on submit

Concurrent stock entries could skip repost checks because the decision was cached before writes completed.

@Pandiyan5273 #57664 Read
fix accounting 3 months ago

Preserve custom title on new JV

Journal Voucher custom title was being cleared on creation.

@diptanilsaha #57987 Read
fix stock-manufacturing 3 months ago

Field validation and permission checks on get_stock_reservation_entries_for_voucher

Added missing validation and permission checks on a stock query endpoint.

@diptanilsaha #57968 Read
Frappe 11k 7 updates
feat framework 3 months ago

Let apps supply their own inline SVG icons

Apps can now register custom inline SVG icons via a `Custom Icon` doctype.

@shariquerik #41735 Read
feat framework 3 months ago

Show edits, milestones and shares in the activity timeline

Activity timeline now surfaces edits (for doctypes with no version history), milestone records, and share events.

@shariquerik #41734 Read
fix framework 3 months ago

Hide core modules in global search settings

Core module doctypes appeared in the global search dropdown even though global search isn't supported for them.

@Bowrna #41721 Read
fix framework 3 months ago

Keep a document's realtime room alive while another consumer holds it

First consumer to unsubscribe from a document evicted all other watchers; now refcounts to keep the room open.

@shariquerik #41733 Read
fix framework 3 months ago

Stop a leading template comment from dropping the caller's class

Production builds silently dropped caller-supplied `class` attributes when components had a comment as the first node.

@shariquerik #41736 Read
fix framework 3 months ago

Return plain dicts and echo doc after execute_doc_method in API v2

API v2 responses were missing information available on newer versions; now returns complete payloads on both old and new versions.

@netchampfaris #41749 Read
fix framework 3 months ago

Add permission check in create_email_flag_queue

Missing permission validation allowed unauthorized email flag creation.

@AarDG10 #41611 Read
HR 9k 1 update
feat hr-payroll 3 months ago

Add button to close/reopen job opening

Job opening status can now be changed via action buttons instead of manual form field edits.

@asmitahase #5077 Read
CRM 3.9k 1 update
fix crm-sales 3 months ago

Add phone validation to from/to number fields in CRM call log

CRM call log lacked phone number validation, allowing invalid input.

@Shindhu-Ramaswamy #2597 Read
b Builder 2.5k 1 update
fix ui-ux 3 months ago

Keep bubble menu open while color picker popover is active

Color picker teleported outside the menu, causing the menu to close when opened.

@stravo1 #695 Read
p Press 575 11 updates
feat other-apps 3 months ago

Deploy Wazuh

Wazuh security monitoring now deployable to servers.

@balamurali27 #7154 Read
fix other-apps 3 months ago

Dearmor and ensure correct permissions

Wazuh key handling corrected for proper permissions.

@balamurali27 #7155 Read
fix other-apps 3 months ago

Tolerate a missing unit

Wazuh deployment failed if a unit was missing.

@balamurali27 #7156 Read
fix other-apps 3 months ago

Only update app server for unified servers

Team changes on unified servers incorrectly created new subscriptions due to missing validation.

@shadrak98 #7163 Read
fix other-apps 3 months ago

Verify application patches

Added patch verification to prevent invalid patches from being applied.

@ssiyad #7161 Read
fix other-apps 3 months ago

Account for unified servers in restore space pre-check

Migration pre-check didn't account for servers where app and database share a private IP, giving false "no space" errors.

@balamurali27 #6787 Read
fix other-apps 3 months ago

Clean chart parameters

Chart params contained stale values after page transitions.

@ssiyad #7165 Read
fix other-apps 3 months ago

Validate address before server creation

Missing address validation caused downstream errors during server provisioning.

@ssiyad #7167 Read
fix other-apps 3 months ago

Validate bench during agent job

Added bench validation before running agent jobs.

@ssiyad #7169 Read
fix other-apps 3 months ago

Make site update recovery resilient and recoverable

Failed site updates could end `Fatal` with no path back; recovery now handles timeouts, re-runs idempotently, and provides usable error messages on disk space issues.

@balamurali27 #6729 Read
fix other-apps 3 months ago

Turn server tokens off

Nginx server tokens exposed version information. Disabled to reduce attack surface.

@ssiyad #7170 Read
o Other 66 updates
breaking ui-ux 3 months ago

Take charts v2 to the 1.0.0 bar

Charts v2 cleaned up for v1.0.0 stability; breaking changes documented in migration guide.

@netchampfaris #1033 Read
feat other-apps 3 months ago

Serve robots.txt and a sitemap that lists every tool

Generated `robots.txt` and `sitemap.xml` that list all 34 tools for crawlers.

@vibhavkatre #175 Read
feat other-apps 3 months ago

Give the timer, stopwatch and countdown their own routes

Timer, stopwatch and countdown split from `/timer` tab to `/timer`, `/stopwatch`, `/countdown-timer` with individual titles.

@vibhavkatre #179 Read
feat other-apps 3 months ago

Give the PIN and IFSC lookups their own routes

PIN and IFSC code lookups split from shared tab to individual routes with dedicated SEO.

@vibhavkatre #181 Read
feat other-apps 3 months ago

Give the four health calculators their own routes

Four health calculators (BMI, BMR, TDEE, Pace) split from shared tab to individual routes.

@vibhavkatre #183 Read
feat other-apps 3 months ago

Give the six financial calculators their own routes

Six calculators (EMI, SIP, Compound Interest, CAGR, etc.) split from shared tab to individual routes with dedicated SEO.

@vibhavkatre #185 Read
feat other-apps 3 months ago

Give the nine unit converters their own routes

Nine unit converters split from `/unit-converter` into `/length-converter`, `/weight-converter`, etc., with their own titles and pages.

@vibhavkatre #187 Read
feat other-apps 3 months ago

Export is a dialog you confirm, not a menu that fires on click

Export now opens a dialog to pick format, raster scale, and see preview with pixel size before confirming.

@vibhavkatre #384 Read
feat other-apps 3 months ago

Collections — group diagrams on Home (backend)

Added `Draw Collection` and `Draw Collection Member` doctypes for labeling diagrams.

@vibhavkatre #387 Read
feat other-apps 3 months ago

Collections on Home — filter chips, and filing a drawing into one

Diagrams can belong to multiple collections; Home shows filter chips; clicking a chip narrows the list.

@vibhavkatre #390 Read
feat other-apps 3 months ago

Put undo and redo on the toolbar, and make canUndo actually change

Undo/redo moved from keyboard-only to toolbar buttons; fixed `canUndo` state to actually track history.

@vibhavkatre #392 Read
feat other-apps 3 months ago

Enforce scoped role grants (Central-side)

Team member resource grants now actually scoped per server/site, enforced through IAM.

@prathameshkurunkar7 #268 Read
feat other-apps 3 months ago

One compact zoom control on the toolbar; the canvas is clear

Four float zoom buttons consolidated to one toolbar entry showing live percentage and a menu; frees bottom-left canvas space.

@vibhavkatre #394 Read
feat other-apps 3 months ago

Unwrap block

Right-click > Unwrap now promotes an inner block as root or adds all children to parent, useful for replacing Studio Component wrapper divs.

@ruchamahabal #226 Read
feat other-apps 3 months ago

One left-aligned toolbar that fits, with the four inserts promoted

Toolbar reorganized left-aligned with four insert buttons (shapes, lines, text, image) promoted to the main bar.

@vibhavkatre #395 Read
feat other-apps 3 months ago

Send a heading and the page content to a crawler

Tool pages now send rich content to crawlers (h1, description, sections, JSON-LD) instead of running on JavaScript.

@vibhavkatre #191 Read
feat ui-ux 3 months ago

Charts v2

New chart library with Bar, Line, Area, Scatter, Donut, Funnel, Heatmap, Sankey, NumberCard; flat props naming columns as plain strings.

@nextchamp-saqib #890 Read
feat other-apps 3 months ago

Write the remaining 32 tool pages

All 34 tools now have ~700-word pages with formulas, worked examples, FAQs, and JSON-LD for crawlers.

@vibhavkatre #198 Read
feat other-apps 3 months ago

Stripe as a primary gateway

Stripe now accepted as primary payment gateway; carries cards and India e-mandates; Razorpay handles RuPay/UPI/netbanking.

@saurabh6790 #270 Read
feat other-apps 3 months ago

Gather the synonyms of every sense into one list

Dictionary now groups all synonyms by part of speech instead of scattering them across senses.

@vibhavkatre #202 Read
feat other-apps 3 months ago

Add recorder telemetry dashboard

Added telemetry dashboard for meeting recordings.

@BreadGenie #569 Read
feat other-apps 3 months ago

Lock elements in slides

Slide elements can be locked to prevent accidental moves or edits; lock/unlock from right-click menu or Cmd+Shift+L.

@GursheenK #573 Read
feat other-apps 3 months ago

Add central settings

Created a doctype for general Central settings and feature flags.

@prathameshkurunkar7 #272 Read
feat other-apps 3 months ago

Custom alerting

Users can now set up custom alerts for system metrics and site uptime with webhook notifications.

@Aradhya-Tripathi #384 Read
feat other-apps 3 months ago

Add Anton and Courier Prime fonts

Presentations can now use Anton and Courier Prime as self-hosted `woff2` with unicode-range subsets.

@GursheenK #580 Read
feat other-apps 3 months ago

Billing UI polish: invoice receipt panel, limit tiers redesign, shared list and panel infra

Invoices list now has a docked receipt panel; limit tiers show progress; overview cards have consistent anatomy.

@sadiqxansari #273 Read
feat other-apps 3 months ago

Add SFU human-empty grace cleanup

Added grace period for cleaning up SFU rooms after all humans leave.

@BreadGenie #583 Read
feat other-apps 3 months ago

Grant Guardian desk access and Sales Invoice permissions

Guardians can now view student fees via Desk and Sales Invoice access wired through install and patches.

@tuwafula #481 Read
feat other-apps 3 months ago

Rank recipient suggestions by correspondence

Recipient suggestions now ranked by frequency of prior correspondence, not just name match.

@s-aga-r #574 Read
feat other-apps 3 months ago

Collapsible sections in editor

Added toggle sections to the rich and comment editors via `/` menu, toolbar button, or `>>` shorthand.

@netchampfaris #542 Read
feat ui-ux 3 months ago

Composed Tabs family, TabButtons parity

Tabs rewritten as a composed family (TabList / TabTrigger / TabPanel) with trigger-value model and RouterLink support.

@netchampfaris #1024 Read
feat other-apps 3 months ago

Upgrade Boat button in the Desk UI

Operators can now roll boat generation (binary, sudoers, units) fully from the Desk UI with verification and daemon-stayed-up checks.

@the-bokya #148 Read
feat other-apps 3 months ago

Host-to-host local-image distribution over HTTP (no S3) + Sync Across Hosts

Promoted snapshot images can now be circulated across the fleet over on-host HTTP without an object store, plus a "Sync Across Hosts" Desk action.

@the-bokya #150 Read
fix other-apps 3 months ago

Guard legacy screening patches against missing account_id

Migrate failed on sites that hadn't yet migrated legacy screening doctypes (which were deleted).

@s-aga-r #621 Read
fix other-apps 3 months ago

Write Outgoing settings to Account Settings after model sync

Migrate failed because a patch tried to write columns that didn't exist yet (created by model sync).

@s-aga-r #622 Read
fix other-apps 3 months ago

Draw the Shapes menu with the shapes icon, not a lone square

Shapes menu button showed a rectangle icon (the first shape) instead of the category icon.

@vibhavkatre #391 Read
fix other-apps 3 months ago

Pinning belongs to Home, so drop it from the editor's menu

Editor ignored the five-pin Home limit, letting users pin unlimited diagrams from inside.

@vibhavkatre #393 Read
fix other-apps 3 months ago

Print the canvas exactly, with no added whitespace

Print added a white band below the diagram when the page ratio didn't match canvas ratio.

@vibhavkatre #382 Read
fix other-apps 3 months ago

Stop pointing users at the palette that is gone

Onboarding copy pointed at a toolbar palette that was removed.

@vibhavkatre #383 Read
fix other-apps 3 months ago

The minimap draws the diagram, not an approximation of it

Minimap rendered whiteboard objects as grey boxes instead of their actual content (ink, highlighter, tables).

@vibhavkatre #385 Read
fix other-apps 3 months ago

Let a diagram's owner change and revoke the access they granted

Changing a collaborator's level or revoking access failed for non-admins on all but the first share.

@vibhavkatre #386 Read
fix other-apps 3 months ago

Use room ID as fallback name for recording files

Recording files now use room ID as fallback when title is unavailable.

@BreadGenie #566 Read
fix other-apps 3 months ago

Imperative dialogs and toasts don't work in dev mode

Dialogs and toasts fired imperatively didn't show in dev; excluded frappe-ui from optimizeDeps to dedupe state.

@ruchamahabal #227 Read
fix other-apps 3 months ago

Recorder speaker sync

Fixed speaker synchronization issues in call recording.

@BreadGenie #579 Read
fix other-apps 3 months ago

Hold the dataset import lock until the rows are committed

Dataset import lock was released before rows committed, allowing concurrent imports to corrupt each other.

@vibhavkatre #203 Read
fix other-apps 3 months ago

Keep the timer workspace for the browser session, not forever

Timer, stopwatch and countdown persisted to `localStorage` across browser sessions instead of clearing.

@vibhavkatre #204 Read
fix other-apps 3 months ago

Keep the calculator and dictionary histories for the session

Calculator and dictionary histories persisted to `localStorage` forever instead of for the session only.

@vibhavkatre #207 Read
fix other-apps 3 months ago

Show the forecast in the unit the visitor chose

Temperature unit setting was ignored; weather always showed Celsius regardless of choice.

@vibhavkatre #208 Read
fix other-apps 3 months ago

Share the body measurements calculators claim to share

Four health calculators promised to share body measurements but didn't; now they actually do.

@vibhavkatre #209 Read
fix other-apps 3 months ago

Stop legacy /g/ URLs from landing on 404

Old `/g/teams` links (from when the app lived at `/teams`) redirected to 404 instead of the community page.

@netchampfaris #541 Read
fix ui-ux 3 months ago

Remove transition flashbang when theme switching

Theme switches caused a visual flash because transitions remained active; now temporarily disabled during switch.

@siduck #953 Read
fix ui-ux 3 months ago

Stale responses no longer write docStore/listStore

Concurrent writes could leave the stores with stale data from the response that settled last, not the newest one.

@netchampfaris #1018 Read
fix other-apps 3 months ago

Flaky undo-delete and 403 on shared presentation media

Undo could lose slides; media access checked a random File row instead of the presentation's actual files.

@GursheenK #565 Read
fix other-apps 3 months ago

Show replies that land in already-loaded threads

Incoming replies to already-visible threads were silently dropped; now updates the thread in place and re-sorts.

@krantheman #577 Read
fix other-apps 3 months ago

Rank recipient suggestions by relevance

Recipient search returned unscored results ordered by insertion instead of match quality; now ranks by relevance and correspondence frequency.

@s-aga-r #571 Read
fix ui-ux 3 months ago

Render ToastProvider before the slot so early toasts land

Toasts fired during app setup were dropped because the provider hadn't subscribed yet; reordered to catch early toasts.

@netchampfaris #1026 Read
fix ui-ux 3 months ago

Keep adjacent lists merged so numbering continues

Deleting an item and its empty line split an ordered list, restarting numbering at 1 instead of continuing.

@netchampfaris #1027 Read
fix other-apps 3 months ago

Harden recording ingestion and recorder reliability

Improved recording robustness and validation during ingestion.

@BreadGenie #584 Read
fix ui-ux 3 months ago

Keep the dialog stack on one instance across package copies

`dialog.confirm()` rendered nothing in dev because esbuild pre-bundling created separate instances of the package, splitting the dialog stack.

@netchampfaris #1041 Read
fix other-apps 3 months ago

Grant lvremove of regular snapshot LVs in sudoers

Terminating a VM with a snapshot failed because the sudoers allowlist only covered migrate snapshots, not regular ones.

@the-bokya #10 Read
fix other-apps 3 months ago

Sudo the image presence probe for 0700 directory

Image presence check failed on synced hosts because the boat user cannot stat a 0700 root directory.

@the-bokya #9 Read
fix other-apps 3 months ago

Bring up boat's HTTP listener and ANCP units at bootstrap

Freshly bootstrapped hosts came up with wg-mesh DOWN; the systemd units were never enabled or started during bootstrap.

@the-bokya #147 Read
fix other-apps 3 months ago

Virtual machine stop must wait past boat's graceful drain

VM stop timeout (30s) was shorter than the graceful shutdown it waited for, causing stale `Running` status even though the VM actually stopped.

@the-bokya #149 Read
fix other-apps 3 months ago

Bootstrap sets the server Active on success

Server bootstrap completed but never transitioned to `Active` status, leaving the documented adopt→Bootstrap→Active flow broken.

@the-bokya #151 Read
fix other-apps 3 months ago

Check upload on the parent instead of granting create

Drive's generic API was granting `create` unconditionally, bypassing the parent `upload` check that Drive's own endpoints enforce.

@ebrahimgamdiwala #578 Read
fix other-apps 3 months ago

Stop content_doctype/content_docname from being forged

A File document could link any Drive File to another user's content, inheriting full access and risking cascade deletion. Locked the fields to prevent forgery.

@ebrahimgamdiwala #570 Read

Monday, August 10

ERPNext 40.6k 9 updates
fix accounting 3 months ago

Validate webform for project

Web form permission validation now includes project context.

@nishkagosalia #57832 Read
fix accounting 3 months ago

Reflect in-invoice receivable credits in Sales Register ledger view

Ledger did not reflect in-invoice receivable credit entries.

@Shllokkk #57927 Read
fix accounting 3 months ago

Tolerate floating-point drift in sales team allocated percentage

Sales team allocations rejected valid allocations whose sum drifted due to float precision.

@Pandiyan5273 #57911 Read
fix stock-manufacturing 3 months ago

Negate stock value difference for outward transfer bundles

Outward stock value multiplied by itself instead of by −1; silently wrong until recalculation from qty.

@Pandiyan5273 #57914 Read
breaking accounting 3 months ago

Rename Italy's duplicate Customer name fields

Italy regional setup created custom first_name/last_name fields colliding with standard quick-entry fields added in #46281, breaking all subsequent custom fields on Customer.

@mihir-kandoi #57917 Read
fix accounting 3 months ago

Handling negative grand total

Sales Orders and Purchase Orders now allow negative totals when the negative-rate setting is enabled; validates rate and keeps quantities non-negative.

@nishkagosalia #57560 Read
fix accounting 3 months ago

Escape `customer_details` on lead creation from appointment

Unescaped customer_details field on appointment-to-lead creation could inject script.

@diptanilsaha #57947 Read
fix accounting 3 months ago

Sync open reference forms after Quality Inspection submit

QI updates references via raw db writes without emitting realtime events, leaving open forms stale. Now calls notify_update so browsers stay in sync.

@mihir-kandoi #57918 Read
fix accounting 3 months ago

Track semi finished goods production flow

BOM operations require FG/Semi FG items; adds validation, prevents duplicate item rows, and enforces the chain.

@mihir-kandoi #57895 Read
Frappe 11k 1 update
fix framework 3 months ago

Chrome pdf reliability and geometry issues

Chromium connection drops now fail in-flight commands instead of hanging; custom page size stored in mm was consumed as px (3.78× too small); header-spacing string crashed.

@iamejaaz #41710 Read
o Other 46 updates
feat other-apps 3 months ago

One search-and-select field with a real combobox

Three tools (World Clock, Weather, Dictionary) had near-identical search fields with accessibility bugs; unified into one real combobox.

@vibhavkatre #156 Read
feat other-apps 3 months ago

Serve Toolbox at the site root

Tools now at frappe.tools/calculator (not /toolbox/calculator); root itself is All Tools. Rebase required Frappe router integration.

@vibhavkatre #167 Read
feat other-apps 3 months ago

Audio Recorder: capture in the browser, save to the visitor's device

Recordings no longer stored on server (removes last owner-private records). Browser captures with 10-minute/100 MB limit, saves to device.

@vibhavkatre #161 Read
feat other-apps 3 months ago

Remove the authentication layer: no accounts, no stored user data

Toolbox now free public website with no accounts, no user records. DocTypes drop 22→5 (read-only reference data), backend LOC ~2,300.

@vibhavkatre #163 Read
feat other-apps 3 months ago

Remove the eight tools cut in the account-free pivot

Registry drops 23→15 tools. Expenses, Library, Reminders, Checklists, Notes (account-only) and Tone Generator, Metronome, Audio Inspector (focus) removed.

@vibhavkatre #159 Read
feat other-apps 3 months ago

Find a city by the name it is known by locally

GeoNames names places in most-common language, so "München" and "Roma" had no matches. Search now uses alternate names column.

@vibhavkatre #170 Read
feat other-apps 3 months ago

Move Weather off Open-Meteo to MET Norway and a bundled city dataset

Open-Meteo free tier is non-commercial only; moved to MET Norway CC BY 4.0 data and bundled city dataset, unblocking auth removal.

@vibhavkatre #169 Read
feat other-apps 3 months ago

Render per-route page metadata on the server

Each tool route now sends unique title, description, and structured data so crawlers and search engines know Weather and Calculator are different pages.

@vibhavkatre #174 Read
feat other-apps 3 months ago

Live "On this page" TOC beside the editor

"On this page" outline built from live ProseMirror doc beside editor; scrolls to headings on click. Collapses to reader strip on mobile.

@NagariaHussain #745 Read
feat other-apps 3 months ago

Editing nested fragments (dialogs inside dialog, dialogs inside studio component)

Nested overlays now show in breadcrumbs for easy navigation. Can now click overlay components on canvas to edit them.

@ruchamahabal #223 Read
feat other-apps 3 months ago

Add rate limits

Calendar event creation/edit mails invites to participants; new rate limits prevent fan-out abuse like outbound.send.

@s-aga-r #553 Read
feat ui-ux 3 months ago

Park the v0 TextEditor family in frappe-ui/experimental

Deprecated TextEditor moved to experimental for apps mid-migration; v0 imports redirected.

@netchampfaris #1008 Read
feat ui-ux 3 months ago

Feat(Alert)!: redesign for espresso 2.0, add SidebarCard

Alert redesigned content-driven with theme colours; SidebarCard split out as new sidebar promo card.

@netchampfaris #1005 Read
feat other-apps 3 months ago

Per-cell bold, italic and underline in whiteboard tables

Formatting applies to selected cell text or shift-clicked range. Model lives in cellRuns alongside plain-text cells.

@vibhavkatre #352 Read
feat other-apps 3 months ago

Drop the type glyph from Home's list rows

Type glyphs were neutral and only pushed titles right; row and header glyphs both removed.

@vibhavkatre #375 Read
feat other-apps 3 months ago

Icon-only Export and Share in the editor top bar

Export and Share now ghost icon buttons like Comments and the menu, one consistent row.

@vibhavkatre #368 Read
feat other-apps 3 months ago

Drop Rename from the "..." menu, and name the pin action Pin

Removed Rename (redundant with clickable title), renamed Favourite/Unpin to Pin with real pin icon.

@vibhavkatre #369 Read
feat other-apps 3 months ago

Flat, Frappe-Drive-style Home list with sortable headers

De-carded rows, flat table with hairline separators, hover and selected fill, sortable headers. QA'd live.

@vibhavkatre #349 Read
feat other-apps 3 months ago

Canvas toolbar frame and one selection resolver

Static toolbar below title bar as frame for moving all eight floating menus. Nothing moves yet, all bars work as before.

@vibhavkatre #366 Read
feat other-apps 3 months ago

Move the block selection's controls onto the canvas toolbar

22 controls from floating block editor become toolbar groups; makes toolbar real for default document type.

@vibhavkatre #372 Read
feat other-apps 3 months ago

Move the whiteboard controls onto the canvas toolbar

Three floating toolbars (selection editor, sticky note, table cell) moved to canvas toolbar.

@vibhavkatre #378 Read
feat other-apps 3 months ago

Move the mind-map and flowchart controls onto the canvas toolbar

Four floating bars folded into toolbar; bottom palette's map-wide actions consolidated.

@vibhavkatre #376 Read
feat other-apps 3 months ago

Split the insert palette onto the canvas toolbar

Bottom palette gone, five categories split into toolbar entries. Canvas is clear of floating chrome.

@vibhavkatre #380 Read
feat other-apps 3 months ago

Mind-map node redesign — monochrome look, Espresso colour, hover/selection, text menu

Nodes default to uniform gray box; colour is opt-in via Espresso swatch grid. Hover and selection consistent, no rotation, text-only formatting menu.

@vibhavkatre #345 Read
fix other-apps 3 months ago

Tune rate limits and cover missing endpoints

Rate limits were too tight for normal signup flow; adjusted and added missing endpoint coverage.

@s-aga-r #551 Read
fix other-apps 3 months ago

Handle missing entity_name in get_entity_with_permissions

Missing entity_name parameter raised TypeError 500 before error handling; now optional with graceful fallback.

@s-aga-r #548 Read
fix other-apps 3 months ago

Purge versions when a document is deleted

Drive's `clear_deleted_files` failed on Writer files because Writer Version links to deleted Writer Document; now purges versions on delete.

@s-aga-r #547 Read
fix other-apps 3 months ago

Compile recorder layout styles

Recorder layout styles now compiled.

@BreadGenie #552 Read
fix other-apps 3 months ago

Preserve unwrapped join response

Join response wrapping issue fixed.

@BreadGenie #549 Read
fix other-apps 3 months ago

Recording indicator sync with non hosts

Recording indicator did not sync across non-host participants.

@BreadGenie #554 Read
fix other-apps 3 months ago

Prevent flash while switching theme

Theme swap strobe — every transitioning element landed at different times. Suppress transitions during swap.

@NagariaHussain #746 Read
fix other-apps 3 months ago

Read the theme from the key the store writes it to

Theme resolver read from old localStorage key after migration; dark mode preference was lost.

@vibhavkatre #165 Read
fix other-apps 3 months ago

Name the tempo slider, drop dead slider attributes, use Badge amber

Slider never bound $attrs, so class and aria-label reached no element; seven sliders carried dead labels.

@vibhavkatre #154 Read
fix other-apps 3 months ago

Stop Button label from silencing the descriptive aria-label

Button label prop overwrote aria-label; 38 calculator keys lost descriptive names (√x announced as "√x" instead of "Square root").

@vibhavkatre #151 Read
fix other-apps 3 months ago

Bind slider values as arrays so they stop pinning to the minimum

All seven sliders bound scalars instead of arrays, pinning thumbs to minimum (120 BPM read as 30, 50% volume as 0).

@vibhavkatre #150 Read
fix other-apps 3 months ago

Finish #303 — tokenize pin star, Divider separators, off-scale text

Pin star tokenized, separators converted to ``, off-scale text normalized.

@vibhavkatre #350 Read
fix other-apps 3 months ago

Normalise off-scale text, dead borders, raw status colours to tokens

Off-scale `text-[Npx]`, dead `border-black/10`, and raw status colours across 28 files replaced with frappe-ui tokens.

@vibhavkatre #346 Read
fix other-apps 3 months ago

Remember the Home layout, and recover from a dead thumbnail

Home tile/list choice was not persisted; now survives reload. Dead thumbnail recovery added.

@vibhavkatre #371 Read
fix other-apps 3 months ago

Give JPEG its own icon in the export menu

PNG and JPEG both drew the same icon; JPEG now uses file-image for clarity.

@vibhavkatre #373 Read
fix other-apps 3 months ago

Drop Home's end-of-list marker, word each empty view for its tab

Unhelpful end-of-list marker ("reached the end") dropped; empty states now tailored per tab with actionable messaging.

@vibhavkatre #374 Read
fix other-apps 3 months ago

Let double-click open a table cell again

Double-clicking a whiteboard table cell selected the table instead of opening it for edit; selection change cleared editingCell.

@vibhavkatre #355 Read
fix other-apps 3 months ago

Make the sticky note's floating toolbar render again

Toolbar was a Teleport from an SVG `

@vibhavkatre #357 Read
fix ui-ux 3 months ago

Emit oklch from sync-tokens

sync-tokens regenerated colors.json in hex, reverting manual oklch conversion; now includes hex-to-oklch converter.

@netchampfaris #1001 Read
fix ui-ux 3 months ago

Fix(useCall)!: a throwing beforeSubmit cancels the submit

beforeSubmit throw was caught and logged without surfacing, request sent anyway. Now properly cancels submit and rejects.

@netchampfaris #1000 Read
fix ui-ux 3 months ago

Dedup host across sibling mounts

Inject guard in Dialogs.vue only saw ancestors, so sibling provider and slot content hosts both mounted and rendered dialogs twice.

@netchampfaris #1010 Read
fix ui-ux 3 months ago

Give setValue, delete and doc methods isolated call state

Multiple submit calls on the same useDoc member shared one useCall, so a second submit aborted the first mid-flight and both resolved off the same data ref.

@netchampfaris #1012 Read

Friday, August 7

ERPNext 40.6k 7 updates
feat accounting 3 months ago

Split exchange gain and exchange loss accounts

Adds Exchange Gain Account and Exchange Loss Account to Company so realized FX gain/loss books to separate accounts instead of one combined.

@Jatin3128 #57839 Read
fix accounting 3 months ago

Work order name in shop floor view

work order name in shop floor view

@rohitwaghchaure #57826 Read
fix accounting 3 months ago

Sync translations from crowdin

sync translations from crowdin

@frappe-pr-bot #57842 Read
fix accounting 3 months ago

Drop call to confirm_if_drafts_exist missing on v16

Removes call to missing utility on version-16-hotfix that prevented Material Request's "Create Purchase Orders by Supplier" dialog from working.

@mihir-kandoi #57833 Read
fix stock-manufacturing 3 months ago

Purchase return of batchwise valuation batch valued at original receipt rate instead of batch avg rate

Fixes batch valuations being calculated at original receipt rate instead of current average rate, which stranded negative residues in batch values.

@rohitwaghchaure #57835 Read
fix accounting 3 months ago

Round Production Plan mr_items quantity to field precision

Fixes floating-point precision loss in Material Request quantities derived from Production Plan, preventing unrounded values like 5738748.300863984 from entering the database.

@mihir-kandoi #57851 Read
fix accounting 3 months ago

Group work order actions under the Create menu

Consolidates Work Order create actions (Pick List, Material Request, Material Consumption, Additional Material Transfer) under a single Create menu instead of scattered buttons.

@mihir-kandoi #57854 Read
Frappe 11k 6 updates
feat framework 3 months ago

Ability to disable / enable app

Allows disabling/enabling apps without uninstalling, hiding their APIs, pages, doctypes, scheduled jobs while keeping data intact.

@tanmoysrt #41563 Read
fix framework 3 months ago

Honour the doctype default print format in generator downloads

Resolves omitted print_format through the same choke point as printview so generator downloads honor the doctype default consistently.

@iamejaaz #41645 Read
fix framework 3 months ago

Print the doctype default when a print format name does not resolve

Falls back to doctype default when print format name is stale or missing, covering renamed/deleted formats and null parameters.

@iamejaaz #41646 Read
fix framework 3 months ago

Fix user level validation

fix user level validation

@deepeshgarg007 #41502 Read
fix ui-ux 3 months ago

Fall back to record name for card title

Displays record name as fallback when a Kanban card's title field is missing or empty.

@nishkagosalia #41440 Read
fix framework 3 months ago

Remove request from render globals & place in exec globals

Removes request object from safe_exec render globals where it poses a security risk, moving it to exec globals.

@AarDG10 #41648 Read
HR 9k 2 updates
fix hr-payroll 3 months ago

Fix holiday count for date ranges spanning months

Fixes Monthly Attendance Sheet showing fewer holidays when date range spans month boundaries where day-of-month repeats (e.g. 15th of consecutive months).

@iamkhanraheel #5043 Read
fix hr-payroll 3 months ago

Enforce mandatory leave approver and sync leave approver name

Moves leave approver validation to server-side to prevent blank or mismatched approver names, with a patch to backfill existing records.

@iamkhanraheel #5056 Read
CRM 3.9k 1 update
fix crm-sales 3 months ago

Resolve @me filters in export all records flow

Fixes exports returning blank data when filters use the special `@me` value by resolving it to the logged-in user before serializing.

@Hemil-Sangani #2228 Read
Helpdesk 3.4k 1 update
fix other-apps 3 months ago

Truncate long recipient names in the popover

Fixes email composer popover scrolling sideways with long contact names by adding min-width constraint to flex text columns.

@aerodeval #3677 Read
Insights 1k 2 updates
feat other-apps 3 months ago

Let string filters match an exact value

Adds `equals` and `not equals` operators to string filters so users can match exact values without being limited to distinct-value picker.

@nextchamp-saqib #1283 Read
fix other-apps 3 months ago

Let a workbook owner share without an admin role

Allows workbook owners to share without Insights admin role by reading the share roster independently instead of relying on User listing permissions.

@nextchamp-saqib #1284 Read
p Press 575 4 updates
fix other-apps 3 months ago

Make billing overview page responsive

Make billing overview page responsive

@siduck #7132 Read
fix other-apps 3 months ago

Use query.run() to get servers

Uses SQL union support added in early 2024 instead of separate queries.

@ssiyad #7128 Read
fix other-apps 3 months ago

Add usage record to own team

Add usage record to own team

@shadrak98 #7137 Read
fix other-apps 3 months ago

Skip alerts for disabled teams and users

Skip alerts for disabled teams and users

@ssiyad #7136 Read
o Other 49 updates
feat other-apps 3 months ago

A batch of July bug fixes

Shell blanking while user-list request in flight, posts publishing with no body when save races with paste — four fixes across four commits.

@netchampfaris #534 Read
feat ui-ux 3 months ago

Two 1.0.0 freeze decisions: the at-bar checklist (ADR-0011) and the template-ref surface (ADR-0012)

Docs-only: adds at-bar checklist spec and ADR-0011 for public exports frozen at 1.0.0, plus ADR-0012 on template-ref surface decisions.

@netchampfaris #915 Read
feat other-apps 3 months ago

Parse `compose` + track modes-declared in the manifest

Adds `compose: list[str]` for ordered base recipe stacking and modes_declared flag to chef manifests.

@the-bokya #1 Read
feat other-apps 3 months ago

Retire the 4 per-VM systemd hooks — firecracker-vm@ boots via boat verbs

Replaces four per-VM Python ExecStartPre/Post hooks with byte-compatible boat verbs so units boot through daemon commands.

@the-bokya #136 Read
feat other-apps 3 months ago

Chef-facing API — neutral seam rename + bare-VM/snapshot/promote endpoints

Neutral seam rename (satellite→service), and adds chef-facing API: bare-VM provisioning, snapshot/promote endpoints.

@the-bokya #137 Read
feat other-apps 3 months ago

Add a Tone Generator tool

Pure-tone generator (20–20,000 Hz) with waveform selection, musical note snapping, and A4 / 1 kHz presets.

@vibhavkatre #91 Read
feat other-apps 3 months ago

Add a Metronome tool

Web Audio metronome: 30–300 BPM, accented downbeat, beats per measure, volume, tap tempo, and beat indicator.

@vibhavkatre #93 Read
feat other-apps 3 months ago

Add an Audio Inspector tool

Inspect audio files locally: duration, channels, size, type, waveform, and sample rate read from WAV headers.

@vibhavkatre #95 Read
feat other-apps 3 months ago

Open a saved recording in the Audio Editor

Adds "open in Audio Editor" action to library recordings for in-place trimming/fading without re-importing.

@vibhavkatre #99 Read
feat other-apps 3 months ago

Export edited audio as Opus, not just WAV

Adds compressed audio export using browser MediaRecorder/WebM Opus alongside lossless WAV.

@vibhavkatre #101 Read
feat other-apps 3 months ago

MariaDB variable editor

Introduces DB quick actions for Pilot-managed MariaDB: toggle Performance Schema, adjust InnoDB Buffer Pool, set max connections, restart.

@AyshaHakeem #362 Read
feat other-apps 3 months ago

Add Activity page

Add Activity page

@siduck #363 Read
feat other-apps 3 months ago

Add Global Searchbar

Add Global Searchbar

@siduck #365 Read
feat other-apps 3 months ago

Crop images

crop images

@GursheenK #494 Read
feat other-apps 3 months ago

Scheduled send and undo send via JMAP FUTURERELEASE

Implements Gmail-style undo send: emails held for 13 seconds with 10-second undo window.

@s-aga-r #501 Read
feat other-apps 3 months ago

Roll a team forward, month by month

Fixes simulator to roll state forward month-by-month instead of independently querying the database for each month.

@saurabh6790 #247 Read
feat other-apps 3 months ago

Project a team's billing before it happens

Billing simulator showing invoices and next-state for any team and period without actually running the billing operation.

@saurabh6790 #245 Read
feat other-apps 3 months ago

Say why collection will fail, when the data already knows

Adds collection failure prediction with three modes (Optimistic, Assumed, Derived) so operators know when a team can't be billed.

@saurabh6790 #246 Read
feat other-apps 3 months ago

Split billing decisions from their effects

Separates billing decision functions (rating, dunning) from their effects so rules can be queried without performing them.

@saurabh6790 #243 Read
feat other-apps 3 months ago

Drive the host verbs over HTTP, not SSH

Moves every host verb onto daemon's HTTP surface with journaled transport.

@the-bokya #2 Read
feat other-apps 3 months ago

/watch reconciler hub, `boat pool` verb, and token rotation

Publishes reconciler observations to /watch, adds boat pool verb, and implements token rotation with hard-expiry and SIGHUP reload.

@the-bokya #1 Read
feat other-apps 3 months ago

Drive the host verbs over HTTP, not SSH

Migrates host verbs from SSH to boat daemon HTTP transport so retried Tasks replay through operation journal rather than running twice.

@the-bokya #138 Read
feat other-apps 3 months ago

Drive the standalone base-image ship over HTTP

Finishes SSH→HTTP migration by running standalone base-image export through boat daemon HTTP surface.

@the-bokya #139 Read
feat other-apps 3 months ago

Mint, store, install and read the per-host Boat token

Server gains boat_token and boat_token_expires_at fields; Atlas mints fresh tokens instead of relying on operator-placed config.

@the-bokya #140 Read
feat other-apps 3 months ago

Disable and enable apps on a site

Pilot integration for disabling/enabling apps: reads disabled state from Frappe and offers inline re-enable on app removal.

@tanmoysrt #356 Read
feat other-apps 3 months ago

Export host and per-VM metrics to datum (spec ch.34)

Atlas control-plane half of metrics export: mints RS256 JWTs per resource, builds token files, and refreshes them on schedule.

@the-bokya #141 Read
feat other-apps 3 months ago

Push host and per-VM metrics to datum (+ /metrics endpoint)

Exports host and per-VM metrics from the boat daemon to frappe/datum with Prometheus /metrics endpoint support.

@the-bokya #3 Read
feat other-apps 3 months ago

Add live host utilization metrics (memory used, CPU, network, disk)

Adds host memory, CPU busy seconds, and network/disk byte counters read from /proc, exported to both datum push and /metrics endpoint.

@the-bokya #4 Read
fix other-apps 3 months ago

Raise on JMAP method-level errors in changes calls

Fixes fetch_changes crashing with misleading KeyError when JMAP server returns method-level errors in response.

@s-aga-r #505 Read
fix other-apps 3 months ago

Prevent flashbang while theme switching

Prevent flashbang while theme switching

@siduck #367 Read
fix other-apps 3 months ago

Sticky headers blending with dialog

Fixes sticky headers blending with modal dialogs by applying proper stacking context.

@siduck #364 Read
fix other-apps 3 months ago

Improve grafana chart representation

improve grafana chart representation

@BreadGenie #509 Read
fix other-apps 3 months ago

Restrict user access endpoint

restrict user access endpoint

@BreadGenie #499 Read
fix other-apps 3 months ago

Queue share notifications

queue share notifications

@BreadGenie #500 Read
fix other-apps 3 months ago

Allow uploads with unknown MIME types

allow uploads with unknown MIME types

@BreadGenie #502 Read
fix other-apps 3 months ago

Normalize backend storage paths

normalize backend storage paths

@BreadGenie #503 Read
fix other-apps 3 months ago

Only render children/slots if they exist

Fixes Avatar fallback and component defaults by not always passing empty default slots.

@ruchamahabal #220 Read
fix other-apps 3 months ago

Constrain local file storage paths

constrain local file storage paths

@BreadGenie #508 Read
fix other-apps 3 months ago

Stop assigning the Tenant Administrator role on Stalwart

Removes unnecessary Stalwart admin role assignment since mail admin calls are proxied through configured credentials.

@s-aga-r #506 Read
fix other-apps 3 months ago

Improve local network indicator

Uses server score and WebRTC stats to better detect network problems in Meet.

@BreadGenie #511 Read
fix other-apps 3 months ago

Widen beautifulsoup4 pin to resolve with frappe

Widens beautifulsoup4 pin range so a strict resolver can install frappe and suite together.

@s-aga-r #512 Read
fix other-apps 3 months ago

Allow serving files from bench root to support worktrees

Expands vite fs.allow to include symlinked app folders so Studio can serve worktree components.

@ruchamahabal #222 Read
fix other-apps 3 months ago

Auto-revert when the update phase fails

Automatically reverts a failed update back to the previous revision without user intervention when app/validation phases fail.

@tanmoysrt #368 Read
fix other-apps 3 months ago

Correct the DB analyzer's PostgreSQL diagnostics

Fixes database analyzer showing blank processes, incomplete storage, and incorrect lock info on PostgreSQL by adding engine-specific query paths.

@mihir-kandoi #358 Read
fix other-apps 3 months ago

Clone apps with full history on a dev install

Fixes dev installs cloning apps with depth=1, leaving them unusable to work on.

@mihir-kandoi #359 Read
fix other-apps 3 months ago

Prune temp packs left by a killed fetch

Cleans up orphaned git temporary pack files left by killed fetches that accumulate indefinitely and fill storage.

@tanmoysrt #369 Read
fix ui-ux 3 months ago

Keep the clock live so today moves at midnight

Fixes Calendar staying on yesterday past midnight and current-time line not moving by reading from a shared ticking ref instead of computing new Date() inside computeds.

@krantheman #919 Read
fix ui-ux 3 months ago

Stop a cached doc overwriting fresher data in docStore

Ensures cached documents don't land after fresh server data and move docRef backwards in time.

@netchampfaris #921 Read
fix other-apps 3 months ago

Stop a late document publish overwriting what was typed

Fixes three locations where stale cached documents overwrote user input by using the synced-field pattern to order IndexedDB and network updates.

@netchampfaris #535 Read

Thursday, August 6

ERPNext 40.6k 5 updates
fix stock-manufacturing 3 months ago

Incorrect batch-wise valuation rate for entries with same posting datetime

Tiebreaker now uses correct timeline instead of mixing Stock Ledger and Serial/Batch creation times.

@rohitwaghchaure #57803 Read
fix accounting 3 months ago

Do not copy Blanket Order naming series to the mapped order

Sales Orders and Quotes from Blanket Orders now use their own series instead of inheriting.

@Pandiyan5273 #57810 Read
fix accounting 3 months ago

Validate Blanket Order item quantity is greater than zero

fix: validate Blanket Order item quantity is greater than zero

@Pandiyan5273 #57793 Read
feat stock-manufacturing 3 months ago

Validate stock value and stock closing entry before period closing

Period Closing Voucher now validates stock ledger value and requires completed Stock Closing Entry.

@rohitwaghchaure #57811 Read
fix stock-manufacturing 3 months ago

Respect Customize Form hidden setting on Update Stock

Field hidden via Customize Form no longer reappears on refresh.

@Henil666 #57818 Read
Frappe 11k 13 updates
fix ui-ux 3 months ago

Show warning over same label

Workspace shortcuts with duplicate labels now show a warning.

@sokumon #41061 Read
feat framework 3 months ago

Add depreacted flag for doctype

Deprecated badge shown on doctypes.

@sokumon #41601 Read
feat framework 3 months ago

Add between operator to evaluate_filters

Filters can now use the `between` operator for range queries.

@barredterra #41610 Read
fix framework 3 months ago

Key rate limits on the endpoint, not on `cmd`

fix: key rate limits on the endpoint, not on `cmd`

@ankush #41436 Read
fix ui-ux 3 months ago

Skip desktop icon creation when the label is already taken

fix: skip desktop icon creation when the label is already taken

@sokumon #41493 Read
fix framework 3 months ago

Render filters as plain txt

Prevents injection via dashboard chart filter values.

@AarDG10 #41595 Read
fix framework 3 months ago

Return `Self | None` type from `doc.get_latest()`

Fixes return type annotation for better IDE and type checker support.

@cogk #41604 Read
fix ui-ux 3 months ago

Form does not render when form sidebar is disabled

fix: form does not render when form sidebar is disabled

@kaulith #41605 Read
fix ui-ux 3 months ago

Keep quick-list controls buttons visible without hover

fix(quick-list-widget): keep quick-list controls buttons visible without hover

@KerollesFathy #41309 Read
fix framework 3 months ago

Only check for enabled users

Document follow notifications now skip disabled users.

@AarDG10 #41613 Read
fix framework 3 months ago

Virtulization and pagination issue due to variable card height

Kanban board with mixed-height cards broke virtualization math; fixed by normalizing card heights.

@sumitjain236 #41616 Read
fix framework 3 months ago

Add perm. chk. to get_email_template

Prevents unauthorized access to email templates.

@AarDG10 #41603 Read
fix framework 3 months ago

Bump cryptography past three advisories

Addresses CVE-2026-69247 (Bleichenbacher oracle in pkcs7_decrypt), CVE-2026-69248 (wildcard SAN escape), and a third advisory.

@shariquerik #41589 Read
HR 9k 3 updates
feat hr-payroll 3 months ago

Enhance Unpaid Expense Claim report

Company, Department, Branch filters; Group By with subtotals.

@akhtarmohsin #4994 Read
fix hr-payroll 3 months ago

Use date strings for mark attendance date

fix: use date strings for mark attendance date

@nareshkannasln #4949 Read
fix hr-payroll 3 months ago

Fix incorrect ctc in salary component formula

Statistical salary components now correctly evaluate ctc in formulas.

@iamkhanraheel #5050 Read
CRM 3.9k 1 update
fix crm-sales 3 months ago

UseUnsavedChangesWarning to throw warning for dirty form

Dirty form warnings added to lead and deal pages.

@ps173 #2618 Read
LMS 3.3k 1 update
fix other-apps 3 months ago

Quiz remount follow-ups, upload privacy, modal submits and lesson media rate limit

Quiz cleanup on unmount; upload privacy statements; media rate limiting.

@raizasafeel #2650 Read
Insights 1k 3 updates
fix other-apps 3 months ago

Show the accounting nudge on the Accounting workspace

fix: show the accounting nudge on the Accounting workspace

@nextchamp-saqib #1265 Read
fix other-apps 3 months ago

Chart breaks when the chart type changes

Switching chart types no longer empties config slots.

@nextchamp-saqib #1277 Read
fix other-apps 3 months ago

Apply user permissions in data source exploration

Data source endpoints (table preview, row count, schema) now enforce user permission filters; closes a hole where users could preview all rows they weren't authorized to see.

@nextchamp-saqib #1279 Read
p Press 575 3 updates
fix other-apps 3 months ago

Stop advanced charts re-rendering forever

Prevents re-render loop on finished event.

@balamurali27 #7114 Read
fix other-apps 3 months ago

Set docker MTU before the enqueued setup plays

MTU now configured before enqueued jobs instead of after.

@balamurali27 #7122 Read
fix other-apps 3 months ago

Record failure when agent returns a non-JSON body

Handles 502 HTML errors from nginx instead of crashing on JSON decode.

@balamurali27 #7119 Read
o Other 40 updates
fix other-apps 3 months ago

ServerListPanel conflict regression

fix(servers): ServerListPanel conflict regression

@prathameshkurunkar7 #239 Read
fix other-apps 3 months ago

Legible AppShell chips

Replaced undefined ink tokens with legible background colors.

@vibhavkatre #78 Read
fix other-apps 3 months ago

Rely on VS Code port forwarding

Adapted to Frappe's localhost-only dev server.

@DanielRadlAMR #1953 Read
fix other-apps 3 months ago

Broken ci and linter

CI and linter configuration fixed; pre-commit run across all files.

@prathameshkurunkar7 #209 Read
feat other-apps 3 months ago

Audio Recorder slice

Browser-native Web Audio API; stores as private Frappe File.

@vibhavkatre #74 Read
feat other-apps 3 months ago

Receipts — validated private image/PDF

Attach receipt images/PDFs (JPEG/PNG/GIF/WebP/PDF, max 10 MB).

@vibhavkatre #75 Read
feat other-apps 3 months ago

Live ECB base-currency conversion

Fetches reference cross-rates from ECB; pre-fills conversion rate.

@vibhavkatre #76 Read
feat other-apps 3 months ago

Personal Expenses core

Private, owner-scoped tracker with rule-based categorization.

@vibhavkatre #69 Read
feat other-apps 3 months ago

Trips/Projects, Budgets, and bulk actions

Project/trip grouping, budget tracking, bulk categorization.

@vibhavkatre #70 Read
feat other-apps 3 months ago

SSRF-guarded link metadata fetch

Validates DNS resolution and IP ranges to prevent SSRF.

@vibhavkatre #72 Read
feat other-apps 3 months ago

On-device Script Conversion

Deterministic script conversion between Indic scripts without network.

@vibhavkatre #73 Read
feat other-apps 3 months ago

Mention organization users inline

@-mentions in composer; mentions render as mailto: links in sent mail.

@krantheman #490 Read
feat other-apps 3 months ago

Suite setup

Setup wizard with welcome, workspace config, team invites, completion.

@GursheenK #96 Read
feat other-apps 3 months ago

Add Global search bar

feat(ui): Add Global search bar

@siduck #237 Read
feat other-apps 3 months ago

Add support for claims match

feat: Add support for claims match

@Aradhya-Tripathi #2 Read
fix other-apps 3 months ago

Cleaner Parent Node icon + rename the mind-map insert tile

Tile renamed from "Mind map" to "Parent Node".

@vibhavkatre #256 Read
fix other-apps 3 months ago

Node text renders live while typing

Text editor paints above shape layers.

@vibhavkatre #268 Read
fix other-apps 3 months ago

Mind-map branch connectors curve symmetrically up and down

fix: mind-map branch connectors curve symmetrically up and down

@vibhavkatre #277 Read
fix other-apps 3 months ago

Mind-map branch connectors are structural

Connectors no longer selectable/editable; colour tracks child node.

@vibhavkatre #278 Read
feat other-apps 3 months ago

Mind-map children aren't freely draggable; dragging a root moves the whole map

feat: mind-map children aren't freely draggable; dragging a root moves the whole map

@vibhavkatre #280 Read
feat other-apps 3 months ago

Mind-map & flowchart nodes select to a plain border

Auto-layout nodes show selection outline only, no resize handles.

@vibhavkatre #281 Read
feat other-apps 3 months ago

Subtle hover outline on the shape under the cursor

Blue halo indicates interactivity on hover.

@vibhavkatre #282 Read
feat other-apps 3 months ago

Dropping a Parent Node drops you straight into typing

"New idea" seeded and pre-selected.

@vibhavkatre #283 Read
feat other-apps 3 months ago

Mind-map gap-insertion add-node handles

Mind-map nodes show gap-insertion (+) handles for each insertion slot between children.

@vibhavkatre #286 Read
feat other-apps 3 months ago

Recorder polish — presets, device, live waveform, tags

Quality presets (Voice/Music, compact/standard/high), device selection, live waveform, tagging.

@vibhavkatre #85 Read
feat other-apps 3 months ago

Simple WAV editor / trimmer

Single-track audio editor built on browser-native Web Audio.

@vibhavkatre #87 Read
feat ai 3 months ago

Move the update prompt into the sidebar footer

PWA update prompt moved from floating card to compact sidebar pill.

@vibhavkatre #89 Read
feat ui-ux 3 months ago

Refactor(editor)!: open a suggestion menu with a command, not an export

refactor(editor)!: open a suggestion menu with a command, not an export

@netchampfaris #914 Read
fix ui-ux 3 months ago

Stop coercing neutral ink to a hue, and open suggestion menus from a button

Editor ink stays neutral; suggestion menus open from a toolbar button.

@netchampfaris #912 Read
feat other-apps 3 months ago

Atlas → Boat: the cutover

VM mechanics split into the Boat Go daemon.

@the-bokya #133 Read
feat other-apps 3 months ago

Upgrade an existing host's boat generation without a re-bootstrap

`Server.upgrade_boat()` brings a bootstrapped host up to the boat generation without full re-bootstrap.

@the-bokya #134 Read
feat other-apps 3 months ago

Backend notification layer

Unified dispatch engine with in-app feed API, per-user read state, and email audit logging.

@lrxyab #202 Read
feat other-apps 3 months ago

Mint metrics tokens for Datum

feat: Mint metrics tokens for Datum

@Aradhya-Tripathi #240 Read
fix other-apps 3 months ago

Run e2e tests as suite user

Tests now run as suite user instead of admin.

@BreadGenie #498 Read
fix other-apps 3 months ago

Add copy link action to creation toast

fix(meet): add copy link action to creation toast

@BreadGenie #497 Read
fix other-apps 3 months ago

Improve ui consistency

fix(drive): improve ui consistency

@BreadGenie #492 Read
fix other-apps 3 months ago

Keep bracketed addresses out of the HTML parser

Addresses like `` in message bodies no longer get dropped by the sanitizer.

@krantheman #491 Read
fix other-apps 3 months ago

Letterboxed, overflowing YouTube embeds on the public reader

YouTube embeds with mismatched aspect ratios now constrain to 16:9 and respect max-width.

@NagariaHussain #744 Read
fix other-apps 3 months ago

Assign Wiki User role without triggering nested User.save()

Prevents duplicate background task enqueues in multi-worker setups.

@ManyaGirdhar #734 Read
fix other-apps 3 months ago

Sanitize name and validate email before indexing addresses

Strips quote characters from display names and validates email syntax to prevent FTS index parsing errors.

@s-aga-r #495 Read

Thursday, July 30

ERPNext 40.6k 4 updates
fix accounting 3 months ago

Skip e-invoicing for opening invoices

fix(italy): skip e-invoicing for opening invoices

@krishna-254 #57314 Read
fix accounting 3 months ago

Let Purchase Receipt cancel defer to Frappe's linked-document check

Purchase Receipt cancellation now defers to Frappe's framework check for submitted linked documents instead of duplicating the guard.

@Jatin3128 #57592 Read
fix accounting 3 months ago

Don't require cancel and delete perms to remove items via Update Items

fix: don't require cancel and delete perms to remove items via Update Items

@mihir-kandoi #57601 Read
fix accounting 3 months ago

Don't require cancel and delete perms to remove items via Update Items

Removing rows in Update Items no longer requires Cancel and Delete permissions on the order; only Write is needed.

@kaulith #57419 Read
Frappe 11k 11 updates
feat ui-ux 3 months ago

Builder-like editing experience

Print format builder now matches Website Builder's editing feel with unified selection ring, proper layering, and draggable sections.

@iamejaaz #41319 Read
feat ui-ux 3 months ago

Print format builder editing UX polish

Print format builder now hides per-item toolbars during bulk selection, uses consistent selection ring across all elements, and adds bulk rename/delete.

@iamejaaz #41322 Read
fix framework 3 months ago

Check calendar date fields against the doctype schema

`get_events` now rejects field maps naming start/end fields that don't exist, giving clear error instead of database error.

@ankush #41324 Read
fix ui-ux 3 months ago

Clean up tab buttons and calendar UI

Refreshed tab button and calendar UI styling for consistency.

@nikkothari22 #41278 Read
fix framework 3 months ago

Keep the selection ring above field content

Print format builder selection ring now drawn as inset overlay instead of outline, and permission check falls back to boot.user when doctype meta unavailable.

@iamejaaz #41330 Read
fix ui-ux 3 months ago

Mobile list scrolling, large-list performance, and virtual skeletons

Fixed double scroll on mobile, pinned pagination to bottom, removed horizontal scroll on card layout, and improved virtual skeleton rendering.

@nikkothari22 #41333 Read
fix framework 3 months ago

Check permissions before returning a contact number for SMS

Contact number lookup now requires read access on both the contact and reference document.

@ankush #41327 Read
fix framework 3 months ago

Limit cross-user event lookups to System Manager

The `user` parameter of `get_events` now requires System Manager role; callers without it only see their own events.

@ankush #41326 Read
fix framework 3 months ago

Resolve inline email image paths inside the assets and site files directories

Inline image paths in outgoing email now resolve only inside the assets directory and site public/private files directories.

@ankush #41325 Read
fix framework 3 months ago

Limit Prepared Report access to the user who generated it

Prepared Report results now limit access to the owner based on user permissions; System Managers and explicitly shared documents unaffected.

@ankush #41328 Read
fix ui-ux 3 months ago

Require read access on the prepared report before queuing its CSV export

The `enqueue_json_to_csv_conversion` endpoint now checks read permission on the Prepared Report before queuing conversion.

@ankush #41329 Read
CRM 3.9k 8 updates
fix crm-sales 3 months ago

Make button direct child so trigger values are capturable

fix: make button direct child so trigger values are capturable

@ps173 #2570 Read
fix crm-sales 3 months ago

Misc frappe-ui fixes

Fixed massive Combobox width due to field description.

@shahzeelahmed #2578 Read
feat crm-sales 3 months ago

Capture new feature adoption daily

Daily feature adoption tracking captured when telemetry enabled.

@shahzeelahmed #2572 Read
fix crm-sales 3 months ago

Misc frappe-ui fixes

Multiple UI fixes including full-name column headers, ID icon in filter dropdown, full-width Field Combobox, and Combobox in filters.

@shahzeelahmed #2568 Read
fix crm-sales 3 months ago

Like button

fix: like button

@ps173 #2575 Read
fix crm-sales 3 months ago

Render saved-view lucide icons in the view dropdown

fix(views): render saved-view lucide icons in the view dropdown

@michellealva #2573 Read
fix crm-sales 3 months ago

App sidebar background in dark mode

fix: app sidebar background in dark mode

@ps173 #2582 Read
fix crm-sales 3 months ago

Support ERPNext v15's price list in deal view

fix: support ERPNext v15's price list in deal view

@shahzeelahmed #2585 Read
LMS 3.3k 5 updates
fix other-apps 3 months ago

Open link in new tab to avoid context

Links in lesson content now open in new tab via DOM sanitization on render.

@Bowrna #2621 Read
feat other-apps 3 months ago

Give every list page one declarative layout

List pages now use unified declarative layout components (ListPage, ListPageHeader, etc.) instead of hand-rebuilt duplicates, fixing mobile view.

@raizasafeel #2622 Read
feat other-apps 3 months ago

Make student view a real route instead of editor mode

Student view moved from CourseEditor second surface to a real route at /courses/:course/learn/:ch-:lesson, eliminating embedded preview surface.

@raizasafeel #2629 Read
fix other-apps 3 months ago

Accept any casing of an Indian state at checkout

Indian state field now uses a Combobox over the canonical list instead of free text validation, and includes all union territories that were missing.

@raizasafeel #2627 Read
fix other-apps 3 months ago

Batch fix_progress_percentage so migrate survives large sites

Migration patch that walked every LMS Enrollment and issued one set_value per row now batches counts into two queries, preventing TooManyWritesError on large sites.

@raizasafeel #2623 Read
b Builder 2.5k 1 update
fix ui-ux 3 months ago

Collapse empty Autocomplete instead of showing a blank sliver

Autocomplete now hides the container when search returns no matches instead of showing an empty bordered box.

@stravo1 #696 Read
Insights 1k 1 update
feat other-apps 3 months ago

Allow serving the app from a custom path

Insights can now serve from custom path via `insights_path` site config for sites that use /insights for something else.

@nextchamp-saqib #1262 Read
p Press 575 2 updates
fix other-apps 3 months ago

Keep one-time passwords out of Account Request

One-time passwords now stored in cache instead of Account Request, fixing login failures for teams created outside Team.create_new.

@ssiyad #7078 Read
fix other-apps 3 months ago

Encrypt TLS private keys at rest

TLS private keys stored plaintext in the database were encrypted at rest using Password fields, keyed by the site's encryption_key.

@regdocs #7065 Read
o Other 40 updates
fix other-apps 3 months ago

Wire up three unreachable UI affordances

Cross-link deletion, text resize via corner drag, and nested element selection now wired to UI.

@vibhavkatre #33 Read
fix other-apps 3 months ago

App install consistency

App Install dialog now reused everywhere for consistency.

@Aradhya-Tripathi #301 Read
fix other-apps 3 months ago

Add spacing between navlinks and btns in sidebar

Sidebar navlink items can now have custom classes for additional customization.

@siduck #203 Read
feat other-apps 3 months ago

Add binlog purge dialog and alert for server page

feat: add binlog purge dialog and alert for server page

@siduck #296 Read
feat other-apps 3 months ago

Add audit follow-ups

Added background migration notifications, hang-guard records, rollback safety, and parser hardening from product audit.

@parthgarachh #74 Read
fix other-apps 3 months ago

Trim the message content if it's too long in toast

fix(meet): trim the message content if it's too long in toast

@BreadGenie #376 Read
fix other-apps 3 months ago

Chat notifications and chat ordering

fix(meet): chat notifications and chat ordering

@BreadGenie #375 Read
fix framework 3 months ago

Skip worktrees

fix(dev): Skip worktrees

@ankush #1727 Read
fix other-apps 3 months ago

Point default-branch references at develop

Default branch updated from main to develop in install.sh and README.

@mihir-kandoi #299 Read
feat other-apps 3 months ago

Implement staging trial provisioning for teams

feat(staging_trial): implement staging trial provisioning for teams

@prathameshkurunkar7 #211 Read
feat other-apps 3 months ago

Add loan reporter role

feat: Add loan reporter role

@deepeshgarg007 #1358 Read
feat other-apps 3 months ago

Bootstrap enrollment for Central and Pilot

Provisioning now hands benches single-use bootstrap tokens instead of durable credentials; benches mint their own via `bench enroll`.

@prathameshkurunkar7 #116 Read
feat other-apps 3 months ago

Run Backup Site on a dedicated queue and worker

Backup Site now runs on its own `backup` queue and worker, preventing long backups from stalling other operations.

@balamurali27 #567 Read
feat other-apps 3 months ago

Installable PWA with iOS launch screens

Mail now installable as PWA with iOS launch screens; manifest and iOS metas attached only when on /mail route.

@krantheman #389 Read
fix other-apps 3 months ago

Admin bench create/drop accept install.sh's scoped nginx sudo grant

Admin API bench create/drop now check scoped nginx sudo grant instead of bare sudo, fixing bench operations on install.sh-provisioned hosts.

@tanmoysrt #305 Read
fix other-apps 3 months ago

Bench address/manager reflect config immediately, not after full setup

fix: bench address/manager reflect config immediately, not after full setup

@tanmoysrt #308 Read
fix other-apps 3 months ago

Safer db provisioning and port defaults

MariaDB/Postgres default ports changed to 3310/5450, fixed stale systemd unit survival, and added timeout error raising.

@tanmoysrt #312 Read
fix other-apps 3 months ago

Map domain-provider exit 2 to a declined conflict, not unavailable

Domain provider exit code 2 (declined) now raises DomainConflictError instead of DomainProviderError, mapping to 409 instead of vague unavailability.

@tanmoysrt #302 Read
fix other-apps 3 months ago

Show the declined-domain provider message to the caller

Admin API now shows actual provider error messages instead of one fixed generic string.

@tanmoysrt #303 Read
fix other-apps 3 months ago

Prevent NaN for storage stats for macos

fix(ui): Prevent NaN for storage stats for macos

@siduck #304 Read
fix other-apps 3 months ago

Shadow DOM with css tokens

Shadow DOM now ships with its own CSS tokens instead of depending on desk's.

@prathameshkurunkar7 #313 Read
fix other-apps 3 months ago

Restore live site (asset-hash mismatch) + cap fieldnames at 64 chars

Repointed forms.html to actually-committed asset hashes and capped fieldnames at 64 chars.

@AsifMulani1 #3 Read
fix other-apps 3 months ago

Surface JMAP errors from sieve script set calls

Sieve script create/update/delete now properly detects and surfaces JMAP method-level errors instead of silently dropping them.

@s-aga-r #374 Read
fix other-apps 3 months ago

Show description on hover of SPF, DKIM and DMARC result

Mail MIME view now includes parsed Authentication-Results for each check and shows it as a tooltip.

@s-aga-r #383 Read
fix other-apps 3 months ago

Keep attachment blob URLs alive so Safari can download them

Attachment blob URLs now revoked on a delay instead of immediately after anchor click, letting Safari fetch before revocation.

@krantheman #386 Read
fix other-apps 3 months ago

Focus subject input when its label is clicked

Composer subject row now wrapped in label so clicking "Subject" text focuses the input.

@krantheman #384 Read
fix other-apps 3 months ago

Classify ledgers under a renamed reserved Tally group

Ledger classification now uses a renamed reserved Tally group's internal ID instead of display name, preserving account_type.

@parthgarachh #72 Read
fix other-apps 3 months ago

Fix/unicommerce display order and invoice fixes

Invoice generation now handles Unicommerce rejections via SQL error handling, and Sync Old Orders backfills Display Order No.

@Bhavathariniya #457 Read
fix other-apps 3 months ago

Allow cancel of security amount Loan Refund

Loan Refund cancellation now skips available-amount check and correctly adds refund amount back to security deposit.

@Nihantra-Patel #1357 Read
feat other-apps 3 months ago

Name a thread row after everyone who wrote in it

Inbox thread rows now name participants in order they first wrote, with user's own addresses collapsed to `me`.

@krantheman #397 Read
fix other-apps 3 months ago

Keep the in-cell editor pinned to its cell

In-cell editor position now updates continuously instead of only on selection, keeping it pinned to the edited cell through scrolling and zoom.

@AsifMulani1 #373 Read
fix other-apps 3 months ago

Decide the layout tier once, at load

Mobile and desktop layout tiers now decided once at load instead of re-swapping on resize, preventing unmounting of open surfaces.

@krantheman #394 Read
fix other-apps 3 months ago

Stop filter/pivot range outline from displacing the grid

Filter and pivot range outline now drawn at viewport extent instead of full range extent, preventing grid displacement.

@AsifMulani1 #393 Read
fix other-apps 3 months ago

Skip stale accounts in automation sieve rebuild patch

Automation sieve rebuild patch now skips stale account rows from before the account reshape.

@s-aga-r #396 Read
fix other-apps 3 months ago

Show an error page when the mail server is unavailable

Mail server connection failures now show an error page instead of rendering a blank page or opaque 500 errors.

@s-aga-r #382 Read
fix other-apps 3 months ago

Generate DB credentials at bench init, not bench new

MariaDB/Postgres root passwords now generated at bench initialization instead of bench creation, fixing the setup wizard's "use existing database" false positive.

@tanmoysrt #307 Read
fix other-apps 3 months ago

Bench creation from a production sibling inherits its TLS choice

Bench creation now matches parent's admin.tls setting when unspecified and parent is production.

@tanmoysrt #306 Read
fix other-apps 3 months ago

Keep branch name attached after pinned-commit/tag checkout

App repos now land on their configured local branch after pinned-commit/tag checkout instead of detached HEAD.

@tanmoysrt #317 Read
fix other-apps 3 months ago

Hang-guard record identity + XML DOCTYPE/entity bypass

Fixed record identity lookup that misread Tally keys and added XML DOCTYPE/entity parsing guards to prevent bypass attacks.

@parthgarachh #73 Read
fix other-apps 3 months ago

Address audit findings across calendar, mail, store, suite_core and utils

Fixed privilege escalation to site takeover in admin member endpoints that accepted caller-supplied User names without permission checks.

@s-aga-r #380 Read

Wednesday, July 29

ERPNext 40.6k 28 updates
feat accounting 3 months ago

Taxable-base resolver hook for custom charge types

Allows custom taxable value calculation for taxes (e.g., tax on MRP in India, differently-determined taxes in Brazil).

@vorasmit #56175 Read
feat accounting 3 months ago

Add four Request for Quotation print formats built with the print format builder

Four new print formats (Bordered, Classic, Modern, Modern with Images) added to Request for Quotation.

@khushi8112 #57451 Read
feat accounting 3 months ago

Add four Quotation print formats built with the print format builder

Four new print formats (Bordered, Classic, Modern, Modern with Images) added to Quotation.

@khushi8112 #57450 Read
feat accounting 3 months ago

Add four POS Invoice print formats built with the print format builder

Four new print formats (Bordered, Classic, Modern, Modern with Images) added to POS Invoice.

@khushi8112 #57449 Read
feat accounting 3 months ago

Add four Purchase Invoice print formats built with the print format builder

Four new print formats (Bordered, Classic, Modern, Modern with Images) added to Purchase Invoice.

@khushi8112 #57447 Read
feat accounting 3 months ago

Add four Purchase Order print formats built with the print format builder

Four new print formats (Bordered, Classic, Modern, Modern with Images) added to Purchase Order.

@khushi8112 #57446 Read
feat accounting 3 months ago

Add four Delivery Note print formats built with the print format builder

Four new print formats (Bordered, Classic, Modern, Modern with Images) added to Delivery Note.

@khushi8112 #57445 Read
feat accounting 3 months ago

Add four Sales Order print formats built with the print format builder

Four new print formats (Bordered, Classic, Modern, Modern with Images) added to Sales Order.

@khushi8112 #57437 Read
feat accounting 3 months ago

Add four Sales Invoice print formats

Four new print formats (Bordered, Classic, Modern, Modern with Images) added to Sales Invoice.

@khushi8112 #57430 Read
fix stock-manufacturing 3 months ago

Fall back to UOM Conversion Factor in Production Plan

Backport of UOM Conversion Factor fallback for v15-hotfix.

@mihir-kandoi #57554 Read
fix accounting 3 months ago

Stop the Subcontracting Receipt title from going stale

Subcontracting Receipt title now updates when the supplier changes instead of staying stale.

@mihir-kandoi #57522 Read
fix stock-manufacturing 3 months ago

Update cost of BOMs created via BOM Creator

BOMs created via BOM Creator can now have their costs updated via the Update Cost button or BOM Update Tool.

@mihir-kandoi #57532 Read
fix accounting 3 months ago

Stop storing raw title template on subcontracting orders

Subcontracting Order and Inward Order titles now render templates correctly instead of storing literal `{supplier_name}` / `{customer_name}`.

@Pandiyan5273 #57493 Read
fix stock-manufacturing 3 months ago

Scope manufacturing warehouse filters to company

Default WIP, Finished Goods and Scrap Warehouse fields now list only warehouses from the current company.

@mihir-kandoi #57540 Read
fix accounting 3 months ago

Recover failed POS closings

POS Closing Entry can now be cancelled and resubmitted when its status is Failed.

@krishna-254 #57203 Read
fix accounting 3 months ago

Correct description on deferred revenue/expense

Field descriptions now correctly explain deferred revenue vs. expense behavior.

@Shllokkk #57566 Read
fix accounting 3 months ago

Add permission check for `get_item_details`

Adds user permission validation to prevent unauthorized item detail access via the API.

@diptanilsaha #57515 Read
fix accounting 3 months ago

Clear deferred revenue/expense fields on uncheck

Service Start and End Date fields now clear when Deferred Revenue is unchecked on a Sales Invoice.

@ervishnucs #57140 Read
fix accounting 3 months ago

Replace incorrect usage of `frappe.in_test` with `frappe.flags.in_test`

Corrects test flag references in Purchase Price Change Validation.

@diptanilsaha #57579 Read
fix stock-manufacturing 3 months ago

Skip stock expense GL entries for non-stock items

Service items in Purchase Invoices no longer generate empty GL entries, fixing validation failures on stock expense accounts.

@rohitwaghchaure #57518 Read
fix stock-manufacturing 3 months ago

Fall back to UOM Conversion Factor in Production Plan

Production Plan now silently falls back to the UOM Conversion Factor doctype instead of throwing when an item lacks a purchase-UOM child row.

@mihir-kandoi #57553 Read
fix stock-manufacturing 3 months ago

Guard against None row in get_stock_balance_for

Batch-tracked items called via API with no row parameter no longer crash on `row.use_serial_batch_fields`.

@Pandiyan5273 #57567 Read
fix stock-manufacturing 3 months ago

Respect child warehouse account override in Stock and Account Value Comparison

Child warehouses that override their parent's account are now correctly scoped to their own account, preventing in-transit transfers from cancelling under the same account.

@Shllokkk #57552 Read
fix accounting 3 months ago

Stop storing "{supplier_name}" / "{customer_name}" as the document title

Purchase Order, Sales Order, and Subcontracting Order now render title templates correctly instead of storing the literal placeholder.

@mihir-kandoi #57524 Read
fix accounting 3 months ago

Update operating cost when propagating workstation hour rate to routing

Propagates workstation hour rate changes to operating_cost in linked Routing BOM Operation rows.

@Shllokkk #57471 Read
fix stock-manufacturing 3 months ago

Scope BOM Creator tree children to the parent row

When the same item is reused as a sub-assembly in multiple places, each occurrence now shows only its own raw materials instead of the union of all occurrences.

@mihir-kandoi #57528 Read
fix stock-manufacturing 3 months ago

Sum semi-FG qty across split job cards

Fixes second job card overwriting the first's quantity instead of accumulating; work order now correctly totals produced_qty across all split cards.

@mihir-kandoi #57521 Read
fix accounting 3 months ago

Stop swallowing exceptions silently in six places

Converted silent `except Exception: pass` handlers to proper logging or intentional raises across Pricing Rule conditions, Payment Request validation, Supplier Quotation, and others.

@mihir-kandoi #57535 Read
Frappe 11k 14 updates
feat framework 3 months ago

Add reload option to user dropdown menus

Hard reload option re-added to both sidebar and Desk avatar dropdown menus.

@Shllokkk #41277 Read
feat framework 3 months ago

Add in-app cloud settings embed

Desk now includes an in-app Frappe Cloud Settings dialog for billing, marketplace apps, domains, and advanced settings without leaving the app.

@prathameshkurunkar7 #41293 Read
feat ui-ux 3 months ago

Layers panel (drag-drop + hover) and builder UX cleanup

Print format builder now has a draggable Layers panel for reordering sections/fields, hover field outline, and drop-field overlay inset to page edge.

@iamejaaz #41316 Read
fix framework 3 months ago

Sanitize UTF-16 surrogate codepoints before FTS

Full-text search now handles UTF-16 surrogate codepoints without corruption.

@Bowrna #41271 Read
fix framework 3 months ago

Prevent Jump to Field dialog from stacking

Jump to Field dialog no longer stacks when opened multiple times.

@ankush #41151 Read
fix framework 3 months ago

Restructure restore without a copy and remove unused verbose

Database restore is now simpler and more efficient.

@Bowrna #41260 Read
fix framework 3 months ago

Role permissions manager breaks browser back navigation

Role Permissions Manager now preserves browser back history correctly when called from list view menu.

@Nihantra-Patel #41289 Read
fix framework 3 months ago

Isolate msgprint cases on a fresh page

Msgprint tests now run on isolated pages to prevent CI flakes from dialog state inheritance.

@kaulith #41306 Read
fix framework 3 months ago

Handle large int serialization

Large integers now serialize correctly in JSON responses (reverts orjson regression).

@ankush #41308 Read
fix ui-ux 3 months ago

None link handled and fixed except handler

Desktop icon with None link no longer crashes with unhandled exception.

@Bowrna #41296 Read
fix ui-ux 3 months ago

Run before_print in builder renderer; guest-only 403 login

Print builder renderer now runs before_print hooks and sets link titles for beta PDF downloads.

@iamejaaz #41290 Read
fix ui-ux 3 months ago

Don't assume frappe.app exists when checking session expiry

Session expiry checks no longer crash on requests fired before app boot.

@sokumon #41292 Read
fix framework 3 months ago

Publish last_query so assertQueryCount works on SQLite

SQLite driver now publishes `last_query` so assertQueryCount works on SQLite like it does on MariaDB and Postgres.

@netchampfaris #41315 Read
fix framework 3 months ago

Msgprint loses its message when a save response follows

Client-side msgprint no longer loses its body when a request completes immediately afterwards.

@kaulith #41244 Read
CRM 3.9k 8 updates
fix crm-sales 3 months ago

Improve `PrimaryDropdown` ux and new `IndicatorIcon`

PrimaryDropdown migrated to ItemListRow with inline actions and a new Indicator icon.

@ps173 #2552 Read
feat crm-sales 3 months ago

Migrate Autocomplete to Combobox

16 pickers migrated from old Autocomplete API to new Combobox with updated slot and event signatures.

@shahzeelahmed #2553 Read
feat crm-sales 3 months ago

Migrate to frappe-ui sidebar

CRM now uses frappe-ui sidebar component and updated to frappe-ui v1.0.0-beta.24.

@ps173 #2562 Read
feat crm-sales 3 months ago

Lucide icon picker for views

View modal now uses frappe-ui's searchable lucide icon picker with ~1000 icons instead of emoji-only picker.

@michellealva #2557 Read
fix crm-sales 3 months ago

Search and selector/dropdown widths

Search and dropdown components now render at correct widths.

@ps173 #2558 Read
fix crm-sales 3 months ago

Require a name to create/save a view

Save button is now disabled until the view label is non-empty (trimmed).

@michellealva #2560 Read
fix crm-sales 3 months ago

Play call recordings reliably

Call recordings now play with correct duration and seek support by streaming provider responses and forwarding HTTP Range headers.

@michellealva #2563 Read
fix crm-sales 3 months ago

Quick filters not working

Fixes TypeError when applying quick filters due to null reference in ViewControls.

@shahzeelahmed #2548 Read
Helpdesk 3.4k 1 update
fix other-apps 3 months ago

Move ticket's feedback to sidepanel

Ticket feedback UI now lives in the side panel for better UX.

@RitvikSardana #3631 Read
LMS 3.3k 1 update
fix other-apps 3 months ago

Lesson editor formatting, profile permissions, and Razorpay order creation

Bold formatting now works in all editor blocks, headings are single-line, profile IDOR closed, and Razorpay order ID extraction fixed.

@raizasafeel #2613 Read
b Builder 2.5k 1 update
fix ui-ux 3 months ago

Regenerate block ids when pasting at root with no selection

fix: regenerate block ids when pasting at root with no selection

@stravo1 #698 Read
Insights 1k 2 updates
feat other-apps 3 months ago

Reference lines, funnel-from-measures, percent measures

Charts now support horizontal reference lines, funnels from multiple measures, and percent-formatted measures.

@nextchamp-saqib #1260 Read
fix other-apps 3 months ago

Restore PNG export for dashboards and charts

PNG export now works by replacing unmaintained dom-to-image with html-to-image fork, which properly encodes SVG data URIs.

@nextchamp-saqib #1261 Read
p Press 575 6 updates
feat other-apps 3 months ago

Prebundle headless Chromium in prod bench image

feat(server): Prebundle headless Chromium in prod bench image

@regdocs #6904 Read
fix other-apps 3 months ago

Derive document ownership from a declared table

Document ownership rules now live in a declared table instead of field sniffing, covering partner records, SSH keys, firewalls, app plans, and child rows.

@ssiyad #7069 Read
feat other-apps 3 months ago

Add public IP for hetzner

Hetzner servers now support public IP configuration.

@20vikash #7070 Read
feat other-apps 3 months ago

Set docker MTU during Hetzner server creation

Docker MTU is now set during Hetzner server creation to match the 1450 MTU of Hetzner's private network.

@balamurali27 #7066 Read
fix other-apps 3 months ago

Refresh access token after app (re)installation

GitHub app reinstallation no longer leaves stale tokens; the callback now refreshes on `installation_id` even when no `code` is present.

@regdocs #6731 Read
fix other-apps 3 months ago

Accept team invite as Administrator so member side effects don't fail

Invited team members can now accept invites without permission errors from side effects like Email Group Member creation.

@regdocs #6934 Read
o Other 29 updates
fix other-apps 3 months ago

Misc fixes

fix: misc fixes

@ankush #57 Read
feat other-apps 3 months ago

Add "Published pages only" filter to Broken Links report

feat: add "Published pages only" filter to Broken Links report

@NagariaHussain #704 Read
feat other-apps 3 months ago

Storage cards in server page

feat: Storage cards in server page

@siduck #288 Read
feat other-apps 3 months ago

Add draft-security-advisory skill for writing GitHub Security Advisories

feat: add draft-security-advisory skill for writing GitHub Security Advisories

@diptanilsaha #10 Read
fix other-apps 3 months ago

Reload site uptime chart when site name changes

SiteUptime component now watches both siteName and window, matching the pattern used by SiteInsights.

@tanmoysrt #291 Read
fix other-apps 3 months ago

Keep a BOM when its Tally secondary allocations exceed 100%

BOM secondary allocations exceeding 100% are now capped at 100 to match ERPNext's constraints (Tally allows independent percentages that sum beyond 100).

@parthgarachh #70 Read
fix other-apps 3 months ago

Set the target company on company Bank Accounts

Company bank accounts imported from Tally now have the target company set instead of relying on ambient default.

@parthgarachh #68 Read
fix other-apps 3 months ago

Run the Step-1 file preview asynchronously so a large export cannot time out

Large Tally export preview now runs in background job instead of inline, preventing request timeouts.

@parthgarachh #67 Read
feat other-apps 3 months ago

Report backend and frontend test coverage in the README and on pull requests

Backend (545 tests, 83.7%) and frontend (33 specs / 78 tests, 65.3%) coverage now reported in README and PR comments.

@netchampfaris #524 Read
fix other-apps 3 months ago

Keep link hover card opaque on browsers without color-mix()

Link preview hover card now renders with a literal white fill for browser compatibility instead of relying on color-mix().

@AsifMulani1 #358 Read
feat other-apps 3 months ago

Import Tally BOM co-products, by-products, and scrap as secondary items

Tally BOM rows classified as Co-Product / By-Product / Scrap are now imported as ERPNext BOM secondary items (previously only Component rows were imported).

@parthgarachh #69 Read
feat other-apps 3 months ago

Configurable advance payment handling on loan product

Loan Product now has a "How to Handle Advance Payments" option to choose between reducing tenure (EMI fixed) or reducing EMI (tenure fixed).

@deepeshgarg007 #1353 Read
feat other-apps 3 months ago

Build out the Mail Admin Dashboard

Mail Admin Dashboard now includes detail pages for directory resources (members, groups, mailing lists, etc.) and Emails, Reports, Observability, and Actions sections.

@s-aga-r #357 Read
feat other-apps 3 months ago

Add option to revert page changes since last publish

Added Revert Changes option in the primary button dropdown to restore published state from draft changes.

@ruchamahabal #204 Read
feat other-apps 3 months ago

Refactor!: move the editor SPA from /wiki to /wiki-app

Wiki editor SPA moved from /wiki to /wiki-app so spaces can have pages at /wiki; squat removed from website_route_rules and can_render check.

@NagariaHussain #728 Read
feat other-apps 3 months ago

Send reader's Edit button straight to GitHub for synced spaces

On public reader pages of git-synced spaces, the Edit button now opens the page's source file in GitHub's web editor.

@NagariaHussain #706 Read
feat other-apps 3 months ago

Add cloud settings embed

Pilot now serves a cloud settings embed for Desk to load cross-origin with isolated styles.

@prathameshkurunkar7 #290 Read
feat other-apps 3 months ago

TOTP powered 2FA

Two-factor authentication now supports time-based one-time passwords (TOTP) with recovery code fallback.

@Aradhya-Tripathi #289 Read
fix other-apps 3 months ago

Address Greptile review findings on the recent PRs

Addresses review findings on BOM secondary allocation guard and related PRs.

@parthgarachh #71 Read
fix other-apps 3 months ago

Let paste/copy target the inline cell editor while editing

Copy/paste and cut operations now correctly target the in-cell editor instead of being hijacked to whole-cell operations.

@AsifMulani1 #363 Read
fix other-apps 3 months ago

Paint link hover card with a literal fill

Link preview hover card now renders opaque instead of transparent on all browsers.

@AsifMulani1 #362 Read
fix other-apps 3 months ago

Keep stock-account openings out of the opening JE under perpetual inventory

Stock account opening balances are now excluded from the opening journal entry under perpetual inventory to prevent validation failures.

@parthgarachh #66 Read
feat other-apps 3 months ago

List configured sites in `frappectl guide`

`frappectl guide` now prints configured site profiles with URLs, descriptions, and default/read-only tags for agent use.

@ankush #54 Read
fix other-apps 3 months ago

Published pages honour author blank lines

Blank lines and single newlines typed in the editor now render on published pages instead of being stripped.

@NagariaHussain #729 Read
fix other-apps 3 months ago

Grant the UI job contents: write so the frontend coverage badge publishes

Frontend coverage badge now publishes correctly with proper GitHub Actions permissions.

@netchampfaris #525 Read
fix other-apps 3 months ago

Seamless reconnects on network issue or stalls

Peer connection recovery now seamlessly reconnects on network stalls without user intervention.

@BreadGenie #364 Read
fix other-apps 3 months ago

Correct S3 presign region, push download status over socket

S3 presigned URLs are now signed in the bucket's real region (detected via `get_bucket_location`) instead of the client's default, fixing PermanentRedirect failures.

@safwansamsudeen #360 Read
fix other-apps 3 months ago

Resumable downloads + async folder-zip build

Fixes large folder zips truncating into corrupt archives and large files restarting on dropped connections by serving from storage with HTTP Range support and background job build.

@safwansamsudeen #359 Read
fix other-apps 3 months ago

Don't send empty api_key to Ollama

Prevents litellm.APIConnectionError when ollama connector is configured without an API key.

@rehanrehman389 #86 Read

Tuesday, July 28

ERPNext 40.6k 9 updates
feat stock-manufacturing 3 months ago

Book Expenses Added To Stock GL entries

Backport to v16 of the develop-branch GL composer for Expenses Added To Stock, enabling proper accounting of costs like freight or insurance bundled into finished goods.

@rohitwaghchaure #57503 Read
fix accounting 3 months ago

Incorrect creation time at cancellation

Creation time was being incorrectly set when cancelling an entry with the same posting datetime, causing data issues.

@ruthrakumar #57396 Read
fix accounting 3 months ago

Align Opportunity status checks with Quotation statuses

Opportunity status checks looked for the obsolete Quotation `Closed` status instead of `Cancelled` and `Expired`, and didn't recognize `Partially Ordered` quotations as ordered. Now treats the right statuses and marks Opportunities Converted as soon as a Sales Order is created against part of a Quotation.

@barredterra #57489 Read
fix stock-manufacturing 3 months ago

Pool batch slot values on every run, not only when negative

Batch slots' value differences were only spread across age slots when consumption had already driven one negative, leaving skewed splits (e.g., 10 units at 0 and 10 at 10 showing 0 and 100 instead of 50 each). Now pools slot values on every run.

@mihir-kandoi #57485 Read
fix stock-manufacturing 3 months ago

Flaky test in exchange rate revaluation

Exchange rate revaluation test was non-deterministic due to time-based ordering; stabilized by using fixed timestamps.

@ruthra-kumar #57484 Read
fix accounting 3 months ago

Release raw-material reservation when closing a subcontracting order

Bin.update_reserved_qty_for_sub_contracting() skipped closed Purchase Orders but not closed Subcontracting Orders, so closing a partially-received SCO kept the raw-material reservation for the unreceived qty. Applied the same status != "Closed" filter to both paths.

@Sudharsanan11 #57463 Read
fix stock-manufacturing 3 months ago

Value batched packed-item returns from the original bundle

Return Delivery Notes / Sales Invoices built via the use_serial_batch_fields path had incorrect bundle valuations because the return bundle's voucher_detail_no stayed the Packed Item instead of remapping to the parent DN/SI Item. Valuation lookup now resolves via the parent_detail_docname when the direct lookup fails.

@Sudharsanan11 #57327 Read
fix stock-manufacturing 3 months ago

Keep manufactured item rate at zero when inputs are free

When a finished item was manufactured from raw materials consumed at zero valuation, _set_incoming_item_rate treated zero cost as missing and fell back to the item's own valuation rate, inflating the finished good's value on every production run.

@Sudharsanan11 #57334 Read
fix accounting 3 months ago

Carry forward communications from opportunity

Quotations created from opportunities now inherit the opportunity's communications (emails, comments).

@diptanilsaha #57507 Read
Frappe 11k 11 updates
feat framework 3 months ago

Add support for async options in dropdown menu

Dropdown menu now supports asynchronously-loaded options.

@nikkothari22 #41258 Read
feat framework 3 months ago

Better read-only and impersonation banners

Improved visual design of read-only and impersonation banners on forms.

@nikkothari22 #41264 Read
feat framework 3 months ago

Consolidate view switching to single dropdown

List, kanban, and report views now use a single dropdown menu to select layout, available on mobile too (previously had separate dropdowns).

@nikkothari22 #41261 Read
fix ui-ux 3 months ago

Add order to desktop menu item

Desktop menu items can now have a specified order so logout can be positioned last.

@sokumon #41274 Read
fix framework 3 months ago

Constrain read-only Text Editor field height with scroll

Read-only Text Editor fields now scroll instead of expanding infinitely.

@nikkothari22 #41279 Read
fix framework 3 months ago

Don't show private custom workspaces on the dock

Private custom workspaces were showing on the app dock even though the new information architecture requires workspaces to be scoped under an app.

@sokumon #41255 Read
fix framework 3 months ago

Grid row selection on touch

Touch-based row selection wasn't working on grids due to event handling differences between touch and click.

@nikkothari22 #41252 Read
fix ui-ux 3 months ago

Stop build_index looping forever on an unindexable batch

SQLiteSearch.build_index advanced its pagination cursor only inside `if documents:`, so batches where all documents were rejected (no text-field content) never advanced the cursor and looped forever. Forward-port of #41249 from version-16-hotfix.

@netchampfaris #41284 Read
fix framework 3 months ago

Get_locale_value() crashes when no language is set

get_locale_value() assigned value only when lang was set but always returned it, raising UnboundLocalError when no language was configured (e.g., bench console on sites that never set a language). frappe.sendmail() failed rendering emails because date-format lookup crashed.

@kaulith #41257 Read
fix developer-experience 3 months ago

Drop client-side grant-all rights for Administrator

Reverts the blanket grant of all rights to Administrator at all permlevels on every doctype. Administrator was getting submit/cancel/amend buttons on non-submittable doctypes like Bin, and malformed update_child API requests.

@iamejaaz #41210 Read
fix framework 3 months ago

Validate HTTP method for document calls

Backport enforcing whitelisted methods' declared methods= on document-method routes (/api/v2/document/*/method/* and POST /api/resource/*/method routes), which was previously unenforced despite being enforced on /api/method/* and run_doc_method.

@netchampfaris #41265 Read
HR 9k 3 updates
fix hr-payroll 3 months ago

Resolve AttributeError in update_job_applicant_status exception handling

Fixed variable shadowing bug where the Document instance was overriding the string parameter job_applicant, and replaced job_applicant.log_error() with frappe.log_error() in the except block to handle empty/invalid strings.

@pratheep-bit #4996 Read
fix hr-payroll 3 months ago

Format earned leave schedule dates

Earned Leave Schedule dates in Leave Allocation now respect the System Settings date format instead of showing raw ISO dates.

@DanielRadlAMR #4995 Read
fix hr-payroll 3 months ago

Filter employees by company in Employee Leave Balance report

The Employee filter in the report now displays only employees belonging to the selected Company, preventing silent no-results when users pick employees from a different company.

@akhtarmohsin #4992 Read
CRM 3.9k 2 updates
fix crm-sales 3 months ago

Validate contact email/mobile and rework the primary dropdown

Draft states caused failures in contact email/mobile autosave. Consolidated duplicated contact panel logic from Contact.vue and MobileContact.vue into a shared util and reworked the primary dropdown.

@ps173 #2537 Read
fix crm-sales 3 months ago

Keep the Unpublished badge visible on row hover

The Unpublished badge's light-gray variant blended into the row's hover background. Switched to outline variant so it keeps a visible border.

@michellealva #2526 Read
Helpdesk 3.4k 4 updates
feat other-apps 3 months ago

First Ticket tag and tag charts on the dashboard

A "First Ticket" tag is now applied automatically to each requester's first ticket, plus two tag charts on the dashboard to surface patterns.

@RitvikSardana #3621 Read
fix other-apps 3 months ago

Convert link_filters to dict before search_link

Setting **Link Filters** on a Link-to-User field via Customize Form broke the New Ticket page; user_query expected a dict but received a list of lists from Customize Form.

@RitvikSardana #3625 Read
fix other-apps 3 months ago

Keep the last recent activity row out of the bottom fade

The last row in **My Recent Activity** was always rendered faded because the bottom scroll fade was pinned to the card with no notion of scroll position. Added padding to push content above the fade.

@RitvikSardana #3624 Read
fix other-apps 3 months ago

Show chart-specific empty states

All empty charts on the dashboard showed the same generic message; now each chart shows its own message and doesn't render skeleton bars where the chart header should be.

@RitvikSardana #3623 Read
LMS 3.3k 6 updates
fix other-apps 3 months ago

Drop the razorpay dependency

LMS pinned razorpay~=1.4.1 while payments (a required app) pins razorpay~=2.0.0 — disjoint ranges that bench only resolves by luck. Nothing in LMS imports the SDK; payments owns it. Dropped the dependency to stop chasing version ranges.

@raizasafeel #2604 Read
fix other-apps 3 months ago

Count a coupon redemption once per payment that was actually paid

Coupon redemptions were counted wrong (two concurrent redemptions both read the same count, one was lost), and gateway retries picked the wrong Integration Request. Fixed race condition with atomic update and used the correct request for retry.

@raizasafeel #2602 Read
fix other-apps 3 months ago

Resolve private lesson media whose file_url contains _ or %

Uploaded lesson PDFs failed to load (403) for enrolled students when the file name had an underscore or %. The access check escaped _/% in a way the query builder double-escaped, so it matched nothing and denied access. Used bound query to fix escaping.

@raizasafeel #2601 Read
fix other-apps 3 months ago

Seed Google Meet account form on mount

GoogleMeetSettings edit swapped list and form with v-if/v-else, mounting the form fresh on every open with accountID already set. The watcher had no `immediate` option so it never fired; saving also called rename_doc with an empty new_name.

@raizasafeel #2609 Read
fix other-apps 3 months ago

Broken access control

Added server-side authorization checks to get_profile_details (filters privileged roles from students), track_video_watch_duration (requires lesson access), and submit_quiz (requires quiz access).

@raizasafeel #2607 Read
breaking other-apps 3 months ago

Stop razorpay from breaking

Razorpay <2 imports pkg_resources at module level; setuptools 82 dropped it. LMS imported razorpay at module level in a hook that runs on every session, so any bench with setuptools ≥82 returned HTTP 500 for all requests including login and Desk. Bumped razorpay past the broken range and moved the import inside the get_client() call.

@raizasafeel #2603 Read
Insights 1k 1 update
fix other-apps 3 months ago

Incremental sync fails when a source table gains a column

Incremental syncs died at commit with a column count mismatch when the source gained a column since the last import. Backend.insert() now matches columns by name rather than positional order.

@nextchamp-saqib #1259 Read
p Press 575 1 update
feat other-apps 3 months ago

Add playbook to set docker MTU to 1450

Hetzner private networks run at MTU 1450; docker defaults to 1500, causing silent packet drops over the private network. Merges `"mtu": 1450` into /etc/docker/daemon.json and reboots if changed.

@balamurali27 #7063 Read
o Other 15 updates
feat other-apps 3 months ago

Replace centralized host mesh controller with ANCP (Atlas network control protocol)

Introduces `atlas-networkd` daemon using a distributed network protocol (ANCP) instead of a centralized controller for private networking.

@20vikash #123 Read
feat other-apps 3 months ago

Sleepy VMs: idle VMs sleep to free RAM and wake on the first inbound TCP connection

Puts an idle VM to sleep and resumes it on demand via host reboot recovery or — transparently — the first inbound TCP connection. Sleeping VMs keep their disk but release RAM to the host. Opt-in per VM via `sleep_on_idle`.

@the-bokya #126 Read
feat other-apps 3 months ago

Surface sheets in Drive as content files

Sheets are now a Drive content-app; each new Sheet creates a backing Drive File, so sheets show up in — and open from — Drive just like Writer and Slides.

@AsifMulani1 #355 Read
feat other-apps 3 months ago

TDS filing integration

Added TDS (Tax Deducted at Source) filing integration.

@deepeshgarg007 #62 Read
feat other-apps 3 months ago

Access slot props, pass dynamic slots, add components from context menu

Components inside a slot can now access slot scope/props, dynamic slots can be passed, and components can be added from the context menu.

@ruchamahabal #200 Read
feat other-apps 3 months ago

Card-per-question layout for the public form

Splits the single form card into one quiet card per question on the public respondent form, following the Google Forms pattern with hairline borders, 10px radius, generous padding.

@AsifMulani1 #1 Read
feat other-apps 3 months ago

Mobile PWA navigation shell and touch UX

Mobile-only revamp of Mail's chrome with a bottom tab bar (Mail, Screener, Search, Profile) and Compose FAB; desktop unchanged. Tab and FAB step aside in thread view, selection mode, and search.

@krantheman #346 Read
feat other-apps 3 months ago

Admin password reset

Added admin password reset and sessions management UI.

@Aradhya-Tripathi #287 Read
fix other-apps 3 months ago

Match Tally group names case- and whitespace-insensitively

Customer/Supplier classification was keyed on exact, case-sensitive match of Tally group names (e.g., `SUNDRY DEBTORS` vs `Sundry Debtors`), so mismatched groups silently imported parties as plain ledger Accounts instead.

@parthgarachh #65 Read
fix other-apps 3 months ago

Show all day event as all day event

All day events now display as "all day" instead of "12am - 12am".

@BreadGenie #354 Read
fix other-apps 3 months ago

Run invite account creation as Administrator

The invite/request-key endpoint runs as Guest but the setup it triggers (archive mailbox / automation sieve) resolved ownership from the session user, throwing "account does not belong to Guest" and rolling back, then every retry failed with primaryKeyViolation.

@krantheman #356 Read
fix ui-ux 3 months ago

Use semantic tokens instead of tailwind text classes

Replaced old text colors with semantic text-ink tokens in the button component to fix color contrast and accessibility issues.

@siduck #860 Read
fix ui-ux 3 months ago

Preserve caller aria-label; Checkbox: emit model updates once

Button was silently discarding caller-provided aria-label and overwriting it, and Checkbox was emitting model updates multiple times per change.

@netchampfaris #859 Read
fix other-apps 3 months ago

Use updated loan limit for disbursement

A secured term Loan could be submitted without a Maximum Loan Amount; adding it after submission didn't persist correctly and Loan Disbursement calculated available limit as zero, failing disbursement.

@Niraj1412 #1347 Read
fix other-apps 3 months ago

Do not refetch loan application values on already submitted loan

Loan onload always ran the loan_application autofill, even for submitted loans, overwriting fields like monthly repayment amount with old values and blocking updates.

@Nihantra-Patel #1352 Read

Saturday, July 25

ERPNext 40.6k 7 updates
feat accounting 3 months ago

Block sales invoice submit when customer overdue exceeds threshold

Backport of credit limit enforcement: blocks Sales Invoice submit when a customer's overdue amount exceeds configured limit unless the user holds a bypass role.

@Jatin3128 #57438 Read
fix accounting 3 months ago

Map pick list customer to delivery note when no sales order

fix: map pick list customer to delivery note when no sales order

@Pandiyan5273 #57420 Read
fix stock-manufacturing 3 months ago

Enable the 'Include Zero Stock Items' filter by default to show zero-stock items in the Stock Balance report

fix: enable the 'Include Zero Stock Items' filter by default to show zero-stock items in the Stock Balance report

@rohitwaghchaure #57458 Read
fix accounting 3 months ago

Map MT940 per-transaction reference from :61: customer_reference

MT940 import was using the statement-level reference for all rows (making them indistinguishable) instead of the per-transaction reference.

@khushi8112 #57382 Read
fix accounting 3 months ago

Respect user permissions in party dashboard company list

Party dashboards were bypassing user permissions and iterating over all companies, exposing restricted data on forms.

@Pandiyan5273 #57435 Read
fix accounting 3 months ago

Ignore permission while deleting user permission

fix: Ignore permission while deleting user permission

@deepeshgarg007 #57296 Read
breaking accounting 3 months ago

Accept list payload for trans_items in update_child_qty_rate

Frappe's type validation was rejecting legitimate JSON list payloads from clients, breaking the API despite the payload being valid.

@nabinhait #57452 Read
Frappe 11k 5 updates
feat ui-ux 3 months ago

Silent autosave status and lighter builder chrome

Print builder autosave is now silent when saved, shows brief "Saving…" only during requests, and sticky red "Save failed" on error; drops "Reset Changes" and one-item section headers.

@iamejaaz #41207 Read
feat ui-ux 3 months ago

Open builder preview in a modal instead of a dock

Print preview now opens as a centered modal over the builder instead of a docked rail; gives preview full width and matches on-demand UX.

@iamejaaz #41209 Read
fix framework 3 months ago

Move standard actions in the top

fix: move standard actions in the top

@sokumon #41219 Read
fix framework 3 months ago

Fix query conditions

fix(db_query): fix query conditions

@AarDG10 #41191 Read
fix framework 3 months ago

Export Link titles in Report View

Report exports were showing link field names instead of titles, mismatching what Report View displays.

@ShrihariMahabal #41213 Read
CRM 3.9k 1 update
fix crm-sales 3 months ago

Breadcrumb preserve query params, PrimaryDropdown Layout, box shadow in email activity card

fix: breadcrumb preserve query params, PrimaryDropdown Layout, box shadow in email activity card

@ps173 #2529 Read
Helpdesk 3.4k 1 update
fix other-apps 3 months ago

Attachment upload feedback + uploads while editing comments

File uploads now show visual feedback with a spinner and disable the send button; uploading while editing comments now works.

@aerodeval #3618 Read
LMS 3.3k 1 update
fix other-apps 3 months ago

Inline pdf.js PDF viewer for iOS Safari + macro fixes

PDFs now render via pdfjs-dist to `` instead of ``, enabling scroll on iOS; adds continuous scroll, zoom, pinch-zoom, and error states.

@raizasafeel #2592 Read
b Builder 2.5k 1 update
fix ui-ux 3 months ago

Use only shorthand properties for margin and padding

Blocks could accumulate conflicting shorthand and per-side margin/padding properties; spacing now uses only shorthand.

@stravo1 #693 Read
p Press 575 8 updates
feat other-apps 3 months ago

Add incident time and confirm noisy neighbours

Investigation now accepts optional `incident_time` for a centered 12-hour window (instead of trailing 24 hours), and confirms noisy neighbor detection.

@balamurali27 #7047 Read
fix other-apps 3 months ago

Explain what makes a frappe version range invalid

Error message for invalid version ranges didn't name the range or explain the cause; now clarifies what makes a range invalid.

@balamurali27 #7045 Read
fix other-apps 3 months ago

Set frappe requirement to >=15.0.0,<17.0.0

Prerelease version bounds were failing validation; corrected to use stable semver ranges.

@balamurali27 #7044 Read
fix other-apps 3 months ago

Reload bench apps page on deploy update

fix(ui): Reload bench apps page on deploy update

@siduck #7034 Read
breaking other-apps 3 months ago

Remove conflict markers from frappe version requirement

Backport merge left unresolved conflict markers in `pyproject.toml`, breaking TOML parsing and making bench unable to read the dependency.

@balamurali27 #7046 Read
fix other-apps 3 months ago

Enforce app-version compatibility on deploy

App compatibility was validated on every save, causing deadlock when a release group had multiple incompatible apps; moved check to deploy time.

@balamurali27 #7014 Read
fix other-apps 3 months ago

Fix branch-change tests broken

Tests were hitting the GitHub API and failing; mocked the `frappe/__init__.py` lookup so tests stay offline.

@balamurali27 #7030 Read
fix other-apps 3 months ago

Set team from site instead of session user

Offsite backup restores were failing because backup remote files were assigned to the wrong team (Administrator's) instead of the site's team.

@balamurali27 #7027 Read
o Other 16 updates
feat other-apps 3 months ago

Add more anonymized telemetry

feat(meet): add more anonymized telemetry

@BreadGenie #340 Read
feat other-apps 3 months ago

Add more frappe models

feat: Add more frappe models

@Aradhya-Tripathi #274 Read
feat other-apps 3 months ago

Google Sheets keyboard shortcuts + fix whole-line select anchor

Adds Shift+Space / Ctrl+Space / Ctrl+Shift+Space for row / column / whole-sheet select, Ctrl+Alt+=/- for insert/delete, and Ctrl+Shift+1…5 for format shortcuts; fixes Shift+Space anchor jumping.

@AsifMulani1 #335 Read
feat other-apps 3 months ago

Homepage list view — header sort, toolbar search, full-width scroll

Sheets homepage list now sorts from column headers (click to sort, click again to flip), toolbar search, and full-width scrolling; replaces separate "Sort by" dropdown.

@AsifMulani1 #344 Read
feat other-apps 3 months ago

Upgrade to frappe-ui v1

Upgraded Frappe Wiki to frappe-ui v1 (beta.25), migrated v1 component APIs, rebuilt editor chrome on frappe-ui atoms, and bumped tiptap to v3.

@NagariaHussain #695 Read
feat other-apps 3 months ago

Integrated Code Editor [Experimental]

Built with Monaco editor and frappe-ui; allows editing code directly in Pilot.

@tanmoysrt #277 Read
fix other-apps 3 months ago

Align CI and tests

CI and test base classes were misaligned with the version-2-beta branch; added correct Frappe/ERPNext versions and changed test cases to use FrappeTestCase.

@Nihantra-Patel #1343 Read
fix other-apps 3 months ago

Hide comment action if we are creating a comment

fix(writer): hide comment action if we are creating a comment

@BreadGenie #343 Read
fix other-apps 3 months ago

Update collaboration avatars in real time

Document loader wasn't shown on navbar due to missing reactivity; added `useCollaborationUsers` ref to track awareness users.

@BreadGenie #341 Read
fix other-apps 3 months ago

Include formula-cell values in selection Sum/Avg

Selection stats were miscounting formulas by reading raw cell content instead of computed values.

@AsifMulani1 #342 Read
fix other-apps 3 months ago

Handle errors when offline or server unreachable

fix: handle errors when offline or server unreachable

@nikkothari22 #80 Read
fix other-apps 3 months ago

Pass is_private as false correctly

fix(file): pass is_private as false correctly

@nikkothari22 #79 Read
fix other-apps 3 months ago

Paste without a priming click + refresh formula bar on paste

Paste did nothing unless the grid was focused, and the formula bar showed stale values right after a paste operation.

@AsifMulani1 #339 Read
breaking other-apps 3 months ago

Remove invalid doc.guardian reference breaking guardian search functionality

Guardian search was filtering with a nonexistent field, blocking users from linking Guardians to Students via the Relations tab.

@neha-t-swayalgo #468 Read
fix other-apps 3 months ago

Preserve repayment_type before building GL entries on repost

Loan Repayment Repost was rebuilding GL entries with the wrong account and voucher_subtype when `before_validate` hooks changed the repayment type.

@Nihantra-Patel #1340 Read
fix other-apps 3 months ago

Clear frappe cache around app install/uninstall

Frappe's install-app was reading stale module caches left by earlier calls, silently skipping doctype sync for newly installed apps.

@tanmoysrt #279 Read

Friday, July 24

ERPNext 40.6k 18 updates
feat accounting 3 months ago

Warn when a draft linked document already exists

When creating a follow-up document (e.g. Delivery Note from Sales Order), confirmation dialog warns if a draft linked to the same source already exists with clickable links.

@nabinhait #57299 Read
feat accounting 3 months ago

Make Shipping Rule Cost Center optional with company default fallback

Cost Center on Shipping Rule is now optional; falls back to company default, avoiding P&L account validation errors for income accounts.

@Jatin3128 #57355 Read
feat accounting 3 months ago

Proforma Invoice against Sales Order

New submittable, non-accounting `Proforma Invoice` doctype (posts no GL/stock) for advance payments, created only from Sales Order with per-line Quantity/Amount basis.

@nabinhait #57263 Read
fix accounting 3 months ago

Log exception instead of swallowing in notify_errors

Error logging now reports exceptions instead of silently swallowing them.

@mihir-kandoi #57384 Read
fix accounting 3 months ago

Restore Save button on reverse journal entry

Save button was missing from reverse journal entry form.

@krishna-254 #57379 Read
fix accounting 3 months ago

Incorrect creation time at the time cancelling an entry

Document creation time was incorrectly set when cancelling entries with same posting datetime.

@rohitwaghchaure #57380 Read
fix stock-manufacturing 3 months ago

Drop translation marking from default warehouse names

Warehouse names were marked for translation at creation but never actually display translated (docname carries untranslated company abbr); removed marking.

@mihir-kandoi #57409 Read
fix stock-manufacturing 3 months ago

Respect selected BOM when creating work order for variant item

Non-default BOM selection was silently reset to the variant's default BOM; now only substitutes for template BOMs.

@Shllokkk #57358 Read
fix accounting 3 months ago

Production Plan raw material qty calculation and bin reservation

When same raw material appears in multiple Production Plan rows, safety stock and MOQ were added per-row instead of once; now reserves it as a floor.

@mihir-kandoi #57399 Read
fix accounting 3 months ago

Map pick list customer to delivery note when no sales order

Creating a Delivery Note from a Pick List without a linked Sales Order left the Customer blank; now falls back to the Pick List's own Customer.

@Pandiyan5273 #57412 Read
fix accounting 3 months ago

Guard against missing is_your_company_address custom field on Address

Controller reads `is_your_company_address` as a bare attribute, crashing with AttributeError if the optional custom field is missing (e.g. after interrupted migration).

@Pandiyan5273 #57400 Read
fix stock-manufacturing 3 months ago

Rebalance batch slot values at the pooled rate when driven negative

Batch valuation showed small negative bucket values when consumption drove a slot negative; now spreads batch pool value across slots proportional to qty.

@mihir-kandoi #57403 Read
breaking stock-manufacturing 3 months ago

Create default warehouses with untranslated names

Warehouse names were translated at creation, breaking opening-stock fallback lookups from sessions in different languages.

@mihir-kandoi #57392 Read
fix accounting 3 months ago

Do not translate default record lookup keys

Company creation was looking up Department root via `_(\"All Departments\")`, missing it on non-English sites and corrupting the tree.

@mihir-kandoi #57389 Read
fix accounting 3 months ago

Do not translate root Item Group lookup key

Non-English setups stored the root under a translated name, making new groups save with blank parent and become uneditable second roots; now uses `get_root_of`.

@mihir-kandoi #57390 Read
breaking accounting 3 months ago

Accept dict target_doc in mapper endpoints

With native JSON request bodies, `map_docs` forwards `target_doc` as a dict, breaking all "Get Items From" buttons; now accepts dict/str/Document.

@mihir-kandoi #57388 Read
fix stock-manufacturing 3 months ago

TypeError in get_batches_by_oldest for mixed batch expiry

Fixes crash when a warehouse has both dated and non-expiring batches; expiry_date is nullable but sort was comparing directly.

@Pandiyan5273 #57413 Read
fix accounting 3 months ago

Gate company restriction fields behind permlevel 1

Restricts `restrict_to_companies` and `allowed_companies` fields to master-manager role (permlevel 1) instead of all write-access users on Item, Customer, and Supplier masters.

@mihir-kandoi #57383 Read
Frappe 11k 13 updates
feat ui-ux 3 months ago

Full screen toggle for the builder preview

Print builder preview can now toggle full-screen; same iframe grows to viewport with Esc or shrink button to restore dock.

@iamejaaz #41206 Read
fix framework 3 months ago

Update private workspaces on user rename

When a user's email changes, their private Workspace documents are now renamed and updated.

@KerollesFathy #39007 Read
fix framework 3 months ago

Re-hash vue-style bundle filenames after inlining CSS

CSS-only edits now mint new bundle URLs instead of shipping under browser-cached ones.

@iamejaaz #41204 Read
fix framework 3 months ago

Close the bordered child-table bottom and drop the doubled header line

Fixed child-table styling: bordered tables now close cleanly without doubled header line.

@iamejaaz #41202 Read
fix framework 3 months ago

Missing doctype name in breadcrumbs

Doctype name was missing from breadcrumb navigation.

@iamejaaz #41115 Read
fix framework 3 months ago

Notifications with the dock

Notification panel now shows up correctly with the dock.

@sokumon #41180 Read
fix framework 3 months ago

Remove hover effect from column/table resize handle

Column resize handle no longer darkens on hover, reducing visual noise.

@SandraFrappe #40983 Read
fix framework 3 months ago

Pass parent doctype when fetching child table link values

Fetching a Link field from a child-table row was failing permission check because parent doctype wasn't passed to `get_value`.

@kaulith #41153 Read
fix framework 3 months ago

Unbuffered sync from mariadb to duckdb

Batches rows into Apache Arrow columnar format for zero-copy DuckDB ingestion.

@ruthra-kumar #41150 Read
fix framework 3 months ago

Stable memory consumption while syncing

Large GL syncs (1.5M rows) to DuckDB were accumulating memory; now drops consumed objects.

@ruthra-kumar #41196 Read
fix framework 3 months ago

Get_list_context called twice when rendering a portal list

Portal list pages were calling the doctype's `get_list_context` hook twice, duplicating queries and sidebar work.

@kaulith #41025 Read
fix framework 3 months ago

Use a re-entry flag instead of freezing during mapped doc guard runs

Freeze overlay at z-index 2000 was covering confirmation dialogs from guards (at z-index 1140), blocking user interaction; replaced with re-entry flag.

@nabinhait #41200 Read
fix framework 3 months ago

Accept dict target_doc in get_mapped_doc

Companion fix for native JSON request bodies; dict targets were crashing at permission check.

@mihir-kandoi #41190 Read
CRM 3.9k 1 update
fix crm-sales 3 months ago

Load a single prosemirror-model in production builds

Production builds were loading multiple instances of prosemirror-model; now unified.

@ps173 #2524 Read
Helpdesk 3.4k 1 update
fix other-apps 3 months ago

Set default portal settings for existing sites

Fresh Helpdesk installs set `default_role` and `default_portal_home` but existing sites never received them; now applies via a patch.

@RitvikSardana #3610 Read
LMS 3.3k 1 update
feat other-apps 3 months ago

Raven membership integration

Raven integration for LMS: registers rule types (All Enrolled Students, Students of Courses/Batches, Staff), evaluator, and Raven sidebar panel.

@raizasafeel #2591 Read
p Press 575 3 updates
fix other-apps 3 months ago

Replace swap metrics with OOM for server health check

Server health monitoring now tracks OOM instead of swap metrics.

@AyshaHakeem #7024 Read
fix other-apps 3 months ago

Raven channel name for alerting server health

Channel name now follows slug convention: "frappe-cloud-server-alerts".

@AyshaHakeem #7028 Read
fix other-apps 3 months ago

Render err html with err component in addsites dialog

Error HTML in the add-sites dialog wasn't rendering properly.

@siduck #7031 Read
o Other 34 updates
feat ui-ux 3 months ago

Navbar refresh, fix blank Breadcrumbs page, and speed up dev cold load

Docs site polish: full-width navbar, sidebar styling, centered search, anchor link fixes, IntersectionObserver for active headings.

@netchampfaris #852 Read
feat other-apps 3 months ago

Actually unify sites and assets

Unified list view for sites and VMs removes confusion about where site creation happens (Pilot, not Central).

@prathameshkurunkar7 #188 Read
feat other-apps 3 months ago

Bench new-app command

New CLI command to create a Frappe app.

@tanmoysrt #258 Read
feat other-apps 3 months ago

Responsive sidebar

Mobile-responsive sidebar using frappe-ui desktop/mobile shell components and bottom-sheet for mobile.

@siduck #257 Read
feat other-apps 3 months ago

Meet links on existing events, richer meet row

Meet links can now be added to existing events via new `create_meet_link` endpoint; event updates now preserve existing links.

@krantheman #320 Read
feat other-apps 3 months ago

Meet stats for nerds

Developer stats panel for Meet showing detailed metrics.

@BreadGenie #321 Read
feat other-apps 3 months ago

Store Entry browser to browse Tantivy search indexes

Read-only Store Entry browser now extends to search indexes alongside Data/Blob stores using schema-agnostic `SearchIndexBrowser`.

@s-aga-r #317 Read
feat other-apps 3 months ago

Sheets homepage filters, recency groups, and server-side pagination

Sheets homepage upgraded: ownership tabs (All/My/Shared), sort control (Modified/Name/Owner), recency groups (Today/Previous Days/Earlier), server-side pagination.

@AsifMulani1 #319 Read
feat other-apps 3 months ago

Auto-link URLs and link preview hover card

URLs (https/www/common TLDs) auto-detect and auto-link in cells; hover card previews with quick actions.

@AsifMulani1 #322 Read
feat other-apps 3 months ago

Multi-line cells via Cmd+Enter with auto-growing rows

Sheets now support Google-Sheets-style multi-line cells; Cmd/Ctrl/Alt+Enter inserts newlines, rows auto-grow to fit.

@AsifMulani1 #323 Read
feat other-apps 3 months ago

Server overview metrics

Pilot integration for server overview metrics on the Central dashboard.

@prathameshkurunkar7 #190 Read
feat other-apps 3 months ago

Add Credentials settings tab to manage JMAP connection

New Credentials tab under Mail Settings lets users view/update JMAP connection fields (Username, App Password, Server URL); Password is never prefilled.

@s-aga-r #336 Read
feat ai 3 months ago

LLM integration

New LLM integration in settings with task debugging: setup in settings, explain/query errors with full context, stream output via SSE.

@Aradhya-Tripathi #259 Read
feat other-apps 3 months ago

Make a bench fully operable without root after install

Privileged operations (nginx, certbot, supervisor, modsecurity) now run once in root installer pass or through scoped sudoers; bench user no longer needs passwordless sudo.

@tanmoysrt #268 Read
feat other-apps 3 months ago

Versioned releases and in-app self-update

Moved from git-tracking to versioned releases with in-app updates; GitHub releases include prebuilt frontend, `install.sh` pulls latest, Settings shows version with check-for-updates.

@tanmoysrt #260 Read
fix other-apps 3 months ago

Misc fixes

Slide editor improvements.

@GursheenK #337 Read
fix other-apps 3 months ago

Render SVG at zoomed size

Server map SVG now renders at proper zoomed size.

@prathameshkurunkar7 #189 Read
fix other-apps 3 months ago

Active highlight for sidebar item

Sidebar active state highlighting now works correctly.

@siduck #271 Read
fix other-apps 3 months ago

Misc sidebar issues

Sidebar UI polish: fixed switch label colors and migration button spacing.

@siduck #261 Read
fix other-apps 3 months ago

Screener polish, Screener settings tab, iOS install banner

Mail screener UI polish: full-width explainer slab, Screener settings tab, iOS install banner as fixed bottom sheet.

@krantheman #333 Read
fix other-apps 3 months ago

Enable settings shortcuts

Settings shortcut (Meta+Shift+,) now works across all apps.

@BreadGenie #327 Read
fix other-apps 3 months ago

Refine device audio controls

Polish to audio control UI.

@BreadGenie #326 Read
fix other-apps 3 months ago

Ignore paused producers in stall detection

Meet stall detection was flagging paused video/audio producers as stalled.

@BreadGenie #325 Read
fix other-apps 3 months ago

Anchor release tarball excludes to repo root

`tar --exclude` was matching patterns globally (e.g. `--exclude=benches` also matched `admin/backend/api/v1/benches/`), shipping incomplete tarballs.

@tanmoysrt #262 Read
fix other-apps 3 months ago

Install Redis system-wide from the installer

Every bench runs its own Redis, but the installer never installed it system-wide; `RedisManager.install()` tried to sudo-install at bench-init, failing without passwordless sudo.

@tanmoysrt #266 Read
fix other-apps 3 months ago

Enable lingering in the root pass, verify it in the bench-user pass

Follow-up fix: moved lingering enable to root installer pass (where it belongs) and added verification in bench-user pass.

@tanmoysrt #265 Read
fix other-apps 3 months ago

Enable systemd lingering for the bench user at install time

Bench services run as systemd user units, but lingering was only enabled after MariaDB provisioning (the first `systemctl --user` caller), causing install to crash.

@tanmoysrt #264 Read
fix other-apps 3 months ago

Skip frontend Node deps on released installs

Released installs were pulling `node_modules` for the admin frontend despite never compiling it; now gates on `is_dev_install`.

@tanmoysrt #270 Read
fix other-apps 3 months ago

Serve bundled admin UI on released installs instead of rebuilding

Released installs were rebuilding the admin UI on every `bench init`, even though the tarball ships it prebuilt; now decides by version flag.

@tanmoysrt #269 Read
fix other-apps 3 months ago

Show real sheet owner in Share dialog instead of current viewer

Shared sheet's Share dialog mislabeled the real owner as yourself; `get_sheet` never returned `owner` field.

@AsifMulani1 #329 Read
fix other-apps 3 months ago

Re-baseline undo history after load so insert-column undo doesn't blank the sheet

Inserting a column and pressing Undo blanked the grid; history baseline was initialized before sheet data loaded, capturing empty state.

@AsifMulani1 #328 Read
fix other-apps 3 months ago

Keep renamed sheet tab in place instead of jumping to the end

Renaming a sheet tab moved it to the last position; now preserves position by restructuring the sheets object carefully.

@AsifMulani1 #330 Read
fix other-apps 3 months ago

Import context menu in grid view

Missing context-menu import in Drive grid view prevented it from opening.

@BreadGenie #332 Read
fix other-apps 3 months ago

False-positive page conflict error due to stale modified timestamp on resource/variable CRUD

Resource and variable CRUD was triggering false-positive page-conflict errors.

@ruchamahabal #203 Read

Thursday, July 23

ERPNext 40.6k 5 updates
feat accounting 3 months ago

Made territory field multi select

Territory field on accounts receivable reports now accepts multiple selections.

@Jatin3128 #57322 Read
fix stock-manufacturing 3 months ago

Get reserved batch qty precision from settings (v16)

V16 backport of reserved batch qty precision fix.

@mihir-kandoi #57354 Read
fix stock-manufacturing 3 months ago

Get reserved batch qty precision from settings

Reserved batch comparison now respects field precision instead of hardcoding 6 decimal places.

@mihir-kandoi #57353 Read
fix accounting 3 months ago

Seed cancelled voucher replay from before its posting datetime (v15)

Cancelled voucher replay now uses the correct previous balance, preventing double-counting when SLEs share the same posting datetime.

@mihir-kandoi #57347 Read
fix accounting 3 months ago

Enforce company restrictions at transaction level

Masters restricted via Restrict to Companies now validate on transaction save, preventing items/customers/suppliers from being used in unauthorized company transactions.

@mihir-kandoi #57352 Read
Frappe 11k 10 updates
fix developer-experience 3 months ago

Disable Werkzeug debugger

Development server no longer exposes Werkzeug interactive debugger.

@ankush #41149 Read
fix framework 3 months ago

Remove s3/gh code assets fetching logic

Removed unused S3/GitHub code asset fetching that was causing 1-2s build delay.

@ankush #41166 Read
feat framework 3 months ago

Add guard hooks to open_mapped_doc

Adds sanctioned extension point with `add_mapped_doc_guard()` and `should_open_mapped_doc()` to intercept before opening mapped documents.

@nabinhait #41079 Read
fix ui-ux 3 months ago

Duplicate title in list view settings dialog

Removed duplicate title in list view settings dialog.

@kaulith #41102 Read
fix ui-ux 3 months ago

Detach duration picker to avoid css issue

Duration picker now renders detached to avoid CSS stacking context issues.

@Bowrna #41109 Read
fix ui-ux 3 months ago

Preview in print format builder for cancelled documents

When print format settings disable printing cancelled/draft documents, those documents no longer appear in the preview filter.

@nishkagosalia #41161 Read
fix framework 3 months ago

Awesombar should up only once

Awesomebar modal no longer renders twice.

@sokumon #41172 Read
fix framework 3 months ago

Handle orphan doctypes doctypes

Orphaned doctypes no longer cause errors during sync operations.

@sokumon #41137 Read
fix framework 3 months ago

Store OAuth state server-side instead

Google OAuth hardening with server-side state storage instead of JSON encoding.

@AarDG10 #41076 Read
fix framework 3 months ago

Harden OAuth login

Replaces JSON-encoded state parameter with server-side cache and random single-use tokens to prevent OAuth state injection attacks.

@AarDG10 #40962 Read
HR 9k 1 update
feat hr-payroll 3 months ago

Add Contract link in Employee Connections section

Contract doctype now appears in Employee connections dashboard.

@akhtarmohsin #4984 Read
Helpdesk 3.4k 4 updates
feat other-apps 3 months ago

Display ticket priority as icon and level

Replaces arbitrary `integer_value` on HD Ticket Priority with purposeful `level` field (Urgent/High/Medium/Low) and renders as icon + name.

@RitvikSardana #3604 Read
feat other-apps 3 months ago

Rtl support

RTL support backport with physical-to-logical Tailwind utilities and directional icon rotations.

@aerodeval #3605 Read
feat other-apps 3 months ago

Recent Activity card on Home dashboard

Agents now see a Recent Activity card on home showing recently-acted tickets with action types (Replied, Commented, etc) and clickable rows.

@RitvikSardana #3607 Read
fix other-apps 3 months ago

Unable to remove attachment

Removed `.self` event modifier from attachment removal handler so clicks on nested SVG paths are captured correctly.

@RitvikSardana #3608 Read
b Builder 2.5k 4 updates
feat ui-ux 3 months ago

Load real italic faces through the ital axis

Google Fonts loader now requests italic axis alongside weight, so italic text renders with real italic faces instead of browser-synthesised slant.

@surajshetty3416 #682 Read
feat ui-ux 3 months ago

Align border control with spacing split-mode inputs

Border control now supports split-mode inputs (top/right/bottom/left) matching spacing and border radius layout.

@SmrutiSawant #686 Read
feat ui-ux 3 months ago

Invite users to Builder

Site members can now be invited to Builder by email without going through Desk; invitees get Website Manager role on accepting.

@surajshetty3416 #688 Read
feat ui-ux 3 months ago

Inform users when the site is in read-only mode

Builder now shows a message when the site enters read-only maintenance mode instead of silently failing saves.

@surajshetty3416 #687 Read
o Other 22 updates
feat other-apps 3 months ago

Add greptile rules

feat: Add greptile rules

@tanmoysrt #253 Read
feat other-apps 3 months ago

Default screening on only for personal accounts

Email screening now defaults to off; only personal accounts get it on by default, shared/delegated stay off.

@s-aga-r #310 Read
feat other-apps 3 months ago

Forward Deployment

Adds forward deployment feature to Pilot.

@tanmoysrt #249 Read
feat other-apps 3 months ago

Enable hot reload by default on dev benches

Dev benches now hot-reload both Python and JavaScript by default without explicit bench.toml settings.

@Aradhya-Tripathi #250 Read
feat other-apps 3 months ago

Slicers — floating value-filter controls

Draggable in-sheet panels that filter by column values via checklist, reusing the existing sortFilter engine.

@AsifMulani1 #256 Read
feat other-apps 3 months ago

Recoverable trash for deleted sheets

Soft-deletes sheets to trash instead of hard-deleting; 30-day retention with recovery like Google Drive/Figma.

@AsifMulani1 #204 Read
feat ai 3 months ago

Complete llm hosting

Completes LLM hosting service with console activation, API key issuance, and per-site enable via Pilot.

@prathameshkurunkar7 #186 Read
feat other-apps 3 months ago

Keep forwarded emails in the same thread

New per-account setting to add `In-Reply-To` headers to forwarded emails so they thread with originals.

@s-aga-r #316 Read
feat other-apps 3 months ago

Add basic DB analyzer support

Basic database analyzer support with lock wait timeouts, active connections, and process list tasks.

@Aradhya-Tripathi #254 Read
feat other-apps 3 months ago

Databse Insights

Adds database insights with lock wait timeouts, active connection counts, binlog purge information, and process list.

@tanmoysrt #255 Read
fix other-apps 3 months ago

Name the bench in the wizard's finish hints

Setup wizard now names the bench in finish commands when multiple benches exist.

@AryamanSharma14 #245 Read
fix other-apps 3 months ago

Stop tooltip clip

Tooltips no longer clip.

@Aradhya-Tripathi #248 Read
fix other-apps 3 months ago

Install app regressions

Fixes installation regressions.

@Aradhya-Tripathi #252 Read
fix ui-ux 3 months ago

Use alpha gray for focus and open item backgrounds

Menu background no longer shifts when a submenu opens; focused and open states now both use alpha tokens.

@stravo1 #850 Read
fix other-apps 3 months ago

Properties panel stealing focus from text editor

Properties panel writes no longer steal focus; color picker can be dragged, text highlighting persists, and arrow keys work in numeric inputs.

@GursheenK #313 Read
fix other-apps 3 months ago

Stack avatar group to the right

Avatar group now stacks to the right for better layout.

@BreadGenie #312 Read
fix other-apps 3 months ago

Allow moving a block inside a slot and deleting a slot from layers panel

Layers panel now supports moving blocks into slots and deleting slots, helpful when the UI drop target is too small.

@ruchamahabal #201 Read
fix other-apps 3 months ago

Fix notifications empty state alignment

Notifications empty state now aligns with tab buttons via responsive left margins.

@netchampfaris #520 Read
fix other-apps 3 months ago

Preserve tree expand/collapse state on column freeze

Tree expansion state is now retained when freezing/unfreezing columns.

@Shllokkk #238 Read
fix other-apps 3 months ago

Punctuation jumping when editing text elements

Enabled contextual alternates on ProseMirror editor and fixed text run shaping to prevent punctuation from jumping vertically during editing.

@GursheenK #315 Read
fix ui-ux 3 months ago

Mention dropdown stays dead after typing a name with no match

Mention suggestions dropdown now re-opens after typing a non-matching query and deleting back to a matching prefix; was failing due to conditional root element rendering detaching popover content.

@kaulith #845 Read
fix other-apps 3 months ago

Don't save -> write page on load

Multiple `setPage` calls during page load were triggering unintended saves; now gates secondary setups behind a completion check.

@ruchamahabal #202 Read

Wednesday, July 22

ERPNext 40.6k 6 updates
fix accounting 3 months ago

Ensure payments app installed on the site in payment_app_import_guard

Prevents errors when payment operations run before the payments app is installed.

@diptanilsaha #57342 Read
fix accounting 3 months ago

Sync process loss percentage when FG qty changes

Manufacturing rework now re-derives stale process loss percentage when finished goods qty changes.

@Shllokkk #57063 Read
fix accounting 3 months ago

Show transaction currency symbol in Payment Request schedule dialog and reference table

Multi-currency Payment Requests were showing company currency symbol instead of transaction currency.

@Henil666 #57050 Read
breaking stock-manufacturing 3 months ago

Read serial and batch flags from Item in Stock Balance's SLE query

Stock Balance query was missing `has_batch_no` and reading `has_serial_no` from wrong column, breaking batch/serial consumption matching.

@mihir-kandoi #57326 Read
fix stock-manufacturing 3 months ago

Rescale stock ageing FIFO slot values on stock reconciliation

Stock Ageing showed negative bucket values when revaluing existing stock; each slot's value is now re-derived as qty × valuation_rate.

@mihir-kandoi #57316 Read
fix accounting 3 months ago

Apply default accounting dimensions reliably on new documents

Accounting dimensions weren't populated on new Sales Orders due to timing race with async fetch; now applied via callback.

@khushi8112 #57309 Read
Frappe 11k 28 updates
feat framework 3 months ago

QUERY HTTP method (RFC 10008)

Frappe API now supports RFC 10008 QUERY HTTP method for GET-like transaction semantics with POST-like body handling.

@ankush #41135 Read
feat ui-ux 3 months ago

Store builder snippets in a DocType

Print Format snippets moved from localStorage to a DocType, making them exportable and shareable across sites/devices.

@iamejaaz #41086 Read
feat framework 3 months ago

Web Form: add request-key access for one-time links

Web forms can now be shared via one-time private links with pre-filled context, enabling secure workflows for non-users.

@ankush #39194 Read
feat framework 3 months ago

Resend user invitation

API added for resending user invitations.

@ankush #38827 Read
feat framework 3 months ago

Add print option in form menu on mobile

Print action now appears in form menu on mobile devices for easier access.

@kaulith #41042 Read
fix framework 3 months ago

Rename hook to add_app_to_dock

Hook renamed for consistency.

@sokumon #41105 Read
fix framework 3 months ago

Rename to add_to_workspace_dock

Hook renamed for semantic clarity.

@sokumon #41106 Read
fix framework 3 months ago

Collapse interaction for dock

Workspace dock collapse interaction is now working.

@sokumon #41119 Read
fix framework 3 months ago

Multiple changes in duckdb sync

DuckDB sync now uses db_port from frappe.conf, shows filenames, ignores links on cancel, and doesn't set primary key.

@ankush #40929 Read
fix framework 3 months ago

Give datatable a definite height on mobile

Query reports on mobile now render with proper datatable height so HyperList virtual scrolling works.

@Jatin3128 #40441 Read
fix framework 3 months ago

Add ignore_permission param to remove_user_permission util

User permission removal now accepts ignore_permission parameter.

@deepeshgarg007 #41073 Read
fix framework 3 months ago

Rename workspace missing icon in db

Workspace icon naming is corrected in database.

@Bowrna #41098 Read
fix framework 3 months ago

Make the create new button subtle

Create new button styling is now more subtle.

@sokumon #41113 Read
fix framework 3 months ago

Make shell selection module first

Sidebar selection is now module-based instead of role-based.

@sokumon #41114 Read
fix framework 3 months ago

Check image before trying to load in print

Print formats now skip empty image attachments instead of attempting to load them.

@krishna-254 #40928 Read
fix framework 3 months ago

Restore compact email button size

Email button sizing regression from spacing redesign is reverted while keeping dark colors.

@iamejaaz #41132 Read
fix ui-ux 3 months ago

Don't flag builder blocks as missing fields in the outline

Builder-only fieldtypes (Repeater, Spacer, Divider) no longer wrongly report as missing fields.

@iamejaaz #41108 Read
fix framework 3 months ago

Respect select field ordering

System console output columns are no longer forced to sorted order.

@ankush #41123 Read
fix framework 3 months ago

Show a session expired message and redirect to login instead of "Method Not Allowed"

Expired sessions now show a clear message and redirect to login instead of cryptic "Method Not Allowed" errors.

@Jatin3128 #40978 Read
fix ui-ux 3 months ago

List view filter on child table link field with ignore user permissions

Filtering by child-table Link fields with Ignore User Permissions no longer fails validation.

@kaulith #41027 Read
fix framework 3 months ago

Dock the preview, move print settings to a dialog, section radius

Print Format Builder preview now docks beside the canvas with live refresh and improved print settings UI.

@iamejaaz #41129 Read
fix framework 3 months ago

Fix pytz to filter out deprecated timezones

Timezone API now excludes deprecated entries like Asia/Calcutta using pytz instead of zoneinfo.

@AarDG10 #38751 Read
fix framework 3 months ago

Broken spacing in email templates

Redesigned email containers with proper card layout, padding, and typography.

@iamejaaz #41026 Read
fix framework 3 months ago

Persist allow_bulk_edit for custom table fields

Allow Bulk Edit checkbox was auto-unchecking on save for custom fields; added missing column to Custom Field doctype.

@ankush #39928 Read
fix ui-ux 3 months ago

Empty state text for list views

Fixed button styling and simplified empty state messaging in list views.

@nikkothari22 #41138 Read
fix framework 3 months ago

Connected app: add permission check & sanitize redirects

Prevents redirect injection and unauthorized app flows.

@ankush #41065 Read
fix framework 3 months ago

Add permission checks to prepared_report & query_report

Hardens report access by adding permission validation to prevent unauthorized access.

@AarDG10 #41095 Read
fix framework 3 months ago

Redact email message after it is sent

Sensitive content in welcome and password reset emails is now redacted from the Email Queue after successful delivery, preventing password setup links from sitting in the database.

@gajjug004 #40925 Read
HR 9k 7 updates
feat hr-payroll 3 months ago

Filter system users in department approver tables

Department approver fields now filter to show only System Users, preventing Website Users from being selected.

@akhtarmohsin #4971 Read
fix hr-payroll 3 months ago

Doctype settings map

Standardizes doctype settings metadata across HRMS.

@deepeshgarg007 #4945 Read
fix hr-payroll 3 months ago

Skip expire_allocation for already-cancelled Leave Allocations

Leave expiry no longer processes cancelled allocations.

@pratheep-bit #4969 Read
fix hr-payroll 3 months ago

Exclude cancelled Vehicle Log records from service expense report

Service expense totals no longer inflate from cancelled vehicle logs.

@pratheep-bit #4966 Read
fix hr-payroll 3 months ago

Exclude cancelled Attendance records from employee timeline

Employee dashboard timeline now filters out cancelled attendance entries.

@pratheep-bit #4967 Read
fix hr-payroll 3 months ago

Exclude disabled users from approver list

Disabled users no longer appear in leave, expense, and shift approval searches.

@pratheep-bit #4943 Read
fix hr-payroll 3 months ago

Correct salary slip naming when created via data import

Data Import was generating wrong salary slip names (e.g., `Sal Slip/None/00001`) because default_series read unset employee field; now lazily evaluated.

@akhtarmohsin #4980 Read
CRM 3.9k 3 updates
fix crm-sales 3 months ago

Allow manual product sync regardless of bidirectional toggle

Manual product sync is now always available independent of bidirectional setting.

@shahzeelahmed #2512 Read
fix crm-sales 3 months ago

Lead/deal report 500s when a child-table column is selected

Permission conditions now properly qualify column names to avoid ambiguity when child tables join.

@kaulith #2516 Read
fix crm-sales 3 months ago

Upgrade frappe-ui to beta.24 and resolve UI regressions

Button icon handling, list controls, text inputs, and settings pages fixed after frappe-ui upgrade.

@ps173 #2510 Read
Insights 1k 1 update
fix other-apps 3 months ago

Respect Week Starts On in timespan filters

Week filter boundaries now use Insights Settings week_starts_on instead of System Settings, ensuring consistent week grouping.

@nextchamp-saqib #1252 Read
p Press 575 9 updates
feat other-apps 3 months ago

Add playbook to update ProxySQL on proxies

Playbook added to upgrade ProxySQL from 2.3.2 to 3.0.9 across all proxies with atomic backup and rollback.

@balamurali27 #7003 Read
feat other-apps 3 months ago

Allow more actions on inactive sites

Inactive sites now support reinstall, restore, migrate, and update operations; update_without_backup now matches schedule_update allowed states.

@balamurali27 #7005 Read
fix other-apps 3 months ago

Ignore failed-over proxies in wildcard skip check

Wildcard DNS check no longer counts failed-over proxies as active, preventing per-site record misplacement.

@balamurali27 #7002 Read
fix other-apps 3 months ago

Make partner lead page a lil responsive

Partner lead page now renders functional layouts on mobile.

@siduck #7009 Read
fix other-apps 3 months ago

Improve app-mismatch error when moving a site

App mismatch errors now bold offending app names and link to documentation.

@balamurali27 #7008 Read
fix other-apps 3 months ago

Branch change for framework

Framework branch changes are now allowed if major version matches the release group.

@Aradhya-Tripathi #7015 Read
fix other-apps 3 months ago

Determine post-login redirect route entirely in backend

Login flow now determines redirect route server-side instead of trusting frontend logic.

@siduck #6998 Read
fix other-apps 3 months ago

Send already-logged-in product signup through quickstart

Logged-in users completing product signup are now routed through quickstart flow.

@siduck #7020 Read
fix other-apps 3 months ago

Continue to existing trial site btn instead of new site

Quickstart now correctly shows "Continue" for users with existing trial sites instead of "Create".

@siduck #7022 Read
o Other 29 updates
feat other-apps 3 months ago

Add read-only SQL query command

CLI tool now includes read-only SQL query command with interactive table results and piped/JSON output support.

@ankush #51 Read
feat other-apps 3 months ago

Slugify server subdomains

Server subdomains are now automatically slugified and polished UI added for new server page.

@prathameshkurunkar7 #185 Read
feat other-apps 3 months ago

Add missing indexes

Performance indexes added for Invoice, Payment Attempt, Usage Rollup, Subscription, and Credit Ledger Entry queries.

@saurabh6790 #182 Read
feat other-apps 3 months ago

Unified assets list view

Servers and sites now unified in single console map + list view, allowing single-site users to find their site and multi-site owners to see everything at once.

@prathameshkurunkar7 #180 Read
feat other-apps 3 months ago

Rollback imports on failure

JMAP importers (Mail, Calendar, Exchange) now stage imports atomically; failure at any point rolls back the entire batch.

@s-aga-r #260 Read
feat other-apps 3 months ago

Custom event invitation emails with RSVP links

Calendar now sends custom invitation emails with HTTP RSVP links, with configurable Mail Settings toggle.

@s-aga-r #257 Read
feat other-apps 3 months ago

Add Sentry error tracking

Error tracking now integrated with Sentry.

@BreadGenie #299 Read
feat other-apps 3 months ago

Add Suite User and Suite Admin roles, simplify Mail/Calendar permissions

New Suite User and Suite Admin roles replace blanket All role with owner-scoped, role-based permissions for Mail and Calendar.

@s-aga-r #298 Read
feat other-apps 3 months ago

Draggable corner radius handle

Slides designer now offers draggable corner handles for round rectangles, images, and videos.

@GursheenK #295 Read
feat other-apps 3 months ago

Redesign event modal

Calendar event creation modal redesigned with two-pane layout, grouped date/time card, participants rail, and human-readable repeat rules.

@krantheman #297 Read
feat other-apps 3 months ago

Google-Sheets formula UX — click-to-range, auto-close parens, range suggestion

Sheets formula editor now supports Google Sheets parity features: click-to-extend ranges, auto-closing parentheses, and range suggestions.

@AsifMulani1 #303 Read
feat other-apps 3 months ago

Writer-style share dialog redesign

Sheets share dialog now matches Frappe Writer/Drive style with unified typography and consistent design language.

@AsifMulani1 #306 Read
fix other-apps 3 months ago

Harden ingest: validation, dedup, capture rules, event catalog

Event ingestion validation hardened with dedup logic, capture rules, and event catalog.

@nextchamp-saqib #12 Read
fix other-apps 3 months ago

Namespace gateway payment id by provider

Gateway payment IDs are now scoped by provider to prevent ID collisions across multiple gateways.

@saurabh6790 #184 Read
fix other-apps 3 months ago

Add tsconfig for type stuff in admin dashboard

TypeScript configuration added for admin dashboard.

@siduck #237 Read
fix other-apps 3 months ago

Implicitly allow dropping in a component that has a default slot + other slot fixes

Components with default slots can now wrap other components without explicit slot passing.

@ruchamahabal #199 Read
fix ui-ux 3 months ago

Forward sidebar-item slot to SidebarSection

Sidebar component now properly forwards slot when using sections API.

@krantheman #841 Read
fix other-apps 3 months ago

Fill unpinned column before creating a 2nd column

Meet video grid now fills a single column before wrapping to multiple columns.

@BreadGenie #296 Read
fix other-apps 3 months ago

Ask for device perms on demand in device settings

Frappe Meet now requests device permissions on-demand in settings instead of upfront.

@BreadGenie #293 Read
fix other-apps 3 months ago

Unify sidebar state and hide storage labels on collapsed

Sidebar state is now consistent across sections and labels hide when collapsed.

@BreadGenie #283 Read
fix other-apps 3 months ago

Stop the login layout from shadowing bare /mail

Bare `/mail` URL no longer shows empty account creation card for logged-in users.

@krantheman #285 Read
fix other-apps 3 months ago

Reset stalled receive connection

Frappe Meet connection stalls are now recovered.

@BreadGenie #304 Read
fix other-apps 3 months ago

Smooth, tight-fitting document title input

Sheets document title input no longer jitters on keystroke by removing width animation and using native input sizing.

@AsifMulani1 #307 Read
fix other-apps 3 months ago

Resolve event masters via baseEventId so fresh events can be edited

Freshly created calendar events can now be edited immediately by resolving masters via baseEventId instead of stale search index.

@krantheman #287 Read
fix other-apps 3 months ago

Allow site operations in production

Site operations now work in production by allowing passwordless sudo access to nginx.

@Aradhya-Tripathi #236 Read
fix other-apps 3 months ago

Drop certbot quotes

Certbot configuration no longer includes unnecessary quote escaping.

@Aradhya-Tripathi #239 Read
fix other-apps 3 months ago

Certfile test is root-only

TLS certificate tests now handle permission-denied gracefully in non-root runs.

@Aradhya-Tripathi #240 Read
fix other-apps 3 months ago

SSL flag

Removing SSL ready flag no longer takes away HTTPS from other sites.

@Aradhya-Tripathi #241 Read
fix other-apps 3 months ago

Monitoring fixes

Ensures ping method is not tracked in frequent paths and missing data in uptime is correctly represented.

@Aradhya-Tripathi #246 Read

Sunday, July 19

ERPNext 40.6k 2 updates
fix stock-manufacturing 3 months ago

Scope current serial nos to the selected batch in stock reconciliation

Serial numbers in stock reconciliation now scoped to selected batch instead of pulling from all batches in warehouse.

@mihir-kandoi #57256 Read
fix accounting 3 months ago

Exclude transferred_qty from work order item to pick list item matching

Work orders can now produce in multiple batches even after partial production; transferred quantities excluded from matching.

@Pandiyan5273 #57253 Read
Frappe 11k 7 updates
feat ui-ux 3 months ago

Live preview renders unsaved edits through the print pipeline

Live preview now renders unsaved edits via the print pipeline; canvas values from server's `get_formatted` kill preview↔print drift (address `
`, currency, links).

@iamejaaz #41001 Read
fix developer-experience 3 months ago

Custom permission types denied for Administrator on client

Restores evaluation of custom permission types for Administrator on client after merge conflict from backport.

@kaulith #40994 Read
fix ui-ux 3 months ago

Make builder preview pixel-match print output

Aligns print format builder preview styling with print output (light-theme lock, token values, gray palette).

@iamejaaz #40999 Read
fix framework 3 months ago

Preserve numeric values across locale formats

Numeric filter values (e.g., 7.95) are preserved across locale-sensitive number formats instead of being truncated to integers.

@barredterra #41009 Read
fix framework 3 months ago

Scope preview cleanup to generated files only

Prevents deletion of user-attached files when regenerating print format previews; saves new preview before cleaning stale ones.

@iamejaaz #41018 Read
fix framework 3 months ago

Sweep all stale preview images on regenerate

Sweeps all pf-preview-* files before saving fresh preview, preventing orphaned files from interrupted renders.

@iamejaaz #41013 Read
fix framework 3 months ago

Create notification settings during boot if missing

User lockout during boot if Notification Settings doc is missing; auto-creates it on first read with rollback safety.

@iamejaaz #40778 Read
CRM 3.9k 2 updates
fix crm-sales 3 months ago

Exclude Closed status ToDos from get_assigned_users

Syncs assigned users between single page and list page by excluding closed status todos.

@ps173 #2499 Read
fix crm-sales 3 months ago

Description rendering — preserve line breaks + reliable auto-size

Form descriptions preserve line breaks and textarea reliably auto-sizes on load.

@michellealva #2492 Read
o Other 7 updates
feat other-apps 3 months ago

Add thin Central proxy + JWKS-based bench↔Central auth

Central billing client and site-billing admin routes with JWKS authentication; usage meters composed server-side.

@prathameshkurunkar7 #164 Read
feat other-apps 3 months ago

Add template renderer

Minimal Jinja2-like template renderer to simplify nginx config code and reduce f-string complexity.

@tanmoysrt #221 Read
feat other-apps 3 months ago

Readable Flow Session transcript, Flow Run tweaks

Flow Session transcript renders as readable HTML instead of raw grid; Flow Run Input field read-only, Output trimmed on display.

@ShrihariMahabal #79 Read
feat other-apps 3 months ago

Show failed tool calls in activity timeline

Surfaces a "Failed" badge on tool calls whose result is an error payload; message shown in dropdown.

@ShrihariMahabal #80 Read
feat other-apps 3 months ago

Frappe Draw: unified-canvas polish (minimap coverage + library type filter)

Minimap now shows all content (block shapes, whiteboard objects, frames) on unified docs; "Drawing" type added to library filter.

@vibhavkatre #17 Read
feat other-apps 3 months ago

Frappe Draw: in-frame editing (double-click a frame to edit it)

Double-click a mind-map or flowchart frame to enter it; the editor becomes that frame's single-type editor, with keyboard + contextual toolbar; "Back to canvas" bar returns to composed view.

@vibhavkatre #16 Read
fix other-apps 3 months ago

Render multi-line and long text as a code block

Multi-line/long string fields no longer truncated to one line in record titles.

@ShrihariMahabal #78 Read

Saturday, July 18

ERPNext 40.6k 13 updates
feat stock-manufacturing 3 months ago

Automatically link portal users to their associated contact profiles for customers and suppliers

Portal users added to a Customer or Supplier now automatically link their existing Contact, making portal-visible records accessible.

@diptanilsaha #57210 Read
feat accounting 3 months ago

Block sales invoice submit when customer overdue exceeds threshold

Opt-in per-customer Overdue Billing Threshold blocks Sales Invoice submit unless the user holds a configured bypass role.

@Jatin3128 #57230 Read
fix stock-manufacturing 3 months ago

Batch operation batch-size flag lookups to avoid n+1 query in work order

Batches operation batch-size lookups instead of querying per-row for every exploded BOM node.

@Pandiyan5273 #57194 Read
fix accounting 3 months ago

Add fetch from in production plan material request child table

Adds fetch_from mapping for Production Plan Material Request items.

@mihir-kandoi #57249 Read
fix accounting 3 months ago

Strip account number when building account name in COA importer

Chart of Accounts importer strips leading numbers from account names.

@mihir-kandoi #57218 Read
fix accounting 3 months ago

Include on hold status in project filters and reports

On hold projects are now filtered correctly in Task/Timesheet selectors and appear in the Project Summary report.

@Sudharsanan11 #57223 Read
fix accounting 3 months ago

Remove duplicate links from home and projects workspaces

Removes duplicate entries that appeared after workspace re-export in #56864, fixing doubled links in desk.

@mihir-kandoi #57225 Read
fix stock-manufacturing 3 months ago

Fall back to the company in-transit warehouse

`set_transit_warehouse` now falls back to the company's default when the source warehouse has no in-transit default.

@mihir-kandoi #57228 Read
fix accounting 3 months ago

Replace column-literal work order filter with server-side query

Stock Entry's work_order link filter now uses a proper server-side query instead of a broken column-literal comparison that silently degraded.

@mihir-kandoi #57233 Read
fix accounting 3 months ago

Parallel reposting stalls between scheduler ticks

Enables continuous reposting by enqueueing the next batch immediately instead of stalling between 30-minute scheduler ticks, fixing throughput regression with large backlogs.

@rohitwaghchaure #57220 Read
fix accounting 3 months ago

Validate buying price list on material request and update item rates on change

Defaults `buying_price_list` only when user has read permission, clears it on validate if not a buying list, and refreshes item rates when the list changes.

@mihir-kandoi #57241 Read
fix accounting 3 months ago

Force-delete repost data file during cleanup

Passes `force=True` when deleting attached Files during reposting cleanup so File deletion guard from frappe#40812 doesn't block the operation.

@kaulith #57245 Read
fix accounting 3 months ago

Clear linked comments, versions and attachments with old logs

Repost Item Valuation and BOM Update Log cleanup now deletes attached Files first and sweeps child records properly, fixing orphaned Comments, Versions, ToDos, DocShares, and file leaks.

@mihir-kandoi #57244 Read
Frappe 11k 17 updates
fix framework 3 months ago

Add missing DF types for controller annotations

Type-annotates Geolocation, Signature, Icon, and Long Int fields.

@barredterra #40992 Read
feat framework 3 months ago

Add N_ noop for translation extraction

`N_()` marks strings for gettext extraction without translating at call time.

@barredterra #40984 Read
feat framework 3 months ago

Revoke old token after refreshing

Old token is now revoked after refresh.

@ankush #40968 Read
feat framework 3 months ago

Repeater row conditions and merged-column direction toggle

Print-format Repeater rows can now be conditionally shown with a Jinja expression; merged columns support LTR/RTL direction.

@iamejaaz #40966 Read
feat ui-ux 3 months ago

Composer — EmailComposer & CommentComposer

Two ready-to-use message composers: EmailComposer with headers/attachments/quoted replies, CommentComposer with @-mentions.

@aerodeval #40280 Read
feat framework 3 months ago

Virtualization

Windowed rendering for 2000+ row lists keeps only visible rows (+ buffer) in the DOM, preserving column widths and bulk selection across scroll/pagination/resize.

@sumitjain236 #40238 Read
fix developer-experience 3 months ago

Translate description in info card when `show_description_on_click` is set

Info card descriptions are now translated when the toggle is set.

@naraitua #40944 Read
fix framework 3 months ago

Allowlist print settings overrides to the doctype's print toggles

Caller-supplied print-preview overrides are now restricted to fields the doctype actually exposes.

@iamejaaz #40967 Read
fix framework 3 months ago

Use normal exception instead of assert

Replaces assertions with proper exceptions for validation errors.

@ankush #40981 Read
fix framework 3 months ago

Fix!: Don't run frappe under optimize flag

Removes `-O` optimize flags which disable assertions without real benefit.

@ankush #40982 Read
fix framework 3 months ago

Notification dot styles

Notification dot styling corrected.

@sokumon #40974 Read
fix ui-ux 3 months ago

Column resizing in list view and child tables for RTL layouts

Column resizing now works correctly in right-to-left layouts.

@Vibhuti410 #40985 Read
fix framework 3 months ago

Pass parent_doctype when fetching Has Role in Role form tabs

Passes `parent_doctype` to `frappe.db.get_list("Has Role", ...)` in Role form tabs, fixing "Insufficient Permission" errors for non-Administrators.

@khushi8112 #40973 Read
fix framework 3 months ago

Sync comment cache on relink

Syncs comment cache on both old and new parents when relinking, fixing comment count mismatches on relayed Communications.

@iamejaaz #40871 Read
fix framework 3 months ago

Blank columns when field is not in_list_view

Fetches configured columns that aren't in the default in_list_view set, waits for that before refresh so link titles don't lag.

@sumitjain236 #40987 Read
fix framework 3 months ago

Workspace save fails when adding a new chart or widget

Uses `frappe.parse_json()` in `save_new_widget` instead of re-parsing already-parsed `new_widgets`, fixing TypeError when saving workspace changes.

@kaulith #40969 Read
fix framework 3 months ago

Grid row dependencies leaking across rows when columns are configured

Shared `DocField` objects now use a per-row dependency context, so hidden/required/read-only state no longer leaks across rows in user-configured grids.

@kaulith #40869 Read
HR 9k 3 updates
feat hr-payroll 3 months ago

Schedule interview dialog on job applicant form

"Schedule Interview" dialog collects all details in one place with auto-populated interviewers from Interview Type.

@iamkhanraheel #4947 Read
fix hr-payroll 3 months ago

Checkin button no longer defaults to IN while loading

Checkin button stays disabled until the last check-in loads instead of defaulting to IN.

@iamkhanraheel #4934 Read
fix hr-payroll 3 months ago

Avoid lambda in safe_eval

Removes unsafe lambda usage in safe_eval.

@ankush #4955 Read
CRM 3.9k 6 updates
feat crm-sales 3 months ago

Prefill custom fields in lead to deal conversion form

Lead-to-deal conversion now pre-fills custom fields alongside default fields.

@shahzeelahmed #2497 Read
feat crm-sales 3 months ago

Sitemap seeding and extraction fixes

Crawl queue seeded from site sitemaps; also fixes extraction and follows nested sitemapindex files.

@ps173 #2484 Read
feat crm-sales 3 months ago

Capture feature adoption using pulse

Telemetry events track adoption of web forms, domain enrichment, and ERPNext integration features.

@shahzeelahmed #2488 Read
feat crm-sales 3 months ago

Refactor ERPNext product sync settings

Splits ERPNext product sync into two directions: Items always pull into CRM Products, pushing back is now opt-in via "Bidirectional Product Sync" toggle; adds Manual Sync button and sync logs.

@shahzeelahmed #2487 Read
fix crm-sales 3 months ago

Create product in CRM if opted out of bi-directional sync

Respects bidirectional product sync opt-out and doesn't redirect to ERPNext to create items.

@shahzeelahmed #2493 Read
fix crm-sales 3 months ago

Misc frappe-ui fixes

Fixes unable to resize columns, context menu not appearing in view settings, and removed usage of `ghosted` button variant.

@shahzeelahmed #2489 Read
Helpdesk 3.4k 5 updates
feat other-apps 3 months ago

Onboarding persona questionnaire

New admins see a one-time stepper collecting org name, team size, tooling, challenges, and goals; answers sent to telemetry.

@aerodeval #3538 Read
fix other-apps 3 months ago

Strip html comments from agent reply email content

Removes MSO conditional comments and other HTML comments from email replies before sending so markdown2 doesn't break them.

@aerodeval #3563 Read
fix other-apps 3 months ago

Make headers sticky in TicketsTab

Column headers in the Tickets Tab of Customer and Contact pages stay fixed when scrolling.

@RitvikSardana #3565 Read
fix other-apps 3 months ago

SidebarItem overflow

Sidebar items are no longer cut off on the x-axis.

@RitvikSardana #3568 Read
fix other-apps 3 months ago

Reuse existing contact as customer primary contact & accurate ticket counts

`create_customer` now reuses existing Contacts by email and routes through `add_contacts`, fixing duplicate Contact creation; Tickets tab now counts accurately.

@RitvikSardana #3562 Read
LMS 3.3k 1 update
fix other-apps 3 months ago

Checkbox toggle doesn't render until another field changes

Settings checkboxes now bind `data[field.name]` directly and toggle immediately.

@raizasafeel #2581 Read
b Builder 2.5k 3 updates
feat ui-ux 3 months ago

Dim images by default in dark mode

Images without dark variants now apply subtle default dim (brightness 0.85, contrast 1.05) in dark mode.

@surajshetty3416 #677 Read
feat ui-ux 3 months ago

Added per-corner control for spacing and border-radius

Split/uniform inputs for spacing and border-radius now allow per-corner control with label dragging.

@stravo1 #666 Read
fix ui-ux 3 months ago

Declare color-scheme in head to avoid light flash on dark pages

Color-scheme declaration moved to `` so dark pages don't flash white before styles load.

@surajshetty3416 #678 Read
p Press 575 3 updates
feat other-apps 3 months ago

Add quickstart page for new onboarders

New onboarders with ≤3 sites see a quickstart page after login.

@siduck #6977 Read
feat other-apps 3 months ago

Report public server pool health

Hourly job monitors public primary servers, fetches Prometheus metrics in bulk, chooses best server per cluster, and reports health via Raven.

@AyshaHakeem #6990 Read
fix other-apps 3 months ago

Block updates on sites with database over 100 GB

Blocks site updates on very large databases that would likely fail midway, directing customers to support.

@balamurali27 #6994 Read
o Other 33 updates
feat other-apps 3 months ago

Structured -F values (key:=json), fix GET --input

`-F key:=json` now parses JSON values; fixes `GET --input`.

@ankush #47 Read
fix other-apps 3 months ago

Drop the "mutations run without confirmation" tip

Removes misleading guide text about mutations.

@ankush #48 Read
fix other-apps 3 months ago

Let user know we are waiting for cache fill

User-facing message when waiting for cache fill.

@ankush #49 Read
feat other-apps 3 months ago

Custom rules

Custom WAF rules UI added.

@ssiyad #212 Read
fix other-apps 3 months ago

Replace whole roles field instead of patching union discriminator

Stalwart account role assignment now patches the whole roles field instead of sub-paths.

@s-aga-r #244 Read
feat other-apps 3 months ago

Show plain-English intent for execute tool confirmations

Execute tool approval card now shows one-line `description` of intent as title with code below.

@ShrihariMahabal #74 Read
feat other-apps 3 months ago

Add Frappe server-tests job

Adds Python doctype test gating to Draw CI.

@vibhavkatre #6 Read
feat other-apps 3 months ago

Canvas unification — Phase 3b: remove type selector, land on canvas

New diagrams are unified canvas by default; type selector removed and users land on blank editor immediately.

@vibhavkatre #5 Read
feat other-apps 3 months ago

Canvas unification — Phase 4a: frame origin data model

Unified documents add `origin` {x,y} to mind maps and flowcharts; legacy single-type docs unaffected.

@vibhavkatre #7 Read
feat other-apps 3 months ago

Canvas unification — Phase 4b: render mind map & flowchart as frames

Mind maps and flowcharts render as positioned frames on the unified canvas alongside block shapes and whiteboard ink.

@vibhavkatre #8 Read
feat other-apps 3 months ago

Canvas unification — Phase 4d: Templates/Insert menu for frames

Insert menu adds starter mind maps or flowcharts to the unified canvas.

@vibhavkatre #9 Read
feat other-apps 3 months ago

Canvas unification — Phase 4c: select & move frames

Mind map and flowchart frames are now first-class selectable/draggable objects on the unified canvas.

@vibhavkatre #10 Read
feat other-apps 3 months ago

Frappe Draw: Writer-style diagram sharing (view/comment/edit) — backend

Diagram sharing built on Frappe core DocShare + custom "comment" permission type, no Drive dependency.

@vibhavkatre #12 Read
feat other-apps 3 months ago

Frappe Draw: Share dialog UI wired to sharing backend (view/comment/edit)

Share dialog now wired to `draw.api.share.*`, adds comment-level access, and user-search endpoint for invites.

@vibhavkatre #13 Read
feat other-apps 3 months ago

Frappe Draw: optional Frappe Drive integration (register diagram as a Drive file)

Diagrams can be registered as Frappe Drive native documents; soft-coupled with no Drive dependency.

@vibhavkatre #14 Read
feat other-apps 3 months ago

Template library: 17 new template groups

Grows template catalog from 11 to 27 groups across Fashion, Portfolio, Technology, and Marketing.

@surajshetty3416 #7 Read
feat other-apps 3 months ago

Scope screening backfill to active, configured, fetching users

Screening patch now targets a precise set of active users with JMAP configured, avoiding redundant backfill.

@s-aga-r #247 Read
feat other-apps 3 months ago

Enable screening by default for new accounts

New JMAP Accounts start with screening enabled instead of requiring manual opt-in.

@s-aga-r #245 Read
feat other-apps 3 months ago

Collapse consecutive mails from the same sender in list view

3+ adjacent threads from one sender on one day render as a single expandable row, reducing list clutter (measured: 300 threads fold to 19 stacks).

@krantheman #258 Read
feat other-apps 3 months ago

Local email-address suggestions (Tantivy)

Local per-account full-text index powers email-address suggestions from cached messages and contacts without JMAP round-trip.

@s-aga-r #239 Read
feat other-apps 3 months ago

Protected cell ranges and sheet lock

Protected ranges and whole-sheet lock enforced across all write paths; ranges shift correctly on row/col insert/delete.

@AsifMulani1 #243 Read
feat other-apps 3 months ago

Lossless XLSX import/export

XLSX round-trip now preserves formulas, number formats, merges, and all sheets; replaces string-only bridge.

@AsifMulani1 #246 Read
feat other-apps 3 months ago

Threaded, resolvable cell comments

Cell comments turn into threaded discussions with resolve/reopen, @-mentions, and timestamps.

@AsifMulani1 #249 Read
feat other-apps 3 months ago

In-cell SPARKLINE mini-charts

`SPARKLINE(data_range, [type], [color])` formula renders line or column mini-charts in cells, inheriting recompute-on-change from the formula engine.

@AsifMulani1 #254 Read
fix other-apps 3 months ago

Editor layout, comments & read-only selection; drive dialog fixes

Unified editor scrolling, permanent comment gutter, restored text selection in read-only, and dialog fixes.

@safwansamsudeen #218 Read
fix other-apps 3 months ago

Flexible comment layout with chips and mobile support

Writer comments now use a symmetric grid with mobile-responsive chips and bottom sheet.

@safwansamsudeen #248 Read
fix other-apps 3 months ago

Fix move toast and move-dialog button state

Move operation now shows correct filename in toast and button state works when moving within same team.

@safwansamsudeen #252 Read
fix other-apps 3 months ago

Consistent empty states across pages

Unified empty-state rendering and copy across Attachments, Notifications, and other Drive pages.

@safwansamsudeen #251 Read
fix other-apps 3 months ago

Cancel error on loan security assignment when loan value is empty

Cancel no longer crashes when loan amount is None.

@Nihantra-Patel #1330 Read
fix other-apps 3 months ago

Keep execute description required so the model always supplies intent

Reverts default on execute tool description so the model always supplies intent text.

@ShrihariMahabal #75 Read
fix other-apps 3 months ago

Make Flow installable on Frappe Cloud and v16

Adds `[tool.bench.frappe-dependencies]` and pins litellm to support Python 3.14 and Frappe v16.

@ShrihariMahabal #77 Read
fix other-apps 3 months ago

Preserve custom keys in common_site_config.json

`write_common_site_config()` now merges over existing file instead of replacing it, preserving keys added via `bench set-config`.

@mihir-kandoi #218 Read
fix other-apps 3 months ago

Audit authz

Fixes ten security findings from the July billing audit: domain-layer functions lacked authorization checks, allowing any logged-in user to call credit/payment/plan APIs for any team; money paths and team access are now gated at the auth layer.

@saurabh6790 #173 Read

Friday, July 17

ERPNext 40.6k 6 updates
feat stock-manufacturing 3 months ago

Automatically link portal users to associated contact profiles for customers and suppliers

Automatically detects and links existing Contact records when portal users are added to Customers/Suppliers.

@Sudharsanan11 #57179 Read
feat stock-manufacturing 3 months ago

Book Expenses Added To Stock GL entries for stock vouchers

Books GL entries for expenses added to stock value movement, mirroring Purchase Expense pattern and making the feature configurable.

@rohitwaghchaure #57190 Read
feat accounting 3 months ago

Map settings for DocTypes to show on settings dialog

Maps DocType settings to display in the DocType settings dialog General tab.

@nishkagosalia #57025 Read
fix accounting 3 months ago

Consider min order qty in the purchase/transfer flow of production plan

Ensures minimum order quantity is respected when splitting purchase and transfer allocations in production planning.

@mihir-kandoi #57204 Read
fix stock-manufacturing 3 months ago

Serialize postgres stock writes per (item, warehouse)

Adds transaction-scoped advisory locking for concurrent stock writes in postgres to prevent serialization failures and incorrect inventory.

@mihir-kandoi #57202 Read
fix accounting 3 months ago

Strip account number when building account name in COA importer

Strips account numbers from account names during Chart of Accounts import.

@Shllokkk #57198 Read
Frappe 11k 22 updates
feat framework 3 months ago

New control "Attachment Gallery"

Adds standard form control for viewing, uploading, previewing, and deleting attachments with optional filtering.

@barredterra #40781 Read
fix developer-experience 3 months ago

Translate description in info card when show_description_on_click is set

Translates field descriptions in info cards when show_description_on_click is enabled.

@KerollesFathy #40940 Read
fix framework 3 months ago

Center the close button

Centers the close button in modal headers for better visual alignment.

@sokumon #40950 Read
fix ui-ux 3 months ago

Independent table style controls in print format builder

Decouples table style controls so Style controls only lines/stripes, Bordered controls column lines, and header controls header row independently.

@khushi8112 #40892 Read
fix framework 3 months ago

Report why chromium failed to start instead of a blanket timeout

Reports actual Chromium startup failures instead of generic timeout message, improving CI debugging.

@iamejaaz #40895 Read
fix framework 3 months ago

Honour print settings pdf generator for standard printing

Respects Print Settings > PDF Generator selection for standard printing instead of forcing Chromium, allowing wkhtmltopdf fallback.

@iamejaaz #40896 Read
fix framework 3 months ago

Truncate MultiSelectList status text within the control box

Truncates long selected labels in MultiSelectList controls to fit within the component instead of overflowing.

@Shllokkk #40865 Read
fix framework 3 months ago

Batch child-table fetch in data export

Batches child-table fetches during data export to improve performance and reduce database queries.

@ShrihariMahabal #40927 Read
fix framework 3 months ago

Render Markdown Editor standard filters as text search

Renders Markdown Editor standard filters as text search instead of complex filter UI.

@KerollesFathy #40883 Read
fix framework 3 months ago

Duplicate intro messages on first save of a new document

Fixes frm.set_intro() appending duplicate messages on first save by clearing previous message instead of always appending.

@kaulith #40842 Read
fix framework 3 months ago

Guard against missing old_doc in validate_snapshot_reports

Adds guard to prevent AttributeError when System Settings is inserted fresh with no prior document to compare.

@ShrihariMahabal #40908 Read
fix ui-ux 3 months ago

Various issues in sidebar

Addresses multiple sidebar UI issues including button centering and alignment.

@sokumon #40924 Read
fix framework 3 months ago

Don't emit column fieldname as a CSS class

Prevents column fieldnames from being emitted as CSS classes, which could cause unintended styling or DOM pollution.

@ShrihariMahabal #40936 Read
fix framework 3 months ago

Do not translate empty string

Prevents translation of empty strings which was causing issues with gettext extraction.

@Abdeali099 #40899 Read
fix framework 3 months ago

Add a perm. chk for ref. document to update_reference method

Adds permission check for referenced documents to update_reference method, closing Ticket 72600.

@AarDG10 #40946 Read
fix ui-ux 3 months ago

Field inspector label and align/spacing conflict in print format builder

Shows field's real doctype label in inspector instead of custom print label; resolves Align/Spacing control conflict where Spacing silently overwrote Align.

@khushi8112 #40916 Read
fix framework 3 months ago

Hide submit button for non-submittable documents

Removes the submit button from form toolbar for non-submittable doctypes, preventing UI confusion.

@KerollesFathy #40891 Read
fix framework 3 months ago

Escape template context values before rendering

Escapes template context values to prevent XSS in dynamic template rendering.

@AarDG10 #40897 Read
fix framework 3 months ago

Escape list filter values before rendering

Escapes list filter values before rendering to prevent XSS through filter UI.

@AarDG10 #40902 Read
fix framework 3 months ago

Allow safe tags only in discussion reply md

Restricts HTML tags in discussion replies to a safe allowlist, blocking XSS.

@AarDG10 #40934 Read
fix framework 3 months ago

Escape script context values before rendering

Escapes script context values in form rendering to prevent XSS attacks.

@AarDG10 #40920 Read
fix framework 3 months ago

Sanitize frappe.markdown

Sanitizes markdown rendering to prevent XSS injection via untrusted markdown input.

@ShrihariMahabal #40951 Read
HR 9k 4 updates
feat hr-payroll 3 months ago

Capture HR product usage & activation telemetry

Adds anonymous site-scoped telemetry to measure HR feature usage and post-install activation funnel.

@deepeshgarg007 #4928 Read
feat hr-payroll 3 months ago

Schedule interview dialog on job applicant form

Replaces broken "Create Interview" button with "Schedule Interview" dialog that collects all details and creates the interview directly.

@iamkhanraheel #4857 Read
feat hr-payroll 3 months ago

Show Holiday List Assignment in Employee connections tab

Adds Holiday List Assignment to Employee document's Connections tab so HR users can see assigned holiday lists without navigating away.

@akhtarmohsin #4932 Read
fix hr-payroll 3 months ago

Update mandatory_depends_on for payable account

Adds mandatory_depends_on constraint for payable account field to ensure proper field dependency rendering.

@nareshkannasln #4909 Read
CRM 3.9k 2 updates
fix crm-sales 3 months ago

Builder UI polish + settings consistency

Polishes Forms builder UI to match SLA/Assignment Rule settings pages and fixes minor UX issues.

@michellealva #2482 Read
fix crm-sales 3 months ago

Reorder Address Quick Entry layout so Country precedes State

Reorders Address Quick Entry fields so Country appears before State, allowing India Compliance's country-dependent state list to apply before user input; adds migration for existing saved layouts.

@ps173 #2485 Read
Helpdesk 3.4k 1 update
fix other-apps 3 months ago

Replace emojis with icons for custom views

Replaces emoji picker with frappe-ui icon picker and updates saved view icons to use lucide icons.

@RitvikSardana #3555 Read
LMS 3.3k 1 update
feat other-apps 3 months ago

Redesign onboarding as a data-driven card flow

Redesigns persona UI onboarding into compact card flow where steps are data-driven and can be reordered by configuration.

@raizasafeel #2574 Read
Insights 1k 1 update
fix other-apps 3 months ago

Polish workbook library dialog

Polishes Workbook Library dialog with clearer copy, taller preview area, and tighter header spacing.

@nextchamp-saqib #1244 Read
p Press 575 4 updates
fix other-apps 3 months ago

Add fields to store Raven keys in Press Settings

Adds fields to Press Settings for storing Raven keys.

@AyshaHakeem #6984 Read
fix other-apps 3 months ago

Fix conflict, plans section fields got added twice

Fixes press_settings.json conflict where plans section fields were duplicated.

@AyshaHakeem #6981 Read
fix other-apps 3 months ago

Match correct column name to avoid null

Fixes column name mismatch in signup flow that was causing null errors.

@shadrak98 #6978 Read
fix other-apps 3 months ago

Stop fatal updates pinning benches they cannot help

Removes unnecessary bench retention from fatal site updates that can no longer provide rollback value.

@balamurali27 #6983 Read
o Other 27 updates
feat other-apps 3 months ago

Misc features

Adds method call verb, drops confirmation prompts, improves default behavior and debug hints.

@ankush #43 Read
fix ai 3 months ago

Remove claude's system prompt in assistant mode

Removes Claude system prompt from frappectl assistant mode.

@ankush #42 Read
fix other-apps 3 months ago

Add frappe-ui molecules directory to tailwind content glob

Adds frappe-ui molecules to Tailwind content glob so utility classes are generated.

@shariquerik #195 Read
feat other-apps 3 months ago

Remember selected panels & open file in editor

Persists selected panels and open file in Studio editor across page refresh.

@ruchamahabal #194 Read
feat other-apps 3 months ago

Roll back failed and cancelled app/site tasks via callbacks

Extends task manager callbacks so failed or cancelled tasks roll back to clean state instead of leaving orphans.

@AryamanSharma14 #136 Read
fix other-apps 3 months ago

Durable payment intent

Improves payment intent durability in Central.

@saurabh6790 #172 Read
feat other-apps 3 months ago

Billing invariant audit

Adds billing invariant violations report that surfaces rows with inconsistent team/amount pairs for audit verification.

@saurabh6790 #171 Read
feat other-apps 3 months ago

Add "Filter messages like this" action

Adds "Filter Messages Like This" action to message more-actions menu to scope mailbox to sender, matching Gmail's feature.

@krantheman #231 Read
feat other-apps 3 months ago

Read-only mode for view-only access

Surfaces write permission at load time and renders proper read-only mode for view-only access instead of misleading editable UI.

@AsifMulani1 #233 Read
feat other-apps 3 months ago

Outline the active filter's range on the grid

Draws Google-Sheets-style outline around active filter's rectangle to visually indicate which cells are filtered.

@AsifMulani1 #205 Read
feat other-apps 3 months ago

The core ↔ service boundary — VMService seam + satellite

Lands phase 0 of core/service boundary: Atlas core keeps VM existence; service-specific logic attaches via explicit registry.

@the-bokya #115 Read
feat framework 3 months ago

Add filesystem path tab completion

Adds filesystem path tab completion for bench commands like restore, backup, and data-import.

@barredterra #1723 Read
feat other-apps 3 months ago

XLOOKUP, in-cell parameter help, and warn-severity validation

Adds XLOOKUP function with exact/next-larger/next-smaller modes, in-cell parameter hints, and validation with warning severity.

@AsifMulani1 #240 Read
feat other-apps 3 months ago

Custom Excel-style number formats

Adds custom number format type allowing Excel-style format codes beyond built-in presets with interpreter covering common codes.

@AsifMulani1 #241 Read
feat other-apps 3 months ago

Web Application Firewall

Implements web application firewall functionality for Pilot.

@ssiyad #209 Read
feat other-apps 3 months ago

Canvas unification — Phase 3a: unified toolbar + drawable whiteboard

Makes unified canvas fully drawable by showing both block creation and whiteboard annotation tools in bottom palette with shared tool namespace.

@vibhavkatre #4 Read
feat other-apps 3 months ago

Canvas unification — Phase 2b: simultaneous block + whiteboard rendering

First visible step of canvas unification: renders shared block substrate and whiteboard layer together so shapes and ink coexist on one canvas.

@vibhavkatre #3 Read
feat other-apps 3 months ago

Canvas unification — Phase 2a: tool-keyed interaction dispatcher

Converts surface interaction registration from single-slot ref into layer-keyed registry resolved by active tool.

@vibhavkatre #2 Read
feat other-apps 3 months ago

Canvas unification — Phase 1: unified-document data model

Introduces unified data model for all diagram types (blocks, shapes, whiteboard ink, stickies) as first phase of canvas unification.

@vibhavkatre #1 Read
fix other-apps 3 months ago

Re-parse a released source instead of serving it from cache

Repurses FileTallySource after release instead of serving stale cache, fixing buffer reuse bugs on re-runs in same worker.

@parthgarachh #64 Read
fix other-apps 3 months ago

Don't nest stale params into contact search filter

Fixes malformed JMAP filter in contact autocomplete where search text was being replaced by stale params object.

@s-aga-r #228 Read
fix other-apps 3 months ago

Mount FrappeUIProvider in slides shell

Mounts FrappeUIProvider in slides shell and migrates deprecated toast.create calls to new toast API.

@GursheenK #234 Read
fix ui-ux 3 months ago

Don't apply hover bg when row is fully overridden via slot

Prevents tree component from applying default hover background when row content is fully customized via slot.

@ruchamahabal #843 Read
fix other-apps 3 months ago

Cap stored attachment text to avoid exceeding max_allowed_packet

Caps attachment text storage to inline-injection threshold while preserving full text in memory for retrieval and embedding.

@ShrihariMahabal #72 Read
fix other-apps 3 months ago

Wrap inline images in multipart/related

Restructures MIME message layout to wrap inline images in multipart/related, resolving AWS Trust & Safety rejection of mail replies.

@s-aga-r #230 Read
fix other-apps 3 months ago

Credits negative balance

Fixes currency-blind credit anchor that allowed per-currency balances to go negative while the guard approved debits.

@saurabh6790 #161 Read
fix other-apps 3 months ago

A team can no longer be billed twice for one period

Adds database locking to prevent race condition where concurrent billing runs could invoice a team twice for the same period.

@saurabh6790 #170 Read

Thursday, July 16

ERPNext 40.6k 9 updates
feat accounting 3 months ago

Add on hold status to project

New Project status for temporarily pausing a project without marking it cancelled.

@Sudharsanan11 #57137 Read
fix stock-manufacturing 3 months ago

Name every conflicting voucher in the reserved batch error

Reserved Batch Conflict error named only the first conflicting voucher; now lists every voucher with an outstanding claim.

@mihir-kandoi #57174 Read
fix stock-manufacturing 3 months ago

Allow delivery when a batch is reserved across multiple sales orders

Delivering one order's own reserved batch unit threw Reserved Batch Conflict when another order's reservation exactly matched the remainder; now aggregates outstanding reserved qty across all orders.

@mihir-kandoi #57169 Read
fix accounting 3 months ago

Set correct currency in supplier quotation net rate field

Supplier quotation net rate field used the wrong currency context, showing values in the wrong denomination.

@mihir-kandoi #57164 Read
fix accounting 3 months ago

Hide job card field in purchase order item

fix: hide job card field in purchase order item

@mihir-kandoi #57163 Read
fix accounting 3 months ago

Validate mandatory date filters in reports

Dashboard charts on reports lacking mandatory date filters raised TypeError instead of displaying a user-friendly validation message.

@ervishnucs #56884 Read
fix accounting 3 months ago

Apply user permissions via build_match_conditions

`sales_person_wise_transaction_summary` report broke after backport #56429; rebuilt filters using plain dicts and `build_match_conditions` for compatibility.

@ervishnucs #57043 Read
fix accounting 3 months ago

Skip redundant reposting of dependent items

Cascading reposting of dependent items after a backdated entry caused items to repost multiple times if they had their own queued repost records.

@rohitwaghchaure #57092 Read
fix accounting 3 months ago

Improved access control for project users

Implemented access control for ProjectUsers who don't have the formal Projects User role.

@diptanilsaha #56675 Read
Frappe 11k 11 updates
fix ui-ux 3 months ago

Preserve UI sorting in report view export

Report export now preserves the sort order from the UI by passing visible column indices to the backend.

@Bowrna #40854 Read
fix ui-ux 3 months ago

Remove icon from sidebar label

fix: remove icon from sidebar label

@sokumon #40885 Read
fix ui-ux 3 months ago

Remove sidebar collapse

fix: remove sidebar collapse

@sokumon #40882 Read
feat framework 3 months ago

Barcode scanner enhancements

Added flashlight toggle, zoom in/out, and keep-scanner-open options for mobile barcode scanning.

@rohitwaghchaure #40615 Read
feat ui-ux 3 months ago

Feat!: move classic print formats to the new builder and remove the classic builder

Default printing now renders via the beta Chromium-based builder; classic layouts auto-convert on migrate with reversibility via `classic_format_data`.

@iamejaaz #40805 Read
fix framework 3 months ago

Center selected-icon with input text

fix(icon-field): center selected-icon with input text

@KerollesFathy #40775 Read
fix framework 3 months ago

Add more assertions

fix: Add more assertions

@ankush #40554 Read
fix framework 3 months ago

Don't crash query validation on large generated queries

Query validation crashed on large `IN (...)` filters exceeding sqlparse's `MAX_GROUPING_TOKENS` cap; now raises a clearer error.

@ShrihariMahabal #40886 Read
fix framework 3 months ago

Evaluate creation-based SQL cutoffs against the system timezone clock

Raw SQL queries compared timestamps against `NOW()` in DB timezone instead of system timezone, causing mismatches when the two differed.

@kaulith #40858 Read
fix framework 3 months ago

Batch name lookups in get_data_for_custom_field

Custom report link columns with thousands of values exceeded sqlparse's token limit, crashing with SQLParseError; now batches lookups per 1000 names instead of one query per list.

@ShrihariMahabal #40877 Read
fix framework 3 months ago

Masked child table and link fields leak when selected through dot notation

Masked fields in child tables and link fields were being returned unmasked when selected through dot notation in queries, bypassing permission checks.

@kaulith #40803 Read
HR 9k 6 updates
fix hr-payroll 3 months ago

Skip push notification config fetch without relay

Every HRMS PWA tried to fetch the notification relay config even when unconfigured (common on self-hosted instances), raising an error.

@DanielRadlAMR #4884 Read
fix hr-payroll 3 months ago

Quote from_date and to_date to resolve reserved word errors

MariaDB 12.3+ treats `to_date` and `from_date` as reserved words, causing 1064 Syntax Errors in raw SQL queries; now backtick-quoted.

@pratheep-bit #4891 Read
fix hr-payroll 3 months ago

Default amount incorrectly prorated in formula-based components

Default component amounts were incorrectly recalculated using payment days instead of total working days when LWP or absences affected payment days.

@iamkhanraheel #4888 Read
fix hr-payroll 3 months ago

Cancelled Shift Assignments silently block new shift creation via Roster API

Cancelled shifts kept their `status = 'Active'`, so the adjacency filter still matched them, blocking new shifts; now updates status on cancel.

@pratheep-bit #4890 Read
fix hr-payroll 3 months ago

Half-yearly earned leave schedule for joining date based assignments

Half-yearly leave allocation calculated period boundaries against the calendar year instead of the employee's actual joining date.

@iamkhanraheel #4847 Read
fix hr-payroll 3 months ago

Cap OT slip end_date at relieving_date for mid-month leavers

Overtime slip end_date wasn't capped at relieving_date for employees who left mid-month, including unearned overtime in the calculation.

@Dr-Blank #4800 Read
CRM 3.9k 3 updates
feat crm-sales 3 months ago

Web Form Builder in Frontend

Built-in form builder for CRM to create public forms that collect leads and deals directly from websites, with visual builder, field selection, and automation.

@michellealva #2474 Read
fix crm-sales 3 months ago

Normalize user names for mentions

Mentions in comments broke in prod builds due to missing username normalization.

@shahzeelahmed #2478 Read
fix crm-sales 3 months ago

Refetch cached list resource on remount

Cached list data remained stale when returning to a list after editing elsewhere (e.g., `assigned_to`), with no refetch guarantee.

@ps173 #2477 Read
Helpdesk 3.4k 2 updates
fix other-apps 3 months ago

Ticket SLA policy application

Enabled SLAs with a blank condition matched every ticket, silently overriding the default SLA.

@aerodeval #3547 Read
fix other-apps 3 months ago

Agent reply fails on tickets with no prior communication

Replying from agent portal returned 500 for tickets with no Communication, dereferencing `last_communication.name` before null check.

@kaulith #3540 Read
LMS 3.3k 5 updates
feat other-apps 3 months ago

Add 'how did you hear about us' question

feat(persona): add 'how did you hear about us' question

@raizasafeel #2567 Read
fix other-apps 3 months ago

Don't send null docname on lesson file upload

File uploads on unsaved lessons failed with HTTP 417; now uploads as standalone files until the lesson is saved.

@raizasafeel #2570 Read
fix other-apps 3 months ago

Stop fetching the outline before the course loads

Course outline fetch fired before course name was available, returning 500 and never retrying; now uses a watcher that fetches only once course data loads.

@raizasafeel #2566 Read
fix other-apps 3 months ago

Miscellaneous fixes across payments, jobs, assignments, batches, and editor

Fixed 7 bugs: payment gateway validation, applicant count sync, assignment deadline, batch creation, and lesson editor field visibility.

@raizasafeel #2569 Read
fix other-apps 3 months ago

Harden access-control checks

Enforces server-side authorization on LMS endpoints to restrict access to enrolled courses, instructor-only fields, and assignment grading.

@raizasafeel #2568 Read
Insights 1k 5 updates
fix other-apps 3 months ago

Rebuild sales quotation funnel with builder ops

Only raw-SQL query across shipped templates; rebuilt as 100% builder-native ops mirroring existing accounting patterns.

@nextchamp-saqib #1239 Read
fix other-apps 3 months ago

Re-base accounting AR/AP on Payment Ledger Entry

AR/AP Open Invoices queries scanned unbounded GL Entry (tens of millions of rows); rebased on smaller Payment Ledger Entry.

@nextchamp-saqib #1236 Read
fix other-apps 3 months ago

Lower default query timeout to 60s

Interactive query timeout reduced from 180s to 60s to prevent stalled workers and unnecessary OLTP load; timeout now routes through a single helper.

@nextchamp-saqib #1235 Read
feat other-apps 3 months ago

Nudge Insights Admins to prebuilt module dashboards

Dismissible banner in ERPNext module workspaces (Selling, Buying, Stock, Financial Reports) linking Insights Admins to prebuilt dashboards for each module.

@nextchamp-saqib #1232 Read
fix other-apps 3 months ago

Funnel chart drill-down

Funnel chart drill-down didn't work because the custom series had no `name` property, so the lookup returned undefined.

@nextchamp-saqib #1233 Read
p Press 575 5 updates
feat other-apps 3 months ago

Allow multiple selection for apps removal in benches page

feat(ui): Allow multiple selection for apps removal in benches page

@siduck #6966 Read
fix other-apps 3 months ago

Check the public ip address field instead of check box

fix(sync): Check the public ip address field instead of check box

@20vikash #6975 Read
fix other-apps 3 months ago

Tolerate a missing unit

fix(wazuh): Tolerate a missing unit

@ssiyad #6972 Read
fix other-apps 3 months ago

Decouple the lead owners list

fix(prm): Decouple the lead owners list

@shadrak98 #6968 Read
fix other-apps 3 months ago

Stop invoice CSV download logging out non-system users

Non-system users were silently logged out when downloading invoices as CSV due to auth hook rejecting `frappe.client.get_value` calls outside the API namespace.

@balamurali27 #6973 Read
o Other 16 updates
fix other-apps 3 months ago

Repair resize tests for the host memory reserve + satisfy pinned ruff

Greened failing Server and Frappe Linter CI jobs after placement's host memory reserve change; fixed resize capacity tests and ruff violations.

@the-bokya #119 Read
fix other-apps 3 months ago

Clarify external vs pilot-managed DB in setup wizard

Root password field now describes three cases (fresh, pilot-managed, external); prefills host/port for external databases.

@Aradhya-Tripathi #200 Read
feat other-apps 3 months ago

Connect setup wizard to an external database server

Optional toggle to connect to external database (RDS, etc.) instead of spawning a pilot-owned MariaDB/PostgreSQL; explicit stored choice with prefilled defaults.

@Aradhya-Tripathi #199 Read
feat other-apps 3 months ago

Show repeater icon on a repeater/repeated block to visually identify them

feat: show repeater icon on a repeater/repeated block to visually identify them

@ruchamahabal #193 Read
feat other-apps 3 months ago

Show tool calls immediately while streaming

Tool cards appear immediately mid-stream with the call name, then re-emit with full arguments once they finish streaming.

@ShrihariMahabal #70 Read
feat other-apps 3 months ago

Redesign marketplace page

Visual redesign with category pills (7 buckets from registry), "Works with" filter for Frappe-made apps, import button in filter row, and grid improvements.

@pragati-k-13 #163 Read
feat other-apps 3 months ago

Archive shortcuts + optimistic theme cycling & undo-toast cleanup

Added `G` then `A` shortcut to Archive mailbox and documented both Archive shortcuts; plus optimistic theme cycling and undo-toast cleanup.

@krantheman #221 Read
feat other-apps 3 months ago

Search across accounts

Opt-in toggle to search across all JMAP accounts the user owns, with results merged newest-first.

@s-aga-r #211 Read
feat other-apps 3 months ago

Search filter chips, quick filters & inline editing

Mail search UX overhaul with redesigned results header, active-filter chips, inline operator autocomplete (for folders, contacts), and quick-filter bar.

@krantheman #224 Read
feat other-apps 3 months ago

RS256/JWKS trust anchor + bootstrap-token enrollment

Central mints a single RSA signing key for JWT tokens benches trust, with a JWKS endpoint and bootstrap-token enrollment flow.

@prathameshkurunkar7 #164 Read
feat other-apps 3 months ago

Get app validations

Refactored app validator into a pluggable package with checks for repo structure, syntax, dependency declarations, and static import resolution.

@Aradhya-Tripathi #203 Read
feat other-apps 3 months ago

Managed add on services

Adds Services module to Central for team-level add-ons, starting with LLM Hosting (Grove-backed) with catalogue, entitlements, credentials, and billing.

@prathameshkurunkar7 #169 Read
fix other-apps 3 months ago

Raise toast z-index above sticky columns

fix: raise toast z-index above sticky columns

@Shllokkk #237 Read
fix other-apps 3 months ago

Print exceptions

fix: print exceptions

@ankush #41 Read
fix other-apps 3 months ago

Allow deleting Flow Model despite Session/Agent references

Sessions and Agents held historical links to Flow Models, blocking deletion; added them to `ignore_links_on_delete`.

@ShrihariMahabal #71 Read
fix other-apps 3 months ago

Serve template pages with a frame-ancestors CSP

Template pages now serve with `Content-Security-Policy: frame-ancestors *` to allow embedding in the builder picker's inline preview on non-Frappe Cloud sites.

@surajshetty3416 #6 Read

Wednesday, July 15

ERPNext 40.6k 10 updates
fix stock-manufacturing 3 months ago

Batch BOM source warehouse lookup in get_production_items to avoid N+1

Fetches all BOM source warehouses in a single query instead of one per Production Plan item row.

@Pandiyan5273 #57154 Read
feat accounting 3 months ago

Make naming series based on posting datetime on by default on new sites

New ERPNext v17 sites now have posting-datetime-based naming series enabled by default.

@mihir-kandoi #57127 Read
feat accounting 3 months ago

Company-wise restriction for Item, Customer and Supplier masters

Item, Customer, and Supplier now support company-wise restriction; masters are hidden from users limited by Company User Permissions when feature is enabled.

@mihir-kandoi #57124 Read
fix accounting 3 months ago

Duplicate scorecard period when supplier is created on a month end

Supplier scorecards created on month-end dates no longer generate duplicate periods.

@mihir-kandoi #57115 Read
fix accounting 3 months ago

Permission issue

fix: permission issue

@rohitwaghchaure #57112 Read
fix accounting 3 months ago

Prevent duplicate material request items in purchase order

Purchase Orders created from Material Requests now allow the same item in multiple rows with different rates, matching Sales Order from Quotation behavior.

@SandraFrappe #57129 Read
fix stock-manufacturing 3 months ago

Preserve job card transferred quantity

Job card quantity is now preserved during transfer operations.

@Sudharsanan11 #57126 Read
fix stock-manufacturing 3 months ago

Set stock_uom on transferred Stock Reservation Entries

Transferred Stock Reservation entries now correctly copy stock_uom, preventing silent UOM mismatches on items with non-default stock UOMs.

@mihir-kandoi #57113 Read
fix accounting 3 months ago

Added permission checks on `get_account_balances_coa`

Adds missing permission enforcement to Chart of Accounts balance endpoint.

@diptanilsaha #57107 Read
fix stock-manufacturing 3 months ago

Fix sqlparse token limit in get_bundle_wise_serial_nos

Fixes Stock Entry submission failures on sites with thousands of bundles when SQL token limits exceed parseable range.

@Sudharsanan11 #57116 Read
Frappe 11k 10 updates
feat framework 3 months ago

Workspace rail

Adds workspace dock on the sidebar for displaying and navigating workspaces.

@sokumon #40829 Read
feat ui-ux 3 months ago

Add Letter Head to Printing workspace sidebar

Letter Head doctype now appears in the Printing workspace sidebar.

@gajjug004 #40873 Read
fix framework 3 months ago

Bump phonenumbers to ~=9.0.23

Upgrades phonenumbers library to correctly validate Saudi Arabia phone numbers with widened mobile pattern.

@gajjug004 #40779 Read
fix framework 3 months ago

Ignore not nullable and v15 specific module fetching

Fixes database column handling and v15-specific report module fetching logic.

@ruthra-kumar #40847 Read
fix framework 3 months ago

Consider ownership check & perms. when using dot notation

Database queries using dot notation now properly enforce ownership and permission checks.

@AarDG10 #40738 Read
fix framework 3 months ago

Allow child tables to be used in dashboard charts

Chart Dashboards on child doctypes are now accessible to users with appropriate permissions.

@safwansamsudeen #37639 Read
fix ui-ux 3 months ago

Preserve ui sort order for query report

Query reports now preserve user-set sort order instead of resetting to default.

@Bowrna #40835 Read
fix framework 3 months ago

Update category retrieval to use `form_dict` pathname

Help article categories are now correctly retrieved when accessed via URL routing.

@KerollesFathy #40793 Read
fix framework 3 months ago

Guard against invalid navigator.language in alt shortcuts

Alt shortcut initialization no longer crashes when browsers return invalid BCP-47 language tags.

@kaulith #40838 Read
fix framework 3 months ago

Cascading 503 Multiple MAIL commands not allowed after failed SMTP Send

SMTP connections left in an inconsistent state after mid-transaction errors are now reset before reuse, preventing cascading send failures.

@iamejaaz #40837 Read
CRM 3.9k 1 update
fix crm-sales 3 months ago

Commentbox regressions after frappe-ui update

Users can now be mentioned in comments and comments appear immediately without requiring page reload.

@shahzeelahmed #2469 Read
Helpdesk 3.4k 1 update
fix other-apps 3 months ago

Bump frappe UI to beta-24

Resolves component API regressions introduced by frappe-ui beta update.

@RitvikSardana #3549 Read
LMS 3.3k 1 update
fix other-apps 3 months ago

Fire on_update hook on enrollment progress update

LMS enrollment progress updates now fire on_update and on_change hooks, enabling webhooks and DocType events.

@raizasafeel #2557 Read
b Builder 2.5k 1 update
feat ui-ux 3 months ago

Add 4 corner resize controls and rotation handler

Block builder now supports rotation via 4 corner grips (with Shift for 15° snaps) and rotation-aware resize/padding/margin handlers.

@stravo1 #665 Read
Insights 1k 3 updates
fix other-apps 3 months ago

Restore telemetry via boot_config + track library adoption

Telemetry now works via boot_config pulse client, independent of frappe-ui v1 migration.

@nextchamp-saqib #1229 Read
feat other-apps 3 months ago

Workbook template updates via version + checksum

Workbook templates can now update in-place from the library; pristine copies auto-update on migrate, edited copies get warned manual updates.

@nextchamp-saqib #1228 Read
fix other-apps 3 months ago

Minor issues

Clarifies Allow Data Download interaction with per-role export permissions and fixes drag-drop on touch devices.

@nextchamp-saqib #1225 Read
p Press 575 3 updates
feat other-apps 3 months ago

Deploy Wazuh

Adds Wazuh security monitoring deployment to Press servers.

@ssiyad #6951 Read
feat other-apps 3 months ago

Add support for freemium plan

Site plans now support lifetime free subscriptions via negative trial days in product trials.

@tanmoysrt #6958 Read
fix other-apps 3 months ago

Don't allow Press User role to access internal plans

Internal site plans are no longer visible to Press User role.

@tanmoysrt #6961 Read
o Other 21 updates
feat other-apps 3 months ago

Infinite scroll for All Inboxes

All Inboxes view now uses infinite scroll instead of offset pagination with collapsible date groups.

@s-aga-r #210 Read
feat other-apps 3 months ago

Add find-doc-save-hooks.sh

Utility script surfaces app-side document save hooks that impact performance.

@balamurali27 #19 Read
feat other-apps 3 months ago

Load-aware host selection (part 1) for the proportional size ladder

VM placement now scores feasible Active hosts under operator-chosen strategies (Spread by default) and selects the best.

@the-bokya #30 Read
feat other-apps 3 months ago

Optimistic UI for thread & message actions

Mail actions (archive, trash, star, read, move, etc.) now update UI before server confirms, with automatic rollback on failure.

@krantheman #215 Read
feat other-apps 3 months ago

Backup retention management and audit logging

Adds backup retention policies and audit logging for backup management operations.

@tanmoysrt #194 Read
feat other-apps 3 months ago

Template categories, responsive layout fixes, and catalog cleanup

Template picker now organizes templates into four categories (Marketing, Portfolio, Editorial, Local Business) with responsive improvements.

@surajshetty3416 #5 Read
feat other-apps 3 months ago

Select & edit multiple blocks

Multiple blocks can now be selected with Shift+Click (range) or Cmd/Ctrl+Click (toggle) and edited together if same component type.

@ruchamahabal #191 Read
feat other-apps 3 months ago

Set Route Variables for editing/testing dynamic route pages

Studio now allows setting route variables for testing dynamic pages, replacing non-deterministic first-document fallback.

@ruchamahabal #192 Read
feat other-apps 3 months ago

Note server scripts requirement for script tools and conditions

Adds documentation that Flow script tools and conditions require `server_script_enabled`.

@ShrihariMahabal #68 Read
feat other-apps 3 months ago

Sandboxed trigger conditions and a Run As identity

Flow trigger conditions now run in server-script sandbox (multi-line scripts with result variable) and triggers can run as a specified identity.

@ShrihariMahabal #66 Read
feat other-apps 3 months ago

Back up VM snapshots to S3 and restore them

Adds off-host durability for VM snapshots via point-in-time S3 backup/restore, supporting both cold (disk) and warm (memory + signature) snapshots for clone rehydration.

@the-bokya #117 Read
fix other-apps 3 months ago

Install base packages on macOS via Homebrew too

macOS now installs base tools, databases, and Node through Homebrew with proper sudo prompting and download validation.

@Aradhya-Tripathi #197 Read
fix other-apps 3 months ago

Bench new picks a MariaDB port macOS will never actually bind to

Bench new on macOS no longer picks custom MariaDB ports that Homebrew won't use.

@Aradhya-Tripathi #196 Read
fix other-apps 3 months ago

MacOS is_provisioned() always False, silently resetting a secured DB password

Database provisioning checks on macOS now work correctly, preventing silent password resets on second bench init.

@Aradhya-Tripathi #195 Read
fix other-apps 3 months ago

Fail the bake loud when the freshen unit isn't live at capture

VM snapshot bake now fails loudly if freshen unit isn't alive, preventing silent guest reachability issues.

@the-bokya #118 Read
fix other-apps 3 months ago

Cap old-order sync at 31 inclusive days with precise day bounds and tests

Old order sync respects Unicommerce's 31-day search limit with precise day boundaries and client-side validation.

@Bhavathariniya #452 Read
fix other-apps 3 months ago

Restore screen share after recovery

Screen sharing is now restored after video meeting recovery.

@BreadGenie #219 Read
fix other-apps 3 months ago

Route reconnect lifecycle events

Media reconnection events are now correctly routed after connection recovery.

@BreadGenie #212 Read
fix other-apps 3 months ago

Bound SFU request acknowledgements

Prevents unbounded SFU request acknowledgement queues in video meetings.

@BreadGenie #213 Read
fix other-apps 3 months ago

Recover media after signaling and ICE failures

Video meetings now independently recover transports after signaling and ICE failures, resync participants, and preserve E2EE state.

@BreadGenie #217 Read
feat other-apps 3 months ago

Permission-respecting sandbox for the execute tool

Replaces permissionless Frappe safe_exec with an allowlisted sandbox that enforces the running user's permissions on all reads and writes.

@ShrihariMahabal #67 Read

Tuesday, July 14

ERPNext 40.6k 4 updates
fix accounting 4 months ago

Using get_cached_doc to retrieve template for get_terms_and_conditions

fix(tnc): using get_cached_doc to retrieve template for get_terms_and_conditions

@diptanilsaha #57096 Read
fix stock-manufacturing 4 months ago

Preserve job card transferred quantity

Work Orders with multiple Job Cards showed incorrect quantity in progress by adding quantities from every card instead of using the final effective quantity.

@Sudharsanan11 #57101 Read
fix accounting 4 months ago

Restrict jinja globals in process statement of accounts templates

fix: restrict jinja globals in process statement of accounts templates

@Shllokkk #56458 Read
fix accounting 4 months ago

Get_terms_and_conditions render_template with safe_exec

fix(tnc): get_terms_and_conditions render_template with safe_exec

@diptanilsaha #56977 Read
Frappe 11k 15 updates
fix framework 4 months ago

Match quoted and unquoted sort/group references to child tables

fix: match quoted and unquoted sort/group references to child tables

@mihir-kandoi #40809 Read
feat framework 4 months ago

Discover methods

API discovery now includes controller methods alongside RPC methods with tagged union to distinguish.

@ankush #40824 Read
feat framework 4 months ago

Retry failed deliveries on a backoff schedule

Webhook retries now use separate background jobs with increasing backoff instead of sleeping in same job; prevents worker blocking.

@kaulith #38913 Read
feat ui-ux 4 months ago

Virtualization and pagination in kanban board

Kanban board now virtualizes and paginates instead of loading all documents at once; solves initial load slowness and freeze on scroll for large datasets.

@sumitjain236 #40343 Read
feat framework 4 months ago

Add SafeDoc class

SafeDoc class extends _dict with internal Document methods for safer eval contexts.

@AarDG10 #40687 Read
fix framework 4 months ago

Keep response agnostic

fix(pddr): keep response agnostic

@AarDG10 #40787 Read
fix ui-ux 4 months ago

UX misleading as there is no cap in backend

fix(email_report): UX misleading as there is no cap in backend

@Bowrna #40827 Read
fix framework 4 months ago

Warn and auto-clear disabled default print format

Disabling a default Print Format left it silent and confusing; now warns via confirm and auto-clears on save.

@KerollesFathy #40531 Read
fix framework 4 months ago

Prevent child row identity corruption on sync after reorder

Child table rows could become misaligned after save if backend reordered or removed rows; reconciliation now matches by document name instead of array index.

@kaulith #40656 Read
fix framework 4 months ago

Avoid false matching custom queue name with default ones

Custom queue named `schedulelong` would false-match under `queue=long` via endswith check; switched to exact match.

@Bowrna #40822 Read
fix framework 4 months ago

Password strength check fails on long random passwords

Pasting long passwords (like manager-generated ones) caused 500 error because error response itself failed to serialize.

@kaulith #40783 Read
fix framework 4 months ago

List toolbar keeps mobile layout after the viewport gets wider

Layout decision was made once at construction time; resizing window or rotating phone left toolbar stuck in original layout.

@kaulith #40811 Read
fix framework 4 months ago

Don't block logged-in users from commenting

Bad conflict resolution in backport kept guest-only anti-spoof check in logged-in branch; every logged-in comment was incorrectly rejected with "Please login".

@iamejaaz #40833 Read
fix framework 4 months ago

Validate HTTP method for document calls

fix(api): validate HTTP method for document calls

@ankush #40819 Read
fix framework 4 months ago

Data masking ignores role permissions for child table fields

Masking code never passed parenttype to Meta.get_permissions(), causing child fields to always appear masked regardless of role permissions.

@kaulith #40800 Read
CRM 3.9k 2 updates
feat crm-sales 4 months ago

Data Enrichment for CRM Lead, Deal and Organization

First-party domain enrichment; crawls company website and extracts structured facts (JSON-LD, Open Graph, meta tags) to enrich CRM records without third-party APIs.

@ps173 #2445 Read
breaking crm-sales 4 months ago

Scope state-lookup failure test to get_state_options only

Test patching was breaking earlier boot steps; scoped patch to only the affected function.

@ps173 #2458 Read
Helpdesk 3.4k 3 updates
fix other-apps 4 months ago

Recent tickets alignment

fix: recent tickets alignment

@RitvikSardana #3543 Read
fix other-apps 4 months ago

Customer portal permission banner

Dialog to revert end users to access each other's tickets.

@RitvikSardana #3541 Read
fix other-apps 4 months ago

Preserve formatting for thunderbird received emails

Mails from Thunderbird use `\n` for spacing but lacked HTML formatting; now renders with proper line breaks.

@aerodeval #3530 Read
LMS 3.3k 1 update
feat other-apps 4 months ago

Build and upload prebuilt assets on push

Builds JS/CSS + Vue SPA on push to develop/main/version-* and uploads as rolling `assets-` release for benches to download prebuilt assets.

@AryamanSharma14 #2515 Read
p Press 575 3 updates
feat other-apps 4 months ago

Gate local payment tabs behind role permission

feat(partner): Gate local payment tabs behind role permission

@shadrak98 #6933 Read
feat other-apps 4 months ago

Improve partner onboarding

Added approved_on field, company logo upload, link to Frappe School batches, sales contact in sidebar.

@prathameshkurunkar7 #6932 Read
feat other-apps 4 months ago

Add signup-method and create-site-failed funnel events

Extended SaaS signup funnel with client-side signals: signup_via_email/google and trial_create_site_failed.

@nextchamp-saqib #6943 Read
o Other 20 updates
fix other-apps 4 months ago

Update release version

fix: update release version

@asmitahase #56 Read
feat other-apps 4 months ago

Merge develop to main

Merge develop to main

@prathameshkurunkar7 #136 Read
feat other-apps 4 months ago

Pull @framework/ui components and upgrade frappe-ui to beta 24

feat: pull @framework/ui components and upgrade frappe-ui to beta 24

@ruchamahabal #189 Read
feat other-apps 4 months ago

Add categories to template group manifests and catalog

Templates can now belong to multiple categories (e.g. Portfolio + Marketing) passed through in catalog for consumer filtering.

@surajshetty3416 #4 Read
feat other-apps 4 months ago

Declare Frappe Cloud version compatibility

Added [tool.bench.frappe-dependencies] to pyproject.toml so Frappe Cloud validates app compatibility during installs/updates.

@parthgarachh #60 Read
feat other-apps 4 months ago

Support Debian, Fedora and Arch alongside Ubuntu and Alpine

Installer now detects distro from /etc/os-release and uses per-distro package primitives (apt/dnf/pacman/xbps/apk).

@ssiyad #177 Read
feat other-apps 4 months ago

JWKS-based remote session login

Central can mint tokens for bench login and generate site-login SID via dummy JWKS server.

@tanmoysrt #190 Read
feat other-apps 4 months ago

SSH Key Management

feat: SSH Key Management

@tanmoysrt #193 Read
feat other-apps 4 months ago

Gate multi-bench UI/API behind admin.allow_bench_management

feat: Gate multi-bench UI/API behind admin.allow_bench_management

@tanmoysrt #188 Read
fix other-apps 4 months ago

Trusted-proxy nginx gating and local domain validation

fix: trusted-proxy nginx gating and local domain validation

@tanmoysrt #189 Read
fix other-apps 4 months ago

Update via PyPI

fix: update via PyPI

@ankush #40 Read
feat other-apps 4 months ago

Discover and invoke doctype methods

Extends API discovery to include controller methods; frappectl method list/search now cover new surface.

@ankush #38 Read
breaking other-apps 4 months ago

Protect system-generated rows

Lets apps ship builtin knowledge and system rows managed via migrate-time sync without users breaking them from the Desk.

@ShrihariMahabal #65 Read
feat other-apps 4 months ago

Stop response

Stop button while response streams to abort and finalize run; deny tool-approval now ends turn instead of continuing.

@ShrihariMahabal #64 Read
feat other-apps 4 months ago

Import & Export Contacts (JMAP + .vcf)

Submittable Contacts Exchange DocType for background import/export with jmap (round-trippable JSContact) and .vcf (vCard 4.0) formats.

@s-aga-r #170 Read
feat other-apps 4 months ago

All Inboxes — unified inbox across all accounts

Merges Inbox of every linked account into single newest-first list for viewing personal and shared accounts together.

@s-aga-r #207 Read
feat other-apps 4 months ago

Replace mailbox pagination with infinite scroll

Next batch appends as you scroll instead of refetching 25-row pages; already-loaded rows never re-fetched.

@krantheman #208 Read
fix other-apps 4 months ago

Preserve party contacts and addresses on dirty phone / GSTIN data

Invalid phone fields and GSTIN state code mismatches were silently losing party email/name on import; now salvaged with validation.

@parthgarachh #61 Read
fix other-apps 4 months ago

Base amount for EPF calculation

fix: Base amount for EPF calculation

@deepeshgarg007 #60 Read
fix other-apps 4 months ago

Multiple writer issues

Fixed font size and family features being broken, and redone layout for Writer to fix scroll issue.

@safwansamsudeen #202 Read

Monday, July 13

ERPNext 40.6k 6 updates
fix accounting 4 months ago

Make represents company field in purchase invoice ignore user pe…

fix: make represents company field in purchase invoice ignore user pe…

@mihir-kandoi #57073 Read
fix accounting 4 months ago

Allow asset repair creation for fully depreciated assets

Removed restriction preventing asset repairs on fully depreciated assets to allow expense tracking for still-active assets.

@ssakthivelmurugan #55276 Read
fix stock-manufacturing 4 months ago

Propagate project from job card to stock entry

Added missing project field copy from job card to stock entry in pick list workflow.

@mihir-kandoi #57069 Read
fix stock-manufacturing 4 months ago

Link job card in stock entry created from pick list

Stock entries created from pick lists against job card material requests now properly set job_card, job_card_item, and fg_completed_qty so the job card recognizes the transfer.

@mihir-kandoi #57044 Read
fix accounting 4 months ago

Accounting dimension search matching unrelated records

Fixed search matching for check-type dimension fields (e.g., Cost Center) that incorrectly matched unrelated records due to type coercion on non-numeric input.

@mihir-kandoi #57070 Read
fix accounting 4 months ago

Enforce read permission on ledger preview endpoints

Ledger preview endpoints were missing permission checks, allowing any authenticated user to read GL/SL data for documents they lack access to.

@rohitwaghchaure #57039 Read
Frappe 11k 9 updates
feat ui-ux 4 months ago

Zone divider polish, inline title row, drag-resize table columns

Print format builder improvements: zone dividers now show as light-gray labels with "repeats on all pages" hints; inspector controls are inline; table columns support drag-to-resize.

@iamejaaz #40794 Read
feat ui-ux 4 months ago

Empty state component

New standard empty state component for list views, dashboards, and reports; replaces duplicate implementations in embedded lists and DocType settings.

@nikkothari22 #40799 Read
feat ui-ux 4 months ago

Component library

Added a new component library to Frappe Framework with accessibility and security baked in, matching the Espresso design system; includes a Component Explorer page for viewing all variations and sample code.

@nikkothari22 #40758 Read
fix framework 4 months ago

Fold table colour controls into the style section

Moved table header/border color pickers into Style section alongside field controls; fixed label alignment issues.

@khushi8112 #40780 Read
fix ui-ux 4 months ago

Pixel parity between builder canvas and print output

Converted stylesheet spacing from rem to compensated em to match builder canvas rendering against wkhtmltopdf and Chrome output.

@iamejaaz #40782 Read
fix developer-experience 4 months ago

Close color picker on outside click and swatch pick

Color picker popovers now properly close on outside clicks and swatch selection; consolidated duplicate color-control mount logic.

@iamejaaz #40801 Read
fix ui-ux 4 months ago

Render rating stars from fraction values

Fixed rating field rendering in print builder; values stored as 0-1 fractions now correctly scale to star counts per field options instead of crashing.

@iamejaaz #40796 Read
fix ui-ux 4 months ago

Postgres GroupingError when filtering list views by child-table fields

Fixed postgres query generation when filtering by child-table fields with linked reference titles; now properly aggregates or includes link-table columns in GROUP BY.

@mihir-kandoi #40602 Read
fix framework 4 months ago

Respect user permissions in get_user_defaults

Permission filter in get_user_defaults was discarding results; now properly prevents auto-setting default values that the user has no User Permission for.

@deepeshgarg007 #40750 Read
b Builder 2.5k 1 update
feat ui-ux 4 months ago

Re-arrange blocks right from canvas just by dragging

Users can now drag and reorder blocks directly on the canvas without jitter or layout shifts.

@surajshetty3416 #667 Read
o Other 3 updates
fix other-apps 4 months ago

Correct DocType casing in read tool label

fix: correct DocType casing in read tool label

@ShrihariMahabal #63 Read
feat other-apps 4 months ago

App validation

Pre-install app validations to ensure internal and external imports are accounted for and directory structure is correct.

@Aradhya-Tripathi #175 Read
fix ui-ux 4 months ago

Avoid circular imports of chunks

fix: avoid circular imports of chunks

@BreadGenie #834 Read

Sunday, July 12

ERPNext 40.6k 8 updates
feat accounting 4 months ago

Explain FIFO allocation of fixed Discount Amount on Sales Order

Add an informational description to the Additional Discount Amount field explaining how fixed discounts behave across multiple deliveries and invoices.

@umairsy #56436 Read
fix accounting 4 months ago

Allow negative balance in bank statement import

Accept negative opening balances during bank statement imports.

@nikkothari22 #56959 Read
fix accounting 4 months ago

Update events order by date ascending

Sort Lead activities by due date instead of arbitrary order.

@Pandiyan5273 #56963 Read
fix accounting 4 months ago

Render columnar financial statements

Display data in the Horizontal Balance Sheet columnar report template instead of showing empty results.

@ervishnucs #56921 Read
fix accounting 4 months ago

Read user permissions from current session user in payment reconciliation

Refresh user permission filters at reconciliation time instead of capturing them at document creation, fixing filters when the session user changes.

@ervishnucs #56782 Read
fix stock-manufacturing 4 months ago

Map stock_qty in apply_price_list_on_item

Convert transaction quantity to stock quantity before evaluating Pricing Rules when items use alternative UOMs, preventing quantity-band rules from being inconsistently applied.

@ervishnucs #56869 Read
fix accounting 4 months ago

Remove incorrect Payable account_type from Customer Deposits in Philippines CoA

Fix non-deterministic default payable account selection caused by duplicate account_type in the Philippines Chart of Accounts template.

@raghavisruia #57018 Read
fix accounting 4 months ago

Retain invoice table on opening invoice creation error

Preserve invoice data instead of clearing the table when opening invoice validation fails, avoiding forced re-entry.

@Pandiyan5273 #56353 Read
Frappe 11k 15 updates
feat ui-ux 4 months ago

Print format builder colour styling + copy/paste

Add colour styling for table headers/borders and field text, plus copy/paste support for fields and sections in the print format builder.

@khushi8112 #40754 Read
feat framework 4 months ago

Min_value and max_value properties for numeric fields

Allow Int, Float, Currency, and Percent fields to declare validation bounds in DocType and Customize Form, with validation running on save.

@kaulith #40595 Read
fix framework 4 months ago

Auto-assignment fails to follow document when triggered by web user

Apply ignore_permissions when creating follow entries during auto-assignment from web user submissions.

@kaulith #40503 Read
fix ui-ux 4 months ago

Print format builder table + preview fixes

Center serial-number columns, round section backgrounds in print output, and keep preview document selection in sync.

@khushi8112 #40751 Read
fix framework 4 months ago

Assign to filter fails with type validation error on strict stacks

Accept current_filters as either string or list to fix type validation when toggling the Group By dropdown in the Assign To filter.

@kaulith #40764 Read
fix framework 4 months ago

Return consistent request ID

Return a consistent request ID to allow tools to query recordings easily.

@ankush #40767 Read
fix framework 4 months ago

"Show all activity" toggle showing white when enabled

Fix toggle appearance when the "Show all activity" filter is enabled.

@KerollesFathy #40760 Read
fix framework 4 months ago

Duration picker opens away from the field in scrolled grids

Position the duration picker using viewport coordinates and keep it anchored while scrolling or resizing.

@kaulith #40766 Read
breaking framework 4 months ago

Re-evaluate link_filters per search without breaking doc-based get_query

Fix crashes when Link fields have both Customize Form filters and programmatic set_query reading the document.

@gajjug004 #40413 Read
fix framework 4 months ago

Guard against None table field in load_doc_before_save

Default to an empty list when child table fields are None to prevent TypeError during pre-save processing.

@kaulith #40598 Read
fix framework 4 months ago

Clear if_owner on permission rows above level 0

Validate and clear if_owner flags on higher permission levels where they are ignored, aligning stored permissions with framework behavior.

@kaulith #40291 Read
fix framework 4 months ago

Translations not applied in background jobs

Set frappe.local.lang after initializing the job user so translations use the job user's language instead of the site default.

@kaulith #40637 Read
fix ui-ux 4 months ago

Harden DCR and cleanup OAuth authorization UI

Improve OAuth Device Code Request security and align UI with design standards.

@ankush #40770 Read
fix framework 4 months ago

Add egress URL validation for server-side fetches

Validate egress URLs for server-side fetches to prevent SSRF attacks.

@AarDG10 #40542 Read
fix framework 4 months ago

Hash bearer tokens at rest

Store OAuth access and refresh tokens as SHA-256 digests instead of plaintext, decoupling document names from tokens and adding index coverage for lookup.

@ankush #40762 Read
CRM 3.9k 1 update
fix crm-sales 4 months ago

Date 'Between' filter throws 'split is not a function'

Handle DateRangePicker's array value format instead of expecting a string for date range filters.

@michellealva #2442 Read
b Builder 2.5k 1 update
fix ui-ux 4 months ago

Remove clientScript from page's block JSON

Stop duplicating clientScript in page block JSON when extending from a component.

@stravo1 #663 Read
o Other 5 updates
fix other-apps 4 months ago

Remove root redirect from website redirects

Stop redirecting the root path to allow users to set their default home URL.

@diniemasjuki #175 Read
fix other-apps 4 months ago

Don't override favicon for mail and calendar

Preserve app-specific favicons instead of overriding them globally.

@BreadGenie #197 Read
fix other-apps 4 months ago

Don't reload on switching apps

Stop reloading the page when switching between suite apps.

@BreadGenie #198 Read
fix ui-ux 4 months ago

Bump reka-ui to 2.9.9 so dialog inputs focus on mouse click

Upgrade reka-ui to fix a regression where dialog overlays suppressed focus on mouse clicks to inputs and contenteditable regions.

@mvanhorn #831 Read
fix other-apps 4 months ago

Harden API paths, config updates, and downloads

Harden API paths and configuration handling in frappe-cli.

@ankush #34 Read

Saturday, July 11

ERPNext 40.6k 8 updates
fix stock-manufacturing 4 months ago

Correct stock ageing value for moving average and lifo items

Stock Ageing report values are now correct for Moving Average and LIFO valuation methods; each remaining slot is revalued to qty × current rate.

@Sudharsanan11 #56693 Read
fix stock-manufacturing 4 months ago

Pick list serial batch posting date

Pick list serial/batch handling during posting now correctly applies posting dates.

@Pandiyan5273 #57015 Read
fix stock-manufacturing 4 months ago

Pick list serial batch posting date

Pick list serial/batch posting dates are now handled correctly.

@Pandiyan5273 #57014 Read
fix accounting 4 months ago

Validate planned end date is not before planned start date in wo…

Work Order now validates that planned end date is not before planned start date.

@Pandiyan5273 #57019 Read
fix accounting 4 months ago

Make trend report based-on and group-by column labels translatable

Trend report column labels for based-on and group-by are now translatable.

@Pandiyan5273 #57027 Read
fix stock-manufacturing 4 months ago

Link job card in stock entry created from pick list

Stock Entries created from Pick Lists against Job Card Material Requests now properly set job_card and related fields, so the Job Card recognizes the material transfer.

@mihir-kandoi #57031 Read
fix accounting 4 months ago

Fetch payment entry reference amounts from invoice

Payment Entry created from a Payment Request now correctly shows the full invoice amount in the Payment References table instead of only the paid amount from the request.

@ervishnucs #56928 Read
fix accounting 4 months ago

Use correct mapper path for make_work_orders call

Work Order creation from Sales Order was broken because the JS call still resolved to the old sales_order.py path instead of the new mapper.py location.

@Shllokkk #57045 Read
Frappe 11k 16 updates
feat ui-ux 4 months ago

Add generic utilities for styling and layout

Added generic utility classes for styling and layout based on the Espresso design system.

@nikkothari22 #40755 Read
feat framework 4 months ago

Add hook to allow drive to overwrite file perms

Added hook to allow Drive to override File permissions independent of Framework defaults.

@safwansamsudeen #40752 Read
feat framework 4 months ago

Expose source code over discovery API

Framework now exposes source code over the discovery API.

@ankush #40757 Read
fix framework 4 months ago

Collapsible section collapses while typing in a child table row form

Editing a field in a collapsible section of a grid row was causing the section to collapse; now preserves expansion state during refresh.

@kaulith #40711 Read
fix framework 4 months ago

Child table header background/radius scoped to row, not cells

Child table header styling now applies to the row instead of individual cells, enabling proper border radius on a rounded container.

@iamejaaz #40729 Read
fix ui-ux 4 months ago

Contrast on custom HTML sidebar field in print format builder

Print format builder custom HTML sidebar field now has proper contrast in dark mode.

@KerollesFathy #40641 Read
fix ui-ux 4 months ago

Dashboard quick list check filter drops "= No"

Dashboard quick list check filters with "= No" were being dropped because standard checkboxes couldn't distinguish unchecked from no-filter; now kept as regular filters.

@kaulith #40635 Read
fix framework 4 months ago

Bind inline edit to row at edit start, not submit

Report View inline edits were saving to the wrong record if a quick filter changed while editing; now binds to the row captured at edit start.

@kaulith #40617 Read
breaking framework 4 months ago

Scope index subquery to current schema in get_table_co…

MariaDB index metadata lookup was reading from all databases with matching table names instead of just the current schema, breaking multi-site migrations.

@kaulith #40519 Read
fix framework 4 months ago

Preserve guest-submitted name/email

Guest comments were being overwritten with "Guest" because an anti-spoofing override ran above the guest check; now scoped to logged-in users only.

@surajshetty3416 #40739 Read
fix framework 4 months ago

Don't mutate caller's get_query().filters in MultiSelectDialog

MultiSelectDialog was mutating the caller's shared filters object when reused across searches; now works with immutable filters.

@KerollesFathy #40618 Read
fix framework 4 months ago

Only allow text in description

Description field now restricts input to plain text only.

@sokumon #40748 Read
fix ui-ux 4 months ago

Escape computed url in EmbeddedList link column

Escape computed URLs in EmbeddedList link columns to prevent XSS.

@diptanilsaha #40749 Read
fix framework 4 months ago

Revert "fix: make postgres transactions read committed by default"

Reverted postgres transaction isolation level change.

@mihir-kandoi #40753 Read
fix ui-ux 4 months ago

Use static ?url imports for Leaflet images so the rolldown build can resolve them

Studio build was failing because rolldown couldn't resolve Leaflet image imports; switched to static ?url imports.

@ruchamahabal #40759 Read
fix framework 4 months ago

Allow loopback redirect URIs

Enables HTTP on loopback URIs (127.0.0.1/localhost) for OAuth redirects in native apps, per RFC 8252.

@ankush #40761 Read
CRM 3.9k 1 update
feat crm-sales 4 months ago

Render state options on address form when India Compliance is installed

CRM Address form now renders state field as an autocomplete when India Compliance is installed, matching Desk behavior.

@ps173 #2435 Read
Helpdesk 3.4k 1 update
fix other-apps 4 months ago

Prevent AssignTo crash when current user is the only agent

AssignTo dropdown was crashing when the session user was the only agent; fixed variable rename that left `seen` undefined.

@aerodeval #3534 Read
Insights 1k 1 update
fix other-apps 4 months ago

Get_list dashboards and queries

Fixed get_list endpoints for dashboards and queries.

@nextchamp-saqib #1224 Read
p Press 575 4 updates
fix other-apps 4 months ago

Use host name if present when trying to notify users of incoming site archival

Site archival notifications now use the host name when present for better user clarity.

@phot0n #6924 Read
fix other-apps 4 months ago

Exclude archived sites' updates from archive block

Bench archival was incorrectly blocked if a site that had been involved in a fatal update was later archived; the guard now excludes archived sites.

@regdocs #6927 Read
fix other-apps 4 months ago

Remove duplicate primary btn in CommunicationInfoDialog

Removed visually duplicate primary button from communication info dialog.

@siduck #6929 Read
fix other-apps 4 months ago

Scope plan fallback to server's own cluster

Database servers on legacy plans were shown all enabled plans across all regions instead of just their own; now only platform filter is relaxed during fallback, never cluster.

@tanmoysrt #6931 Read
o Other 13 updates
fix other-apps 4 months ago

Trim guide for agents

CLI guide now focuses exclusively on agent use cases; removed human-centric auth and profile management instructions.

@ankush #36 Read
feat other-apps 4 months ago

Disable mail account

Users can now disable their mail account; when disabled, an optional Stalwart role from Mail Settings is applied to restrict mail server access.

@s-aga-r #174 Read
feat other-apps 4 months ago

Launch CLI coding agents wired up for Frappe

Added frappe-cli assistant command to launch CLI coding agents (pi, claude, codex) with Frappe-specific system prompts and site context.

@ankush #28 Read
feat other-apps 4 months ago

Add self-upgrade command

CLI can now self-upgrade using the original installation backend (uv tool, pipx, pip) with automatic detection of the installer.

@ankush #29 Read
feat other-apps 4 months ago

Notify when a newer version is available

CLI now passively notifies users when a newer version is available via a one-line stderr nudge, leveraging the existing update command.

@ankush #30 Read
feat ui-ux 4 months ago

Introduce themes for avatar

Avatar component now supports themes with deterministic color assignment by label, defaulting to gray with overrideable options.

@BreadGenie #828 Read
feat other-apps 4 months ago

Add manual refresh button for new emails

Mail UI now has a manual refresh button for on-demand email fetching instead of waiting for polling.

@s-aga-r #189 Read
feat other-apps 4 months ago

Route accepted senders to Inbox and let spam fall through screening

Mail screening gate now routes accepted senders straight to Inbox while letting unrecognized mail fall through to server-side spam filtering.

@s-aga-r #190 Read
feat other-apps 4 months ago

Feat(meet-sfu)!: use `webRtcServer` for minimising port usage

SFU now uses webRtcServer with one port per worker instead of one per transport, dramatically reducing open ports on the server.

@BreadGenie #191 Read
feat other-apps 4 months ago

Fetch source if available

CLI now fetches source code when available for enhanced introspection.

@ankush #31 Read
feat other-apps 4 months ago

Add OAuth 2.0 browser login

Added OAuth 2.0 authorization-code + PKCE flow for interactive browser login; access token refreshes automatically and no secret is stored locally.

@ankush #33 Read
fix ui-ux 4 months ago

Dark-mode event colors

Calendar event colors now render correctly in dark mode.

@BreadGenie #827 Read
fix other-apps 4 months ago

Block disabled admins from admin endpoints

Disabled Mail Admins or System Managers with valid sessions or API keys could restore their own access by calling enable_members without involving another admin; the fix scopes the override to logged-in users only.

@s-aga-r #188 Read

Friday, July 10

ERPNext 40.6k 17 updates
feat stock-manufacturing 4 months ago

Support partial transfer from pick list

Pick list now supports partial transfers with Work Order status updates on each partial completion.

@Sudharsanan11 #56701 Read
feat stock-manufacturing 4 months ago

Create material request for raw materials from work order

Work Order form now includes button to create Material Request for raw materials, adding requisition step before transfer.

@Pandiyan5273 #56961 Read
feat stock-manufacturing 4 months ago

Confirmation dialog when enabling negative stock on Item

Item-level negative stock toggle now shows same compliance warning as global setting, alerting users to FIFO/valuation implications.

@raghavisruia #56428 Read
feat stock-manufacturing 4 months ago

Allow group warehouse for raw material availability in production plan

Production Plan now accepts optional group warehouse for raw material availability checks, allowing stock assessment across sibling warehouses while receiving into leaf warehouse.

@Sudharsanan11 #56948 Read
fix accounting 4 months ago

Patch moved create_company_custom_fields from pre_model_sync to post_model_sync

Company custom field creation patch moved to post_model_sync for correct execution order.

@diptanilsaha #56962 Read
fix accounting 4 months ago

Match depreciation schedule rows at currency precision to avoid duplicate JEs

Depreciation schedule now matches rows at currency precision instead of exact float equality, preventing duplicate journal entries for assets with many decimal places.

@khushi8112 #56964 Read
fix accounting 4 months ago

Skip allowed users check when frappe crm is installed locally

CRM sync now handles local CRM installation alongside remote, skipping user allowlist validation and auto-cleaning settings on app install/uninstall.

@diptanilsaha #56674 Read
fix accounting 4 months ago

Revert "refactor(sales_person_wise_transaction_summary)"

Sales Person-wise Transaction Summary reverted to SQL from query builder to fix v15 compatibility (ignore_permissions not supported).

@ervishnucs #56924 Read
fix accounting 4 months ago

Use company currency instead of global default in report

Trend reports now display company currency symbol instead of global default, fixing symbol mismatches in multi-company environments.

@ervishnucs #56561 Read
fix accounting 4 months ago

Make trend report column labels translatable

Trend report headers (Item, Item Name, Customer, Currency, etc.) now translatable instead of hardcoded English.

@Pandiyan5273 #56913 Read
fix stock-manufacturing 4 months ago

Pick list serial batch posting date

Pick list posting date handling fixed to prevent TypeError and date validation errors in serial/batch operations.

@Pandiyan5273 #56957 Read
fix stock-manufacturing 4 months ago

Stock entry handler and transaction controller fixes

Type-hint and module refactors fixed to restore client-side whitelisted method calls for apply_price_list and stock_entry_handler.

@Sudharsanan11 #56984 Read
fix accounting 4 months ago

Validate planned end date is not before planned start date in work order

Work Order validation now prevents end date before start date.

@Pandiyan5273 #56932 Read
fix stock-manufacturing 4 months ago

Rename variant item_code/item_name when attribute abbreviation changes

Item variant codes and names now update when parent attribute abbreviation changes, keeping variants in sync with attribute configuration.

@Pandiyan5273 #56909 Read
fix stock-manufacturing 4 months ago

Update BOM operations when routing is changed

BOM operations table now updates when routing is changed on a new version, no longer showing stale operations from original BOM.

@harisansari008 #56979 Read
fix accounting 4 months ago

Partial delivery note against pick list

Partial deliveries against pick lists now handled correctly.

@rohitwaghchaure #56985 Read
fix accounting 4 months ago

Display outstanding amount using company default currency

Opening Invoice Creation Tool now displays outstanding amount in company's default currency instead of global default, fixing currency symbol in multi-company setups.

@ervishnucs #56785 Read
Frappe 11k 27 updates
feat framework 4 months ago

Surface data import failures in log files

Data import row errors now logged via frappe.logger() for visibility in frappe.log and external log aggregation, complementing Data Import Log.

@kaulith #40596 Read
feat framework 4 months ago

Basic error analysis

Error analysis UI added for better error visibility and debugging.

@ankush #40462 Read
fix framework 4 months ago

Show deferred error insert

Developer experience improvements for error handling.

@ankush #40733 Read
fix framework 4 months ago

Postgres Time columns read back with their precision

PostgreSQL Time columns now read back with full precision specification, preventing false type-change detection on every migrate.

@mihir-kandoi #40698 Read
fix framework 4 months ago

Prevent broken pipe from aborting dashboard sync during setup

Dashboard sync now continues if progress stdout fails, making output best-effort instead of aborting setup wizard.

@kaulith #40599 Read
fix framework 4 months ago

Hide Download Report button without read permission

Download Report button now hidden when user lacks read permission.

@KerollesFathy #40594 Read
fix framework 4 months ago

Show table field label instead of doctype name in filter dropdown

Child table filters now show parent table label instead of internal doctype name, improving UX discoverability.

@Abdeali099 #39729 Read
fix framework 4 months ago

Timeline make cards respect full-width toggle

Timeline comment cards now respect full-width toggle setting.

@KerollesFathy #40666 Read
fix framework 4 months ago

Don't auto-set default on every save, only on create

Letterhead default no longer resets on every save, only on initial creation.

@KerollesFathy #40601 Read
fix framework 4 months ago

Normalize Check formatter value with cint to prevent 0 rendering as checked

Check field grid cells now normalize string "0" to integer 0 before rendering, preventing false "checked" state in web form grids.

@gajjug004 #40653 Read
fix framework 4 months ago

Apply cint to Int fieldtype in format_value

Int columns now consistently formatted with cint on server side, matching client-side formatter and fixing PDF/email report decimal display.

@gajjug004 #39698 Read
fix framework 4 months ago

Icon label styles

Icon label styling fixed.

@sokumon #40699 Read
fix ui-ux 4 months ago

Remove border from filled search bar

Search bar border removed from filled state, eliminating double edge against navbar background.

@kaulith #40686 Read
fix framework 4 months ago

Misc error log fixes

Error logging improvements for DX.

@ankush #40730 Read
fix framework 4 months ago

Queued telemetry events must survive clear_cache()

Telemetry events persisted across cache clear operations.

@nextchamp-saqib #40722 Read
fix ui-ux 4 months ago

Dont explode plucked scalars on masked doctypes

Query builder now handles masked doctypes correctly without exploding scalar results.

@Bowrna #40654 Read
fix framework 4 months ago

Handle orphan module

Setup now handles orphan modules without failing.

@sokumon #40674 Read
fix framework 4 months ago

Allow missing link_filters in validate_fields function

Patch compatibility restored for ≤v14 databases where link_filters column doesn't exist during pre_model_sync.

@barredterra #40704 Read
fix framework 4 months ago

Child table numeric filters generate invalid postgres query

Nullability checks now performed against resolved child DocType, preventing invalid COALESCE wrapping on PostgreSQL numeric fields.

@kaulith #40636 Read
fix framework 4 months ago

Xls file import fails with "startswith first arg must be str or a tuple of str, not bytes"

Legacy .xls OLE2 files now preserved as binary, fixing xlrd parsing that failed on text-decoded data.

@kaulith #40619 Read
fix framework 4 months ago

Code fields show stale value after navigating between documents

Code field editors now repaint when expanded from collapsed sections, fixing display of stale content from previous documents.

@kaulith #40620 Read
fix ui-ux 4 months ago

Form does not render when form sidebar is disabled

Web Page form rendering fixed when form_sidebar user setting is disabled, preventing TypeError in add_web_link.

@kaulith #40708 Read
fix framework 4 months ago

Print view is unusable on mobile

Print preview iframe now pinned to actual page width and toolbar repositioned for mobile, preventing content overflow and improving usability.

@kaulith #40709 Read
fix framework 4 months ago

Notification subject shows "None" when the title field is empty

Notification subjects now use document name fallback instead of literal "None" when configured title field is empty.

@kaulith #40713 Read
fix ui-ux 4 months ago

Kanban board leaks memory and hangs on repeated re-render

Kanban watchers now properly unsubscribe on re-initialization, preventing memory leak and performance degradation on repeated refreshes.

@kaulith #40626 Read
fix ui-ux 4 months ago

Restrict print format builder preview to sys. man.

Print format builder API restricted to System Manager role, preventing unauthorized access via preview endpoint.

@AarDG10 #40710 Read
fix framework 4 months ago

Hardening oauth endpoints

Approve endpoint restricted to POST-only with CSRF token hardening in OAuth confirmation flow.

@AarDG10 #40073 Read
HR 9k 5 updates
fix hr-payroll 4 months ago

Link field clears when selected value is outside default options page

Link field values now persist when selected value falls outside default page by injecting value into options and reloading on clear.

@iamkhanraheel #4808 Read
fix hr-payroll 4 months ago

Resolve blank employee number and reports_to in Profile

PWA Profile now displays employee_number (when using name-based IDs) and reports_to by bypassing desk-side hiding and permission restrictions.

@iamkhanraheel #4833 Read
fix hr-payroll 4 months ago

Implement close warning for job openings and related validation.

Job Opening close now shows confirmation warning if linked Staffing Plan still has unfilled positions, while still allowing close if needed.

@krishna-254 #4798 Read
fix hr-payroll 4 months ago

Include expense claim line projects in project total expense claim

Project total expense claim calculation now includes expense claim lines linked at the detail level, not just document-level project links.

@ervishnucs #4865 Read
fix hr-payroll 4 months ago

Add permission check for half-day attendance updates

Half-day attendance mutations now require write permission on Attendance doctype, closing permission bypass in mark_employee_attendance.

@pratheep-bit #4739 Read
Helpdesk 3.4k 1 update
fix other-apps 4 months ago

Display proper labels for time elapsed

Activity timeline now displays correct relative date labels (e.g. "2 days ago" instead of "yesterday" for 40+ hour intervals).

@aerodeval #3529 Read
LMS 3.3k 1 update
fix other-apps 4 months ago

Resolve race condition hiding course outline for non admins

Course outline loading skeleton added to prevent race condition rendering for non-admin users.

@raizasafeel #2556 Read
b Builder 2.5k 1 update
fix ui-ux 4 months ago

Prevent arrow keys clobbering text InlineInput fields

Arrow key stepping logic now gated to numeric-only inputs, preventing text field values from being replaced with NaN.

@dhruv2x #661 Read
Insights 1k 1 update
feat other-apps 4 months ago

ERPNext workbook templates + prebuilt dashboard gallery

Ships four prebuilt ERPNext dashboards (Sales, Purchasing, Receivables/Payables, Inventory) importable from a Library as cross-app contract via insights_workbooks hook.

@nextchamp-saqib #1220 Read
p Press 575 2 updates
fix other-apps 4 months ago

Show remaining wait time instead of elapsed time for disk resize

Disk resize wait messages now show remaining time (decreasing) instead of elapsed time (increasing), matching user expectations for cooldown UX.

@iamimmanuelraj #6873 Read
fix other-apps 4 months ago

Properly match githuburl in add apps dialog

GitHub URL regex matcher now handles github.com URLs without requiring https:// prepend.

@siduck #6925 Read
o Other 12 updates
feat other-apps 4 months ago

Add Push Subscription tab to Settings

Mail UI Settings now includes Push Subscriptions tab where users can create, view, renew, and delete JMAP subscriptions in bulk.

@s-aga-r #182 Read
feat other-apps 4 months ago

Show SMTP/IMAP/POP details for third-party clients

Mail Settings now displays SMTP/IMAP/POP configuration for third-party mail clients (Thunderbird, Gmail app), configurable via admin Mail Client Configuration table.

@s-aga-r #181 Read
feat other-apps 4 months ago

Add push encryption toggle and fix encrypted push decoding

JMAP push encryption now toggleable (unencrypted by default), and encrypted push decoding fixed to handle base64 body with JSON content-type.

@s-aga-r #184 Read
feat other-apps 4 months ago

Add daily job to renew expiring JMAP push subscriptions

Daily scheduled job now renews JMAP push subscriptions within 3-day expiry threshold, preventing subscription lapse.

@s-aga-r #185 Read
feat other-apps 4 months ago

Add read-only profiles

CLI profiles now support --read-only flag to restrict operations to GET requests only, preventing accidental writes.

@ankush #27 Read
fix other-apps 4 months ago

Unnecesary styling

Unnecessary styling removed.

@asmitahase #44 Read
fix other-apps 4 months ago

Use indiacator pill for styling status fields

Status field styling now consistent using indicator pill component.

@asmitahase #42 Read
fix other-apps 4 months ago

Remove non-standard "Payroll Manager" role from reports

Non-standard "Payroll Manager" role removed from lwf_register, esic_register, bank_mandate_report, and employee_provident_fund_register permissions.

@dhruvpatel374 #39 Read
fix other-apps 4 months ago

Resolve lock-wait timeouts and cut repost overhead in loan write off and repayment repost

Bulk loan write off and repayment repost operations now execute with batching and async reposting instead of single long transaction, eliminating lock timeouts and reducing runtime from hours.

@Nihantra-Patel #1315 Read
fix other-apps 4 months ago

Resolve avatar/presence user from shared session store

Sheets app avatar now displays correct user initials instead of literal "U" by resolving session from shared store instead of window.frappe.

@AsifMulani1 #183 Read
fix other-apps 4 months ago

Relocate email templates to suite app root

Email template loading fixed by relocating templates to app root, restoring frappe.sendmail(template=...) functionality.

@s-aga-r #186 Read
fix other-apps 4 months ago

Validate user login

CLI now validates actual user login instead of accepting Guest or HTML responses.

@ankush #26 Read

Thursday, July 9

ERPNext 40.6k 2 updates
feat accounting 4 months ago

Add grouping by dimension functionality in financial reports

Financial reports now support grouping rows by custom dimensions.

@Abdeali099 #54650 Read
feat accounting 4 months ago

Filter service level agreement link by document type

Service Level Agreement field now filters to show only SLAs configured for that document type.

@barredterra #56954 Read
Frappe 11k 5 updates
feat developer-experience 4 months ago

Move microbenchmarks to Frappe project

feat: Move microbenchmarks to Frappe project

@ankush #40671 Read
feat framework 4 months ago

Add validation for link filters to ensure valid JSON format and structure

Added backend validation for link_filters on fields to ensure valid JSON structure.

@barredterra #40667 Read
fix framework 4 months ago

Show link filters if fieldtype is Link

Link filters field now appears in Custom Field configuration when fieldtype is Link.

@barredterra #40663 Read
fix framework 4 months ago

Apply default ordering in v1 & v2 list endpoints

REST list endpoints now apply stable default sort order instead of returning records in undefined order.

@ankush #40670 Read
fix framework 4 months ago

Remove duplicate ellipsis menu button on repeated edit-save

Fixed duplicate menu button creation on repeated workspace edit-save cycles.

@KerollesFathy #40661 Read
Helpdesk 3.4k 1 update
fix other-apps 4 months ago

Redirect responses to correct merged ticket

Responses to merged/closed tickets now append to the target ticket they were merged into instead of reopening the original.

@aerodeval #3506 Read
Insights 1k 2 updates
fix other-apps 4 months ago

Fix German translation for 'Host'

Fix German translation for 'Host'

@ews-pgasser #1217 Read
fix other-apps 4 months ago

Keep POT updates in a single self-updating PR

Weekly POT regeneration now reuses a single stable branch, eliminating accumulating stale PRs with conflicts.

@nextchamp-saqib #1219 Read
o Other 9 updates
feat other-apps 4 months ago

Add Verify SSL option for JMAP connection

Added Verify SSL checkbox to Mail Settings for JMAP, enabling local development with self-signed certificates.

@s-aga-r #176 Read
feat other-apps 4 months ago

Add date-range old-order sync with paginated fetch and duplicate-safe creation

New on-demand backfill job fetches and syncs Unicommerce orders within a date range with pagination and duplicate safety.

@Bhavathariniya #441 Read
feat other-apps 4 months ago

Add --debug to trace requests and server SQL

Global `--debug` flag now traces HTTP traffic and server SQL to stderr (with API keys redacted).

@ankush #22 Read
feat ui-ux 4 months ago

Markdown format for useEditor and

Markdown-backed apps (wikis, docs) can now use `format: 'markdown'` with content carried as markdown string.

@NagariaHussain #824 Read
fix other-apps 4 months ago

Default list sort to 'creation desc'

`frappe doc list` now defaults to newest documents first unless otherwise specified.

@ankush #23 Read
fix other-apps 4 months ago

Map PY state to Puducherry to match ERPNext state list

Unicommerce orders shipping to Puducherry now map to the correct ERPNext state name.

@Bhavathariniya #443 Read
fix other-apps 4 months ago

Refresh access token on 401 and retry once so long-running syncs survive token expiry

Long-running Unicommerce sync jobs now refresh expired tokens on HTTP 401 and retry instead of aborting.

@sudarsan2001 #442 Read
fix other-apps 4 months ago

Bump `dnspython` to ~=2.6.1 (PYSEC-2026-1307)

fix: bump `dnspython` to ~=2.6.1 (PYSEC-2026-1307)

@s-aga-r #177 Read
fix other-apps 4 months ago

Enforce Flow Model permission at runtime

Model selection now enforces User Permissions at runtime, allowing admins to restrict which Flow Models users can run.

@ShrihariMahabal #62 Read

Wednesday, July 8

ERPNext 40.6k 4 updates
fix accounting 4 months ago

Precision issue causing reconciliation error

Fixes floating-point precision errors that blocked account reconciliation. Backported to #56937, #56938.

@rtdany10 #54043 Read
fix accounting 4 months ago

Validate template and its variant in the same Pricing Rule

Prevents false "Multiple Price Rules exist" error when both a template and its variant are added to the same rule, with a save-time validation block.

@Shllokkk #56926 Read
fix accounting 4 months ago

Added permission checks on various whitelisted functions

Adds read permission validation to payment entry detail lookups, bank account, and party account whitelisted functions.

@diptanilsaha #56745 Read
fix accounting 4 months ago

Get_terms_and_conditions render_template with safe_exec

Hardens terms and conditions rendering against code injection by using safe_exec instead of bare render_template.

@diptanilsaha #56944 Read
HR 9k 1 update
fix hr-payroll 4 months ago

Include carry forwarded leaves in allocation calculations

Leave allocations now correctly include carry-forwarded leaves from prior periods in the balance calculation.

@krishna-254 #4861 Read
CRM 3.9k 1 update
fix crm-sales 4 months ago

ERPNext Item sync fails in ERPNext v15

Handles v15's tuple-based and v16+'s dict-based price query results for seamless ERPNext integration across versions. Backported to #2420.

@shahzeelahmed #2419 Read
LMS 3.3k 1 update
fix other-apps 4 months ago

Emit images inside pasted list items as image blocks

Images pasted into list items are no longer silently dropped; they're emitted as standalone blocks after the list. Backported to #2551.

@raizasafeel #2550 Read
b Builder 2.5k 1 update
fix ui-ux 4 months ago

Update frappe-ui to v1.0.0-beta.21

Upgrades frappe-ui submodule with 20 typography token migrations across 16 files and Popover component adaptations. Backported to #662.

@surajshetty3416 #659 Read
p Press 575 6 updates
fix other-apps 4 months ago

Remove unnecessary validation in Release Group doctype

Removes an overly restrictive validation check in Release Group. Backported to #6918.

@AyshaHakeem #6917 Read
feat other-apps 4 months ago

Add Plan History tab to site detail page

Shows chronological log of all plan changes with plan details, who changed it, and colour-coded change type (Initial/Upgrade/Downgrade).

@huzan-kazi #6834 Read
feat other-apps 4 months ago

Add a Subscriptions tab to view the team's subscriptions

Adds consolidated Subscriptions view under Billing, grouped by type (sites, servers, marketplace apps), showing plan and installed-site tracking. Backported to #6915.

@Shariqk3 #6836 Read
fix other-apps 4 months ago

Add missing dependent apps to release group

Automatically appends required dependent apps to release groups if missing, preventing manual configuration gaps. Backported to #6916.

@AyshaHakeem #6892 Read
feat other-apps 4 months ago

Sync app source versions from repo on branch change

Automatically syncs app source versions when branches are switched. Backported to #6920.

@siduck #6919 Read
fix other-apps 4 months ago

Only hand out standby sites on the latest bench

Trial sites now receive the latest app builds instead of potentially weeks-old deployments waiting on async migrations. Backported to #6914.

@regdocs #6905 Read
o Other 3 updates
fix other-apps 4 months ago

Generate preview from HTML body

Enables preview generation from HTML body content in email and calendar exports.

@s-aga-r #173 Read
fix other-apps 4 months ago

Mail and calendar export

Restores export functionality for mail and calendar items.

@s-aga-r #172 Read
fix other-apps 4 months ago

Update erpnext helper imports to their new mapper and service modules

Updates imports to ERPNext develop's relocated modules and resolves test suite failures for v17 compatibility.

@Bhavathariniya #445 Read

Tuesday, July 7

ERPNext 40.6k 1 update
fix stock-manufacturing 4 months ago

Workspace for stock and manufacturing

fix: workspace for stock and manufacturing

@rohitwaghchaure #56906 Read
Frappe 11k 2 updates
fix framework 4 months ago

Map query timeout and deadlock errors to 508

Aligns error responses with Frappe's concurrent-transaction retry convention for consistent client handling.

@barredterra #40639 Read
fix framework 4 months ago

Remove attribution link from about dialog

fix: remove attribution link from about dialog

@Abdeali099 #40627 Read
HR 9k 1 update
fix hr-payroll 4 months ago

Include carry forwarded leaves in allocation calculations

fix(employee_leave_balance): include carry forwarded leaves in allocation calculations

@krishna-254 #4860 Read
CRM 3.9k 3 updates
fix crm-sales 4 months ago

Prefill value from lead while converting to deal

Prefills conversion modal with lead data to reduce data mismatch risk and improve UX.

@shahzeelahmed #2411 Read
fix crm-sales 4 months ago

Remove deprecated pulse api

fix: remove deprecated pulse api

@shahzeelahmed #2408 Read
fix crm-sales 4 months ago

Pass frappe._dict to get_item_price in Item sync (fixes AttributeError on Item insert)

Fixes crash when syncing items by passing frappe._dict (attribute-accessible) instead of plain dict to ERPNext's get_item_price().

@srujan00123 #2407 Read
LMS 3.3k 1 update
fix other-apps 4 months ago

Add json guard on course lesson content

Prevents 500 errors when non-EditorJS content (e.g. raw YouTube URLs) is pasted into course lessons; adds get_editorjs_blocks() helper reused across course outline, quiz, and export flows.

@raizasafeel #2546 Read
Insights 1k 1 update
fix other-apps 4 months ago

Enforce per-role export permission on query download

Fixes RBAC enforcement on query downloads by checking the DocPerm export bit; previously only checked global settings and team membership, rendering Role Permissions Manager's role-level toggle ineffective.

@manish31-oss #1212 Read
o Other 9 updates
feat ai 4 months ago

Agentic ops, Code & Data wiring

feat(AI Integration): Agentic ops, Code & Data wiring

@ruchamahabal #188 Read
feat ui-ux 4 months ago

Recipes gallery homepage + frappe-ui design skill

Adds homepage gallery with eight full-page app screens in desktop and mobile variants, live preview/code switcher, and frappe-ui design guidance.

@netchampfaris #825 Read
fix ai 4 months ago

"Open in ChatGPT/Claude" uses wrong page URL after sidebar navigation

Makes AI share link URLs reactive to SPA navigation instead of binding once at render.

@NagariaHussain #700 Read
fix other-apps 4 months ago

Set max sub category or category max amount while declaring exemptions

fix: set max sub category or category max amount while declaring exemptions

@asmitahase #40 Read
fix other-apps 4 months ago

Recover from malformed tool-call arguments

Treats invalid JSON in tool-call arguments as an error result instead of crashing the Flow Run, allowing weaker models to retry.

@ShrihariMahabal #56 Read
fix other-apps 4 months ago

Report dynamically-mandatory fields in read_screen

Reports fields made mandatory at runtime (via toggle_reqd or mandatory_depends_on) by reading live docfield state instead of static metadata.

@ShrihariMahabal #57 Read
fix other-apps 4 months ago

Don't flag valid third-party links as broken (#575)

Adds User-Agent header to requests and treats 401/403/429 auth wall responses as valid links rather than dead links.

@NagariaHussain #702 Read
fix accounting 4 months ago

Fix(SendCloud)!: update deprecated endpoint and parcel validations

Updates deprecated SendCloud endpoint and removes strict parcel dimension validation that blocked rate fetch and label creation for carriers with flexible requirements.

@MarcCon #90 Read
fix other-apps 4 months ago

Hide unpublished content from search results

Adds is_published check for spaces and handles unpublished page re-indexes immediately instead of through a 5-minute scheduler queue that could back up indefinitely.

@NagariaHussain #701 Read

Monday, July 6

ERPNext 40.6k 11 updates
fix stock-manufacturing 4 months ago

Keep bom_no/is_phantom_item pair coherent in get_bom_items_as_dict

When a BOM lists the same item via both phantom and non-phantom sub-BOMs, independent Max() aggregations could pair one line's phantom flag with another line's bom_no, exploding the wrong sub-BOM.

@mihir-kandoi #56893 Read
fix accounting 4 months ago

Compute budget requested amount per row

Budget checking was computing Sum(qty) × Max(rate) over all matched Material Request items, fabricating totals when items had different rates; now sums per-row (qty × rate).

@mihir-kandoi #56895 Read
fix accounting 4 months ago

Dark theme shop floor

Dark theme styling fix for shop floor.

@rohitwaghchaure #56887 Read
fix accounting 4 months ago

Make Procurement Tracker rows coherent PO lines

Multi-line POs with blank material request items were fabricating rows by pairing one line's item with another line's qty and amount; now uses a subquery to pick the representative line per group.

@mihir-kandoi #56894 Read
fix accounting 4 months ago

Show earliest schedule date as required date

When a Material Request lists the same item on multiple rows with different schedule dates, the consolidated Requested Items report now shows the earliest date instead of the latest, correctly reflecting urgency.

@mihir-kandoi #56897 Read
fix accounting 4 months ago

Campaign with a naming series breaks the UTM Campaign link

When a Campaign uses a naming series, linking to the mirrored UTM Campaign would fail because the link pointed to `campaign_name` instead of the actual document `name`.

@nabinhait #56881 Read
fix accounting 4 months ago

Use transaction-currency outstanding on Dunning for foreign-currency invoices

When a Sales Invoice is posted in a foreign currency against a receivable account in the company currency, creating a Dunning now shows the correct outstanding amount in the transaction currency instead of the party account currency.

@nabinhait #56883 Read
fix stock-manufacturing 4 months ago

Stock Closing Entry duplicate check misses contained date ranges

The duplicate-date validation had a logically inert third condition that never fired, allowing a new date range fully contained within an existing entry to slip through.

@nabinhait #56849 Read
fix stock-manufacturing 4 months ago

Close postgres locking races; gate batch valuation with a txn advisory lock

Fixes two phantom-insert races where concurrent operations could create duplicate stock entries on postgres; gates batch valuation with transaction-scoped advisory locks.

@mihir-kandoi #56905 Read
fix accounting 4 months ago

Scope Production Planning arrival qty to open POs

The report's Arrival Quantity was summing every submitted PO line ever created including fully received ones, overstating incoming stock; now sums only open POs.

@mihir-kandoi #56896 Read
fix accounting 4 months ago

Guard empty group-by detail row in trends

After adding an explicit GROUP BY, a zero-match detail query returns no rows instead of one all-NULL row, which would raise IndexError when accessed; now skipped safely.

@mihir-kandoi #56898 Read
Frappe 11k 9 updates
feat framework Editor's pick 4 months ago

Add v2 discovery API

Internal (WIP, no-docs) API v2 endpoints for programmatic endpoint discovery; OpenAPI compatibility left for external apps.

@ankush #40600 Read
feat framework Editor's pick 4 months ago

Add transaction-scoped advisory lock

`frappe.db.transaction_advisory_lock(key)` for postgres: released on transaction commit/rollback, participates in deadlock detection, re-entrant, and shared polling timeout with session-scoped locks.

@mihir-kandoi #40621 Read
fix framework 4 months ago

Print view crash on direct load

Opening `/app/print//` directly threw TypeError because a method reference no longer exists, aborting `print_view.show()` and leaving the page half-rendered.

@iamejaaz #40608 Read
fix framework 4 months ago

Wrap write_only inner fn

Internal function wrapping fix for write_only decorator.

@ankush #40603 Read
fix framework 4 months ago

Avoid field masking when permissions are ignored

Field masking now respects when permissions are explicitly ignored in queries, returning unmasked data where intended.

@ankush #40613 Read
fix framework 4 months ago

Limit to system manager

Permission restriction to system manager role.

@ankush #40616 Read
feat framework 4 months ago

Image and barcode blocks with width option

Print Format Builder now supports Image and Barcode blocks; linear barcodes via JsBarcode (browser print), QR codes via pyqrcode server-side as data-URI PNG.

@iamejaaz #40612 Read
fix framework 4 months ago

Skip error log for expected exceptions

Adds `skip_error_log` flag to exception classes so expected/benign errors don't clutter the Error Log.

@ankush #40610 Read
fix framework 4 months ago

Don't probe external links with a nonexistent fieldname in get_open_count

On postgres sites, opening the Connections tab on a form would 500 with "current transaction is aborted" due to probing links with a nonexistent fieldname.

@mihir-kandoi #40585 Read
CRM 3.9k 1 update
fix crm-sales 4 months ago

Remove orphaned crm.api.event scheduler hooks

Removes scheduler hooks that were accidentally pushed in main-hotfix, fixing "No module named 'crm.api.event'" errors on every `bench migrate`.

@ps173 #2405 Read
p Press 575 3 updates
feat other-apps 4 months ago

For OCI, revert the VNIC route table in static IP allocation

OCI cleanup: reverts VNIC route table after static IP allocation.

@20vikash #6909 Read
feat other-apps 4 months ago

Extend NAT into OCI

Extends NAT (private IP) support from AWS/Hetzner/DO/Frappe Compute into OCI; upgrades OCI SDK from 2.116.0 to 2.180.0 to support VNIC route table attachment.

@20vikash #6830 Read
fix other-apps 4 months ago

Change team owner icon color to gray

Dashboard styling fix.

@ssiyad #6911 Read
o Other 16 updates
feat other-apps 4 months ago

Add API method discovery commands

`frappe-cli method search|list|show` backed by Frappe's API v2 discovery endpoints; supports `--json` for raw payload or human-readable output.

@ankush #17 Read
feat other-apps 4 months ago

Meet mail integration

Meet app now integrates with mail functionality.

@BreadGenie #166 Read
feat other-apps 4 months ago

Require explicit site for non-interactive multi-profile runs

When multiple profiles are authenticated and the CLI runs non-interactively (piped output), it now requires explicit `-s/--site` or env vars instead of silently falling back to the configured default.

@ankush #10 Read
feat other-apps 4 months ago

Enhance event logging and delivery mechanism

Adds "queued" and "rolled_back" event statuses, implements retry logic for committed events, and enhances logging with timestamps.

@prathameshkurunkar7 #27 Read
feat other-apps 4 months ago

Replayable fixture for demo data

Replaces imperative demo generator with deterministic fixture: same forum every seed, timestamps re-anchored to "now", requires no LLM or network.

@netchampfaris #517 Read
feat other-apps 4 months ago

Don't make newly authenticated sites the default

`frappe-cli auth login` now defaults to `--no-default`, so new sites don't automatically become the default; pass `--default` to opt in.

@ankush #12 Read
feat other-apps 4 months ago

Resolve VM image from frappe_version

VM provisioning now resolves the OS image based on frappe_version.

@prathameshkurunkar7 #25 Read
feat other-apps 4 months ago

Host dashboard shipped under socket activation

Per-host read-only dashboard: Vite/Vue SPA with a stdlib-only backend serving live `/api/state`, organized around Overview/Machines/Images/Storage/Network/Firewall/System sections.

@adityahase #26 Read
feat other-apps 4 months ago

Resize_capacity — per-host headroom for an in-place resize

In-place VM resize now gates on per-host free room (ceiling = host.free + vm.own_footprint), not fleet best-host headroom; includes `placement.resize_headroom()` and whitelisted `provision.resize_capacity()`.

@saurabh6790 #21 Read
feat other-apps 4 months ago

Reconfigure sites with a shorthand name and description

New `frappe-cli auth configure ` to rename and/or describe existing authenticated sites without re-entering credentials.

@ankush #18 Read
fix ai 4 months ago

Remove em-dashes and other AI-speak from demo content

Removed 46 em-dashes and related AI-generated phrasing from demo fixture and seeding docs, replacing with natural alternatives (46 in fixture, 27 in docs, 8 in code).

@netchampfaris #518 Read
fix other-apps 4 months ago

Respect theme in meet home and shortcut dialog changes

Meet home and shortcut dialogs now respect the user's theme setting.

@BreadGenie #169 Read
fix other-apps 4 months ago

Follow redirects instead of hard-failing

FrappeClient now follows 3xx redirects (like trailing-slash normalization) safely, since httpx strips Authorization headers on cross-origin redirects.

@ankush #11 Read
fix other-apps 4 months ago

Remove limit for doctypes

Removes artificial doctype limit in the CLI.

@ankush #19 Read
feat other-apps 4 months ago

Operate the Desk frontend from the Flow panel

Adds client tools (read_screen, navigate, fill, submit, etc.) so the panel agent can drive the Desk frontend directly — reads the current route and form state, then manipulates fields and submits.

@ShrihariMahabal #55 Read
fix other-apps 4 months ago

Misc hardening fixes for security

Hardening against redirects and http protocol weaknesses.

@ankush #8 Read

Sunday, July 5

ERPNext 40.6k 6 updates
feat accounting Editor's pick 4 months ago

Shop floor interface for operators

Touch- and keyboard-friendly screen for factory floor supervisors and machine operators to view work orders and manage job lifecycle.

@rohitwaghchaure #55551 Read
fix accounting 4 months ago

Warning message for new item standard cost

fix: warning message for new item standard cost

@rohitwaghchaure #56885 Read
fix stock-manufacturing 4 months ago

Item form permission errors

Opening an Item form as a user with read access but no access to Item Price/Warehouse threw unhandled permission error popups instead of hiding restricted sections.

@Pandiyan5273 #56859 Read
fix accounting 4 months ago

Reset_mode_of_payments raises AttributeError on a POS Invoice

Calling reset_mode_of_payments on a draft POS Invoice raises AttributeError because the method checks `doc.is_created_using_pos`, a field that only exists on Sales Invoice.

@nabinhait #56882 Read
fix accounting 4 months ago

Type cast error on postgres

Clicking on cost center field throws error; Postgres doesn't support `like` operator on `smallint` fields.

@mihir-kandoi #56871 Read
fix accounting 4 months ago

Race condition in process pcv

Process PCV gets stuck in Running state when 2 jobs create a race condition on the summarization step; MariaDB 11.6+ has snapshot isolation enabled by default causing lock timeout on PPCVD updates.

@ruthra-kumar #56852 Read
Frappe 11k 8 updates
feat ui-ux Editor's pick 4 months ago

Standard helper to render buttons

`frappe.ui.button(opts)` creates Espresso-style button wired with onclick handling, promise handling, and loading states; also available as markup via `.html(opts)`.

@nikkothari22 #40576 Read
fix framework 4 months ago

Preserve tree view expansion state on back-navigation

Opening a tree, expanding nodes, then navigating back always rebuilt the tree from root, collapsing every expanded node.

@kaulith #40530 Read
fix framework 4 months ago

Remove outer table border in plain style print output

Bootstrap's `table-bordered` double-bordered the header in plain table style and didn't match the builder preview; removed outer border and standardized header underline.

@iamejaaz #40589 Read
feat ui-ux 4 months ago

Add section margin support with per-side spacing control in print format builder

Adds margin support for sections rendered in builder preview and print output; replaces four-stepper padding grid with reusable SpacingRow component; adds table border options.

@iamejaaz #40581 Read
fix framework 4 months ago

Show user picker for assignment filter values

Filtering by Assigned To or Liked By required manually entering exact email; now shows a User Link picker for search and selection.

@kaulith #40350 Read
fix framework 4 months ago

Settings dialog panel scroll

Settings dialog scrolling broke when there were multiple entries and some setting was enabled.

@nishkagosalia #40577 Read
feat ui-ux 4 months ago

Make field cards fully draggable in print format builder

Drag fields by the whole card instead of only the grip handle; interactive elements are excluded; shows grab/grabbing cursor; browser back closes preview.

@iamejaaz #40584 Read
fix framework 4 months ago

Dashboard chart crashes when filters_json is a dict

Report-type Dashboard Charts could fail to load when filters_json contained a dict instead of a list; validation now checks `isinstance(filters, list)`.

@kaulith #40563 Read
CRM 3.9k 1 update
fix crm-sales 4 months ago

Revert "fix(onboarding): trigger FC setup-complete from on_login instead of after_insert"

Existing FC user creating a signup site as admin were unable to access desk; reverts problematic onboarding changes.

@shahzeelahmed #2397 Read
LMS 3.3k 1 update
fix other-apps 4 months ago

Commit chapter rename on Enter

Double-clicking a chapter to rename and pressing Enter did not save; Enter keydown bubbled up and toggled the disclosure instead.

@NagariaHussain #2542 Read
b Builder 2.5k 1 update
fix ui-ux 4 months ago

Canvas rendering of inline text blocks (span/a pills) + text-edit corruption

Inline text blocks rendered broken in the editor canvas while looking perfect on the published page; wrapper elements fragmented the inline box.

@surajshetty3416 #658 Read
o Other 10 updates
fix other-apps 4 months ago

Redirect space URL to first page in sidebar order

Visiting a space URL redirected to the first descendant in NestedSet order, not the first page in sidebar sort order; now walks the same tree the sidebar renders.

@NagariaHussain #696 Read
fix other-apps 4 months ago

Hide model api key/base url when a provider is linked, clarify field help

Model form showed API Key and Base URL fields even when a Provider was linked, though the Provider already supplies both.

@ShrihariMahabal #52 Read
fix other-apps 4 months ago

Undo of an external paste reverts only the anchor cell

Pasting a multi-row text block into a single cell worked, but undo removed only the anchor cell and left every other pasted row.

@AsifMulani1 #168 Read
feat other-apps 4 months ago

Redesign the assistant chat and tool-call UI

Sequential non-approval tool calls collapse into one line; arguments render as a compact table; approval requirement now comes from agent's tools instead of hardcoded frontend.

@ShrihariMahabal #49 Read
feat other-apps 4 months ago

Surface knowledge base descriptions to the agent in the search tool

Flow Knowledge Base `description` field now fed to the model; appends each bound KB's title and description to search_knowledge tool so agent knows what knowledge exists.

@ShrihariMahabal #54 Read
feat other-apps 4 months ago

Paste tables from external apps via the HTML clipboard flavor

Sheets can now paste structured tables from Excel Online, Google Sheets, Gameplan, or web pages; prefers HTML flavor over tab-delimited plain text.

@AsifMulani1 #139 Read
fix other-apps 4 months ago

Right align join button

fix(meet): right align join button

@BreadGenie #165 Read
feat other-apps 4 months ago

Add checkbox cells

Google-Sheets-style checkboxes in Sheets; a new data-validation rule that reuses existing validation engine and renders as canvas chips.

@AsifMulani1 #167 Read
fix other-apps 4 months ago

Delete linked flow runs when a session is deleted

Deleting a Flow Session left its Flow Runs orphaned; now cascade-deletes linked runs in `FlowSession.on_trash`.

@ShrihariMahabal #51 Read
fix other-apps 4 months ago

Commit before model call so concurrent turns don't hit lock timeout

Non-streaming chat held the request's DB transaction open across the model call, causing Flow Session row locks for the run's duration and blocking concurrent turns until lock timeout.

@ShrihariMahabal #50 Read

Saturday, June 13

ERPNext 40.6k 1 update
fix stock-manufacturing 5 months ago

ERPNext makes UOM mandatory in the Item UOM table to stop empty rows

Prevents saving empty UOM rows in the item UOM table.

@SandraFrappe #55838 Read
Frappe 11k 5 updates
fix framework 5 months ago

Frappe hardens its test suite with a large batch of new assertions

Adds comprehensive assertions to critical code paths to improve regression detection.

@ankush #39891 Read
feat framework 5 months ago

Frappe ships a native Python SocketIO server, cutting realtime memory use

Adds Python-based SocketIO server replacing Node.js to reduce memory usage by running under the gunicorn master process.

@tanmoysrt #39879 Read
feat framework 5 months ago

Generate preview images from HTML or URLs with bundled Chromium, no external service

Adds native preview-image generation from HTML/URLs using the framework's bundled Chromium, eliminating external service dependencies.

@surajshetty3416 #39882 Read
fix framework 5 months ago

Banker's rounding now handles negative numbers correctly

Fixes sign-blind tie-detection in Banker's rounding that caused -647.325 to incorrectly round to -647.33.

@surajshetty3416 #39576 Read
fix framework 5 months ago

Security fix: lambda expressions disabled in eval to block code injection

Disables lambda expressions in eval to prevent code injection vulnerabilities.

@ankush #39920 Read
CRM 3.9k 1 update
fix crm-sales 5 months ago

CRM annual revenue now syncs into deal value automatically

Fixes the Deals list on Contact pages to show deal_value instead of annual_revenue.

@jagadish-7 #1749 Read
b Builder 2.5k 1 update
feat ui-ux 5 months ago

Builder renders page previews via the framework's bundled Chromium

Uses the framework's bundled Chromium for page preview rendering instead of external services.

@surajshetty3416 #628 Read
o Other 1 update
feat developer-experience 5 months ago

Pick your SocketIO backend at runtime with bench socketio

Enables runtime backend selection for socketio via the bench command.

@tanmoysrt #1716 Read

The digest, in your inbox

One quiet email a week — the notable changes across the Frappe ecosystem, no noise.