amanjain57-gif and Aman Jain
ee4ad7fd10
feat: add piece_count and piece_size fields to BomItem for cut-to-length parts ( #12422 )
...
* feat: add piece_count and piece_size fields to BomItem for cut-to-length parts
Manufacturing BOMs frequently require multiple pieces of a specific size
cut from continuous stock (cables, tubing, structural profiles). Currently
the only way to express "10 pieces of 250mm cable" is to enter the total
length (2.5m) as quantity, which loses the piece-count information that
purchasing and production need.
This adds two optional fields to BomItem:
- piece_count: number of discrete pieces required (default: 1)
- piece_size: size/length of each piece (e.g. "250 mm")
When piece_size is specified, the total quantity is auto-calculated as
piece_count × piece_size, maintaining full backward compatibility (existing
items effectively have piece_count=1 and empty piece_size).
Changes:
- Backend: new model fields, migration, updated recalculate_quantity()
logic, hash_fields for BOM validation
- API: serializer exposes piece_count and piece_size
- Frontend: BOM form includes the new fields, BOM table shows them as
optional columns
Addresses #10274
* refactor: simplify to single piece_count field per reviewer feedback
Remove the piece_size field entirely. The existing quantity field already
represents the per-piece size/length, so piece_count multiplied by
quantity gives the total material requirement.
Example: quantity=200mm, piece_count=10 → total 2m of wire in 10 pieces.
Changes:
- Remove piece_size model field, serializer field, and frontend column/form
- Update migration to only add piece_count
- Update get_required_quantity() to multiply by piece_count
- Restore original recalculate_quantity() without piece_size logic
* test/docs: add unit tests and documentation for piece_count field
* style: replace ambiguous × with x to fix RUF002 lint error
* Address review feedback: api_version bump, changelog, style fix
- Bump INVENTREE_API_VERSION to 531 with entry for piece_count field
- Add CHANGELOG.md entry under Unreleased > Added
- Fix RUF001: replace ambiguous × with x in serializers.py help_text
* fix: align piece_count migration help_text with model (RUF001)
The 0153 AddField recorded help_text with a Unicode multiplication sign
(×), while the model field uses plain 'x' after the RUF001 fix. This
mismatch made makemigrations --check flag an unstaged
0154_alter_bomitem_piece_count migration, failing the DB test CI jobs.
Update the original migration's help_text (and docstring) to plain 'x'
so the field definition matches the model, keeping a single clean
migration instead of add-then-alter.
* fix: use set_quantity() in piece_count tests
BomItem.quantity is a derived field, recalculated from raw_amount on
every save() via recalculate_quantity(). Setting item.quantity directly
was overwritten back to the fixture value on save, so the tests computed
against quantity=3 and failed. Use set_quantity() (which sets raw_amount)
to match how quantity is meant to be updated.
* ci: re-trigger CI to confirm Firefox E2E failures are transient
---------
Co-authored-by: Aman Jain <jainamn@amazon.com >
2026-08-16 09:43:42 +10:00
Matthias Mair
e4b23b4665
try fixing this flaky test on firefox ( #12640 )
2026-08-14 17:03:50 +10:00
Oliver
4767edfe1b
[bug] Fix broken user setting ( #12638 )
...
- Closes https://github.com/inventree/InvenTree/issues/12637
2026-08-14 08:25:09 +10:00
Oliver
9844a4805e
Allow bulk-edit for ReturnOrderLineItem ( #12635 )
...
* Allow bulk-edit for ReturnOrderLineItem
- Allow bulk change of line item outcome
* Update API version documentation with pull request links
2026-08-13 20:10:10 +10:00
Oliver
695b9c1dc2
[bug] Fix ReturnOrder event registration ( #12633 )
2026-08-13 16:43:22 +10:00
Oliver
13540fceeb
Add docs for return order ( #12632 )
2026-08-13 14:44:27 +10:00
ribsey and Oliver
f5c4bbc6a8
reset errors on update ( #12550 )
...
* reset errors on update
* add empty line
---------
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-08-12 16:38:46 +10:00
Oliver
2b3283d5d2
[bug] OptionalField race condition ( #12627 )
...
* [bug] OptionalField race condition
Fixes subtle bug where OptionalField entries can be silenty dropped from an API request due to concurrent requests / race conditions
* Additional unit tests
* Additional guard in metadata.py
* include extra kwargs
* Adjust import/exporting options
* Fix attribute sharing across class instances
2026-08-12 16:38:04 +10:00
FurinaDog and FurinaDog
55a193e5d7
fix: support UUID notification references ( #12616 )
...
* fix: support UUID notification references
* test: update notification uid expectation
---------
Co-authored-by: FurinaDog <FurinaDog@users.noreply.github.com >
2026-08-12 07:47:25 +10:00
Matthias Mair
1c86102d82
refactor fail limit to match allauth defaults more closely ( #12623 )
2026-08-12 07:46:45 +10:00
Matthias Mair
40c528164f
feat(backend): switch to a more formal FSM approach ( #12507 )
...
* full fsm implementation
closes https://github.com/inventree/InvenTree/issues/12314
based on https://github.com/matmair/InvenTree/pull/721
* update assertations
* refactor to reduce duplication
* move for cleaner diff
* more moving stuff around
* fix assingment
* remove skip
* merge test classes
* re-enable transition plugin tests
* fix docstrings
* add depreciation warning
* fix type
* nitpicks
* small cleanup
* ensure we alwas pass a str
* add backport
* fix marker position
* full fsm implementation
closes https://github.com/inventree/InvenTree/issues/12314
based on https://github.com/matmair/InvenTree/pull/721
* update assertations
* refactor to reduce duplication
* move for cleaner diff
* more moving stuff around
* fix assingment
* remove skip
* merge test classes
* re-enable transition plugin tests
* fix docstrings
* add depreciation warning
* fix type
* nitpicks
* small cleanup
* ensure we alwas pass a str
* add backport
* fix marker position
* fix ty issue
* ignore this corner case
* ensure invalid transitions can raise a nice validation error
* compact code
* add depreciation mark
* make raise_error default (#754 )
* fix merge
* adjust test as this is now not a no-op but a raised error
* fix assertations
* fix test to not take a broken path
* remove unused test statements
* converge
* add test branch for actually working transition
* reduce uneeded code
* ignore depreceated methods
* fix missing coverage
* add prefetch
* reduce diff
2026-08-12 07:45:43 +10:00
Matthias Mair
7cb3d78a5f
refactor(backend): remove network dep from test ( #12624 )
2026-08-12 07:44:49 +10:00
Oliver
77d8470141
[bug] Handle duplicate email addresses for magic links ( #12621 )
2026-08-11 23:49:53 +10:00
Matthias Mair
7a935f6055
fix(frontend): Improve flakiness issues ( #12617 )
...
* small improvements to reduce flakiness
* disable throtteling to fix flaking tests
2026-08-11 18:48:01 +10:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
f054a487ef
New Crowdin translations by GitHub Action ( #12535 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-11 18:47:12 +10:00
Oliver
ad8cb604e9
Bump version number for UI ( #12615 )
2026-08-11 13:16:26 +10:00
Oliver
11a48bffed
Update version for @inventreedb/ui ( #12611 )
...
* Update version for @inventreedb/ui
* Revert yarn.lock changes
2026-08-11 11:51:04 +10:00
Oliver
a3348248ac
[CI] Improve robustness for playwright test ( #12612 )
2026-08-11 11:50:53 +10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
42165a7767
chore(deps): bump the dependencies group across 1 directory with 18 updates ( #12609 )
...
Bumps the dependencies group with 18 updates in the /src/frontend directory:
| Package | From | To |
| --- | --- | --- |
| [@mantine/carousel](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/carousel ) | `9.5.0` | `9.5.1` |
| [@mantine/charts](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/charts ) | `9.5.0` | `9.5.1` |
| [@mantine/core](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/core ) | `9.5.0` | `9.5.1` |
| [@mantine/dates](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dates ) | `9.5.0` | `9.5.1` |
| [@mantine/dropzone](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dropzone ) | `9.5.0` | `9.5.1` |
| [@mantine/form](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/form ) | `9.5.0` | `9.5.1` |
| [@mantine/hooks](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/hooks ) | `9.5.0` | `9.5.1` |
| [@mantine/modals](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/modals ) | `9.5.0` | `9.5.1` |
| [@mantine/notifications](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/notifications ) | `9.5.0` | `9.5.1` |
| [@mantine/spotlight](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/spotlight ) | `9.5.0` | `9.5.1` |
| [@mantine/vanilla-extract](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/vanilla-extract ) | `9.5.0` | `9.5.1` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `10.68.0` | `10.69.0` |
| [@tabler/icons-react](https://github.com/tabler/tabler-icons/tree/HEAD/packages/icons-react ) | `3.45.0` | `3.46.0` |
| [axios](https://github.com/axios/axios ) | `1.18.1` | `1.19.0` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form ) | `7.83.0` | `7.84.0` |
| [@flakiness/playwright](https://github.com/flakiness/playwright ) | `2.0.0` | `2.0.1` |
| [@playwright/test](https://github.com/microsoft/playwright ) | `1.62.0` | `1.62.1` |
| [rollup](https://github.com/rollup/rollup ) | `4.62.3` | `4.62.4` |
Updates `@mantine/carousel` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/carousel )
Updates `@mantine/charts` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/charts )
Updates `@mantine/core` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/core )
Updates `@mantine/dates` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/dates )
Updates `@mantine/dropzone` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/dropzone )
Updates `@mantine/form` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/form )
Updates `@mantine/hooks` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/hooks )
Updates `@mantine/modals` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/modals )
Updates `@mantine/notifications` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/notifications )
Updates `@mantine/spotlight` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/spotlight )
Updates `@mantine/vanilla-extract` from 9.5.0 to 9.5.1
- [Release notes](https://github.com/mantinedev/mantine/releases )
- [Changelog](https://github.com/mantinedev/mantine/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mantinedev/mantine/commits/9.5.1/packages/@mantine/vanilla-extract )
Updates `@sentry/react` from 10.68.0 to 10.69.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/10.69.0/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.68.0...10.69.0 )
Updates `@tabler/icons-react` from 3.45.0 to 3.46.0
- [Release notes](https://github.com/tabler/tabler-icons/releases )
- [Commits](https://github.com/tabler/tabler-icons/commits/v3.46.0/packages/icons-react )
Updates `axios` from 1.18.1 to 1.19.0
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.18.1...v1.19.0 )
Updates `react-hook-form` from 7.83.0 to 7.84.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.83.0...v7.84.0 )
Updates `@flakiness/playwright` from 2.0.0 to 2.0.1
- [Release notes](https://github.com/flakiness/playwright/releases )
- [Commits](https://github.com/flakiness/playwright/compare/v2.0.0...v2.0.1 )
Updates `@playwright/test` from 1.62.0 to 1.62.1
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.62.0...v1.62.1 )
Updates `rollup` from 4.62.3 to 4.62.4
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rollup/rollup/compare/v4.62.3...v4.62.4 )
---
updated-dependencies:
- dependency-name: "@mantine/carousel"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/charts"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/core"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/dates"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/dropzone"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/form"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/hooks"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/modals"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/notifications"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/spotlight"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@mantine/vanilla-extract"
dependency-version: 9.5.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@sentry/react"
dependency-version: 10.69.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@tabler/icons-react"
dependency-version: 3.46.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: axios
dependency-version: 1.19.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: react-hook-form
dependency-version: 7.84.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: "@flakiness/playwright"
dependency-version: 2.0.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: "@playwright/test"
dependency-version: 1.62.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: rollup
dependency-version: 4.62.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 08:55:27 +10:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
beb3aae5ee
chore(deps): bump the dependencies group with 7 updates ( #12608 )
...
Bumps the dependencies group with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [docker/login-action](https://github.com/docker/login-action ) | `4.5.2` | `4.6.0` |
| [j178/prek-action](https://github.com/j178/prek-action ) | `2.0.6` | `3.0.0` |
| [tcort/github-action-markdown-link-check](https://github.com/tcort/github-action-markdown-link-check ) | `1.1.2` | `1.1.3` |
| [CodSpeedHQ/action](https://github.com/codspeedhq/action ) | `4.19.1` | `5.0.2` |
| [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action ) | `0.6.1` | `0.6.2` |
| [actions/attest](https://github.com/actions/attest ) | `4.2.0` | `4.2.1` |
| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action ) | `4.37.3` | `4.37.5` |
Updates `docker/login-action` from 4.5.2 to 4.6.0
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](https://github.com/docker/login-action/compare/371161bbe7024a29a25c5e19bfcbc0804fe9ad2c...dbcb813823bdd20940b903addbd779551569679f )
Updates `j178/prek-action` from 2.0.6 to 3.0.0
- [Release notes](https://github.com/j178/prek-action/releases )
- [Commits](https://github.com/j178/prek-action/compare/5337cb91e0fa35a7ff31b9ca345126d8bbbcdf16...4e14d07f9231acabce116ccfca13b13dd9755ece )
Updates `tcort/github-action-markdown-link-check` from 1.1.2 to 1.1.3
- [Release notes](https://github.com/tcort/github-action-markdown-link-check/releases )
- [Changelog](https://github.com/tcort/github-action-markdown-link-check/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tcort/github-action-markdown-link-check/compare/e7c7a18363c842693fadde5d41a3bd3573a7a225...e047c5b37f24ab722bbef1a27b6fab7f96bc4068 )
Updates `CodSpeedHQ/action` from 4.19.1 to 5.0.2
- [Release notes](https://github.com/codspeedhq/action/releases )
- [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/codspeedhq/action/compare/f22792bfac16f3e14eb9fbea76f4a48e9cc22b93...0ca9cbbf4623b599a6c3ed4fc8a922942705d9f1 )
Updates `zizmorcore/zizmor-action` from 0.6.1 to 0.6.2
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases )
- [Commits](https://github.com/zizmorcore/zizmor-action/compare/6fc4b006235f201fdab3722e17240ab420d580e5...3dc1ecc9bcb9e94e9b2c709687979e1298497054 )
Updates `actions/attest` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/actions/attest/releases )
- [Changelog](https://github.com/actions/attest/blob/main/RELEASE.md )
- [Commits](https://github.com/actions/attest/compare/f7c74d28b9d84cb8768d0b8ca14a4bac6ef463e6...508db95dd578ae2727ebd6217d5ba78e4fbda05d )
Updates `github/codeql-action/upload-sarif` from 4.37.3 to 4.37.5
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](https://github.com/github/codeql-action/compare/e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81...d1ba80a13dd99fba24a470575428917156a28b43 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-version: 4.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: j178/prek-action
dependency-version: 3.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: tcort/github-action-markdown-link-check
dependency-version: 1.1.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: CodSpeedHQ/action
dependency-version: 5.0.2
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: dependencies
- dependency-name: zizmorcore/zizmor-action
dependency-version: 0.6.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: actions/attest
dependency-version: 4.2.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: github/codeql-action/upload-sarif
dependency-version: 4.37.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-11 08:55:16 +10:00
ff16349129
chore(deps): bump dompurify from 3.4.12 to 3.4.13 in /src/frontend ( #12592 )
...
Bumps [dompurify](https://github.com/cure53/DOMPurify ) from 3.4.12 to 3.4.13.
- [Release notes](https://github.com/cure53/DOMPurify/releases )
- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.12...3.4.13 )
---
updated-dependencies:
- dependency-name: dompurify
dependency-version: 3.4.13
dependency-type: direct:production
...
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 >
2026-08-10 23:23:27 +10:00
Oliver
1020ed3009
Fix for API exception_handler ( #12604 )
...
- Only log unhandled exceptions to sentry.io
- Check for valid handling first
- Report second
2026-08-10 23:23:07 +10:00
Oliver
e7503684d0
Bump version number to 1.6.0-rev ( #12603 )
...
* Bump version number to 1.6.0-rev
* Add release date
* Add next version entry
2026-08-10 21:58:40 +10:00
c622a65661
chore(deps): bump the dependencies group across 1 directory with 10 updates ( #12561 )
...
* chore(deps): bump the dependencies group across 1 directory with 10 updates
Bumps the dependencies group with 10 updates in the /src/backend directory:
| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3 ) | `1.43.55` | `1.43.61` |
| [botocore](https://github.com/boto/botocore ) | `1.43.55` | `1.43.61` |
| [django-anymail](https://github.com/anymail/django-anymail ) | `15.0` | `15.1` |
| [feedparser](https://github.com/kurtmckee/feedparser ) | `6.0.12` | `6.0.14` |
| [markdown](https://github.com/Python-Markdown/markdown ) | `3.10.2` | `3.10.3` |
| [redis](https://github.com/redis/redis-py ) | `8.0.1` | `8.1.0` |
| [tablib](https://github.com/jazzband/tablib ) | `3.9.0` | `3.10.0` |
| [tqdm](https://github.com/tqdm/tqdm ) | `4.69.1` | `4.70.0` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt ) | `2.2.2` | `2.3.0` |
| [pip](https://github.com/pypa/pip ) | `26.1.2` | `26.2` |
Updates `boto3` from 1.43.55 to 1.43.61
- [Release notes](https://github.com/boto/boto3/releases )
- [Commits](https://github.com/boto/boto3/compare/1.43.55...1.43.61 )
Updates `botocore` from 1.43.55 to 1.43.61
- [Commits](https://github.com/boto/botocore/compare/1.43.55...1.43.61 )
Updates `django-anymail` from 15.0 to 15.1
- [Release notes](https://github.com/anymail/django-anymail/releases )
- [Changelog](https://github.com/anymail/django-anymail/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/anymail/django-anymail/compare/v15.0...v15.1 )
Updates `feedparser` from 6.0.12 to 6.0.14
- [Release notes](https://github.com/kurtmckee/feedparser/releases )
- [Changelog](https://github.com/kurtmckee/feedparser/blob/main/CHANGELOG.rst )
- [Commits](https://github.com/kurtmckee/feedparser/compare/v6.0.12...v6.0.14 )
Updates `markdown` from 3.10.2 to 3.10.3
- [Release notes](https://github.com/Python-Markdown/markdown/releases )
- [Changelog](https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md )
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.10.2...3.10.3 )
Updates `redis` from 8.0.1 to 8.1.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/v8.0.1...v8.1.0 )
Updates `tablib` from 3.9.0 to 3.10.0
- [Release notes](https://github.com/jazzband/tablib/releases )
- [Changelog](https://github.com/jazzband/tablib/blob/master/HISTORY.md )
- [Commits](https://github.com/jazzband/tablib/compare/v3.9.0...v3.10.0 )
Updates `tqdm` from 4.69.1 to 4.70.0
- [Release notes](https://github.com/tqdm/tqdm/releases )
- [Commits](https://github.com/tqdm/tqdm/compare/v4.69.1...v4.70.0 )
Updates `wrapt` from 2.2.2 to 2.3.0
- [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/2.2.2...2.3.0 )
Updates `pip` from 26.1.2 to 26.2
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst )
- [Commits](https://github.com/pypa/pip/compare/26.1.2...26.2 )
---
updated-dependencies:
- dependency-name: boto3
dependency-version: 1.43.61
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: botocore
dependency-version: 1.43.61
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: django-anymail
dependency-version: '15.1'
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: feedparser
dependency-version: 6.0.14
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: markdown
dependency-version: 3.10.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: redis
dependency-version: 8.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: tablib
dependency-version: 3.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: tqdm
dependency-version: 4.70.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: wrapt
dependency-version: 2.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: pip
dependency-version: '26.2'
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-08-10 21:28:29 +10:00
Matthias Mair
324b0ca012
feat(backend): add throtteling by default ( #11951 )
...
* feat(backend): add throtteling by default
* add changelog entry
* ignore throtetling in debug mode
* increase threshold
2026-08-10 18:41:15 +10:00
Oliver
1b20920e4a
[security] Additional SSRF protections ( #12595 )
...
Tighten SSRF protections when fetching from external URLs
2026-08-10 18:32:49 +10:00
edae156439
chore(deps): bump pypdf from 6.14.2 to 6.15.0 in /src/backend ( #12594 )
...
* chore(deps): bump pypdf from 6.14.2 to 6.15.0 in /src/backend
Bumps [pypdf](https://github.com/py-pdf/pypdf ) from 6.14.2 to 6.15.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.14.2...6.15.0 )
---
updated-dependencies:
- dependency-name: pypdf
dependency-version: 6.15.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-10 16:13:05 +10:00
a384576cff
chore(deps): bump gitpython from 3.1.57 to 3.1.58 in /docs ( #12593 )
...
* chore(deps): bump gitpython from 3.1.57 to 3.1.58 in /docs
Bumps [gitpython](https://github.com/gitpython-developers/GitPython ) from 3.1.57 to 3.1.58.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases )
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES )
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.57...3.1.58 )
---
updated-dependencies:
- dependency-name: gitpython
dependency-version: 3.1.58
dependency-type: indirect
...
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-10 15:53:21 +10:00
Oliver
e55a6e78d2
[UI] Bulk Delete Enhancements ( #12601 )
...
* Add optional filtering for bulkDelete
* Enhanced pre-form content
2026-08-10 15:53:03 +10:00
siddhartha28 and Siddhartha Ravilla
76bce6a7b1
Fix Install Stock Items shows only selected parts ( #12596 )
...
* Bug Fix Install Stock Item showing variant stock when BOM disallows variants
* Add regression test for include_variants stock filter
---------
Co-authored-by: Siddhartha Ravilla <ravilla.si@northeastern.edu >
2026-08-09 17:57:18 +10:00
214f472ec9
Fix test result ordering by test timestamps ( #12533 )
...
* Fix test result ordering by test timestamps
* Refractor test result comparison helper
* Apply formatting fixes
* Fix frontend formatting
* Avoid mutating test result records
* Add migration for test result ordering
* Retry documentation build
---------
Co-authored-by: jayasree723 <confidentlehmann@tomorjerry.com >
Co-authored-by: Oliver <oliver.henry.walters@gmail.com >
2026-08-09 09:56:48 +10:00
Oliver
afcc89ecfb
Data import fix ( #12568 )
...
* Specify JSON encoder for data import fields
- Fixes encoding issues when importing from XLSX file
* Add regression test
* Fix faulty error handler
* Fix for unit test
2026-08-09 08:19:19 +10:00
Oliver
901dc024c0
[bug] Fix for plugin fetching ( #12590 )
...
- Prevent operation on stale plugin
2026-08-09 08:19:01 +10:00
Oliver and Matthias Mair
eb37082149
[docker] Include pip license file ( #12583 )
...
* [docker] Include pip license file
This file has been missing in production builds
* Add CI test
* Update contrib/container/Dockerfile
Co-authored-by: Matthias Mair <code@mjmair.com >
* Fix typo
* path fix
* More pathing fixes
---------
Co-authored-by: Matthias Mair <code@mjmair.com >
2026-08-09 07:27:15 +10:00
Oliver
bc150e09e8
[docs] Improve setup guide for non-standard hosting ( #12588 )
...
* [docs] Updated docs for complex server setups
Ref: https://github.com/inventree/InvenTree/discussions/12538
* Add FAQ entry
2026-08-09 07:26:56 +10:00
Oliver
61fe3c9ce5
[bug] Fix PartStocktakeSerializer ( #12587 )
...
Closes https://github.com/inventree/InvenTree/issues/12555
2026-08-09 07:26:37 +10:00
Oliver and Matthias Mair
94024ad23e
[bug] Validate location when completing build outputs ( #12570 )
...
* [bug] Validate location when completing build outputs
- Cannot be structural
* Fix unit test
---------
Co-authored-by: Matthias Mair <code@mjmair.com >
2026-08-08 23:27:53 +10:00
Oliver
c0ed42549f
[API] Restrict barcode scan history ( #12569 )
...
- A non-staff user can only view their own results
2026-08-08 21:56:47 +10:00
Oliver
28fea388f6
[bug] Handle deleted Part ( #12578 )
2026-08-08 21:56:25 +10:00
Oliver
6cdc21c308
[sentry] Do not report MethodNotAllowed ( #12584 )
2026-08-08 20:51:21 +10:00
Oliver
21819ebc78
Fix flaky test on sqlite ( #12582 )
2026-08-08 20:27:50 +10:00
Oliver
5c798f4237
[bug] Fix part duplicate checks ( #12574 )
...
* [bug] Fix part duplicate checks
* Additional unit tests
2026-08-08 19:11:46 +10:00
Oliver
cf2f64c83a
[bug] Fix getLogoImage helper ( #12577 )
...
* [bug] Fix getLogoImage helper
- Do not return a file:// URI
* cleanup code
2026-08-08 19:11:32 +10:00
Oliver
f1e6ec249d
[bug] Fix post-delete actions ( #12575 )
...
- Check that underlying part is still available
2026-08-08 17:58:21 +10:00
Oliver
9b5c69da26
[bug] excel encoding for data import ( #12576 )
...
- Handle different encoding types for excel import
- Fail cleanly if cannot read file
2026-08-08 17:58:01 +10:00
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