mirror of
https://github.com/openclaw/lobster.git
synced 2026-08-14 00:48:09 +00:00
7.6 KiB
7.6 KiB
Changelog
All notable changes to Lobster will be documented in this file.
Unreleased
- Add first-class
openclaw.agentworkflow turns with configured agent, session, model, thinking, and timeout selection delegated to OpenClaw. Thanks to @Stoff81 (Issue #117).
2026.6.11
- Add command-level
ctx.requestInput(...)for CLI/tool/SDK pipeline commands, with state-backed same-command resume, bounded command-input replay, and workflowpipeline:propagation (Issue #101). - Warn when LLM usage records an unknown or missing model ID or invalid
LOBSTER_LLM_PRICING_JSON, keeping zero-cost fallback behavior visible forcost_limitusers. Thanks to @KrasimirKralev (Issue #107). - Require Node.js 22 or newer for the npm package, matching release CI.
- Write Lobster state files atomically while preserving restricted file modes, preventing truncated resume/session state after process termination. Thanks to @KrasimirKralev (Issues #108, #109, PR #110).
- Harden LLM cache files, diff snapshots, and approval ID indexes against truncated JSON after process termination. Disposable cache/snapshot corruption now recovers as a miss, authoritative resume state still surfaces malformed JSON, and approval short-ID indexes are published atomically without overwriting existing mappings. Thanks to @TurboTheTurtle (Issues #111, #112, #113, PR #114).
- Fix
timeout_ms+retryso per-attempt timeouts retry as documented while external workflow cancellation still stops immediately. Thanks to @KrasimirKralev (PR #106).
2026.5.22
- Memoize Ajv schema compilation for repeated validation paths to avoid retained SchemaEnv/closure growth in long-running processes. Thanks to @KrasimirKralev (PR #98) and @cmi525 (Issue #96).
- Improve workflow resume compatibility for
stateKeynaming by accepting bothworkflow_resume_andworkflow-resume_prefixes, including cleanup against the resolved on-disk key. Thanks to @brownetw-ai (PR #4). - Add per-step workflow
retrypolicies (max,backoff,delay_ms,max_delay_ms,jitter) with retry-aware stderr logs and dry-run visibility. Thanks to @scottgl9 (PR #84). - Add optional approval identity constraints for workflow gates (
approval.initiated_by,approval.required_approver,approval.require_different_approver) with resume-time enforcement viaLOBSTER_APPROVAL_APPROVED_BYand envelope metadata for integrations. Thanks to @coolmanns (Issue #44). - Clarify
pipeline:vsrun:usage forllm.invoke/llm_task.invokein workflow files, and add regression coverage to ensurestdin: $step.stdoutis forwarded as LLM artifacts forllm_task.invokepipeline steps. Thanks to @RatkoJ (Issue #41). - Add
lobster graphworkflow visualization withmermaid(default),dot, andasciioutputs, including step-type nodes,stdindata-flow edges, conditional dependency labels (when/condition), approval-gate diamond shapes, and--args-jsonlabel resolution support. Thanks to @vignesh07 (Issue #53). - Add workflow composition via
workflow:+workflow_args, including recursive sub-workflow execution, cycle detection, and dry-run visibility for workflow steps. Sub-workflow approval/input halts are rejected with resume-state cleanup. Thanks to @scottgl9 (PR #73). - Add per-step
on_errorworkflow policies (stop|continue|skip_rest) for partial-failure recovery, with structured step error fields (error,errorMessage) for condition-based branching. Thanks to @scottgl9 (PR #72). - Add per-step workflow
timeout_mshandling, including timeout-triggered aborts,SIGKILLfor timed shell steps, and dry-run annotations. Thanks to @scottgl9 (PR #74). - Add workflow condition comparison operators
<,<=,>, and>=with strict numeric semantics (booleans/null do not coerce), including mixed boolean-expression support with&&/||. Thanks to @scottgl9 (PR #71). - Add workflow-level LLM cost tracking with
_meta.costsummaries, per-step usage attribution, and optionalcost_limitcontrols withwarn/stopactions (plus custom pricing viaLOBSTER_LLM_PRICING_JSON). Thanks to @scottgl9 (PR #70). - Add
parallelworkflow steps with branch fan-out,wait: all|any, block-level timeout support, and branch result references in downstream steps. Thanks to @scottgl9 (PR #69). - Add
for_eachworkflow steps for per-item sub-step execution over arrays, including loop-scoped vars (item_var/index_var), optionalbatch_size+pause_ms, and collected iteration outputs for downstream steps. Thanks to @scottgl9 (PR #68). - Add pipe-based template filters (for example
upper,length,join,default,date) for thetemplatecommand with quote-aware filter parsing and chain evaluation. Thanks to @scottgl9 (PR #67).
2026.4.6
- Add workflow file support for
.lobster, YAML, and JSON, including workflow args/env, native pipeline steps, and shell-safeLOBSTER_ARG_*inputs. - Add structured input pauses with
ask, workflowinput,needs_input, andlobster resume --response-json '{...}'for resumable human-in-the-loop flows. - Add richer workflow condition expressions with
!,==,!=,&&,||, and parentheses. - Export the embeddable runtime via
@clawdbot/lobster/coreso Lobster can run in-process inside OpenClaw and other hosts. - Add generic
llm.invokeadapters,openclaw.invoke --each, and keepclawd.invokeas a supported alias. - Add compact state-backed workflow/pipeline resume tokens, safer resume validation, and hardened approval ID handling.
- Improve dry-run and shell interoperability with
exec --stdin raw|json|jsonl,approve --preview-from-stdin --limit N, and better template/shell-variable preservation. - Improve Windows CLI/build compatibility and fix quoted-argument parser edge cases.
2026.1.21-1
- Published release (pre-changelog).
2026.1.21
- Initial published release (pre-changelog).