What's Changed
Breaking Changes
- [WIP] Site ID Fixes by @SchrodingersGat in #6390
- Bump to Dj 4.x by @matmair in #6173
- Update Proxy support for django 4.2 by @SchrodingersGat in #6453
- [WIP] Test result table by @SchrodingersGat in #6430
- docker / Caddy by @SchrodingersGat in #6551
- Devcontainer postgresql by @SchrodingersGat in #6590
Security Patches
- [FR] Support creating reading initial superuser account password from file by @matmair in #6144
- [PUI] SSO Support by @matmair in #6333
- Bump cryptography from 41.0.7 to 42.0.0 by @dependabot in #6419
- Dependabot/pip/cryptography 42.0.4 by @matmair in #6545
New Features
- Added update notification by @matmair in #6165
- CI updates by @matmair in #6167
- [CI] Enable python autoformat by @matmair in #6169
- [CI] docstrings by @matmair in #6172
- Update callback when base currency is adjusted by @SchrodingersGat in #6243
- Tasks API Endpoint by @SchrodingersGat in #6230
- [FR] Add tracing support by @matmair in #6211
- [PUI] Registration by @matmair in #6309
- Forms initial data by @SchrodingersGat in #6365
- Request column names from server when loading table by @SchrodingersGat in #6375
- Allow orders' creation date edit via API by @martonmiklos in #6178
- [Plugin] Enhanced custom validation by @SchrodingersGat in #6410
- [WIP] Plugin Updates by @SchrodingersGat in #6400
- Generate API docs by @SchrodingersGat in #6319
- Log plugin event errors by @SchrodingersGat in #6455
- Maintenance Mode Update by @SchrodingersGat in #6462
- Add API change detection by @matmair in #6440
- Machine integration by @wolflu05 in #4824
- Added pdf2image kwargs by @wolflu05 in #6488
- Add option to disable the build output completion if are tests not passed by @martonmiklos in #6057
- Test template disable by @SchrodingersGat in #6526
- [Feature] Engineering Units by @SchrodingersGat in #6539
- Add config option to fully disable installing plugins by @matmair in #6535
- Temperature units by @SchrodingersGat in #6584
- BOM / Build Updates by @SchrodingersGat in #6604
Bug Fixes
- Remove --no-frontend option from installer by @SchrodingersGat in #6111
- Fix to clear SO Allocations on receipt of Return Order Line Item by @mcollins-DL in #6117
- [BUG] Fix old cancel checks by @matmair in #6137
- Improve data import for PartParameterTemplate by @SchrodingersGat in #6182
- Handle case where ref_url is invalid by @SchrodingersGat in #6186
- Fix resource classes for order models by @SchrodingersGat in #6188
- Fix supplier barcode order numbers by @30350n in #6158
- Fix for mobile app documentation URL by @SchrodingersGat in #6198
- Enable existing_image on PATCH requests by @LavissaWoW in #6126
- Specify ForeignKey widget for importing destination field by @SchrodingersGat in #6205
- Fix reassigning supplier barcodes by @30350n in #6162
- [BUG] Fixed depreceated is_ajax by @matmair in #6210
- Fix URL regex by @SchrodingersGat in #6218
- Fix rendering of supplier part pack quantity by @SchrodingersGat in #6226
- Fix display of error notifications by @SchrodingersGat in #6232
- Fix escape codes in translated strings by @SchrodingersGat in #6234
- Updates to data import/export steps by @SchrodingersGat in #6244
- Import data fix by @SchrodingersGat in #6253
- Panel index fix by @SchrodingersGat in #6255
- Prevent creation of new PluginConfig during data import by @SchrodingersGat in #6247
- Report copy fix by @SchrodingersGat in #6264
- Fix task timeout when news_feed is unreachable by @LavissaWoW in #6250
- Do not create owners when importing data by @SchrodingersGat in #6271
- Import Fix by @SchrodingersGat in #6274
- [PUI] Fix logout by @matmair in #6284
- [PUI] Fix global login by @matmair in #6287
- JS translation fix by @SchrodingersGat in #6288
- Update django-allauth version by @SchrodingersGat in #6301
- Remove {% jstrans %} tag by @SchrodingersGat in #6298
- Reimplement error-report API endpoint by @SchrodingersGat in #6317
- [PUI] Logout Fixes by @SchrodingersGat in #6318
- Specify empty OIDC prefix by @SchrodingersGat in #6324
- Fix stock item splitting bug by @SchrodingersGat in #6335
- Bug fix for javascript rendering by @SchrodingersGat in #6362
- Disable cache for report helpers by @SchrodingersGat in #6370
- Fix for invoke update by @SchrodingersGat in #6379
- Fix for tasks.py - docker by @SchrodingersGat in #6380
- Fix urls loading for plugin testing by @wolflu05 in #6383
- [PUI] Login / Logout State Fixes by @SchrodingersGat in #6368
- BuildOrder: UI bug fix by @SchrodingersGat in #6387
- Fix for filter adjustment in related field by @SchrodingersGat in #6396
- [PUI] Tweaks and refactor for "part details" page by @SchrodingersGat in #6405
- Fix contentexcludes in tasks.py by @SchrodingersGat in #6406
- Use registry.get_plugin() by @SchrodingersGat in #6408
- Handle null case for delivery_methods by @SchrodingersGat in #6411
- Update docker package requirements by @SchrodingersGat in #6423
- Maintenance Mode Fix by @SchrodingersGat in #6422
- Fix for issue 6442 by @SchrodingersGat in #6443
- Postgresql fix by @SchrodingersGat in #6441
- (Yet another) Fix for dockerfile by @SchrodingersGat in #6452
- PluginValidationMixin : fix full_clean method by @SchrodingersGat in #6461
- Fix uncaught Company.DoesNotExist error in SupplierBarcodeMixin by @30350n in #6467
- Fix APICallMixin url_args handling by @30350n in #6468
- Maintenance mode update by @SchrodingersGat in #6473
- Fix schema action by @matmair in #6474
- Remove maintenance mode wrapper from plugin loading by @SchrodingersGat in #6479
- Fix for AttachmentTable by @SchrodingersGat in #6481
- Handle error on logout by @SchrodingersGat in #6482
- Fix settings typing and use generics from standard collection by @wolflu05 in #6487
- Forms actions fix by @SchrodingersGat in #6493
- Plugin context fix by @SchrodingersGat in #6496
- Fix broken URL by @SchrodingersGat in #6497
- Fix schema test on a pass by @matmair in #6505
- Fixes for test result updates by @SchrodingersGat in #6514
- [PUI] Fix for clearable form fields by @SchrodingersGat in #6518
- [PUI] Make Category tree theme-aware by @LavissaWoW in #6523
- [PUI] Make API form Select Field theme-aware by @LavissaWoW in #6521
- Locales fix by @SchrodingersGat in #6528
- Bug fix for allocating items to build by @SchrodingersGat in #6532
- Retry table name query by @SchrodingersGat in #6540
- Fix for build output table by @SchrodingersGat in #6549
- Fix tranlation pipeline by @matmair in #6559
- Move get_scheduled_tasks call into register_tasks function by @30350n in #6556
- Fix postgresql isolation level by @30350n in #6569
- Switch tests, docs, database settings from psycopg2 to psycopg by @30350n in #6573
- Allow currency symbol to be omitted from render_currency by @SchrodingersGat in #6580
- Tree fix by @SchrodingersGat in #6581
- Tree fix by @SchrodingersGat in #6583
- Fix SITE_URL validator by @SchrodingersGat in #6585
- Fix docker tags by @SchrodingersGat in #6606
- Adjust pkgr.yml by @SchrodingersGat in #6608
- Fix devcontainer setup by @SchrodingersGat in #6610
- Plugin table fix by @SchrodingersGat in #6613
- devcontainer volume permission fix by @SchrodingersGat in #6616
- docker: push both multiple image tags by @SchrodingersGat in #6614
Devops / Setup Changes
- Update django-allauth version by @SchrodingersGat in #6099
- Re-implement no-frontend flag in "invoke update" by @SchrodingersGat in #6183
- Add tests for get_purchase_orders logic by @30350n in #6236
- Add tests for report API by @miggland in #6214
- fix(docker): SELinux volume labels by @p-fruck in #6330
- Remove devcontainer Git Feature by @LavissaWoW in #6398
- [Docker] Pin postgresql version by @SchrodingersGat in #6407
- Maintenance Mode Improvements by @SchrodingersGat in #6451
- Default site by @SchrodingersGat in #6503
- [CI] DB Migration Checks by @SchrodingersGat in #6517
- Bump CI/pre-commit versions by @matmair in #6522
- Switch to uv by @matmair in #6499
- Seperate CUI url paths and tests by @matmair in #6543
- Adjust config template by @SchrodingersGat in #6561
- Create test files in seperate folder & cleanup before image build by @matmair in #6571
- Refactor docker CI for speed increases by @matmair in #6562
- Tweak for devcontainer docker compose by @SchrodingersGat in #6601
Other Changes
- Update version.py by @SchrodingersGat in #6097
- Small tweak for log output by @SchrodingersGat in #6102
- Update RowActions by @SchrodingersGat in #6106
- [PUI] Price range formatting by @SchrodingersGat in #6107
- [PUI] Implement manufacturer part table by @SchrodingersGat in #6115
- [PUI] Move UI rendering out of App.tsx by @matmair in #6130
- Remove py2 exception handeling and move file to dj4 standard by @matmair in #6131
- Typo fix by @SchrodingersGat in #6181
- Ready fix by @SchrodingersGat in #6191
- Sponsors fix by @SchrodingersGat in #6193
- Bump follow-redirects from 1.15.3 to 1.15.4 in /src/frontend by @dependabot in #6192
- [PUI] Add optional link to CUI detail pages by @matmair in #6129
- Allow plugin load in shell by @SchrodingersGat in #6195
- Remove support for django-debug-toolbar by @SchrodingersGat in #6196
- Style fixes by @SchrodingersGat in #6203
- Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #6209
- Patch purchase_order.js by @SchrodingersGat in #6215
- Fix placeholder text values by @SchrodingersGat in #6223
- Change log message from info to debug by @SchrodingersGat in #6227
- Error API by @SchrodingersGat in #6222
- Add settings for return orders by @SchrodingersGat in #6231
- Cleanup about and version dialogs by @SchrodingersGat in #6235
- Add new setting PURCHASEORDER_AUTO_COMPLETE by @SchrodingersGat in #6245
- Update rebuild_thumbnails command by @SchrodingersGat in #6254
- [React] UI Translation Updates by @SchrodingersGat in #6257
- Update README.md by @SchrodingersGat in #6270
- Move more paths to basic path by @matmair in #6251
- News updates by @SchrodingersGat in #6275
- Tracing tweaks by @SchrodingersGat in #6278
- Bump vite from 4.4.12 to 4.5.2 in /src/frontend by @dependabot in #6296
- SSO Error Improvememts by @SchrodingersGat in #6246
- Add check for KeyError on reading plugin commit by @LavissaWoW in #6300
- CORS fixes: by @SchrodingersGat in #6310
- [PUI] Test template table by @SchrodingersGat in #6311
- Only import tracing module if tracing is enabled by @SchrodingersGat in #6316
- [PUI] Small updates by @SchrodingersGat in #6320
- Bump pillow from 10.1.0 to 10.2.0 by @dependabot in #6323
- [PUI] Auth behaviour controls by @matmair in #6314
- [PUI] Add missing pages by @SchrodingersGat in #6326
- [PUI] Assigned stock table by @SchrodingersGat in #6337
- [PUI] Child item table by @SchrodingersGat in #6334
- Build order improvements by @SchrodingersGat in #6343
- Add support for Slovak by @SchrodingersGat in #6351
- Token tweaks by @SchrodingersGat in #6354
- URL nav improvements by @SchrodingersGat in #6356
- [PUI] Tables by @SchrodingersGat in #6357
- Remove proxy support in vite server by @SchrodingersGat in #6359
- [PUI] API Endpoint refactor by @SchrodingersGat in #6358
- Tracing improvements by @SchrodingersGat in #6353
- [PUI] Details Panel components by @LavissaWoW in #6040
- [PUI] API URL fixes by @SchrodingersGat in #6381
- Error message fix by @SchrodingersGat in #6393
- Prevent notify_users if importing or migrating by @SchrodingersGat in #6415
- Bump deps by @matmair in #6421
- Fix display of allocated stock items in build table by @SchrodingersGat in #6427
- Fix for build.js by @SchrodingersGat in #6437
- Update tasks.py by @SchrodingersGat in #6446
- Bump django from 4.2.9 to 4.2.10 by @dependabot in #6448
- Label printing errors by @SchrodingersGat in #6450
- Fix string capitalization by @LavissaWoW in #6460
- Move CurrencyTable to admin center by @SchrodingersGat in #6484
- Fix retry time for Q_CLUSTER by @SchrodingersGat in #6489
- Support degree symbols for temperature units by @SchrodingersGat in #6498
- Revert custom temp definition by @SchrodingersGat in #6502
- Tweak PartParameterTable by @SchrodingersGat in #6512
- Allow import of part images by @SchrodingersGat in #6513
- [PUI] Notifications by @SchrodingersGat in #6515
- [PUI] Tweaks by @SchrodingersGat in #6516
- Added various PO fixes by @wolflu05 in #6483
- API Tree filters by @SchrodingersGat in #6536
- Update PartParameterTemplate API by @SchrodingersGat in #6538
- Wrap theme parameters in memo by @LavissaWoW in #6542
- Remove unused template tag by @matmair in #6553
- Update README.md by @SchrodingersGat in #6572
- Silence duplicate template warnings by @SchrodingersGat in #6586
- Refactor label/report template copying by @matmair in #6582
- [PUI] Stock item forms by @SchrodingersGat in #6597
- [PUI] Adds NewPart form by @SchrodingersGat in #6598
- [PUI] Part parameter table by @SchrodingersGat in #6599
- Tweaks for SITE_URL setup by @SchrodingersGat in #6602
- Details image tweaks by @SchrodingersGat in #6603
- Details updates by @SchrodingersGat in #6605
New Contributors
- @mcollins-DL made their first contribution in #6117
Full Changelog: 0.13.0...0.14.0