2
0
mirror of https://github.com/inventree/inventree-website.git synced 2025-09-13 22:51:25 +00:00
Files
inventree-website/blog/feed.atom
2025-09-01 01:26:33 +00:00

522 lines
48 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="/blog/feed.atom" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2025-09-01T01:26:23+00:00</updated><id>/blog/feed.atom</id><title type="html">InvenTree</title><subtitle>InvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of addins for EDA tools, API wrapper, deeply integrated plugins and 3rd party tools.</subtitle><entry><title type="html">Machine Plugin Refactor</title><link href="/blog/2025/08/21/machine-refactor" rel="alternate" type="text/html" title="Machine Plugin Refactor" /><published>2025-08-21T00:00:00+00:00</published><updated>2025-08-21T00:00:00+00:00</updated><id>/blog/2025/08/21/machine-refactor</id><content type="html" xml:base="/blog/2025/08/21/machine-refactor"><![CDATA[<h2 id="machine-plugin-refactor">Machine Plugin Refactor</h2>
<p>In preparation for the upcoming 1.0.0 release, we have made some <em>breaking</em> changes to the machine registry plugin system.</p>
<p>These changes require that any existing plugins which implement custom machine drivers must be updated to use the new plugin system. A new <em>mixin</em> class, <code class="language-plaintext highlighter-rouge">MachineDriverMixin</code>, has been introduced to facilitate this transition.</p>
<p>Plugin developers should refer to the notes below to determine how to update their plugins.</p>
<h3 id="references">References</h3>
<ul>
<li><a href="https://github.com/inventree/InvenTree/pull/10150">Machine Plugin Refactor PR</a></li>
<li><a href="https://docs.inventree.org/en/latest/plugins/mixins/machine/">MachineDriverMixin Documentation</a></li>
</ul>
<h3 id="changes">Changes</h3>
<p>The <a href="https://github.com/inventree/InvenTree/pull/10150">linked pull request</a> makes a number of changes to both the <a href="https://docs.inventree.org/en/latest/plugins/">plugin system</a> and <a href="https://docs.inventree.org/en/latest/plugins/machines/overview/">machine registry</a>.</p>
<p>The most significant of these changes is the introduction of the <a href="https://docs.inventree.org/en/latest/plugins/mixins/machine/">MachineDriverMixin class</a>, which now provides a standard interface for plugins which register custom machine drivers, or custom machine types.</p>
<p>Plugin developers can refer to linked pull request, in addition to the updated plugin mixin documentation, for more information on how to implement this new interface.</p>
<p>The required changes to existing plugins are minimal, and should be straightforward to implement.</p>
<h3 id="example">Example</h3>
<p>As an example, the <a href="https://github.com/inventree/inventree-brother-plugin/">inventree-brother-plugin</a> has been updated to use the new <code class="language-plaintext highlighter-rouge">MachineDriverMixin</code> class.</p>
<p>Refer to <a href="https://github.com/inventree/inventree-brother-plugin/pull/60">this pull request</a> to see the changes made to the plugin.</p>]]></content><author><name>SchrodingersGat</name></author><summary type="html"><![CDATA[Machine Plugin Refactor]]></summary></entry><entry><title type="html">Celebrating 5k Stars on GitHub!</title><link href="/blog/2025/05/22/5k" rel="alternate" type="text/html" title="Celebrating 5k Stars on GitHub!" /><published>2025-05-22T00:00:00+00:00</published><updated>2025-05-22T00:00:00+00:00</updated><id>/blog/2025/05/22/5k</id><content type="html" xml:base="/blog/2025/05/22/5k"><![CDATA[<p>The team is rejoiced to acknowledge that the project has now reached 5.000 Stars on GitHub. This and the nearly 1k forks are a reminder of how widely InvenTree has spread in recent years.</p>
<p>We are getting the last setup-improvements and a few smaller features ready to publish the 1.0 release to signify the stability that fellow contributors and users have been experiencing since 2017.</p>
<p>We are always <a href="https://github.com/inventree/InvenTree/discussions/9073">looking for translators / proofreaders</a>.<br />
Using InvenTree and proud to share? <a href="https://github.com/inventree/inventree-website/discussions/239">Submit</a> to being featured on the website.</p>]]></content><author><name>matmair</name></author><summary type="html"><![CDATA[The team is rejoiced to acknowledge that the project has now reached 5.000 Stars on GitHub. This and the nearly 1k forks are a reminder of how widely InvenTree has spread in recent years.]]></summary></entry><entry><title type="html">0.17.1 Release</title><link href="/blog/2024/12/27/0.17.1" rel="alternate" type="text/html" title="0.17.1 Release" /><published>2024-12-27T00:00:00+00:00</published><updated>2024-12-27T00:00:00+00:00</updated><id>/blog/2024/12/27/0.17.1</id><content type="html" xml:base="/blog/2024/12/27/0.17.1"><![CDATA[<h2 id="0171-release">0.17.1 Release</h2>
<p>We have just released version 0.17.1 which includes a number of patches and bug fixes.</p>
<h3 id="release-notes">Release Notes</h3>
<p>View the <a href="https://github.com/inventree/InvenTree/releases/tag/0.17.1">release notes</a> for more information.</p>]]></content><author><name>SchrodingersGat</name></author><summary type="html"><![CDATA[0.17.1 Release]]></summary></entry><entry><title type="html">0.17.0 Stable Release</title><link href="/blog/2024/12/17/0.17.0" rel="alternate" type="text/html" title="0.17.0 Stable Release" /><published>2024-12-17T00:00:00+00:00</published><updated>2024-12-17T00:00:00+00:00</updated><id>/blog/2024/12/17/0.17.0</id><content type="html" xml:base="/blog/2024/12/17/0.17.0"><![CDATA[<p>The InvenTree team is proud to announce the release of InvenTree version 0.17.0! This is the most significant release of InvenTree to date, with a huge number of new features, bug fixes, and improvements. We have closed out <a href="https://github.com/inventree/InvenTree/pulls?q=is%3Apr+milestone%3A0.17.0+is%3Aclosed">over 400 pull requests</a> against this release milestone, and received contributions from multiple developers including seven new contributors.</p>
<h2 id="release-notes">Release Notes</h2>
<p>For a full list of changes made in this release, please see the <a href="https://github.com/inventree/InvenTree/releases/tag/0.17.0">release notes on GitHub</a>.</p>
<h2 id="breaking-changes">Breaking Changes</h2>
<p>The following “breaking” changes have been made in this release. Some of these changes will require manual intervention if you are upgrading from a previous version of InvenTree.</p>
<h3 id="samesite-cookie-fix">Samesite Cookie Fix</h3>
<p>Some changes to the underlying Django project have changed the way that samesite cookies are handled. This change illuminated an issue with the way that InvenTree was handling cookies, and this has been fixed in this release.</p>
<p>For existing installs, this change may require intervention from a system administrator to ensure that cookies are handled correctly. Refer to the <a href="https://github.com/inventree/InvenTree/pull/8269">pull request</a> for further guidance.</p>
<h3 id="background-worker-and-global-cache">Background Worker and Global Cache</h3>
<p>The background worker process is now forced to use a single worker thread if global caching (i.e. via Redis) is not enabled. This is to prevent multiple background workers from running concurrently and causing issues with the background task queue. This prevents issues with undefined behavior due to race conditions, but may come with a performance penalty for some installations.
Refer to the <a href="https://github.com/inventree/InvenTree/pull/8401">pull request</a> for further details.</p>
<h3 id="test-statistics">Test Statistics</h3>
<p>The “Test Statistics” panel has now been removed from the core InvenTree code, and is now available as a <a href="https://github.com/inventree/inventree-test-statistics">separate plugin</a>. This change was made to reduce the complexity of the core InvenTree codebase, and to allow for more flexibility in the way that plugins are managed. Refer to the <a href="https://github.com/inventree/InvenTree/pull/8487">pull request</a> for more information.</p>
<h3 id="plugin-installation-improvements">Plugin Installation Improvements</h3>
<p><a href="https://github.com/inventree/InvenTree/pull/8503">PR 8503</a> provides a significant improvement to how plugin installation is synchronized when running InvenTree as a containerized application. Additional checksums are now used to ensure that the plugin installation process is more robust. While this change should be transparent to most users, it is a significant change to the way that plugins are installed and managed.</p>
<h2 id="security-patches">Security Patches</h2>
<p>The following security patches have been applied in this release:</p>
<h3 id="dependency-updates">Dependency Updates</h3>
<p>A number of core dependencies have been updated to the latest versions to ensure that InvenTree is running the most secure versions of the software. This includes updates to the Django framework, as well as other core dependencies.</p>
<h3 id="xss-vulnerability-via-malicious-barcodes">XSS Vulnerability via Malicious Barcodes</h3>
<p><a href="https://github.com/inventree/InvenTree/pull/8286">PR 8286</a> fixes an issue where a malicious user could craft a custom barcode which could be used to execute a cross-site scripting (XSS) attack. This fix ensures that barcodes are correctly sanitized before being rendered in the InvenTree UI.</p>
<h3 id="all-security-patches">All Security Patches</h3>
<p>Refer to our <a href="https://github.com/inventree/InvenTree/issues?q=%20label%3Asecurity%20milestone%3A0.17.0%20">GitHub page</a> for a complete list of security patches in this release.</p>
<h2 id="bug-fixes">Bug Fixes</h2>
<h3 id="null-location">Null Location</h3>
<p><a href="https://github.com/inventree/InvenTree/pull/8565">PR 8565</a> ensures that the <em>location</em> field of a StockItem is nullified when the item is consumed by a build order or shipped to a customer.</p>
<h3 id="chinese-language-support">Chinese Language Support</h3>
<p><a href="https://github.com/inventree/InvenTree/pull/7878">PR 7878</a> fixes an issue with the Chinese language support in InvenTree.</p>
<h3 id="part-pricing-fix">Part Pricing Fix</h3>
<p><a href="https://github.com/inventree/InvenTree/pull/8090">PR 8090</a> fixes a bug which prevented automatic updates of part pricing calculations from working correctly.</p>
<h3 id="other-bug-fixes">Other Bug Fixes</h3>
<p>Refer to our <a href="https://github.com/inventree/InvenTree/issues?q=label%3Abug+milestone%3A0.17.0">GitHub page</a> for a complete list of bug fixes in this release.</p>
<h2 id="new-features">New Features</h2>
<p>Some of the headline features in this release include:</p>
<h3 id="order-hold">Order Hold</h3>
<p>In <a href="https://github.com/inventree/InvenTree/pull/7807">PR 7807</a> we added the ability to mark orders as <em>on hold</em>. This additional status enhances the flexibility of the order management system in InvenTree.</p>
<h3 id="testable-parts">Testable Parts</h3>
<p><a href="https://github.com/inventree/InvenTree/pull/7888">PR 7888</a> allows parts to be independently marked as <em>testable</em>. Parts with this flag can have tests associated with them, and can be tested as part of the build process. Note that this flag was previously inherent to the <em>trackable</em> flag, which also allowed parts to be allocated with a serial number. This change separates the two flags, allowing for more flexibility in the way that parts are managed.</p>
<h3 id="user-defined-states">User Defined States</h3>
<p>Custom “states” can now be defined for a number of different objects in InvenTree. This feature was added in <a href="https://github.com/inventree/InvenTree/pull/7862">PR 7862</a> and allows for user defined states to be used in place of some of the default object states. This will open up new possibilities for customizing the way that InvenTree is used.</p>
<h3 id="sales-order-shipments">Sales Order Shipments</h3>
<p>We have had a major overhaul in how sales order shipments are managed. When allocating stock against a sales order, the allocation no longer needs to point to a particular shipment. Additionally, the new user interface provides a detailed view for each shipment.</p>
<h3 id="date-filtering">Date Filtering</h3>
<p><a href="https://github.com/inventree/InvenTree/pull/8544">PR 8544</a> implements API support for date filtering against different endpoints, in addition to UI elements for the new React interface.</p>
<h3 id="failed-task-logging">Failed Task Logging</h3>
<p>Background task failures are now logged to the database, ensuring that administrators can track the status of background tasks more effectively. This feature was added in <a href="https://github.com/inventree/InvenTree/pull/8333">PR 8333</a></p>
<h3 id="dashboard">Dashboard</h3>
<p>The new user interface now supports a configurable dashboard, with multiple widgets that can be added, removed, and re-arranged. This feature was added in <a href="https://github.com/inventree/InvenTree/pull/8278">PR 8278</a>, and also allows plugins to define custom widgets which can be added to the dashboard.</p>
<h2 id="translations">Translations</h2>
<p>The <a href="https://crowdin.com/project/inventree">InvenTree translation project</a> has now received contributions from over 450 community members! This is a phenomenal achievement, and we are grateful to all of our contributors who have helped to make InvenTree available in multiple languages.</p>
<h2 id="new-contributors">New Contributors</h2>
<p>As always, we are grateful to all of our contributors who have helped to make this release possible. In particular, we would like to thank the following new contributors:</p>
<ul>
<li>@timmyhadwen made their first contribution in https://github.com/inventree/InvenTree/pull/8129</li>
<li>@fuzeman made their first contribution in https://github.com/inventree/InvenTree/pull/8194</li>
<li>@skydiablo made their first contribution in https://github.com/inventree/InvenTree/pull/8255</li>
<li>@webtroter made their first contribution in https://github.com/inventree/InvenTree/pull/8292</li>
<li>@chris-thorn made their first contribution in https://github.com/inventree/InvenTree/pull/8366</li>
<li>@jacobfelknor made their first contribution in https://github.com/inventree/InvenTree/pull/8475</li>
<li>@Mixaill made their first contribution in https://github.com/inventree/InvenTree/pull/8516</li>
</ul>
<h2 id="100-release-target">1.0.0 Release Target</h2>
<p>This release marks our last minor release before our 1.0.0 release target. In the coming months we will be making some major changes to the InvenTree codebase to prepare for the 1.0.0 release. In particular, this will include a major overhaul of the frontend codebase - you can <a href="/blog/2024/09/23/ui-roadmap">read more about that here</a>.</p>
<p>Our major immediate goals for the project are to ensure that the new user interface is feature complete. This will include ensuring that all existing features are available in the new UI, and that the new UI is fully functional.</p>
<h2 id="support-the-project">Support the Project</h2>
<p>InvenTree is an open-source project, and we rely on the support of our community to keep the project running. There are many ways that you can support the project, including:</p>
<h3 id="code-contributions">Code Contributions</h3>
<p>Check out our GitHub page for a list of outstanding issues and feature requests. If you are a developer, you can help to contribute to the project by submitting a pull request.</p>
<p>In particular, we are looking for assistance with frontend development, as we work to complete the new user interface and improve the overall UI/UX of the project.</p>
<h3 id="documentation--technical-writing">Documentation / Technical Writing</h3>
<p>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.</p>
<h3 id="translation">Translation</h3>
<p>We are always looking for help with translations. If you are fluent in a language other than English, you can help to translate InvenTree into your language. Checkout our <a href="https://crowdin.com/project/inventree">Crowdin project</a> to get started.</p>
<h3 id="report-bugs">Report Bugs</h3>
<p>If you encounter a bug in InvenTree, please report it on our <a href="https://github.com/inventree/inventree/issues">GitHub issues page</a>. Please ensure that you provide as much information as possible to help us diagnose and fix the issue.</p>
<h3 id="financial-support">Financial Support</h3>
<p>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!</p>
<p>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!</p>
<ul>
<li><a href="https://polar.sh/inventree">Polar.sh</a></li>
<li><a href="https://github.com/sponsors/inventree">GitHub</a></li>
</ul>]]></content><author><name>SchrodingersGat</name></author><summary type="html"><![CDATA[The InvenTree team is proud to announce the release of InvenTree version 0.17.0! This is the most significant release of InvenTree to date, with a huge number of new features, bug fixes, and improvements. We have closed out over 400 pull requests against this release milestone, and received contributions from multiple developers including seven new contributors.]]></summary></entry><entry><title type="html">0.16.9 Release</title><link href="/blog/2024/11/30/0.16.9" rel="alternate" type="text/html" title="0.16.9 Release" /><published>2024-11-30T00:00:00+00:00</published><updated>2024-11-30T00:00:00+00:00</updated><id>/blog/2024/11/30/0.16.9</id><content type="html" xml:base="/blog/2024/11/30/0.16.9"><![CDATA[<h2 id="0169-release">0.16.9 Release</h2>
<p>We have just released version 0.16.9 which includes a number of patches and bug fixes.</p>
<h3 id="release-notes">Release Notes</h3>
<p>View the <a href="https://github.com/inventree/InvenTree/releases/tag/0.16.9">release notes</a> for more information.</p>]]></content><author><name>SchrodingersGat</name></author><summary type="html"><![CDATA[0.16.9 Release]]></summary></entry><entry><title type="html">0.16.8 Release</title><link href="/blog/2024/11/07/0.16.8" rel="alternate" type="text/html" title="0.16.8 Release" /><published>2024-11-07T00:00:00+00:00</published><updated>2024-11-07T00:00:00+00:00</updated><id>/blog/2024/11/07/0.16.8</id><content type="html" xml:base="/blog/2024/11/07/0.16.8"><![CDATA[<h2 id="0168-release">0.16.8 Release</h2>
<p>We have just released version 0.16.8 which includes a patch for a critical bug in the InvenTree package installer. We recommend that users upgrade to this version as soon as possible.</p>
<h3 id="missing-translation-files">Missing Translation Files</h3>
<p>Some users were experiencing reports of missing translation files when installing InvenTree using the package installer. The issue was identified and resolved in this release. Refer to the release notes (linked below) for more information.</p>
<h3 id="release-notes">Release Notes</h3>
<p>View the <a href="https://github.com/inventree/InvenTree/releases/tag/0.16.8">release notes</a></p>]]></content><author><name>SchrodingersGat</name></author><summary type="html"><![CDATA[0.16.8 Release]]></summary></entry><entry><title type="html">UI Roadmap - going 1.0</title><link href="/blog/2024/09/23/ui-roadmap" rel="alternate" type="text/html" title="UI Roadmap - going 1.0" /><published>2024-09-23T00:00:00+00:00</published><updated>2024-09-23T00:00:00+00:00</updated><id>/blog/2024/09/23/ui-roadmap</id><content type="html" xml:base="/blog/2024/09/23/ui-roadmap"><![CDATA[<p>In August 2023 we announced <a href="/blog/2023/08/28/react">in a blog post</a> that we are working on a new user interface for InvenTree. This post is a follow-up to that announcement and provides an overview of the progress we have made so far and what we are planning to do next.
The most important information for you: the next release (0.17.0) will be the last with the old interface (CUI) as the default. The new interface (PUI) will be the default starting with the 0.18.0 release.<br />
The plan is to release 1.0 once PUI has all features ported, that will probably be the release after 0.18.0. 1.0 will not include CUI or the needed front- and backend code to support it.</p>
<p>Most of this article is probably only interesting for (plugin) developers, but we hope it gives you a good overview of what is happening.</p>
<h2 id="pui--cui---a-short-overview">PUI / CUI - A short overview</h2>
<p>The new interface is called PUI (Platform User Interface) and the old one CUI (Classic User Interface). PUI is built with React and is a single-page application. CUI is built with Django templates and uses a mixture of jQuery, templated JS and some libraries.
PUI is designed to be more consistent, use the API everywhere and support better testing (end-to-end, typing). The original blog post has more information on the <a href="/blog/2023/08/28/react#design-goals">design goals</a>.</p>
<h2 id="why-remove-cui">Why remove CUI?</h2>
<p>CUI has proven to be hard to understand for new contributors and hard to maintain in a consistent quality. Some common issues like cache invalidation, inconsistent rendering and hard-to-enforce permissions are easier to solve in PUI.
Therefore 1.0 will be PUI only. The compiled javascript, CSS and html files will be removed from the repository. CUI-only endpoints/tags will also be removed. Some HTML rendering will be kept as the report/label generation uses that.</p>
<p>This will probably remove around 2k files from the repo, around 370k lines. As of writing, we have 4.4k files and 2.4M lines in the repo.</p>
<h2 id="effect-on-plugins">Effect on plugins</h2>
<p>Plugins that render into the UI will need to be updated to work with PUI. This could affect you if your plugins use the mixins <code class="language-plaintext highlighter-rouge">PanelMixin</code>, <code class="language-plaintext highlighter-rouge">SettingsContentMixin</code>, <code class="language-plaintext highlighter-rouge">NavigationMixin</code> or <code class="language-plaintext highlighter-rouge">UrlsMixin</code>. Rendering into PUI is best done with <code class="language-plaintext highlighter-rouge">UserInterfaceMixin</code> (available in 0.17.0) - which is actively expanded to support rendering more tightly integrated than <code class="language-plaintext highlighter-rouge">PanelMixin</code> and CUI. For example <a href="https://github.com/inventree/InvenTree/pull/8137">#8137</a> supports rendering custom template editors in PUI.</p>
<p>We will issue guidance regarding the transition of plugins into the new mechanisms before 1.0 goes to production.</p>
<h2 id="how-can-you-help">How can you help?</h2>
<ul>
<li>Use the new UI - if you are on the 0.16.x release train your instance should already be serving it</li>
<li>Report bugs - if you find something that is not working as expected please report it</li>
<li>Report missing features - if you are missing something from CUI please report it (we have an EPIC<a href="https://github.com/inventree/InvenTree/issues/5212"> that tracks them</a>)</li>
<li>Start looking into developing PUI and contributing - we use React and Mantine, widely used technologies</li>
<li>Support the development - we have been developing PUI for over a year with more or less 3 people. Donations could help us spend more time or awarding bounties for features/design improvements.</li>
</ul>
<h2 id="the-big-10">The big 1.0</h2>
<p>1.0 will be a big milestone for InvenTree. InvenTree has been running in the heart of many companies for years. The switch to PUI enables much safer work on the UI. The release number 1.0 signals that the last part of the system is now modernised and ready for the future. We are looking forward to it and hope you are too.</p>
<p>Switching to 1.0 will also mean that we will follow SemVer fully. Big breaking changes will only be in major releases, feature releases (1.0, 1.1, 1.2) will follow the SemVer rules. This will make it easier for some of our enterprise users who face backlash or difficulty because of the below 1.0 version number.</p>
<p>We are discussing a few more breaking changes in 1.0 - feel free to chime in on the dedicated issue <a href="https://github.com/inventree/InvenTree/issues/6417">#6417</a>.</p>]]></content><author><name>matmair</name></author><summary type="html"><![CDATA[In August 2023 we announced in a blog post that we are working on a new user interface for InvenTree. This post is a follow-up to that announcement and provides an overview of the progress we have made so far and what we are planning to do next. The most important information for you: the next release (0.17.0) will be the last with the old interface (CUI) as the default. The new interface (PUI) will be the default starting with the 0.18.0 release. The plan is to release 1.0 once PUI has all features ported, that will probably be the release after 0.18.0. 1.0 will not include CUI or the needed front- and backend code to support it.]]></summary></entry><entry><title type="html">0.16.0 Stable Release</title><link href="/blog/2024/08/25/0.16.0" rel="alternate" type="text/html" title="0.16.0 Stable Release" /><published>2024-08-25T00:00:00+00:00</published><updated>2024-08-25T00:00:00+00:00</updated><id>/blog/2024/08/25/0.16.0</id><content type="html" xml:base="/blog/2024/08/25/0.16.0"><![CDATA[<p>The InvenTree development team is pleased to announce the release of InvenTree stable version 0.16.0. This release once again includes a wide range of new features, bug fixes, and improvements. We have closed out over <a href="https://github.com/inventree/InvenTree/pulls?q=is%3Apr+is%3Aclosed+milestone%3A0.16.0">250 pull requests</a> against this release target!</p>
<h2 id="release-notes">Release Notes</h2>
<p>For a full list of changes made in this release, please see the <a href="https://github.com/inventree/InvenTree/releases/tag/0.16.0">release notes on GitHub</a>.</p>
<h2 id="breaking-changes">Breaking Changes</h2>
<p>This release includes a number of changes which adjust existing APIs and may require updates to custom code or scripts.</p>
<p>View a full list of breaking changes on our <a href="https://github.com/inventree/InvenTree/pulls?q=is%3Apr+is%3Aclosed+milestone%3A0.16.0+label%3Abreaking">GitHub page</a>.</p>
<h3 id="report-printing-refactor">Report Printing Refactor</h3>
<p>In <a href="https://github.com/inventree/InvenTree/pull/7074">PR #7074</a>, the report printing system has received a major refactor. This change has been a long time coming, and we are excited to see it finally merged into the main branch.</p>
<p>Previously, each report template type was stored in a separate database table. All reports have now been consolidated into a single table, which simplifies the codebase and makes it easier to manage report templates.</p>
<p>A similar single table has been implemented for label templates.</p>
<p>Additionally, the report template live editor has received some improvements, making it easier to create and edit report templates directly within the InvenTree interface.</p>
<p>This change has removed a number of existing API endpoints, as all report functionality is consolidated to a smaller set of API commands. Refer to the InvenTree API documentation for more information.</p>
<h3 id="attachment-refactor">Attachment Refactor</h3>
<p>In <a href="https://github.com/inventree/InvenTree/pull/7420">PR #7420</a>, all attachment tables have been consolidated into a single table. This code change results in a large number of redundant API endpoints being removed, and simplifies the codebase. As all attachments are now stored in a single table, any custom plugins which interact with attachments will need to be updated to reflect this change.</p>
<h3 id="plugin-static-file-management">Plugin Static File Management</h3>
<p>We have changed the way that static files for plugins are handled. Previously only plugins which used the “app mixin” system could include static files. Now, all plugins can include static files, which are automatically loaded by the InvenTree system.</p>
<p>Refer to <a href="https://github.com/inventree/InvenTree/pull/7763">PR #7763</a> for more information.</p>
<h3 id="plugin-api-lookup">Plugin API Lookup</h3>
<p>In <a href="https://github.com/inventree/InvenTree/pull/7224">PR #7224</a> the plugin API was changed to use the “slug” of the plugin as the primary lookup, rather than the unique ID in the database. This change simplifies the plugin API and makes it easier to manage plugins, allowing consistent access to plugin data.</p>
<h2 id="security-patches">Security Patches</h2>
<p>A number of critical security updates have been made. For a full list, refer to the <a href="https://github.com/inventree/InvenTree/pulls?q=is%3Apr+is%3Aclosed+milestone%3A0.16.0+label%3Asecurity">GitHub project page</a>.</p>
<h3 id="dependency-updates">Dependency Updates</h3>
<p>We have updated a number of dependencies to address security vulnerabilities. These updates are part of our ongoing commitment to security and privacy. While there have been a significant number of dependency updates in this release cycle, below is a list of PRs which address security vulnerabilities:</p>
<ul>
<li>https://github.com/inventree/InvenTree/pull/7839</li>
<li>https://github.com/inventree/InvenTree/pull/7827</li>
<li>https://github.com/inventree/InvenTree/pull/7620</li>
<li>https://github.com/inventree/InvenTree/pull/7430</li>
</ul>
<h3 id="2fa-login-fix">2FA Login Fix</h3>
<p>2FA authentication for the new React frontend has been fixed in <a href="https://github.com/inventree/InvenTree/pull/7469">PR #7469</a>.</p>
<h3 id="frontend-sboms">Frontend SBOMs</h3>
<p><a href="https://github.com/inventree/InvenTree/pull/7784">PR #7784</a> generates SBOMs for the frontend, providing detailed information on the dependencies used in the frontend codebase.</p>
<h2 id="new-features">New Features</h2>
<p>This has been a significant release cycle for new features, with a number of exciting additions to the InvenTree codebase. There are so many new updates here that we cant list them all, some of the highlights include:</p>
<h3 id="user-interface-improvements">User Interface Improvements</h3>
<p>Major improvements have been made to the new React frontend, with a number of new features and enhancements. The new frontend is now the primary focus of development, 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.</p>
<h3 id="data-import--export">Data Import / Export</h3>
<p>We have been working on an entire rewrite of the data import and export system. This new system is more robust and flexible, and allows for more complex data import and export operations. This system is now live in the new React frontend, and we are excited to see it in action.</p>
<p>Future work will focus on bringing all import/export functionality across to the new system, and removing the old import/export system entirely.</p>
<h3 id="validation-plugin-enhancements">Validation Plugin Enhancements</h3>
<p>The validation plugin system has been significantly enhanced to provide greater flexibility for custom validation options.</p>
<h3 id="api-documentation">API Documentation</h3>
<p>The API documentation has been enhanced, and is now built automatically from the InvenTree codebase and included in the <a href="https://docs.inventree.org">InvenTree documentation</a>.</p>
<h2 id="bug-fixes">Bug Fixes</h2>
<p>Our commitment to bug fixes continues, with a number of issues resolved in this release cycle. For a full list of bug fixes, refer to the <a href="https://github.com/inventree/InvenTree/pulls?q=is%3Apr+is%3Aclosed+milestone%3A0.16.0+label%3Abug">GitHub project page</a>.</p>
<p>Many of these bugs have been identified and fixed by our community of users, and we are grateful for their ongoing support! If you identify a bug in InvenTree, please report it to us on our <a href="https://github.com/inventree/inventree/issues">GitHub issues page</a>.</p>
<h2 id="translation-support">Translation Support</h2>
<p>Our support for multiple languages continues to grow, and we are grateful to the many contributors who have helped us add new languages to InvenTree. To contribute to the translation effort, please refer our <a href="https://crowdin.com/project/inventree">Crowdin page</a>.</p>
<h2 id="new-contributors">New Contributors</h2>
<p>Once again, we are excited to welcome a number of new contributors to the InvenTree project. We are grateful for the time and effort that these contributors have put into the project, and we look forward to working with them in the future.</p>
<ul>
<li><a href="https://github.com/tsimonq2">@tsimonq2</a> made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/6449">#6449</a></li>
<li><a href="https://github.com/zanieb">@zanieb</a> made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/7317">#7317</a></li>
<li><a href="https://github.com/Gigahawk">@Gigahawk</a> made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/7480">#7480</a></li>
<li><a href="https://github.com/mp-strachan">@mp-strachan</a> made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/7488">#7488</a></li>
<li><a href="https://github.com/tomvaneyck">@tomvaneyck</a> made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/7610">#7610</a></li>
<li><a href="https://github.com/lifeisafractal">@lifeisafractal</a> made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/7651">#7651</a></li>
<li><a href="https://github.com/mredpath2">@mredpath2</a> made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/7563">#7563</a></li>
<li><a href="https://github.com/medo64">@medo64</a> made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/7760">#7760</a></li>
<li><a href="https://github.com/niclash">@niclash</a> made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/7801">#7801</a></li>
</ul>
<p>We welcome any new contributors to the project, and we are always looking for new people to help us improve InvenTree. If you are interested in contributing to the project, please refer to our <a href="/contribute.html">Contributing Guidelines</a>.</p>
<h2 id="100-release">1.0.0 Release</h2>
<p>We continue to push hard to reach the 1.0.0 release milestone. This release will mark a significant milestone in the InvenTree project, and we are excited to see it come to fruition. Fingers crossed that the next minor release will be the last one before our 1.0.0 release!</p>
<h3 id="user-interface-improvements-1">User Interface Improvements</h3>
<p>The new React interface remains a major hurdle to overcome before the 1.0.0 release. We are working hard to migrate all frontend code to React, and would greatly appreciate any help from the community in this effort. Any assistance with frontend development, testing, or bug fixing would be greatly appreciated. Please reach out via our GitHub page if you are interested in helping out.</p>
<h2 id="support-the-project">Support the Project</h2>
<p>As always, there are many ways to support the InvenTree project!</p>
<h3 id="translation">Translation</h3>
<p>We are always looking for new translators to help us add new languages to InvenTree. If you are fluent in a language other than English, please consider contributing to our translation effort on <a href="https://crowdin.com/project/inventree">Crowdin</a>.</p>
<h3 id="code-contributions">Code Contributions</h3>
<p>We welcome code contributions from the community. If you are interested in contributing to the InvenTree codebase, please refer to our <a href="/contribute.html#code">Contributing Guidelines</a>.</p>
<h3 id="report-bugs">Report Bugs</h3>
<p>If you find a bug in InvenTree, please report it to us on our <a href="https://github.com/inventree/inventree/issuse">GitHub issues page</a>. Reporting bugs is critical to improving the software, and we appreciate any help in identifying and fixing issues.</p>
<h3 id="documentation">Documentation</h3>
<p>Documenting a large software project is a challenging and ongoing effort. If you are able to provide assistance in improving the documentation set, please consider doing so! Documentation contributions can be made on <a href="https://github.com/inventree/InvenTree/tree/master/docs">GitHub</a>.</p>
<h3 id="financial-support">Financial Support</h3>
<p>If you or your company uses InvenTree, please consider sponsoring the project to show your support. 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!</p>
<p>A friendly reminder that the majority of 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!</p>
<ul>
<li><a href="https://polar.sh/inventree">Polar.sh</a></li>
<li><a href="https://github.com/sponsors/inventree">GitHub</a></li>
<li><a href="https://paypal.me/inventree?locale.x=en_AU">PayPal</a></li>
</ul>
<h2 id="deploying-inventree">Deploying InvenTree</h2>
<p>If you are new to the InvenTree project, there are multiple ways to deploy InvenTree for your own use. Please refer to the <a href="/deploy.html">deployment guide</a> for more information.</p>]]></content><author><name>SchrodingersGat</name></author><summary type="html"><![CDATA[The InvenTree development team is pleased to announce the release of InvenTree stable version 0.16.0. This release once again includes a wide range of new features, bug fixes, and improvements. We have closed out over 250 pull requests against this release target!]]></summary></entry><entry><title type="html">0.15.2 Bugfix Release</title><link href="/blog/2024/05/26/0.15.2" rel="alternate" type="text/html" title="0.15.2 Bugfix Release" /><published>2024-05-26T00:00:00+00:00</published><updated>2024-05-26T00:00:00+00:00</updated><id>/blog/2024/05/26/0.15.2</id><content type="html" xml:base="/blog/2024/05/26/0.15.2"><![CDATA[<p>The InvenTree team has just released version 0.15.2 which includes a patch for a critical security vulnerability.</p>
<h2 id="security-patch">Security Patch</h2>
<p>We have fixed a critical security vulnerability in the InvenTree codebase which was identified and reported by one of our users. For more information on this security advisory, please refer to <a href="https://github.com/inventree/InvenTree/security/advisories/GHSA-2crp-q9pc-457j">GHSA-2crp-q9pc-457j</a>.</p>
<h2 id="release-notes">Release Notes</h2>
<p>Releases notes for the 0.15.2 release can be found on <a href="https://github.com/inventree/InvenTree/releases/tag/0.15.2">our GitHub page</a></p>
<h2 id="security-policy">Security Policy</h2>
<p>We take security very seriously at InvenTree. If you identify a security vulnerability in the InvenTree codebase, please report it to us immediately. You can find more information on our <a href="https://github.com/inventree/InvenTree/blob/master/SECURITY.md">security policy</a>.</p>]]></content><author><name>SchrodingersGat</name></author><summary type="html"><![CDATA[The InvenTree team has just released version 0.15.2 which includes a patch for a critical security vulnerability.]]></summary></entry><entry><title type="html">0.15.0 Stable Release</title><link href="/blog/2024/05/14/0.15.0" rel="alternate" type="text/html" title="0.15.0 Stable Release" /><published>2024-05-14T00:00:00+00:00</published><updated>2024-05-14T00:00:00+00:00</updated><id>/blog/2024/05/14/0.15.0</id><content type="html" xml:base="/blog/2024/05/14/0.15.0"><![CDATA[<p>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 <a href="/blog/2024/03/02/0.14.0">0.14.0 stable release</a>, this release includes a wide range of new features, bug fixes, and improvements.</p>
<h2 id="breaking-changes">Breaking Changes</h2>
<h3 id="code-restructure">Code Restructure</h3>
<p>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.</p>
<p>The code is now split into two main directories:</p>
<ul>
<li><code class="language-plaintext highlighter-rouge">./src/backend/</code> contains all the server code (Python, Django)</li>
<li><code class="language-plaintext highlighter-rouge">./src/frontend/</code> contains all the client code (JavaScript, React)</li>
</ul>
<p>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.</p>
<p>You can read more about the code refactor in <a href="https://github.com/inventree/InvenTree/pull/5582">this PR</a>.</p>
<h2 id="security-patches">Security Patches</h2>
<p>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.</p>
<p>These patches include:</p>
<ul>
<li>Add OSSF Scorecard - <a href="https://github.com/inventree/InvenTree/pull/6769">#6769</a></li>
<li>Bump django from 4.2.10 to 4.2.11 - <a href="https://github.com/inventree/InvenTree/pull/6745">#6745</a></li>
<li>Pin hashes in requirement files <a href="https://github.com/inventree/InvenTree/pull/7081">#7081</a></li>
</ul>
<h2 id="new-features">New Features</h2>
<p>A number of significant new features and enhancements have been added in this release. Some of these new features are described below:</p>
<h3 id="template-editor">Template Editor</h3>
<p>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.</p>
<p>This presents a significant improvement over the previous template editing process, which required users to manually edit template files in an offline editor.</p>
<p>Full details can be found in <a href="https://github.com/inventree/InvenTree/pull/6541">this PR</a>.</p>
<h3 id="backup-and-restore-functionality">Backup and Restore Functionality</h3>
<p>Backup and restore functionality has been improved by adding new command line options for the <code class="language-plaintext highlighter-rouge">backup</code> and <code class="language-plaintext highlighter-rouge">restore</code> management commands. These commands allow users greater control when creating a backup of the InvenTree database, and restoring it at a later time.</p>
<h3 id="company-active-field">Company Active Field</h3>
<p>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.</p>
<p>Read more in <a href="https://github.com/inventree/InvenTree/pull/7024">this PR</a>.</p>
<h2 id="react-interface-development">React Interface Development</h2>
<p>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.</p>
<p>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.</p>
<h3 id="url-redirects">URL Redirects</h3>
<p>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.</p>
<p>Refer to <a href="https://github.com/inventree/InvenTree/pull/6872">this PR</a>.</p>
<h3 id="login-state-management">Login State Management</h3>
<p>Login management for the React frontend has received some significant updates in <a href="https://github.com/inventree/InvenTree/pull/7158">#7158</a>. This PR improves the login state management for the React frontend, and ensures that the login state is correctly maintained across the application.</p>
<h2 id="new-language-support">New Language Support</h2>
<p>We have added translation support for the following languages.</p>
<ul>
<li>Add Latvian language in <a href="https://github.com/inventree/InvenTree/pull/6749">#6749</a></li>
</ul>
<h2 id="devops-changes">Devops Changes</h2>
<p>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.</p>
<h3 id="code-coverage">Code Coverage</h3>
<p>We have moved our code coverage reporting to <a href="https://app.codecov.io/gh/inventree/InvenTree">codecov</a>. 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.</p>
<h3 id="playwright-tests">Playwright Tests</h3>
<p>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.</p>
<h2 id="bug-fixes">Bug Fixes</h2>
<p>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 <a href="https://github.com/inventree/InvenTree/pulls?q=is%3Apr+milestone%3A0.15.0+label%3Abug+">our GitHub page</a>.</p>
<h2 id="new-contributors">New Contributors</h2>
<p>Two new contributors have made their first contribution to the InvenTree project in this release:</p>
<ul>
<li>@XanderLuciano made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/6694">#6694</a></li>
<li>@emmanuel-ferdman made their first contribution in <a href="https://github.com/inventree/InvenTree/pull/7019">#7019</a></li>
</ul>
<p>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!</p>
<h2 id="release-notes">Release Notes</h2>
<p>For a full list of changes, please see the <a href="https://github.com/inventree/InvenTree/releases/tag/0.15.0">release notes on GitHub</a>.</p>
<h2 id="deploying-inventree">Deploying InvenTree</h2>
<p>If you are new to the InvenTree project, there are multiple ways to deploy InvenTree for your own use. Please refer to the <a href="/deploy.html">deployment guide</a> for more information.</p>]]></content><author><name>SchrodingersGat</name></author><summary type="html"><![CDATA[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.]]></summary></entry></feed>