Commit Graph
1754 Commits
Author SHA1 Message Date
Joe Rogers 4ba5cfbb67 Token and Audit Log missing API annotations (#13221)
* Document existing token warning field in schema

* Unrequire audit log entry changes_detail

* Update api version
2026-11-08 10:59:24 +11:00
dependabot[bot]andMatthias Mair f46aaed511 chore(deps): bump the dependencies group across 2 directories with 31 updates (#13209)
* chore(deps): bump the dependencies group across 2 directories with 31 updates

Bumps the dependencies group with 3 updates in the /contrib/dev_reqs directory: [uv](https://github.com/astral-sh/uv), [jc](https://github.com/kellyjonbrazil/jc) and [pip](https://github.com/pypa/pip).
Bumps the dependencies group with 28 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3) | `1.43.118` | `1.43.122` |
| [botocore](https://github.com/boto/botocore) | `1.43.118` | `1.43.122` |
| [django-js-asset](https://github.com/feincms/django-js-asset) | `4.2.0` | `5.0.0` |
| [dnspython](https://github.com/rthalley/dnspython) | `2.9.0` | `2.9.1` |
| [fonttools](https://github.com/fonttools/fonttools) | `4.67.0` | `4.68.0` |
| [opentelemetry-exporter-http-transport](https://github.com/open-telemetry/opentelemetry-python) | `0.66b1` | `0.66b2` |
| [opentelemetry-exporter-otlp-common](https://github.com/open-telemetry/opentelemetry-python) | `0.66b1` | `0.66b2` |
| [opentelemetry-exporter-otlp-proto-common](https://github.com/open-telemetry/opentelemetry-python) | `1.45.1` | `1.45.2` |
| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.45.1` | `1.45.2` |
| [opentelemetry-exporter-otlp-proto-http](https://github.com/open-telemetry/opentelemetry-python) | `1.45.1` | `1.45.2` |
| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.66b1` | `0.66b2` |
| [opentelemetry-instrumentation-dbapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.66b1` | `0.66b2` |
| [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-python) | `1.45.1` | `1.45.2` |
| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.66b1` | `0.66b2` |
| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.66b1` | `0.66b2` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.13.5` | `4.14.0` |
| [pydantic](https://github.com/pydantic/pydantic) | `2.14.1` | `2.14.2` |
| [pydantic-core](https://github.com/pydantic/pydantic) | `2.50.1` | `2.50.2` |
| [python-dateutil](https://github.com/dateutil/dateutil) | `2.9.0.post0` | `3.0.0` |
| [tzdata](https://github.com/python/tzdata) | `2026.5` | `2026.6` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `2.5.1` | `2.5.2` |
| [xmlsec](https://github.com/xmlsec/python-xmlsec) | `1.3.17` | `1.3.18` |
| [prek](https://github.com/j178/prek) | `0.5.7` | `0.5.9` |
| [pytest](https://github.com/pytest-dev/pytest) | `9.1.1` | `9.2.0` |
| [scim2-client](https://github.com/python-scim/scim2-client) | `0.13.2` | `0.14.1` |
| [scim2-tester](https://github.com/python-scim/scim2-tester) | `0.5.2` | `0.6.4` |
| [types-psycopg2](https://github.com/python/typeshed) | `2.9.21.20261008` | `2.9.21.20261030` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20260906` | `6.0.12.20261030` |



Updates `uv` from 0.13.5 to 0.13.6
- [Release notes](https://github.com/astral-sh/uv/releases)
- [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/uv/compare/0.13.5...0.13.6)

Updates `jc` from 1.26.1 to 1.26.2
- [Release notes](https://github.com/kellyjonbrazil/jc/releases)
- [Changelog](https://github.com/kellyjonbrazil/jc/blob/master/CHANGELOG)
- [Commits](https://github.com/kellyjonbrazil/jc/compare/v1.26.1...v1.26.2)

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

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

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

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

Updates `dnspython` from 2.9.0 to 2.9.1
- [Release notes](https://github.com/rthalley/dnspython/releases)
- [Changelog](https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst)
- [Commits](https://github.com/rthalley/dnspython/compare/v2.9.0...v2.9.1)

Updates `fonttools` from 4.67.0 to 4.68.0
- [Release notes](https://github.com/fonttools/fonttools/releases)
- [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst)
- [Commits](https://github.com/fonttools/fonttools/compare/4.67.0...4.68.0)

Updates `opentelemetry-exporter-http-transport` from 0.66b1 to 0.66b2
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/commits)

Updates `opentelemetry-exporter-otlp-common` from 0.66b1 to 0.66b2
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/commits)

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

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

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

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

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

Updates `opentelemetry-proto` from 1.45.1 to 1.45.2
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/compare/v1.45.1...v1.45.2)

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

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

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

Updates `pydantic` from 2.14.1 to 2.14.2
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v2.14.2/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/v2.14.1...v2.14.2)

Updates `pydantic-core` from 2.50.1 to 2.50.2
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/compare/core-v2.50.1...core-v2.50.2)

Updates `python-dateutil` from 2.9.0.post0 to 3.0.0
- [Release notes](https://github.com/dateutil/dateutil/releases)
- [Changelog](https://github.com/dateutil/dateutil/blob/master/NEWS)
- [Commits](https://github.com/dateutil/dateutil/compare/2.9.0.post0...3.0.0)

Updates `tzdata` from 2026.5 to 2026.6
- [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.5...2026.6)

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

Updates `xmlsec` from 1.3.17 to 1.3.18
- [Release notes](https://github.com/xmlsec/python-xmlsec/releases)
- [Commits](https://github.com/xmlsec/python-xmlsec/compare/1.3.17...1.3.18)

Updates `prek` from 0.5.7 to 0.5.9
- [Release notes](https://github.com/j178/prek/releases)
- [Changelog](https://github.com/j178/prek/blob/main/CHANGELOG.md)
- [Commits](https://github.com/j178/prek/compare/v0.5.7...v0.5.9)

Updates `pytest` from 9.1.1 to 9.2.0
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/9.1.1...9.2.0)

Updates `scim2-client` from 0.13.2 to 0.14.1
- [Release notes](https://github.com/python-scim/scim2-client/releases)
- [Changelog](https://github.com/python-scim/scim2-client/blob/main/doc/changelog.rst)
- [Commits](https://github.com/python-scim/scim2-client/compare/0.13.2...0.14.1)

Updates `scim2-tester` from 0.5.2 to 0.6.4
- [Release notes](https://github.com/python-scim/scim2-tester/releases)
- [Changelog](https://github.com/python-scim/scim2-tester/blob/main/doc/changelog.rst)
- [Commits](https://github.com/python-scim/scim2-tester/compare/0.5.2...0.6.4)

Updates `types-psycopg2` from 2.9.21.20261008 to 2.9.21.20261030
- [Commits](https://github.com/python/typeshed/commits)

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

---
updated-dependencies:
- dependency-name: uv
  dependency-version: 0.13.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: jc
  dependency-version: 1.26.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pip
  dependency-version:
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: boto3
  dependency-version: 1.43.122
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.43.122
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-js-asset
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: dnspython
  dependency-version: 2.9.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: fonttools
  dependency-version: 4.68.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: opentelemetry-exporter-http-transport
  dependency-version: 0.66b2
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: opentelemetry-exporter-otlp-common
  dependency-version: 0.66b2
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: opentelemetry-exporter-otlp-proto-common
  dependency-version: 1.45.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: opentelemetry-exporter-otlp-proto-grpc
  dependency-version: 1.45.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: opentelemetry-exporter-otlp-proto-http
  dependency-version: 1.45.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: opentelemetry-instrumentation
  dependency-version: 0.66b2
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: opentelemetry-instrumentation-dbapi
  dependency-version: 0.66b2
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: opentelemetry-proto
  dependency-version: 1.45.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: opentelemetry-semantic-conventions
  dependency-version: 0.66b2
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: opentelemetry-util-http
  dependency-version: 0.66b2
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: platformdirs
  dependency-version: 4.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pydantic
  dependency-version: 2.14.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pydantic-core
  dependency-version: 2.50.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: python-dateutil
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: tzdata
  dependency-version: '2026.6'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wrapt
  dependency-version: 2.5.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: xmlsec
  dependency-version: 1.3.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: prek
  dependency-version: 0.5.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pytest
  dependency-version: 9.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: scim2-client
  dependency-version: 0.14.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: scim2-tester
  dependency-version: 0.6.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: types-psycopg2
  dependency-version: 2.9.21.20261030
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: types-pyyaml
  dependency-version: 6.0.12.20261030
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

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

* fix bumps

* remove fsm bump

---------

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-11-08 07:34:02 +11:00
Matthias Mair b4e74791e6 fix otel middleware instrumentation (#13219)
* fix otel instrumentation

* fix name conflict
2026-11-08 07:33:17 +11:00
Oliver da655f2312 Prevent creation of duplicate emails (#13212)
* Prevent creation of duplicate emails

* Bump API version
2026-11-07 16:03:33 +11:00
Matthias Mair c54c69c1bc update logging setup to respect json setting (#13216)
* fix json_log to ensure we really only log json

* also control gunicorn

* reduce noise in action
2026-11-07 16:02:41 +11:00
Oliver 02d6a038bf Token issuance updates (#13214)
- Ensure all token issuance endpoints are explicitly checked for MFA auth
- Additional backend unit tests
- Additional frontend unit tests
2026-11-07 13:18:30 +11:00
Oliver 0cb1852e0d Permissions fix for metadata endpoints (#13213)
Metadata API endpoints now observe the user permissions associated with the underlying models
2026-11-07 12:21:35 +11:00
sufyanaslam198 08dad19122 Temporary fix fpr Redoc (#13201)
Added temporary fix for Redoc distribution URL as Redoc 3 is an ES-module-only and drf-spectacular's template can't load (tfranzel/drf-spectacular#1543)
2026-11-07 10:08:17 +11:00
github-actions[bot] a9c21da6a7 New Crowdin translations by GitHub Action (#13192)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-11-06 11:52:55 +11:00
Oliver a6b7a5bf3a [bug] support custom stock status on tranfer (#13194)
- Closes https://github.com/inventree/InvenTree/issues/13191
2026-11-05 14:16:51 +11:00
d01645c5fb feat(stock): add exclude_from_stock option to StockLocation (#7064) (#13166)
* feat(stock): add exclude_from_stock option to StockLocation (#7064)

* feat(stock): add UI detail, table filters, API version bump, and prek formatting (#7064)

---------

Co-authored-by: UGREEN USER <jaharoni@debian.dedomain>
Co-authored-by: WholeTroutMedia <cortex@inceptionengine.systems>
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-11-05 12:06:26 +11:00
Matthias Mair d5d0bfabc4 Small fixes (#13190)
* remove iregular import pattern

* remove dead code

* remove unneeded import
2026-11-05 09:35:27 +11:00
github-actions[bot] df098c46b0 New Crowdin translations by GitHub Action (#13160)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-11-05 08:32:56 +11:00
Oliver ec5d6324f8 [bug] Fix 'get_user_language' (#13180)
- The 'LANGUAGE" user setting does not exist
- Introduced in https://github.com/inventree/InvenTree/pull/12944
2026-11-04 14:13:41 +11:00
Oliver 6d1a26d540 1.8.0 (#13176)
* Set release version in CHANGELOG

* Add section for next release

* Bump version to 1.8.0-dev
2026-11-04 01:44:35 +11:00
Oliver d8f09fa078 Token fixes (#13175)
* Prevent junk token from bypassing MFA

* updated docs

* Fix read-only token fields

* Fix API version ref
2026-11-03 23:05:23 +11:00
Matthias Mair 315b5bd134 Merge commit from fork
* remove mfa disableing on the token flow

* also check for mfa in token issuance
2026-11-03 20:26:16 +11:00
Matthias Mair 4121d9a8a5 Merge commit from fork
* fix basic auth without mfa

* refactor order to use new basic auth class

* remove session auth taht would bybpass mfa (mfa thing fixed in another session)

* allign with other PRs

prep for merge with https://github.com/inventree/InvenTree/pull/13169/

* fix schema generation
2026-11-03 20:23:32 +11:00
Matthias Mair 16fa2ee5cd Merge commit from fork
* fix oauth scopes

* fix typing
2026-11-03 20:20:10 +11:00
Oliver 62d363a99d [UI] Context details for plugin actions (#13172)
* [UI] Context details for plugin actions

Adds additional target instance context when registering custom UI actions

* Add CHANGELOG entry

* Improve test
2026-11-03 17:22:26 +11:00
Oliver 461186bee9 [UI] Launch forms directly from plugin (#13174)
* [UI] Launch forms directly from plugin

Provide ability for plugins to dynamically launch modal forms, without specifying the underlying react components.

This allows (for example) a primary action on a detail page to launch a new native API form

* Add CHANGELOG entry
2026-11-03 16:41:33 +11:00
Oliver bc8c1aefa2 CustomUnit fixes (#13161)
* CustomUnit fixes

- Require staff access for data import
- Prevent overload of built-in units

* fix unit tests
2026-11-03 09:16:08 +11:00
Oliver 2629cde722 Data Import Fixes (#13162)
- Improved validation of data import session
- Handle FieldError if incorrect filter field is provided
- Prevent model traversal via import session filtering
- Added regression tests
2026-11-02 20:41:47 +11:00
github-actions[bot] dcec25f777 New Crowdin translations by GitHub Action (#13127)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-11-02 14:00:49 +11:00
Oliver 4fb0226ecc [bug] Settings fix (#13156)
* Fix error when generating default settings

- Prevent database error on conflicting rows
- Can be caused by concurrent user requests

* ignore conflicts for TipResult
2026-11-02 12:09:09 +11:00
Oliver 1b8bdad061 Token improvements (#13155)
- More secure masking of tokens
- Fix lowercase bug
- Use consistent date checking
2026-11-02 10:33:19 +11:00
dependabot[bot]andMatthias Mair 61a2c2af5f chore(deps): bump pypdf from 6.21.2 to 6.21.4 in /src/backend (#13144)
* chore(deps): bump pypdf from 6.21.2 to 6.21.4 in /src/backend

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

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

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

* fix style

* also bump pyasn1

---------

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-11-02 07:08:21 +11:00
Oliver 9bb7d23f80 Logout user when deleting UserSession (#13145) 2026-11-02 07:07:54 +11:00
Oliver b5cfd9528e Fix for revoking token (#13149)
- Do not revoke if already revoked
- Prevents overwrite of previous revoking information
2026-11-02 07:07:24 +11:00
Oliver f12d7f88a7 Fix for token issue message (#13150)
Fix for translated strings
2026-11-02 07:06:52 +11:00
Oliver 04c1a73697 Check if user is active when checking token (#13148)
* Check if user is active when checking token

* Ensure token rejection logs a warning
2026-11-02 07:06:27 +11:00
Matthias Mair f36321a918 add state transtion graph export (#13136) 2026-11-01 20:43:27 +11:00
Matthias Mair df7f9521d7 feat: add notification on token issuance (#13141)
* add notification on token issuance

* add entries

* fix link url

* increate test timing

* ignore fallback line

* add test for notification
2026-11-01 14:08:58 +11:00
dependabot[bot]andMatthias Mair daa1c304f4 chore(deps): bump the dependencies group across 2 directories with 21 updates (#13142)
* chore(deps): bump the dependencies group across 2 directories with 21 updates

Bumps the dependencies group with 2 updates in the /contrib/dev_reqs directory: [jc](https://github.com/kellyjonbrazil/jc) and [pip](https://github.com/pypa/pip).
Bumps the dependencies group with 19 updates in the /src/backend directory:

| Package | From | To |
| --- | --- | --- |
| [asgiref](https://github.com/django/asgiref) | `3.12.1` | `3.13.0` |
| [blessed](https://github.com/jquast/blessed) | `1.51.0` | `1.52.0` |
| [boto3](https://github.com/boto/boto3) | `1.43.114` | `1.43.118` |
| [botocore](https://github.com/boto/botocore) | `1.43.114` | `1.43.118` |
| [django-dbbackup](https://github.com/Archmonger/django-dbbackup) | `5.3.1` | `5.4.0` |
| [django-mptt](https://github.com/django-mptt/django-mptt) | `0.19.1` | `0.20.0` |
| [django-structlog](https://github.com/jrobichaud/django-structlog) | `10.1.0` | `11.0.0` |
| [dulwich](https://github.com/dulwich/dulwich) | `1.2.17` | `1.2.19` |
| [googleapis-common-protos](https://github.com/googleapis/google-cloud-python) | `1.75.5` | `1.76.0` |
| [grpcio](https://github.com/grpc/grpc) | `1.84.0` | `1.84.1` |
| [markdown](https://github.com/Python-Markdown/markdown) | `3.11.1` | `3.11.2` |
| [pint](https://github.com/hgrecco/pint) | `0.26.1` | `0.26.2` |
| [pycparser](https://github.com/eliben/pycparser) | `3.11` | `3.12` |
| [python-dateutil](https://github.com/dateutil/dateutil) | `2.9.0.post0` | `3.0.0` |
| [s3transfer](https://github.com/boto/s3transfer) | `0.19.2` | `0.19.3` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.72.0` | `2.73.0` |
| [wcwidth](https://github.com/jquast/wcwidth) | `0.9.2` | `0.9.4` |
| [coverage](https://github.com/coveragepy/coveragepy) | `7.16.2` | `7.17.0` |
| [prek](https://github.com/j178/prek) | `0.5.6` | `0.5.7` |



Updates `jc` from 1.26.0 to 1.26.1
- [Release notes](https://github.com/kellyjonbrazil/jc/releases)
- [Changelog](https://github.com/kellyjonbrazil/jc/blob/master/CHANGELOG)
- [Commits](https://github.com/kellyjonbrazil/jc/compare/v1.26.0...v1.26.1)

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

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

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

Updates `blessed` from 1.51.0 to 1.52.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/compare/1.51...1.52)

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

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

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

Updates `django-mptt` from 0.19.1 to 0.20.0
- [Changelog](https://github.com/django-mptt/django-mptt/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/django-mptt/django-mptt/compare/0.19.1...0.20)

Updates `django-structlog` from 10.1.0 to 11.0.0
- [Changelog](https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst)
- [Commits](https://github.com/jrobichaud/django-structlog/compare/10.1.0...11.0.0)

Updates `dulwich` from 1.2.17 to 1.2.19
- [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.17...dulwich-1.2.19)

Updates `googleapis-common-protos` from 1.75.5 to 1.76.0
- [Release notes](https://github.com/googleapis/google-cloud-python/releases)
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-cloud-python/compare/googleapis-common-protos-v1.75.5...googleapis-common-protos-v1.76.0)

Updates `grpcio` from 1.84.0 to 1.84.1
- [Release notes](https://github.com/grpc/grpc/releases)
- [Commits](https://github.com/grpc/grpc/compare/v1.84.0...v1.84.1)

Updates `markdown` from 3.11.1 to 3.11.2
- [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.11.1...3.11.2)

Updates `pint` from 0.26.1 to 0.26.2
- [Changelog](https://github.com/hgrecco/pint/blob/master/CHANGES)
- [Commits](https://github.com/hgrecco/pint/compare/0.26.1...0.26.2)

Updates `pycparser` from 3.11 to 3.12
- [Release notes](https://github.com/eliben/pycparser/releases)
- [Commits](https://github.com/eliben/pycparser/compare/release_v3.11...release_v3.12)

Updates `python-dateutil` from 2.9.0.post0 to 3.0.0
- [Release notes](https://github.com/dateutil/dateutil/releases)
- [Changelog](https://github.com/dateutil/dateutil/blob/master/NEWS)
- [Commits](https://github.com/dateutil/dateutil/compare/2.9.0.post0...3.0.0)

Updates `s3transfer` from 0.19.2 to 0.19.3
- [Changelog](https://github.com/boto/s3transfer/blob/develop/CHANGELOG.rst)
- [Commits](https://github.com/boto/s3transfer/compare/0.19.2...0.19.3)

Updates `sentry-sdk` from 2.72.0 to 2.73.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.72.0...2.73.0)

Updates `wcwidth` from 0.9.2 to 0.9.4
- [Release notes](https://github.com/jquast/wcwidth/releases)
- [Changelog](https://github.com/jquast/wcwidth/blob/master/docs/history.rst)
- [Commits](https://github.com/jquast/wcwidth/compare/0.9.2...0.9.4)

Updates `coverage` from 7.16.2 to 7.17.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.16.2...7.17.0)

Updates `prek` from 0.5.6 to 0.5.7
- [Release notes](https://github.com/j178/prek/releases)
- [Changelog](https://github.com/j178/prek/blob/main/CHANGELOG.md)
- [Commits](https://github.com/j178/prek/compare/v0.5.6...v0.5.7)

---
updated-dependencies:
- dependency-name: jc
  dependency-version: 1.26.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pip
  dependency-version:
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: pip
  dependency-version:
  dependency-type: direct:production
  dependency-group: dependencies
- dependency-name: asgiref
  dependency-version: 3.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: blessed
  dependency-version: 1.52.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: boto3
  dependency-version: 1.43.118
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.43.118
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-dbbackup
  dependency-version: 5.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-mptt
  dependency-version: 0.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: django-structlog
  dependency-version: 11.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: dulwich
  dependency-version: 1.2.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: googleapis-common-protos
  dependency-version: 1.76.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: grpcio
  dependency-version: 1.84.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: markdown
  dependency-version: 3.11.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pint
  dependency-version: 0.26.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pycparser
  dependency-version: '3.12'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: python-dateutil
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: s3transfer
  dependency-version: 0.19.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.73.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: wcwidth
  dependency-version: 0.9.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: coverage
  dependency-version: 7.17.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: prek
  dependency-version: 0.5.7
  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-11-01 14:04:39 +11:00
Oliver d96174cddb [bug] better handling of empty values for audit log (#13134)
* [bug] better handling of empty values for audit log

* reverse unrelated commits
2026-10-30 14:43:12 +11:00
Oliver a0540d3185 Reduce verbosity of migration output (#13130) 2026-10-30 08:15:43 +11:00
Oliver c5253560e8 [UI] Add "on_order" column to SupplierPartTable (#13128)
* [UI] Add "on_order" column to SupplierPartTable

* Add 'on_order' filter for SupplierPart

* Update table

* Fix PR ref
2026-10-29 10:41:09 +11:00
github-actions[bot] eb84f0eb1e New Crowdin translations by GitHub Action (#13106)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-28 18:48:13 +11:00
Oliver 60db8a924e Updates for AutoCreateBuildPlugin (#13118) 2026-10-28 10:42:44 +11:00
OliverandCopilot Autofix powered by AI 3e55d413ec [report] Harden data access for reports (#13111)
* [report] Harden data access for reports

- Exclude sensitive data
- Prevent database writes during report generation

* Fix typo

* Add regression test against model traversal

* Add webhook endpoint and message to imports

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

* Remove some models from BLOCKED_MODELS

* Revert READ_ONLY requirement

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-10-28 01:06:45 +11:00
Oliver c4280c2a03 [Refactor] Stock tracking audit (#13101)
* Add "event_type" and "notes" support to AuditLog model

* Register history entries for stock items

* record stock edited events as normal updates

* Remove legacy tracking entry generation code

* Updated unit tests for all stock event types

* remove legacy endpoints

* remove legacy tables from UI

* Updated docs

* Data migration

* Remove old models

* Update docs

* Updated playwright tests

* Fix broken links

* Update CHANGELOG.md

* Cache CID value

* Fix migration tests

* Increase query threshold for unit test

* Fix bug and add regression test

* mark migration as one-way

* flush events in the correct order

* improve prefetch

* Adjust row rendering
2026-10-27 15:14:15 +11:00
Matthias Mair 2ee5764b3b fix various sec warnings (#13108) 2026-10-27 14:41:28 +11:00
Oliver 6c65d96ece Export escape fix (#13110)
* Allow numeric values to be exported unescapted

* Updated docs

* Explicit regression tests
2026-10-27 11:55:24 +11:00
dependabot[bot]andMatthias Mair 8075ef58d9 chore(deps): bump the dependencies group across 1 directory with 10 updates (#13105)
* 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 |
| --- | --- | --- |
| [blessed](https://github.com/jquast/blessed) | `1.50.0` | `1.51.0` |
| [boto3](https://github.com/boto/boto3) | `1.43.113` | `1.43.114` |
| [botocore](https://github.com/boto/botocore) | `1.43.113` | `1.43.114` |
| [django-money](https://github.com/django-money/django-money) | `3.6.1` | `3.6.2` |
| [django-mptt](https://github.com/django-mptt/django-mptt) | `0.18.0` | `0.19.1` |
| [fonttools](https://github.com/fonttools/fonttools) | `4.66.1` | `4.67.0` |
| [paramiko](https://github.com/paramiko/paramiko) | `5.0.0` | `5.1.0` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.13.0` | `4.13.5` |
| [pluggy](https://github.com/pytest-dev/pluggy) | `1.6.0` | `1.7.0` |
| [prek](https://github.com/j178/prek) | `0.5.5` | `0.5.6` |



Updates `blessed` from 1.50.0 to 1.51.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/compare/1.50...1.51)

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

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

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

Updates `django-mptt` from 0.18.0 to 0.19.1
- [Changelog](https://github.com/django-mptt/django-mptt/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/django-mptt/django-mptt/compare/0.18...0.19.1)

Updates `fonttools` from 4.66.1 to 4.67.0
- [Release notes](https://github.com/fonttools/fonttools/releases)
- [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst)
- [Commits](https://github.com/fonttools/fonttools/compare/4.66.1...4.67.0)

Updates `paramiko` from 5.0.0 to 5.1.0
- [Commits](https://github.com/paramiko/paramiko/compare/5.0.0...5.1.0)

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

Updates `pluggy` from 1.6.0 to 1.7.0
- [Changelog](https://github.com/pytest-dev/pluggy/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pluggy/compare/1.6.0...1.7.0)

Updates `prek` from 0.5.5 to 0.5.6
- [Release notes](https://github.com/j178/prek/releases)
- [Changelog](https://github.com/j178/prek/blob/main/CHANGELOG.md)
- [Commits](https://github.com/j178/prek/compare/v0.5.5...v0.5.6)

---
updated-dependencies:
- dependency-name: blessed
  dependency-version: 1.51.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: boto3
  dependency-version: 1.43.114
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.43.114
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-money
  dependency-version: 3.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-mptt
  dependency-version: 0.19.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: fonttools
  dependency-version: 4.67.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: paramiko
  dependency-version: 5.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: platformdirs
  dependency-version: 4.13.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pluggy
  dependency-version: 1.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: prek
  dependency-version: 0.5.6
  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-10-27 11:34:06 +11:00
dependabot[bot]andOliver Walters f05b8b44e4 chore(deps): bump brotli from 1.2.0 to 1.2.1 in /src/backend (#13092)
* chore(deps): bump brotli from 1.2.0 to 1.2.1 in /src/backend

Bumps [brotli](https://github.com/google/brotli) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/google/brotli/releases)
- [Changelog](https://github.com/google/brotli/blob/go/brotli/v1.2.1/CHANGELOG.md)
- [Commits](https://github.com/google/brotli/compare/v1.2.0...go/brotli/v1.2.1)

---
updated-dependencies:
- dependency-name: brotli
  dependency-version: 1.2.1
  dependency-type: direct:production
...

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

* Update requirements.txt

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oliver Walters <oliver.henry.walters@gmail.com>
2026-10-26 22:48:19 +11:00
github-actions[bot] f61e6d79b3 New Crowdin translations by GitHub Action (#13095)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-26 17:59:43 +11:00
Oren bab82bf808 fix(backend): reject duplicate email when creating a user via the API (#13100)
UserCreateSerializer did not check whether the email address was
already in use (signup does, via allauth). Email based flows such as
the login link look users up by email and silently send nothing when
more than one user matches, while the API still reports success.

Two existing tests reused one email for several users; give them
distinct addresses.
2026-10-26 11:28:40 +11:00
Oliver c475e9bfcf [Feature] Changelog / Edit History (#13069)
* Initial app scaffolding

* Skeleton for AuditLogTable

* Add UI table

* Add audit history panel to admin center

* Add auditing for models in the 'company' app

* Gate API access of user staff status

* Display item history in UI

* Track 'attachment' history

* Track 'parameter' changes

* Audit support for "common" models

* Track changed for "build" models

* Track history for "order" models:

- PurchaseOrder
- SalesOrder
- SalesOrderShipment
- ReturnOrder

Also track changes against LineItem and ExtraLineItem objects

* Register custom admin class

* Support Part history

* BomItem changes

* Fix for BulkCreateMixin

* Tweak unit tests

* Use Viewset

* Adjust error code behavior

* Setting to keep summary entries

* Refactor helper for middlewares

* Tweak unit tests

* Fixes for ModelInformationDict

* Track pricing changes

* Add model type filter for auditlog table

* Specify filter field type

* Hide HistoryPanel if auding is disabled

* add docs

* Add "--summary" option to export_records task

* Playwright tests

* Track task responsible for data changes

* Updated unit tests

* record changes to global settings

* Update docs

* Ensure values are stringified

* Fix for globalsetting

* Patch unit test

* Tweak playwright tests

* playwright test fix

* use main branch for demo data

* Update CHANGELOG
2026-10-25 12:36:13 +11:00
Oliver cdb3b1ecf7 [bug] Fix for merging stock items (#13091)
- Use *target* stock status if supplied
- Closes https://github.com/inventree/InvenTree/issues/13086
2026-10-24 19:00:18 +11:00
github-actions[bot] ff697674d7 New Crowdin translations by GitHub Action (#13066)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-10-24 17:32:25 +11:00