diff --git a/LavissaWoW.html b/LavissaWoW.html index 660d5b78..28c0da99 100644 --- a/LavissaWoW.html +++ b/LavissaWoW.html @@ -30,11 +30,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Yes, WoW is for World of Warcraft","headline":"Lavissawow","mainEntityOfPage":{"@type":"WebPage","@id":"/LavissaWoW"},"url":"/LavissaWoW"} diff --git a/LavissaWoW/inventree-ipn-generator.html b/LavissaWoW/inventree-ipn-generator.html index 088982eb..9a84fbe5 100644 --- a/LavissaWoW/inventree-ipn-generator.html +++ b/LavissaWoW/inventree-ipn-generator.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"LavissaWoW"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Introduction Installing this plugin enables the automatic generation if Internal Part Numbers (IPN) for parts.","headline":"Inventree Ipn Generator","mainEntityOfPage":{"@type":"WebPage","@id":"/LavissaWoW/inventree-ipn-generator"},"url":"/LavissaWoW/inventree-ipn-generator"} diff --git a/SchrodingersGat/inventree-brother-plugin.html b/SchrodingersGat/inventree-brother-plugin.html index c62bc56c..b399ed71 100644 --- a/SchrodingersGat/inventree-brother-plugin.html +++ b/SchrodingersGat/inventree-brother-plugin.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Brother label printer plugin for InvenTree","headline":"Inventree Brother Plugin","mainEntityOfPage":{"@type":"WebPage","@id":"/SchrodingersGat/inventree-brother-plugin"},"url":"/SchrodingersGat/inventree-brother-plugin"} diff --git a/SchrodingersGat/inventree-consolidated-shipping.html b/SchrodingersGat/inventree-consolidated-shipping.html index f887f288..22f71e86 100644 --- a/SchrodingersGat/inventree-consolidated-shipping.html +++ b/SchrodingersGat/inventree-consolidated-shipping.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"InvenTree Consolidated Shipping Lines","headline":"InvenTree Consolidated Shipping Lines","mainEntityOfPage":{"@type":"WebPage","@id":"/SchrodingersGat/inventree-consolidated-shipping"},"url":"/SchrodingersGat/inventree-consolidated-shipping"} diff --git a/SchrodingersGat/inventree-harmonized-codes.html b/SchrodingersGat/inventree-harmonized-codes.html index a5695ce5..527ac7eb 100644 --- a/SchrodingersGat/inventree-harmonized-codes.html +++ b/SchrodingersGat/inventree-harmonized-codes.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Harmonized System Codes for InvenTree","headline":"Inventree Harmonized Codes","mainEntityOfPage":{"@type":"WebPage","@id":"/SchrodingersGat/inventree-harmonized-codes"},"url":"/SchrodingersGat/inventree-harmonized-codes"} diff --git a/SchrodingersGat/inventree-order-history.html b/SchrodingersGat/inventree-order-history.html index f461a9b5..db77c17e 100644 --- a/SchrodingersGat/inventree-order-history.html +++ b/SchrodingersGat/inventree-order-history.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Order History for InvenTree","headline":"Inventree Order History","mainEntityOfPage":{"@type":"WebPage","@id":"/SchrodingersGat/inventree-order-history"},"url":"/SchrodingersGat/inventree-order-history"} diff --git a/SchrodingersGat/inventree-rolling-stocktake.html b/SchrodingersGat/inventree-rolling-stocktake.html index 54e75c51..023fedf1 100644 --- a/SchrodingersGat/inventree-rolling-stocktake.html +++ b/SchrodingersGat/inventree-rolling-stocktake.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Rolling Stocktake for InvenTree","headline":"Inventree Rolling Stocktake","mainEntityOfPage":{"@type":"WebPage","@id":"/SchrodingersGat/inventree-rolling-stocktake"},"url":"/SchrodingersGat/inventree-rolling-stocktake"} diff --git a/SchrodingersGat/inventree-stock-forecasting.html b/SchrodingersGat/inventree-stock-forecasting.html index e0705b6a..ce001f45 100644 --- a/SchrodingersGat/inventree-stock-forecasting.html +++ b/SchrodingersGat/inventree-stock-forecasting.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Stock Forecasting for InvenTree","headline":"Inventree Stock Forecasting","mainEntityOfPage":{"@type":"WebPage","@id":"/SchrodingersGat/inventree-stock-forecasting"},"url":"/SchrodingersGat/inventree-stock-forecasting"} diff --git a/SchrodingersGat/inventree-test-statistics.html b/SchrodingersGat/inventree-test-statistics.html index 6933f319..aafa8eb7 100644 --- a/SchrodingersGat/inventree-test-statistics.html +++ b/SchrodingersGat/inventree-test-statistics.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Test Statistics for InvenTree","headline":"Inventree Test Statistics","mainEntityOfPage":{"@type":"WebPage","@id":"/SchrodingersGat/inventree-test-statistics"},"url":"/SchrodingersGat/inventree-test-statistics"} diff --git a/SchrodingersGat/inventree-wireviz.html b/SchrodingersGat/inventree-wireviz.html index d6779d2e..462a29e0 100644 --- a/SchrodingersGat/inventree-wireviz.html +++ b/SchrodingersGat/inventree-wireviz.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Wireviz Extension for InvenTree","headline":"Inventree Wireviz","mainEntityOfPage":{"@type":"WebPage","@id":"/SchrodingersGat/inventree-wireviz"},"url":"/SchrodingersGat/inventree-wireviz"} diff --git a/SergeoLacruz.html b/SergeoLacruz.html index a1b2a89f..9249ff92 100644 --- a/SergeoLacruz.html +++ b/SergeoLacruz.html @@ -30,11 +30,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Hardware engineer in Germany and vintage fan.","headline":"Sergeolacruz","mainEntityOfPage":{"@type":"WebPage","@id":"/SergeoLacruz"},"url":"/SergeoLacruz"} diff --git a/SergeoLacruz/inventree-supplier-panel.html b/SergeoLacruz/inventree-supplier-panel.html index 47041334..f7331be5 100644 --- a/SergeoLacruz/inventree-supplier-panel.html +++ b/SergeoLacruz/inventree-supplier-panel.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SergeoLacruz"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"The InvenTree-supplier-panel","headline":"Inventree Supplier Panel","mainEntityOfPage":{"@type":"WebPage","@id":"/SergeoLacruz/inventree-supplier-panel"},"url":"/SergeoLacruz/inventree-supplier-panel"} diff --git a/SergeoLacruz/inventree-zebra-plugin.html b/SergeoLacruz/inventree-zebra-plugin.html index 9b892372..27d25564 100644 --- a/SergeoLacruz/inventree-zebra-plugin.html +++ b/SergeoLacruz/inventree-zebra-plugin.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SergeoLacruz"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Zebra Label Printer Plugin for Inventree","headline":"Inventree Zebra Plugin","mainEntityOfPage":{"@type":"WebPage","@id":"/SergeoLacruz/inventree-zebra-plugin"},"url":"/SergeoLacruz/inventree-zebra-plugin"} diff --git a/afkiwers/inventree-kicad.html b/afkiwers/inventree-kicad.html index 5ab06d1a..5d19d57f 100644 --- a/afkiwers/inventree-kicad.html +++ b/afkiwers/inventree-kicad.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"afkiwers"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"KiCad Integration for InvenTree","headline":"Inventree Kicad","mainEntityOfPage":{"@type":"WebPage","@id":"/afkiwers/inventree-kicad"},"url":"/afkiwers/inventree-kicad"} diff --git a/afwkiers.html b/afwkiers.html index 9185f7ed..06378dc6 100644 --- a/afwkiers.html +++ b/afwkiers.html @@ -30,11 +30,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"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.","headline":"Afwkiers","mainEntityOfPage":{"@type":"WebPage","@id":"/afwkiers"},"url":"/afwkiers"} diff --git a/assets/blog/db_update_compose.png b/assets/blog/db_update_compose.png new file mode 100644 index 00000000..90a7208d Binary files /dev/null and b/assets/blog/db_update_compose.png differ diff --git a/assets/blog/db_update_data.png b/assets/blog/db_update_data.png new file mode 100644 index 00000000..76cde4ac Binary files /dev/null and b/assets/blog/db_update_data.png differ diff --git a/assets/blog/db_update_docker.png b/assets/blog/db_update_docker.png new file mode 100644 index 00000000..41b8e270 Binary files /dev/null and b/assets/blog/db_update_docker.png differ diff --git a/assets/blog/db_update_env.png b/assets/blog/db_update_env.png new file mode 100644 index 00000000..51ca5373 Binary files /dev/null and b/assets/blog/db_update_env.png differ diff --git a/assets/blog/db_update_new_inventree.png b/assets/blog/db_update_new_inventree.png new file mode 100644 index 00000000..3eb8c25e Binary files /dev/null and b/assets/blog/db_update_new_inventree.png differ diff --git a/assets/blog/db_update_new_postgres.png b/assets/blog/db_update_new_postgres.png new file mode 100644 index 00000000..040d1dcf Binary files /dev/null and b/assets/blog/db_update_new_postgres.png differ diff --git a/assets/blog/db_update_new_versions.png b/assets/blog/db_update_new_versions.png new file mode 100644 index 00000000..1068243d Binary files /dev/null and b/assets/blog/db_update_new_versions.png differ diff --git a/assets/blog/db_update_old_versions.png b/assets/blog/db_update_old_versions.png new file mode 100644 index 00000000..6e68d97b Binary files /dev/null and b/assets/blog/db_update_old_versions.png differ diff --git a/blog.html b/blog.html index 62dcd7f6..bfc94bac 100644 --- a/blog.html +++ b/blog.html @@ -66,6 +66,16 @@ +
+

