Commit Graph
2611 Commits
Author SHA1 Message Date
OliverandGitHub b7d65d754b Fix part SalesOrder table (#12469)
* Fix part SalesOrder table

- Show line item quantity, not number of lines

* add regression test

* Bump API version
2026-07-26 21:38:41 +10:00
OliverandGitHub 1bc758624e Add order sorting for sales order allocation tables (#12468) 2026-07-26 18:49:44 +10:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Matthias Mair
753660facb chore(deps): bump the dependencies group across 1 directory with 17 updates (#12427)
* chore(deps): bump the dependencies group across 1 directory with 17 updates

Bumps the dependencies group with 17 updates in the /src/frontend directory:

| Package | From | To |
| --- | --- | --- |
| [@codemirror/view](https://github.com/codemirror/view) | `6.43.4` | `6.43.6` |
| [@fortawesome/react-fontawesome](https://github.com/FortAwesome/react-fontawesome) | `3.3.1` | `3.4.0` |
| [@fullcalendar/core](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/core-types) | `6.1.21` | `7.0.0` |
| [@fullcalendar/react](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/react) | `6.1.21` | `7.0.0` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript) | `10.62.0` | `10.65.0` |
| [@uiw/codemirror-theme-vscode](https://github.com/uiwjs/react-codemirror) | `4.25.10` | `4.25.11` |
| [@uiw/react-codemirror](https://github.com/uiwjs/react-codemirror) | `4.25.10` | `4.25.11` |
| [@vanilla-extract/css](https://github.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/css) | `1.21.0` | `1.21.1` |
| [dompurify](https://github.com/cure53/DOMPurify) | `3.4.11` | `3.4.12` |
| [fuse.js](https://github.com/krisk/Fuse) | `7.4.2` | `7.5.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.80.0` | `7.81.0` |
| [recharts](https://github.com/recharts/recharts) | `3.9.0` | `3.9.2` |
| [undici](https://github.com/nodejs/undici) | `8.5.0` | `8.7.0` |
| [@flakiness/playwright](https://github.com/flakiness/playwright) | `1.16.0` | `1.18.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.0.1` | `26.1.1` |
| [@vanilla-extract/vite-plugin](https://github.com/vanilla-extract-css/vanilla-extract/tree/HEAD/packages/vite-plugin) | `5.2.3` | `5.2.4` |
| [typescript](https://github.com/microsoft/TypeScript) | `5.9.3` | `7.0.2` |



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

Updates `@fortawesome/react-fontawesome` from 3.3.1 to 3.4.0
- [Release notes](https://github.com/FortAwesome/react-fontawesome/releases)
- [Changelog](https://github.com/FortAwesome/react-fontawesome/blob/main/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/react-fontawesome/compare/v3.3.1...v3.4.0)

Updates `@fullcalendar/core` from 6.1.21 to 7.0.0
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v7.0.0/packages/core-types)

Updates `@fullcalendar/react` from 6.1.21 to 7.0.0
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v7.0.0/packages/react)

Updates `@sentry/react` from 10.62.0 to 10.65.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.62.0...10.65.0)

Updates `@uiw/codemirror-theme-vscode` from 4.25.10 to 4.25.11
- [Release notes](https://github.com/uiwjs/react-codemirror/releases)
- [Commits](https://github.com/uiwjs/react-codemirror/compare/v4.25.10...v4.25.11)

Updates `@uiw/react-codemirror` from 4.25.10 to 4.25.11
- [Release notes](https://github.com/uiwjs/react-codemirror/releases)
- [Commits](https://github.com/uiwjs/react-codemirror/compare/v4.25.10...v4.25.11)

Updates `@vanilla-extract/css` from 1.21.0 to 1.21.1
- [Release notes](https://github.com/vanilla-extract-css/vanilla-extract/releases)
- [Changelog](https://github.com/vanilla-extract-css/vanilla-extract/blob/master/packages/css/CHANGELOG.md)
- [Commits](https://github.com/vanilla-extract-css/vanilla-extract/commits/@vanilla-extract/css@1.21.1/packages/css)

Updates `dompurify` from 3.4.11 to 3.4.12
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.11...3.4.12)

Updates `fuse.js` from 7.4.2 to 7.5.0
- [Release notes](https://github.com/krisk/Fuse/releases)
- [Changelog](https://github.com/krisk/Fuse/blob/main/CHANGELOG.md)
- [Commits](https://github.com/krisk/Fuse/compare/v7.4.2...v7.5.0)

Updates `react-hook-form` from 7.80.0 to 7.81.0
- [Release notes](https://github.com/react-hook-form/react-hook-form/releases)
- [Changelog](https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md)
- [Commits](https://github.com/react-hook-form/react-hook-form/compare/v7.80.0...v7.81.0)

Updates `recharts` from 3.9.0 to 3.9.2
- [Release notes](https://github.com/recharts/recharts/releases)
- [Changelog](https://github.com/recharts/recharts/blob/main/CHANGELOG.md)
- [Commits](https://github.com/recharts/recharts/compare/v3.9.0...v3.9.2)

Updates `undici` from 8.5.0 to 8.7.0
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v8.5.0...v8.7.0)

Updates `@flakiness/playwright` from 1.16.0 to 1.18.0
- [Release notes](https://github.com/flakiness/playwright/releases)
- [Commits](https://github.com/flakiness/playwright/compare/v1.16.0...v1.18.0)

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

Updates `@vanilla-extract/vite-plugin` from 5.2.3 to 5.2.4
- [Release notes](https://github.com/vanilla-extract-css/vanilla-extract/releases)
- [Changelog](https://github.com/vanilla-extract-css/vanilla-extract/blob/master/packages/vite-plugin/CHANGELOG.md)
- [Commits](https://github.com/vanilla-extract-css/vanilla-extract/commits/@vanilla-extract/vite-plugin@5.2.4/packages/vite-plugin)

Updates `typescript` from 5.9.3 to 7.0.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/commits)

---
updated-dependencies:
- dependency-name: "@codemirror/view"
  dependency-version: 6.43.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@fortawesome/react-fontawesome"
  dependency-version: 3.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@fullcalendar/core"
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@fullcalendar/react"
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: "@sentry/react"
  dependency-version: 10.65.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@uiw/codemirror-theme-vscode"
  dependency-version: 4.25.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@uiw/react-codemirror"
  dependency-version: 4.25.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@vanilla-extract/css"
  dependency-version: 1.21.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: dompurify
  dependency-version: 3.4.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: fuse.js
  dependency-version: 7.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: react-hook-form
  dependency-version: 7.81.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: recharts
  dependency-version: 3.9.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: undici
  dependency-version: 8.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@flakiness/playwright"
  dependency-version: 1.18.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@types/node"
  dependency-version: 26.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@vanilla-extract/vite-plugin"
  dependency-version: 5.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: typescript
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dependencies
...

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

* fix tsconfig

* fix setup for build - lower typescript

* fix resolution

* lower fullcalendar

---------

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-07-25 09:28:23 +10:00
OliverandGitHub 145ef21196 [refactor] Build allocation endpoints (#12361)
* Create benchmark for completing a build and consuming all items

* Refactor build consume task

* Add benchmarking

* Unroll allocate-stock serializer

* Complete build only after allocations are consumed

* re-export batch_events

* Add BulkPrefetchSerializerMixin

* Reduce queries even further

* Refactoring

* Unroll code and use bulk operations

* Refactoring for auto-allocation

* Add more test coverage for auto-allocation

* Fix model_reference_fields

* adjust unit test

* Apply concurrency protection

* Additional unit tests

* Remove per-line validation

* Fix unit test

* Adjust unit test

* Use bulk_create_and_fetch

* Cleanup

* Reimplement wrapper func for backwards compatibility

* Fix unit test

* Increase max query time

* Fix serializer

* Enforce pk ordering

* FIx for mysql
2026-07-24 19:48:50 +10:00
Matthias MairandGitHub ea68eaf258 chore(backend): major allauth bump (#12454)
* mayjor allauth bump

* add PR link
2026-07-24 06:26:05 +00:00
OliverandGitHub 7d8b3ff160 Bug fix for exporting SalesOrderAllocation data (#12463)
* Bug fix for exporting SalesOrderAllocation data

* Regression test

* Bump API version

* Bug fix for unit test
2026-07-24 15:38:14 +10:00
OliverandGitHub 6bd4842fd8 [bug] Attachment str fix (#12461)
* Fix stringify for Attachment model

* Add regression tests
2026-07-24 12:30:40 +10:00
bda2534ed3 [refactor] Complete shipment API endpoint (#12363)
* Use API for unit test

* Loop unrolling is super effective

* Additional unit testing

* Fix for bulk_create - use bulk_create_and_fetch

* Fix unit tests

* Fix unit tests

* Adjust unit test

* Revert return type on helper func

* Evaluate returned QuerySet

* Adjust unit tests

* Adjust complete_allocations

* Fix for bulk_create in unit test

* Reimplement complete_allocation for compatibility

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-07-24 10:22:22 +10:00
OliverandGitHub 829a4462c7 [bug] BOM checksum fix (#12455)
* Enforce ordering of BOM items

* Add prefetch to getRequiredParts

* Add regression test
2026-07-23 21:44:04 +10:00
OliverandGitHub 65efa51524 [docs] Report discovery (#12449)
* Adds decorator to mark an attribute for report context discovery

* Update context variables in docs

* Include fields captured against each model type

* Expose more properties

* Image URL tags

* Add more attributes

* Rearrange docs

* Simplify docs

* Enforce type hinting for reportable properties

* Expose more properties for the Order model

* Auto-discover related / linked models

* Remove extra text

* Collapsible blocks

* Reduce boilerplate

* Remove cruft

* Enhance documentation for filename generation

* Cleanup
2026-07-23 21:43:55 +10:00
DeanandGitHub 346d7e0a70 Improvements to PrintingOptionsSerializer (#12434)
* Fixed issue with default `driver_options on `InvenTreeLabelPlugin`

* Provide current `machine` to `LabelPrinterBaseDriver.get_printing_options_serializer`
2026-07-23 11:15:10 +10:00
Matthias MairGitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e3825b5aa9 general deps bump (#12409)
* chore(deps): bump the dependencies group across 1 directory with 13 updates

Bumps the dependencies group with 13 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [coverage](https://github.com/coveragepy/coveragepy) | `7.14.3` | `7.15.0` |
| [prek](https://github.com/j178/prek) | `0.4.5` | `0.4.6` |
| [typing-extensions](https://github.com/python/typing_extensions) | `4.15.0` | `4.16.0` |
| [blessed](https://github.com/jquast/blessed) | `1.44.0` | `1.45.0` |
| [boto3](https://github.com/boto/boto3) | `1.43.36` | `1.43.40` |
| [botocore](https://github.com/boto/botocore) | `1.43.36` | `1.43.40` |
| [dulwich](https://github.com/dulwich/dulwich) | `1.2.6` | `1.2.7` |
| [fido2](https://github.com/Yubico/python-fido2) | `2.2.0` | `2.2.1` |
| [jinxed](https://github.com/Rockhopper-Technologies/jinxed) | `2.0.4` | `2.1.0` |
| [pillow](https://github.com/python-pillow/Pillow) | `12.2.0` | `12.3.0` |
| [rpds-py](https://github.com/crate-py/rpds) | `2026.5.1` | `2026.6.3` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.63.0` | `2.64.0` |
| [wcwidth](https://github.com/jquast/wcwidth) | `0.8.1` | `0.8.2` |



Updates `coverage` from 7.14.3 to 7.15.0
- [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.14.3...7.15.0)

Updates `prek` from 0.4.5 to 0.4.6
- [Release notes](https://github.com/j178/prek/releases)
- [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md)
- [Commits](https://github.com/j178/prek/compare/v0.4.5...v0.4.6)

Updates `typing-extensions` from 4.15.0 to 4.16.0
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.15.0...4.16.0)

Updates `blessed` from 1.44.0 to 1.45.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.43.36 to 1.43.40
- [Release notes](https://github.com/boto/boto3/releases)
- [Commits](https://github.com/boto/boto3/compare/1.43.36...1.43.40)

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

Updates `dulwich` from 1.2.6 to 1.2.7
- [Release notes](https://github.com/dulwich/dulwich/releases)
- [Changelog](https://github.com/jelmer/dulwich/blob/main/NEWS)
- [Commits](https://github.com/dulwich/dulwich/compare/dulwich-1.2.6...dulwich-1.2.7)

Updates `fido2` from 2.2.0 to 2.2.1
- [Release notes](https://github.com/Yubico/python-fido2/releases)
- [Changelog](https://github.com/Yubico/python-fido2/blob/main/NEWS)
- [Commits](https://github.com/Yubico/python-fido2/compare/2.2.0...2.2.1)

Updates `jinxed` from 2.0.4 to 2.1.0
- [Release notes](https://github.com/Rockhopper-Technologies/jinxed/releases)
- [Commits](https://github.com/Rockhopper-Technologies/jinxed/compare/2.0.4...2.1.0)

Updates `pillow` from 12.2.0 to 12.3.0
- [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.2.0...12.3.0)

Updates `rpds-py` from 2026.5.1 to 2026.6.3
- [Release notes](https://github.com/crate-py/rpds/releases)
- [Changelog](https://github.com/crate-py/rpds/blob/main/release.toml)
- [Commits](https://github.com/crate-py/rpds/compare/v2026.5.1...v2026.6.3)

Updates `sentry-sdk` from 2.63.0 to 2.64.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.63.0...2.64.0)

Updates `wcwidth` from 0.8.1 to 0.8.2
- [Release notes](https://github.com/jquast/wcwidth/releases)
- [Commits](https://github.com/jquast/wcwidth/compare/0.8.1...0.8.2)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.15.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: prek
  dependency-version: 0.4.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: typing-extensions
  dependency-version: 4.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: blessed
  dependency-version: 1.45.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: boto3
  dependency-version: 1.43.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.43.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: dulwich
  dependency-version: 1.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: fido2
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: jinxed
  dependency-version: 2.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pillow
  dependency-version: 12.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: rpds-py
  dependency-version: 2026.6.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.64.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wcwidth
  dependency-version: 0.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

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

* fix style

* master bump

* api bump

* bump a bit further

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-23 09:09:39 +10:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ae7a8e5a80 chore(deps): bump dompurify from 3.4.11 to 3.4.12 in /src/frontend (#12448)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.4.11 to 3.4.12.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.11...3.4.12)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.4.12
  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-07-23 09:08:55 +10:00
Bhumin PaladiyaandGitHub 8d8ecf2c4c Fix admin search for Address and Contact models (#12440) 2026-07-23 09:08:36 +10:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Matthias MairOliver
9f5723a3e3 chore(deps): bump the dependencies group across 2 directories with 22 updates (#12417)
* chore(deps): bump the dependencies group across 2 directories with 22 updates

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

| Package | From | To |
| --- | --- | --- |
| [blessed](https://github.com/jquast/blessed) | `1.44.0` | `1.47.0` |
| [boto3](https://github.com/boto/boto3) | `1.43.36` | `1.43.45` |
| [botocore](https://github.com/boto/botocore) | `1.43.36` | `1.43.45` |
| [cffi](https://github.com/python-cffi/cffi) | `2.0.0` | `2.1.0` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.7` | `3.4.9` |
| [drf-spectacular](https://github.com/tfranzel/drf-spectacular) | `0.29.0` | `0.30.0` |
| [dulwich](https://github.com/dulwich/dulwich) | `1.2.6` | `1.2.10` |
| [fido2](https://github.com/Yubico/python-fido2) | `2.2.0` | `2.2.1` |
| [grpcio](https://github.com/grpc/grpc) | `1.81.1` | `1.82.1` |
| [jinxed](https://github.com/Rockhopper-Technologies/jinxed) | `2.0.4` | `2.1.0` |
| [pillow](https://github.com/python-pillow/Pillow) | `12.2.0` | `12.3.0` |
| [python-fsutil](https://github.com/fabiocaccamo/python-fsutil) | `0.16.1` | `0.17.0` |
| [rpds-py](https://github.com/crate-py/rpds) | `2026.5.1` | `2026.6.3` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.63.0` | `2.64.0` |
| [setuptools](https://github.com/pypa/setuptools) | `82.0.1` | `83.0.0` |
| [tqdm](https://github.com/tqdm/tqdm) | `4.68.3` | `4.68.4` |
| [typing-extensions](https://github.com/python/typing_extensions) | `4.15.0` | `4.16.0` |
| [tzdata](https://github.com/python/tzdata) | `2026.2` | `2026.3` |
| [wcwidth](https://github.com/jquast/wcwidth) | `0.8.1` | `0.8.2` |
| [coverage](https://github.com/coveragepy/coveragepy) | `7.14.3` | `7.15.0` |
| [prek](https://github.com/j178/prek) | `0.4.5` | `0.4.8` |



Updates `mkdocstrings` from 1.0.4 to 1.0.5
- [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.4...1.0.5)

Updates `blessed` from 1.44.0 to 1.47.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.43.36 to 1.43.45
- [Release notes](https://github.com/boto/boto3/releases)
- [Commits](https://github.com/boto/boto3/compare/1.43.36...1.43.45)

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

Updates `cffi` from 2.0.0 to 2.1.0
- [Release notes](https://github.com/python-cffi/cffi/releases)
- [Commits](https://github.com/python-cffi/cffi/compare/v2.0.0...v2.1.0)

Updates `charset-normalizer` from 3.4.7 to 3.4.9
- [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.7...3.4.9)

Updates `drf-spectacular` from 0.29.0 to 0.30.0
- [Release notes](https://github.com/tfranzel/drf-spectacular/releases)
- [Changelog](https://github.com/tfranzel/drf-spectacular/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/tfranzel/drf-spectacular/compare/0.29.0...0.30.0)

Updates `dulwich` from 1.2.6 to 1.2.10
- [Release notes](https://github.com/dulwich/dulwich/releases)
- [Changelog](https://github.com/jelmer/dulwich/blob/main/NEWS)
- [Commits](https://github.com/dulwich/dulwich/compare/dulwich-1.2.6...dulwich-1.2.10)

Updates `fido2` from 2.2.0 to 2.2.1
- [Release notes](https://github.com/Yubico/python-fido2/releases)
- [Changelog](https://github.com/Yubico/python-fido2/blob/main/NEWS)
- [Commits](https://github.com/Yubico/python-fido2/compare/2.2.0...2.2.1)

Updates `grpcio` from 1.81.1 to 1.82.1
- [Release notes](https://github.com/grpc/grpc/releases)
- [Commits](https://github.com/grpc/grpc/compare/v1.81.1...v1.82.1)

Updates `jinxed` from 2.0.4 to 2.1.0
- [Release notes](https://github.com/Rockhopper-Technologies/jinxed/releases)
- [Commits](https://github.com/Rockhopper-Technologies/jinxed/compare/2.0.4...2.1.0)

Updates `pillow` from 12.2.0 to 12.3.0
- [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.2.0...12.3.0)

Updates `python-fsutil` from 0.16.1 to 0.17.0
- [Release notes](https://github.com/fabiocaccamo/python-fsutil/releases)
- [Changelog](https://github.com/fabiocaccamo/python-fsutil/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fabiocaccamo/python-fsutil/compare/0.16.1...0.17.0)

Updates `rpds-py` from 2026.5.1 to 2026.6.3
- [Release notes](https://github.com/crate-py/rpds/releases)
- [Changelog](https://github.com/crate-py/rpds/blob/main/release.toml)
- [Commits](https://github.com/crate-py/rpds/compare/v2026.5.1...v2026.6.3)

Updates `sentry-sdk` from 2.63.0 to 2.64.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.63.0...2.64.0)

Updates `setuptools` from 82.0.1 to 83.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/v82.0.1...v83.0.0)

Updates `tqdm` from 4.68.3 to 4.68.4
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.68.3...v4.68.4)

Updates `typing-extensions` from 4.15.0 to 4.16.0
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.15.0...4.16.0)

Updates `tzdata` from 2026.2 to 2026.3
- [Release notes](https://github.com/python/tzdata/releases)
- [Changelog](https://github.com/python/tzdata/blob/master/NEWS.md)
- [Commits](https://github.com/python/tzdata/compare/2026.2...2026.3)

Updates `wcwidth` from 0.8.1 to 0.8.2
- [Release notes](https://github.com/jquast/wcwidth/releases)
- [Commits](https://github.com/jquast/wcwidth/compare/0.8.1...0.8.2)

Updates `coverage` from 7.14.3 to 7.15.0
- [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.14.3...7.15.0)

Updates `prek` from 0.4.5 to 0.4.8
- [Release notes](https://github.com/j178/prek/releases)
- [Changelog](https://github.com/j178/prek/blob/master/CHANGELOG.md)
- [Commits](https://github.com/j178/prek/compare/v0.4.5...v0.4.8)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-version: 1.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: blessed
  dependency-version: 1.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: boto3
  dependency-version: 1.43.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.43.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: cffi
  dependency-version: 2.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: charset-normalizer
  dependency-version: 3.4.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: drf-spectacular
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: dulwich
  dependency-version: 1.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: fido2
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: grpcio
  dependency-version: 1.82.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: jinxed
  dependency-version: 2.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pillow
  dependency-version: 12.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: python-fsutil
  dependency-version: 0.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: rpds-py
  dependency-version: 2026.6.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.64.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: setuptools
  dependency-version: 83.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: tqdm
  dependency-version: 4.68.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: typing-extensions
  dependency-version: 4.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: tzdata
  dependency-version: '2026.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wcwidth
  dependency-version: 0.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: coverage
  dependency-version: 7.15.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: prek
  dependency-version: 0.4.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

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

* fix style

* lower drf-spectacular to remove api diff

---------

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-07-22 22:22:26 +10:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Matthias Mair
872cea95ff chore(deps): bump pillow from 12.2.0 to 12.3.0 in /src/backend (#12438)
* chore(deps): bump pillow from 12.2.0 to 12.3.0 in /src/backend

Bumps [pillow](https://github.com/python-pillow/Pillow) from 12.2.0 to 12.3.0.
- [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.2.0...12.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 12.3.0
  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-07-22 22:22:02 +10:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5234f82253 chore(deps): bump brace-expansion from 5.0.6 to 5.0.7 in /src/frontend (#12439)
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 5.0.6 to 5.0.7.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.6...v5.0.7)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-21 20:17:59 +10:00
Alex KandGitHub ce47cda948 Read report/label templates in binary mode (#12432)
* Read report/label templates in binary mode

file_from_template read the template in text mode and wrapped the string
in a ContentFile. The ContentFile size then reflected the character count,
which differs from the UTF-8 byte length for any template that contains
multi-byte characters. Strict S3 implementations such as Backblaze B2
validate the Content-Length header and reject the upload with an
IncompleteBody error. AWS S3 tolerates the mismatch, so the problem is
not visible there.

inventree_transfer_order_report.html is 1458 characters but 1460 bytes.
Its upload fails during create_default_reports, the transaction rolls
back, and the default template is recreated and fails again on every
startup.

Use Path.read_bytes() so the ContentFile size matches the uploaded bytes
and the file handle is closed. Add a regression test asserting the size
equals the file's byte length.

* Test file_from_template across text encodings
2026-07-21 20:17:17 +10:00
OliverandGitHub 8b009e8d9f Locking fixes (#12435)
* Secure row locks when trimming allocated stock

* Secure row locks when completing a SalesOrder

* Regression testing

* Further improvements and regression testing

* Ignore locking test for sqlite
2026-07-21 16:17:56 +10:00
OliverandGitHub 4739d59c0b [bug] Bom table fix (#12436)
* Fix logic for table context menu

* Memoize handleCellContextMenu
2026-07-21 16:12:00 +10:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
0c8dd5dac1 New Crowdin translations by GitHub Action (#12425)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-21 11:41:59 +10:00
OliverandGitHub 7973057ad9 Improve request caching for plugin config objects (#12430)
* Improve request caching for plugin config objects

* Cache configs dict further
2026-07-21 10:23:50 +10:00
OliverandGitHub 4c4c86e180 [feature] Line discount (#12393)
* Add "discount" support to order line items

* Fix total_price annotation for ExtraLineItem

* Add regression tests

* Add frontend support

* Updated documentation

* Added docs

* Bump API version and CHANGELOG

* Remove 'total_price' annotation

- Can be achieved using in-memory python methods

* Apply fix for migration testing

* Revert "Apply fix for migration testing"

This reverts commit 8d9f2dce8c.

* Different approach

* Adjust playwright threshold
2026-07-20 20:42:54 +10:00
Senior Data Engineer & Data ArchitectandGitHub 44d8d0e266 fix(ui): show initial stock fields when PART_CREATE_INITIAL enabled (#12415)
* fix(ui): show initial stock fields when PART_CREATE_INITIAL enabled (#12266)

* Fix Docker setup for local Windows deployment.

Disable Redis disk persistence to avoid bind-mount permission errors that caused login 500s, and configure localhost as the default site URL.

* Apply Biome formatting to Playwright test file.

Fixes Style [prek] CI failure on PR #12415.

* Use specific locators in initial stock Playwright tests.

Avoid strict-mode violations from getByText('Initial Stock') matching multiple form elements.

* Scope initial stock Playwright test to part detail Stock tab.

Avoid strict-mode violations from duplicate Stock tabs on the part page.

* Use raw SQL inserts in MPTT migration test setup.

Avoid duplicate status_custom_key ORM bug in historical StockItem models.
2026-07-20 19:05:54 +10:00
8075c3ee37 Fix creation date formatting on part detail page (#12423)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-07-20 15:33:42 +10:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
d365cb44aa New Crowdin translations by GitHub Action (#12408)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-20 14:33:36 +10:00
Leonid ZaliubovskyiandGitHub 3ddf792a59 Fix update notification deduplication and release link (#12424) 2026-07-20 14:33:25 +10:00
br413andGitHub fcbe4302b9 feat(ui): show variant stock indicator in parts table (#5959) (#12413) 2026-07-20 09:49:50 +10:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
c1e1fd89f9 New Crowdin translations by GitHub Action (#12318)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-16 19:02:44 +10:00
OliverandGitHub b52980d2ed [UI] Display error information in boundary (#12403)
* Display error information in boundary

* Fix SecurityContext
2026-07-16 15:36:09 +10:00
OliverandGitHub 5422896288 Bulk create events (#12405)
* Add initial benchmark test

* Enable event batching for BulkdCreate API mixin

* Fix duplicate save event for Parameter

* Apply event batching for bulk_update

* Similar testing for bulk_delete
2026-07-16 14:24:00 +10:00
OliverandGitHub a09479665a prevent duplicate save event when creating a part (#12406) 2026-07-16 14:23:44 +10:00
OliverandGitHub 3fd0e9d304 Bulk delete line items (#12391)
* Add bulk-delete mixin for order line items

* Add unit tests

* Enable frontend support

* Add CHANGELOG entry

* Add locking control for TransferOrder

* Fix playwright tests

* Fix playwright tests
2026-07-16 11:55:34 +10:00
OliverandGitHub 8407f63656 [bug] Tree parent fix (#12401)
* Refactor

* row locking on bulk-update

* Rebuild tree in background task

* Regression testing

* Fix unit test

* Allow more generous timeout
2026-07-16 10:05:01 +10:00
gunstrandGitHub 1dd261e918 Add revision to SO and BO tables (#12398)
* Add a Revision column renderer

* Add Revision to SO and BO tables

* Move Description column after IPN and Revision to be consistent with other tables
2026-07-15 10:01:41 +10:00
OliverandGitHub 70749ed93c Fix StockItem parent update on delete (#12377)
* Fix StockItem parent update on delete

* Check for null parents
2026-07-14 16:29:30 +10:00
OliverandGitHub afbe3b3ab9 Bug fixes (#12365)
* Bug fixes:

- Enforce serial number requirements when receiving items
- Stricter merge checking
- Fix count-into-location bug
- Unit testing

* Additional unit tests
2026-07-14 16:00:26 +10:00
OliverandGitHub 61dcc04205 [feature] Unique parameters (#12388)
* Add uniqueness requirement for parameter values

* Add documentation

* Do not copy unique parameters

* Updated playwright tests

* Enhanced validation checks for uniqueness

* Update documentation

* Update CHANGELOG

* Bump API version
2026-07-14 14:34:17 +10:00
OliverandGitHub 183e6c37b1 Fix for BuildItem with zero quantity (#12387) 2026-07-14 12:41:40 +10:00
OliverandGitHub 2b25a46eaa Prevent duplication completion of ReturnOrder (#12386) 2026-07-14 12:06:53 +10:00
OliverandGitHub fcc68ee69f Apply row-level locking when updating stock item quantity (#12385) 2026-07-14 12:02:02 +10:00
OliverandGitHub 6be654954e [refactor] SalesOrder allocation fixes (#12379)
* Use API for unit test

* Refactor SalesOrderSerialAllocationSerializer

- Move business logic into the SalesOrder model

* Add unit testing for serial allocation
2026-07-14 10:34:54 +10:00
OliverandGitHub d9b9a87893 [bug] Quantity fixes (#12375)
- Ensure valid quantity values on stock operations
- Regression testing
2026-07-14 10:25:27 +10:00
OliverandGitHub b64182b565 Uninstall fix (#12378)
* Prevent uninstall into structural location

* Regression tests
2026-07-13 20:21:56 +10:00
OliverandGitHub a12fd546ff use new helper func (#12373) 2026-07-13 18:54:10 +10:00
OliverandGitHub 431a6e49a0 fix concurrent update issues (#12380)
- Ensure database values are used for delta updates
- Regression tests
2026-07-13 18:53:18 +10:00
OliverandGitHub dd05611ea4 Hardening build outputs (#12376)
- ensure outputs cannot be double completed
2026-07-13 18:53:07 +10:00
OliverandGitHub 31f97934d0 [bug] Child fix (#12374)
* Remove outdated helper

* Fix children prop and add regression test
2026-07-13 18:48:49 +10:00
OliverandGitHub 766a8b41db [refactor] Remove MPTT mixin from StockItem model (#12360)
* Remove MPTT from StockItem model

* cleanup stock fixture file

* Remove tree rebuild code for StockItem

* Adjust API

* Update CHANGELOG  and API version

* remove tree references

* Additional checks

* Remove unused tests

* Add data migration test

* fix fk fields

* Cleanup

* Tweak unit test

* Revert bulk-create in unit test

* Don't rebuild StockItem models

* Add bulk_create_and_fetch helper model

- Overcome limitations of mysql

* Add unit test for new bulk-create helper

* Apply new helper to codebase

* Adjust unit test

* bug fix

* Adjust query limits

* Remove assert
2026-07-13 15:09:27 +10:00
OliverandGitHub 85e13b26ec Prevent duplicate receive operation on ReturnOrder (#12368) 2026-07-13 14:53:01 +10:00