This is the first release candidate for 0.16.0 intended for CI verification and regression testing. While it is generally stable, it is not recommended to be deployed in production.
What's Changed
Breaking Changes
- Plugin API lookup key by @SchrodingersGat in #7224
- Add support for a Completed status (Fixes: #6434) by @tsimonq2 in #6449
- Report printing refactor by @SchrodingersGat in #7074
- Single table for file attachments by @SchrodingersGat in #7420
- Bump docker image alpine base from 3.18 to 3.20 by @matmair in #7699
- Migrate Icons to Tabler icons and integrate into PUI by @wolflu05 in #7684
- Plugin static files by @wolflu05 in #7763
Security Patches
- Provide setup keys for two-factor authentication alongside QR codes by @matmair in #7406
- Bump braces from 3.0.2 to 3.0.3 in /src/frontend by @dependabot in #7430
- [PUI] Add 2FA login by @matmair in #7469
- Bump django to 4.2.14 by @matmair in #7620
- bump setuptools by @matmair in #7663
- Add option to disable MFA by @matmair in #7757
- Add provenance to releases and publish SBOMs by @matmair in #7784
New Features
- PUI location type by @wolflu05 in #7238
- Prevent deletion of part which is used in an assembly by @SchrodingersGat in #7260
- Batch code generation by @SchrodingersGat in #7000
- Performance improvement for notifications API endpoint by @SchrodingersGat in #7154
- Currency setting by @SchrodingersGat in #7390
- Test result choices by @SchrodingersGat in #7417
- [plugins] allow static files for plugins by @SchrodingersGat in #7425
- Adds support for Romanian locale tranaslations by @SchrodingersGat in #7428
- Feat: SSO group sync by @p-fruck in #7293
- Detect python version for installer by @matmair in #7547
- Display barcode text near qrcode by @matmair in #7553
- [Build] Add extra validation options by @SchrodingersGat in #7560
- [WIP] Data importer by @SchrodingersGat in #6911
- [Feature] Part lock by @SchrodingersGat in #7527
- Add variable to stop creation of admin account by @matmair in #7580
- PUI form framework: dependent field by @wolflu05 in #7584
- Build Line Updates by @SchrodingersGat in #7591
- Fix "Scan barcode" modal input by @tomvaneyck in #7610
- Add debug option to the sheet printer plugin by @martonmiklos in #7614
- [Feature] Build allocation export by @SchrodingersGat in #7611
- Revision Improvements by @SchrodingersGat in #7585
- [PUI] Add BOM import tool by @SchrodingersGat in #7635
- Add notes to mp and sp by @wolflu05 in #7667
- Add barcode generation capabilities to plugins by @wolflu05 in #7648
- [PUI] Add permissions to groups by @matmair in #7621
- [FR] Add Tokens to PUI by @matmair in #7693
- Add substitute details to BOM export by @mredpath2 in #7563
- Added test statistics by @martonmiklos in #7164
- [PUI] Build test results by @SchrodingersGat in #7777
Bug Fixes
- Fix permissions for release.yaml by @SchrodingersGat in #7220
- Docker fix by @SchrodingersGat in #7228
- [PUI] Attachment table fix by @SchrodingersGat in #7232
- Fix for email template by @SchrodingersGat in #7249
- Plugin setting fix by @SchrodingersGat in #7258
- Report Migration Fix by @SchrodingersGat in #7296
- Fix sales order shipment / completed buttons by @SchrodingersGat in #7305
- Add Meta subclass for build serializers by @SchrodingersGat in #7315
- Handle exception on migration by @SchrodingersGat in #7322
- CUI: Don't load stock test results for non-trackable part by @SchrodingersGat in #7327
- Updates for metadata information by @SchrodingersGat in #7343
- Fix for 'restore' command by @SchrodingersGat in #7348
- Fixes for installer by @matmair in #7344
- Bug fix for label printing with plugin on CUI by @SchrodingersGat in #7324
- Label printing bug fixes by @SchrodingersGat in #7329
- Handle case where serializer does not have 'Meta' class by @SchrodingersGat in #7360
- Plugin reload fix by @SchrodingersGat in #7361
- Catch edge case for merge_stock_items: by @SchrodingersGat in #7373
- Migration fix by @SchrodingersGat in #7379
- Template permission fix by @SchrodingersGat in #7391
- Global Cache Fix by @SchrodingersGat in #7393
- Currency format fix by @SchrodingersGat in #7398
- Null url fix by @SchrodingersGat in #7408
- Remove the New Stock Item button from Stock view in case the user has no Stock write mermission by @SergeoLacruz in #7435
- Fix for report migration by @SchrodingersGat in #7438
- fix: Add installer check for python version by @matmair in #7440
- Fix for gunicorn command by @SchrodingersGat in #7450
- Improve stock item tracking API query by @SchrodingersGat in #7451
- Update data migration by @SchrodingersGat in #7455
- Fix click-through for purchase order line item table by @SchrodingersGat in #7472
- Fix fields for PurchaseOrderCancelSerializer by @SchrodingersGat in #7481
- [PUI] Bug fix by @SchrodingersGat in #7486
- Fix non null field 'description' by @mp-strachan in #7488
- PUI bug fix by @SchrodingersGat in #7490
- Handle missing dulwich module by @SchrodingersGat in #7497
- Fix for example test report by @SchrodingersGat in #7498
- Error checking for attachment model type by @SchrodingersGat in #7506
- Plugin load fix by @SchrodingersGat in #7505
- Handle null response case by @SchrodingersGat in #7512
- Fix table permissions for CUI by @SchrodingersGat in #7513
- Top level cascade by @SchrodingersGat in #7514
- [Bug] Fix for BOM import by @SchrodingersGat in #7515
- [bug] Handle case where deltas is null by @SchrodingersGat in #7516
- [PUI] Table filters by @SchrodingersGat in #7519
- Fix import widget type by @SchrodingersGat in #7535
- Calculate weighted average price when merging stock items by @SchrodingersGat in #7534
- [PUI] Fix choice-based settings showing as string fields by @LavissaWoW in #7543
- Fix call to add_label_context by @SchrodingersGat in #7548
- Fix 'symbol' field for CustomUnit by @SchrodingersGat in #7557
- Fix SSO theme selection by @matmair in #7556
- Package is not checking for already existing installs by @matmair in #7555
- [PUI] Fix saveNotes callback by @SchrodingersGat in #7545
- Fix schema version commit text by @matmair in #7576
- BOM delete fix by @SchrodingersGat in #7586
- Move duplicate schema endpoint by @matmair in #7595
- [Bug] Project code fix by @SchrodingersGat in #7599
- Parameter value bug by @SchrodingersGat in #7601
- Tweak checks for error messages by @SchrodingersGat in #7598
- [PUI] Fix line-break for "details" field by @SchrodingersGat in #7616
- Correct tooltips by @martonmiklos in #7625
- Fix machine request pickeling and settings by @wolflu05 in #6772
- Fix issues made in #7614 by @martonmiklos in #7622
- Allocated stock table fix by @SchrodingersGat in #7636
- Fix location icon field by @wolflu05 in #7658
- Added onInput event for fields in forms - fix for issue #7600 by @rocheparadox in #7660
- Adjust packaging at different stages by @SchrodingersGat in #7649
- Fix rendering bug with company image by @wolflu05 in #7668
- Cast width / height to integer by @SchrodingersGat in #7676
- Fix loading sequence for PUI form fields by @SchrodingersGat in #7678
- Cui tree fix by @SchrodingersGat in #7680
- [PUI] form error fix by @SchrodingersGat in #7689
- Revert postgres version to 13 by @SchrodingersGat in #7717
- try to fix tests by @wolflu05 in #7730
- [PUI] Bug fix for API forms by @SchrodingersGat in #7758
- Fix permissions for importing data by @SchrodingersGat in #7776
- Add limit to default location annotation by @LavissaWoW in #7771
- Fix for holdoff threshold checks by @SchrodingersGat in #7795
- Fix docker repo names by @matmair in #7800
- [PUI] Fix for part detail display by @SchrodingersGat in #7809
Devops / Setup Changes
- fix: SELinux labels for Caddyfile by @p-fruck in #7261
- Add clearer error message for invalid SITE_URL by @SchrodingersGat in #7311
- Use
UV_SYSTEM_PYTHON
to allow the system Python interpreter by @zanieb in #7317 - Query count test by @SchrodingersGat in #7157
- Cache updates by @SchrodingersGat in #7388
- Add unit test for stockitemtracking API by @SchrodingersGat in #7459
- More tests for
users
app by @matmair in #7479 - Disable 3.12 testing for now by @matmair in #7577
- Add cleanup task by @matmair in #7581
- [CI] Add nicer OpenAPI diffs by @matmair in #7002
- Optimize PUI package delivery for package installs by @matmair in #7655
- Various small packaging fixes by @matmair in #7686
- Bump node to 20 by @matmair in #7698
- cI: Test color theme again by @matmair in #7700
- Make libffi version more flexible by @matmair in #7734
- Update ruff settings to new preference by @matmair in #7756
- fix path to CI dependencies by @matmair in #7755
- Removed obsoleted version element from docker-compose examples by @medo64 in #7760
- Make versions_check more reliable in forks by @matmair in #7785
Dependencies
- Bump the dependencies group with 3 updates by @dependabot in #7276
- Bump eslint from 9.2.0 to 9.3.0 in /src/backend in the dependencies group by @dependabot in #7274
- Bump mkdocstrings[python] from 0.25.0 to 0.25.1 in /docs by @dependabot in #7212
- Bump requests from 2.31.0 to 2.32.0 in /src/backend by @dependabot in #7283
- Bump requests from 2.31.0 to 2.32.1 in /.github by @dependabot in #7282
- Bump requests from 2.32.1 to 2.32.2 in /.github by @dependabot in #7295
- [PUI] Update mantine components by @SchrodingersGat in #7369
- Bump the dependencies group across 1 directory with 3 updates by @dependabot in #7427
- Bump eslint from 9.3.0 to 9.4.0 in /src/backend by @dependabot in #7395
- Bump eslint from 9.4.0 to 9.5.0 in /src/backend by @dependabot in #7463
- Bump the dependencies group with 4 updates by @dependabot in #7462
- Bump urllib3 from 2.2.1 to 2.2.2 in /contrib/dev_reqs by @dependabot in #7467
- Bump docker/build-push-action from 6.0.0 to 6.1.0 in the dependencies group by @dependabot in #7502
- Bump pre commit versions by @matmair in #7255
- Bump certifi from 2024.2.2 to 2024.7.4 in /contrib/dev_reqs by @dependabot in #7568
- Bump the dependencies group with 2 updates by @dependabot in #7541
- Bump certifi from 2024.2.2 to 2024.7.4 in /src/backend by @dependabot in #7566
- General backend deps bump by @matmair in #7521
- Bump urllib3 to 2.2.2 by @matmair in #7578
- Bump the dependencies group with 5 updates by @dependabot in #7590
- Bump the dependencies group across 1 directory with 52 updates by @dependabot in #7540
- Bump certifi from 2024.2.2 to 2024.7.4 in /docs by @dependabot in #7596
- Bump the dependencies group with 3 updates by @dependabot in #7661
- Bump development deps by @matmair in #7606
- Bump sentry-sdk from 2.7.0 to 2.8.0 in /src/backend by @dependabot in #7683
- Bump eslint from 9.5.0 to 9.7.0 in /src/backend by @dependabot in #7710
- Bump the dependencies group with 5 updates by @dependabot in #7712
- Bump the dependencies group across 2 directories with 7 updates by @dependabot in #7769
Other Changes
- Mark as 0.16.0 dev version by @SchrodingersGat in #7218
- [PUI] Test table tweaks by @SchrodingersGat in #7231
- Add location type to location overview by @SergeoLacruz in #7202
- [PUI] Refactoring forms by @SchrodingersGat in #7239
- [PUI] Column Refactoring by @SchrodingersGat in #7242
- Admin tweaks by @SchrodingersGat in #7248
- Remove dead code by @SchrodingersGat in #7265
- Update part filters by @SchrodingersGat in #7264
- Fix wrapping for by @SchrodingersGat in #7272
- [PUI] StockTrackingTable by @SchrodingersGat in #7273
- Test result table tweaks by @SchrodingersGat in #7290
- [PUI] Add initial part data to manufacturer part table by @SchrodingersGat in #7299
- [PUI] Dynamic PartParameter field by @SchrodingersGat in #7298
- [PUI] Open links in new window by @SchrodingersGat in #7354
- Add option to hide active sessions from settings panel by @SchrodingersGat in #7366
- [PUI] Mantine tree by @SchrodingersGat in #7357
- Add new "available" badge to stock page by @SchrodingersGat in #7368
- PO shipped complete by @SchrodingersGat in #7367
- Fix parameter dialog for parametericparttable by @SchrodingersGat in #7380
- [PUI] Notes editor by @SchrodingersGat in #7284
- Panel placeholders by @SchrodingersGat in #7405
- Stock SKU export by @SchrodingersGat in #7418
- Mantine charts by @SchrodingersGat in #7419
- Setting refactor by @SchrodingersGat in #7404
- Allow build line list to be searched by IPN by @SchrodingersGat in #7442
- Small refactor for stock item post-save signals by @SchrodingersGat in #7449
- small code tweaks by @SchrodingersGat in #7454
- chore: style fixes by @matmair in #7478
- fix: add .vite folder in frontend releases (fixes #7476) by @Gigahawk in #7480
- Add "showmigrations" task to invoke by @SchrodingersGat in #7482
- [PUI] Allow search results to be opened in a new tab by @SchrodingersGat in #7500
- Fix for notification query by @SchrodingersGat in #7511
- Add field info to user serializer by @SchrodingersGat in #7518
- Plugin static files fix by @SchrodingersGat in #7532
- [PUI] Update table filters by @SchrodingersGat in #7544
- [PUI] Error pages by @SchrodingersGat in #7554
- [PUI] BOM table updates by @SchrodingersGat in #7561
- Ensure schema generation is more stable by @matmair in #7562
- [PUI] Update part duplicate forms by @SchrodingersGat in #7575
- Use more pathlib instead of os by @matmair in #7589
- Default location column by @SchrodingersGat in #7587
- [PUI] Query cache improvements by @SchrodingersGat in #7609
- [PUI] Add more columns by @SchrodingersGat in #7618
- Add server-side annotation for "can_build" by @SchrodingersGat in #7619
- [PUI] Add filters for parameteric part table by @SchrodingersGat in #7617
- Various small code quality cleanups by @matmair in #7626
- Update part detail by @SchrodingersGat in #7629
- Arabic support by @SchrodingersGat in #7630
- Remove caching of the DEBUG settings from the label printer plugin by @martonmiklos in #7640
- Fix argument name by @SchrodingersGat in #7653
- [PUI] Tweak purchase order line table by @SchrodingersGat in #7656
- Logic fix for UI elements by @SchrodingersGat in #7657
- [PUI] PO line item import by @SchrodingersGat in #7671
- [CUI] Non field errors by @SchrodingersGat in #7672
- Various SAST fixes by @matmair in #7644
- [PUI] Tweaks by @SchrodingersGat in #7673
- Small typescript cleanups by @matmair in #7685
- [PUI] Tab permissions by @SchrodingersGat in #7692
- [PUI] Remember state of table sorting by @SchrodingersGat in #7702
- Fix tooltip location for panel icon by @SchrodingersGat in #7703
- Disable blank issues by @matmair in #7732
- [PUI] Add more barcode actions by @SchrodingersGat in #7741
- Fix small style issue by @matmair in #7768
- Pin OAS action with hash by @matmair in #7767
- Add extra fields to BOM export by @SchrodingersGat in #7775
- Improve row click handling for tables by @SchrodingersGat in #7779
- [PUI] Update template tables by @SchrodingersGat in #7781
- [PUI] Table Updates by @SchrodingersGat in #7783
- Migration cleanup by @SchrodingersGat in #7792
- Make Tree Path searchable by @wolflu05 in #7786
- [PUI] Fix permission checks for bulk delete actions by @SchrodingersGat in #7796
- [API] Improvements for API endpoints by @SchrodingersGat in #7794
- [PUI] Sales order tables by @SchrodingersGat in #7793
New Contributors
- @tsimonq2 made their first contribution in #6449
- @zanieb made their first contribution in #7317
- @Gigahawk made their first contribution in #7480
- @mp-strachan made their first contribution in #7488
- @tomvaneyck made their first contribution in #7610
- @lifeisafractal made their first contribution in #7651
- @mredpath2 made their first contribution in #7563
- @medo64 made their first contribution in #7760
- @niclash made their first contribution in #7801
Full Changelog: 0.15.0...0.16.0rc0