Changelog
Every release, in order.
What shipped in Apkar, when, and what it changed. Twelve releases on a two-week cadence.
- 2.4.0NewImproved
Parallel runs
Independent branches in a run graph now execute at the same time instead of in declaration order.
- Branches with no shared dependency run concurrently, cutting median wall-clock time on fan-out graphs by roughly three times.
- Concurrency is capped per workspace and configurable per agent.
- The run graph draws parallel branches on their own tracks.
- 2.3.2Fixed
Retry budgets no longer double-count
A retried step could consume budget twice when the failure came from a nested tool call.
- Nested tool failures now attribute their cost to the parent step once.
- Runs that hit a cost ceiling mid-retry stop cleanly instead of finishing the attempt.
- 2.3.1FixedImproved
Faster replay on long runs
Replaying a run with more than 200 steps took several seconds to open.
- Step payloads load on demand rather than all at once.
- The replay timeline virtualises past 100 steps.
- 2.3.0New
Human in the loop
Pause a run at any step, review the state, approve or amend, and resume from the same point.
- Approval gates can be declared per step or triggered by a predicate.
- Paused runs hold their checkpoint for 72 hours.
- Approvals are recorded in the audit trail with the reviewer's identity.
- 2.2.4Improved
Sharper cost attribution
Token spend is now attributed to the step that caused it rather than the run as a whole.
- Per-step cost appears in the node inspector.
- Workspace billing breaks down by agent and by step.
- 2.2.3Fixed
Webhook delivery ordering
Run-completed webhooks could arrive before the final step's own webhook.
- Delivery is now ordered per run.
- Failed deliveries retry with the same backoff policy as tool calls.
- 2.2.2ImprovedFixed
Audit export
Audit trails export as JSONL for a date range, suitable as SOC 2 evidence.
- Exports stream rather than buffering, so a year of runs no longer times out.
- Redaction rules apply to exported payloads.
- 2.2.0New
Cost guards
A hard ceiling per run. The agent stops at the limit instead of quietly overspending.
- Ceilings can be set per agent, per workspace, or per invocation.
- A run that stops on budget is marked distinctly from one that failed.
- Alerts fire at 80 percent of the ceiling.
- 2.1.3Fixed
Checkpoint restore on cold start
A run resumed after a worker restart could replay its last completed step.
- Checkpoints are committed before the step is marked complete, not after.
- 2.1.1Improved
Policy files accept per-tool overrides
Retry policy can now be narrowed to a single tool without duplicating the whole file.
- Tool-level overrides inherit from the agent default.
- Policy validation runs at deploy time and rejects unreachable rules.
- 2.1.0New
Run graph
Every step, branch, and retry, drawn as it happens, with a node inspector on each.
- Click any node for its exact inputs, outputs, latency, and token count.
- The graph streams live and is shareable by link.
- 2.0.0NewImproved
Durable runs
Runs are checkpointed after every tool call and survive worker restarts, deploys, and regional failover.
- The execution model moved from in-memory to durable by default.
- Breaking: agents defined with the 1.x builder need one migration pass.
- Retention raised from 14 to 90 days on all paid plans.