Commit Graph
2772 Commits
Author SHA1 Message Date
Matthias Mair 97f7c039c9 fix lease issue (#12828) 2026-09-09 07:15:05 +10:00
Oliver 7cd74eecd4 Migration fix (#12808)
* Fix for Note migration

- Handles case where data migration is running on a DB which does not support RETURNING

* Run migration tests against all supported backends

* Fix typo

* Adjust CI workflows

* TZ migration fix

* Tweak migration test

* Adjust migration tests

* Ensure consistent ordering

* Bump API version

* Fix tests to allow non psql database support
2026-09-08 18:50:13 +10:00
Oliver 0a5b04b16d [UI] Bug fix for duplicating purchase order line item (#12822) 2026-09-08 14:52:35 +10:00
Oliver ef42a7b309 Attachment filtering by filename (#12807)
* Attachment filtering by filename

* Update API version
2026-09-08 09:25:20 +10:00
Oliver 5ffd777f5d Fix for recursive custom units (#12815) 2026-09-08 08:24:44 +10:00
dependabot[bot] ef2ecbd59d chore(deps): bump the dependencies group across 1 directory with 25 updates (#12818)
Bumps the dependencies group with 25 updates in the /src/frontend directory:

| Package | From | To |
| --- | --- | --- |
| [@codemirror/search](https://github.com/codemirror/search) | `6.7.1` | `6.7.2` |
| [@codemirror/state](https://github.com/codemirror/state) | `6.7.1` | `6.7.2` |
| [@codemirror/view](https://github.com/codemirror/view) | `6.43.9` | `6.43.10` |
| [@mantine/carousel](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/carousel) | `9.5.2` | `9.6.0` |
| [@mantine/charts](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/charts) | `9.5.2` | `9.6.0` |
| [@mantine/core](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/core) | `9.5.2` | `9.6.0` |
| [@mantine/dates](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dates) | `9.5.2` | `9.6.0` |
| [@mantine/dropzone](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/dropzone) | `9.5.2` | `9.6.0` |
| [@mantine/form](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/form) | `9.5.2` | `9.6.0` |
| [@mantine/hooks](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/hooks) | `9.5.2` | `9.6.0` |
| [@mantine/modals](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/modals) | `9.5.2` | `9.6.0` |
| [@mantine/notifications](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/notifications) | `9.5.2` | `9.6.0` |
| [@mantine/spotlight](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/spotlight) | `9.5.2` | `9.6.0` |
| [@mantine/tiptap](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/tiptap) | `9.5.2` | `9.6.0` |
| [@mantine/vanilla-extract](https://github.com/mantinedev/mantine/tree/HEAD/packages/@mantine/vanilla-extract) | `9.5.2` | `9.6.0` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript) | `10.72.0` | `10.73.0` |
| [@tiptap/core](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/core) | `3.30.5` | `3.30.6` |
| [@tiptap/extension-image](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-image) | `3.30.5` | `3.30.6` |
| [@tiptap/extension-link](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-link) | `3.30.5` | `3.30.6` |
| [@tiptap/extension-table](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension-table) | `3.30.5` | `3.30.6` |
| [@tiptap/pm](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/pm) | `3.30.5` | `3.30.6` |
| [@tiptap/react](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/react) | `3.30.5` | `3.30.6` |
| [@tiptap/starter-kit](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/starter-kit) | `3.30.5` | `3.30.6` |
| [react-hook-form](https://github.com/react-hook-form/react-hook-form) | `7.86.0` | `7.87.0` |
| [undici](https://github.com/nodejs/undici) | `8.10.0` | `8.10.1` |



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

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

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

Updates `@mantine/carousel` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/carousel)

Updates `@mantine/charts` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/charts)

Updates `@mantine/core` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/core)

Updates `@mantine/dates` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/dates)

Updates `@mantine/dropzone` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/dropzone)

Updates `@mantine/form` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/form)

Updates `@mantine/hooks` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/hooks)

Updates `@mantine/modals` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/modals)

Updates `@mantine/notifications` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/notifications)

Updates `@mantine/spotlight` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/spotlight)

Updates `@mantine/tiptap` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/tiptap)

Updates `@mantine/vanilla-extract` from 9.5.2 to 9.6.0
- [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.6.0/packages/@mantine/vanilla-extract)

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

Updates `@tiptap/core` from 3.30.5 to 3.30.6
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/v3.30.6/packages/core/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.30.6/packages/core)

