Skip to main content

3 posts tagged with "caching"

View all tags

Release v0.0.85

· 20 min read
vNext Team
Burgan Tech Engineering

Overview

This release adds the first genuinely parallel task type and cuts the read path's cost in half. FanOutTask (type 21) resolves a collection at runtime and runs a referenced inner task once per item concurrently, joining the outcomes by policy and writing one output to instance data — replacing the $self auto loop that cost N full pipeline hops with a single transition (#905). Component definitions gain an in-process L1 cache in front of the distributed store, keyed by the existing Redis keys so a publish makes stale entries unreachable by construction, plus a five-second generation-token memo that removes the token read from the hot path entirely (#898); script secret bundles are cached in-process with a short TTL and single-flight stampede protection, taking a cold ~8.5 ms vault read down to ~1 µs warm (#899). Traces get flat lanes — one lane per instance instead of nesting equal to chain depth — and job arming moves outside the instance status lock, taking the worst observed lock hold from 30.1 s to 48 ms (#900). Payload envelope detection is resolved by field set rather than a single property, and a rejected payload can no longer come back naming no field at all (#906). Finally, the script compiler and ScriptContext get a measurement-first optimization pass with new metrics, an opt-in PreserveNumericPrecision flag and a LegacyAppendPipeline kill-switch (#907). This release runs on component schema 0.0.53.

Release v0.0.76

· 8 min read
vNext Team
Burgan Tech Engineering

Overview

This release adds AI to the task palette and sharpens the caching and concurrency primitives. A new Dapr Conversation task (TaskType = 20) invokes an LLM/AI provider (OpenAI, Anthropic, Bedrock, …) provider-agnostically through the Dapr Conversation building block (#844). Function result caching gains vary-by headersvaryByHeaders / varyByHeaderPrefixes feed a varyKey(context) key-expression helper so one function keeps separate cache variants per header value (#839). Flow-level cache tuning is consolidated under a single attributes.config object (config.functionCache.ttlSeconds), the author-controlled TTL for the built-in instance functions (#846). Distributed resource locks become production-ready with idempotent release and automatic terminal cleanup (#840), plus a per-subInstance lock key for subflow terminal-outcome propagation (#845). Wizard states are now treated like normal states in the State/View functions (#838). The release also fixes author Content-Type preservation (#847), case-insensitive request-header normalization (#841), and init mappings support for publish (#848). This release runs on component schema 0.0.51.

Release v0.0.71

· 11 min read
vNext Team
Burgan Tech Engineering

Overview

This release makes vNext event-driven and query-friendly. Event-driven workflows let an external pub/sub message start a new instance (workflow-level event) or advance an existing one through a triggerType: 3 transition, correlated by an IEventMapping script (#86). A fluent instance query language (InstanceQuery) replaces hand-written GraphQL filter JSON in script mappings — one builder powers event selectors, GetInstancesTask filter specs, and raw list-endpoint query strings. A new GetInstance task (TaskType = 19) returns a full single-instance projection (#806), and function result caching serves a repeat function call from a Dapr state store with a single cache read. Instance start/transition and function endpoints now accept application/x-www-form-urlencoded bodies (#825); output scripts can set the content-type response header and async operations return 202 Accepted (#819). The State function response gains a master schema HREF backed by a new master schema function (#821) and an always-present interaction directive object for long-poll clients. The component schema also ships a new data-vocab vocabulary (x-context-source / x-context-target) for schema-driven client context binding. This release runs on component schema 0.0.50.