+ Database Update Procedure +

+ In our recent 1.2.0 release, we updated our underlying django version to from 4.2 to 5.2. + 12 Feb 2026 | + +Oliver +
+

1.2.0 Release diff --git a/blog/2026/02/12/1.2.0.html b/blog/2026/02/12/1.2.0.html index c3724d1f..19a9ab38 100644 --- a/blog/2026/02/12/1.2.0.html +++ b/blog/2026/02/12/1.2.0.html @@ -94,7 +94,16 @@

Django Update

-

#10730 updated the core Django version to 5.2 lts. As part of this update, the minimum required python version has been increased to 3.11.

+

#10730 updated the core Django version to 5.2 lts.

+ +

As part of this update, the following breaking changes have been introduced:

+ +

PostgreSQL 14

+ +

The minimum supported version of PostgreSQL has been increased to 14. This means that users running PostgreSQL 13 will need to perform a manual update of their database in order to continue using InvenTree with the latest version. For more information, please refer to our update guide for a walkthrough of the database update procedure.

+ +

Python 3.11

+

The minimum supported python version has been increased to 3.11. This means that users running Python 3.10 or earlier will need to update their python installation in order to run InvenTree 1.2.0.

API changes

diff --git a/blog/2026/02/12/db-update.html b/blog/2026/02/12/db-update.html new file mode 100644 index 00000000..1bda9e89 --- /dev/null +++ b/blog/2026/02/12/db-update.html @@ -0,0 +1,306 @@ + + + + + + + + + + + + + + + + + +InvenTree - Database Update Procedure + + + +Database Update Procedure | InvenTree + + + + + + + + + + + + + + + + + + + +
+
+
+ + logo + InvenTree + + +
+ + + + +
+
+ + + go back + Back + + +
+ +
+

