v8.0.0
What's Changed
Breaking Changes 🛠
- Rewrite of process engine to support actions in tasks resolves #205 and #207 by @tjololo in #237
- Expression validation by @bjosttveit in #311
- Update app-lib-dotnet to dotnet8 with c# 12 by @ivarne in #340
- Add language to IDataProcessor and as an optional query param to apis by @ivarne in #405
- Make language nullable in option lists and data lists by @ivarne in #406
- Remove old pdf generation (it probably doesn't work for any newish app) by @ivarne in #419
- Rename the ?lang= parameter in process/next to ?language by @ivarne in #433
- Remove obsolete resource and runtimeresource apis by @ivarne in #422
New Features 🎉
- #192 Support for expressions in BPMN gateways by @tjololo in #246
- #250 Run extra code if action sign exiting action from a Task by @tjololo in #255
- #137 move back without write by @tjololo in #248
- Feature/262 custom action authorization by @tjololo in #264
- Implement UniqueSignatureAuthorizer to support checking for unique signatures by @tjololo in #266
- Expose prometheus endpoint and som default metrics by @tjololo in #273
- #322 Deserializing applicationmetadata keeps unmapped properties by @tjololo in #323
- New field AltinnNugetVersion in applicationMetadata.cs by @ivarne in #333
- V8 feature/304 support custom button by @tjololo in #346
- Feat/process tasks by @mikaelrss in #353
- Multipart form data by @ivarne in #329
- Chore/add client actions by @mikaelrss in #377
- Support using connectionString for ApplicationInsights by @ivarne in #379
- New validation and partial validation via PATCH endpoint by @ivarne in #393
- Save to storage when ProcessDataRead changes data by @ivarne in #414
- Support number, boolean and null as AppOption values by @ivarne in #417
- Ensure app options gets parsed with System.Text.Json (and let API return 404) by @ivarne in #426
- Add string? language to all validation functions by @ivarne in #423
- Add forwarded header which contains client's ipaddress by @acn-dgopa in #445
- Add API for pdf preview by @bjosttveit in #432
- AltinnRowId support by @ivarne in #441
Bugfixes 🐛
- Bugfix for missing taskId in UserActionAuthorizer by @tjololo in #267
- [V8] Add [Authorize] attribute on AuthorizationController.GetCurrentParty by @ivarne in #338
- Chore/382 consistent timezone by @tjololo in #389
- Always return 200 for success in PUT formdata api by @ivarne in #418
- Fix an issue when having multiple indirections for an index operation in GetJsonPath by @ivarne in #424
- Fix bugs with new Validation and PATCH endpoint by @ivarne in #425
- Don't run ProcessDataRead for locked data elements by @ivarne in #429
- Fix expression validation crash by @bjosttveit in #454
- Fix expression validation (hidden & rowIndices) by @bjosttveit in #462
- Add proper using statement on JsonDocument.Parse by @ivarne in #469
- Move userId check into the signing action by @tjololo in #465
- Make prefill nullable in IProcessTaskStart interface so we don't have… by @bjorntore in #478
Dependency Upgrades 📦
- chore(deps): update nuget non-major dependencies by @renovate in #310
- Update microsoft dependencies for net8.0 by @ivarne in #365
- chore(deps): update nuget non-major dependencies by @renovate in #330
- chore(deps): update dependency moq to v4.20.70 by @renovate in #371
- chore(deps): update actions/setup-java action to v4 by @renovate in #372
- chore(deps): update nuget non-major dependencies by @renovate in #385
- chore(deps): update github/codeql-action action to v3 by @renovate in #388
- chore(deps): update actions/setup-dotnet action to v4 by @renovate in #386
- chore(deps): update actions/upload-artifact action to v4 by @renovate in #387
- chore(deps): update nuget non-major dependencies by @renovate in #390
- chore(deps): update nuget non-major dependencies by @renovate in #397
- chore(deps): update actions/cache action to v4 by @renovate in #407
- chore(deps): update nuget non-major dependencies by @renovate in #450
Other Changes
- Separate metrics port by @tjololo in #288
- Add tool for upgrading from v7 to v8 by @tjololo in #291
- Update logging in ExpressionValidator by @tjololo in #319
- Ivarne/warning fixes by @ivarne in #328
- Fix more warnings by @ivarne in #331
- [V7] Add [Authorize] attribute on AuthorizationController.GetCurrentParty by @ivarne in #339
- Mark IPageOrder [Obsolete] as it will be unused in frontend V4 by @ivarne in #343
- Adding [Serializable] on custom exceptions in dotnet 8 causes warning by @ivarne in #344
- Obsolete IText interface for getting texts from storage by @ivarne in #348
- Fix a few more nullability issues by @ivarne in #347
- Add all test data from localtest and add a few missing mocks by @ivarne in #362
- Get rid of Microsoft.AspNet.WebApi.Client that uses Newtonsoft by @ivarne in #363
- More fixes for nullability by @ivarne in #380
- Support using connectionString for ApplicationInsights by @ivarne in #391
- Update expression tests after splitting up Group component. by @Magnusrm in #394
- Return 409 Conflict instead of 412 Precondition failed by @RonnyB71 in #427
- Fix a namespaces and remove unused files by @ivarne in #438
- Add fake logging to test so that they can be written to TestOutput instead of std out by @ivarne in #434
- Enable nullable annotations on Api and Core.Tests by @ivarne in #447
- Add tests for process/next that verifies the language gets send to pdf generator by @ivarne in #437
- Use System.Text.Json consistently on models by @ivarne in #456
- Move patch logic into separate service by @tjololo in #452
- Add pipeline job to verify clean dotnet format by @ivarne in #455
- Make file scoped namespaces default by @ivarne in #473
- Add back validation on process/next by @ivarne in #472
New Contributors
- @acn-dgopa made their first contribution in #445
- @bjorntore made their first contribution in #478
Full Changelog: v7.15.1...v8.0.0