What's Changed
Breaking Changes
- !feat(backend): bump minimum python version by @matmair in #12223
- [UI] Table field refactor by @SchrodingersGat in #12274
- [API] Refactor API for duplicating objects by @SchrodingersGat in #12294
- Adjust default behavior of "migrate" command by @SchrodingersGat in #12320
- [pricing] Remove dead pricing code on Part model by @SchrodingersGat in #12357
- [refactor] Remove MPTT mixin from StockItem model by @SchrodingersGat in #12360
- [API] Optional field permissions by @SchrodingersGat in #12529
- feat(backend): add throtteling by default by @matmair in #11951
Security Patches
- Fix permissions for group and RuleSet endpoints by @SchrodingersGat in #12563
- [security] Additional SSRF protections by @SchrodingersGat in #12595
Database Changes
- [db] Fix for UUID fields by @SchrodingersGat in #12301
- Fix currency choices for PartPricing model by @SchrodingersGat in #12336
- [feature] Unique parameters by @SchrodingersGat in #12388
- Data import fix by @SchrodingersGat in #12568
New Features
- [UI] Tree select in form fields by @SchrodingersGat in #12217
- [UI] Snippet editor by @SchrodingersGat in #12299
- [UI] Add form submission shortcut by @SchrodingersGat in #12328
- [feature] Break apart assemblies by @SchrodingersGat in #12310
- [UI] Preview Drawer by @SchrodingersGat in #12117
Bug Fixes
- Skip "many" fields in DataExport by @SchrodingersGat in #12255
- Bug fix for exception handler by @SchrodingersGat in #12257
- [UI] Stock column fix by @SchrodingersGat in #12268
- fix: preserve supplier import stock workflow by @suzunn in #12215
- [UI] Fix dashboard issue by @SchrodingersGat in #12275
- [UI] Fix 'available' display by @SchrodingersGat in #12279
- Fix stocktake bug for counting serialized items by @SchrodingersGat in #12280
- Fix for STOCK_COUNT event by @SchrodingersGat in #12281
- Pricing bugs by @SchrodingersGat in #12305
- [bug] Barcode bug fix by @SchrodingersGat in #12319
- [bug] Fix for stocktake exporter by @SchrodingersGat in #12324
- Fix notes being dropped on part creation by @ledvinap in #12332
- [bug] Plugin load fix by @SchrodingersGat in #12329
- [bug] Currency options fix by @SchrodingersGat in #12343
- [UI] Form fix by @SchrodingersGat in #12348
- Bug fixes for PO receive by @SchrodingersGat in #12349
- [bug] Fix data import bug by @SchrodingersGat in #12355
- [bug] prevent double-complete of shipments by @SchrodingersGat in #12366
- [bug] Transfer order fixes by @SchrodingersGat in #12367
- [bug] Prevent duplicate receive operation on ReturnOrder by @SchrodingersGat in #12368
- [bug] Child fix by @SchrodingersGat in #12374
- Hardening build outputs by @SchrodingersGat in #12376
- [bug] fix concurrent update issues by @SchrodingersGat in #12380
- Uninstall fix by @SchrodingersGat in #12378
- [bug] Quantity fixes by @SchrodingersGat in #12375
- Prevent duplication completion of ReturnOrder by @SchrodingersGat in #12386
- Fix for BuildItem with zero quantity by @SchrodingersGat in #12387
- Bug fixes by @SchrodingersGat in #12365
- Fix StockItem parent update on delete by @SchrodingersGat in #12377
- [bug] Tree parent fix by @SchrodingersGat in #12401
- Fix creation date formatting on part detail page by @aamirasmal15 in #12423
- fix(ui): show initial stock fields when PART_CREATE_INITIAL enabled by @br413 in #12415
- [bug] Bom table fix by @SchrodingersGat in #12436
- Read report/label templates in binary mode by @impuls42 in #12432
- Fix admin search for Address and Contact company foreign keys by @bhumin18 in #12440
- [bug] BOM checksum fix by @SchrodingersGat in #12455
- [bug] Attachment str fix by @SchrodingersGat in #12461
- Bug fix for exporting SalesOrderAllocation data by @SchrodingersGat in #12463
- [UI] Display all error table field error messages by @SchrodingersGat in #12456
- fix(backend): registry install command by @matmair in #11657
- [bug] Fix concurrency issues for allocation by @SchrodingersGat in #12478
- [bug] Unique constraint for serial numbers by @SchrodingersGat in #12483
- Token save fix by @SchrodingersGat in #12491
- Improve validation for import session by @SchrodingersGat in #12492
- [bug] Concurrency fix for scheduled tasks by @SchrodingersGat in #12493
- Fix for data import "update" by @SchrodingersGat in #12513
- Handle report error on missing svg data by @SchrodingersGat in #12514
- Row locking for data import / update by @SchrodingersGat in #12515
- Fix for TreeFieldComponent by @SchrodingersGat in #12519
- Robustify playwright test by @SchrodingersGat in #12522
- Handle missing part by @SchrodingersGat in #12566
- Barcode API bugs by @SchrodingersGat in #12565
- [API] Handle AppRegistryNotReady by @SchrodingersGat in #12571
- [bug] excel encoding for data import by @SchrodingersGat in #12576
- [bug] Fix post-delete actions by @SchrodingersGat in #12575
- [bug] Fix getLogoImage helper by @SchrodingersGat in #12577
- [bug] Fix part duplicate checks by @SchrodingersGat in #12574
- [bug] Handle deleted Part by @SchrodingersGat in #12578
- [API] Restrict barcode scan history by @SchrodingersGat in #12569
- [bug] Validate location when completing build outputs by @SchrodingersGat in #12570
- [bug] Fix PartStocktakeSerializer by @SchrodingersGat in #12587
- [docker] Include pip license file by @SchrodingersGat in #12583
- [bug] Plugin reload fix by @SchrodingersGat in #12590
- Fix test result ordering by test timestamps by @jayasree-007 in #12533
Devops / Setup Changes
- Update devcontainer Dockerfile by @SchrodingersGat in #12244
- Revert devcontainer to python 3.12 by @SchrodingersGat in #12249
- chore(backend): typing fixes by @matmair in #12247
- chore(backend): harden gh setup by @matmair in #12262
- chore(backend): Remove devops by @matmair in #12265
- Add playwright test for image upload from clipboard by @martonmiklos in #11597
- [UI] Fix imports by @SchrodingersGat in #12292
- fix test assumption by @matmair in #12296
- chore(deps): bump python from
44dd044tob877e50in /contrib/container by @dependabot[bot] in #12276 - Robustify playwright tests by @SchrodingersGat in #12331
- Progressive falloff for delay by @SchrodingersGat in #12369
- Fix Redis write failures on Windows Docker bind mounts by @br413 in #12418
- chore(deps): bump python from
b877e50tocea0e60in /contrib/container by @dependabot[bot] in #12479 - Adjust demo-dataset for CI by @SchrodingersGat in #12500
- Demo ci check by @SchrodingersGat in #12530
- Fix flaky test on sqlite by @SchrodingersGat in #12582
- [1.5.x] [CI] Improve robustness for playwright test (#12612) by @github-actions[bot] in #12613
- [1.5.x] fix(frontend): Improve flakiness issues (#12617) by @github-actions[bot] in #12619
Dependencies
Other Changes
- 1.5.0 by @SchrodingersGat in #12239
- [report] Tweak datamatrix helper by @SchrodingersGat in #12240
- Allow stock transfer to merge into existing stock (optional) #6951 by @neilbeukes in #12022
- Project code active by @SchrodingersGat in #12250
- fix js-yaml, esbuild vulns by @matmair in #12190
- [UI] Improve revision selector by @SchrodingersGat in #12254
- [UI] Table tweaks by @SchrodingersGat in #12271
- [UI] Fix stock dates by @SchrodingersGat in #12272
- chore(deps): bump the dependencies group with 5 updates by @dependabot[bot] in #12278
- [UI] Allow stock adjustment from "category" detail view by @SchrodingersGat in #12256
- Check build complete by @SchrodingersGat in #12289
- Display login errors to user by @SchrodingersGat in #12288
- fix pin syntax by @matmair in #12287
- [UI] Tweak unique keys by @SchrodingersGat in #12293
- chore(deps): bump the dependencies group across 1 directory with 27 updates by @dependabot[bot] in #12260
- [UI] Add "IPN" column to installed items table by @SchrodingersGat in #12297
- Refactor settings store by @matmair in #12302
- [UI] Pricing override by @SchrodingersGat in #12306
- [UI] Order click-through on pricing panel by @SchrodingersGat in #12307
- Add --keep option to setup-test task by @SchrodingersGat in #12308
- Table refactor by @SchrodingersGat in #12309
- chore(deps): bump the dependencies group across 1 directory with 31 updates by @dependabot[bot] in #12316
- chore(deps): bump the dependencies group with 4 updates by @dependabot[bot] in #12312
- Import internal price by @SchrodingersGat in #12341
- Add IPN column to BOM pricing panel by @SchrodingersGat in #12344
- [UI] Page Load Improvements by @SchrodingersGat in #12334
- Improved error context by @SchrodingersGat in #12350
- [refactor] Refactor StockItem methods by @SchrodingersGat in #12358
- [refactor] Bulk actions by @SchrodingersGat in #12359
- use new helper func by @SchrodingersGat in #12373
- [refactor] SalesOrder allocation fixes by @SchrodingersGat in #12379
- Stock item rmw by @SchrodingersGat in #12385
- Add revision to SO and BO tables by @gunstr in #12398
- Bulk delete line items by @SchrodingersGat in #12391
- prevent duplicate save event when creating a part by @SchrodingersGat in #12406
- Bulk create events by @SchrodingersGat in #12405
- [UI] Display error information in boundary by @SchrodingersGat in #12403
- fix docs reqs by @matmair in #12407
- feat(ui): show variant stock indicator in parts table by @br413 in #12413
- Fix 12399 update notification by @Leopoldius in #12424
- Improve request caching for plugin config objects by @SchrodingersGat in #12430
- Locking fixes by @SchrodingersGat in #12435
- chore(deps): bump the dependencies group across 1 directory with 9 updates by @dependabot[bot] in #12428
- chore(deps): bump brace-expansion from 5.0.6 to 5.0.7 in /src/frontend by @dependabot[bot] in #12439
- chore(deps): bump pillow from 12.2.0 to 12.3.0 in /src/backend by @dependabot[bot] in #12438
- chore(deps): bump the dependencies group across 2 directories with 22 updates by @dependabot[bot] in #12417
- chore(deps): bump dompurify from 3.4.11 to 3.4.12 in /src/frontend by @dependabot[bot] in #12448
- general deps bump by @matmair in #12409
- Improvements to
PrintingOptionsSerializerby @fuzeman in #12434 - [refactor] Complete shipment API endpoint by @SchrodingersGat in #12363
- chore(backend): major allauth bump by @matmair in #12454
- [refactor] Build allocation endpoints by @SchrodingersGat in #12361
- chore(deps): bump the dependencies group across 1 directory with 2 updates by @dependabot[bot] in #12465
- chore(deps): bump the dependencies group across 1 directory with 17 updates by @dependabot[bot] in #12427
- chore(deps): bump gitpython from 3.1.52 to 3.1.54 in /docs by @dependabot[bot] in #12467
- [UI] Add order sorting for sales order allocation tables by @SchrodingersGat in #12468
- Fix part SalesOrder table by @SchrodingersGat in #12469
- Offfload email notification by @SchrodingersGat in #12470
- Add configurable default for PO line item merging by @br413 in #12472
- On order filter by @SchrodingersGat in #12476
- [UI] Add search result preview by @SchrodingersGat in #12475
- Refactor sales order methods: by @SchrodingersGat in #12477
- chore(deps): bump the dependencies group with 7 updates by @dependabot[bot] in #12480
- chore(deps): bump postcss from 8.5.15 to 8.5.23 in /src/frontend by @dependabot[bot] in #12466
- chore(deps): bump the dependencies group across 1 directory with 14 updates by @dependabot[bot] in #12485
- Build output serial number docs by @SchrodingersGat in #12486
- [API] Refactor stock adjustment endpoints by @SchrodingersGat in #12488
- Filtering for report snippets by @SchrodingersGat in #12487
- remove errant test report by @SchrodingersGat in #12496
- Fix admin search for PurchaseOrderLineItem by @bhumin18 in #12508
- [UI] Keep Add Parts button visible in Parametric View by @hanielee in #12392
- Fix for N+1 issues in stock item serializing by @SchrodingersGat in #12534
- chore(deps): bump the dependencies group across 1 directory with 9 updates by @dependabot[bot] in #12526
- chore(deps): bump undici from 8.8.0 to 8.9.0 in /src/frontend by @dependabot[bot] in #12543
- chore(deps): bump gitpython from 3.1.54 to 3.1.57 in /docs by @dependabot[bot] in #12545
- chore(deps): bump the dependencies group across 1 directory with 23 updates by @dependabot[bot] in #12547
- chore(deps): bump undici from 6.27.0 to 8.10.0 in /src/frontend by @dependabot[bot] in #12544
- chore(deps): bump the dependencies group with 7 updates by @dependabot[bot] in #12541
- chore(deps): bump cryptography from 49.0.0 to 50.0.0 in /src/backend by @dependabot[bot] in #12546
- Deduplicate part pricing updates per session by @SchrodingersGat in #12564
- [refactor] Improve efficiency of check_missing_pricing by @SchrodingersGat in #12572
- [sentry] Do not report MethodNotAllowed by @SchrodingersGat in #12584
- Fix Install Stock Items shows only selected parts by @siddhartha928 in #12596
- [UI] Bulk Delete Enhancements by @SchrodingersGat in #12601
- chore(deps): bump gitpython from 3.1.57 to 3.1.58 in /docs by @dependabot[bot] in #12593
- chore(deps): bump pypdf from 6.14.2 to 6.15.0 in /src/backend by @dependabot[bot] in #12594
- Bump version number to 1.5.0 by @SchrodingersGat in #12602
- [1.5.x] Fix for API exception_handler (#12604) by @github-actions[bot] in #12605
- [1.5.x] chore(deps): bump dompurify from 3.4.12 to 3.4.13 in /src/frontend (#12592) by @github-actions[bot] in #12606
- [1.5.x] Update version for @inventreedb/ui (#12611) by @github-actions[bot] in #12614
New Contributors
- @suzunn made their first contribution in #12215
- @ledvinap made their first contribution in #12332
- @br413 made their first contribution in #12413
- @Leopoldius made their first contribution in #12424
- @aamirasmal15 made their first contribution in #12423
- @impuls42 made their first contribution in #12432
- @snipe made their first contribution in #12452
- @bhumin18 made their first contribution in #12440
- @hanielee made their first contribution in #12392
- @jayasree-007 made their first contribution in #12533
- @siddhartha928 made their first contribution in #12596
Full Changelog: 1.4.0...1.5.0