Database Update Procedure

+

+ 12 Feb 2026 + + +Oliver +

+

In our recent 1.2.0 release, we updated our underlying django version to from 4.2 to 5.2.

+ +

For users running with a PostgreSQL database, Django 5.2 requires a minimum version of PostgreSQL 14. This means that users running PostgreSQL 13 will need to perform a manual update of their database in order to continue using InvenTree with the latest version.

+ +

If you are attempting to update to InvenTree 1.2.0 while still running PostgreSQL 13, you will encounter the following error message:

+ +
django.db.utils.NotSupportedError: PostgreSQL 14 or later is required (found 13.23).
+
+ +

In such a case, you will need to perform a database update procedure to migrate your existing database from PostgreSQL 13 to PostgreSQL 14 (or later). This process involves backing up your existing database, installing the new version of PostgreSQL, and then restoring your data into the new database.

+ +

Migration Guide

+ +

Our documentation provides a detailed database migration guide to assist users with this process. We recommend that users perform a backup of their database before attempting the migration, and follow the instructions carefully to ensure a smooth transition to the new database version.

+ +

Following is an example of the steps involved in migrating an InvenTree installation from a PostgreSQL 13 database to a PostgreSQL 17 database, in the context of a docker installation. The same principles apply for non-docker installations, but the particular commands may differ.

+ +

PostgreSQL 17 is recommended as the target version, as it is supported by both the 1.1.x and 1.2.x versions of InvenTree.

+ +

Starting Conditions

+ +

The starting conditions for this migration are as follows:

+ +
    +
  • InvenTree is installed via docker / docker compose (as per the docker installation instructions)
  • +
  • The InvenTree version is pinned to 1.1.12 in the .env file
  • +
  • The database is running PostgreSQL 13 (set via the docker-compose.yml file).
  • +
+ +

.env file

+ +

.docker-compose.yml file

+ +

We also have a data directory, external to the docker containers, with the following structure:

+ +

Data directory

+ +

Target Conditions

+ +

The new installation will be running InvenTree 1.2.0 with PostgreSQL 17

+ +

Step 1. Perform Backup

+ +

The first step is to perform a backup of the existing database. This step must be performed with the old setup (postgres 13 / InvenTree 1.1.12), before we perform any updates to the software.

+ +

First, let’s confirm that we are running the expected version of InvenTree (1.1.12).

+ +

Old Setup

+ +

To perform the backup, we run the following command:

+ +
docker compose run --rm inventree-server invoke backup
+
+ +

This will create a backup of the database and media files in the data/backup directory.

+ +

Confirm that the backup files have been created before continuing to the next step.

+ +

Step 2. Move Database Directory

+ +

The PostgreSQL database files are stored in the data/pgdb directory. We need to remove these files, as they are specific to PostgreSQL 13 and will not be compatible with PostgreSQL 17. Rather than deleting them, we will move them to a backup location, just in case we need to revert back to the old setup.

+ +
mv data/pgdb data/pgdb_backup
+
+ +

Confirm that the pgdb directory has been moved to the backup location before continuing to the next step. The pgdb directory should no longer exist in the data directory.

+ +

Step 3. Update PostgreSQL Version

+ +

Next, we need to update the PostgreSQL version in the docker-compose.yml file. Change the version from 13 to 17:

+ +

Update PostgreSQL version

+ +

Pull down the updated docker images:

+ +
docker compose pull
+
+ +

Step 4. Restore Data from Backup

+ +

Now we can restore the data from the backup we created previously, into the new PostgreSQL 17 database. Run the following commands:

+ +
docker compose run --rm inventree-server invoke migrate
+docker compose run --rm inventree-server invoke restore
+
+ +

