Commit Graph

2191 Commits

Author SHA1 Message Date
Oliver 756c0be0b5
[db] Backend setting improvements (#11500)
* Refactor database engine options

- Move to setting/db_backend.py
- Cleanup settings.py

* Fix documentation for postgres settings

* docs updates

* Add transaction_mode options for sqlite

* Update CHANGELOG with breaking changes

* Remove hard-coded database config

* Raise error on invalid backend

* Fix typos

* Fix broken redis link

* Limit to single worker thread for sqlite

* Update docs

* Add verbosity switch to dev.test task

* Add test timeout - kill hanging tests after 120s

* Set WAL mode for sqlite

* Use IMMEDIATE mode for background worker thread

* Use config to set WAL rather than custom hook

* Tweak pyproject settings

* Tweak code

* Increase timeouts

* Reset requirements to master
2026-03-18 00:01:17 +11:00
Matthias Mair ab116309b3
chore(backend): fix isGenerating detection (#11548) 2026-03-18 00:00:33 +11:00
Oliver 84cd81d9a8
Build consume fix (#11529)
* Add new build task

* Refactor background task for consuming build stock

- Run as a single task
- Improve query efficiency

* Refactor consuming stock against build via API

- Return task_id for monitoring
- Keep frontend updated

* Task tracking for auto-allocation

* Add e2e integration tests:

- Auto-allocate stock
- Consume stock

* Bump API version

* Playwright test fixes

* Adjust unit tests

* Robustify unit test

* Widen test scope

* Adjust playwright test

* Loosen test requirements again

* idk, another change :|

* Robustify test
2026-03-17 20:51:12 +11:00
Matthias Mair 97aec82d33
bump PyJWT (#11532)
fixes https://github.com/inventree/InvenTree/security/dependabot/386
2026-03-15 22:03:45 +11:00
Oliver 609a3f4a36
[UI] Library fix (#11530)
* Ensure "lib" is built as part of CI

* Fix useMonitorBackgroundTask hook
2026-03-15 15:37:56 +11:00
Oliver 6830ba5efe
[API] Monitor task (#11527)
* Enhance docstring

* Return the ID of an offloaded task

* Add API endpoint for background task detail

* Add UI hook for monitoring background task  progress

* Handle queued tasks (not yet started)

* Improve UX

* Update frontend lib version

* Bump API version

* Fix notification

* Simplify UI interface

* Implement internal hook

* Fix API path sequence

* Add unit tests for task detail endpoint

* Refactor code into reusable model

* Explicit operation_id for API endpoints

* Further refactoring

* Use 200 response code

- axios does not like 202, simplify it

* Return task response for validation of part BOM

* Fix schema

* Cleanup

* Run background worker during playwright tests

- For full e2e integration testing

* Improve hooks and unit testing

* Rename custom hooks to meet react naming requirements
2026-03-15 14:11:22 +11:00
dependabot[bot] 133d254ba7
chore(deps): bump the dependencies group across 2 directories with 25 updates (#11516)
* chore(deps): bump the dependencies group across 2 directories with 25 updates

Bumps the dependencies group with 1 update in the /docs directory: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).
Bumps the dependencies group with 24 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [blessed](https://github.com/jquast/blessed) | `1.30.0` | `1.32.0` |
| [boto3](https://github.com/boto/boto3) | `1.42.58` | `1.42.62` |
| [botocore](https://github.com/boto/botocore) | `1.42.58` | `1.42.62` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.4` | `3.4.5` |
| [icalendar](https://github.com/collective/icalendar) | `7.0.2` | `7.0.3` |
| [opentelemetry-exporter-otlp-proto-common](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.40.0` |
| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.40.0` |
| [opentelemetry-exporter-otlp-proto-http](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.40.0` |
| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.61b0` |
| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.61b0` |
| [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-python) | `1.39.1` | `1.40.0` |
| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.60b1` | `0.61b0` |
| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.60b1` | `0.61b0` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.9.2` | `4.9.4` |
| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |
| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.1` | `1.2.2` |
| [redis](https://github.com/redis/redis-py) | `7.2.1` | `7.3.0` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.53.0` | `2.54.0` |
| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |
| [tinyhtml5](https://github.com/CourtBouillon/tinyhtml5) | `2.0.0` | `2.1.0` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.2` |
| [filelock](https://github.com/tox-dev/py-filelock) | `3.24.3` | `3.25.0` |
| [identify](https://github.com/pre-commit/identify) | `2.6.16` | `2.6.17` |
| [isort](https://github.com/PyCQA/isort) | `8.0.0` | `8.0.1` |



Updates `mkdocs-material` from 9.7.3 to 9.7.4
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.7.3...9.7.4)

Updates `blessed` from 1.30.0 to 1.32.0
- [Release notes](https://github.com/jquast/blessed/releases)
- [Changelog](https://github.com/jquast/blessed/blob/master/docs/history.rst)
- [Commits](https://github.com/jquast/blessed/commits)

Updates `boto3` from 1.42.58 to 1.42.62
- [Release notes](https://github.com/boto/boto3/releases)
- [Commits](https://github.com/boto/boto3/compare/1.42.58...1.42.62)

Updates `botocore` from 1.42.58 to 1.42.62
- [Commits](https://github.com/boto/botocore/compare/1.42.58...1.42.62)

Updates `charset-normalizer` from 3.4.4 to 3.4.5
- [Release notes](https://github.com/jawah/charset_normalizer/releases)
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jawah/charset_normalizer/compare/3.4.4...3.4.5)

Updates `icalendar` from 7.0.2 to 7.0.3
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/main/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v7.0.2...v7.0.3)

Updates `opentelemetry-exporter-otlp-proto-common` from 1.39.1 to 1.40.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.40.0)

Updates `opentelemetry-exporter-otlp-proto-grpc` from 1.39.1 to 1.40.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.40.0)

Updates `opentelemetry-exporter-otlp-proto-http` from 1.39.1 to 1.40.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.40.0)

Updates `opentelemetry-instrumentation` from 0.60b1 to 0.61b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `opentelemetry-instrumentation-dbapi` from 0.60b1 to 0.61b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `opentelemetry-proto` from 1.39.1 to 1.40.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/compare/v1.39.1...v1.40.0)

Updates `opentelemetry-semantic-conventions` from 0.60b1 to 0.61b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/commits)

Updates `opentelemetry-util-http` from 0.60b1 to 0.61b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `platformdirs` from 4.9.2 to 4.9.4
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/platformdirs/compare/4.9.2...4.9.4)

Updates `protobuf` from 6.33.5 to 7.34.0
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

Updates `python-dotenv` from 1.2.1 to 1.2.2
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/theskumar/python-dotenv/compare/v1.2.1...v1.2.2)

Updates `redis` from 7.2.1 to 7.3.0
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v7.2.1...v7.3.0)

Updates `sentry-sdk` from 2.53.0 to 2.54.0
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-python/compare/2.53.0...2.54.0)

Updates `tinycss2` from 1.4.0 to 1.5.1
- [Release notes](https://github.com/Kozea/tinycss2/releases)
- [Changelog](https://github.com/Kozea/tinycss2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/tinycss2/compare/v1.4.0...v1.5.1)

Updates `tinyhtml5` from 2.0.0 to 2.1.0
- [Release notes](https://github.com/CourtBouillon/tinyhtml5/releases)
- [Changelog](https://github.com/CourtBouillon/tinyhtml5/blob/main/docs/changelog.rst)
- [Commits](https://github.com/CourtBouillon/tinyhtml5/compare/2.0.0...2.1.0)

Updates `wrapt` from 1.17.3 to 2.1.2
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.17.3...2.1.2)

Updates `filelock` from 3.24.3 to 3.25.0
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.24.3...3.25.0)

Updates `identify` from 2.6.16 to 2.6.17
- [Commits](https://github.com/pre-commit/identify/compare/v2.6.16...v2.6.17)

Updates `isort` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/PyCQA/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PyCQA/isort/compare/8.0.0...8.0.1)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.7.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: blessed
  dependency-version: 1.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: boto3
  dependency-version: 1.42.62
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.42.62
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: charset-normalizer
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: icalendar
  dependency-version: 7.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: opentelemetry-exporter-otlp-proto-common
  dependency-version: 1.40.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: opentelemetry-exporter-otlp-proto-grpc
  dependency-version: 1.40.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: opentelemetry-exporter-otlp-proto-http
  dependency-version: 1.40.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: opentelemetry-instrumentation
  dependency-version: 0.61b0
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: opentelemetry-instrumentation-dbapi
  dependency-version: 0.61b0
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: opentelemetry-proto
  dependency-version: 1.40.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: opentelemetry-semantic-conventions
  dependency-version: 0.61b0
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: opentelemetry-util-http
  dependency-version: 0.61b0
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: platformdirs
  dependency-version: 4.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: protobuf
  dependency-version: 7.34.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: python-dotenv
  dependency-version: 1.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: redis
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.54.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: tinycss2
  dependency-version: 1.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: tinyhtml5
  dependency-version: 2.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wrapt
  dependency-version: 2.1.2
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: filelock
  dependency-version: 3.25.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: identify
  dependency-version: 2.6.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: isort
  dependency-version: 8.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix syle

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-03-15 07:16:39 +11:00
Matthias Mair 29ac2392db
bump undici (#11526) 2026-03-15 01:25:20 +11:00
Matthias Mair 897e3b9ec6
bump build tooling (#11505) 2026-03-14 22:55:30 +11:00
Jacob Felknor c3cedd25c0
Fix stuck-in-past expiry date filter (#11518)
* fix stuck-in-past expiry date filter

* also fix OVERDUE_FILTER date problem
2026-03-14 22:50:08 +11:00
Oliver 649ff009b9
[CI] Add unit test for large shipment (#11503) 2026-03-14 17:21:25 +11:00
Matthias Mair d7af345e20
refactor(frontend): use central user creds (#11520) 2026-03-14 13:29:46 +11:00
Matthias Mair fda3204e33
fix: low-privilege user token creation (#11492)
* [bug] Users cannot create their own API tokens
Fixes #11486

* fix detection of metadata

* make easier to read

* add handler for IsAuthenticated

* use correct method

* fix style see #11487

* add frontend test

* make test more reliable?
2026-03-14 12:02:49 +11:00
dependabot[bot] c8d41bc207
chore(deps): bump dompurify from 3.2.6 to 3.3.2 in /src/frontend (#11477)
* chore(deps): bump dompurify from 3.2.6 to 3.3.2 in /src/frontend

Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.6 to 3.3.2.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.6...3.3.2)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.3.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix style

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-03-13 11:47:58 +11:00
dependabot[bot] 7d739e5927
chore(deps): bump the dependencies group across 1 directory with 4 updates (#11494)
* chore(deps): bump the dependencies group across 1 directory with 4 updates

Bumps the dependencies group with 4 updates in the /src/frontend directory: [@codemirror/view](https://github.com/codemirror/view), [@uiw/codemirror-theme-vscode](https://github.com/uiwjs/react-codemirror), [@playwright/test](https://github.com/microsoft/playwright) and [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).


Updates `@codemirror/view` from 6.38.2 to 6.39.16
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/compare/6.38.2...6.39.16)

Updates `@uiw/codemirror-theme-vscode` from 4.25.1 to 4.25.7
- [Release notes](https://github.com/uiwjs/react-codemirror/releases)
- [Commits](https://github.com/uiwjs/react-codemirror/compare/v4.25.1...v4.25.7)

Updates `@playwright/test` from 1.56.0 to 1.58.2
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.56.0...v1.58.2)

Updates `@types/node` from 24.11.0 to 25.3.3
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@codemirror/view"
  dependency-version: 6.39.16
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@uiw/codemirror-theme-vscode"
  dependency-version: 4.25.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@playwright/test"
  dependency-version: 1.58.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@types/node"
  dependency-version: 25.3.3
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix test

* fix test

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-03-13 10:57:53 +11:00
Oliver 6ca102cb5f
Allow bulk edit of stock batch code (#11499)
* Allow bulk edit of stock batch code

Closes https://github.com/inventree/InvenTree/issues/10817

* Bump API version

* Add unit test
2026-03-13 01:23:55 +11:00
github-actions[bot] 98b56e1a49
New Crowdin translations by GitHub Action (#11407)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-12 20:38:18 +11:00
Oliver 1be08e4420
[API] Allow filtering ScheduledTask objects by name (#11497)
* [API] Allow filtering ScheduledTask objects by name

* Bump API version
2026-03-12 18:03:31 +11:00
Oliver 1e2c9ed273
Refactor part.on_order (#11496)
More intelligent DB querying for significant speed improvement
2026-03-12 15:31:44 +11:00
Oliver aafda4bece
[UI] Fix hook deps for BuildOutputTable (#11483)
- Closes https://github.com/inventree/InvenTree/issues/11280
2026-03-12 13:18:22 +11:00
Oliver c292e807b9
Enhance MonitorDataOutput (#11458)
* Enhance MonitorDataOutput

- Optionally pass QueryClient
- Required when running outside of <ApiContext />

* Fix default base URL if not specified

* Remove "allow_null" from Mantine props

* Bump lib version to 0.8.2

* Bump CHANGELOG.md
2026-03-12 12:22:16 +11:00
Matthias Mair f7da51b752
fix style issue from 11485 (#11487)
* fix https://github.com/inventree/InvenTree/pull/11485

* fix style

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-03-12 12:17:06 +11:00
Matthias Mair 57949b69e0
chore(frontend): resolution bump (#11465)
* chore(frontend): resolution bump

* bump nyc

* bump vite-plugin-istanbul

* bump @codecov/vite-plugin

* bump @lingui

* fix typing

* fix tests

* make more robust

* fix @codemirror

* fix another switch

* add more "give" to test

* ifnore demo dataset

* fix assert

* revert test change

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-03-12 12:14:36 +11:00
tigger2000ttfn a964d6682e
fix: wrap create_default_labels in transaction.atomic() savepoint to prevent PostgreSQL transaction abort (#11484)
When the plugin registry reloads during an active HTTP request, 
create_default_labels() raises ValidationError on duplicate template 
inserts. On PostgreSQL this aborts the entire outer atomic() block, 
causing TransactionManagementError on all stock operations in that request.

Fixes #11469

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-03-11 22:21:03 +11:00
Oliver 27809d712a
Copy order params (#11479)
* Copy parameters when duplicating an order

* Add unit test for order parameter duplication

* Bunmp API version

* Fix test reliability

* Disable image fetching for SampleSupplierPlugin

- Allow turning on manually
- Prevent CI issues due to rate limiting

* Revery pypdf.. ???
2026-03-11 19:26:56 +11:00
dependabot[bot] bcde2706c7
chore(deps): bump pypdf from 6.7.5 to 6.8.0 in /src/backend (#11485)
Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.7.5 to 6.8.0.
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/6.7.5...6.8.0)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.8.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-11 12:47:32 +11:00
dependabot[bot] 2c8ef25894
chore(deps): bump the dependencies group across 2 directories with 12 updates (#11467)
* chore(deps): bump the dependencies group across 2 directories with 12 updates

Bumps the dependencies group with 1 update in the /docs directory: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).
Bumps the dependencies group with 11 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3) | `1.42.54` | `1.42.58` |
| [botocore](https://github.com/boto/botocore) | `1.42.54` | `1.42.58` |
| [certifi](https://github.com/certifi/python-certifi) | `2026.1.4` | `2026.2.25` |
| [icalendar](https://github.com/collective/icalendar) | `7.0.1` | `7.0.2` |
| [protobuf](https://github.com/protocolbuffers/protobuf) | `6.33.5` | `7.34.0` |
| [redis](https://github.com/redis/redis-py) | `7.2.0` | `7.2.1` |
| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |
| [whitenoise](https://github.com/evansd/whitenoise) | `6.11.0` | `6.12.0` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.1` |
| [types-psycopg2](https://github.com/typeshed-internal/stub_uploader) | `2.9.21.20251012` | `2.9.21.20260223` |
| [virtualenv](https://github.com/pypa/virtualenv) | `20.38.0` | `21.1.0` |



Updates `mkdocs-material` from 9.7.2 to 9.7.3
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.7.2...9.7.3)

Updates `boto3` from 1.42.54 to 1.42.58
- [Release notes](https://github.com/boto/boto3/releases)
- [Commits](https://github.com/boto/boto3/compare/1.42.54...1.42.58)

Updates `botocore` from 1.42.54 to 1.42.58
- [Commits](https://github.com/boto/botocore/compare/1.42.54...1.42.58)

Updates `certifi` from 2026.1.4 to 2026.2.25
- [Commits](https://github.com/certifi/python-certifi/compare/2026.01.04...2026.02.25)

Updates `icalendar` from 7.0.1 to 7.0.2
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/main/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v7.0.1...v7.0.2)

Updates `protobuf` from 6.33.5 to 7.34.0
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

Updates `redis` from 7.2.0 to 7.2.1
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v7.2.0...v7.2.1)

Updates `tinycss2` from 1.4.0 to 1.5.1
- [Release notes](https://github.com/Kozea/tinycss2/releases)
- [Changelog](https://github.com/Kozea/tinycss2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/tinycss2/compare/v1.4.0...v1.5.1)

Updates `whitenoise` from 6.11.0 to 6.12.0
- [Changelog](https://github.com/evansd/whitenoise/blob/main/docs/changelog.rst)
- [Commits](https://github.com/evansd/whitenoise/compare/6.11.0...6.12.0)

Updates `wrapt` from 1.17.3 to 2.1.1
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.17.3...2.1.1)

Updates `types-psycopg2` from 2.9.21.20251012 to 2.9.21.20260223
- [Commits](https://github.com/typeshed-internal/stub_uploader/commits)

Updates `virtualenv` from 20.38.0 to 21.1.0
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/20.38.0...21.1.0)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.7.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: boto3
  dependency-version: 1.42.58
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.42.58
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: certifi
  dependency-version: 2026.2.25
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: icalendar
  dependency-version: 7.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: protobuf
  dependency-version: 7.34.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: redis
  dependency-version: 7.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: tinycss2
  dependency-version: 1.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: whitenoise
  dependency-version: 6.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wrapt
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: types-psycopg2
  dependency-version: 2.9.21.20260223
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: virtualenv
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix style

* fix again

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-03-10 16:54:54 +11:00
Matthias Mair 7d61e59046
bump django (#11463) 2026-03-05 16:02:37 +11:00
dependabot[bot] 3ed21e00cf
chore(deps): bump pypdf from 6.7.4 to 6.7.5 in /src/backend (#11454)
* chore(deps): bump pypdf from 6.7.4 to 6.7.5 in /src/backend

Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.7.4 to 6.7.5.
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/6.7.4...6.7.5)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.7.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix style

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-03-05 06:52:11 +11:00
Oliver 4d404352f4
[ui] Fix Reference column in SalesOrderLineItemTable (#11455)
- Closes https://github.com/inventree/InvenTree/issues/11448
2026-03-04 17:06:10 +11:00
Oliver cdcfdd8f2f
[bug] Import Session bug fix (#11456)
- Check session completion when deleting rows
2026-03-04 09:29:50 +11:00
Oliver 948818bc78
Expose monitorDataOutput hook to plugin library (#11453)
- Allow plugins to process data outputs
2026-03-03 15:10:03 +11:00
Jacob Felknor 41a617febd
Allow Zero Quantity BOM Item with System Setting (#11437)
* allow zero qty bom item with setting

* add allow zero bom qty setting to docs

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-03-03 11:10:20 +11:00
Oliver 3bbdddf51d
[API] Enforce pk ordering for API endpoints (#11446)
* Add unit test to detect unreliable pagination

* Enforce PK field ordering

- Append 'pk' ordering to InvenTreeOrderingFilter

* Use our ordering filter everywhere

* Simplify ordering options

* Enforce list

* Use last term for ordering checks

* Individual delete to fix mysql issue
2026-03-02 22:45:44 +11:00
Matthias Mair 2c67454163
fix requirements (#11445) 2026-03-02 18:47:56 +11:00
dependabot[bot] 428e782eac
chore(deps): bump pypdf from 6.7.3 to 6.7.4 in /src/backend (#11443)
Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.7.3 to 6.7.4.
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/6.7.3...6.7.4)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.7.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-02 09:39:57 +11:00
Jack 3d9104e9a5
Add "updated_at" field to Orders model (#11374)
* add "updated_at" field to PurchaseOrder model

* change to use abstract po instead

* add api filters

* add show, order and filter by po updated_at date to frontend

* add tests and increment api_version

* change updated_at to null by default

* never trust github conflict resolution

* bump docker image to python 3.14 (#11414)

* chore(deps): bump the dependencies group across 1 directory with 4 updates (#11416)

Bumps the dependencies group with 4 updates in the / directory: [depot/setup-action](https://github.com/depot/setup-action), [depot/build-push-action](https://github.com/depot/build-push-action), [anchore/sbom-action](https://github.com/anchore/sbom-action) and [actions/stale](https://github.com/actions/stale).


Updates `depot/setup-action` from 1.6.0 to 1.7.1
- [Release notes](https://github.com/depot/setup-action/releases)
- [Commits](b0b1ea4f69...15c09a5f77)

Updates `depot/build-push-action` from 1.16.2 to 1.17.0
- [Release notes](https://github.com/depot/build-push-action/releases)
- [Commits](9785b135c3...5f3b3c2e5a)

Updates `anchore/sbom-action` from 0.21.1 to 0.22.2
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](0b82b0b1a2...28d71544de)

Updates `actions/stale` from 10.1.1 to 10.2.0
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](997185467f...b5d41d4e1d)

---
updated-dependencies:
- dependency-name: depot/setup-action
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: depot/build-push-action
  dependency-version: 1.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: anchore/sbom-action
  dependency-version: 0.22.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: actions/stale
  dependency-version: 10.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [UI] Copy cells expansion (#11410)

* Prevent copy button if copy value is null

* Add "link" columns to order tables

* Support copy for default column types

* Tweak padding to avoid flickering issues

* Refactor IPNColumn

* Adjust visual styling

* Copy for SKU and MPN columns

* Add more copy columns

* More tweaks

* Tweak playwright testing

* Further cleanup

* More copy cols

* Fix auto pricing overwriting manual purchase price #10846 (#11411)

* Fix auto pricing overwriting manual purchase price #10846

* Added entry to api_version.py

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>

* [UI] Default locale (#11412)

* [UI] Support default server language

* Handle faulty theme

* Add option for default language

* Improve language selection

* Brief docs entry

* Fix typo

* Fix yarn build

* Remove debug msg

* Fix calendar locale

* feat(backend): ensure restore of backups only works in correct enviroments (#11372)

* [FR] ensure restore of backups only works in correct enviroments
Fixes #11214

* update PR nbr

* fix wrong ty detection

* fix link

* ensure tracing does not enagage while running backup ops

* fix import

* remove debugging string

* add error codes

* add tests for backup and restore

* complete test for restore

* we do not need e2e on every matrix entry
there is no realy db dep here

* fix changelog format

* add flag to allow bypass

* update CHANGELOG.md

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: JustusRijke <53965859+JustusRijke@users.noreply.github.com>
2026-02-28 09:07:02 +11:00
dependabot[bot] 23d60bf05f
chore(deps): bump pypdf from 6.7.2 to 6.7.3 in /src/backend (#11436)
* chore(deps): bump pypdf from 6.7.2 to 6.7.3 in /src/backend

Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.7.2 to 6.7.3.
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/6.7.2...6.7.3)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.7.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix style

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-02-28 09:06:37 +11:00
dependabot[bot] 05a63fe143
chore(deps): bump the dependencies group across 2 directories with 8 updates (#11438)
* chore(deps): bump the dependencies group across 2 directories with 8 updates

Bumps the dependencies group with 1 update in the /docs directory: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).
Bumps the dependencies group with 7 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.1` |
| [filelock](https://github.com/tox-dev/py-filelock) | `3.21.2` | `3.24.3` |
| [isort](https://github.com/PyCQA/isort) | `7.0.0` | `8.0.0` |
| [pytest-django](https://github.com/pytest-dev/pytest-django) | `4.11.1` | `4.12.0` |
| [rich](https://github.com/Textualize/rich) | `14.3.2` | `14.3.3` |
| [virtualenv](https://github.com/pypa/virtualenv) | `20.36.1` | `20.38.0` |



Updates `mkdocs-material` from 9.7.1 to 9.7.2
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.7.1...9.7.2)

Updates `tinycss2` from 1.4.0 to 1.5.1
- [Release notes](https://github.com/Kozea/tinycss2/releases)
- [Changelog](https://github.com/Kozea/tinycss2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/tinycss2/compare/v1.4.0...v1.5.1)

Updates `wrapt` from 1.17.3 to 2.1.1
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.17.3...2.1.1)

Updates `filelock` from 3.21.2 to 3.24.3
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.21.2...3.24.3)

Updates `isort` from 7.0.0 to 8.0.0
- [Release notes](https://github.com/PyCQA/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PyCQA/isort/compare/7.0.0...8.0.0)

Updates `pytest-django` from 4.11.1 to 4.12.0
- [Release notes](https://github.com/pytest-dev/pytest-django/releases)
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.11.1...v4.12.0)

Updates `rich` from 14.3.2 to 14.3.3
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v14.3.2...v14.3.3)

Updates `virtualenv` from 20.36.1 to 20.38.0
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/20.36.1...20.38.0)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.7.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: tinycss2
  dependency-version: 1.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wrapt
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: filelock
  dependency-version: 3.24.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: isort
  dependency-version: 8.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: pytest-django
  dependency-version: 4.12.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: rich
  dependency-version: 14.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: virtualenv
  dependency-version: 20.38.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix style

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-02-28 09:06:05 +11:00
Oliver fb3b1189fd
Prevent exchange rate update during migration (#11429) 2026-02-26 19:18:44 +11:00
Oliver b18016e43e
[UI] Disable copy button if not secure (#11427)
- Hide copy button if not within secure context
- Ref: https://github.com/inventree/InvenTree/discussions/11422
2026-02-26 09:53:04 +11:00
Matthias Mair ac9a1f2251
feat(backend): ensure restore of backups only works in correct enviroments (#11372)
* [FR] ensure restore of backups only works in correct enviroments
Fixes #11214

* update PR nbr

* fix wrong ty detection

* fix link

* ensure tracing does not enagage while running backup ops

* fix import

* remove debugging string

* add error codes

* add tests for backup and restore

* complete test for restore

* we do not need e2e on every matrix entry
there is no realy db dep here

* fix changelog format

* add flag to allow bypass
2026-02-25 10:23:00 +11:00
Oliver 8a4ad4ff62
[UI] Default locale (#11412)
* [UI] Support default server language

* Handle faulty theme

* Add option for default language

* Improve language selection

* Brief docs entry

* Fix typo

* Fix yarn build

* Remove debug msg

* Fix calendar locale
2026-02-24 16:08:26 +11:00
JustusRijke 246108e732
Fix auto pricing overwriting manual purchase price #10846 (#11411)
* Fix auto pricing overwriting manual purchase price #10846

* Added entry to api_version.py

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-02-24 12:58:01 +11:00
Oliver 449bd4e5a0
[UI] Copy cells expansion (#11410)
* Prevent copy button if copy value is null

* Add "link" columns to order tables

* Support copy for default column types

* Tweak padding to avoid flickering issues

* Refactor IPNColumn

* Adjust visual styling

* Copy for SKU and MPN columns

* Add more copy columns

* More tweaks

* Tweak playwright testing

* Further cleanup

* More copy cols
2026-02-24 11:44:14 +11:00
Tin Pham edc639d55c
feat: add copyable cells feature with CopyButton component (#11406) 2026-02-23 19:59:22 +11:00
Matthias Mair 33c57887ad
bump django-allauth (#11401)
* bump django-allauth

* bump api
2026-02-23 19:55:09 +11:00
Oliver cef5d4d9c0
[UI] Default table filters (#11405)
* Support "default filters" for table views

- User overrides apply in preference
- Only when there is no stored value (null)

* Correctly handle partially constructed filters

- Reverse lookup on available filter set

* Add default filters for order tables

* Default filters for company tables

* More default filters

* Add some more default filters

* Bump CHANGELOG

* build fix

* Tweaks for playwright testing

* Tweak playwright test

* Improve test flexibility
2026-02-23 19:46:17 +11:00
github-actions[bot] d48643319c
New Crowdin translations by GitHub Action (#11301)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-23 14:01:18 +11:00
dependabot[bot] 3d5631d62c
chore(deps): bump the dependencies group across 2 directories with 19 updates (#11390)
* chore(deps): bump the dependencies group across 2 directories with 19 updates

Bumps the dependencies group with 1 update in the /docs directory: [mkdocstrings[python]](https://github.com/mkdocstrings/mkdocstrings).
Bumps the dependencies group with 18 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [gunicorn](https://github.com/benoitc/gunicorn) | `25.0.3` | `25.1.0` |
| [setuptools](https://github.com/pypa/setuptools) | `80.10.2` | `82.0.0` |
| [blessed](https://github.com/jquast/blessed) | `1.29.0` | `1.30.0` |
| [boto3](https://github.com/boto/boto3) | `1.42.47` | `1.42.48` |
| [botocore](https://github.com/boto/botocore) | `1.42.47` | `1.42.48` |
| [cssselect2](https://github.com/Kozea/cssselect2) | `0.8.0` | `0.9.0` |
| [django-dbbackup](https://github.com/Archmonger/django-dbbackup) | `5.1.2` | `5.2.0` |
| [django-flags](https://github.com/cfpb/django-flags) | `5.1.0` | `5.2.0` |
| [icalendar](https://github.com/collective/icalendar) | `6.3.2` | `7.0.0` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.5.1` | `4.7.1` |
| [redis](https://github.com/redis/redis-py) | `7.1.0` | `7.1.1` |
| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.1` |
| [zopfli](https://github.com/fonttools/py-zopfli) | `0.4.0` | `0.4.1` |
| [coverage[toml]](https://github.com/coveragepy/coveragepy) | `7.13.3` | `7.13.4` |
| [filelock](https://github.com/tox-dev/py-filelock) | `3.20.3` | `3.21.2` |
| [pip-tools](https://github.com/jazzband/pip-tools) | `7.5.2` | `7.5.3` |
| [pytest-codspeed](https://github.com/CodSpeedHQ/pytest-codspeed) | `4.2.0` | `4.3.0` |



Updates `mkdocstrings[python]` from 1.0.2 to 1.0.3
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/1.0.2...1.0.3)

Updates `gunicorn` from 25.0.3 to 25.1.0
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/25.0.3...25.1.0)

Updates `setuptools` from 80.10.2 to 82.0.0
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v80.10.2...v82.0.0)

Updates `blessed` from 1.29.0 to 1.30.0
- [Release notes](https://github.com/jquast/blessed/releases)
- [Changelog](https://github.com/jquast/blessed/blob/master/docs/history.rst)
- [Commits](https://github.com/jquast/blessed/commits/1.30)

Updates `boto3` from 1.42.47 to 1.42.48
- [Release notes](https://github.com/boto/boto3/releases)
- [Commits](https://github.com/boto/boto3/compare/1.42.47...1.42.48)

Updates `botocore` from 1.42.47 to 1.42.48
- [Commits](https://github.com/boto/botocore/compare/1.42.47...1.42.48)

Updates `cssselect2` from 0.8.0 to 0.9.0
- [Release notes](https://github.com/Kozea/cssselect2/releases)
- [Changelog](https://github.com/Kozea/cssselect2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/cssselect2/compare/0.8.0...0.9.0)

Updates `django-dbbackup` from 5.1.2 to 5.2.0
- [Release notes](https://github.com/Archmonger/django-dbbackup/releases)
- [Changelog](https://github.com/Archmonger/django-dbbackup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Archmonger/django-dbbackup/compare/5.1.2...5.2.0)

Updates `django-flags` from 5.1.0 to 5.2.0
- [Release notes](https://github.com/cfpb/django-flags/releases)
- [Changelog](https://github.com/cfpb/django-flags/blob/main/docs/releasenotes.md)
- [Commits](https://github.com/cfpb/django-flags/compare/5.1.0...5.2.0)

Updates `icalendar` from 6.3.2 to 7.0.0
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/main/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v6.3.2...v7.0.0)

Updates `platformdirs` from 4.5.1 to 4.7.1
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/platformdirs/compare/4.5.1...4.7.1)

Updates `redis` from 7.1.0 to 7.1.1
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](https://github.com/redis/redis-py/compare/v7.1.0...v7.1.1)

Updates `tinycss2` from 1.4.0 to 1.5.1
- [Release notes](https://github.com/Kozea/tinycss2/releases)
- [Changelog](https://github.com/Kozea/tinycss2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/tinycss2/compare/v1.4.0...v1.5.1)

Updates `wrapt` from 1.17.3 to 2.1.1
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.17.3...2.1.1)

Updates `zopfli` from 0.4.0 to 0.4.1
- [Release notes](https://github.com/fonttools/py-zopfli/releases)
- [Commits](https://github.com/fonttools/py-zopfli/compare/v0.4.0...v0.4.1)

Updates `coverage[toml]` from 7.13.3 to 7.13.4
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](https://github.com/coveragepy/coveragepy/compare/7.13.3...7.13.4)

Updates `filelock` from 3.20.3 to 3.21.2
- [Release notes](https://github.com/tox-dev/py-filelock/releases)
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.20.3...3.21.2)

Updates `pip-tools` from 7.5.2 to 7.5.3
- [Release notes](https://github.com/jazzband/pip-tools/releases)
- [Changelog](https://github.com/jazzband/pip-tools/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jazzband/pip-tools/compare/v7.5.2...v7.5.3)

Updates `pytest-codspeed` from 4.2.0 to 4.3.0
- [Release notes](https://github.com/CodSpeedHQ/pytest-codspeed/releases)
- [Changelog](https://github.com/CodSpeedHQ/pytest-codspeed/blob/master/CHANGELOG.md)
- [Commits](https://github.com/CodSpeedHQ/pytest-codspeed/compare/v4.2.0...v4.3.0)

---
updated-dependencies:
- dependency-name: mkdocstrings[python]
  dependency-version: 1.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: gunicorn
  dependency-version: 25.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: setuptools
  dependency-version: 82.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: blessed
  dependency-version: 1.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: boto3
  dependency-version: 1.42.48
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.42.48
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: cssselect2
  dependency-version: 0.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-dbbackup
  dependency-version: 5.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-flags
  dependency-version: 5.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: icalendar
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: platformdirs
  dependency-version: 4.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: redis
  dependency-version: 7.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: tinycss2
  dependency-version: 1.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wrapt
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: zopfli
  dependency-version: 0.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: coverage[toml]
  dependency-version: 7.13.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: filelock
  dependency-version: 3.21.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pip-tools
  dependency-version: 7.5.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pytest-codspeed
  dependency-version: 4.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* bump related reqs

* bump a bit further

* fix style

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-02-23 07:17:18 +11:00
Oliver 6c58cc709f
Merge commit from fork
- Change one renderer from jinja to django
- Move the other to a sandboxed environment
2026-02-22 22:48:05 +11:00
Oliver e1a9200f1e
[bug] Fix custom logo and splash (#11391)
* Add custom logo and splash to playwright fixtures

* Render custom logo in frontend

* Add playwright tests for customization settings

* Separate playwright run for customization

* Update ci file

* Update playwright config file

* Do not call get_custom_file from withing settings.py

- django app not fully initialized yet
- can cause loops

* Disable default tests (for now)

* Re-enable normal tests

* Update qc checks

* Order of operations?

* Debug output

* Use env

* Add more debug info

* More debug

* Further debug

* Add collectstatic check

* Run normal tests too

* Remove debug prints
2026-02-22 22:04:49 +11:00
Oliver 2e22245255
Auto allocate tracked (#10887)
* Add "item_type" to BuildAutoAllocationSerializer

* Update frontend to allow selection

* Stub for allocating tracked items

* Code for auto-allocating tracked outputs

* Refactor auto-allocation code

* UI updates

* Bump API version

* Auto refresh tracked items

* Update CHANGELOG.md

* docs entry

* Add unit test

* Add playwright testing
2026-02-22 20:15:31 +11:00
Oliver cca35bb268
Change warning to info (#11370)
- Generates a lot of scary logs during update process

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-02-22 19:14:22 +11:00
Oliver 2e675ee87a
[bug] Check for null plugin config (#11394)
* Check for null plugin config

* Handle potential errors
2026-02-22 12:47:43 +11:00
Oliver 3910cc5a50
Supplier Part Updates (#11303)
* Add "primary" field to SupplierPart model

* Remove "default_supplier" field from the Part model

* Ensure only one SupplierPart can be "primary" for a given Part

* Update references to "default_supplier"

* Add 'primary' field to the SupplierPart API serializer

* update SupplierPart table

* Use bulk-update operations

* Bug fix for data migration

* Allow ordering by 'primary' field

* Tweak import message

* Edit 'primary' field in UI

* Fix checks in save() methods

* Better table updates

* Update CHANGELOG

* Bump API version

* Fix unit test

* Add unit test for API

* Playwright tests
2026-02-20 18:25:26 +11:00
Oliver 14d6d2354f
[Enhancement] Import by natural key fields (#11288)
* Data import flexibility

- Allow specification of alternative lookup fields for data import

* Observe field filters during data import

* Add alternative import fields for Part models

* More options for IMPORT_ID_FIELDS

* Update src/backend/InvenTree/importer/models.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Bump CHANGELOG

* Handle empty input values

* Add IMPORT_ID_FIELDS for more models

* PK field takes highest priority

* Update import docs

* Tweak return type

* Handle multiple date formats

* Add playwright testing

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-20 15:30:00 +11:00
Matthias Mair 1ac3f5e479
fix change from #11387 (#11388) 2026-02-20 13:01:47 +11:00
Oliver dd423dccd6
[API] Enhanced filtering for generic parameters (#11383)
* Enhanced filtering for parameter templates

- Allow filtering by model ID as well as model type

* Enhanced filtering for ParameterTemplate

- Required for the parameteric data tables
- Enable filtering by base model ID
- Enable filtering by related model ID

* Bump API version

* Remove outdated comments

* Fix typo

* Remove debug statement

* Added unit tests

* Playwright tests

* Fix unit test

* Bump requirements

* Revert
2026-02-20 09:32:33 +11:00
dependabot[bot] fc1bfe876c
chore(deps): bump pypdf from 6.6.2 to 6.7.1 in /src/backend (#11387)
Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.6.2 to 6.7.1.
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/6.6.2...6.7.1)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.7.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-20 07:32:22 +11:00
Oliver 46e0205ad5
[bug] fix short-circuit for isGeneratingSchema (#11378)
* [bug] fix short-circuit for isGeneratingSchema

* Additional exclusions

* Even more exclusions

* More exclusions

* Updated comment
2026-02-19 20:58:21 +11:00
Oliver 4e1862a860
Purchase price ordering (#11379)
* Support ordering stock by purchase price

* Enhanced error output

* Bump API version
2026-02-19 20:58:11 +11:00
Oliver 3dbe168939
[UI] Bug fix for stock column ordering (#11376)
- Cannot have a blank accessor
2026-02-19 17:18:53 +11:00
Oliver a4a399022f
Batch update of records during migration (#11371)
* Batch update of records during migration

Reduce issues with very large datasets

* Add short-circuit logic

* Filter and prefetch
2026-02-19 12:03:37 +11:00
Oliver f6206305d5
[UI] Log Form error (#11363)
* [UI] Log console error for invalid field

- Help catch form issues during CI

* Use console logging
2026-02-18 14:15:34 +11:00
Oliver 7c92ecbe90
[UI] Hide "accept_incomplete_allocation" field (#11362)
- Hide this field if the build does not have any tracked items
- Ref: https://github.com/inventree/InvenTree/discussions/11324
2026-02-18 11:34:15 +11:00
Oliver 951586a698
Prevent migration check if performing DB update operations (#11356)
* Prevent migration check if performing DB update operations

* Prevent settings write during data imports

* Prevent exchange rate update during migration processes

* Allow exchange rate updates during tests or shell session
2026-02-18 00:19:58 +11:00
Matthias Mair b8cf2db68e
disable traceid gen in unsecure context (#11349) 2026-02-17 10:46:09 +11:00
Oliver 14a2e4c5af
Fix for ready.py (#11346)
* Fix for ready.py

- Early exit for isGeneratingSchema when removing stale content types
- Prevents blocking on update process

* Rearrange
2026-02-17 08:56:11 +11:00
Oliver 033ad420ce
Change default barcode type (#11304)
* Change default barcode type

* Bump plugin version

* Adjust unit testing

* Tweak unit tests

* Tweak docs
2026-02-17 00:22:44 +11:00
Oliver 430dfbbae5
[setup] invoke command updates (#11340)
* invoke command updates

- wait for db before migrating data
- improve task state reporting
- early return from isGeneratingSchema

* Disable warning message (for now)

* Fix typo

- This caused large delay when restoring data

* Remove debug statement

* Add warning message if isGeneratingSchema called falls through unexpectedly
2026-02-17 00:22:35 +11:00
dependabot[bot] 5f4dd49b12
chore(deps): bump the dependencies group across 2 directories with 18 updates (#11321)
* chore(deps): bump the dependencies group across 2 directories with 18 updates

Bumps the dependencies group with 3 updates in the /docs directory: [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin), [mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) and [mkdocstrings[python]](https://github.com/mkdocstrings/mkdocstrings).
Bumps the dependencies group with 15 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [asgiref](https://github.com/django/asgiref) | `3.11.0` | `3.11.1` |
| [babel](https://github.com/python-babel/babel) | `2.17.0` | `2.18.0` |
| [blessed](https://github.com/jquast/blessed) | `1.25.0` | `1.29.0` |
| [django-money](https://github.com/django-money/django-money) | `3.5.4` | `3.6.0` |
| [grpcio](https://github.com/grpc/grpc) | `1.76.0` | `1.78.0` |
| [jmespath](https://github.com/jmespath/jmespath.py) | `1.0.1` | `1.1.0` |
| [pip-licenses](https://github.com/raimon49/pip-licenses) | `5.5.0` | `5.5.1` |
| [psutil](https://github.com/giampaolo/psutil) | `7.2.1` | `7.2.2` |
| [pyjwt[crypto]](https://github.com/jpadilla/pyjwt) | `2.10.1` | `2.11.0` |
| [tinycss2](https://github.com/Kozea/tinycss2) | `1.4.0` | `1.5.1` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `1.17.3` | `2.1.1` |
| [coverage[toml]](https://github.com/coveragepy/coveragepy) | `7.13.1` | `7.13.3` |
| [django-types](https://github.com/sbdchd/django-types) | `0.22.0` | `0.23.0` |
| [pip](https://github.com/pypa/pip) | `26.0` | `26.0.1` |
| [rich](https://github.com/Textualize/rich) | `14.2.0` | `14.3.2` |



Updates `mkdocs-git-revision-date-localized-plugin` from 1.5.0 to 1.5.1
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.5.0...v1.5.1)

Updates `mkdocs-include-markdown-plugin` from 7.2.0 to 7.2.1
- [Release notes](https://github.com/mondeja/mkdocs-include-markdown-plugin/releases)
- [Commits](https://github.com/mondeja/mkdocs-include-markdown-plugin/compare/v7.2.0...v7.2.1)

Updates `mkdocstrings[python]` from 1.0.1 to 1.0.2
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/1.0.1...1.0.2)

Updates `asgiref` from 3.11.0 to 3.11.1
- [Changelog](https://github.com/django/asgiref/blob/main/CHANGELOG.txt)
- [Commits](https://github.com/django/asgiref/compare/3.11.0...3.11.1)

Updates `babel` from 2.17.0 to 2.18.0
- [Release notes](https://github.com/python-babel/babel/releases)
- [Changelog](https://github.com/python-babel/babel/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-babel/babel/compare/v2.17.0...v2.18.0)

Updates `blessed` from 1.25.0 to 1.29.0
- [Release notes](https://github.com/jquast/blessed/releases)
- [Changelog](https://github.com/jquast/blessed/blob/master/docs/history.rst)
- [Commits](https://github.com/jquast/blessed/commits)

Updates `django-money` from 3.5.4 to 3.6.0
- [Release notes](https://github.com/django-money/django-money/releases)
- [Changelog](https://github.com/django-money/django-money/blob/main/docs/changes.rst)
- [Commits](https://github.com/django-money/django-money/compare/3.5.4...3.6.0)

Updates `grpcio` from 1.76.0 to 1.78.0
- [Release notes](https://github.com/grpc/grpc/releases)
- [Commits](https://github.com/grpc/grpc/compare/v1.76.0...v1.78.0)

Updates `jmespath` from 1.0.1 to 1.1.0
- [Changelog](https://github.com/jmespath/jmespath.py/blob/develop/CHANGELOG.rst)
- [Commits](https://github.com/jmespath/jmespath.py/compare/1.0.1...1.1.0)

Updates `pip-licenses` from 5.5.0 to 5.5.1
- [Release notes](https://github.com/raimon49/pip-licenses/releases)
- [Changelog](https://github.com/raimon49/pip-licenses/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raimon49/pip-licenses/compare/v-5.5.0...v-5.5.1)

Updates `psutil` from 7.2.1 to 7.2.2
- [Changelog](https://github.com/giampaolo/psutil/blob/master/HISTORY.rst)
- [Commits](https://github.com/giampaolo/psutil/compare/release-7.2.1...release-7.2.2)

Updates `pyjwt[crypto]` from 2.10.1 to 2.11.0
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.10.1...2.11.0)

Updates `tinycss2` from 1.4.0 to 1.5.1
- [Release notes](https://github.com/Kozea/tinycss2/releases)
- [Changelog](https://github.com/Kozea/tinycss2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/tinycss2/compare/v1.4.0...v1.5.1)

Updates `wrapt` from 1.17.3 to 2.1.1
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](https://github.com/GrahamDumpleton/wrapt/compare/1.17.3...2.1.1)

Updates `coverage[toml]` from 7.13.1 to 7.13.3
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](https://github.com/coveragepy/coveragepy/compare/7.13.1...7.13.3)

Updates `django-types` from 0.22.0 to 0.23.0
- [Changelog](https://github.com/sbdchd/django-types/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sbdchd/django-types/commits)

Updates `pip` from 26.0 to 26.0.1
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/pip/compare/26.0...26.0.1)

Updates `rich` from 14.2.0 to 14.3.2
- [Release notes](https://github.com/Textualize/rich/releases)
- [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Textualize/rich/compare/v14.2.0...v14.3.2)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-version: 1.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: mkdocs-include-markdown-plugin
  dependency-version: 7.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: mkdocstrings[python]
  dependency-version: 1.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: asgiref
  dependency-version: 3.11.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: babel
  dependency-version: 2.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: blessed
  dependency-version: 1.29.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-money
  dependency-version: 3.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: grpcio
  dependency-version: 1.78.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: jmespath
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pip-licenses
  dependency-version: 5.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: psutil
  dependency-version: 7.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pyjwt[crypto]
  dependency-version: 2.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: tinycss2
  dependency-version: 1.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wrapt
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: coverage[toml]
  dependency-version: 7.13.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-types
  dependency-version: 0.23.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pip
  dependency-version: 26.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: rich
  dependency-version: 14.3.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix style

* disable performance for now

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
2026-02-16 23:15:46 +11:00
Oliver 7a646946c3
[bug] FIx for data migration (#11329)
* [bug] FIx for data migration

Prevent writing of default currency to database during migration or backup

* Ignore error
2026-02-15 11:37:13 +11:00
Oliver a95ee3ccd9
[CI] Allow more test time (#11314)
* [CI] Allow more test time

* Fix style issues
2026-02-13 12:58:03 +11:00
Oliver b568e82d31
[UI] Spotlight tweaks (#11305)
* Add spotlight action to navigate to data import screen

* Hide barcode action if disabled

* Sort actions

* Make spotlight scrollable

* Docs for spotlight
2026-02-13 00:04:19 +11:00
github-actions[bot] 2fef749583
New Crowdin translations by GitHub Action (#11251)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-12 21:42:55 +11:00
Oliver 1793ad453c
Bump version number to 1.3.0-dev (#11300)
* Bump version number to 1.3.0-dev

* Update CHANGELOG.md

* Add entry for next release
2026-02-12 19:53:12 +11:00
Oliver 1ade79398d
[UI] Data import fixes (#11298)
- Refresh session and table after deleting rows
2026-02-12 17:41:45 +11:00
Matthias Mair b11bbfb92c
feat(frontend): Add better frontend tracing (#11244)
* add better tracing through the frontend

* extend allowed headers

* add endpoint to end the trace

* end traces correctly in backend

* end trace

* early cop-out if not tracing is enabled

* Update API version link for v447
2026-02-12 15:53:58 +11:00
Matthias Mair 9fbc7ac40c
feat(frontend): add warning to SO line calcs (#11296) 2026-02-12 13:05:12 +11:00
Matthias Mair fa32d5f0d2
chore(backend): allign dep pinning (#11292) 2026-02-12 09:26:04 +11:00
dependabot[bot] dee285133c
chore(deps): bump pillow from 12.1.0 to 12.1.1 in /src/backend (#11290)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 12.1.0 to 12.1.1.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/12.1.0...12.1.1)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 12.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-12 07:27:29 +11:00
Oliver 3ebf27df36
Display more output information in "build allocated stock" table (#11276)
* Add "install_into_detail" to BuildItem serializer

* Enhance the "resolveItem" function

* Add "StockColumn" renderer

* Fix output column for BuildAllocatedStockTable

* Replace column in stock item table

* More column refactoring

* Bump API version

* Add InvenTreeOutputOption descriptions

* Prefetch for better API performance

* Updated playwright testing
2026-02-11 23:25:56 +11:00
Oliver e963b8219b
[UI] Edit BOM item from "Used In" table (#11286)
- Allows editing BOM item from the "used in" table
- Useful for editing from the context of the component / subassembly
2026-02-11 21:46:54 +11:00
Oliver d24ba7965c
[bug] Fix table ordering (#11277)
* Additional filtering options for stock list

* Fix ordering for stock table

* Ordering fix for build order table

* Ordering for supplier parts and manufacturer parts

* SalesOrderLineItem: Order by IPN

* ReturnOrderLineItem table:

- Order by part name
- Order by part IPN

* Update API version to 451

Increment API version to 451 and update changelog.

* Add playwright tests for column sorting

* Add backend tests for API ordering

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-02-11 17:52:21 +11:00
dependabot[bot] 384f8282fd
chore(deps): bump cryptography from 46.0.3 to 46.0.5 in /src/backend (#11285)
Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.3 to 46.0.5.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.3...46.0.5)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-11 15:24:21 +11:00
Oliver 1c1933b694
[enhancements] Stock tracking enhancements (#11260)
* Data migrations for StockItemTracking

- Propagate the 'part' links

* Enable filtering of stock tracking entries by part

* Enable filtering by date range

* Display stock tracking for part

* Table enhancements

* Bump API version

* Display stock item column

* Ensure 'quantity' is recorded for stock tracking entries

* Add new global settings

* Adds background task for deleting old stock tracking entries

* Docs updates

* Enhanced docs

* Cast quantity to float

* Rever data migration

* Ensure part link gets created

* Improved prefetch for API

* Playwright testing

* Tweak unit test thresholds

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-02-10 21:54:35 +11:00
Oliver 613ed40843
[UI] Build updates (#11274)
* Hide "child build orders" for builds without any subassemblies

* Hide "build stock" button for inactive build orders
2026-02-10 12:00:06 +11:00
Joe Rogers 3c44787dc0
Add missing part/stocktake nullable annotations for schema (#11266)
* Add missing nullable annotations for schema

* Bump schema version
2026-02-10 09:53:56 +11:00
Jacob Felknor 026011131e
change role for allocation table multiselect (#11264) 2026-02-10 09:53:29 +11:00
Matthias Mair 232cc08ddc
bump django due to... all the releases vulns (#11265) 2026-02-07 11:22:46 +11:00
Oliver 2429bc2192
[build] Check for allocated items which are in production (#11263) 2026-02-06 17:46:24 +11:00
Oliver 9bb431dd2f
UI documentation (#11262)
* Rough in UI docs

* Fix links

* Table documentation

* Forms

* search

* Notifications
2026-02-06 16:56:49 +11:00
Oliver b4eeba5e31
[enhancement] Stocktake updates (#11257)
* Allow part queryset to be passed to 'perform_stocktake' function

* Add new options to perform_stocktake

* Allow download of part stocktake snapshot data

* API endpoint for generating a stocktake entry

* Simplify code

* Generate report output

* Dashboard stocktake widget

- Generate stocktake snapshot from the dashboard

* Force stocktake entry for part

* Add docs

* Cleanup docs

* Update API version

* Improve efficiency of stocktake generation

* Error handling

* Add simple playwright test

* Fix typing
2026-02-06 10:21:30 +11:00
Oliver 2c59c165ba
[UI] Add plugin website (#11255)
- To plugin table
- To plugin detail drawer
2026-02-05 18:26:25 +11:00
Oliver 8f27063e40
[UI] Fix SupplierPartTable (#11253)
* [UI] Fix SupplierPartTable

- Ensure manufacturer_part_detail is fetched too

* Updated playwright tests
2026-02-04 17:18:24 +11:00
dependabot[bot] 6a5f01ae57
chore(deps-dev): bump pip from 25.3 to 26.0 in /src/backend (#11248)
* chore(deps-dev): bump pip from 25.3 to 26.0 in /src/backend

Bumps [pip](https://github.com/pypa/pip) from 25.3 to 26.0.
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/pip/compare/25.3...26.0)

---
updated-dependencies:
- dependency-name: pip
  dependency-version: '26.0'
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* also bump in normal reqs

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Mair <code@mjmair.com>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-02-04 12:41:37 +11:00
github-actions[bot] 11f3493d0a
New Crowdin translations by GitHub Action (#11243)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-03 15:39:51 +11:00
Oliver a5b6e4eda3
[UI] Indicate over-allocation (#11247)
- Display red text when stock item is over-allocated
2026-02-03 15:39:44 +11:00
Oliver 05b8c812f5
[API] BOM active filter (#11242)
* Add 'sub_part_active' filter for BOM list

* Add UI filter

* Bump API version
2026-02-03 09:11:57 +11:00