The community has waited long enough for the next major version of our apps and now we are finally there. Version 16 of all our Enterprise Apps will be released on 12th January 2026.
As this release has been anticipated so much, we want this to be very stable. So for the last few weeks, the team has been focusing on polishing it up, fixing bugs, and improving performance.
For further details you can check this post.
Table of Contents
Select All Checkbox in Multiselect Field (#34529)
A Select All checkbox has been added to the multiselect field, making it easier for users to bulk-select options. Contributed by Umakanth Kaspa.
Attach files to Notifications (#34197)
Previously, there was no option to attach files from a DocType to a Notification. Now, users can easily attach files directly to their Notifications. Contributed by Henning Wendtland.

Full Number Display Added to Number Cards (#32626)
You can now choose to display values in their full numeric form instead of abbreviations. This helps when precision is more important than readability. Contributed by Umakanth Kaspa.

.png)
Copy to Clipboard Action in List and Report Views (#34836)
This feature introduces a new bulk action that allows users to copy selected rows including all visible columns directly to the clipboard. It works in both List View and Report View. Contributed by AVC.
Revamped UI
In accordance with the new UI refresh of all Frappe apps for version 16, ERPNext follows suit with a redesign which includes new icons, sidebars and workspaces.

Only repost GL Entries
It will now be possible to create reposting entries only for accounting ledgers. Stock Ledger Entries will remain untouched if this setting is enabled.

Phantom BOM
Phantom BOMs are for items that are not stocked separately and only exist as a logical grouping of raw materials rather than a sub-assembly. A Phantom BOM will be exploded regardless of any explosion or multi-level BOM settings.

Stock Reservation for Subcontracting Order
It is now possible to reserve raw materials against Subcontracting Orders to prevent accidental use of stock commited for Subcontracting purposes.
If the Subcontracting Order is linked to a Production Plan where stock has been reserved, the Stock Reservation Entries will be transferred from the Production Plan to the Subcontracting Order and all the way to the Subcontracting Receipt.

A new desktop and sidebar
See your HR work-spaces in the desktop and with all the actions pinned to the sidebar for easier access

See when your leaves will be earned
And when they are not. Earned leave allocations will now have the schedule visible upfront, colored indicators to show which ones were failed and successful, button at the end to retry failed allocations and an email sent to HR managers linking the failed leave allocations documents. Could it get any easier?

We’ve introduced a new auto-scaling system to improve how application servers handle load on Frappe Cloud. The platform can now automatically start or stop a secondary server based on CPU usage, which helps maintain stability during traffic spikes.
The system is fully zero-downtime, including the initial setup and teardown steps. We’ll be rolling this out region-wise, starting with Mumbai.
The images below give a quick overview of how this works:
Setup Preview
This shows the one-time setup process where a secondary server is provisioned and the environment is prepared for scaling.

Dashboard After Setup
Once setup is complete, the dashboard displays the primary server along with the optional secondary server that will automatically activate based on load.
.png)
Data Import from the Frontend
Data Import is a part of the desk, so each time an admin is setting up their learning system, to import data they had to navigate from the learning system to the desk. This is not ideal and in the past a few of our users highlighted the inconvenience it causes.
So we decided to address this. Admins can now import data right from the learning system. And we did not just bring the feature from the desk to the frontend, we have simplified it. The data import screen on the desk looks very overwhelming. To avoid this, the import feature on the frontend, is divided into 3 simple steps that are visible right from the beginning.
The first step is where you upload the file which contains your data. This can either be a CSV file or a google sheet. The second step is where you map the columns from your file to the fields in the system. And in the third step, you see a preview of your data, and then you just start importing.
When the import is complete, you see which records imported successfully and can directly navigate to the imported data screen right on the frontend. If some of your rows fails to import you see a clear traceback, you can also filter the import logs to only see the records that failed to import to only focus on them.
View Job Applications
Job posters can now view a list of people who have applied for the job. From this list they can download their resume too. They can also send an email to them right from this screen.
This ensures that a job poster can see the data of who all applied to the job they posted right from one screen. Soon, Frappe Learning will have a simplified end to end process to manage the entire hiring process.

Making Helpdesk Lighter and Faster
One of the biggest improvements we focused on this month was making Helpdesk more lightweight.
By lightweight, we mean reducing the size of the application bundle that is sent over the network. Previously, the bundle size was around 800 KBs, and we’ve now brought it down to 230 KBs — a 2.5× reduction! #2719
To achieve this, we did have to introduce a few breaking changes in frappe-ui as well. #445
With this update in frappe-ui, you can expect similar bundle size reductions across other Frappe apps that use frappe-ui.
Settings modal revamp
We revamped the UI and organized the settings to better manage the configurations of Helpdesk.
We also added more settings in the frontend which could be managed only from the desk, such as:
- Ticket settings
- Workflow & knowledge base settings
- User signup
- Profile management
- Change user language
- Improve team member addition flow
Social Media Lead Syncing
Lead syncing is now live! You can seamlessly sync leads from Facebook directly to Frappe CRM. We are launching with Facebook support today, with more lead sources coming soon. #1288
Key features:
- Configurable sync intervals
- ID based and values based de-duplication
Contributed by Hussain Nagaria

Pass HTML attributes or additional props to components #132
Some component definitions are not transparent in frappe-ui. Passing an attribute might have effects on the component, but it’s not explicitly defined in the component definition. This is especially true for wrapper components. Example: FormControl doesn't explicitly define disabled prop, options prop (applicable for select type only). Such non-prop attrs + HTML attrs can be passed using the Attributes section. You can also wire dynamic values here using the “{{ }}” (mustache) syntax.
.png)
New controls from frappe-ui #124
Combobox by Faris Ansari (#51b6089)

TimePicker & Date control improvements by Shariq Ansari (#398)

Link by Rucha Mahabal. (#430)

Better ‘Add fields from DocType’ utility #125
This utility was extremely basic from the start. It was enhanced after the addition of new frappe-ui components.
- Supports new fieldtypes: Password, Link, Email, Small Text, Long Text, Text Editor, Rating, Time
Map properties from docfields -> component props:
Docfield Property Component Prop reqd required read_only disabled options doctype for Link component, options for Select component label label description description Option to set field variant while adding fields from doctype: So that you don't have to individually change it for all fields after adding them to the canvas
Data Sources: Configure On Success & On Error scripts
You can now configure on success scripts to update variables or control other data sources whenever data loads successfully, as well as error scripts to gracefully handle data fetching errors using fallback logic or user alerts.

.png)
This month, we worked on pulling out Writer into a separate app - look forward to a blog post and a beta launch soon!
In Drive itself, we added a few features:
- Public teams where all files are public
- Performance enhancements to virtualize the list of files in cases of folders with a high number of files
Undo
Mail now ships with the ability to undo your last performed action. This can be triggered by clicking on the Undo button or hitting Cmd/Ctrl + Z on your keyboard.
Folder Management
You now have full control over folders: create, update, and delete as you like.
Quota Management
Mail Admins can set quota usage restrictions for individual accounts in their tenant.

Mail Editor Formatting
Most clients, like GMail and Outlook, use <div> as the default tag for rendering text.
Tiptap, which is what Frappe UI’s TextEditor uses under the hood, uses <p> tags for text blocks. Even line breaks become new <p> tags, unless you use a soft break (Shift+Enter). As a result, mails composed in the editor looked different from how they appeared to recipients.
To fix this, I had to override TextEditor to make use of <div> instead of <p>, along with <br> for line breaks (similar to GMail/Outlook). The rendered mail now looks more in accordance with the composed one.
And that's it 👋
That's all for this month. Do let us know your thoughts on these updates. See you next month with more!