This will restore the database and media files from the backup we created previously.

+ +

Step 5. Update InvenTree Version

+ +

Next, we need to update the InvenTree version in the .env file. Change the version from 1.1.12 to 1.2.0:

+ +

Update InvenTree version

+ +

Then, we need to pull down the updated InvenTree server image:

+ +
docker compose pull
+
+ +

Next, run the InvenTree update procedure:

+ +
docker compose run --rm inventree-server invoke update
+
+ +

Step 6. Verify New Setup

+ +

Finally, we can start the new setup and verify that everything is working as expected.

+ +
docker compose up -d
+
+ +

Then, you should be able to access your InvenTree instance again, and confirm that you are running the new version (1.2.0):

+ +

New Setup

+ +

We can also see that the correct versions of both PostgreSQL and InvenTree are running in the docker containers:

+ +

Docker containers

+ +

Step 7. Celebrate!

+ +

Congratulations! You have successfully migrated your InvenTree installation to the latest version, with an updated PostgreSQL database. You can now enjoy the new features and improvements that come with InvenTree 1.2.0, while also benefiting from the enhanced performance and security of PostgreSQL 17.

+ +

Please consider sponsoring the project, to help us continue to maintain and improve InvenTree for all users. Your support is greatly appreciated!

+ + +
+
+ +
+
+ + +
+ + + diff --git a/blog/feed.atom b/blog/feed.atom index 92213e21..61296c55 100644 --- a/blog/feed.atom +++ b/blog/feed.atom @@ -1,4 +1,4 @@ -Jekyll2026-02-14T20:39:42+00:00/blog/feed.atomInvenTreeInvenTree 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.1.2.0 Release2026-02-12T00:00:00+00:002026-02-12T00:00:00+00:00/blog/2026/02/12/1.2.0The InvenTree team is excited to announce the release of version 1.2.0. Attention: This release has no support for PostgreSQL 13 - our docs contain information regading PostgreSQL updates. At least PostgreSQL 14 is required, we recommend PostgreSQL 18.

+Jekyll2026-02-14T23:57:44+00:00/blog/feed.atomInvenTreeInvenTree 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.1.2.0 Release2026-02-12T00:00:00+00:002026-02-12T00:00:00+00:00/blog/2026/02/12/1.2.0The InvenTree team is excited to announce the release of version 1.2.0. Attention: This release has no support for PostgreSQL 13 - our docs contain information regading PostgreSQL updates. At least PostgreSQL 14 is required, we recommend PostgreSQL 18.

This release includes numerous new features, improvements, and bug fixes.

@@ -16,7 +16,16 @@

Django Update

-

#10730 updated the core Django version to 5.2 lts. As part of this update, the minimum required python version has been increased to 3.11.

+

#10730 updated the core Django version to 5.2 lts.

+ +

As part of this update, the following breaking changes have been introduced:

+ +

PostgreSQL 14

+ +

The minimum supported version of PostgreSQL has been increased to 14. This means that users running PostgreSQL 13 will need to perform a manual update of their database in order to continue using InvenTree with the latest version. For more information, please refer to our update guide for a walkthrough of the database update procedure.

+ +

Python 3.11

+

The minimum supported python version has been increased to 3.11. This means that users running Python 3.10 or earlier will need to update their python installation in order to run InvenTree 1.2.0.

API changes

@@ -90,7 +99,130 @@

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.

]]>
SchrodingersGat
1.1.0 Release2025-11-02T00:00:00+00:002025-11-02T00:00:00+00:00/blog/2025/11/02/1.1.0The InvenTree team is excited to announce the release of version 1.1.0.

+

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

]]>
SchrodingersGat
Database Update Procedure2026-02-12T00:00:00+00:002026-02-12T00:00:00+00:00/blog/2026/02/12/db-updateIn our recent 1.2.0 release, we updated our underlying django version to from 4.2 to 5.2.

+ +

For users running with a PostgreSQL database, Django 5.2 requires a minimum version of PostgreSQL 14. This means that users running PostgreSQL 13 will need to perform a manual update of their database in order to continue using InvenTree with the latest version.

+ +

If you are attempting to update to InvenTree 1.2.0 while still running PostgreSQL 13, you will encounter the following error message:

+ +
django.db.utils.NotSupportedError: PostgreSQL 14 or later is required (found 13.23).
+
+ +

In such a case, you will need to perform a database update procedure to migrate your existing database from PostgreSQL 13 to PostgreSQL 14 (or later). This process involves backing up your existing database, installing the new version of PostgreSQL, and then restoring your data into the new database.

+ +

Migration Guide

+ +

Our documentation provides a detailed database migration guide to assist users with this process. We recommend that users perform a backup of their database before attempting the migration, and follow the instructions carefully to ensure a smooth transition to the new database version.

+ +

Following is an example of the steps involved in migrating an InvenTree installation from a PostgreSQL 13 database to a PostgreSQL 17 database, in the context of a docker installation. The same principles apply for non-docker installations, but the particular commands may differ.

+ +

