Skip to content

Releases: project-openan/workflow-engine-sdk-java

v0.1.2

Choose a tag to compare

@Zhoujie628 Zhoujie628 released this 14 Oct 03:07
c926446

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 consults A2AConfigProvider on the builder path) and raise
    A2AProperties defaults to agent=900s / consumption=960s / reconciliation=60s.
  • Echo requested supported extensions via the A2A-Extensions response 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

Choose a tag to compare

@github-actions github-actions released this 23 Sep 13:02
952cde2

Released to Maven Central as net.openan.workflow.sdk:*:0.1.1.

v0.1.0

Choose a tag to compare

@Zhoujie628 Zhoujie628 released this 20 Sep 02:04

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, 0 disables). 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 receive UnsupportedOperationException
    instead of silently corrupting engine-owned snapshots.
  • Template the sample OMC agent credentials file: the tracked
    samples/src/main/resources/spn_agent_credentials.json is 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

Choose a tag to compare

@github-actions github-actions released this 16 Sep 10:27
15fbacb

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 TaskAuthorizationProvider beans 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

Choose a tag to compare

@github-actions github-actions released this 14 Sep 14:55
9b566f2

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 into message.extensions and the
    A2A-Extensions request 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): onNegotiation now also fires for a valid Propose without an
    INPUT_REQUIRED task 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 main and dev so the branches differ only in the
    Eastcom platform integration.

v0.0.8

Choose a tag to compare

@github-actions github-actions released this 13 Sep 13:33
b0b6c75

Released to Maven Central as net.openan.workflow.sdk:*:0.0.8.

  • Scope task lifecycle callbacks to each sendTask invocation 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 refresh heartbeat().lastEventAt() without increasing eventCount; use the
    new lastBusinessEventAt() accessor for business-event liveness.
  • Add configurable connection/read deadlines to LoadPsop, and reject ambiguous simultaneous
    credentialsConfigPath and inline credentialsConfig configuration.
  • Clarify DefaultExtensionSender ownership: its public constructor owns the supplied transport;
    callers that share a transport must use DefaultExtensionSender.nonOwning(...).