0.15.0 Stable Release
14 May 2024 Oliver
Development on InvenTree continues at a rapid pace, and we are pleased to announce the release of InvenTree version 0.15.0. With more than 300 commits since the 0.14.0 stable release, this release includes a wide range of new features, bug fixes, and improvements.
Breaking Changes
Code Restructure
The code structure has been refactored to improve maintainability and readability. As we work to refactor the entire frontend interface, there is a significant split between the backend code (Python) and the frontend code (React). This refactor has been a long time coming, and we are excited to see it finally merged into the main branch.
The code is now split into two main directories:
-
./src/backend/
contains all the server code (Python, Django) -
./src/frontend/
contains all the client code (JavaScript, React)
Additionally, we are working to improve the test coverage of the frontend code, and have added a number of new tests to ensure that the frontend code is as robust as possible.
You can read more about the code refactor in this PR.
Security Patches
A number of patches were applied to the InvenTree codebase to address security vulnerabilities. These updates were implemented as part of our ongoing commitment to security and privacy.
These patches include:
- Add OSSF Scorecard - #6769
- Bump django from 4.2.10 to 4.2.11 - #6745
- Pin hashes in requirement files #7081
New Features
A number of significant new features and enhancements have been added in this release. Some of these new features are described below:
Template Editor
An interactive template editor (for editing report and label templates) has been added to the React frontend. This feature allows users to create and edit templates directly within the InvenTree interface, and also provides a live preview for label and report templates.
This presents a significant improvement over the previous template editing process, which required users to manually edit template files in an offline editor.
Full details can be found in this PR.
Backup and Restore Functionality
Backup and restore functionality has been improved by adding new command line options for the backup
and restore
management commands. These commands allow users greater control when creating a backup of the InvenTree database, and restoring it at a later time.
Company Active Field
An “active” field has been added to the Company model. This field allows users to mark a company as “active” or “inactive”, which can be useful for managing company records in InvenTree.
Read more in this PR.
React Interface Development
Development of the new React interface continues steadily. This is our major focus now, and we are working to migrate all frontend code to React. From this point onwards, major bug fixes and security patches will still be applied to the old frontend, but new features will only be added to the React frontend.
We intend to depreciate the old frontend in the future, so we encourage all users to start using the new React interface as soon as possible.
URL Redirects
URL redirects have been implemented in the React frontend to ensure that users are redirected to the correct page when they navigate to a specific URL. This feature improves the user experience and ensures that users are always directed to the correct page.
Refer to this PR.
Login State Management
Login management for the React frontend has received some significant updates in #7158. This PR improves the login state management for the React frontend, and ensures that the login state is correctly maintained across the application.
New Language Support
We have added translation support for the following languages.
- Add Latvian language in #6749
Devops Changes
This release cycle has seen a focus on improving the development and testing process for InvenTree. We have updated our unit testing framework, improved our CI/CD pipeline, and made a number of other changes to improve the development process.
Code Coverage
We have moved our code coverage reporting to codecov. This change allows us to better track code coverage across the entire codebase, and ensure that we are maintaining a high level of test coverage.
Playwright Tests
We now run Playwright tests in our CI pipeline. This allows us to test the frontend interface in a more automated way, and ensures that the frontend code is functioning correctly. As the React frontend makes heavy use of the InvenTree API, this testing also helps increase test coverage of the API and backend code.
Bug Fixes
As always, a number of bug fixes have been implemented in this release. For a full list of the bugs squashed in this release, refer to our GitHub page.
New Contributors
Two new contributors have made their first contribution to the InvenTree project in this release:
- @XanderLuciano made their first contribution in #6694
- @emmanuel-ferdman made their first contribution in #7019
As always, we welcome new contributors to the project! If you are interested in contributing to InvenTree, whether it be code, documentation, or translations, please get in touch!
Release Notes
For a full list of changes, please see the release notes on GitHub.
Deploying InvenTree
If you are new to the InvenTree project, there are multiple ways to deploy InvenTree for your own use. Please refer to the deployment guide for more information.