PostgreSQL 17 is recommended as the target version, as it is supported by both the 1.1.x and 1.2.x versions of InvenTree.

+ +

Starting Conditions

+ +

The starting conditions for this migration are as follows:

+ +
    +
  • InvenTree is installed via docker / docker compose (as per the docker installation instructions)
  • +
  • The InvenTree version is pinned to 1.1.12 in the .env file
  • +
  • The database is running PostgreSQL 13 (set via the docker-compose.yml file).
  • +
+ +

.env file

+ +

.docker-compose.yml file

+ +

We also have a data directory, external to the docker containers, with the following structure:

+ +

Data directory

+ +

Target Conditions

+ +

The new installation will be running InvenTree 1.2.0 with PostgreSQL 17

+ +

Step 1. Perform Backup

+ +

The first step is to perform a backup of the existing database. This step must be performed with the old setup (postgres 13 / InvenTree 1.1.12), before we perform any updates to the software.

+ +

First, let’s confirm that we are running the expected version of InvenTree (1.1.12).

+ +

Old Setup

+ +

To perform the backup, we run the following command:

+ +
docker compose run --rm inventree-server invoke backup
+
+ +

This will create a backup of the database and media files in the data/backup directory.

+ +

Confirm that the backup files have been created before continuing to the next step.

+ +

Step 2. Move Database Directory

+ +

The PostgreSQL database files are stored in the data/pgdb directory. We need to remove these files, as they are specific to PostgreSQL 13 and will not be compatible with PostgreSQL 17. Rather than deleting them, we will move them to a backup location, just in case we need to revert back to the old setup.

+ +
mv data/pgdb data/pgdb_backup
+
+ +

Confirm that the pgdb directory has been moved to the backup location before continuing to the next step. The pgdb directory should no longer exist in the data directory.

+ +

Step 3. Update PostgreSQL Version

+ +

Next, we need to update the PostgreSQL version in the docker-compose.yml file. Change the version from 13 to 17:

+ +

Update PostgreSQL version

+ +

Pull down the updated docker images:

+ +
docker compose pull
+
+ +

Step 4. Restore Data from Backup

+ +

Now we can restore the data from the backup we created previously, into the new PostgreSQL 17 database. Run the following commands:

+ +
docker compose run --rm inventree-server invoke migrate
+docker compose run --rm inventree-server invoke restore
+
+ +

This will restore the database and media files from the backup we created previously.

+ +

Step 5. Update InvenTree Version

+ +

Next, we need to update the InvenTree version in the .env file. Change the version from 1.1.12 to 1.2.0:

+ +

Update InvenTree version

+ +

Then, we need to pull down the updated InvenTree server image:

+ +
docker compose pull
+
+ +

Next, run the InvenTree update procedure:

+ +
docker compose run --rm inventree-server invoke update
+
+ +

Step 6. Verify New Setup

+ +

Finally, we can start the new setup and verify that everything is working as expected.

+ +
docker compose up -d
+
+ +

Then, you should be able to access your InvenTree instance again, and confirm that you are running the new version (1.2.0):

+ +

New Setup

+ +

We can also see that the correct versions of both PostgreSQL and InvenTree are running in the docker containers:

+ +

Docker containers

+ +

Step 7. Celebrate!

+ +

Congratulations! You have successfully migrated your InvenTree installation to the latest version, with an updated PostgreSQL database. You can now enjoy the new features and improvements that come with InvenTree 1.2.0, while also benefiting from the enhanced performance and security of PostgreSQL 17.

+ +

Please consider sponsoring the project, to help us continue to maintain and improve InvenTree for all users. Your support is greatly appreciated!

]]>
SchrodingersGat
1.1.0 Release2025-11-02T00:00:00+00:002025-11-02T00:00:00+00:00/blog/2025/11/02/1.1.0The InvenTree team is excited to announce the release of version 1.1.0.

This is the first major update since our 1.0.0 stable release, and includes numerous new features, improvements, and bug fixes to enhance your experience with InvenTree.

@@ -686,14 +818,4 @@ Refer to the pull req

Release Notes

-

View the release notes for more information.

]]>
SchrodingersGat
0.16.8 Release2024-11-07T00:00:00+00:002024-11-07T00:00:00+00:00/blog/2024/11/07/0.16.8We 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.

- -

Missing Translation Files

- -

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.

- -

Release Notes

- -

View the release notes

]]>
SchrodingersGat
\ No newline at end of file +

