Ruben Fiszel and rubenfiszel
d592fb75eb
chore(main): release 1.782.0 ( #10566 )
...
* chore(main): release 1.782.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-08-06 12:55:48 +02:00
Ruben Fiszel and rubenfiszel
c03bd34be9
chore(main): release 1.781.3 ( #10563 )
...
* chore(main): release 1.781.3
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-08-06 10:02:27 +02:00
Ruben Fiszel and rubenfiszel
74737d16dd
chore(main): release 1.781.2 ( #10561 )
...
* chore(main): release 1.781.2
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-08-06 09:53:18 +02:00
Ruben Fiszel and rubenfiszel
c7ea530e1f
chore(main): release 1.781.1 ( #10556 )
...
* chore(main): release 1.781.1
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-08-06 02:17:57 +00:00
Ruben Fiszel and rubenfiszel
9cf307f3ad
chore(main): release 1.781.0 ( #10528 )
...
* chore(main): release 1.781.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-08-06 00:04:25 +02:00
Ruben Fiszel and rubenfiszel
055a9c2690
chore(main): release 1.780.0 ( #10527 )
...
* chore(main): release 1.780.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-08-05 00:37:06 +02:00
Ruben Fiszel and rubenfiszel
59072a1273
chore(main): release 1.779.0 ( #10496 )
...
* chore(main): release 1.779.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-08-04 20:45:57 +02:00
Ruben Fiszel and rubenfiszel
4c4d6c98bf
chore(main): release 1.778.0 ( #10469 )
...
* chore(main): release 1.778.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-08-04 01:49:00 +02:00
7e1c1fa3a4
feat(apps): use the windmill-client SDK from raw app frontend code ( #10377 )
...
* feat(apps): use the windmill-client SDK from raw app frontend code
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): bound the raw app SDK token to deployed runnables
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): deny dependency jobs and survive a failed SDK mint
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): confine the SDK token's users scope to the viewer's identity
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* docs: describe the full raw-app SDK sentinel narrowing
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): deny workflow-as-code replay for raw app SDK tokens
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): deny preview-flow restart replay for raw app SDK tokens
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): re-prompt when an app widens its SDK scopes mid-consent
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* feat(apps): support the frontend SDK in sandboxed raw apps
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): hand the sandboxed SDK token over only once per loaded document
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): bind the sandboxed SDK handoff to the document we loaded
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): use an unguessable nonce for the sandboxed SDK handoff
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): reply to the sandboxed SDK handshake over its own port
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): answer the raw app handshake only over a transferred port
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): set frontend_sdk_scopes in the S3-gated policy literals
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* docs: describe the sandboxed wrapper's credential as it now works
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* ui nit
* feat(apps): make the frontend SDK work in the raw app editor preview
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): guard the preview token mint and drop superseded responses
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): refuse job tokens on every raw app SDK mint path
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* docs: correct the mint caller list and the preview retry rationale
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): apply the consent response's render mode before rendering
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): restart the viewer when a redeploy changes the render mode
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): restart on every render-mode change, not just the first
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): clear the preview's SDK credential when scopes go away
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): remove window.process in the preview instead of blanking it
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* docs: cut the raw app SDK comments down to the invariant
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* refactor(apps): use randomUUID for the raw app handshake nonce
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): re-read the render mode before rendering without a token
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* fix(apps): make the raw app handshake nonce unguessable again
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* chore: pin the EE ref to a commit that builds against this OSS tree
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_018Gmsk9kAG7p9t2Qy6ADRJz
* refactor(apps): authenticate the raw app preview by session instead of a token
The editor preview is same-origin and unsandboxed, so app code there already
holds the editing user's session cookie. Minting a scoped bearer for it added
an endpoint and a portable 12h credential without containing anything.
Inject only BASE_URL and WM_WORKSPACE: `windmill-client` falls back to
credentialed same-origin requests when it finds no token, so the SDK runs as
the editing user. Drops POST /apps/preview_sdk_token and the mint/race
handling in the editor.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KPCW1WB5QeYrgJmgwcywNA
* fix(sdk): send credentials only outside the browser
The API answers `Access-Control-Allow-Origin: *` and never sets
`allow_credentials`, so a credentialed cross-origin request fails before the
bearer is read — which is what a sandboxed raw app issues. Keying this on the
browser rather than on `WM_TOKEN` leaves non-browser callers byte-identical,
and browsers keep sending cookies same-origin through fetch's own default.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KPCW1WB5QeYrgJmgwcywNA
* remove windmill-client from templates
* fix(sdk): drop credentials only for raw app bundles
A sandboxed raw app calls the API from an opaque origin, and the API answers
`Access-Control-Allow-Origin: *`, which a credentialed request can never pair
with. Gate on WM_RAW_APP, set by the two places that build a raw app's
`window.process.env`, so every other windmill-client consumer is untouched.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KPCW1WB5QeYrgJmgwcywNA
* feat(apps): make frontend SDK access sandbox-only
An unsandboxed bundle runs same-origin with the viewer's full session, so a
consent prompt there implies a boundary that does not exist and the token adds
nothing it could not already do. Advertise scopes and mint only when isolation
is on; turning the toggle off clears the declared scopes with it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KPCW1WB5QeYrgJmgwcywNA
* Revert "refactor(apps): authenticate the raw app preview by session instead of a token"
This reverts commit 81905e455b , restoring POST /apps/preview_sdk_token.
Session auth gave the preview the editing user's full permissions and worked
regardless of policy, so an app that would 403 for a viewer — or that declares
no scopes at all — ran fine in the preview and broke only once deployed. The
preview now takes the same credential as a deployed app, gated the same way:
sandbox off or no scopes means no env at all.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KPCW1WB5QeYrgJmgwcywNA
* docs(apps): state the sandbox-only SDK contract in the public schema
The Policy and EmbedTokenResponse descriptions still promised a token to any
raw app with non-empty scopes, and said raw apps skip tokens entirely. Point
authors at adding windmill-client themselves too, since the starter templates
no longer carry it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KPCW1WB5QeYrgJmgwcywNA
* fix(apps): drop the preview token before minting its replacement
A mint is asynchronous, so clearing the env only on the empty-scope path left
the running preview — and any build fed meanwhile — holding scopes the policy
had just removed, or a token for the workspace just left, for as long as the
request took.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KPCW1WB5QeYrgJmgwcywNA
* fix(apps): restart the preview realm when its credential changes
Re-feeding the build resets the preview's DOM but keeps its JavaScript realm,
so the previous bundle's timers, listeners and pending callbacks went on using
the client they imported — and the token it captured at module load — after the
policy dropped it. Reload both shells instead; each replays the build on its
way back, so only the new realm survives.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KPCW1WB5QeYrgJmgwcywNA
* fix(apps): start the preview once per credential change
Restarting the realm made its shell replay the build immediately, so a delayed
mint ran the app once tokenless and again tokenful — mount-time side effects
twice per scope or workspace change. Hold the build back until the mint
settles: the shell comes back blank and whichever finishes last starts the app.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KPCW1WB5QeYrgJmgwcywNA
* fix(apps): wait for the detached preview shell before replaying
Its reload was only initiated, never awaited — unlike the inline iframe it had
no readiness flag — so a mint settling first posted the build to the retiring
document, which then ran alongside the replacement shell's own replay. Track
readiness from both paths that announce it: `load` for a freshly opened window,
`appPreviewReady` for a reload.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01KPCW1WB5QeYrgJmgwcywNA
* chore: update ee-repo-ref to 99e143fa1e2e6c33b3525366a5afe48f7a4f020e
This commit updates the EE repository reference after PR #688 was merged in windmill-ee-private.
Previous ee-repo-ref: 609e197fbc08f1ce83dd86f816748cc19d213f77
New ee-repo-ref: 99e143fa1e2e6c33b3525366a5afe48f7a4f020e
Automated by sync-ee-ref workflow.
* nit better description
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
2026-08-03 19:31:57 +00:00
6b9691df3a
chore(main): release 1.777.1 ( #10464 )
...
* chore(main): release 1.777.1
* Apply automatic changes
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
Co-authored-by: windmill-internal-app[bot] <217088191+windmill-internal-app[bot]@users.noreply.github.com>
2026-08-03 13:18:26 +02:00
Ruben Fiszel and rubenfiszel
45b5c7a0c0
chore(main): release 1.777.0 ( #10454 )
...
* chore(main): release 1.777.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-08-03 12:32:57 +02:00
Ruben Fiszel and rubenfiszel
b0a2c8ca44
chore(main): release 1.776.0 ( #10406 )
...
* chore(main): release 1.776.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-08-01 20:47:00 +02:00
Ruben Fiszel
68a52f45a7
refactor: deprecate username_to_email in favor of WM_END_USER_EMAIL ( #10429 )
2026-07-31 11:47:58 +02:00
Ruben Fiszel and rubenfiszel
64ec1aa490
chore(main): release 1.775.2 ( #10397 )
...
* chore(main): release 1.775.2
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-29 12:12:07 +02:00
Ruben Fiszel and rubenfiszel
cfb8ca4391
chore(main): release 1.775.1 ( #10394 )
...
* chore(main): release 1.775.1
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-28 20:43:07 +02:00
Ruben Fiszel and rubenfiszel
0de18dc017
chore(main): release 1.775.0 ( #10392 )
...
* chore(main): release 1.775.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-28 18:59:14 +02:00
Ruben Fiszel and rubenfiszel
773a428ad0
chore(main): release 1.774.0 ( #10365 )
...
* chore(main): release 1.774.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-28 17:43:36 +02:00
Ruben Fiszel and Claude Opus 5
3b95c947d4
test(wac): pin the failure record with one corpus both SDKs read ( #10385 )
...
* test(wac): pin the failure record with one corpus both SDKs read
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* test(wac): add the behaviour matrix that verified the failure record
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* docs(wac): record how to exercise an unreleased SDK change
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): guard the whole extra pair, not just its value
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): never rehash an untrusted extra key
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): walk only a real __dict__ when collecting extra
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* docs(wac): name the divergence the corpus cannot pin
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* chore(wac): state the extra-encoding constraints in four lines
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-28 16:54:40 +02:00
Ruben Fiszel and Claude Opus 5
aeaea57ca1
fix(wac): one failure record for tasks and steps, in every round ( #10368 )
...
* fix(wac): hand a caught task and step failure the same shape in every round
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* refactor(wac): decide the failure record once, server-side
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): leave a legacy SDK's failure marker untouched, and ship wacError to jsr
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): carry a step's custom error fields, and bound the stack in bytes
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): keep a step's extra fields serializable and bounded
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): record a non-Error throw the way a task records it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): guard the last unguarded throw site in the step marker
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): make failure reporting non-throwing on both clients
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): take the step traceback the way the executor takes it
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): contain the reads that happen before a failure is checkpointed
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): fall back to the checkpointed marker, not the live one
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): keep non-finite fields and hostile proxies out of the checkpoint path
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): keep the snapshot that passed the serialization probe
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* chore(wac): keep the failure-record module's surface to what is used
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-28 13:15:24 +02:00
Ruben Fiszel and Claude Opus 5
044ce39e5f
fix(wac): return the checkpointed value from step(), not the live object ( #10367 )
...
* fix(wac): return the checkpointed value from step(), not the live object
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* docs(wac): regenerate system prompts and narrow the round-trip claim
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* style(wac): condense the round-trip comments and fix the fallback note
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* feat(sdk): type step() as the JSON round trip of its body's result
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* feat(sdk): apply the JSON round trip to task() and the standalone paths
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(sdk): encode bigint, keep unknown as unknown, align dropped-key results
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): null out results whose key JSON.stringify would drop
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): normalize only the top-level result, keeping nested keys as they were
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(wac): normalize a child task's result so a deployed job cannot fail to parse
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* docs(sdk): pin non-finite number behavior in Jsonified and its tests
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(sdk): admit undefined for keys whose value JSON.stringify may omit
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(sdk): make a key JSON.stringify may omit optional, not just nullable
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* fix(sdk): treat a class-valued property as dropped, like any other function
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-07-28 09:46:23 +02:00
Ruben Fiszel
727d22b9a1
fix(wac): report a task failure the child round's body catches ( #10366 )
...
* fix(wac): report a task failure the child round's body catches
* chore(wac): state the child-round failure invariant once
* test(wac): pin the catch-then-continue re-raise in the child round
2026-07-28 00:23:04 +02:00
Ruben Fiszel and rubenfiszel
3b4c648e4a
chore(main): release 1.773.0 ( #10363 )
...
* chore(main): release 1.773.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-27 19:04:24 +02:00
Ruben Fiszel and rubenfiszel
86e7f18f09
chore(main): release 1.772.0 ( #10346 )
...
* chore(main): release 1.772.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-27 16:57:27 +02:00
Ruben Fiszel and Claude Opus 5
be5e3bbfc4
fix(wac): checkpoint step errors so a caught exception does not hang replay ( #10348 )
...
* fix(wac): checkpoint step errors so a caught exception does not hang replay
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix(wac): honour a step suspend the workflow body caught and swallowed
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix(wac): park every suspend, not only those from a failing step
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* chore(wac): keep the generated bun wrapper comment-free
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix(wac): park the child task-completion suspend and align error identity
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* test(wac): pin the TaskError identity of replayed step and task failures
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-07-27 12:38:32 +02:00
Ruben Fiszel and rubenfiszel
907141152e
chore(main): release 1.771.1 ( #10336 )
...
* chore(main): release 1.771.1
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-27 03:14:35 +02:00
Ruben Fiszel and rubenfiszel
3a08656dad
chore(main): release 1.771.0 ( #10316 )
...
* chore(main): release 1.771.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-26 11:56:50 +02:00
Ruben Fiszel and Claude Opus 5
9cef724ff2
feat: bind WAC approval urls to a named wait_for_approval step ( #10317 )
...
* feat: bind WAC approval urls to a named wait_for_approval step
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix: reject duplicate WAC approval step keys instead of renaming them
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix: reject WAC approval links minted for a step that is not awaiting approval
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix: bind WAC approval links to the awaiting step and stop step key aliasing
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix: reject empty approval keys and scope minted-key writes to the workspace
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix: enforce WAC approval binding at consumption and reject colliding keys
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix: make WAC approval binding and collision checks atomic, harden TS step keys
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix: decrement WAC suspend atomically instead of from a pre-lock snapshot
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* chore: add sqlx cache entry for the atomic WAC suspend decrement
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix: omit empty approver param from python get_approval_urls
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* test: pin the suspend-snapshot decrement and the colliding-mint race
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* test: drop the suspend-snapshot interleave test, it cannot both be stable and discriminate
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* fix: reject step keys that cannot be minted as a URL path segment
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
2026-07-25 11:41:48 +02:00
Ruben Fiszel and rubenfiszel
113f41bab5
chore(main): release 1.770.0 ( #10309 )
...
* chore(main): release 1.770.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-24 19:14:23 +02:00
Ruben Fiszel and rubenfiszel
a26ea4d43f
chore(main): release 1.769.0 ( #10302 )
...
* chore(main): release 1.769.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-24 15:46:50 +02:00
Ruben Fiszel and rubenfiszel
c24d6f9d11
chore(main): release 1.768.0 ( #10281 )
...
* chore(main): release 1.768.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-24 11:00:22 +02:00
Ruben Fiszel and rubenfiszel
6de4ec0f66
chore(main): release 1.767.0 ( #10268 )
...
* chore(main): release 1.767.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-23 01:16:55 +02:00
Ruben Fiszel and rubenfiszel
abd659925d
chore(main): release 1.766.2 ( #10265 )
...
* chore(main): release 1.766.2
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-22 22:47:34 +02:00
Ruben Fiszel and rubenfiszel
b282cd9f5a
chore(main): release 1.766.1 ( #10263 )
...
* chore(main): release 1.766.1
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-22 17:00:08 +02:00
Ruben Fiszel and rubenfiszel
26fcc93d4c
chore(main): release 1.766.0 ( #10247 )
...
* chore(main): release 1.766.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-22 16:35:56 +02:00
Ruben Fiszel and rubenfiszel
50f1375f18
chore(main): release 1.765.0 ( #10223 )
...
* chore(main): release 1.765.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-21 20:15:14 +02:00
Ruben Fiszel and rubenfiszel
858d9a5527
chore(main): release 1.764.0 ( #10196 )
...
* chore(main): release 1.764.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-20 22:56:04 +02:00
Ruben Fiszel and rubenfiszel
60a7a23a04
chore(main): release 1.763.0 ( #10186 )
...
* chore(main): release 1.763.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-19 10:45:40 +02:00
Ruben Fiszel and rubenfiszel
d5b0a1b5c7
chore(main): release 1.762.2 ( #10184 )
...
* chore(main): release 1.762.2
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-18 08:49:56 +02:00
Ruben Fiszel and rubenfiszel
252ffd0401
chore(main): release 1.762.1 ( #10181 )
...
* chore(main): release 1.762.1
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-17 22:52:46 +02:00
Ruben Fiszel and rubenfiszel
3ffce7e2cc
chore(main): release 1.762.0 ( #10175 )
...
* chore(main): release 1.762.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-17 20:15:13 +02:00
Ruben Fiszel and rubenfiszel
6131f7d2ae
chore(main): release 1.761.0 ( #10148 )
...
* chore(main): release 1.761.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-17 00:22:56 +02:00
Ruben Fiszel and rubenfiszel
a935d06c8e
chore(main): release 1.760.1 ( #10142 )
...
* chore(main): release 1.760.1
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-15 21:29:39 +02:00
Ruben Fiszel and rubenfiszel
2092155191
chore(main): release 1.760.0 ( #10128 )
...
* chore(main): release 1.760.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-15 18:00:53 +02:00
Ruben Fiszel and rubenfiszel
360e783b1d
chore(main): release 1.759.0 ( #10108 )
...
* chore(main): release 1.759.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-15 10:02:01 +02:00
Ruben Fiszel and rubenfiszel
65d6f477ab
chore(main): release 1.758.0 ( #10084 )
...
* chore(main): release 1.758.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-14 22:38:45 +02:00
Ruben Fiszel and rubenfiszel
1ffe5a1075
chore(main): release 1.757.0 ( #10080 )
...
* chore(main): release 1.757.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-14 12:47:53 +02:00
Ruben Fiszel and rubenfiszel
4f65187f9e
chore(main): release 1.756.1 ( #10072 )
...
* chore(main): release 1.756.1
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-14 10:46:55 +02:00
Ruben Fiszel and rubenfiszel
22b47c8823
chore(main): release 1.756.0 ( #10062 )
...
* chore(main): release 1.756.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-12 10:30:58 +02:00
Ruben Fiszel and rubenfiszel
1ed7fc066b
chore(main): release 1.755.0 ( #10041 )
...
* chore(main): release 1.755.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-12 00:01:39 +02:00
Ruben Fiszel and rubenfiszel
38a190b53a
chore(main): release 1.754.0 ( #10017 )
...
* chore(main): release 1.754.0
* Apply automatic changes
---------
Co-authored-by: rubenfiszel <275584+rubenfiszel@users.noreply.github.com >
2026-07-10 13:59:22 +00:00