Repository navigation
Releases: project-openan/workflow-engine-sdk-java
Releases · project-openan/workflow-engine-sdk-java
Release list
v0.1.2
Released from tag v0.1.2 (c926446). Compared with 0.1.1:
- Apply the configured blocking-call timeouts to the builder-built
DefaultRequestHandler
(a2a-java hardcodes 5s and never consultsA2AConfigProvideron the builder path) and raise
A2APropertiesdefaults to agent=900s / consumption=960s / reconciliation=60s. - Echo requested supported extensions via the
A2A-Extensionsresponse header on success
responses, so extension-aware clients can verify server participation. - Keep workbench notification subscriptions state-independent from workflow task sessions.
Published to Maven Central as net.openan.workflow.sdk:*:0.1.2
(spring-boot-starter,
workflow-engine,
parent).
v0.1.1
Released to Maven Central as net.openan.workflow.sdk:*:0.1.1.
v0.1.0
Released to Maven Central as net.openan.workflow.sdk:*:0.1.0.
- Send SSE heartbeat comments on streaming endpoints (
message:stream,tasks/{id}:subscribe) at a configurable
interval (a2at.server.heartbeat-interval-seconds, default 15 seconds,0disables). Keeps intermediaries
from idle-timing-out long-running SSE connections during agent execution; the heartbeat integrates with the
emitter lifecycle and stops on stream completion, error, timeout, or client disconnect. - Make collection fields on model types defensively copied and expose them through unmodifiable
views (Workflow,WorkflowStep,WorkflowSearchResult,ExecutionResult,SendMessageResult,
TaskResult,BusinessFailure, and the message records). Source- and binary-compatible; callers
that mutate the collections returned by these getters now receiveUnsupportedOperationException
instead of silently corrupting engine-owned snapshots. - Template the sample OMC agent credentials file: the tracked
samples/src/main/resources/spn_agent_credentials.jsonis replaced by
spn_agent_credentials.example.json(real file is now git-ignored; copy the example to run the
demos). Missing credentials now fail with an actionable message instead of a bare NPE.
v0.0.10
Released to Maven Central as net.openan.workflow.sdk:*:0.0.10.
- Upgrade the A2A-T SDK dependency to 1.1.1 (patch release, no breaking API changes).
- Make the fallback task poll interval configurable via
WorkflowEngineClientConfig.taskPollIntervalMillis
(default 20 seconds). Polling only triggers when a streaming response is interrupted before the task
reaches a terminal state; while SSE is alive, polling does not start. - Wire host-declared
TaskAuthorizationProviderbeans into the starter's autoconfigured request handler.
Every A2A operation (message send/stream, task query, cancel, subscribe) is offered to the provider
before the agent executor runs; rejections surface as standard A2A error envelopes.
v0.0.9
Released to Maven Central as net.openan.workflow.sdk:*:0.0.9.
- Make Negotiation-T activation host-owned. The business activates Negotiation-T per send via the new
MessageContent.withExtension(...); the engine mirrors that selection intomessage.extensionsand the
A2A-Extensionsrequest header and validates that the target AgentCard declares the extension before dispatch.
An unsolicited negotiation (host did not activate Negotiation-T) fails fast instead of silently entering the
auto-loop. - Accept Negotiation-T Propose carried on a taskless bare message (A2A-T pre-task negotiation, where the remote
proposes before creating any task):onNegotiationnow also fires for a valid Propose without an
INPUT_REQUIREDtask status. The exchange is correlated by contextId and negotiation id, and the follow-up send
carries no taskId. Invalid negotiation metadata on a bare message now fails explicitly instead of being silently
treated as a normal successful response. - Converge non-functional formatting and javadoc drift between
mainanddevso the branches differ only in the
Eastcom platform integration.
v0.0.8
Released to Maven Central as net.openan.workflow.sdk:*:0.0.8.
- Scope task lifecycle callbacks to each
sendTaskinvocation so concurrent workflow executions
cannot overwrite or receive one another's protocol events. - Cancel pending task polls and acknowledgement timers when an invocation, subscription, client or
transport finishes; this prevents delayed callbacks from surviving resource shutdown. - Track raw transport activity separately from decoded Notification-T business events. Standard SSE
comment heartbeats refreshheartbeat().lastEventAt()without increasingeventCount; use the
newlastBusinessEventAt()accessor for business-event liveness. - Add configurable connection/read deadlines to
LoadPsop, and reject ambiguous simultaneous
credentialsConfigPathand inlinecredentialsConfigconfiguration. - Clarify
DefaultExtensionSenderownership: its public constructor owns the supplied transport;
callers that share a transport must useDefaultExtensionSender.nonOwning(...).