View the release notes for more information.

]]>
SchrodingersGat
\ No newline at end of file diff --git a/extend/app.html b/extend/app.html index db38bd5f..1f40a6fe 100644 --- a/extend/app.html +++ b/extend/app.html @@ -313,6 +313,22 @@ + + + + + + + + + + + + + + + + diff --git a/functions.html b/functions.html index 9655bfe0..17952e3e 100644 --- a/functions.html +++ b/functions.html @@ -222,6 +222,22 @@ + + + + + + + + + + + + + + + + diff --git a/lippoliv.html b/lippoliv.html index bf3b6299..fe4f8b74 100644 --- a/lippoliv.html +++ b/lippoliv.html @@ -30,11 +30,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"With over 15 years of experience and big big passion I learned to take care about the details. They build up to the big picture we have in mind. I’m planning ahead & act early to prevent a big bang.","headline":"Lippoliv","mainEntityOfPage":{"@type":"WebPage","@id":"/lippoliv"},"url":"/lippoliv"} diff --git a/lippoliv/inventree-default-salesorder-items.html b/lippoliv/inventree-default-salesorder-items.html index 1779d4c5..8a4e1cf4 100644 --- a/lippoliv/inventree-default-salesorder-items.html +++ b/lippoliv/inventree-default-salesorder-items.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"lippoliv"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Add default parts (configurable) to every newly created sales order automatically.","headline":"Inventree Default Salesorder Items","mainEntityOfPage":{"@type":"WebPage","@id":"/lippoliv/inventree-default-salesorder-items"},"url":"/lippoliv/inventree-default-salesorder-items"} diff --git a/matmair.html b/matmair.html index 4ede3011..21c29731 100644 --- a/matmair.html +++ b/matmair.html @@ -30,11 +30,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"I try to build an ecosystem of reusable plugins and integrations for InvenTree. Code once and KISS!","headline":"Matmair","mainEntityOfPage":{"@type":"WebPage","@id":"/matmair"},"url":"/matmair"} diff --git a/matmair/inventree-apprise.html b/matmair/inventree-apprise.html index dbef4014..3dbbe638 100644 --- a/matmair/inventree-apprise.html +++ b/matmair/inventree-apprise.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"matmair"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Send notifications from InvenTree via Apprise","headline":"Inventree Apprise","mainEntityOfPage":{"@type":"WebPage","@id":"/matmair/inventree-apprise"},"url":"/matmair/inventree-apprise"} diff --git a/matmair/inventree-rapidoc.html b/matmair/inventree-rapidoc.html index 78c2c19b..c1b1970c 100644 --- a/matmair/inventree-rapidoc.html +++ b/matmair/inventree-rapidoc.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"matmair"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Use RapiDoc for Inventree API docs.","headline":"Inventree Rapidoc","mainEntityOfPage":{"@type":"WebPage","@id":"/matmair/inventree-rapidoc"},"url":"/matmair/inventree-rapidoc"} diff --git a/matmair/inventree-zapier.html b/matmair/inventree-zapier.html index 945e5676..af2b1c29 100644 --- a/matmair/inventree-zapier.html +++ b/matmair/inventree-zapier.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"matmair"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Integrate Zapier into InvenTree","headline":"Inventree Zapier","mainEntityOfPage":{"@type":"WebPage","@id":"/matmair/inventree-zapier"},"url":"/matmair/inventree-zapier"} diff --git a/melektron.html b/melektron.html index dcb1a966..692de29f 100644 --- a/melektron.html +++ b/melektron.html @@ -30,11 +30,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Juggling with bits and bytes for fun and profit ;) (and also electrons if I feel like it)","headline":"Melektron","mainEntityOfPage":{"@type":"WebPage","@id":"/melektron"},"url":"/melektron"} diff --git a/melektron/inventree-adv-sheet-label.html b/melektron/inventree-adv-sheet-label.html index fb4c3283..ea3f712a 100644 --- a/melektron/inventree-adv-sheet-label.html +++ b/melektron/inventree-adv-sheet-label.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"melektron"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"A label printing plugin for InvenTree which provides support for printing labels on off-the-shelf label sheet layouts and adds some more useful features compared to the sheet label plugin included with InvenTree.","headline":"Inventree Adv Sheet Label","mainEntityOfPage":{"@type":"WebPage","@id":"/melektron/inventree-adv-sheet-label"},"url":"/melektron/inventree-adv-sheet-label"} diff --git a/news/feed.atom b/news/feed.atom index 9ea2737b..db3fb7e1 100644 --- a/news/feed.atom +++ b/news/feed.atom @@ -1,4 +1,4 @@ -Jekyll2026-02-14T20:39:42+00:00/news/feed.atomInvenTree | NewsInvenTree 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.1.2.0 Release2026-02-12T00:00:00+00:002026-02-12T00:00:00+00:00/news/2026/02/12/1.2.01.2.0 Release +Jekyll2026-02-14T23:57:44+00:00/news/feed.atomInvenTree | NewsInvenTree 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.1.2.0 Release2026-02-12T00:00:00+00:002026-02-12T00:00:00+00:00/news/2026/02/12/1.2.01.2.0 Release

The InvenTree team is excited to announce the release of version 1.2.0! This update brings a host of new features, improvements, and bug fixes to enhance your experience.