Updates `@tiptap/extension-image` from 3.30.5 to 3.30.6
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/v3.30.6/packages/extension-image/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.30.6/packages/extension-image)

Updates `@tiptap/extension-link` from 3.30.5 to 3.30.6
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/v3.30.6/packages/extension-link/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.30.6/packages/extension-link)

Updates `@tiptap/extension-table` from 3.30.5 to 3.30.6
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/v3.30.6/packages/extension-table/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.30.6/packages/extension-table)

Updates `@tiptap/pm` from 3.30.5 to 3.30.6
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/v3.30.6/packages/pm/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.30.6/packages/pm)

Updates `@tiptap/react` from 3.30.5 to 3.30.6
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/v3.30.6/packages/react/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.30.6/packages/react)

Updates `@tiptap/starter-kit` from 3.30.5 to 3.30.6
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Changelog](https://github.com/ueberdosis/tiptap/blob/v3.30.6/packages/starter-kit/CHANGELOG.md)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.30.6/packages/starter-kit)

Updates `react-hook-form` from 7.86.0 to 7.87.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.86.0...v7.87.0)

Updates `undici` from 8.10.0 to 8.10.1
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v8.10.0...v8.10.1)

---
updated-dependencies:
- dependency-name: "@codemirror/search"
  dependency-version: 6.7.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/state"
  dependency-version: 6.7.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@codemirror/view"
  dependency-version: 6.43.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@mantine/carousel"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/charts"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/core"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/dates"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/dropzone"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/form"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/hooks"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/modals"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/notifications"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/spotlight"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/tiptap"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@mantine/vanilla-extract"
  dependency-version: 9.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@sentry/react"
  dependency-version: 10.73.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@tiptap/core"
  dependency-version: 3.30.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@tiptap/extension-image"
  dependency-version: 3.30.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@tiptap/extension-link"
  dependency-version: 3.30.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@tiptap/extension-table"
  dependency-version: 3.30.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@tiptap/pm"
  dependency-version: 3.30.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@tiptap/react"
  dependency-version: 3.30.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@tiptap/starter-kit"
  dependency-version: 3.30.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: react-hook-form
  dependency-version: 7.87.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: undici
  dependency-version: 8.10.1
  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-09-08 07:02:52 +10:00
