Skip to content

V1.5.1

Latest

Choose a tag to compare

@lorisunjunbin lorisunjunbin released this 05 Oct 05:11
· 1 commit to master since this release

What's New in V1.5.1

Loop enhancements

  • Loop terminate control — alongside break/continue, exception_then: terminate and loop_condition returning (True, 'terminate') now exit the loop AND terminate the whole execution (raising LoopTerminateError). Optional terminate_msg (f-string against data_chain) sets the failure message; empty → auto-generated default.
  • Loop wait_seconds (inter-iteration delay) — sleep N seconds between iterations (1st runs immediately, no wait after the last). Supports f-string expressions (e.g. {delay}); empty/0/negative means no wait; the sleep is interruptible (manual stop honoured within 0.2s).

Loop fixes

  • In-loop collect readable by loop_condition — FIND_THEN_COLLECT (and any collect-style processor) inside a loop now mirrors its value to the top-level data_chain[key] each iteration (last-write-wins). A loop_condition reading the plain key (e.g. data_chain.get('supplier_found')) now sees the latest value and can break correctly — previously it never saw it and the loop ran to exhaustion.
  • Time-based loop fix — a loop_times loop leaves item_key empty, but collect processors unconditionally back-filled data_chain[item_key], raising KeyError: ''. The back-fill now runs only when item_key is non-empty and present; collection-loop behaviour unchanged.

LLM fix

  • Anthropic-protocol kwargs compatibility — some anthropic SDK builds (corporate/Hyperspace-gateway) expose a messages.create without temperature/top_p and no **kwargs, so zhipu/anthropic/hyperspace calls raised Messages.create() got an unexpected keyword argument 'temperature'. The clients now introspect the signature at runtime and drop unsupported params; the normal upstream SDK is unaffected.

Full changelog: CHANGELOG.md