Commit Graph
18322 Commits
Author SHA1 Message Date
Petr Ledvina 9daf4f8efe Preserve label printing failures and skip failed job redelivery (#12872)
Retain DataOutput records with the original printing error and mark jobs
failed when their plugin is unavailable. Keep exception propagation and
skip failed outputs on redelivery to avoid printing partial batches again.

Cover direct and worker exceptions, unavailable plugins, failed-job
redelivery, and missing or completed outputs.
2026-09-22 21:57:45 +10:00
Oliver 499c4d5b56 Additional regression tests for note support in reports (#12910) 2026-09-22 12:55:06 +10:00
Oliver c392b9cf03 Selection list fix (#12908)
* Enable filtering / searching / sorting on the SelectionListList API endpoint

* Add regression tests

* Bump API version
2026-09-22 11:19:21 +10:00
dependabot[bot] 315835d907 chore(deps): bump the dependencies group with 4 updates (#12905)
Bumps the dependencies group with 4 updates: [codecov/codecov-action](https://github.com/codecov/codecov-action), [oasdiff/oasdiff-action/diff](https://github.com/oasdiff/oasdiff-action), [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action).


Updates `codecov/codecov-action` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/fb8b3582c8e4def4969c97caa2f19720cb33a72f...0b35c9ecc4f0529d0eb674914510c22f85b196b4)

Updates `oasdiff/oasdiff-action/diff` from 0.1.15 to 0.1.16
- [Release notes](https://github.com/oasdiff/oasdiff-action/releases)
- [Commits](https://github.com/oasdiff/oasdiff-action/compare/9c0494cfee8b8fcc9fb383ed2d5d3fbdae169b93...95200b7219229c6259caee5062c59e2f4506e5d9)

Updates `zizmorcore/zizmor-action` from 0.6.3 to 0.6.4
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](https://github.com/zizmorcore/zizmor-action/compare/70fb788f84895a7701f5643d103d587e460b5c99...cc914d7f3750a2d13d75c7f184a1060aa0e9d482)

Updates `github/codeql-action/upload-sarif` from 4.37.9 to 4.38.0
- [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/cdf488f595d80d6e07e03d4674febd5ab45fa938...b96794f015dfd88f77b49b1c93e0fa7110f94c63)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: oasdiff/oasdiff-action/diff
  dependency-version: 0.1.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.6.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  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-22 09:51:53 +10:00
github-actions[bot] 0a09fd582c New Crowdin translations by GitHub Action (#12895)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-22 09:51:26 +10:00
Matthias Mair c86df83c01 try fixing leaky firefox tests (#12904) 2026-09-21 16:56:42 +10:00
Oliver 2f91f9a068 [report] Add set_var and get_var helpers (#12901)
* [report] Add set_var and get_var helpers

* Add type hints

* Adjust helpers
2026-09-21 16:38:03 +10:00
Oliver fb0cc89fc3 [UI] Fix Background Tasks panel (#12899)
- Prevent visual flicker of "background worker not running"
2026-09-21 15:03:20 +10:00
Oliver a675d1b24c [bug] Fix for Attachment thumbnail generation (#12902) 2026-09-21 13:16:24 +10:00
Oliver 94692563fe [bug] Bulk import fix (#12898)
* Handle auto_now and auto_now_add fields for bulk import

- Prevent them from being set to the current date

* Add regression testing
2026-09-21 13:05:21 +10:00
Oliver bb195a77b8 Min db docs (#12897)
* Add minimum version information

* Update DB docs
2026-09-21 08:17:04 +10:00
Oliver ce52e57fba [bug] Build line fix (#12892)
* Fix BuildLineSerializer

- use SubquerySum not Sum

* Add regression test

* Adjust existing API test thresholds

* Refactor assertion message in test_api.py

Simplified assertion message for GROUP BY check in count queries.

* Fix assertion message in count query test
2026-09-20 23:41:09 +10:00
Oliver 10422dc37b [db] Disable JIT for postgres (#12893)
* disable postgres JIT by default

* Update docs
2026-09-20 19:09:55 +10:00
dependabot[bot]andMatthias Mair 6176135821 chore(deps): bump the dependencies group across 1 directory with 18 updates (#12882)
* chore(deps): bump the dependencies group across 1 directory with 18 updates

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

| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3) | `1.43.88` | `1.43.92` |
| [botocore](https://github.com/boto/botocore) | `1.43.88` | `1.43.92` |
| [django-dbbackup](https://github.com/Archmonger/django-dbbackup) | `5.3.0` | `5.3.1` |
| [djangorestframework](https://github.com/encode/django-rest-framework) | `3.18.0` | `3.18.1` |
| [fonttools](https://github.com/fonttools/fonttools) | `4.64.0` | `4.65.0` |
| [pint](https://github.com/hgrecco/pint) | `0.25.3` | `0.26.1` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.11.7` | `4.11.8` |
| [pydantic-core](https://github.com/pydantic/pydantic) | `2.46.5` | `2.49.0` |
| [pyjwt](https://github.com/jpadilla/pyjwt) | `2.13.0` | `2.14.0` |
| [pypdf](https://github.com/py-pdf/pypdf) | `6.17.0` | `6.18.1` |
| [scim2-models](https://github.com/python-scim/scim2-models) | `0.6.12` | `0.7.0` |
| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.68.1` | `2.69.1` |
| [tqdm](https://github.com/tqdm/tqdm) | `4.70.0` | `4.70.1` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `2.4.0` | `2.4.1` |
| [anyio](https://github.com/agronholm/anyio) | `4.15.0` | `4.15.1` |
| [build](https://github.com/pypa/build) | `1.6.0` | `1.6.1` |
| [types-psycopg2](https://github.com/python/typeshed) | `2.9.21.20260724` | `2.9.21.20260911` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20260815` | `6.0.12.20260906` |



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

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

Updates `django-dbbackup` from 5.3.0 to 5.3.1
- [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.0...5.3.1)

Updates `djangorestframework` from 3.18.0 to 3.18.1
- [Release notes](https://github.com/encode/django-rest-framework/releases)
- [Commits](https://github.com/encode/django-rest-framework/compare/3.18.0...3.18.1)

Updates `fonttools` from 4.64.0 to 4.65.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.64.0...4.65.0)

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

Updates `platformdirs` from 4.11.7 to 4.11.8
- [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.11.7...4.11.8)

Updates `pydantic-core` from 2.46.5 to 2.49.0
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](https://github.com/pydantic/pydantic/commits)

Updates `pyjwt` from 2.13.0 to 2.14.0
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.13.0...2.14.0)

Updates `pypdf` from 6.17.0 to 6.18.1
- [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.17.0...6.18.1)

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

Updates `sentry-sdk` from 2.68.1 to 2.69.1
- [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.68.1...2.69.1)

Updates `tqdm` from 4.70.0 to 4.70.1
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.70.0...v4.70.1)

Updates `wrapt` from 2.4.0 to 2.4.1
- [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.4.0...2.4.1)

Updates `anyio` from 4.15.0 to 4.15.1
- [Release notes](https://github.com/agronholm/anyio/releases)
- [Commits](https://github.com/agronholm/anyio/compare/4.15.0...4.15.1)

Updates `build` from 1.6.0 to 1.6.1
- [Release notes](https://github.com/pypa/build/releases)
- [Changelog](https://github.com/pypa/build/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/build/compare/1.6.0...1.6.1)

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

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

---
updated-dependencies:
- dependency-name: boto3
  dependency-version: 1.43.92
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.43.92
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: django-dbbackup
  dependency-version: 5.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: djangorestframework
  dependency-version: 3.18.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: fonttools
  dependency-version: 4.65.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pint
  dependency-version: 0.26.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: platformdirs
  dependency-version: 4.11.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pydantic-core
  dependency-version: 2.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pyjwt
  dependency-version: 2.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pypdf
  dependency-version: 6.18.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: scim2-models
  dependency-version: 0.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: sentry-sdk
  dependency-version: 2.69.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: tqdm
  dependency-version: 4.70.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: wrapt
  dependency-version: 2.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: anyio
  dependency-version: 4.15.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: build
  dependency-version: 1.6.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: types-psycopg2
  dependency-version: 2.9.21.20260911
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: types-pyyaml
  dependency-version: 6.0.12.20260906
  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-09-20 11:28:23 +10:00
lizerui1608-dev 417e93a012 docs: fix typos in development documentation (#12888) 2026-09-20 10:43:56 +10:00
Matthias Mair 4182ed5a8c fix token name collission cause test failuures (#12889) 2026-09-20 10:43:41 +10:00
github-actions[bot] bc005959f5 New Crowdin translations by GitHub Action (#12865)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-20 10:40:45 +10:00
Matthias Mair 63055865db evaluate enviroment once (#12890) 2026-09-20 09:05:47 +10:00
Oliver ea553ea232 Export records (#12887)
* Add 'bulkdumpdata' command

* Test --bulk option in CI
2026-09-19 19:43:09 +10:00
Oliver 2845a59207 API permission tweaks (#12886)
* API permission tweaks

- Explicitly require admin role for MachineSettingList
- Permission check for barcode generation

* Adjust existing unit test

* Update API version
2026-09-19 17:58:00 +10:00
Oliver 2f9064a5c2 Improved API error handling (#12884)
* Improved API error handling

* Remove comment

* Fixes for playwright
2026-09-19 16:24:22 +10:00
Oliver fcb1e4f23e PO status fix (#12885)
* Fix for PurchaseOrder status code view

- Order dependent, due to new viewset

* Add regression tests for status code API endpoints
2026-09-19 11:54:07 +10:00
Matthias Mair ad69a35dfb feat: support password change well-known (#12878)
as per https://adamj.eu/tech/2026/09/16/django-change-password-url/
2026-09-19 08:26:07 +10:00
Petr LedvinaandOliver f76d79baf1 Add SVG support to datamatrix (#12875)
* Extract Data Matrix rendering helpers

* Add SVG Data Matrix output

* Verify vector Data Matrix output in PDFs

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-09-18 18:14:50 +10:00
Petr Ledvina 98f4a8203b Ensure generated label PDFs have correct extension (#12870)
* Ensure generated label PDFs retain their extension

* Test generated label PDF filename handling
2026-09-18 17:09:49 +10:00
Petr Ledvina b9c7c24f8a Fix validation of dependent serializer fields (#12871) 2026-09-18 07:59:44 +10:00
Oliver e37045ac41 Display user fix (#12869)
* Add 'created-by' badge to order pages

* Update playwright tests

* fix icons
2026-09-18 07:39:18 +10:00
Petr Ledvina 960c5f18e4 Preserve note image files when transactions roll back (#12867) 2026-09-18 00:13:03 +10:00
github-actions[bot] 3a0ade3265 New Crowdin translations by GitHub Action (#12782)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-09-16 22:32:45 +10:00
Oliver fe7ed8028e [UI] Enable copyable cell for BOM table (#12863) 2026-09-16 12:52:05 +10:00
Matthias Mair dca516b318 feat(backend): switch API token storage to hmac digest (#12850)
* [FR] switch API token storage to hmac digest
Fixes #12027

* add pr number

* fix implementation details
allign token prefix and token end (add date issuance)

* fix missing re-issuance

* ensure we raise if not exsistant

* fix test

* add ignore

* extend test

* add information regarding v2 tokens

* add fields for:
- revocation details (reason, revoker)
- issueance
- version
- pepper

* bump apiversion

* make revocation mesagge clearer

* add missing update fields

* ensure this only triggers for v2

* move comment

* re-add v1 coverage

* add missing annotation to api schema
2026-09-16 10:35:12 +10:00
Matthias MairandOliver eb1392fea9 feat(frontend): remove old deps (#12857)
Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-09-16 08:59:45 +10:00
Oliver 225157153e Bug fixes for plugin file check (#12861)
- regex escape package name
- allow package without version indicator
- prevent duplication of entries within the plugins file
- add regression tests
2026-09-15 23:23:12 +10:00
Oliver d0a98f6491 Add more robust plugin installation check (#12858) 2026-09-15 21:24:40 +10:00
Matthias Mair 63a434c652 feat: Add facility to completely hide parts of the interface (#12842)
* fix typing issue for pylance engine

* add flags to mark rough function of setting

* update pr version

* fix settings serialisation

* render security warnings

* move Transfer Orders

* respect return order hiding

* almost all confirm texts will have a warning

* add settings for sales, purchase and buildorder deactivation

* make permission check also ensure gloablsetting for view is available; reduce number of chained gates

* document possible missing check

* ensure we can still show the sales tab

* add additional warning to group cleanup

* hide more ui parts conditionally

* add tests for new code and remove duplication

* fix test

* alternative approach to fix SSO path

* remove patch; now done in serializer

* ignore ldap section
2026-09-15 21:13:59 +10:00
dependabot[bot] 1afe583ea5 chore(deps): bump the dependencies group with 3 updates (#12855)
Bumps the dependencies group with 3 updates: [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action), [oasdiff/oasdiff-action/diff](https://github.com/oasdiff/oasdiff-action) and [crowdin/github-action](https://github.com/crowdin/github-action).


Updates `docker/setup-qemu-action` from 4.2.0 to 4.3.0
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/96fe6ef7f33517b61c61be40b68a1882f3264fb8...1f40c72289eff860ee54a304f1438e3cff362e0a)

Updates `oasdiff/oasdiff-action/diff` from 0.1.14 to 0.1.15
- [Release notes](https://github.com/oasdiff/oasdiff-action/releases)
- [Commits](https://github.com/oasdiff/oasdiff-action/compare/54d7a752569cb30b644b7f27a362c1077973d1c0...9c0494cfee8b8fcc9fb383ed2d5d3fbdae169b93)

Updates `crowdin/github-action` from 3.0.1 to 3.0.2
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/71fdb8814261dd703be4ca7c6450d21b1868da4b...0d5670f539973aea2f01abce61a8989934df0025)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: oasdiff/oasdiff-action/diff
  dependency-version: 0.1.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: crowdin/github-action
  dependency-version: 3.0.2
  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-15 09:14:52 +10:00
Oliver 0d7c99d405 Prevent editing "part" against existing BuildOrder (#12849) 2026-09-15 08:56:35 +10:00
Matthias Mair 66de7b77d4 add test for migrations (#12838) 2026-09-14 16:18:27 +10:00
Matthias Mair 7c246aedb0 And more ci hardening (#12843)
* strictly use internal actions

* and more pinning
2026-09-13 21:38:32 +10:00
Leonid ZaliubovskyiandOliver 13cc62567c Fix 12844 notification external link (#12845)
* Fix external notification links

* Add notification link regression test

* Preserve fallback for empty notification links

* Satisfy Biome optional-chain check

* Apply Biome formatting

* Retrigger CI

---------

Co-authored-by: Oliver <oliver.henry.walters@gmail.com>
2026-09-13 11:37:55 +00:00
dependabot[bot]andMatthias Mair b14a4e7812 chore(deps): bump the dependencies group across 1 directory with 12 updates (#12841)
* chore(deps): bump the dependencies group across 1 directory with 12 updates

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

| Package | From | To |
| --- | --- | --- |
| [boto3](https://github.com/boto/boto3) | `1.43.84` | `1.43.88` |
| [botocore](https://github.com/boto/botocore) | `1.43.84` | `1.43.88` |
| [cssselect2](https://github.com/Kozea/cssselect2) | `0.10.0` | `0.10.1` |
| [googleapis-common-protos](https://github.com/googleapis/google-cloud-python) | `1.75.2` | `1.75.3` |
| [jwcrypto](https://github.com/latchset/jwcrypto) | `1.5.9` | `1.6.0` |
| [lxml](https://github.com/lxml/lxml) | `6.1.2` | `6.1.3` |
| [platformdirs](https://github.com/tox-dev/platformdirs) | `4.11.5` | `4.11.7` |
| [protobuf](https://github.com/protocolbuffers/protobuf) | `7.36.0` | `7.36.1` |
| [pydantic-core](https://github.com/pydantic/pydantic) | `2.46.5` | `2.48.0` |
| [pypdf](https://github.com/py-pdf/pypdf) | `6.16.2` | `6.17.0` |
| [anyio](https://github.com/agronholm/anyio) | `4.14.2` | `4.15.0` |
| [prek](https://github.com/j178/prek) | `0.5.0` | `0.5.2` |



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

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

Updates `cssselect2` from 0.10.0 to 0.10.1
- [Release notes](https://github.com/Kozea/cssselect2/releases)
- [Changelog](https://github.com/Kozea/cssselect2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/cssselect2/compare/0.10.0...0.10.1)

Updates `googleapis-common-protos` from 1.75.2 to 1.75.3
- [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.2...googleapis-common-protos-v1.75.3)

Updates `jwcrypto` from 1.5.9 to 1.6.0
- [Release notes](https://github.com/latchset/jwcrypto/releases)
- [Commits](https://github.com/latchset/jwcrypto/compare/v1.5.9...v1.6.0)

Updates `lxml` from 6.1.2 to 6.1.3
- [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.2...lxml-6.1.3)

Updates `platformdirs` from 4.11.5 to 4.11.7
- [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.11.5...4.11.7)

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

Updates `pydantic-core` from 2.46.5 to 2.48.0
- [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.46.5...core-v2.48.0)

Updates `pypdf` from 6.16.2 to 6.17.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.16.2...6.17.0)

Updates `anyio` from 4.14.2 to 4.15.0
- [Release notes](https://github.com/agronholm/anyio/releases)
- [Commits](https://github.com/agronholm/anyio/compare/4.14.2...4.15.0)

Updates `prek` from 0.5.0 to 0.5.2
- [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.5.0...v0.5.2)

---
updated-dependencies:
- dependency-name: boto3
  dependency-version: 1.43.88
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: botocore
  dependency-version: 1.43.88
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: cssselect2
  dependency-version: 0.10.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: googleapis-common-protos
  dependency-version: 1.75.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: jwcrypto
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: lxml
  dependency-version: 6.1.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: platformdirs
  dependency-version: 4.11.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: protobuf
  dependency-version: 7.36.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: pydantic-core
  dependency-version: 2.48.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: pypdf
  dependency-version: 6.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: anyio
  dependency-version: 4.15.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: prek
  dependency-version: 0.5.2
  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-09-13 13:51:31 +10:00
Matthias Mair 6b1a3b899e fix: users created via Admin Center never receive password reset emails (#12839)
* Users created via Admin Center never receive password reset emails
Fixes #12733

* fix issue when using registration endpoint

* remove duplicate code path; we now always do that

* remove old test backfill that is not required anymore
2026-09-13 13:50:52 +10:00
wyyd-yxcandMatthias Mair 9181097194 Add user option to rotate table column headers (#12837)
* Add user option to rotate table column headers (#12558)

Wide column titles (e.g. "Temperature coefficient [±ppm/°C]") take a
lot of horizontal space for narrow data. Add a ROTATE_TABLE_HEADERS
user setting (Display Options) which renders table header titles
vertically via a scoped CSS class, following the implementation
sketch from the issue discussion.

* Format ROTATE_TABLE_HEADERS description per ruff-format

* add missing doc place

* Document ROTATE_TABLE_HEADERS setting in user settings docs

* docs: add changelog entry for rotated table headers option

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
2026-09-12 14:12:39 +10:00
wyyd-yxc 27f89d25a3 Fix global search "view all results" omitting notes matches (#12482) (#12832)
The search drawer searches notes when the notes-search setting is
enabled, but the "view all results" link only carried the plain
search term - so results that matched only via their notes were
missing from the full results table.

Pass the search_notes flag through to the overview table URL when
notes search is active; the table forwards URL query parameters to
the API, where InvenTreeSearchFilter already supports search_notes.
2026-09-12 14:12:30 +10:00
dependabot[bot]andMatthias Mair 0bf4fffb39 chore(deps): bump weasyprint from 69.0 to 70.0 in /src/backend (#12833)
* chore(deps): bump weasyprint from 69.0 to 70.0 in /src/backend

Bumps [weasyprint](https://github.com/Kozea/WeasyPrint) from 69.0 to 70.0.
- [Release notes](https://github.com/Kozea/WeasyPrint/releases)
- [Changelog](https://github.com/Kozea/WeasyPrint/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/WeasyPrint/compare/v69.0...v70.0)

---
updated-dependencies:
- dependency-name: weasyprint
  dependency-version: '70.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-09-12 08:12:50 +10:00
Matthias Mair 7d9443dbf8 more hardening of ci steps (#12834)
* fix rule: zizmor/self-repository

* pin to version

* fix --proto "=https"

* another shell:S6506

* fix shell:S8541

* fix githubactions:S8541

* fix githubactions:S8541

* more sec fixes

* fix psycopg version

* more script disabling on frontend
2026-09-11 16:55:04 +10:00
Oliver c26db6a790 Squash migrations (#12830)
* Squash migrations for "users" app

* Squash migrations for "common" app

Note: we will come back again later to squash some more

* Significant squashing

* Update legacy migrations

* Further squashing of migrations

* Even more cleanup

* Adjust CI workflow

* Update CI Job

* Update docs

* Update CHANGELOG.md

* Cleanup old comments

* Throw error if pre 1.0.0 DB detected

* Refactor incomplete migration check
2026-09-11 16:03:41 +10:00
wyyd-yxc 028d1cba1f Add owner field to stock location create/edit form (#12826)
* Add owner field to stock location create/edit form (#12537)

The platform UI form for stock locations is built from the explicit
field list in stockLocationFields(), which did not include 'owner'.
The StockLocation model (migration 0057), LocationSerializer and the
documentation all support the owner field, so restore UI parity by
adding it, following the same pattern as the stock item form.

* Hide owner field when stock ownership is disabled (#12537)

Per review: only render the owner field in the stock location
create/edit forms when the STOCK_OWNERSHIP_CONTROL global setting is
enabled. stockLocationFields() becomes the useStockLocationFields()
hook so the form can react to the setting, following the same pattern
as the expiry date field in useStockFields().
2026-09-10 15:40:07 +10:00
Oliver e8af71ae5a Bug fixes for Note model (#12835)
* Bug fixes for Note model

- Allow note to be created as "primary"
- Reset note creation fields in editor

* Tweak to ensure that the API spec does not change
2026-09-10 14:22:55 +10:00
Matthias Mair 43be292db2 harden install steps (#12819)
* harden install steps

* Update qc_checks.yaml

* remove restriction on a non-prebuild dep

* fix merge diff
2026-09-10 08:33:08 +10:00