Oliver 5a7308763e [bug] Prevent editing of model-type for data import (#12809) 2026-09-07 21:08:02 +10:00
Oliver d89ddd9014 [UI] Specify min width for search input (#12810) 2026-09-07 19:25:37 +10:00
Matthias Mair c959ca4574 feat(frontend): add SAML helper (#12799)
* squash #12762

* implement https://github.com/inventree/InvenTree/issues/3509

* add changelog

* add option to use the full width
2026-09-07 16:52:24 +10:00
Oliver 2566d332a8 [bug] Plugin fix (#12805)
* [bug] Handle null plugin instance

* Add regression test

* Fix secondary instances of same bug
2026-09-07 14:45:48 +10:00
Oliver b4cb9a9746 Plugin load fix (#12776)
* Robustify plugin file loading

* Lock static file copying

* Improve robustness of static file copying

* Add regression tests

* Handle database not being ready

* Fix identified limitation and refactor code

* Attempt to fix CI job

* instrumentation for CI - will revert

* Another bugfix attempt
2026-09-07 07:45:53 +10:00
Oliver 4a0e28510f Exception handling for data outputs (#12797) 2026-09-06 21:36:01 +10:00
Oliver 1218af7366 Adds bulk-import option for "import-records" task (#12792)
* skip plugin events if importing or migrating data

* Add bulkloaddata option

* Skip signals if importing

* Improve bulkloaddata command

* Optionally rebuild thumbnails

* enhancements for import_records task

* cache natural key references in bulkloaddata

* wrap export_records in @state_logger

* Reduce file size of exported data

* Added docs

* Test bulk workflow as part of CI

* Add progress bar for data import

* fix for import workflow bug

* Separately test bulk import workflow

* Exercise --prettify option

* Additional CI checks for content excludes

* Allow plugin loading for list_apps

* Additional CI unit tests

* Test for importing with conflicting records

* path fixes

* Adjust test conditions
2026-09-06 19:58:52 +10:00
Oliver 321489a41b Add error message for missing TLD (#12789)
* Add error message for missing TLD

* add error code for missing TLD
2026-09-06 15:00:22 +10:00
Oliver 5b4c8135dc [CI] Allow more query time (#12790) 2026-09-05 19:55:57 +10:00
Oliver 9a416df5d4 Enhanced error message on CSRF failure (#12788)
* Enhanced error message on CSRF failure

* Defer to 'detail' field if exists
2026-09-05 19:55:37 +10:00
Matthias Mair 0a4f095397 feat(backend): enable OIDC/oAuth2 provider by default (#12731)
* Add SCIM
Closes https://github.com/inventree/InvenTree/issues/6339

* also test scim

* extend testing with conformance suite

* fix test suite results

* coverage completion

* fil test gaps

* add missing schema values

* fix more type issues

* fix error view

* remove route from OpenAPI

* User permissions check for Attachment API (#12689)

* enable oidc proivder by default

* add .well-known entry for OIDC server

* add default client registration

* add changelog entry

* add codeowners

* remove redundant info

* re-name and restructure panel

* add a smal explainer section on top

* flesh out section a bit more

* change name

* basic sso panel

* refactor rendering

* add api and mgmt functions

* add create/delete options

* simplify test

* handle secret generation

* fix merge

* update coverage

* add test

* reduce user friction

* add better labels

* make it more clear that this is only shown once

* add regenerate function

* update tests

* simplify test calls

* fix test
2026-09-05 12:10:13 +10:00
Oliver fa44925b21 Refactor part pricing updates (#12787)
* Refactor part pricing updates

- Handles cases where underlying part has been deleted

* Add regression tests
2026-09-05 11:57:39 +10:00
Oliver b51f710ee5 BOM Validation Improvements (#12780)
* Adjust get_bom_hash function:

- Optionally skip inclusion of part names
- Skip 'piece_count' if default value set

* Fall back to legacy comparison

* Add per-line-item check

* Add regression tests
2026-09-05 08:30:02 +10:00
Matthias Mair 1520e0a277 chore: remove Admin Center introduction (#12774) 2026-09-04 16:31:14 +10:00
github-actions[bot] e4e4d87476 New Crowdin translations by GitHub Action (#12759)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-04 16:00:50 +10:00
Oliver ff732d01aa Ignore 'piece_count' if default value (#12781)
* Ignore 'piece_count' if default value

* Add regression testing
2026-09-04 13:16:40 +10:00
Oliver 43bd525240 Tweak search (#12778)
- Prevent single character searches
- Abort previous search requests
2026-09-03 22:11:13 +10:00
Oliver aadd27d217 Prevent delete operation on /api/user/me/ (#12770)
* Prevent delete operation on /api/user/me/

* Bump API version
2026-09-03 15:27:44 +10:00
Oliver 8c1c16e59a Handle missing record in after_delete_supplier_part (#12772) 2026-09-03 13:57:19 +10:00
Matthias MairandOliver fa52affe98 feat: warn about unsafe CORS (#12773)
* feat: warn about unsafe CORS

* extend docs

* fix defaults

* bump api version

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-09-03 13:09:17 +10:00
Oliver 694d890ce5 Metadata fix (#12771)
* Fix security hole for metadata API

* Regression test for field injection
2026-09-03 09:51:08 +10:00
Bhumin Paladiya 4b1ddcd2d0 Enhance search fields across InvenTree REST API endpoints (#12723)
* Enhance search fields across REST API endpoints

* Revert search_fields on SettingsList to key only for security

* Bump API version to 537 for REST API search fields

* Clean TokenListView search fields and revert common/api.py
2026-09-03 08:49:53 +10:00
Bhumin Paladiya bb151dcb01 Fix order allocation variant validation logic and serializer read_only_fields (#12738)
* Fix order allocation variant validation logic and serializer defects

* Format order models and tests with ruff preview style

* Fix TransferOrder destination field in allocation unit tests
2026-09-03 08:47:21 +10:00
OliverandMatthias Mair 4024075b3b [bug] API permission fixes: (#12766)
- User can only change their own profile
- Users can only access notes against models they are scoped to
- Users can only access parameters against models they are scoped to

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-09-03 08:26:38 +10:00
Oliver f9f9f7499b Fix permissions for SelectionList (#12763)
* Fix permissions for SelectionList

* Bump API version
2026-09-02 15:15:58 +10:00
Oliver 1238daa783 Permissions fix for Calendar views (#12764) 2026-09-02 14:47:34 +10:00
Matthias Mair 913dc7c48a chore(backend): bump all backend deps (#12754)
* bump all backend deps

* fix new detections
2026-09-02 07:59:53 +10:00
github-actions[bot] e1ff60a64c New Crowdin translations by GitHub Action (#12727)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-01 14:32:12 +10:00
Oliver ed84d06dbe [UI] Fixes for column resizing (#12755)
- Apply CSS fix
- Allow proper dragging
- Ensure table columns fill 100% width
2026-09-01 12:06:09 +10:00
Oliver f8328cd1db [UI] Fix useReceiveLineItems bug (#12756)
- Prevent negative pre-fill values
2026-09-01 12:06:01 +10:00
OliverandMatthias Mair 02da01dfec [Refactor] Notes (#11971)
* Display note info

* Support user locale

* Add unit testing for HTML content

* Observe color mode

* Add link between Note and NotesImage

* Ensure image file is deleted when NotesImage is deleted

* Add support for image upload in editor

* Skeleton for data migration

* Updates

* Update data migration

- Find any NoteImage items which do not link to a model
- Try to associate them with an existing note

* Remove validator

* Updated API endpoints for NotesImage model

* Update server side sanitizing

* Specify max field length

* Remove old fields from NotesImage model

* Refactor clean_string

* Remove obsolete task

* Remove legacy "notes" field from older models

* Adjust search params when switching notes

* Remove NotesFieldMixin

* Change editor

* Resizable image support

* Support tables

* Add table style

* Adjust header actions

* Add data migration for SalesOrderShipment notes

* Adjust back-end sanitizing

* Adjust

* Use subtle editor variant

* Move undo/redo

* Enhance editing logic

* Add report tags for notes

* Add unit test for note image cleanup

* Render note to HTML

- Automatically replace images

* Fix migration order

* Adjust migration text

* Fix "dirty" trigger on notes

* Prevent navigate from dirty notes

* Add documentation

* Prevent image clicking if not in editing mode

* Update API

* Update migration files

* Fix migrations

* remove notes from test fixtures

* remove notes field that does not exsist anymore

* add missing ruleset

* fix assertation

* fix assertation

* Update docs/docs/concepts/notes.md

Co-authored-by: Matthias Mair <code@mjmair.com>

* Remove blocknote deps

* Move old helper functions

- Only used for this migration
- Will potentially be removed at some point in the future?

* Revert change

* Fix note image URL

* Fix migration conflicts

* Fix migrations

* Fix delete call

* Fix content mixin

* Fix note duplication

* Make save method atomic

* Fix double-save

* Add "template" field to Note model

* Adjust migrations

* Frontend updates

* Fix for NotesEditor

* Render Note instance in forms

* Fix button-within-button

* Fix migrations

* Fix missing import

* add docs

* docs for rendering notes in reports

* Restrict queryset based on user view permissions

* APi unit tests for note permissions

* Duplicate embedded images when copying notes

* Add unit test for note duplication

* Add CHANGELOG

* Add 'copy_note' option to duplicate serializer

* Add unit tests for data migrations

* implement note duplication serializers

* frontend UI elements

* Fix migration conflicts

* Use branch for playwrigh testing

* Implement duplicate action for stock item

* Fix import

* Updated playwright tests

* Bug fix for receiving stock items

* Add screenshot

* Fix api_version

* Update unit tests

* Fix docs

* Remove defunct tests

* Fix migration order

* Adjust import/export workflow

* Manual cleaning update

* Fix migrations

* Fix migration files

* Fix for note save

* Adjust save ordering

* Skip constraint checking in NoteSerializer

* Custom validate_constraints on Note model

* Revert "Skip constraint checking in NoteSerializer"

This reverts commit b42bc955c1.

* Fix for note search

* Fix for receive_line_items

* Shim model renderer for NoteTemplate

* Fix playwright tests

* Adjust frontend CI

* Fix import/export CI job

* Fix for data migration test

* Fix migration test

* Adjust unit test

* Fix conflicting migration

* Fix unit test

* Run migration tests in parallel

* Robustify migration test

* Disable parallel options

* Fix conflicting migration

* Remove extraneous unit test

* Fix conflicting migrations

* Additional regression tests

* Check permissions before deleting Note instance

* Updated docs

* Validate note model type

* Prevent discard of unsaved changes in note editor

* Clean up dead code

* Fix migration conflict

* Improved data migration

* Prefetch role groups

* UI refactoring

* Refactor permission checking code

* Further code refactoring

* use DuplicateField helper

* Refactoring

* Add prefetch

* Throw exception rather than assert

* Logic fix for notes editor

* reimplement old background task

* Adjust data migration

* Fix notes field when receiving items

* Fix existing report templates

* Fix save action for notes editor

* Refactoring: Add "instance-info" API endpoint for common model properties

* Fix indicator dots

* Tweak nav alert msg

* Adjust layout of buttons

* Sanitize notes during migration

* Fix for NotesImage delete cascade

* Fix caching

* Fix race condition in notes editor

* Fix distinct issue when searching notse

* Fix race condition when saving new note instance

* Fix improper error

* Refactor StockItem duplication

* Refactoring

* Increase query time

* Fix api_version.py

* Additional migration tests

* Fix CI workflow

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-08-31 16:46:33 +10:00
Oliver d39d0262e6 [CI] Adjust query time threshold (#12748)
Allow larger buffer for test variation
2026-08-31 11:07:46 +10:00
Matthias Mair 4066fa6e0a feat(backend): add SCIM for user provisioning (#12713)
* Add SCIM
Closes https://github.com/inventree/InvenTree/issues/6339

* also test scim

* extend testing with conformance suite

* fix test suite results

* coverage completion

* fil test gaps

* add missing schema values

* fix more type issues

* fix error view

* remove route from OpenAPI

* add changelog entry

* add codeowners
2026-08-31 09:24:14 +10:00
Oliver c821fa0f43 Notification fix (#12744)
* Fill out stock location based on part default

* [UI] Bug fix for notifications

- Closes https://github.com/inventree/InvenTree/issues/12706
2026-08-30 15:53:16 +10:00
Oliver 871147d936 Stock location fix (#12742)
* Fill out stock location based on part default

* Add playwright tests
2026-08-30 11:44:07 +10:00
OliverandCopilot Autofix powered by AI a205717171 SSO e2e testing (#12739)
* Extend SSO auth workflows

* SSO e2e testing workflow

* Remove orphaned code

* Add unit tests for SSO

* improved error messaging

* Add test for SSO registration disabled

* Fix gating on LOGIN_ENABLE_SSO

* Adjust UI state management

* Add playwright test for SSO disabled

* Add backend unit tests

* Adjust API version

* Additional playwright tests

* Retain desired page state on login failure

* Potential fix for pull request finding

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

* Adjust test code

* Stricter matcher checking

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-08-30 10:32:54 +10:00
Bhumin Paladiya 69afe7723f Enhance search and autocomplete fields across all InvenTree admin models (#12722)
* Fix PurchaseOrderExtraLine admin search and add search fields across admin classes

* Add search fields and autocomplete fields across common admin models

* Add search and autocomplete fields to importer admin models

* Add search fields to MachineConfigAdmin

* Add search fields to LocationTypeAdmin

* Remove search_fields from DataImportRowAdmin per review feedback
2026-08-29 20:24:49 +10:00
dependabot[bot]andMatthias Mair 02fc34083a chore(deps): bump the dependencies group across 2 directories with 16 updates (#12735)
* chore(deps): bump the dependencies group across 2 directories with 16 updates

Bumps the dependencies group with 1 update in the /docs directory: [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin).
Bumps the dependencies group with 15 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [gunicorn](https://github.com/benoitc/gunicorn) | `26.0.0` | `26.1.0` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.5.0` | `3.5.1` |
| [idna](https://github.com/kjd/idna) | `3.18` | `3.19` |
| [prek](https://github.com/j178/prek) | `0.4.13` | `0.4.14` |
| [pygments](https://github.com/pygments/pygments) | `2.20.0` | `2.21.0` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20260724` | `6.0.12.20260815` |
| [boto3](https://github.com/boto/boto3) | `1.43.71` | `1.43.77` |
| [botocore](https://github.com/boto/botocore) | `1.43.71` | `1.43.77` |
| [django-js-asset](https://github.com/feincms/django-js-asset) | `4.0.1` | `4.0.2` |
| [django-oauth-toolkit](https://github.com/django-oauth/django-oauth-toolkit) | `3.4.0` | `3.4.1` |
| [icalendar](https://github.com/collective/icalendar) | `7.2.2` | `7.3.0` |
| [lxml](https://github.com/lxml/lxml) | `6.1.1` | `6.1.2` |
| [protobuf](https://github.com/protocolbuffers/protobuf) | `7.35.1` | `7.36.0` |
| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.2.2` | `1.2.3` |
| [webencodings](https://github.com/CourtBouillon/webencodings) | `0.5.1` | `0.6.1` |



Updates `mkdocs-git-revision-date-localized-plugin` from 1.5.3 to 1.5.4
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.5.3...v1.5.4)

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

Updates `charset-normalizer` from 3.5.0 to 3.5.1
- [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.5.0...3.5.1)

Updates `idna` from 3.18 to 3.19
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)
- [Commits](https://github.com/kjd/idna/compare/v3.18...v3.19)

Updates `prek` from 0.4.13 to 0.4.14
- [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.13...v0.4.14)

Updates `pygments` from 2.20.0 to 2.21.0
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.20.0...2.21.0)

Updates `types-pyyaml` from 6.0.12.20260724 to 6.0.12.20260815
- [Commits](https://github.com/python/typeshed/commits)

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

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

Updates `django-js-asset` from 4.0.1 to 4.0.2
- [Changelog](https://github.com/feincms/django-js-asset/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/feincms/django-js-asset/compare/4.0.1...4.0.2)

Updates `django-oauth-toolkit` from 3.4.0 to 3.4.1
- [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.4.0...3.4.1)

Updates `icalendar` from 7.2.2 to 7.3.0
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/main/CHANGES.rst)
- [Commits](https://github.com/collective/icalendar/compare/v7.2.2...v7.3.0)

Updates `lxml` from 6.1.1 to 6.1.2
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-6.1.1...lxml-6.1.2)

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

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

Updates `webencodings` from 0.5.1 to 0.6.1
- [Release notes](https://github.com/CourtBouillon/webencodings/releases)
- [Changelog](https://github.com/CourtBouillon/webencodings/blob/main/docs/changelog.rst)
- [Commits](https://github.com/CourtBouillon/webencodings/compare/v0.5.1...v0.6.1)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-version: 1.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: gunicorn
  dependency-version: 26.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: charset-normalizer
  dependency-version: 3.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: idna
  dependency-version: '3.19'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: prek
  dependency-version: 0.4.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pygments
  dependency-version: 2.21.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: types-pyyaml
  dependency-version: 6.0.12.20260815
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: boto3
  dependency-version: 1.43.77
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.43.77
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-js-asset
  dependency-version: 4.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-oauth-toolkit
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: icalendar
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: lxml
  dependency-version: 6.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: protobuf
  dependency-version: 7.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: python-dotenv
  dependency-version: 1.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: webencodings
  dependency-version: 0.6.1
  dependency-type: direct:production
  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-29 11:17:18 +10:00
Oliver fcbcef5aae Tracing fix (#12728)
* Bug fix for tracing setup

* Support forking against multiple PIDs

* Updated documentation
2026-08-29 08:05:16 +10:00
Matthias Mair 5244b8a4f2 [FR] add well-known mixin to let plugins define well-known urls (#12698)
* [FR] add well-known mixin to let plugins define well-known data entry points
Fixes #11741

* add built-in plugin for apis

* add test

* add decorator

* ignore default

* fix tests

* remove erronius decorator

* all well-known paths to security exception paths

* update test setup

* ignore escape paths

* add docs

* add more on security considerations

* add to nav
2026-08-28 16:43:20 +10:00
Oliver 0ee2ee9ec2 Update sentry.io integration (#12729) 2026-08-28 16:36:28 +10:00
Bhumin Paladiya 494fc58e7c Fix PurchaseOrderExtraLine admin search and add search fields across admin classes (#12721) 2026-08-28 09:01:05 +10:00
Alonso Lopez-ValdezandOliver af4c4220f5 update auto allocation button tooltip and visibility logic (#12720)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-08-28 08:59:23 +10:00
github-actions[bot] ccf34e4b16 New Crowdin translations by GitHub Action (#12701)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-27 16:06:15 +10:00