You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/guides/changelog/index.mdx
+100Lines changed: 100 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,106 @@ Releases with breaking changes link to a matching section on the [Migrations](/m
9
9
10
10
{/* AUTO-GENERATED:START — do not edit by hand. Run ./ops/regenerate_docs.sh */}
11
11
12
+
<Updatelabel="v0.11.0"description="2026-07-24 · minor release">
13
+
14
+
**`@outputai/llm`** — Added stricter LiquidJs settings for prompt files parsing. The following configurations were added:
15
+
```js
16
+
{
17
+
strictFilters:true,
18
+
strictVariables:true,
19
+
lenientIf:true
20
+
}
21
+
```
22
+
23
+
**`@outputai/cli`, `output-api`** — Add workflow monitor command, update workflow history API to be resumable
24
+
25
+
**`output-api`** — API: removed morgan library, refactored logs to include more information in message, and changed 'status' to 'http.status_code'
26
+
27
+
**`@outputai/cli`** — Restore the terminal on abnormal `output dev` exit. Uncaught exceptions and unhandled rejections now leave the alternate-screen buffer and unmount the TUI before exiting, so scrollback and the error stack stay readable.
- Refactored workflow activity invocation so steps, evaluators, and shared activities use the same runtime dispatcher
32
+
instead of `this`-based handler dispatch.
33
+
34
+
Workflow handlers no longer need to be rewritten from arrow functions into regular functions for activity dispatch,
35
+
reducing AST rewrite complexity during worker startup and making bundling more predictable.
36
+
37
+
- Step and evaluator calls can now be placed in helper functions and imported helper modules used by a workflow.
38
+
Helpers no longer need to pass a workflow-bound `this` value through their call chain.
39
+
40
+
## Child Workflow Activity Options
41
+
42
+
- A child workflow's definition-level `options.activityOptions` now override activity options inherited from its parent. Invocation-level `activityOptions` still override both, and a step or evaluator's own `options.activityOptions` remain the most specific.
43
+
44
+
- If a parent must override a child's retry or timeout configuration, pass `activityOptions` explicitly when invoking the child workflow.
45
+
46
+
## Shared Activity Namespaces
47
+
48
+
- Removed the previous `"$shared"` activity namespace by registering shared activities into each workflow namespace. This means workflows can call local and shared activities through the same activity resolution path.
49
+
50
+
- Shared activity types now use `"<workflow-name>#<activity-name>"` instead of `"$shared#<activity-name>"`.
51
+
52
+
- Added validation that prevents workflow-scoped activities from using the same activity name as a shared activity. If a workflow defines an activity with the same name as a shared activity, worker startup now fails validation instead of allowing ambiguous activity resolution.
53
+
54
+
## Workflow Code Validation
55
+
56
+
- Added fail-fast validation for default exports and `export *` declarations in steps/evaluators files. Steps and evaluators already needed to be exposed through named exports for workflow rewriting. The worker now reports these unsupported forms directly during startup.
57
+
58
+
```js
59
+
// valid
60
+
exportconstfoo=step( { name:'foo' } );
61
+
62
+
// invalid
63
+
exportdefaultstep( { name:'foo' } );
64
+
export*from'./other_steps.js';
65
+
```
66
+
67
+
- Added fail-fast validation for unsupported steps/evaluators import shapes. Imports from steps/evaluators files already needed to use named imports or destructured requires for workflow rewriting.
68
+
69
+
The worker now fails fast with a validation error for unsupported import shapes like default imports, namespace imports, or non-destructured requires.
70
+
71
+
```js
72
+
// valid
73
+
import { foo } from'./steps.js';
74
+
const { bar } =require( './evaluators.js' );
75
+
76
+
// invalid
77
+
importfoofrom'./steps.js';
78
+
import*asstepsfrom'./steps.js';
79
+
conststeps=require( './steps.js' );
80
+
```
81
+
82
+
- Added validation that activity calls must happen inside functions.
83
+
Calling a step or evaluator at module top level now fails validation.
84
+
85
+
```js
86
+
import { foo } from'./steps.js';
87
+
88
+
// invalid
89
+
foo();
90
+
```
91
+
92
+
**`@outputai/cli`** — fix `output dev` memory leak in TUI where workflow run details grew unbounded
93
+
94
+
**`@outputai/core`** — - Added `emit()` to `/hooks` entrypoint to emit custom events. Emitted events can be listened using `on()` and will have their payload wrapped in an envelope:
95
+
```js
96
+
{
97
+
eventId: string,
98
+
eventDate: number,
99
+
outputActivityKind?: string,
100
+
workflowDetails?: {},
101
+
activityInfo?: {},
102
+
payload:<original emitted payload>
103
+
}
104
+
```
105
+
Events emitted outside an activity context omit `outputActivityKind`, `workflowDetails`, and `activityInfo`.
106
+
- Added the same wrapping envelope to all other events listened to with `on()`: `http:request`, `cost:llm:request`, `cost:http:request`;
0 commit comments