go back Back

1.5.0 Release

09 Aug 2026 Oliver

InvenTree 1.5.0 has been released! This release includes a number of new features, improvements, and bug fixes. We recommend all users to update to this version as soon as possible.

Changelog

Major changes are documented in the CHANGELOG.md file in the repository. For a full list of changes, please refer to the release notes.

Update Procedure

To update to the latest version of InvenTree, please follow the updating instructions provided in the InvenTree documentation. Note that the particular update procedure may vary depending on your installation method.

Breaking Changes

While we strive to maintain backward compatibility, there are some breaking changes in this release. While many of these are minor, and should not affect most users, we recommend that you review the list of breaking changes to ensure that your installation will continue to function as expected after the update. Each breaking change is documented in detail at the links below:

API Throttling Enabled by Default

PR #11951 enables API request throttling by default, providing a first line of defense against trivial denial-of-service abuse of API endpoints. The default limits are intentionally generous so as to minimize impact on most instances, but administrators of smaller or resource-constrained instances should review the new throttling configuration.

Bump Minimum Python Version

PR #12223 raises the minimum supported Python version to 3.12, and drops pre-built packages for Debian 11 and Ubuntu 22.04. Users running InvenTree on an older Python version, or on one of these older distributions, will need to upgrade their environment before installing this release.

Table Field Refactor

PR #12274 rewrites how “table” fields are rendered in UI forms, fixing a number of performance issues where rows were needlessly re-created on every update. As part of this refactor, each row now requires a unique ID value. Any custom plugins that use “table” field types in UI forms will need to be adjusted to match the new configuration.

Refactor API for Duplicating Objects

PR #12294 consolidates the various object-duplication endpoints behind a single DuplicateOptionsSerializer, and extends duplication support to additional models (including the ability to copy notes). Integrations which rely on the previous per-model duplication endpoints should be reviewed against the new consolidated API.

Adjust Default Behavior of “migrate” Command

PR #12320 changes the default behavior of the invoke update command so that it no longer automatically generates new migration files when the database schema has changed. This prevents installations from ending up with out-of-line migration files that were not committed to the repository. Developers who rely on migrations being auto-generated during update will need to generate them explicitly.

Remove Dead Pricing Code on Part Model

PR #12357 removes a number of legacy pricing methods from the Part model, in preparation for a larger pricing refactor. While this does not affect any internally called code, any plugins relying on these legacy methods being available will need to be adjusted.

Remove MPTT Mixin from StockItem Model

PR #12360 removes the MPTT tree mixin from the StockItem model. The model never made real use of MPTT’s tree features, but paid the cost of expensive tree rebuilds and fragile concurrency locking on every bulk stock operation. Removing it reduces database load and eliminates a class of concurrency issues during bulk stock actions. External clients should note that the tree-related fields previously exposed on StockItem are no longer available via the API.

Optional Field Permissions

PR #12529 fixes a permission gap where “optional fields” exposing cross-model relations were returned regardless of whether the requesting user had permission to view the related model. These optional fields are now excluded from API responses if the user lacks view permission on the associated model, so integrations that depended on always receiving these fields may need to handle their absence.

Security Fixes

A number of security vulnerabilities have been fixed in this release.

Fix Permissions for Group and RuleSet Endpoints

PR #12563 tightens access to the group and RuleSet API endpoints, which previously only checked the is_staff flag. These endpoints now also require the user to hold the StaffRole permission, closing a gap that allowed staff users without the appropriate role to view or modify permission rulesets.

Additional SSRF Protections

PR #12595 further tightens the protections around fetching data from external URLs, reducing the risk of server-side request forgery (SSRF) when InvenTree makes outgoing requests on a user’s behalf.

Database Changes

This release includes a number of changes to the underlying database schema and data validation. As always, a backup of your database is recommended before performing the update.

Fix for UUID Fields

PR #12301 introduces a custom UUID field to work around a Django 5.0 change to UUIDField handling on MariaDB. This resolves migration issues that could occur when updating existing UUID columns on MariaDB-backed installations.

Fix Currency Choices for PartPricing Model

PR #12336 removes the dynamically-generated currency choices from the PartPricing model definition, moving that validation into the API serializer instead, along with a dedicated validator to ensure only supported currency codes can be assigned.

Unique Parameters

PR #12388 adds uniqueness validation options to the ParameterTemplate model, allowing administrators to enforce that values for a given parameter template must be unique across parts.

Data Import Fix

PR #12568 fixes an encoding issue that could occur when importing date values from Excel files during the data import process.

New Features

Tree Select in Form Fields

PR #12217 adds a hierarchical “tree select” control for choosing stock locations and part categories in UI forms, making it much easier to navigate deeply nested location and category structures when filling out a form.

Snippet Editor

PR #12299 adds a dedicated UI for managing report assets and snippets, making it easier to create and maintain reusable template fragments for report and label generation.

Form Submission Shortcut

PR #12328 adds a keyboard shortcut (Ctrl + Enter) to submit the currently open form, speeding up repetitive data-entry workflows.

Break Apart Assemblies

PR #12310 introduces a long-requested “disassembly” feature, allowing an assembly to be broken apart back into its constituent BOM items. The feature is supported for untracked, tracked (serialized), and mixed assemblies, and preserves the originating purchase order and build order history on the resulting stock items.

Preview Drawer

PR #12117 adds a global “preview drawer” which provides a quick-view of a part, stock item, order, or other object without navigating away from the current page. Preview rendering is available for all core models, and is also exposed to plugins so they can supply their own preview content.

Bug Fixes

As always, we have provided a number of bug fixes with this release. Thanks to the many community members who have contributed to identifying and resolving these issues!

Contributing

InvenTree is an open source project, and we welcome contributions from the community. There are many ways to contribute to the project, including code contributions, translation efforts, documentation improvements, and financial support.

New Contributors

As always we would like to thank all of our contributors for their hard work and dedication to the InvenTree project. In particular, we would like to welcome the following new contributors who have made their first contributions in this release:

Code Contributions

Check out our GitHub page for a list of outstanding issues and feature requests. If you are a developer or want to become one, you can help to contribute to the project by submitting a pull request.

Translation

Our translation efforts continue to grow, with coverage increasing across a wide range of languages. We are grateful to all of our translators who have contributed to making InvenTree accessible to users around the world.

If you are interested in contributing to the translation efforts, please visit our Crowdin project and join the community of translators.

Documentation / Technical Writing

If you have experience with technical writing, you can help to improve the InvenTree documentation. We are always looking for help to improve the documentation and make it more accessible to new users.

Report Bugs

If you encounter a bug in InvenTree, please report it on our GitHub issues page. Please ensure that you provide as much information as possible to help us diagnose and fix the issue.

Financial Contributions

Sponsorships help to keep this project sustainable, and buys time for the core developers to commit to the project. A recurring or one off sponsorship is a great way to help InvenTree development to continue at full steam!

The work undertaken to keep InvenTree running is done by a very small group of core developers, who do so in their spare time (and are not sponsored by their employers to work on InvenTree). If you benefit from the InvenTree project, please consider contributing to maintain vibrant development of this software!

If you are using InvenTree in a commercial setting, please consider sponsoring the project to help support ongoing development and maintenance. Your support is greatly appreciated and helps to ensure that InvenTree remains a viable and sustainable project for years to come.

If your company benefits from InvenTree, please consider a one time sponsorship or a recurring sponsorship to help support the project.