Oliver
fe82ff1f9e
[refactor] Improve efficiency of check_missing_pricing ( #12572 )
2026-08-08 17:17:20 +10:00
Oliver
66b95cde5b
[API] Handle AppRegistryNotReady ( #12571 )
...
Explicit handling for AppRegistryNotReady error
2026-08-08 16:11:30 +10:00
Oliver
358c464349
Barcode API bugs ( #12565 )
...
* Add explicit permission checks for barcode scanning
- Previous role_required attribute did not do anything
* Additional unit tests
2026-08-08 14:17:50 +10:00
Oliver
ad818889df
Deduplicate part pricing updates per session ( #12564 )
2026-08-08 12:27:32 +10:00
Oliver
badf7ab300
Handle missing part ( #12566 )
...
Part instance may have already been deleted in post_delete hook for related models.
2026-08-08 12:27:19 +10:00
Oliver
02ee7ca2a1
Fix permissions for group and RuleSet endpoints ( #12563 )
...
- Require StaffRole in addition to is_staff
2026-08-08 10:43:15 +10:00
4a7970b61f
chore(deps): bump cryptography from 49.0.0 to 50.0.0 in /src/backend ( #12546 )
...
* chore(deps): bump cryptography from 49.0.0 to 50.0.0 in /src/backend
Bumps [cryptography](https://github.com/pyca/cryptography ) from 49.0.0 to 50.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/pyca/cryptography/compare/49.0.0...50.0.0 )
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 50.0.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-08-05 21:27:27 +12:00
Oliver
8998d835a4
[API] Optional field permissions ( #12529 )
...
* Add permissions check for OptionalField
* Adjust existing unit tests
* Add caching
* Additional tests
* Additional testing
* Add exclusions for owner and group models
* Bump CHANGELOG
* Detect demo branch based on software version
* Updated docstrings
2026-08-04 07:03:12 +12:00
5e9a840e41
chore(deps): bump the dependencies group across 1 directory with 9 updates ( #12526 )
...
* chore(deps): bump the dependencies group across 1 directory with 9 updates
Bumps the dependencies group with 9 updates in the /src/backend directory:
| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3 ) | `1.43.53` | `1.43.55` |
| [botocore](https://github.com/boto/botocore ) | `1.43.53` | `1.43.55` |
| [django-oauth-toolkit](https://github.com/django-oauth/django-oauth-toolkit ) | `3.3.0` | `3.4.0` |
| [grpcio](https://github.com/grpc/grpc ) | `1.82.1` | `1.83.0` |
| [s3transfer](https://github.com/boto/s3transfer ) | `0.19.1` | `0.19.2` |
| [tqdm](https://github.com/tqdm/tqdm ) | `4.69.0` | `4.69.1` |
| [prek](https://github.com/j178/prek ) | `0.4.10` | `0.4.11` |
| [types-psycopg2](https://github.com/python/typeshed ) | `2.9.21.20260712` | `2.9.21.20260724` |
| [types-pyyaml](https://github.com/python/typeshed ) | `6.0.12.20260518` | `6.0.12.20260724` |
Updates `boto3` from 1.43.53 to 1.43.55
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.53...1.43.55 )
Updates `botocore` from 1.43.53 to 1.43.55
- [Commits](https://github.com/boto/botocore/compare/1.43.53...1.43.55 )
Updates `django-oauth-toolkit` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/django-oauth/django-oauth-toolkit/releases )
- [Changelog](https://github.com/django-oauth/django-oauth-toolkit/blob/master/CHANGELOG.md )
- [Commits](https://github.com/django-oauth/django-oauth-toolkit/compare/3.3.0...3.4.0 )
Updates `grpcio` from 1.82.1 to 1.83.0
- [Release notes](https://github.com/grpc/grpc/releases )
- [Commits](https://github.com/grpc/grpc/compare/v1.82.1...v1.83.0 )
Updates `s3transfer` from 0.19.1 to 0.19.2
- [Changelog](https://github.com/boto/s3transfer/blob/develop/CHANGELOG.rst )
- [Commits](https://github.com/boto/s3transfer/compare/0.19.1...0.19.2 )
Updates `tqdm` from 4.69.0 to 4.69.1
- [Release notes](https://github.com/tqdm/tqdm/releases )
- [Commits](https://github.com/tqdm/tqdm/compare/v4.69.0...v4.69.1 )
Updates `prek` from 0.4.10 to 0.4.11
- [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.10...v0.4.11 )
Updates `types-psycopg2` from 2.9.21.20260712 to 2.9.21.20260724
- [Commits](https://github.com/python/typeshed/commits )
Updates `types-pyyaml` from 6.0.12.20260518 to 6.0.12.20260724
- [Commits](https://github.com/python/typeshed/commits )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.55
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.55
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-oauth-toolkit
dependency-version: 3.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: grpcio
dependency-version: 1.83.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: s3transfer
dependency-version: 0.19.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: tqdm
dependency-version: 4.69.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: prek
dependency-version: 0.4.11
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: types-psycopg2
dependency-version: 2.9.21.20260724
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: types-pyyaml
dependency-version: 6.0.12.20260724
dependency-type: direct:development
update-type: version-update:semver-patch
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-08-03 05:48:00 +10:00
Oliver
d024a3fe2f
Fix for N+1 issues in stock item serializing ( #12534 )
2026-08-01 20:35:11 +10:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
5216203e0d
New Crowdin translations by GitHub Action ( #12512 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-01 08:59:43 +10:00
Oliver
b50ad42a3e
Row locking for data import / update ( #12515 )
...
- Concurrency protection for data imports
2026-07-31 12:15:39 +10:00
Oliver
76a0005b61
Handle report error on missing svg data ( #12514 )
...
* Handle report error on missing svg data
* Add regression tests
2026-07-31 11:46:38 +10:00
Oliver
16639f35ac
Fix for data import "update" ( #12513 )
...
- Use partial update on serializer
- Mark other fields as not required (pk only)
2026-07-31 11:43:34 +10:00
Bhumin Paladiya
5d758bbdf4
Fix admin search for PurchaseOrderLineItem ( #12508 )
...
Expand search_fields on PurchaseOrderLineItemAdmin to allow
searching by part name, part description, supplier SKU,
order reference, and supplier name.
Previously, only the optional 'reference' field was searchable,
making it impossible to find line items by part or order details.
- part__part__name: search by underlying Part name
- part__part__description: search by Part description
- part__SKU: search by Supplier SKU
- order__reference: search by Purchase Order reference
- order__supplier__name: search by Supplier name
Also adds a unit test to verify the search_fields are correctly
configured.
2026-07-31 10:24:05 +10:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
20ea122a8b
New Crowdin translations by GitHub Action ( #12437 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-29 19:47:41 +10:00
Oliver
4b9bea17de
remove errant test report ( #12496 )
2026-07-29 07:42:53 +10:00
Oliver
6dda125e5c
Concurrency fix for scheduled tasks ( #12493 )
...
- Prevent multiple instances of scheduled tasks from plugins
2026-07-29 00:22:19 +10:00
Oliver
73c0bb9603
Improve validation for import session ( #12492 )
...
- Ensure that validated data is a dict shape
2026-07-28 23:50:44 +10:00
Oliver
e918d84f60
Token save fix ( #12491 )
...
- Only update 'last_seen' field
2026-07-28 23:50:34 +10:00
Oliver
e6d1ceb20b
Filtering for report snippets ( #12487 )
...
* Filtering for report snippets
* Bump API version
2026-07-28 22:52:54 +10:00
Oliver
1cee1bdefb
[API] Refactor stock adjustment endpoints ( #12488 )
2026-07-28 18:49:32 +10:00
Oliver
45f3810a8b
Build output serial number docs ( #12486 )
...
* Remove serial number restriction when creating build outputs
* Updated docs
* additional docs
2026-07-28 18:49:14 +10:00
Oliver
6302748ec8
[bug] Unique constraint for serial numbers ( #12483 )
...
* Unique constraint for serial numbers
* Revert unrelated changes
* Updated tests
2026-07-28 16:30:32 +10:00
Oliver
4a8ee54ee7
[bug] Fix concurrency issues for allocation ( #12478 )
...
* Fix concurrency issues for allocation
* Remove duplicate atomic call
* Reduce query count
2026-07-28 12:37:01 +10:00
Matthias Mair and Oliver
253aee1ff3
fix(backend): registry install command ( #11657 )
...
* Unable to install plugins through web UI using custom registry and/or Python wheel files.
Fixes #11460
* use more fitting variable name
* add typing
* clean up logic flow - make easier to understand
* make check easier to understand
* reduce complexity
* ensure user is tested
* add more tests
* add user validation
* move test
* disable uninstall in test
* Update test_api.py
* style fix
* fix typing
* check if pip exsists
* fix gate
* fix typo
* reference pip instead
* make test more tolerant
* revert permission check change
* remove new test
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-07-28 11:06:06 +10:00
Oliver
b33dda76d3
Refactor sales order methods: ( #12477 )
...
- Cancel sales order
- Assign serial numbers
2026-07-27 17:37:14 +10:00
Oliver
eb5138127b
[UI] Add search result preview ( #12475 )
...
* [UI] Add search result preview
* Updated search docs
2026-07-27 16:02:33 +10:00
Oliver
35f2f1aab6
On order filter ( #12476 )
...
* Add "on order" filter for Part model
- Added API filter
- Added table filter
- Added table column
* Bump API version
* Add table sorting
* Adjust API text
2026-07-27 13:01:56 +10:00
Senior Data Engineer
e43390badb
Add configurable default for PO line item merging ( #12472 )
...
* Add configurable default for PO line item merging
Introduce PURCHASEORDER_MERGE_LINE_ITEMS global setting to control the
default state of the merge_items option when creating purchase order lines.
Fixes #10947
* Apply ruff and biome formatting for CI
2026-07-27 11:10:11 +10:00
Oliver
b5abf47115
Offfload email notification ( #12470 )
...
* Offfload email notification
* Run email sync in testing
2026-07-27 10:56:05 +10:00
Oliver
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
Oliver
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 Mair
ea68eaf258
chore(backend): major allauth bump ( #12454 )
...
* mayjor allauth bump
* add PR link
2026-07-24 06:26:05 +00:00
Oliver
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
Oliver
6bd4842fd8
[bug] Attachment str fix ( #12461 )
...
* Fix stringify for Attachment model
* Add regression tests
2026-07-24 12:30:40 +10:00
Oliver and Matthias Mair
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
Oliver
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
Oliver
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
Dean
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 Mair and dependabot[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
Bhumin Paladiya
8d8ecf2c4c
Fix admin search for Address and Contact models ( #12440 )
2026-07-23 09:08:36 +10:00
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
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
Alex K
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
Oliver
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
github-actions[bot] and github-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
Oliver
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
Oliver
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 Architect
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