UKBatch 0.1.1-alpha
Pre-release
Pre-release
Added
- Typed partitioned-job batch steps —
RunPartitionedJob<TJob>()andThenRunPartitionedJob<TJob>()on the batch, parallel-group, and on-failure builders, so a partitioned job can be added to a batch by type like a regular job. Backed by a newIPartitionedJobMarkerbase interface. AddUKBatchDevAuth()— an opt-in, header-based development authentication scheme inUKBatch.AspNetCore, so an embedded host can exercise the approval buttons in a demo without hand-writing an authentication handler. It trustsX-Dev-User/X-Dev-Roleswith no verification and refuses to start in the Production environment unless explicitly allowed.
Changed
- OpenAPI
serversURLs no longer carry a trailing slash, so a Postman / OpenAPI client importing the document no longer builds double-slashed request paths that 404. - A dashboard service
BaseUrlis normalized to a trailing slash automatically —http://host/apinow behaves the same ashttp://host/api/, removing a long-standing configuration footgun. - Approval gates reject an inconsistent timeout configuration — choosing an
AutoApproveorHoldon-timeout action now requires a timeout duration, validated on both the dashboard and the server; the run-detail panel shows "no timeout — waits indefinitely" when a gate has none. - The dashboard sidebar and breadcrumb update immediately when switching services — the layout now reacts to the current-service change instead of lagging one navigation behind.
- CI workflows updated to the current GitHub Actions majors (Node 24 runtime).
Fixed
- A job completing immediately after startup could be missed by the awaiter, leaving a caller waiting until its timeout. The process-wide watch subscription is now registered synchronously before
StartAsyncreturns. UKBatch.Dashboardnow raises build warningUKBATCH001when a .NET 10 host has not set<RequiresAspNetWebAssets>true</>, instead of failing silently with a runtime 404 for_framework/blazor.web.js. The property must be set by the host project — NuGet cannot supply it during restore — and the docs now say so plainly. (.NET 8 hosts are unaffected.)