diff --git a/piramja.html b/piramja.html index 3a92058a..9731d79c 100644 --- a/piramja.html +++ b/piramja.html @@ -30,11 +30,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"And in the end, we have no choice but to embrace the chaos and laugh about it.","headline":"Piramja","mainEntityOfPage":{"@type":"WebPage","@id":"/piramja"},"url":"/piramja"} diff --git a/piramja/inventree-niimbot-plugin.html b/piramja/inventree-niimbot-plugin.html index 208de4c5..ca5246d4 100644 --- a/piramja/inventree-niimbot-plugin.html +++ b/piramja/inventree-niimbot-plugin.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"piramja"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Introduction A label printing plugin for InvenTree, which provides support for the Niimbot Label Printers. This plugin is based on the amazing work from labbots/NiimPrintX and modifications from LorisPolenz/NiimPrintX.","headline":"Inventree Niimbot Plugin","mainEntityOfPage":{"@type":"WebPage","@id":"/piramja/inventree-niimbot-plugin"},"url":"/piramja/inventree-niimbot-plugin"} diff --git a/plugins.json b/plugins.json index 20c5d292..7dc24f65 100644 --- a/plugins.json +++ b/plugins.json @@ -3,7 +3,7 @@ "/melektron/inventree-adv-sheet-label": { "name": "InvenTree Advanced Sheet Label", "author": "melektron", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -25,7 +25,7 @@ "/matmair/inventree-apprise": { "name": "InvenTree Apprise", "author": "matmair", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -47,7 +47,7 @@ "/SchrodingersGat/inventree-brother-plugin": { "name": "inventree-brother-plugin", "author": "SchrodingersGat", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": false, @@ -69,7 +69,7 @@ "/wolflu05/inventree-bulk-plugin": { "name": "inventree-bulk-plugin", "author": "wolflu05", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -91,7 +91,7 @@ "/SchrodingersGat/inventree-consolidated-shipping": { "name": "inventree-consolidated-shipment-lines", "author": "SchrodingersGat", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -113,7 +113,7 @@ "/wolflu05/inventree-cups-plugin": { "name": "inventree-cups-plugin", "author": "wolflu05", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -135,7 +135,7 @@ "/lippoliv/inventree-default-salesorder-items": { "name": "Default sales order items", "author": "lippoliv", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -157,7 +157,7 @@ "/wolflu05/inventree-dymo-plugin": { "name": "inventree-dymo-plugin", "author": "wolflu05", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "GPL-3.0+", "stable": true, @@ -179,7 +179,7 @@ "/SchrodingersGat/inventree-harmonized-codes": { "name": "inventree-harmonized-codes", "author": "SchrodingersGat", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -201,7 +201,7 @@ "/LavissaWoW/inventree-ipn-generator": { "name": "inventree-ipn-generator", "author": "LavissaWoW", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -223,7 +223,7 @@ "/afkiwers/inventree-kicad": { "name": "inventree-kicad-plugin", "author": "afkiwers", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -245,7 +245,7 @@ "/piramja/inventree-niimbot-plugin": { "name": "inventree-niimbot-plugin", "author": "piramja", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -267,7 +267,7 @@ "/SchrodingersGat/inventree-order-history": { "name": "inventree-order-history", "author": "SchrodingersGat", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -289,7 +289,7 @@ "/matmair/inventree-rapidoc": { "name": "Inventree RapiDoc", "author": "matmair", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT license", "stable": true, @@ -311,7 +311,7 @@ "/wolflu05/inventree-report-lsp-plugin": { "name": "inventree-report-lsp-plugin", "author": "wolflu05", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "GPL-3.0+", "stable": true, @@ -333,7 +333,7 @@ "/SchrodingersGat/inventree-rolling-stocktake": { "name": "inventree-rolling-stocktake", "author": "SchrodingersGat", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -355,7 +355,7 @@ "/SchrodingersGat/inventree-stock-forecasting": { "name": "inventree-stock-forecasting", "author": "SchrodingersGat", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -377,7 +377,7 @@ "/SergeoLacruz/inventree-supplier-panel": { "name": "inventree-supplier-panel", "author": "SergeoLacruz", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -399,7 +399,7 @@ "/SchrodingersGat/inventree-test-statistics": { "name": "inventree-test-statistics", "author": "SchrodingersGat", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -421,7 +421,7 @@ "/SchrodingersGat/inventree-wireviz": { "name": "inventree-wireviz-plugin", "author": "SchrodingersGat", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -443,7 +443,7 @@ "/matmair/inventree-zapier": { "name": "inventree-zapier", "author": "matmair", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": false, @@ -465,7 +465,7 @@ "/SergeoLacruz/inventree-zebra-plugin": { "name": "inventree-zebra-plugin", "author": "SergeoLacruz", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "MIT", "stable": true, @@ -487,7 +487,7 @@ "/wolflu05/inventree-zebra": { "name": "inventree-zebra", "author": "wolflu05", - "last_modified": "2026-02-14 20:39:26 +0000", + "last_modified": "2026-02-14 23:57:30 +0000", "open_source": null, "license": "GPL-3.0+", "stable": true, diff --git a/schrodingersgat.html b/schrodingersgat.html index d1fa0528..894ee134 100644 --- a/schrodingersgat.html +++ b/schrodingersgat.html @@ -30,11 +30,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Maintainer of InvenTree.","headline":"Schrodingersgat","mainEntityOfPage":{"@type":"WebPage","@id":"/schrodingersgat"},"url":"/schrodingersgat"} @@ -96,6 +96,9 @@

Posts

    +
  • 12 Feb 2026 Database Update Procedure +
  • +
  • 12 Feb 2026 1.2.0 Release
  • diff --git a/sitemap.xml b/sitemap.xml index 24e2c674..971d55d1 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -229,132 +229,136 @@ 2026-02-12T00:00:00+00:00 +/blog/2026/02/12/db-update +2026-02-12T00:00:00+00:00 + + /LavissaWoW -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SergeoLacruz -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /afwkiers -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /lippoliv -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /matmair -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /melektron -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /piramja -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /schrodingersgat -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /wolflu05 -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /melektron/inventree-adv-sheet-label -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /matmair/inventree-apprise -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SchrodingersGat/inventree-brother-plugin -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /wolflu05/inventree-bulk-plugin -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SchrodingersGat/inventree-consolidated-shipping -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /wolflu05/inventree-cups-plugin -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /lippoliv/inventree-default-salesorder-items -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /wolflu05/inventree-dymo-plugin -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SchrodingersGat/inventree-harmonized-codes -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /LavissaWoW/inventree-ipn-generator -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /afkiwers/inventree-kicad -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /piramja/inventree-niimbot-plugin -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SchrodingersGat/inventree-order-history -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /matmair/inventree-rapidoc -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /wolflu05/inventree-report-lsp-plugin -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SchrodingersGat/inventree-rolling-stocktake -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SchrodingersGat/inventree-stock-forecasting -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SergeoLacruz/inventree-supplier-panel -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SchrodingersGat/inventree-test-statistics -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SchrodingersGat/inventree-wireviz -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /matmair/inventree-zapier -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /SergeoLacruz/inventree-zebra-plugin -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /wolflu05/inventree-zebra -2026-02-14T20:39:42+00:00 +2026-02-14T23:57:44+00:00 /404 diff --git a/wolflu05.html b/wolflu05.html index fab19c51..667b76b9 100644 --- a/wolflu05.html +++ b/wolflu05.html @@ -30,11 +30,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"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.","headline":"Wolflu05","mainEntityOfPage":{"@type":"WebPage","@id":"/wolflu05"},"url":"/wolflu05"} diff --git a/wolflu05/inventree-bulk-plugin.html b/wolflu05/inventree-bulk-plugin.html index e3ed7891..c121721c 100644 --- a/wolflu05/inventree-bulk-plugin.html +++ b/wolflu05/inventree-bulk-plugin.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"wolflu05"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Bulk creation plugin for InvenTree","headline":"Inventree Bulk Plugin","mainEntityOfPage":{"@type":"WebPage","@id":"/wolflu05/inventree-bulk-plugin"},"url":"/wolflu05/inventree-bulk-plugin"} diff --git a/wolflu05/inventree-cups-plugin.html b/wolflu05/inventree-cups-plugin.html index e871c787..8f47b937 100644 --- a/wolflu05/inventree-cups-plugin.html +++ b/wolflu05/inventree-cups-plugin.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"wolflu05"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Label printing plugin for generic cups printers","headline":"Inventree Cups Plugin","mainEntityOfPage":{"@type":"WebPage","@id":"/wolflu05/inventree-cups-plugin"},"url":"/wolflu05/inventree-cups-plugin"} diff --git a/wolflu05/inventree-dymo-plugin.html b/wolflu05/inventree-dymo-plugin.html index 0bc2bef2..53a08d5b 100644 --- a/wolflu05/inventree-dymo-plugin.html +++ b/wolflu05/inventree-dymo-plugin.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"wolflu05"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Dymo label printer driver plugin for InvenTree","headline":"Inventree Dymo Plugin","mainEntityOfPage":{"@type":"WebPage","@id":"/wolflu05/inventree-dymo-plugin"},"url":"/wolflu05/inventree-dymo-plugin"} diff --git a/wolflu05/inventree-report-lsp-plugin.html b/wolflu05/inventree-report-lsp-plugin.html index bb516db8..3896db3c 100644 --- a/wolflu05/inventree-report-lsp-plugin.html +++ b/wolflu05/inventree-report-lsp-plugin.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"wolflu05"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"A report editor with auto completion, diagnostic messages and many more capabilities to help with creating custom templates, powered by django-template-lsp.","headline":"Inventree Report Lsp Plugin","mainEntityOfPage":{"@type":"WebPage","@id":"/wolflu05/inventree-report-lsp-plugin"},"url":"/wolflu05/inventree-report-lsp-plugin"} diff --git a/wolflu05/inventree-zebra.html b/wolflu05/inventree-zebra.html index 073abf33..1e10a6fc 100644 --- a/wolflu05/inventree-zebra.html +++ b/wolflu05/inventree-zebra.html @@ -31,11 +31,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"wolflu05"},"dateModified":"2026-02-14T23:57:44+00:00","datePublished":"2026-02-14T23:57:44+00:00","description":"Zebra label printer driver plugin for InvenTree","headline":"Inventree Zebra","mainEntityOfPage":{"@type":"WebPage","@id":"/wolflu05/inventree-zebra"},"url":"/wolflu05/inventree-zebra"}